@rtif-sdk/web 1.0.0 → 1.1.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 (62) 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 +28 -2
  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 +117 -14
  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 +12 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +21 -1
  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 +2 -2
  53. package/dist/renderer.d.ts.map +1 -1
  54. package/dist/renderer.js +62 -16
  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/types.d.ts +24 -0
  61. package/dist/types.d.ts.map +1 -1
  62. package/package.json +17 -5
@@ -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
@@ -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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -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
  // ---------------------------------------------------------------------------
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":"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"}
@@ -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":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,4BAA4B,EAC5B,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,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;AAGhE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,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;AAC5E,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
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"}
@@ -29,6 +29,10 @@ export const LinkCommands = {
29
29
  REMOVE: 'removeLink',
30
30
  UPDATE: 'updateLink',
31
31
  SHOW_UI: 'showLinkUI',
32
+ /** @internal Auto-wire callback for link popover. */
33
+ _WIRE_UI: '_linkWireUI',
34
+ /** @internal Clear auto-wired callback. */
35
+ _UNWIRE_UI: '_linkUnwireUI',
32
36
  };
33
37
  /**
34
38
  * Create the link mark plugin with web layer attachment.
@@ -182,6 +186,19 @@ export function createLinkPlugin() {
182
186
  // Keyboard shortcut: Cmd/Ctrl+K → showLinkUI
183
187
  // ---------------------------------------------------------------
184
188
  ctx.registerShortcut({ key: 'k', mod: true }, LinkCommands.SHOW_UI);
189
+ // ---------------------------------------------------------------
190
+ // Internal commands for auto-wiring the link popover
191
+ // ---------------------------------------------------------------
192
+ ctx.registerCommand(LinkCommands._WIRE_UI, {
193
+ execute(_engine, payload) {
194
+ showUICallback = payload;
195
+ },
196
+ });
197
+ ctx.registerCommand(LinkCommands._UNWIRE_UI, {
198
+ execute() {
199
+ showUICallback = null;
200
+ },
201
+ });
185
202
  },
186
203
  };
187
204
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"link-plugin.js","sourceRoot":"","sources":["../../src/plugins/link-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;CACb,CAAC;AA0EX;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB;IAC9B,4CAA4C;IAC5C,IAAI,cAAc,GAA8B,IAAI,CAAC;IAErD,MAAM,MAAM,GAAW;QACrB,EAAE,EAAE,WAAW;QACf,IAAI,CAAC,GAAG;YACN,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBAC3B,QAAQ,EAAE,CAAC,KAAK,EAAW,EAAE;oBAC3B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;wBACzB,KAAK,KAAK,IAAI;wBACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CACvD,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;YAEH,kEAAkE;YAClE,qBAAqB;YACrB,kEAAkE;YAElE,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE;gBACvC,OAAO,CAAC,MAAqB,EAAE,OAAiB;oBAC9C,MAAM,CAAC,GAAG,OAAwC,CAAC;oBACnD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;wBAAE,OAAO;oBAE1B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;oBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAElD,MAAM,QAAQ,GAA4B,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3D,IAAI,CAAC,CAAC,KAAK;wBAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBAEtC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;wBAClB,iDAAiD;wBACjD,MAAM,CAAC,QAAQ,CAAC;4BACd,IAAI,EAAE,gBAAgB;4BACtB,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,GAAG,GAAG,KAAK;4BAClB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,0CAA0C;wBAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;wBAC9B,MAAM,CAAC,QAAQ,CAAC;4BACd,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;4BAC5C;gCACE,IAAI,EAAE,gBAAgB;gCACtB,MAAM,EAAE,KAAK;gCACb,KAAK,EAAE,IAAI,CAAC,MAAM;gCAClB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,UAAU,CAAC,OAAsB;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,QAAQ,CAAC,MAAqB;oBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CACnC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACpC,CAAC;oBACF,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAC9B,KAAK,CAAC,IAAI,KAAK,IAAI,CACpB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;YAEH,kEAAkE;YAClE,qBAAqB;YACrB,kEAAkE;YAElE,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE;gBACvC,OAAO,CAAC,MAAqB;oBAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;oBACxD,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC7E,IAAI,CAAC,KAAK;wBAAE,OAAO;oBAEnB,MAAM,CAAC,QAAQ,CAAC;wBACd,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;qBACtB,CAAC,CAAC;gBACL,CAAC;gBAED,UAAU,CAAC,MAAqB;oBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CACnC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACpC,CAAC;oBACF,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;gBAC/D,CAAC;aACF,CAAC,CAAC;YAEH,kEAAkE;YAClE,qBAAqB;YACrB,kEAAkE;YAElE,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE;gBACvC,OAAO,CAAC,MAAqB,EAAE,OAAiB;oBAC9C,MAAM,CAAC,GAAG,OAAwC,CAAC;oBACnD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;wBAAE,OAAO;oBAE1B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;oBACxD,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC7E,IAAI,CAAC,KAAK;wBAAE,OAAO;oBAEnB,MAAM,QAAQ,GAA4B,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3D,IAAI,CAAC,CAAC,KAAK;wBAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBAEtC,MAAM,CAAC,QAAQ,CAAC;wBACd,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAED,UAAU,CAAC,MAAqB;oBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CACnC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACpC,CAAC;oBACF,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;gBAC/D,CAAC;aACF,CAAC,CAAC;YAEH,kEAAkE;YAClE,qBAAqB;YACrB,kEAAkE;YAElE,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE;gBACxC,OAAO,CAAC,MAAqB;oBAC3B,IAAI,CAAC,cAAc;wBAAE,OAAO;oBAE5B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CACnC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACpC,CAAC;oBACF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAqC,CAAC;oBAE7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACvE,gDAAgD;wBAChD,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,kCAAkC;wBAClC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,UAAU,CAAC,OAAsB;oBAC/B,OAAO,cAAc,KAAK,IAAI,CAAC;gBACjC,CAAC;aACF,CAAC,CAAC;YAEH,kEAAkE;YAClE,6CAA6C;YAC7C,kEAAkE;YAElE,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;KACF,CAAC;IAEF,OAAO;QACL,MAAM;QAEN,MAAM,CAAC,MAAiB,EAAE,QAA4B;YACpD,cAAc,GAAG,QAAQ,CAAC;YAE1B,OAAO;gBACL,OAAO;oBACL,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,gBAAgB,EAAE,CAAC,MAAM,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"link-plugin.js","sourceRoot":"","sources":["../../src/plugins/link-plugin.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,37 @@ export declare function toggleMark(engine: IEditorEngine, markType: string, mark
63
63
  * ```
64
64
  */
