@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.
Files changed (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -0
  3. package/dist/block-drag-handler.d.ts +189 -0
  4. package/dist/block-drag-handler.d.ts.map +1 -0
  5. package/dist/block-drag-handler.js +745 -0
  6. package/dist/block-drag-handler.js.map +1 -0
  7. package/dist/block-renderer.d.ts +402 -0
  8. package/dist/block-renderer.d.ts.map +1 -0
  9. package/dist/block-renderer.js +424 -0
  10. package/dist/block-renderer.js.map +1 -0
  11. package/dist/clipboard.d.ts +178 -0
  12. package/dist/clipboard.d.ts.map +1 -0
  13. package/dist/clipboard.js +432 -0
  14. package/dist/clipboard.js.map +1 -0
  15. package/dist/command-bus.d.ts +113 -0
  16. package/dist/command-bus.d.ts.map +1 -0
  17. package/dist/command-bus.js +70 -0
  18. package/dist/command-bus.js.map +1 -0
  19. package/dist/composition.d.ts +220 -0
  20. package/dist/composition.d.ts.map +1 -0
  21. package/dist/composition.js +271 -0
  22. package/dist/composition.js.map +1 -0
  23. package/dist/content-extraction.d.ts +69 -0
  24. package/dist/content-extraction.d.ts.map +1 -0
  25. package/dist/content-extraction.js +228 -0
  26. package/dist/content-extraction.js.map +1 -0
  27. package/dist/content-handler-file.d.ts +40 -0
  28. package/dist/content-handler-file.d.ts.map +1 -0
  29. package/dist/content-handler-file.js +91 -0
  30. package/dist/content-handler-file.js.map +1 -0
  31. package/dist/content-handler-image.d.ts +82 -0
  32. package/dist/content-handler-image.d.ts.map +1 -0
  33. package/dist/content-handler-image.js +120 -0
  34. package/dist/content-handler-image.js.map +1 -0
  35. package/dist/content-handler-url.d.ts +129 -0
  36. package/dist/content-handler-url.d.ts.map +1 -0
  37. package/dist/content-handler-url.js +244 -0
  38. package/dist/content-handler-url.js.map +1 -0
  39. package/dist/content-handlers.d.ts +67 -0
  40. package/dist/content-handlers.d.ts.map +1 -0
  41. package/dist/content-handlers.js +263 -0
  42. package/dist/content-handlers.js.map +1 -0
  43. package/dist/content-pipeline.d.ts +383 -0
  44. package/dist/content-pipeline.d.ts.map +1 -0
  45. package/dist/content-pipeline.js +232 -0
  46. package/dist/content-pipeline.js.map +1 -0
  47. package/dist/cursor-nav.d.ts +149 -0
  48. package/dist/cursor-nav.d.ts.map +1 -0
  49. package/dist/cursor-nav.js +230 -0
  50. package/dist/cursor-nav.js.map +1 -0
  51. package/dist/cursor-rect.d.ts +65 -0
  52. package/dist/cursor-rect.d.ts.map +1 -0
  53. package/dist/cursor-rect.js +98 -0
  54. package/dist/cursor-rect.js.map +1 -0
  55. package/dist/drop-indicator.d.ts +108 -0
  56. package/dist/drop-indicator.d.ts.map +1 -0
  57. package/dist/drop-indicator.js +236 -0
  58. package/dist/drop-indicator.js.map +1 -0
  59. package/dist/editor.d.ts +41 -0
  60. package/dist/editor.d.ts.map +1 -0
  61. package/dist/editor.js +710 -0
  62. package/dist/editor.js.map +1 -0
  63. package/dist/floating-toolbar.d.ts +93 -0
  64. package/dist/floating-toolbar.d.ts.map +1 -0
  65. package/dist/floating-toolbar.js +159 -0
  66. package/dist/floating-toolbar.js.map +1 -0
  67. package/dist/index.d.ts +62 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +119 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/input-bridge.d.ts +273 -0
  72. package/dist/input-bridge.d.ts.map +1 -0
  73. package/dist/input-bridge.js +884 -0
  74. package/dist/input-bridge.js.map +1 -0
  75. package/dist/link-popover.d.ts +38 -0
  76. package/dist/link-popover.d.ts.map +1 -0
  77. package/dist/link-popover.js +278 -0
  78. package/dist/link-popover.js.map +1 -0
  79. package/dist/mark-renderer.d.ts +275 -0
  80. package/dist/mark-renderer.d.ts.map +1 -0
  81. package/dist/mark-renderer.js +210 -0
  82. package/dist/mark-renderer.js.map +1 -0
  83. package/dist/perf.d.ts +145 -0
  84. package/dist/perf.d.ts.map +1 -0
  85. package/dist/perf.js +260 -0
  86. package/dist/perf.js.map +1 -0
  87. package/dist/plugin-kit.d.ts +265 -0
  88. package/dist/plugin-kit.d.ts.map +1 -0
  89. package/dist/plugin-kit.js +234 -0
  90. package/dist/plugin-kit.js.map +1 -0
  91. package/dist/plugins/alignment-plugin.d.ts +68 -0
  92. package/dist/plugins/alignment-plugin.d.ts.map +1 -0
  93. package/dist/plugins/alignment-plugin.js +98 -0
  94. package/dist/plugins/alignment-plugin.js.map +1 -0
  95. package/dist/plugins/block-utils.d.ts +113 -0
  96. package/dist/plugins/block-utils.d.ts.map +1 -0
  97. package/dist/plugins/block-utils.js +191 -0
  98. package/dist/plugins/block-utils.js.map +1 -0
  99. package/dist/plugins/blockquote-plugin.d.ts +39 -0
  100. package/dist/plugins/blockquote-plugin.d.ts.map +1 -0
  101. package/dist/plugins/blockquote-plugin.js +88 -0
  102. package/dist/plugins/blockquote-plugin.js.map +1 -0
  103. package/dist/plugins/bold-plugin.d.ts +37 -0
  104. package/dist/plugins/bold-plugin.d.ts.map +1 -0
  105. package/dist/plugins/bold-plugin.js +48 -0
  106. package/dist/plugins/bold-plugin.js.map +1 -0
  107. package/dist/plugins/callout-plugin.d.ts +100 -0
  108. package/dist/plugins/callout-plugin.d.ts.map +1 -0
  109. package/dist/plugins/callout-plugin.js +200 -0
  110. package/dist/plugins/callout-plugin.js.map +1 -0
  111. package/dist/plugins/code-block-plugin.d.ts +62 -0
  112. package/dist/plugins/code-block-plugin.d.ts.map +1 -0
  113. package/dist/plugins/code-block-plugin.js +176 -0
  114. package/dist/plugins/code-block-plugin.js.map +1 -0
  115. package/dist/plugins/code-plugin.d.ts +37 -0
  116. package/dist/plugins/code-plugin.d.ts.map +1 -0
  117. package/dist/plugins/code-plugin.js +48 -0
  118. package/dist/plugins/code-plugin.js.map +1 -0
  119. package/dist/plugins/embed-plugin.d.ts +90 -0
  120. package/dist/plugins/embed-plugin.d.ts.map +1 -0
  121. package/dist/plugins/embed-plugin.js +147 -0
  122. package/dist/plugins/embed-plugin.js.map +1 -0
  123. package/dist/plugins/font-family-plugin.d.ts +58 -0
  124. package/dist/plugins/font-family-plugin.d.ts.map +1 -0
  125. package/dist/plugins/font-family-plugin.js +57 -0
  126. package/dist/plugins/font-family-plugin.js.map +1 -0
  127. package/dist/plugins/font-size-plugin.d.ts +57 -0
  128. package/dist/plugins/font-size-plugin.d.ts.map +1 -0
  129. package/dist/plugins/font-size-plugin.js +56 -0
  130. package/dist/plugins/font-size-plugin.js.map +1 -0
  131. package/dist/plugins/heading-plugin.d.ts +52 -0
  132. package/dist/plugins/heading-plugin.d.ts.map +1 -0
  133. package/dist/plugins/heading-plugin.js +114 -0
  134. package/dist/plugins/heading-plugin.js.map +1 -0
  135. package/dist/plugins/hr-plugin.d.ts +33 -0
  136. package/dist/plugins/hr-plugin.d.ts.map +1 -0
  137. package/dist/plugins/hr-plugin.js +75 -0
  138. package/dist/plugins/hr-plugin.js.map +1 -0
  139. package/dist/plugins/image-plugin.d.ts +115 -0
  140. package/dist/plugins/image-plugin.d.ts.map +1 -0
  141. package/dist/plugins/image-plugin.js +199 -0
  142. package/dist/plugins/image-plugin.js.map +1 -0
  143. package/dist/plugins/indent-plugin.d.ts +62 -0
  144. package/dist/plugins/indent-plugin.d.ts.map +1 -0
  145. package/dist/plugins/indent-plugin.js +128 -0
  146. package/dist/plugins/indent-plugin.js.map +1 -0
  147. package/dist/plugins/index.d.ts +45 -0
  148. package/dist/plugins/index.d.ts.map +1 -0
  149. package/dist/plugins/index.js +42 -0
  150. package/dist/plugins/index.js.map +1 -0
  151. package/dist/plugins/italic-plugin.d.ts +37 -0
  152. package/dist/plugins/italic-plugin.d.ts.map +1 -0
  153. package/dist/plugins/italic-plugin.js +48 -0
  154. package/dist/plugins/italic-plugin.js.map +1 -0
  155. package/dist/plugins/link-plugin.d.ts +129 -0
  156. package/dist/plugins/link-plugin.d.ts.map +1 -0
  157. package/dist/plugins/link-plugin.js +212 -0
  158. package/dist/plugins/link-plugin.js.map +1 -0
  159. package/dist/plugins/list-plugin.d.ts +53 -0
  160. package/dist/plugins/list-plugin.d.ts.map +1 -0
  161. package/dist/plugins/list-plugin.js +309 -0
  162. package/dist/plugins/list-plugin.js.map +1 -0
  163. package/dist/plugins/mark-utils.d.ts +173 -0
  164. package/dist/plugins/mark-utils.d.ts.map +1 -0
  165. package/dist/plugins/mark-utils.js +425 -0
  166. package/dist/plugins/mark-utils.js.map +1 -0
  167. package/dist/plugins/mention-plugin.d.ts +191 -0
  168. package/dist/plugins/mention-plugin.d.ts.map +1 -0
  169. package/dist/plugins/mention-plugin.js +295 -0
  170. package/dist/plugins/mention-plugin.js.map +1 -0
  171. package/dist/plugins/strikethrough-plugin.d.ts +37 -0
  172. package/dist/plugins/strikethrough-plugin.d.ts.map +1 -0
  173. package/dist/plugins/strikethrough-plugin.js +48 -0
  174. package/dist/plugins/strikethrough-plugin.js.map +1 -0
  175. package/dist/plugins/text-color-plugin.d.ts +57 -0
  176. package/dist/plugins/text-color-plugin.d.ts.map +1 -0
  177. package/dist/plugins/text-color-plugin.js +56 -0
  178. package/dist/plugins/text-color-plugin.js.map +1 -0
  179. package/dist/plugins/underline-plugin.d.ts +37 -0
  180. package/dist/plugins/underline-plugin.d.ts.map +1 -0
  181. package/dist/plugins/underline-plugin.js +48 -0
  182. package/dist/plugins/underline-plugin.js.map +1 -0
  183. package/dist/presets.d.ts +95 -0
  184. package/dist/presets.d.ts.map +1 -0
  185. package/dist/presets.js +159 -0
  186. package/dist/presets.js.map +1 -0
  187. package/dist/renderer.d.ts +125 -0
  188. package/dist/renderer.d.ts.map +1 -0
  189. package/dist/renderer.js +415 -0
  190. package/dist/renderer.js.map +1 -0
  191. package/dist/scroll-to-cursor.d.ts +25 -0
  192. package/dist/scroll-to-cursor.d.ts.map +1 -0
  193. package/dist/scroll-to-cursor.js +59 -0
  194. package/dist/scroll-to-cursor.js.map +1 -0
  195. package/dist/selection-sync.d.ts +159 -0
  196. package/dist/selection-sync.d.ts.map +1 -0
  197. package/dist/selection-sync.js +527 -0
  198. package/dist/selection-sync.js.map +1 -0
  199. package/dist/shortcut-handler.d.ts +98 -0
  200. package/dist/shortcut-handler.d.ts.map +1 -0
  201. package/dist/shortcut-handler.js +155 -0
  202. package/dist/shortcut-handler.js.map +1 -0
  203. package/dist/toolbar.d.ts +103 -0
  204. package/dist/toolbar.d.ts.map +1 -0
  205. package/dist/toolbar.js +134 -0
  206. package/dist/toolbar.js.map +1 -0
  207. package/dist/trigger-manager.d.ts +205 -0
  208. package/dist/trigger-manager.d.ts.map +1 -0
  209. package/dist/trigger-manager.js +466 -0
  210. package/dist/trigger-manager.js.map +1 -0
  211. package/dist/types.d.ts +216 -0
  212. package/dist/types.d.ts.map +1 -0
  213. package/dist/types.js +2 -0
  214. package/dist/types.js.map +1 -0
  215. 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"}