@rtif-sdk/web 1.0.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/LICENSE +21 -0
- package/README.md +67 -0
- package/dist/block-drag-handler.d.ts +189 -0
- package/dist/block-drag-handler.d.ts.map +1 -0
- package/dist/block-drag-handler.js +745 -0
- package/dist/block-drag-handler.js.map +1 -0
- package/dist/block-renderer.d.ts +402 -0
- package/dist/block-renderer.d.ts.map +1 -0
- package/dist/block-renderer.js +424 -0
- package/dist/block-renderer.js.map +1 -0
- package/dist/clipboard.d.ts +178 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clipboard.js +432 -0
- package/dist/clipboard.js.map +1 -0
- package/dist/command-bus.d.ts +113 -0
- package/dist/command-bus.d.ts.map +1 -0
- package/dist/command-bus.js +70 -0
- package/dist/command-bus.js.map +1 -0
- package/dist/composition.d.ts +220 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +271 -0
- package/dist/composition.js.map +1 -0
- package/dist/content-extraction.d.ts +69 -0
- package/dist/content-extraction.d.ts.map +1 -0
- package/dist/content-extraction.js +228 -0
- package/dist/content-extraction.js.map +1 -0
- package/dist/content-handler-file.d.ts +40 -0
- package/dist/content-handler-file.d.ts.map +1 -0
- package/dist/content-handler-file.js +91 -0
- package/dist/content-handler-file.js.map +1 -0
- package/dist/content-handler-image.d.ts +82 -0
- package/dist/content-handler-image.d.ts.map +1 -0
- package/dist/content-handler-image.js +120 -0
- package/dist/content-handler-image.js.map +1 -0
- package/dist/content-handler-url.d.ts +129 -0
- package/dist/content-handler-url.d.ts.map +1 -0
- package/dist/content-handler-url.js +244 -0
- package/dist/content-handler-url.js.map +1 -0
- package/dist/content-handlers.d.ts +67 -0
- package/dist/content-handlers.d.ts.map +1 -0
- package/dist/content-handlers.js +263 -0
- package/dist/content-handlers.js.map +1 -0
- package/dist/content-pipeline.d.ts +383 -0
- package/dist/content-pipeline.d.ts.map +1 -0
- package/dist/content-pipeline.js +232 -0
- package/dist/content-pipeline.js.map +1 -0
- package/dist/cursor-nav.d.ts +149 -0
- package/dist/cursor-nav.d.ts.map +1 -0
- package/dist/cursor-nav.js +230 -0
- package/dist/cursor-nav.js.map +1 -0
- package/dist/cursor-rect.d.ts +65 -0
- package/dist/cursor-rect.d.ts.map +1 -0
- package/dist/cursor-rect.js +98 -0
- package/dist/cursor-rect.js.map +1 -0
- package/dist/drop-indicator.d.ts +108 -0
- package/dist/drop-indicator.d.ts.map +1 -0
- package/dist/drop-indicator.js +236 -0
- package/dist/drop-indicator.js.map +1 -0
- package/dist/editor.d.ts +41 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/editor.js +710 -0
- package/dist/editor.js.map +1 -0
- package/dist/floating-toolbar.d.ts +93 -0
- package/dist/floating-toolbar.d.ts.map +1 -0
- package/dist/floating-toolbar.js +159 -0
- package/dist/floating-toolbar.js.map +1 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/input-bridge.d.ts +273 -0
- package/dist/input-bridge.d.ts.map +1 -0
- package/dist/input-bridge.js +884 -0
- package/dist/input-bridge.js.map +1 -0
- package/dist/link-popover.d.ts +38 -0
- package/dist/link-popover.d.ts.map +1 -0
- package/dist/link-popover.js +278 -0
- package/dist/link-popover.js.map +1 -0
- package/dist/mark-renderer.d.ts +275 -0
- package/dist/mark-renderer.d.ts.map +1 -0
- package/dist/mark-renderer.js +210 -0
- package/dist/mark-renderer.js.map +1 -0
- package/dist/perf.d.ts +145 -0
- package/dist/perf.d.ts.map +1 -0
- package/dist/perf.js +260 -0
- package/dist/perf.js.map +1 -0
- package/dist/plugin-kit.d.ts +265 -0
- package/dist/plugin-kit.d.ts.map +1 -0
- package/dist/plugin-kit.js +234 -0
- package/dist/plugin-kit.js.map +1 -0
- package/dist/plugins/alignment-plugin.d.ts +68 -0
- package/dist/plugins/alignment-plugin.d.ts.map +1 -0
- package/dist/plugins/alignment-plugin.js +98 -0
- package/dist/plugins/alignment-plugin.js.map +1 -0
- package/dist/plugins/block-utils.d.ts +113 -0
- package/dist/plugins/block-utils.d.ts.map +1 -0
- package/dist/plugins/block-utils.js +191 -0
- package/dist/plugins/block-utils.js.map +1 -0
- package/dist/plugins/blockquote-plugin.d.ts +39 -0
- package/dist/plugins/blockquote-plugin.d.ts.map +1 -0
- package/dist/plugins/blockquote-plugin.js +88 -0
- package/dist/plugins/blockquote-plugin.js.map +1 -0
- package/dist/plugins/bold-plugin.d.ts +37 -0
- package/dist/plugins/bold-plugin.d.ts.map +1 -0
- package/dist/plugins/bold-plugin.js +48 -0
- package/dist/plugins/bold-plugin.js.map +1 -0
- package/dist/plugins/callout-plugin.d.ts +100 -0
- package/dist/plugins/callout-plugin.d.ts.map +1 -0
- package/dist/plugins/callout-plugin.js +200 -0
- package/dist/plugins/callout-plugin.js.map +1 -0
- package/dist/plugins/code-block-plugin.d.ts +62 -0
- package/dist/plugins/code-block-plugin.d.ts.map +1 -0
- package/dist/plugins/code-block-plugin.js +176 -0
- package/dist/plugins/code-block-plugin.js.map +1 -0
- package/dist/plugins/code-plugin.d.ts +37 -0
- package/dist/plugins/code-plugin.d.ts.map +1 -0
- package/dist/plugins/code-plugin.js +48 -0
- package/dist/plugins/code-plugin.js.map +1 -0
- package/dist/plugins/embed-plugin.d.ts +90 -0
- package/dist/plugins/embed-plugin.d.ts.map +1 -0
- package/dist/plugins/embed-plugin.js +147 -0
- package/dist/plugins/embed-plugin.js.map +1 -0
- package/dist/plugins/font-family-plugin.d.ts +58 -0
- package/dist/plugins/font-family-plugin.d.ts.map +1 -0
- package/dist/plugins/font-family-plugin.js +57 -0
- package/dist/plugins/font-family-plugin.js.map +1 -0
- package/dist/plugins/font-size-plugin.d.ts +57 -0
- package/dist/plugins/font-size-plugin.d.ts.map +1 -0
- package/dist/plugins/font-size-plugin.js +56 -0
- package/dist/plugins/font-size-plugin.js.map +1 -0
- package/dist/plugins/heading-plugin.d.ts +52 -0
- package/dist/plugins/heading-plugin.d.ts.map +1 -0
- package/dist/plugins/heading-plugin.js +114 -0
- package/dist/plugins/heading-plugin.js.map +1 -0
- package/dist/plugins/hr-plugin.d.ts +33 -0
- package/dist/plugins/hr-plugin.d.ts.map +1 -0
- package/dist/plugins/hr-plugin.js +75 -0
- package/dist/plugins/hr-plugin.js.map +1 -0
- package/dist/plugins/image-plugin.d.ts +115 -0
- package/dist/plugins/image-plugin.d.ts.map +1 -0
- package/dist/plugins/image-plugin.js +199 -0
- package/dist/plugins/image-plugin.js.map +1 -0
- package/dist/plugins/indent-plugin.d.ts +62 -0
- package/dist/plugins/indent-plugin.d.ts.map +1 -0
- package/dist/plugins/indent-plugin.js +128 -0
- package/dist/plugins/indent-plugin.js.map +1 -0
- package/dist/plugins/index.d.ts +45 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +42 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/italic-plugin.d.ts +37 -0
- package/dist/plugins/italic-plugin.d.ts.map +1 -0
- package/dist/plugins/italic-plugin.js +48 -0
- package/dist/plugins/italic-plugin.js.map +1 -0
- package/dist/plugins/link-plugin.d.ts +129 -0
- package/dist/plugins/link-plugin.d.ts.map +1 -0
- package/dist/plugins/link-plugin.js +212 -0
- package/dist/plugins/link-plugin.js.map +1 -0
- package/dist/plugins/list-plugin.d.ts +53 -0
- package/dist/plugins/list-plugin.d.ts.map +1 -0
- package/dist/plugins/list-plugin.js +309 -0
- package/dist/plugins/list-plugin.js.map +1 -0
- package/dist/plugins/mark-utils.d.ts +173 -0
- package/dist/plugins/mark-utils.d.ts.map +1 -0
- package/dist/plugins/mark-utils.js +425 -0
- package/dist/plugins/mark-utils.js.map +1 -0
- package/dist/plugins/mention-plugin.d.ts +191 -0
- package/dist/plugins/mention-plugin.d.ts.map +1 -0
- package/dist/plugins/mention-plugin.js +295 -0
- package/dist/plugins/mention-plugin.js.map +1 -0
- package/dist/plugins/strikethrough-plugin.d.ts +37 -0
- package/dist/plugins/strikethrough-plugin.d.ts.map +1 -0
- package/dist/plugins/strikethrough-plugin.js +48 -0
- package/dist/plugins/strikethrough-plugin.js.map +1 -0
- package/dist/plugins/text-color-plugin.d.ts +57 -0
- package/dist/plugins/text-color-plugin.d.ts.map +1 -0
- package/dist/plugins/text-color-plugin.js +56 -0
- package/dist/plugins/text-color-plugin.js.map +1 -0
- package/dist/plugins/underline-plugin.d.ts +37 -0
- package/dist/plugins/underline-plugin.d.ts.map +1 -0
- package/dist/plugins/underline-plugin.js +48 -0
- package/dist/plugins/underline-plugin.js.map +1 -0
- package/dist/presets.d.ts +95 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +159 -0
- package/dist/presets.js.map +1 -0
- package/dist/renderer.d.ts +125 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/renderer.js +415 -0
- package/dist/renderer.js.map +1 -0
- package/dist/scroll-to-cursor.d.ts +25 -0
- package/dist/scroll-to-cursor.d.ts.map +1 -0
- package/dist/scroll-to-cursor.js +59 -0
- package/dist/scroll-to-cursor.js.map +1 -0
- package/dist/selection-sync.d.ts +159 -0
- package/dist/selection-sync.d.ts.map +1 -0
- package/dist/selection-sync.js +527 -0
- package/dist/selection-sync.js.map +1 -0
- package/dist/shortcut-handler.d.ts +98 -0
- package/dist/shortcut-handler.d.ts.map +1 -0
- package/dist/shortcut-handler.js +155 -0
- package/dist/shortcut-handler.js.map +1 -0
- package/dist/toolbar.d.ts +103 -0
- package/dist/toolbar.d.ts.map +1 -0
- package/dist/toolbar.js +134 -0
- package/dist/toolbar.js.map +1 -0
- package/dist/trigger-manager.d.ts +205 -0
- package/dist/trigger-manager.d.ts.map +1 -0
- package/dist/trigger-manager.js +466 -0
- package/dist/trigger-manager.js.map +1 -0
- package/dist/types.d.ts +216 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +30 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-drag-handler.js","sourceRoot":"","sources":["../src/block-drag-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block renderer registry — maps block types to DOM rendering functions.
|
|
3
|
+
*
|
|
4
|
+
* The renderer consults this registry when creating block elements to apply
|
|
5
|
+
* visual block-type effects (CSS classes, ARIA roles, data attributes).
|
|
6
|
+
* Built-in renderers handle heading, blockquote, code block, list item,
|
|
7
|
+
* horizontal rule, callout, image, and embed. Plugins can register custom
|
|
8
|
+
* renderers for additional block types.
|
|
9
|
+
*
|
|
10
|
+
* Additionally, the registry supports attr-based renderers that apply visual
|
|
11
|
+
* styling based on block attributes (e.g., alignment, indentation) regardless
|
|
12
|
+
* of block type.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
import type { Block } from '@rtif-sdk/core';
|
|
17
|
+
/**
|
|
18
|
+
* A block renderer applies visual styling to a block element for a specific
|
|
19
|
+
* block type. Optionally supports composite blocks (with a separate content
|
|
20
|
+
* container), in-place updates, and atomic (non-editable) blocks.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const headingRenderer: BlockRenderer = {
|
|
25
|
+
* apply(el, block) {
|
|
26
|
+
* const level = (block.attrs?.level as number) ?? 1;
|
|
27
|
+
* el.classList.add('rtif-heading', `rtif-h${level}`);
|
|
28
|
+
* el.setAttribute('role', 'heading');
|
|
29
|
+
* el.setAttribute('aria-level', String(level));
|
|
30
|
+
* },
|
|
31
|
+
* };
|
|
32
|
+
*
|
|
33
|
+
* const imageRenderer: BlockRenderer = {
|
|
34
|
+
* apply(el, block) {
|
|
35
|
+
* el.classList.add('rtif-image');
|
|
36
|
+
* const img = document.createElement('img');
|
|
37
|
+
* img.src = String(block.attrs?.src ?? '');
|
|
38
|
+
* el.appendChild(img);
|
|
39
|
+
* },
|
|
40
|
+
* atomic: true,
|
|
41
|
+
* };
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export interface BlockRenderer {
|
|
45
|
+
/**
|
|
46
|
+
* Apply this block type's visual effect to a block element.
|
|
47
|
+
* Called during initial render and when block type or attrs change.
|
|
48
|
+
*
|
|
49
|
+
* @param el - The block element to style
|
|
50
|
+
* @param block - The RTIF block data (has type, attrs, spans, id)
|
|
51
|
+
*/
|
|
52
|
+
apply(el: HTMLElement, block: Block): void;
|
|
53
|
+
/**
|
|
54
|
+
* For composite blocks (e.g., callout), returns the child element where
|
|
55
|
+
* inline spans should be rendered. When absent, spans go directly into
|
|
56
|
+
* the block element.
|
|
57
|
+
*
|
|
58
|
+
* @param el - The block element created by {@link apply}
|
|
59
|
+
* @returns The child element that should contain span elements
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const calloutRenderer: BlockRenderer = {
|
|
64
|
+
* apply(el, block) {
|
|
65
|
+
* const content = document.createElement('div');
|
|
66
|
+
* content.className = 'rtif-callout-content';
|
|
67
|
+
* el.appendChild(content);
|
|
68
|
+
* },
|
|
69
|
+
* getContentContainer(el) {
|
|
70
|
+
* return el.querySelector('.rtif-callout-content') as HTMLElement;
|
|
71
|
+
* },
|
|
72
|
+
* };
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
getContentContainer?(el: HTMLElement): HTMLElement;
|
|
76
|
+
/**
|
|
77
|
+
* Update an existing block element in-place when the block's type or attrs
|
|
78
|
+
* change. Returns `true` if the element was updated successfully, `false`
|
|
79
|
+
* if it needs full re-creation via {@link apply}.
|
|
80
|
+
*
|
|
81
|
+
* When absent, the renderer always re-creates on block change.
|
|
82
|
+
*
|
|
83
|
+
* @param el - The existing block element to update
|
|
84
|
+
* @param block - The new RTIF block data
|
|
85
|
+
* @returns `true` if updated in-place, `false` if full re-creation needed
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const imageRenderer: BlockRenderer = {
|
|
90
|
+
* apply(el, block) { ... },
|
|
91
|
+
* updateElement(el, block) {
|
|
92
|
+
* const img = el.querySelector('img');
|
|
93
|
+
* if (!img) return false;
|
|
94
|
+
* img.src = String(block.attrs?.src ?? '');
|
|
95
|
+
* return true;
|
|
96
|
+
* },
|
|
97
|
+
* };
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
updateElement?(el: HTMLElement, block: Block): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* When `true`, the block is non-editable (e.g., image, embed, hr).
|
|
103
|
+
* The registry sets `contenteditable="false"` on the element during
|
|
104
|
+
* {@link BlockRendererRegistry.applyToElement}.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* const hrRenderer: BlockRenderer = {
|
|
109
|
+
* apply(el) { el.classList.add('rtif-hr'); },
|
|
110
|
+
* atomic: true,
|
|
111
|
+
* };
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
atomic?: boolean;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* A block attr renderer applies visual styling to a block element based on
|
|
118
|
+
* a specific block attribute, regardless of block type.
|
|
119
|
+
*
|
|
120
|
+
* Unlike {@link BlockRenderer} which is dispatched by block type, attr
|
|
121
|
+
* renderers are dispatched by attribute key and can apply to any block.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* const alignAttrRenderer: BlockAttrRenderer = {
|
|
126
|
+
* apply(el, value) {
|
|
127
|
+
* if (typeof value === 'string') {
|
|
128
|
+
* el.style.textAlign = value;
|
|
129
|
+
* }
|
|
130
|
+
* },
|
|
131
|
+
* };
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export interface BlockAttrRenderer {
|
|
135
|
+
/**
|
|
136
|
+
* Apply this attribute's visual effect to a block element.
|
|
137
|
+
* Called during initial render and when block attrs change.
|
|
138
|
+
*
|
|
139
|
+
* @param el - The block element to style
|
|
140
|
+
* @param value - The attribute value from `block.attrs[attrName]`
|
|
141
|
+
*/
|
|
142
|
+
apply(el: HTMLElement, value: unknown): void;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Registry of block renderers, keyed by block type string.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* const registry = createBlockRendererRegistry();
|
|
150
|
+
* registry.register('heading', headingRenderer);
|
|
151
|
+
* registry.register('blockquote', blockquoteRenderer);
|
|
152
|
+
* registry.registerAttrRenderer('align', alignAttrRenderer);
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export interface BlockRendererRegistry {
|
|
156
|
+
/**
|
|
157
|
+
* Register a renderer for a block type.
|
|
158
|
+
*
|
|
159
|
+
* @param blockType - The block type string (e.g., "heading", "code", "list-item")
|
|
160
|
+
* @param renderer - The renderer to apply when a block has this type
|
|
161
|
+
*/
|
|
162
|
+
register(blockType: string, renderer: BlockRenderer): void;
|
|
163
|
+
/**
|
|
164
|
+
* Get the renderer for a block type.
|
|
165
|
+
*
|
|
166
|
+
* @param blockType - The block type to look up
|
|
167
|
+
* @returns The registered renderer, or undefined if none registered
|
|
168
|
+
*/
|
|
169
|
+
get(blockType: string): BlockRenderer | undefined;
|
|
170
|
+
/**
|
|
171
|
+
* Register a renderer for a block attribute.
|
|
172
|
+
* Attr renderers apply to blocks of ANY type when the attribute is present.
|
|
173
|
+
*
|
|
174
|
+
* @param attrName - The attribute key (e.g., "align", "indent")
|
|
175
|
+
* @param renderer - The renderer to apply when the attribute is present
|
|
176
|
+
*/
|
|
177
|
+
registerAttrRenderer(attrName: string, renderer: BlockAttrRenderer): void;
|
|
178
|
+
/**
|
|
179
|
+
* Get the renderer for a block attribute.
|
|
180
|
+
*
|
|
181
|
+
* @param attrName - The attribute key to look up
|
|
182
|
+
* @returns The registered attr renderer, or undefined if none registered
|
|
183
|
+
*/
|
|
184
|
+
getAttrRenderer(attrName: string): BlockAttrRenderer | undefined;
|
|
185
|
+
/**
|
|
186
|
+
* Check if a registered block type is atomic (non-editable).
|
|
187
|
+
*
|
|
188
|
+
* Returns `true` if a renderer is registered for the given block type and
|
|
189
|
+
* its `atomic` property is `true`. Returns `false` if no renderer is
|
|
190
|
+
* registered or the renderer is not atomic.
|
|
191
|
+
*
|
|
192
|
+
* @param blockType - The block type to check
|
|
193
|
+
* @returns `true` if the block type is atomic, `false` otherwise
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```ts
|
|
197
|
+
* const registry = createBlockRendererRegistry();
|
|
198
|
+
* registerBuiltinBlockRenderers(registry);
|
|
199
|
+
* registry.isAtomic('hr'); // true
|
|
200
|
+
* registry.isAtomic('image'); // true
|
|
201
|
+
* registry.isAtomic('text'); // false
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
isAtomic(blockType: string): boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Apply the renderer for a block's type to the given element, then apply
|
|
207
|
+
* any matching attr renderers for the block's attributes. If the renderer
|
|
208
|
+
* has `atomic: true`, sets `contenteditable="false"` on the element.
|
|
209
|
+
* No-op for unregistered block types and unregistered attributes.
|
|
210
|
+
*
|
|
211
|
+
* @param el - The block element to style
|
|
212
|
+
* @param block - The RTIF block whose type and attrs determine which renderers to use
|
|
213
|
+
*/
|
|
214
|
+
applyToElement(el: HTMLElement, block: Block): void;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Create a new block renderer registry.
|
|
218
|
+
*
|
|
219
|
+
* @returns An empty registry ready for renderer registration
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```ts
|
|
223
|
+
* const registry = createBlockRendererRegistry();
|
|
224
|
+
* registry.register('heading', headingRenderer);
|
|
225
|
+
* registry.registerAttrRenderer('align', alignAttrRenderer);
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
export declare function createBlockRendererRegistry(): BlockRendererRegistry;
|
|
229
|
+
/**
|
|
230
|
+
* Built-in renderer for the `heading` block type.
|
|
231
|
+
*
|
|
232
|
+
* Adds CSS classes `rtif-heading` and `rtif-h{level}` where level comes
|
|
233
|
+
* from `block.attrs?.level` (defaults to 1, clamped to 1-6).
|
|
234
|
+
* Sets `data-heading-level`, `role="heading"`, and `aria-level` for
|
|
235
|
+
* accessibility.
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```ts
|
|
239
|
+
* // Block: { type: 'heading', attrs: { level: 2 }, ... }
|
|
240
|
+
* // Result: <div class="rtif-heading rtif-h2" role="heading" aria-level="2" data-heading-level="2">
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
export declare const headingRenderer: BlockRenderer;
|
|
244
|
+
/**
|
|
245
|
+
* Built-in renderer for the `blockquote` block type.
|
|
246
|
+
*
|
|
247
|
+
* Adds the `rtif-blockquote` CSS class to the block element.
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
* ```ts
|
|
251
|
+
* // Block: { type: 'blockquote', ... }
|
|
252
|
+
* // Result: <div class="rtif-blockquote">
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
export declare const blockquoteRenderer: BlockRenderer;
|
|
256
|
+
/**
|
|
257
|
+
* Built-in renderer for the `code-block` block type.
|
|
258
|
+
*
|
|
259
|
+
* Adds the `rtif-code-block` CSS class. If `block.attrs?.language` is a
|
|
260
|
+
* non-empty string, sets a `data-language` attribute for syntax highlighting
|
|
261
|
+
* integration.
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```ts
|
|
265
|
+
* // Block: { type: 'code-block', attrs: { language: 'typescript' }, ... }
|
|
266
|
+
* // Result: <div class="rtif-code-block" data-language="typescript">
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
269
|
+
export declare const codeBlockRenderer: BlockRenderer;
|
|
270
|
+
/**
|
|
271
|
+
* Built-in renderer for the `list-item` block type.
|
|
272
|
+
*
|
|
273
|
+
* Adds CSS classes `rtif-list-item` and either `rtif-list-bullet` or
|
|
274
|
+
* `rtif-list-ordered` based on `block.attrs?.listStyle` (defaults to
|
|
275
|
+
* `'bullet'`). Sets `data-list-depth` from `block.attrs?.depth` (defaults
|
|
276
|
+
* to 0) and `role="listitem"` for accessibility.
|
|
277
|
+
*
|
|
278
|
+
* @example
|
|
279
|
+
* ```ts
|
|
280
|
+
* // Block: { type: 'list-item', attrs: { listStyle: 'ordered', depth: 1 }, ... }
|
|
281
|
+
* // Result: <div class="rtif-list-item rtif-list-ordered" data-list-depth="1" role="listitem">
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
284
|
+
export declare const listItemRenderer: BlockRenderer;
|
|
285
|
+
/**
|
|
286
|
+
* Built-in renderer for the `hr` (horizontal rule) block type.
|
|
287
|
+
*
|
|
288
|
+
* Adds the `rtif-hr` CSS class and sets `role="separator"` for
|
|
289
|
+
* accessibility. Marked as atomic — the block is non-editable.
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```ts
|
|
293
|
+
* // Block: { type: 'hr', ... }
|
|
294
|
+
* // Result: <div class="rtif-hr" role="separator" contenteditable="false">
|
|
295
|
+
* ```
|
|
296
|
+
*/
|
|
297
|
+
export declare const hrRenderer: BlockRenderer;
|
|
298
|
+
/**
|
|
299
|
+
* Built-in renderer for the `callout` block type.
|
|
300
|
+
*
|
|
301
|
+
* Creates a composite block with an icon span and a content container.
|
|
302
|
+
* The icon span has `contenteditable="false"` so it cannot be edited.
|
|
303
|
+
* The content div (class `rtif-callout-content`) is where inline spans
|
|
304
|
+
* are rendered, returned by {@link BlockRenderer.getContentContainer}.
|
|
305
|
+
*
|
|
306
|
+
* Supports a `variant` attribute (defaults to `"info"`) which is set as
|
|
307
|
+
* `data-variant` on the element. Implements {@link BlockRenderer.updateElement}
|
|
308
|
+
* for efficient in-place variant updates.
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* ```ts
|
|
312
|
+
* // Block: { type: 'callout', attrs: { variant: 'warning' }, ... }
|
|
313
|
+
* // Result:
|
|
314
|
+
* // <div class="rtif-callout" data-variant="warning">
|
|
315
|
+
* // <span class="rtif-callout-icon" contenteditable="false"></span>
|
|
316
|
+
* // <div class="rtif-callout-content">
|
|
317
|
+
* // <!-- span elements rendered here -->
|
|
318
|
+
* // </div>
|
|
319
|
+
* // </div>
|
|
320
|
+
* ```
|
|
321
|
+
*/
|
|
322
|
+
export declare const calloutRenderer: BlockRenderer;
|
|
323
|
+
/**
|
|
324
|
+
* Built-in renderer for the `image` block type.
|
|
325
|
+
*
|
|
326
|
+
* Creates an atomic (non-editable) block containing an `<img>` element.
|
|
327
|
+
* Reads `src`, `alt`, `width`, and `height` from `block.attrs`.
|
|
328
|
+
* Sets `role="img"` on the block element for accessibility.
|
|
329
|
+
*
|
|
330
|
+
* Implements {@link BlockRenderer.updateElement} to efficiently update
|
|
331
|
+
* image attributes without full re-creation.
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```ts
|
|
335
|
+
* // Block: { type: 'image', attrs: { src: '/photo.jpg', alt: 'A photo', width: 400 }, ... }
|
|
336
|
+
* // Result:
|
|
337
|
+
* // <div class="rtif-image" role="img" contenteditable="false">
|
|
338
|
+
* // <img src="/photo.jpg" alt="A photo" width="400">
|
|
339
|
+
* // </div>
|
|
340
|
+
* ```
|
|
341
|
+
*/
|
|
342
|
+
export declare const imageRenderer: BlockRenderer;
|
|
343
|
+
/**
|
|
344
|
+
* Built-in renderer for the `embed` block type.
|
|
345
|
+
*
|
|
346
|
+
* Creates an atomic (non-editable) block with a container div for embedded
|
|
347
|
+
* content (e.g., iframe, video, tweet). Sets `data-embed-url` from
|
|
348
|
+
* `block.attrs?.url`.
|
|
349
|
+
*
|
|
350
|
+
* @example
|
|
351
|
+
* ```ts
|
|
352
|
+
* // Block: { type: 'embed', attrs: { url: 'https://youtube.com/watch?v=abc' }, ... }
|
|
353
|
+
* // Result:
|
|
354
|
+
* // <div class="rtif-embed" data-embed-url="https://youtube.com/watch?v=abc" contenteditable="false">
|
|
355
|
+
* // <div class="rtif-embed-container"></div>
|
|
356
|
+
* // </div>
|
|
357
|
+
* ```
|
|
358
|
+
*/
|
|
359
|
+
export declare const embedRenderer: BlockRenderer;
|
|
360
|
+
/**
|
|
361
|
+
* Built-in attr renderer for the `align` block attribute.
|
|
362
|
+
*
|
|
363
|
+
* Sets `text-align` on the block element when the value is a string
|
|
364
|
+
* (e.g., "left", "center", "right", "justify").
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* ```ts
|
|
368
|
+
* // Block: { attrs: { align: 'center' }, ... }
|
|
369
|
+
* // Result: <div style="text-align: center;">
|
|
370
|
+
* ```
|
|
371
|
+
*/
|
|
372
|
+
export declare const alignAttrRenderer: BlockAttrRenderer;
|
|
373
|
+
/**
|
|
374
|
+
* Built-in attr renderer for the `indent` block attribute.
|
|
375
|
+
*
|
|
376
|
+
* Sets `padding-left` on the block element based on the indent level.
|
|
377
|
+
* Each indent level adds 2em of padding. Values of 0 or less are ignored.
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```ts
|
|
381
|
+
* // Block: { attrs: { indent: 2 }, ... }
|
|
382
|
+
* // Result: <div style="padding-left: 4em;">
|
|
383
|
+
* ```
|
|
384
|
+
*/
|
|
385
|
+
export declare const indentAttrRenderer: BlockAttrRenderer;
|
|
386
|
+
/**
|
|
387
|
+
* Register all built-in block renderers into a registry.
|
|
388
|
+
*
|
|
389
|
+
* Registers type renderers for: heading, blockquote, code-block, list-item,
|
|
390
|
+
* hr, callout, image, embed.
|
|
391
|
+
* Registers attr renderers for: align, indent.
|
|
392
|
+
*
|
|
393
|
+
* @param registry - The registry to populate
|
|
394
|
+
*
|
|
395
|
+
* @example
|
|
396
|
+
* ```ts
|
|
397
|
+
* const registry = createBlockRendererRegistry();
|
|
398
|
+
* registerBuiltinBlockRenderers(registry);
|
|
399
|
+
* ```
|
|
400
|
+
*/
|
|
401
|
+
export declare function registerBuiltinBlockRenderers(registry: BlockRendererRegistry): void;
|
|
402
|
+
//# sourceMappingURL=block-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-renderer.d.ts","sourceRoot":"","sources":["../src/block-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,mBAAmB,CAAC,CAAC,EAAE,EAAE,WAAW,GAAG,WAAW,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,aAAa,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAEvD;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9C;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAElD;;;;;;OAMG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAE1E;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAEjE;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CA+CnE;AAmBD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,EAAE,aAQ7B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAIhC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAQ/B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAiB9B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,EAAE,aAMxB,CAAC;AAmBF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,eAAe,EAAE,aA2B7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,EAAE,aAoB3B,CAAC;AAoCF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,EAAE,aAe3B,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAM/B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAMhC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAYnF"}
|