@rtif-sdk/web 1.0.0 → 1.3.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 (70) hide show
  1. package/dist/block-drag-handler.d.ts +5 -0
  2. package/dist/block-drag-handler.d.ts.map +1 -1
  3. package/dist/block-drag-handler.js +32 -3
  4. package/dist/block-drag-handler.js.map +1 -1
  5. package/dist/block-renderer.d.ts +12 -6
  6. package/dist/block-renderer.d.ts.map +1 -1
  7. package/dist/block-renderer.js +98 -9
  8. package/dist/block-renderer.js.map +1 -1
  9. package/dist/block-type-dropdown.d.ts +78 -0
  10. package/dist/block-type-dropdown.d.ts.map +1 -0
  11. package/dist/block-type-dropdown.js +276 -0
  12. package/dist/block-type-dropdown.js.map +1 -0
  13. package/dist/color-picker.d.ts +91 -0
  14. package/dist/color-picker.d.ts.map +1 -0
  15. package/dist/color-picker.js +346 -0
  16. package/dist/color-picker.js.map +1 -0
  17. package/dist/content-handlers.d.ts +7 -8
  18. package/dist/content-handlers.d.ts.map +1 -1
  19. package/dist/content-handlers.js +122 -93
  20. package/dist/content-handlers.js.map +1 -1
  21. package/dist/editor.d.ts.map +1 -1
  22. package/dist/editor.js +224 -15
  23. package/dist/editor.js.map +1 -1
  24. package/dist/embed-utils.d.ts +148 -0
  25. package/dist/embed-utils.d.ts.map +1 -0
  26. package/dist/embed-utils.js +197 -0
  27. package/dist/embed-utils.js.map +1 -0
  28. package/dist/font-family-picker.d.ts +105 -0
  29. package/dist/font-family-picker.d.ts.map +1 -0
  30. package/dist/font-family-picker.js +314 -0
  31. package/dist/font-family-picker.js.map +1 -0
  32. package/dist/font-size-picker.d.ts +82 -0
  33. package/dist/font-size-picker.d.ts.map +1 -0
  34. package/dist/font-size-picker.js +290 -0
  35. package/dist/font-size-picker.js.map +1 -0
  36. package/dist/index.d.ts +18 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +30 -2
  39. package/dist/index.js.map +1 -1
  40. package/dist/plugins/index.d.ts +2 -1
  41. package/dist/plugins/index.d.ts.map +1 -1
  42. package/dist/plugins/index.js +1 -1
  43. package/dist/plugins/index.js.map +1 -1
  44. package/dist/plugins/link-plugin.d.ts +4 -0
  45. package/dist/plugins/link-plugin.d.ts.map +1 -1
  46. package/dist/plugins/link-plugin.js +17 -0
  47. package/dist/plugins/link-plugin.js.map +1 -1
  48. package/dist/plugins/mark-utils.d.ts +31 -0
  49. package/dist/plugins/mark-utils.d.ts.map +1 -1
  50. package/dist/plugins/mark-utils.js +46 -0
  51. package/dist/plugins/mark-utils.js.map +1 -1
  52. package/dist/renderer.d.ts +31 -2
  53. package/dist/renderer.d.ts.map +1 -1
  54. package/dist/renderer.js +131 -55
  55. package/dist/renderer.js.map +1 -1
  56. package/dist/selection-sync.d.ts +2 -26
  57. package/dist/selection-sync.d.ts.map +1 -1
  58. package/dist/selection-sync.js +49 -13
  59. package/dist/selection-sync.js.map +1 -1
  60. package/dist/spatial-index.d.ts +203 -0
  61. package/dist/spatial-index.d.ts.map +1 -0
  62. package/dist/spatial-index.js +211 -0
  63. package/dist/spatial-index.js.map +1 -0
  64. package/dist/types.d.ts +93 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/virtual-viewport.d.ts +241 -0
  67. package/dist/virtual-viewport.d.ts.map +1 -0
  68. package/dist/virtual-viewport.js +584 -0
  69. package/dist/virtual-viewport.js.map +1 -0
  70. package/package.json +17 -5
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Font size picker — a dropdown for selecting text size.
3
+ *
4
+ * Shows the current font size in the trigger button and lets the user
5
+ * choose from a list of preset sizes. Uses the same
6
+ * `mousedown + preventDefault()` pattern as the toolbar to avoid stealing
7
+ * editor focus.
8
+ *
9
+ * @module
10
+ */
11
+ import type { IEditorEngine } from '@rtif-sdk/engine';
12
+ import type { CommandBus } from './command-bus.js';
13
+ /**
14
+ * Default font sizes displayed in the picker dropdown.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const picker = createFontSizePicker({
19
+ * container, bus, engine,
20
+ * sizes: DEFAULT_FONT_SIZES.filter(s => s >= 12 && s <= 36),
21
+ * });
22
+ * ```
23
+ */
24
+ export declare const DEFAULT_FONT_SIZES: readonly number[];
25
+ /**
26
+ * Configuration for the font size picker.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const picker = createFontSizePicker({
31
+ * container: document.getElementById('toolbar')!,
32
+ * bus: editor.commandBus,
33
+ * engine,
34
+ * });
35
+ * ```
36
+ */
37
+ export interface FontSizePickerConfig {
38
+ /** The DOM element to render the picker into. */
39
+ readonly container: HTMLElement;
40
+ /** The command bus for executing font size commands. */
41
+ readonly bus: CommandBus;
42
+ /** The engine for querying the current mark value. */
43
+ readonly engine: IEditorEngine;
44
+ /** Font sizes to display (default: {@link DEFAULT_FONT_SIZES}). */
45
+ readonly sizes?: readonly number[];
46
+ }
47
+ /**
48
+ * Handle returned by {@link createFontSizePicker} for lifecycle management.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * const picker = createFontSizePicker({ container, bus, engine });
53
+ * // ... later:
54
+ * picker.destroy();
55
+ * ```
56
+ */
57
+ export interface FontSizePickerHandle {
58
+ /** The picker's root wrapper element. */
59
+ readonly element: HTMLElement;
60
+ /** Remove all event listeners and DOM nodes. Idempotent. */
61
+ destroy(): void;
62
+ }
63
+ /**
64
+ * Create a font size picker dropdown backed by a {@link CommandBus}.
65
+ *
66
+ * The picker reflects the current font size by querying the engine's
67
+ * mark state. It subscribes to the bus for live updates.
68
+ *
69
+ * @param config - Picker configuration
70
+ * @returns A handle for lifecycle management
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * const picker = createFontSizePicker({
75
+ * container: toolbar,
76
+ * bus: editor.commandBus,
77
+ * engine,
78
+ * });
79
+ * ```
80
+ */
81
+ export declare function createFontSizePicker(config: FontSizePickerConfig): FontSizePickerHandle;
82
+ //# sourceMappingURL=font-size-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-size-picker.d.ts","sourceRoot":"","sources":["../src/font-size-picker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAanD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAE/C,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,4DAA4D;IAC5D,OAAO,IAAI,IAAI,CAAC;CACjB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CA8RvF"}
@@ -0,0 +1,290 @@
1
+ /**
2
+ * Font size picker — a dropdown for selecting text size.
3
+ *
4
+ * Shows the current font size in the trigger button and lets the user
5
+ * choose from a list of preset sizes. Uses the same
6
+ * `mousedown + preventDefault()` pattern as the toolbar to avoid stealing
7
+ * editor focus.
8
+ *
9
+ * @module
10
+ */
11
+ import { getMarkValueAtSelection } from './plugins/mark-utils.js';
12
+ // ---------------------------------------------------------------------------
13
+ // Module-scoped counter for unique IDs
14
+ // ---------------------------------------------------------------------------
15
+ let instanceCounter = 0;
16
+ // ---------------------------------------------------------------------------
17
+ // Preset sizes
18
+ // ---------------------------------------------------------------------------
19
+ /**
20
+ * Default font sizes displayed in the picker dropdown.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const picker = createFontSizePicker({
25
+ * container, bus, engine,
26
+ * sizes: DEFAULT_FONT_SIZES.filter(s => s >= 12 && s <= 36),
27
+ * });
28
+ * ```
29
+ */
30
+ export const DEFAULT_FONT_SIZES = [
31
+ 8, 9, 10, 11, 12, 14, 16, 18, 20, 24, 28, 32, 36, 48, 64, 72, 96,
32
+ ];
33
+ // ---------------------------------------------------------------------------
34
+ // Factory
35
+ // ---------------------------------------------------------------------------
36
+ /**
37
+ * Create a font size picker dropdown backed by a {@link CommandBus}.
38
+ *
39
+ * The picker reflects the current font size by querying the engine's
40
+ * mark state. It subscribes to the bus for live updates.
41
+ *
42
+ * @param config - Picker configuration
43
+ * @returns A handle for lifecycle management
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const picker = createFontSizePicker({
48
+ * container: toolbar,
49
+ * bus: editor.commandBus,
50
+ * engine,
51
+ * });
52
+ * ```
53
+ */
54
+ export function createFontSizePicker(config) {
55
+ const { container, bus, engine, sizes = DEFAULT_FONT_SIZES, } = config;
56
+ const doc = container.ownerDocument;
57
+ const id = ++instanceCounter;
58
+ const menuId = `rtif-font-size-menu-${id}`;
59
+ let isOpen = false;
60
+ let highlightIndex = -1;
61
+ let destroyed = false;
62
+ // Total selectable items: "Default" + size options
63
+ const totalItems = 1 + sizes.length;
64
+ // -----------------------------------------------------------------------
65
+ // DOM creation
66
+ // -----------------------------------------------------------------------
67
+ const wrapper = doc.createElement('div');
68
+ wrapper.className = 'rtif-font-size-picker';
69
+ // Trigger button
70
+ const trigger = doc.createElement('button');
71
+ trigger.type = 'button';
72
+ trigger.className = 'rtif-font-size-picker-trigger';
73
+ trigger.setAttribute('role', 'combobox');
74
+ trigger.setAttribute('aria-haspopup', 'listbox');
75
+ trigger.setAttribute('aria-expanded', 'false');
76
+ trigger.setAttribute('aria-controls', menuId);
77
+ trigger.setAttribute('aria-label', 'Font size');
78
+ const labelSpan = doc.createElement('span');
79
+ labelSpan.className = 'rtif-font-size-picker-label';
80
+ const chevron = doc.createElement('span');
81
+ chevron.className = 'rtif-font-size-picker-chevron';
82
+ chevron.textContent = '\u25BE'; // ▾
83
+ trigger.appendChild(labelSpan);
84
+ trigger.appendChild(chevron);
85
+ // Menu
86
+ const menu = doc.createElement('div');
87
+ menu.id = menuId;
88
+ menu.className = 'rtif-font-size-picker-menu';
89
+ menu.setAttribute('role', 'listbox');
90
+ menu.setAttribute('aria-label', 'Font sizes');
91
+ menu.hidden = true;
92
+ // "Default" option (removes font size)
93
+ const defaultOption = doc.createElement('div');
94
+ defaultOption.className = 'rtif-font-size-picker-option rtif-font-size-picker-default';
95
+ defaultOption.id = `rtif-font-size-opt-${id}-default`;
96
+ defaultOption.setAttribute('role', 'option');
97
+ defaultOption.setAttribute('aria-selected', 'false');
98
+ defaultOption.textContent = 'Default';
99
+ defaultOption.addEventListener('mousedown', (e) => {
100
+ e.preventDefault();
101
+ selectDefault();
102
+ });
103
+ menu.appendChild(defaultOption);
104
+ // Separator
105
+ const sep = doc.createElement('div');
106
+ sep.className = 'rtif-font-size-picker-separator';
107
+ sep.setAttribute('role', 'separator');
108
+ menu.appendChild(sep);
109
+ // Size options
110
+ const optionEls = [];
111
+ for (let i = 0; i < sizes.length; i++) {
112
+ const size = sizes[i];
113
+ const option = doc.createElement('div');
114
+ option.className = 'rtif-font-size-picker-option';
115
+ option.id = `rtif-font-size-opt-${id}-${i}`;
116
+ option.setAttribute('role', 'option');
117
+ option.setAttribute('aria-selected', 'false');
118
+ option.setAttribute('data-size', String(size));
119
+ option.textContent = String(size);
120
+ option.addEventListener('mousedown', (e) => {
121
+ e.preventDefault();
122
+ selectSize(size);
123
+ });
124
+ menu.appendChild(option);
125
+ optionEls.push(option);
126
+ }
127
+ wrapper.appendChild(trigger);
128
+ wrapper.appendChild(menu);
129
+ container.appendChild(wrapper);
130
+ // -----------------------------------------------------------------------
131
+ // Active state detection
132
+ // -----------------------------------------------------------------------
133
+ function updateDisplay() {
134
+ const { value, isMixed } = getMarkValueAtSelection(engine, 'fontSize');
135
+ if (isMixed) {
136
+ labelSpan.textContent = '\u2014'; // em dash
137
+ }
138
+ else if (value != null) {
139
+ labelSpan.textContent = String(value);
140
+ }
141
+ else {
142
+ labelSpan.textContent = '\u2014';
143
+ }
144
+ // Update option selection
145
+ defaultOption.setAttribute('aria-selected', value == null && !isMixed ? 'true' : 'false');
146
+ for (const opt of optionEls) {
147
+ const optSize = Number(opt.getAttribute('data-size'));
148
+ opt.setAttribute('aria-selected', !isMixed && value === optSize ? 'true' : 'false');
149
+ }
150
+ }
151
+ // -----------------------------------------------------------------------
152
+ // Open / close
153
+ // -----------------------------------------------------------------------
154
+ function openMenu() {
155
+ if (isOpen)
156
+ return;
157
+ isOpen = true;
158
+ highlightIndex = -1;
159
+ menu.hidden = false;
160
+ trigger.setAttribute('aria-expanded', 'true');
161
+ trigger.removeAttribute('aria-activedescendant');
162
+ doc.addEventListener('mousedown', onDocumentMouseDown);
163
+ }
164
+ function closeMenu() {
165
+ if (!isOpen)
166
+ return;
167
+ isOpen = false;
168
+ highlightIndex = -1;
169
+ menu.hidden = true;
170
+ trigger.setAttribute('aria-expanded', 'false');
171
+ trigger.removeAttribute('aria-activedescendant');
172
+ // Clear highlight
173
+ defaultOption.classList.remove('rtif-font-size-picker-option-highlighted');
174
+ for (const el of optionEls) {
175
+ el.classList.remove('rtif-font-size-picker-option-highlighted');
176
+ }
177
+ doc.removeEventListener('mousedown', onDocumentMouseDown);
178
+ }
179
+ // -----------------------------------------------------------------------
180
+ // Selection
181
+ // -----------------------------------------------------------------------
182
+ function selectDefault() {
183
+ bus.execute('removeFontSize');
184
+ closeMenu();
185
+ }
186
+ function selectSize(size) {
187
+ bus.execute('setFontSize', { size });
188
+ closeMenu();
189
+ }
190
+ // -----------------------------------------------------------------------
191
+ // Keyboard navigation
192
+ // -----------------------------------------------------------------------
193
+ function getOptionId(index) {
194
+ if (index === 0)
195
+ return defaultOption.id;
196
+ return optionEls[index - 1]?.id ?? '';
197
+ }
198
+ function onKeyDown(e) {
199
+ if (!isOpen)
200
+ return;
201
+ switch (e.key) {
202
+ case 'ArrowDown': {
203
+ e.preventDefault();
204
+ highlightIndex = (highlightIndex + 1) % totalItems;
205
+ updateHighlight();
206
+ break;
207
+ }
208
+ case 'ArrowUp': {
209
+ e.preventDefault();
210
+ highlightIndex = highlightIndex <= 0
211
+ ? totalItems - 1
212
+ : highlightIndex - 1;
213
+ updateHighlight();
214
+ break;
215
+ }
216
+ case 'Enter': {
217
+ e.preventDefault();
218
+ if (highlightIndex === 0) {
219
+ selectDefault();
220
+ }
221
+ else if (highlightIndex > 0 && highlightIndex <= sizes.length) {
222
+ selectSize(sizes[highlightIndex - 1]);
223
+ }
224
+ break;
225
+ }
226
+ case 'Escape': {
227
+ e.preventDefault();
228
+ closeMenu();
229
+ break;
230
+ }
231
+ }
232
+ }
233
+ function updateHighlight() {
234
+ defaultOption.classList.toggle('rtif-font-size-picker-option-highlighted', highlightIndex === 0);
235
+ for (let i = 0; i < optionEls.length; i++) {
236
+ optionEls[i].classList.toggle('rtif-font-size-picker-option-highlighted', highlightIndex === i + 1);
237
+ }
238
+ if (highlightIndex >= 0 && highlightIndex < totalItems) {
239
+ trigger.setAttribute('aria-activedescendant', getOptionId(highlightIndex));
240
+ }
241
+ else {
242
+ trigger.removeAttribute('aria-activedescendant');
243
+ }
244
+ }
245
+ // -----------------------------------------------------------------------
246
+ // Event handlers
247
+ // -----------------------------------------------------------------------
248
+ function onTriggerMouseDown(e) {
249
+ e.preventDefault();
250
+ }
251
+ function onTriggerClick() {
252
+ if (isOpen) {
253
+ closeMenu();
254
+ }
255
+ else {
256
+ openMenu();
257
+ }
258
+ }
259
+ function onDocumentMouseDown(e) {
260
+ if (!wrapper.contains(e.target)) {
261
+ closeMenu();
262
+ }
263
+ }
264
+ trigger.addEventListener('mousedown', onTriggerMouseDown);
265
+ trigger.addEventListener('click', onTriggerClick);
266
+ trigger.addEventListener('keydown', onKeyDown);
267
+ // -----------------------------------------------------------------------
268
+ // Bus subscription
269
+ // -----------------------------------------------------------------------
270
+ updateDisplay();
271
+ const unsubscribe = bus.subscribe(() => updateDisplay());
272
+ // -----------------------------------------------------------------------
273
+ // Handle
274
+ // -----------------------------------------------------------------------
275
+ return {
276
+ element: wrapper,
277
+ destroy() {
278
+ if (destroyed)
279
+ return;
280
+ destroyed = true;
281
+ unsubscribe();
282
+ closeMenu();
283
+ trigger.removeEventListener('mousedown', onTriggerMouseDown);
284
+ trigger.removeEventListener('click', onTriggerClick);
285
+ trigger.removeEventListener('keydown', onKeyDown);
286
+ wrapper.remove();
287
+ },
288
+ };
289
+ }
290
+ //# sourceMappingURL=font-size-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-size-picker.js","sourceRoot":"","sources":["../src/font-size-picker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,9 +9,9 @@
9
9
  * @packageDocumentation
