@owomark/core 0.1.6 → 0.1.8

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 (38) hide show
  1. package/README.md +30 -10
  2. package/dist/.build-manifest.json +131 -0
  3. package/dist/browser.d.ts +66 -0
  4. package/dist/browser.js +396 -0
  5. package/dist/chunk-3KTK7CSS.js +82 -0
  6. package/dist/chunk-5JNL3LHV.js +215 -0
  7. package/dist/chunk-ASRCHEFF.js +0 -0
  8. package/dist/chunk-BKJCBEI7.js +397 -0
  9. package/dist/chunk-CJSBFWKS.js +549 -0
  10. package/dist/chunk-OOH46GIF.js +95 -0
  11. package/dist/chunk-ROJILHRQ.js +192 -0
  12. package/dist/chunk-WFPUIPWU.js +34 -0
  13. package/dist/chunk-WVGCRIJO.js +5885 -0
  14. package/dist/chunk-WXVKSKP3.js +191 -0
  15. package/dist/chunk-YZYJIXGO.js +0 -0
  16. package/dist/editor-core-BSoeizSI.d.ts +249 -0
  17. package/dist/index.d.ts +77 -87
  18. package/dist/index.js +127 -248
  19. package/dist/internal/dom-adapter.d.ts +37 -1
  20. package/dist/internal/dom-adapter.js +9 -2
  21. package/dist/public-cCK3rvQc.d.ts +473 -0
  22. package/dist/registry-6IkGJsLt.d.ts +74 -0
  23. package/dist/semantic/components/index.d.ts +9 -0
  24. package/dist/semantic/components/index.js +11 -0
  25. package/dist/semantic/editor/index.d.ts +9 -0
  26. package/dist/semantic/editor/index.js +13 -0
  27. package/dist/semantic/index.d.ts +7 -0
  28. package/dist/semantic/index.js +106 -0
  29. package/dist/semantic/runtime/index.d.ts +9 -0
  30. package/dist/semantic/runtime/index.js +13 -0
  31. package/dist/semantic/shared/index.d.ts +10 -0
  32. package/dist/semantic/shared/index.js +17 -0
  33. package/dist/semantic/syntax/index.d.ts +151 -0
  34. package/dist/semantic/syntax/index.js +63 -0
  35. package/dist/types-BdOo-u1R.d.ts +83 -0
  36. package/package.json +29 -1
  37. package/dist/chunk-6CBUAORJ.js +0 -3337
  38. package/dist/dom-adapter-C8wuoffZ.d.ts +0 -471