65
65
  export declare function isMarkActiveAtSelection(engine: IEditorEngine, markType: string): boolean;
66
+ /**
67
+ * Result of querying a parameterized mark value at the current selection.
68
+ */
69
+ export interface MarkValueResult {
70
+ /** The mark value, or `undefined` if the mark is not present. */
71
+ readonly value: unknown;
72
+ /** `true` when the selection spans text with different values for this mark. */
73
+ readonly isMixed: boolean;
74
+ }
75
+ /**
76
+ * Get the current value of a parameterized mark at the cursor or selection.
77
+ *
78
+ * Checks pending marks first (they override document state). For a collapsed
79
+ * cursor, reads the mark at the cursor offset. For a range selection, checks
80
+ * whether the mark is common (uniform) or mixed across the range.
81
+ *
82
+ * @param engine - The editor engine instance
83
+ * @param markType - The mark type to query (e.g., "color", "fontSize", "fontFamily")
84
+ * @returns The mark value and whether it's mixed across the selection
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * const { value, isMixed } = getMarkValueAtSelection(engine, 'color');
89
+ * if (isMixed) {
90
+ * // Show "—" or indeterminate state in picker
91
+ * } else if (value) {
92
+ * // Highlight the active color swatch
93
+ * }
94
+ * ```
95
+ */
96
+ export declare function getMarkValueAtSelection(engine: IEditorEngine, markType: string): MarkValueResult;
66
97
  /**
67
98
  * Create a `CommandDescriptor` that sets a parameterized mark value.
68
99
  *
@@ -1 +1 @@
1
- {"version":3,"file":"mark-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/mark-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAG5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAc,GACxB,iBAAiB,CAYnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAc,GACxB,OAAO,CAuBT;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAoBT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAC1C,iBAAiB,CA0BnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAyBnB;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmB1C;AA0ED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,EAC7C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAC5E,MAAM,CA2BR;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,EAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GAC5C,MAAM,CAoDR"}
1
+ {"version":3,"file":"mark-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/mark-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAG5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAc,GACxB,iBAAiB,CAYnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAc,GACxB,OAAO,CAuBT;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAoBT;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GACf,eAAe,CA2BjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAC1C,iBAAiB,CA0BnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAyBnB;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmB1C;AA0ED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,EAC7C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAC5E,MAAM,CA2BR;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,EAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GAC5C,MAAM,CAoDR"}