10
10
  */
11
11
  export { createWebEditor } from './editor.js';
12
- export type { WebEditorConfig, WebEditor, Disposable } from './types.js';
12
+ export type { WebEditorConfig, WebEditor, Disposable, VirtualizationConfig } from './types.js';
13
13
  export type { BlockOffsetEntry, DomPoint, CompositionState } from './types.js';
14
- export { renderInitial, reconcile, createBlockElement, createSpanElement, findBlockElement, } from './renderer.js';
14
+ export { renderInitial, reconcile, reconcileBlock, createBlockElement, createSpanElement, findBlockElement, } from './renderer.js';
15
15
  export { buildBlockOffsetCache, domPointToRtifOffset, rtifOffsetToDomPoint, readDomSelection, setDomSelection, isSuppressed, resetSuppression, } from './selection-sync.js';
16
16
  export { CompositionHandler } from './composition.js';
17
17
  export type { CompositionCommit, CompositionDeps } from './composition.js';
@@ -28,6 +28,14 @@ export { ShortcutHandler, matchesShortcut } from './shortcut-handler.js';
28
28
  export type { ShortcutHandlerDeps } from './shortcut-handler.js';
29
29
  export { createToolbar, ToolbarGroup } from './toolbar.js';
30
30
  export type { ToolbarButtonConfig, ToolbarHandle, } from './toolbar.js';