@@ -1,471 +0,0 @@
1
- /** A position within a specific block. */
2
- type VirtualPosition = {
3
- blockId: string;
4
- offset: number;
5
- };
6
- /** A selection expressed as two virtual positions. */
7
- type VirtualSelection = {
8
- anchor: VirtualPosition;
9
- focus: VirtualPosition;
10
- };
11
- /** Convert a linear character offset to a VirtualPosition. */
12
- declare function linearToVirtualPosition(doc: OwoMarkDocument, linearOffset: number): VirtualPosition;
13
- /** Convert a linear OwoMarkSelection to a VirtualSelection. */
14
- declare function linearToVirtual(doc: OwoMarkDocument, selection: OwoMarkSelection): VirtualSelection;
15
- /** Convert a VirtualPosition to a linear character offset. */
16
- declare function virtualPositionToLinear(doc: OwoMarkDocument, vpos: VirtualPosition): number;
17
- /** Convert a VirtualSelection to a linear OwoMarkSelection. */
18
- declare function virtualToLinear(doc: OwoMarkDocument, vsel: VirtualSelection): OwoMarkSelection;
19
- /** Check if two virtual positions point to the same location. */
20
- declare function virtualPositionsEqual(a: VirtualPosition, b: VirtualPosition): boolean;
21
- /** Check if a virtual selection is collapsed (cursor, no range). */
22
- declare function isVirtualSelectionCollapsed(vsel: VirtualSelection): boolean;
23
- /** Get the block index for a VirtualPosition, or -1 if not found. */
24
- declare function getBlockIndexForPosition(doc: OwoMarkDocument, vpos: VirtualPosition): number;
25
-
26
- type BlockType = 'paragraph' | 'heading' | 'unordered-list' | 'ordered-list' | 'blockquote' | 'code-fence' | 'directive-container' | 'thematic-break' | 'math-block' | 'table';
27
- type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
28
- type Leaf = {
29
- text: string;
30
- };
31
- type DecoratorType = InlineTokenType;
32
- type Decorator = {
33
- type: DecoratorType;
34
- style?: string;
35
- leaves: Leaf[];
36
- };
37
- type BlockBase = {
38
- raw: string;
39
- id: string;
40
- depth: number;
41
- decorators: Decorator[];
42
- };
43
- type BlockNode = (BlockBase & {
44
- type: 'heading';
45
- headingLevel: HeadingLevel;
46
- }) | (BlockBase & {
47
- type: 'code-fence';
48
- language: string;
49
- isFenceBoundary?: boolean;
50
- }) | (BlockBase & {
51
- type: 'directive-container';
52
- directiveName: string;
53
- }) | (BlockBase & {
54
- type: 'math-block';
55
- }) | (BlockBase & {
56
- type: 'table';
57
- }) | (BlockBase & {
58
- type: 'paragraph' | 'unordered-list' | 'ordered-list' | 'blockquote' | 'thematic-break';
59
- });
60
- type OwoMarkDocument = {
61
- blocks: BlockNode[];
62
- };
63
- type OwoMarkSelection = {
64
- anchor: number;
65
- focus: number;
66
- };
67
- type CompositionState = {
68
- active: boolean;
69
- range: VirtualSelection | null;
70
- };
71
- declare const INLINE_TOKEN_TYPES: readonly ["text", "strong-marker", "strong", "emphasis-marker", "emphasis", "code-marker", "code", "link-bracket", "link-text", "link-url", "image-marker", "image-alt", "image-url", "heading-marker", "list-marker", "task-marker", "task-marker-checked", "table-separator", "blockquote-marker", "fence-marker", "fence-lang", "code-block-text", "strikethrough-marker", "strikethrough", "math-marker", "math-text", "hr", "html"];
72
- type InlineTokenType = (typeof INLINE_TOKEN_TYPES)[number];
73
- declare const CLASSLESS_INLINE_TOKEN_TYPES: readonly ["text"];
74
- type InlineToken = {
75
- type: InlineTokenType;
76
- text: string;
77
- start: number;
78
- end: number;
79
- };
80
- /**
81
- * Extended block type for host consumption.
82
- * Derived from BlockType — remaps code-fence to code-block
83
- * and adds empty for blank paragraphs.
84
- */
85
- type BlockContextType = Exclude<BlockType, 'code-fence'> | 'code-block' | 'empty';
86
- /**
87
- * Rich block context at the current cursor position.
88
- * Hosts consume this instead of implementing their own block identification.
89
- */
90
- type BlockContext = {
91
- /** High-level block category at cursor */
92
- type: BlockContextType;
93
- /** Heading level (1-6) when type is 'heading' */
94
- headingLevel?: HeadingLevel;
95
- /** Code fence language when type is 'code-block' */
96
- language?: string;
97
- /** Nesting depth (lists, blockquotes) */
98
- depth: number;
99
- /** Block index in document */
100
- blockIndex: number;
101
- /** Stable block ID */
102
- blockId: string;
103
- };
104
- type BlockContextListener = (context: BlockContext) => void;
105
- /**
106
- * Block types that can be inserted via toolbar or command palette.
107
- * Maps directly to dispatch command IDs.
108
- */
109
- type BlockInsertType = 'code-fence' | 'blockquote' | 'math' | 'table' | 'image' | 'thematic-break';
110
- type OwoMarkCommands = {
111
- focus(): void;
112
- undo(): void;
113
- redo(): void;
114
- toggleBold(): void;
115
- toggleItalic(): void;
116
- insertLink(url?: string): void;
117
- insertCodeFence(language?: string): void;
118
- insertMath(): void;
119
- insertSideAnnotation(type?: string): void;
120
- getMarkdown(): string;
121
- setMarkdown(markdown: string): void;
122
- /** Replace markdown with explicit selection target and undo support. */
123
- replaceMarkdown(markdown: string, selection: OwoMarkSelection): void;
124
- };
125
- type DirtyRange = {
126
- startBlock: number;
127
- endBlock: number;
128
- };
129
- type PreviewBlockKind = 'paragraph' | 'heading' | 'unordered-list' | 'ordered-list' | 'blockquote' | 'code-fence' | 'thematic-break' | 'table' | 'math-block' | 'html-block' | 'custom';
130
- type JsonPrimitive = string | number | boolean | null;
131
- type JsonValue = JsonPrimitive | JsonValue[] | {
132
- [key: string]: JsonValue;
133
- };
134
- type PreviewBlock = {
135
- /**
136
- * Content-based identity: `{renderKey}#{occurrenceIndex}`.
137
- * Stable across blank line edits — only changes when block content changes.
138
- * Used as the DOM wrapper lifecycle key by the virtual preview engine.
139
- * For line-range positional mapping (scroll sync), use startLine/endLine.
140
- */
141
- blockId: string;
142
- kind: PreviewBlockKind;
143
- raw: string;
144
- startLine: number;
145
- endLine: number;
146
- renderKey: string;
147
- language?: string | null;
148
- headingLevel?: HeadingLevel;
149
- attributes?: Record<string, JsonValue>;
150
- };
151
- /**
152
- * A block transform enriches PreviewBlocks during projection.
153
- *
154
- * Transforms run in `projectToPreviewBlocks` — the single source of truth
155
- * for both preview rendering and static build. This guarantees identical
156
- * block output in both pipelines.
157
- *
158
- * Examples: image size extraction, custom block attribute injection.
159
- */
160
- type BlockTransform = (block: PreviewBlock) => PreviewBlock;
161
- type PreviewDirtyReason = 'text-edit' | 'structure-edit' | 'theme-change' | 'renderer-change' | 'custom-block-change' | 'full-rebuild';
162
- type OwoMarkSharedState = {
163
- document: OwoMarkDocument;
164
- previewBlocks: PreviewBlock[];
165
- dirtyRange: DirtyRange | null;
166
- dirtyReason: PreviewDirtyReason | null;
167
- selection: OwoMarkSelection | null;
168
- compositionActive: boolean;
169
- visibleBlockIds: string[];
170
- version: number;
171
- markdown: string;
172
- };
173
- type OwoMarkSharedStateStore = {
174
- getState(): OwoMarkSharedState;
175
- subscribe(listener: (state: OwoMarkSharedState) => void): () => void;
176
- };
177
- /**
178
- * Minimal interface for connecting to shared state.
179
- * Both OwoMarkCore and OwoMarkEditorInstance satisfy this.
180
- */
181
- type OwoMarkEditorLike = {
182
- getMarkdown(): string;
183
- setMarkdown(markdown: string): void;
184
- onChange(callback: (markdown: string) => void): () => void;
185
- onSelectionChange(callback: (selection: OwoMarkSelection) => void): () => void;
186
- onCompositionStateChange(callback: (active: boolean) => void): () => void;
187
- };
188
- type OwoMarkSharedStateController = OwoMarkSharedStateStore & {
189
- setMarkdown(markdown: string): void;
190
- updateVisibleBlockIds(ids: string[]): void;
191
- getEditorInstance(): OwoMarkEditorLike | null;
192
- connectEditor(instance: OwoMarkEditorLike): () => void;
193
- /** Change theme key, re-derive all renderKeys, and emit 'theme-change'. */
194
- setThemeKey(themeKey: string): void;
195
- /** Signal that the host renderer pipeline changed. Invalidates all blocks. */
196
- notifyRendererChange(): void;
197
- /** Signal that a custom block plugin changed. Invalidates all blocks. */
198
- notifyCustomBlockChange(): void;
199
- };
200
- type HistoryEntry = {
201
- markdown: string;
202
- selection: OwoMarkSelection;
203
- };
204
- type OwoMarkEditorInstance = {
205
- mount(root: HTMLElement): void;
206
- destroy(): void;
207
- getMarkdown(): string;
208
- setMarkdown(markdown: string): void;
209
- replaceMarkdown(markdown: string, selection: OwoMarkSelection): void;
210
- getSelection(): OwoMarkSelection | null;
211
- /** Return the current immutable document model. */
212
- getDocument(): OwoMarkDocument;
213
- focus(): void;
214
- dispatch(command: string, payload?: unknown): void;
215
- setIndentMode(mode: 'auto' | '2' | '4'): void;
216
- onChange(callback: (markdown: string) => void): () => void;
217
- onSelectionChange(callback: (selection: OwoMarkSelection) => void): () => void;
218
- onCompositionStateChange(callback: (active: boolean) => void): () => void;
219
- /**
220
- * Register a document change callback.
221
- * When registered, the editor enters "sovereign mode": it no longer
222
- * renders DOM directly — the view layer is responsible for rendering.
223
- * Selection is passed as VirtualSelection (blockId + offset pairs).
224
- */
225
- onDocumentChange(callback: (doc: OwoMarkDocument, selection: VirtualSelection) => void): () => void;
226
- };
227
-
228
- type CoreSelectionSnapshot = {
229
- linear: OwoMarkSelection | null;
230
- virtual: VirtualSelection | null;
231
- };
232
- type CoreStateSnapshot = {
233
- markdown: string;
234
- document: OwoMarkDocument;
235
- selection: CoreSelectionSnapshot;
236
- composition: CompositionState;
237
- };
238
- type BeforeInputIntent = {
239
- inputType: string;
240
- data: string | null;
241
- };
242
- type KeyDownIntent = {
243
- key: string;
244
- ctrlKey: boolean;
245
- metaKey: boolean;
246
- altKey: boolean;
247
- shiftKey: boolean;
248
- };
249
- type PasteIntent = {
250
- text: string;
251
- };
252
- type CoreApplyAction = 'handled' | 'allow-native' | 'composition-sync';
253
- type CoreApplyResult = {
254
- action: CoreApplyAction;
255
- snapshot: CoreStateSnapshot;
256
- };
257
-
258
- /**
259
- * Tab indent handling for code fences.
260
- * Migrated from admin-editor-indent.ts — pure function.
261
- */
262
- type IndentMode = 'auto' | '2' | '4';
263
- type IndentResult = {
264
- handled: boolean;
265
- value: string;
266
- selectionStart: number;
267
- selectionEnd: number;
268
- indentSize: number;
269
- language: string;
270
- };
271
- declare function resolveIndentSize(language: string, mode: IndentMode): number;
272
- declare function applyMarkdownIndent(params: {
273
- text: string;
274
- selectionStart: number;
275
- selectionEnd: number;
276
- shiftKey: boolean;
277
- mode: IndentMode;
278
- }): IndentResult;
279
-
280
- type CommandDefinition = {
281
- /** Unique identifier, e.g. 'side-annotation', 'code-fence' */
282
- id: string;
283
- /** Display label for menu, e.g. 'Side Annotation' */
284
- label: string;
285
- /** Optional description shown in menu subtitle */
286
- description?: string;
287
- /** Keywords for substring matching (e.g. ['brace', 'margin', 'note']) */
288
- keywords?: string[];
289
- /** Icon identifier or inline SVG string */
290
- icon?: string;
291
- /** Keyboard shortcut (informational, binding is separate) */
292
- shortcut?: string;
293
- /** Menu category for grouping (e.g. 'basic', 'insert', 'format') */
294
- category?: string;
295
- /** Sort priority within category (lower = higher in list, default 100) */
296
- priority?: number;
297
- /** Whether this command appears in the slash menu (default: true) */
298
- slashMenu?: boolean;
299
- /** Predicate: can this command execute given current editor state? */
300
- canExecute?: (ctx: CommandContext) => boolean;
301
- /**
302
- * Execute the command. Supports sync and async.
303
- * Core awaits the Promise if returned; adapter may show loading indicator.
304
- */
305
- execute: (ctx: CommandContext, payload?: unknown) => void | Promise<void>;
306
- };
307
- type CommandContext = {
308
- /** Current full markdown text (/query already removed when invoked from slash menu) */
309
- text: string;
310
- /** Linear selection start offset */
311
- selectionStart: number;
312
- /** Linear selection end offset */
313
- selectionEnd: number;
314
- /** Low-level: apply a text + selection update to the document (atomic — single undo entry) */
315
- applyUpdate: (newText: string, selection: {
316
- anchor: number;
317
- focus: number;
318
- }) => void;
319
- /** Access to current document model (read-only) */
320
- document: OwoMarkDocument;
321
- /** Current block type at cursor */
322
- blockType: BlockType;
323
- /** Structural depth info for context-aware commands */
324
- blockDepth: number;
325
- /**
326
- * Slash trigger info (only present when invoked from slash menu).
327
- * Null when invoked via dispatch() or keyboard shortcut.
328
- */
329
- triggerInfo: SlashTriggerInfo | null;
330
- /** Feature flags from editor config */
331
- enableSideAnnotation: boolean;
332
- enableMath: boolean;
333
- /** Replace the /query trigger text with new content (cursor placed at end) */
334
- replaceTriggerText: (text: string) => void;
335
- /** Convert the current block to a different type by replacing its structural prefix */
336
- turnIntoBlock: (prefix: string) => void;
337
- /** Insert a new block below the current one */
338
- insertBlockBelow: (markdown: string) => void;
339
- /** Replace the current block with a temporary placeholder block and return its stable block ID. */
340
- insertPlaceholderBlock: (markdown: string) => string | null;
341
- /** Replace a block by its stable block ID. Returns false if the block no longer exists. */
342
- replaceBlockById: (blockId: string, markdown: string) => boolean;
343
- /** Remove a block by its stable block ID. Returns false if the block no longer exists. */
344
- removeBlockById: (blockId: string) => boolean;
345
- };
346
- type SlashTriggerInfo = {
347
- /** Position of '/' in the document */
348
- startOffset: number;
349
- /** Cursor position when command was selected */
350
- endOffset: number;
351
- /** Text typed after '/' (e.g. 'side' for '/side') */
352
- query: string;
353
- };
354
- type SlashState = {
355
- /** Whether the slash menu is currently open */
356
- active: boolean;
357
- /** Position of '/' in the document */
358
- triggerOffset: number;
359
- /** Characters typed after '/' */
360
- query: string;
361
- /** Keyboard-navigated highlight index */
362
- selectedIndex: number;
363
- /** registry.search(query) result (readonly — consumers must not mutate) */
364
- filteredCommands: readonly CommandDefinition[];
365
- /** True while async command is executing */
366
- pending: boolean;
367
- };
368
- type CommandRegistry = {
369
- register(def: CommandDefinition): () => void;
370
- unregister(id: string): void;
371
- get(id: string): CommandDefinition | undefined;
372
- getAll(): CommandDefinition[];
373
- /** Filter commands matching a query string (for slash menu) */
374
- search(query: string): CommandDefinition[];
375
- };
376
- type SlashStateListener = (state: SlashState) => void;
377
-
378
- /**
379
- * Pure logic editor core. Owns document, history, selection, composition,
380
- * and input interpretation. No DOM dependency.
381
- *
382
- * Adapters (React / Vanilla) call Core input methods and subscribe to
383
- * state changes. Core never reads or writes DOM.
384
- */
385
-
386
- /** Callback for sovereign mode: View layer subscribes to Model changes. */
387
- type DocumentChangeCallback = (doc: OwoMarkDocument, selection: VirtualSelection) => void;
388
- type OwoMarkCore = {
389
- getSnapshot(): CoreStateSnapshot;
390
- getMarkdown(): string;
391
- getSelection(): OwoMarkSelection | null;
392
- getDocument(): OwoMarkDocument;
393
- getVirtualSelection(): VirtualSelection | null;
394
- getComposition(): CompositionState;
395
- setMarkdown(markdown: string): void;
396
- replaceMarkdown(markdown: string, selection: OwoMarkSelection): void;
397
- dispatch(command: string, payload?: unknown): void;
398
- setIndentMode(mode: IndentMode): void;
399
- setEnableSideAnnotation(enabled: boolean): void;
400
- setEnableMath(enabled: boolean): void;
401
- /**
402
- * Apply a document update from an external source (e.g. DOM sync after
403
- * unknown inputType or composition end). Core reconciles, updates state,
404
- * and emits changes.
405
- */
406
- syncText(text: string, selection: OwoMarkSelection | null): void;
407
- applyBeforeInput(intent: BeforeInputIntent, selection: OwoMarkSelection | null): CoreApplyResult;
408
- applyKeyDown(intent: KeyDownIntent, selection: OwoMarkSelection | null): CoreApplyResult;
409
- applyPaste(intent: PasteIntent, selection: OwoMarkSelection | null): CoreApplyResult;
410
- handleCompositionStart(selection: OwoMarkSelection | null): void;
411
- handleCompositionUpdate(): void;
412
- handleCompositionEnd(selection: OwoMarkSelection | null, fallbackText?: string | null): CoreApplyResult;
413
- updateSelection(selection: OwoMarkSelection): void;
414
- /** Get the block context at the current cursor position. */
415
- getBlockContext(): BlockContext;
416
- /**
417
- * Insert a block template at the current cursor position.
418
- * Unified entry point for toolbar / command palette.
419
- */
420
- insertBlock(type: BlockInsertType, options?: {
421
- language?: string;
422
- }): void;
423
- getCommandRegistry(): CommandRegistry;
424
- getSlashState(): SlashState;
425
- /** Register a custom command. Returns unregister function. */
426
- registerCommand(def: CommandDefinition): () => void;
427
- /** Execute a slash command by index in filtered list (for menu click/enter). */
428
- executeSlashCommand(index: number): void;
429
- /** Dismiss the slash menu without executing. */
430
- dismissSlashMenu(): void;
431
- onChange(callback: (markdown: string) => void): () => void;
432
- onSelectionChange(callback: (selection: OwoMarkSelection) => void): () => void;
433
- onCompositionStateChange(callback: (active: boolean) => void): () => void;
434
- onStateChange(callback: (snapshot: CoreStateSnapshot) => void): () => void;
435
- onSlashStateChange(callback: SlashStateListener): () => void;
436
- /** Subscribe to block context changes (fires on selection or document change). */
437
- onBlockContextChange(callback: BlockContextListener): () => void;
438
- /**
439
- * Register a document change callback (sovereign mode).
440
- * When registered, adapters should render declaratively from the document.
441
- */
442
- onDocumentChange(callback: DocumentChangeCallback): () => void;
443
- /** Dispose timers and internal state. */
444
- destroy(): void;
445
- };
446
- type CreateOwoMarkCoreOptions = {
447
- initialMarkdown?: string;
448
- indentMode?: IndentMode;
449
- /** Enable side annotation Enter-continuation. Defaults to true. */
450
- enableSideAnnotation?: boolean;
451
- /** Enable math slash command visibility. Defaults to true. */
452
- enableMath?: boolean;
453
- };
454
- declare function createOwoMarkCore(options?: CreateOwoMarkCoreOptions): OwoMarkCore;
455
-
456
- /**
457
- * Shared DOM adapter factory.
458
- *
459
- * Contains the full DOM event binding, imperative rendering, and
460
- * selection management logic. Consumed by `@owomark/view`.
461
- *
462
- * @internal Not part of the public API — consumed only by adapter wrappers.
463
- */
464
-
465
- type DomAdapterInstance = OwoMarkEditorInstance & {
466
- /** Internal escape hatch for @owomark/view wrappers. */
467
- getCore(): OwoMarkCore;
468
- };
469
- declare function createDomAdapter(): DomAdapterInstance;
470
-
471
- export { createOwoMarkCore as $, type IndentMode as A, type BlockNode as B, type CoreStateSnapshot as C, type DirtyRange as D, type IndentResult as E, type JsonValue as F, type OwoMarkCommands as G, type HeadingLevel as H, type InlineToken as I, type JsonPrimitive as J, type KeyDownIntent as K, type Leaf as L, type OwoMarkCore as M, type OwoMarkEditorInstance as N, type OwoMarkSelection as O, type PreviewBlockKind as P, type OwoMarkEditorLike as Q, type OwoMarkSharedState as R, type SlashState as S, type OwoMarkSharedStateStore as T, type PasteIntent as U, type PreviewDirtyReason as V, type SlashStateListener as W, type SlashTriggerInfo as X, type VirtualPosition as Y, type VirtualSelection as Z, applyMarkdownIndent as _, type BlockContextType as a, getBlockIndexForPosition as a0, isVirtualSelectionCollapsed as a1, linearToVirtual as a2, linearToVirtualPosition as a3, resolveIndentSize as a4, virtualPositionToLinear as a5, virtualPositionsEqual as a6, virtualToLinear as a7, createDomAdapter as a8, type CommandRegistry as b, type OwoMarkDocument as c, type PreviewBlock as d, type BlockTransform as e, type OwoMarkSharedStateController as f, type InlineTokenType as g, type BeforeInputIntent as h, type BlockContext as i, type BlockContextListener as j, type BlockInsertType as k, type BlockType as l, CLASSLESS_INLINE_TOKEN_TYPES as m, type CommandContext as n, type CommandDefinition as o, type CompositionState as p, type CoreApplyAction as q, type CoreApplyResult as r, type CoreSelectionSnapshot as s, type CreateOwoMarkCoreOptions as t, type Decorator as u, type DecoratorType as v, type DocumentChangeCallback as w, type DomAdapterInstance as x, type HistoryEntry as y, INLINE_TOKEN_TYPES as z };