31
+ export { createBlockTypeDropdown } from './block-type-dropdown.js';
32
+ export type { BlockTypeDropdownItem, BlockTypeDropdownHandle, } from './block-type-dropdown.js';
33
+ export { createColorPicker, DEFAULT_COLOR_SWATCHES } from './color-picker.js';
34
+ export type { ColorPickerConfig, ColorPickerHandle, } from './color-picker.js';
35
+ export { createFontSizePicker, DEFAULT_FONT_SIZES } from './font-size-picker.js';
36
+ export type { FontSizePickerConfig, FontSizePickerHandle, } from './font-size-picker.js';
37
+ export { createFontFamilyPicker, DEFAULT_FONT_FAMILIES } from './font-family-picker.js';
38
+ export type { FontFamilyPickerConfig, FontFamilyPickerHandle, FontFamilyOption, } from './font-family-picker.js';
31
39
  export { createFloatingToolbar } from './floating-toolbar.js';
32
40
  export type { FloatingToolbarConfig, FloatingToolbarHandle, } from './floating-toolbar.js';
33
41
  export { scrollToCursor } from './scroll-to-cursor.js';
@@ -47,8 +55,10 @@ export { createMarkRendererRegistry, registerBuiltinRenderers, boldRenderer, ita
47
55
  export type { MarkRenderer, MarkRendererRegistry, SpanReplacer } from './mark-renderer.js';
48
56
  export { createBlockRendererRegistry, registerBuiltinBlockRenderers, headingRenderer, blockquoteRenderer, codeBlockRenderer, listItemRenderer, hrRenderer, calloutRenderer, imageRenderer, embedRenderer, alignAttrRenderer, indentAttrRenderer, } from './block-renderer.js';
49
57
  export type { BlockRenderer, BlockAttrRenderer, BlockRendererRegistry } from './block-renderer.js';
50
- export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, boldPlugin, BoldCommands, italicPlugin, ItalicCommands, underlinePlugin, UnderlineCommands, strikethroughPlugin, StrikethroughCommands, codePlugin, CodeMarkCommands, linkPlugin, createLinkPlugin, LinkCommands, textColorPlugin, TextColorCommands, fontSizePlugin, FontSizeCommands, fontFamilyPlugin, FontFamilyCommands, getBlockStartOffset, getBlockAtCursor, isBlockType, createToggleBlockTypeCommand, setBlockType, headingPlugin, HeadingCommands, listPlugin, ListCommands, blockquotePlugin, BlockquoteCommands, codeBlockPlugin, CodeBlockCommands, hrPlugin, imagePlugin, ImageCommands, calloutPlugin, CalloutCommands, embedPlugin, EmbedCommands, alignmentPlugin, AlignmentCommands, indentPlugin, IndentCommands, MAX_INDENT, createMentionPlugin, MentionCommands, mentionPlaintextSerializer, mentionMarkdownSerializer, mentionHtmlSerializer, defineBooleanMark, defineParameterizedMark, defineBlockType, installWebPlugins, } from './plugins/index.js';
51
- export type { InsertLinkPayload, UpdateLinkPayload, ShowLinkUICallback, LinkPluginResult, ToggleHeadingPayload, SetCodeLanguagePayload, SetTextColorPayload, SetFontSizePayload, SetFontFamilyPayload, InsertImagePayload, UpdateImagePayload, RemoveImagePayload, CalloutVariant, InsertCalloutPayload, SetCalloutVariantPayload, EmbedType, InsertEmbedPayload, RemoveEmbedPayload, Alignment, MentionMark, MentionSession, MentionPluginConfig, MentionPluginResult, WebPlugin, BooleanMarkDef, ParameterizedMarkDef, SetMarkCommandDef, BlockTypeDef, BlockInputRuleDef, BlockShortcutDef, } from './plugins/index.js';
58
+ export { extractYouTubeVideoId, extractVimeoVideoId, youtubeEmbedSrc, vimeoEmbedSrc, extractDisplayUrl, getEmbedRenderConfig, } from './embed-utils.js';
59
+ export type { EmbedProvider, EmbedRenderConfig } from './embed-utils.js';
60
+ export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, getMarkValueAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, boldPlugin, BoldCommands, italicPlugin, ItalicCommands, underlinePlugin, UnderlineCommands, strikethroughPlugin, StrikethroughCommands, codePlugin, CodeMarkCommands, linkPlugin, createLinkPlugin, LinkCommands, textColorPlugin, TextColorCommands, fontSizePlugin, FontSizeCommands, fontFamilyPlugin, FontFamilyCommands, getBlockStartOffset, getBlockAtCursor, isBlockType, createToggleBlockTypeCommand, setBlockType, headingPlugin, HeadingCommands, listPlugin, ListCommands, blockquotePlugin, BlockquoteCommands, codeBlockPlugin, CodeBlockCommands, hrPlugin, imagePlugin, ImageCommands, calloutPlugin, CalloutCommands, embedPlugin, EmbedCommands, alignmentPlugin, AlignmentCommands, indentPlugin, IndentCommands, MAX_INDENT, createMentionPlugin, MentionCommands, mentionPlaintextSerializer, mentionMarkdownSerializer, mentionHtmlSerializer, defineBooleanMark, defineParameterizedMark, defineBlockType, installWebPlugins, } from './plugins/index.js';
61
+ export type { MarkValueResult, InsertLinkPayload, UpdateLinkPayload, ShowLinkUICallback, LinkPluginResult, ToggleHeadingPayload, SetCodeLanguagePayload, SetTextColorPayload, SetFontSizePayload, SetFontFamilyPayload, InsertImagePayload, UpdateImagePayload, RemoveImagePayload, CalloutVariant, InsertCalloutPayload, SetCalloutVariantPayload, EmbedType, InsertEmbedPayload, RemoveEmbedPayload, Alignment, MentionMark, MentionSession, MentionPluginConfig, MentionPluginResult, WebPlugin, BooleanMarkDef, ParameterizedMarkDef, SetMarkCommandDef, BlockTypeDef, BlockInputRuleDef, BlockShortcutDef, } from './plugins/index.js';
52
62
  export { createLinkPopover } from './link-popover.js';
53
63
  export type { LinkPopoverHandle } from './link-popover.js';
54
64
  export { createCursorRectAPI } from './cursor-rect.js';
@@ -58,5 +68,9 @@ export type { TriggerManager, TriggerManagerDeps, TriggerConfig, TriggerSession,
58
68
  export { PRESET_PLAINTEXT, PRESET_BASIC, PRESET_STANDARD, PRESET_FULL, } from './presets.js';
59
69
  export { createPerfInstrumentation, withPerfTiming } from './perf.js';
60
70
  export type { PerfMetrics, PerfObserver, PerfInstrumentation } from './perf.js';
71
+ export { createSpatialIndex, DEFAULT_BLOCK_TYPE_HEIGHTS, } from './spatial-index.js';
72
+ export type { SpatialIndex, SpatialIndexConfig } from './spatial-index.js';
73
+ export { createVirtualViewport, findScrollParent } from './virtual-viewport.js';
74
+ export type { VirtualViewport, VirtualViewportConfig } from './virtual-viewport.js';
61
75
  export { EngineCommands } from '@rtif-sdk/engine';
62
76
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM9C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM/E,OAAO,EACL,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAM3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,aAAa,GACd,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EACV,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMvD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC3E,YAAY,EACV,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAMpE,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAM3F,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAMnG,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,4BAA4B,EAC5B,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAMhF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ export { createWebEditor } from './editor.js';
15
15
  // ---------------------------------------------------------------------------
16
16
  // Renderer (public for custom rendering / testing)
17
17
  // ---------------------------------------------------------------------------
18
- export { renderInitial, reconcile, createBlockElement, createSpanElement, findBlockElement, } from './renderer.js';
18
+ export { renderInitial, reconcile, reconcileBlock, createBlockElement, createSpanElement, findBlockElement, } from './renderer.js';
19
19
  // ---------------------------------------------------------------------------
20
20
  // Selection sync (public for testing / advanced use)
21
21
  // ---------------------------------------------------------------------------
@@ -50,6 +50,22 @@ export { ShortcutHandler, matchesShortcut } from './shortcut-handler.js';
50
50
  // ---------------------------------------------------------------------------
51
51
  export { createToolbar, ToolbarGroup } from './toolbar.js';
52
52
  // ---------------------------------------------------------------------------
53
+ // Block type dropdown
54
+ // ---------------------------------------------------------------------------
55
+ export { createBlockTypeDropdown } from './block-type-dropdown.js';
56
+ // ---------------------------------------------------------------------------
57
+ // Color picker
58
+ // ---------------------------------------------------------------------------
59
+ export { createColorPicker, DEFAULT_COLOR_SWATCHES } from './color-picker.js';
60
+ // ---------------------------------------------------------------------------
61
+ // Font size picker
62
+ // ---------------------------------------------------------------------------
63
+ export { createFontSizePicker, DEFAULT_FONT_SIZES } from './font-size-picker.js';
64
+ // ---------------------------------------------------------------------------
65
+ // Font family picker
66
+ // ---------------------------------------------------------------------------
67
+ export { createFontFamilyPicker, DEFAULT_FONT_FAMILIES } from './font-family-picker.js';
68
+ // ---------------------------------------------------------------------------
53
69
  // Floating toolbar
54
70
  // ---------------------------------------------------------------------------
55
71
  export { createFloatingToolbar } from './floating-toolbar.js';
@@ -89,9 +105,13 @@ export { createMarkRendererRegistry, registerBuiltinRenderers, boldRenderer, ita
89
105
  // ---------------------------------------------------------------------------
90
106
  export { createBlockRendererRegistry, registerBuiltinBlockRenderers, headingRenderer, blockquoteRenderer, codeBlockRenderer, listItemRenderer, hrRenderer, calloutRenderer, imageRenderer, embedRenderer, alignAttrRenderer, indentAttrRenderer, } from './block-renderer.js';
91
107
  // ---------------------------------------------------------------------------
108
+ // Embed utilities
109
+ // ---------------------------------------------------------------------------
110
+ export { extractYouTubeVideoId, extractVimeoVideoId, youtubeEmbedSrc, vimeoEmbedSrc, extractDisplayUrl, getEmbedRenderConfig, } from './embed-utils.js';
111
+ // ---------------------------------------------------------------------------
92
112
  // Plugins & shared utilities
93
113
  // ---------------------------------------------------------------------------
94
- export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, boldPlugin, BoldCommands, italicPlugin, ItalicCommands, underlinePlugin, UnderlineCommands, strikethroughPlugin, StrikethroughCommands, codePlugin, CodeMarkCommands, linkPlugin, createLinkPlugin, LinkCommands, textColorPlugin, TextColorCommands, fontSizePlugin, FontSizeCommands, fontFamilyPlugin, FontFamilyCommands, getBlockStartOffset, getBlockAtCursor, isBlockType, createToggleBlockTypeCommand, setBlockType, headingPlugin, HeadingCommands, listPlugin, ListCommands, blockquotePlugin, BlockquoteCommands, codeBlockPlugin, CodeBlockCommands, hrPlugin, imagePlugin, ImageCommands, calloutPlugin, CalloutCommands, embedPlugin, EmbedCommands, alignmentPlugin, AlignmentCommands, indentPlugin, IndentCommands, MAX_INDENT, createMentionPlugin, MentionCommands, mentionPlaintextSerializer, mentionMarkdownSerializer, mentionHtmlSerializer, defineBooleanMark, defineParameterizedMark, defineBlockType, installWebPlugins, } from './plugins/index.js';
114
+ export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, getMarkValueAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, boldPlugin, BoldCommands, italicPlugin, ItalicCommands, underlinePlugin, UnderlineCommands, strikethroughPlugin, StrikethroughCommands, codePlugin, CodeMarkCommands, linkPlugin, createLinkPlugin, LinkCommands, textColorPlugin, TextColorCommands, fontSizePlugin, FontSizeCommands, fontFamilyPlugin, FontFamilyCommands, getBlockStartOffset, getBlockAtCursor, isBlockType, createToggleBlockTypeCommand, setBlockType, headingPlugin, HeadingCommands, listPlugin, ListCommands, blockquotePlugin, BlockquoteCommands, codeBlockPlugin, CodeBlockCommands, hrPlugin, imagePlugin, ImageCommands, calloutPlugin, CalloutCommands, embedPlugin, EmbedCommands, alignmentPlugin, AlignmentCommands, indentPlugin, IndentCommands, MAX_INDENT, createMentionPlugin, MentionCommands, mentionPlaintextSerializer, mentionMarkdownSerializer, mentionHtmlSerializer, defineBooleanMark, defineParameterizedMark, defineBlockType, installWebPlugins, } from './plugins/index.js';
95
115
  // ---------------------------------------------------------------------------
96
116
  // Link popover
97
117
  // ---------------------------------------------------------------------------
@@ -113,6 +133,14 @@ export { PRESET_PLAINTEXT, PRESET_BASIC, PRESET_STANDARD, PRESET_FULL, } from '.
113
133
  // ---------------------------------------------------------------------------
114
134
  export { createPerfInstrumentation, withPerfTiming } from './perf.js';
115
135
  // ---------------------------------------------------------------------------
136
+ // Spatial index (viewport virtualization)
137
+ // ---------------------------------------------------------------------------
138
+ export { createSpatialIndex, DEFAULT_BLOCK_TYPE_HEIGHTS, } from './spatial-index.js';
139
+ // ---------------------------------------------------------------------------
140
+ // Virtual viewport (block-level DOM virtualization)
141
+ // ---------------------------------------------------------------------------
142
+ export { createVirtualViewport, findScrollParent } from './virtual-viewport.js';
143
+ // ---------------------------------------------------------------------------
116
144
  // Engine command constants (convenience re-export)
117
145
  // ---------------------------------------------------------------------------
118
146
  export { EngineCommands } from '@rtif-sdk/engine';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS9C,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAE9E,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGpE,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGzE,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM3D,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAMnE,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAM9E,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAMjF,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAOxF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAc3E,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG1F,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,4BAA4B,EAC5B,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAmC5B,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAW5D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGtE,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGhF,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -7,7 +7,8 @@
7
7
  *
8
8
  * @packageDocumentation
9
9
  */
10
- export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, } from './mark-utils.js';
10
+ export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, getMarkValueAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, } from './mark-utils.js';
11
+ export type { MarkValueResult } from './mark-utils.js';
11
12
  export { getBlockStartOffset, getBlockAtCursor, isBlockType, createToggleBlockTypeCommand, setBlockType, } from './block-utils.js';
12
13
  export { boldPlugin, BoldCommands } from './bold-plugin.js';
13
14
  export { italicPlugin, ItalicCommands } from './italic-plugin.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * @packageDocumentation
9
9
  */
10
10
  // Mark utilities
11
- export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, } from './mark-utils.js';
11
+ export { createToggleMarkCommand, toggleMark, isMarkActiveAtSelection, getMarkValueAtSelection, createSetMarkCommand, createRemoveMarkCommand, findContiguousMarkRange, adjustOffsetAroundAtomicMarks, adjustOffsetAroundAtomicBlocks, } from './mark-utils.js';
12
12
  // Block utilities
13
13
  export { getBlockStartOffset, getBlockAtCursor, isBlockType, createToggleBlockTypeCommand, setBlockType, } from './block-utils.js';
14
14
  // Simple boolean mark plugins
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iBAAiB;AACjB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,kBAAkB;AAClB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,4BAA4B,EAC5B,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,8BAA8B;AAC9B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,6BAA6B;AAC7B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAO9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMrE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAO/D,+BAA+B;AAC/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE9E,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAO/D,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAW1B,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iBAAiB;AACjB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAGzB,kBAAkB;AAClB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,4BAA4B,EAC5B,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,8BAA8B;AAC9B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,6BAA6B;AAC7B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAO9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMrE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAO/D,+BAA+B;AAC/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE9E,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAO/D,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAW1B,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC"}
@@ -30,6 +30,10 @@ export declare const LinkCommands: {
30
30
  readonly REMOVE: "removeLink";
31
31
  readonly UPDATE: "updateLink";
32
32
  readonly SHOW_UI: "showLinkUI";
33
+ /** @internal Auto-wire callback for link popover. */
34
+ readonly _WIRE_UI: "_linkWireUI";
35
+ /** @internal Clear auto-wired callback. */
36
+ readonly _UNWIRE_UI: "_linkUnwireUI";
33
37
  };
34
38
  /**
35
39
  * Payload for the `insertLink` command.
@@ -1 +1 @@
1
- {"version":3,"file":"link-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/link-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,QAAQ,GAAG,MAAM,EACvB,WAAW,CAAC,EAAE,MAAM,KACjB,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,GAAG,UAAU,CAAC;CACrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAiLnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
1
+ {"version":3,"file":"link-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/link-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;;;;;IAKvB,qDAAqD;;IAErD,2CAA2C;;CAEnC,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,QAAQ,GAAG,MAAM,EACvB,WAAW,CAAC,EAAE,MAAM,KACjB,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,GAAG,UAAU,CAAC;CACrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAiMnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}