@voithos-labs/aragonite 0.10.3 → 0.10.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/a11y-strings.d.ts +12 -5
- package/dist/a11y-strings.js +61 -5
- package/dist/action-contracts.d.ts +242 -155
- package/dist/action-contracts.js +2 -2
- package/dist/active-editor.d.ts +3 -3
- package/dist/active-editor.js +8 -9
- package/dist/ambient/ambient-dom.d.ts +2 -5
- package/dist/ambient/ambient-dom.js +16 -62
- package/dist/assert.js +6 -5
- package/dist/block-component.d.ts +135 -109
- package/dist/block-component.js +30 -22
- package/dist/block-id.d.ts +6 -10
- package/dist/block-id.js +25 -14
- package/dist/bounded-memo.d.ts +5 -5
- package/dist/bounded-memo.js +6 -6
- package/dist/components/BlockDragHandle.svelte +13 -20
- package/dist/components/BlockHost.svelte +56 -134
- package/dist/components/BlockList.svelte +22 -19
- package/dist/components/DecorationOverlay.svelte +9 -10
- package/dist/components/DecorationOverlay.svelte.d.ts +2 -2
- package/dist/components/Editor.svelte +619 -1089
- package/dist/components/Editor.svelte.d.ts +9 -20
- package/dist/components/GapCaret.svelte +26 -59
- package/dist/components/SelectionOverlay.svelte +36 -67
- package/dist/components/SelectionOverlay.svelte.d.ts +6 -4
- package/dist/components/TailInsert.svelte +8 -55
- package/dist/components/TailInsert.svelte.d.ts +4 -6
- package/dist/components/block-content-selector.d.ts +11 -11
- package/dist/components/block-content-selector.js +11 -11
- package/dist/components/block-el-lookup.d.ts +6 -0
- package/dist/components/block-el-lookup.js +27 -0
- package/dist/components/blocks/BlockquoteBlock.svelte +3 -3
- package/dist/components/blocks/ThematicBreakBlock.svelte +22 -63
- package/dist/components/blocks/ThematicBreakBlock.svelte.d.ts +0 -2
- package/dist/components/blocks/code/CodeBlock.svelte +255 -276
- package/dist/components/blocks/code/CodeBlock.svelte.d.ts +2 -3
- package/dist/components/blocks/code/CodeBlockRail.svelte +103 -100
- package/dist/components/blocks/code/CodeBlockRail.svelte.d.ts +9 -4
- package/dist/components/blocks/code/code-beforeinput.d.ts +1 -1
- package/dist/components/blocks/code/code-bootstrap.d.ts +3 -5
- package/dist/components/blocks/code/code-bootstrap.js +35 -28
- package/dist/components/blocks/code/code-context-actions.js +5 -4
- package/dist/components/blocks/code/code-enter.js +2 -2
- package/dist/components/blocks/code/code-fence-boundary.d.ts +29 -46
- package/dist/components/blocks/code/code-fence-boundary.js +40 -66
- package/dist/components/blocks/code/code-fence-exit.d.ts +6 -11
- package/dist/components/blocks/code/code-fence-exit.js +24 -25
- package/dist/components/blocks/code/code-indent.d.ts +2 -2
- package/dist/components/blocks/code/code-indent.js +4 -7
- package/dist/components/blocks/code/code-languages.d.ts +16 -12
- package/dist/components/blocks/code/code-languages.js +58 -32
- package/dist/components/blocks/code/code-paste-surface.d.ts +3 -2
- package/dist/components/blocks/code/code-paste-surface.js +9 -18
- package/dist/components/blocks/code/code-renderer.d.ts +21 -5
- package/dist/components/blocks/code/code-renderer.js +90 -125
- package/dist/components/blocks/directive/DirectiveContainerBlock.svelte +5 -8
- package/dist/components/blocks/directive/activate-directives.d.ts +4 -4
- package/dist/components/blocks/directive/activate-directives.js +18 -13
- package/dist/components/blocks/editable-leaf.d.ts +50 -74
- package/dist/components/blocks/editable-leaf.js +144 -202
- package/dist/components/blocks/editable-surface.d.ts +96 -100
- package/dist/components/blocks/editable-surface.js +101 -109
- package/dist/components/blocks/list/ListBlock.svelte +46 -90
- package/dist/components/blocks/list/ListItemBlock.svelte +99 -144
- package/dist/components/blocks/list/ListItemBlock.svelte.d.ts +3 -0
- package/dist/components/blocks/list/task-checkbox.d.ts +5 -2
- package/dist/components/blocks/list/task-checkbox.js +12 -7
- package/dist/components/blocks/plain-text-backend.d.ts +4 -20
- package/dist/components/blocks/plain-text-backend.js +9 -43
- package/dist/components/blocks/surface-wiring.svelte.d.ts +8 -9
- package/dist/components/blocks/surface-wiring.svelte.js +15 -34
- package/dist/components/blocks/table/TableActionMenu.svelte +19 -18
- package/dist/components/blocks/table/TableActionMenu.svelte.d.ts +3 -1
- package/dist/components/blocks/table/TableBlock.svelte +100 -165
- package/dist/components/blocks/table/TableBlock.svelte.d.ts +3 -3
- package/dist/components/blocks/table/TableCellBlock.svelte +307 -385
- package/dist/components/blocks/table/TableCellBlock.svelte.d.ts +1 -0
- package/dist/components/blocks/table/TableRowBlock.svelte +60 -104
- package/dist/components/blocks/table/TableRowBlock.svelte.d.ts +0 -1
- package/dist/components/blocks/table/cell-keydown-plan.d.ts +4 -9
- package/dist/components/blocks/table/cell-keydown-plan.js +8 -12
- package/dist/components/blocks/table/cell-pointer.d.ts +18 -23
- package/dist/components/blocks/table/cell-pointer.js +49 -71
- package/dist/components/blocks/table/cell-render.d.ts +24 -29
- package/dist/components/blocks/table/cell-render.js +29 -31
- package/dist/components/blocks/table/selected-cells.d.ts +7 -7
- package/dist/components/blocks/table/selected-cells.js +9 -13
- package/dist/components/blocks/table/table-caret-at-point.d.ts +4 -4
- package/dist/components/blocks/table/table-caret-at-point.js +5 -5
- package/dist/components/blocks/table/table-cell-paste.d.ts +5 -11
- package/dist/components/blocks/table/table-cell-paste.js +27 -43
- package/dist/components/blocks/table/table-drag-hit-test.js +2 -1
- package/dist/components/blocks/table/table-menu-model.d.ts +4 -8
- package/dist/components/blocks/table/table-menu-model.js +6 -10
- package/dist/components/blocks/table/table-navigation.js +2 -2
- package/dist/components/blocks/text/TextEditableBlock.svelte +392 -310
- package/dist/components/blocks/text/TextEditableBlock.svelte.d.ts +2 -1
- package/dist/components/blocks/text/auto-pair-record.d.ts +23 -0
- package/dist/components/blocks/text/auto-pair-record.js +51 -0
- package/dist/components/blocks/text/click-snap-guard.d.ts +9 -4
- package/dist/components/blocks/text/click-snap-guard.js +16 -5
- package/dist/components/blocks/text/composition-seat.d.ts +17 -14
- package/dist/components/blocks/text/composition-seat.js +11 -11
- package/dist/components/blocks/text/construct-edge-delete.d.ts +20 -20
- package/dist/components/blocks/text/construct-edge-delete.js +50 -65
- package/dist/components/blocks/text/construct-reveal.d.ts +16 -21
- package/dist/components/blocks/text/construct-reveal.js +13 -14
- package/dist/components/blocks/text/delimiter-autopair.d.ts +51 -34
- package/dist/components/blocks/text/delimiter-autopair.js +87 -103
- package/dist/components/blocks/text/edge-policy-dispatch.d.ts +44 -46
- package/dist/components/blocks/text/edge-policy-dispatch.js +164 -180
- package/dist/components/blocks/text/edge-seat.d.ts +17 -26
- package/dist/components/blocks/text/edge-seat.js +43 -70
- package/dist/components/blocks/text/link-at-point.d.ts +9 -9
- package/dist/components/blocks/text/link-at-point.js +12 -15
- package/dist/components/blocks/text/live-join-seam.d.ts +6 -9
- package/dist/components/blocks/text/live-join-seam.js +75 -112
- package/dist/components/blocks/text/live-selection-edit.d.ts +14 -43
- package/dist/components/blocks/text/live-selection-edit.js +32 -105
- package/dist/components/blocks/text/live-split-rebalance.d.ts +9 -13
- package/dist/components/blocks/text/live-split-rebalance.js +50 -67
- package/dist/components/blocks/text/marker-completion.d.ts +7 -12
- package/dist/components/blocks/text/marker-completion.js +17 -10
- package/dist/components/blocks/text/pending-mark-insert.d.ts +11 -18
- package/dist/components/blocks/text/pending-mark-insert.js +30 -49
- package/dist/components/blocks/text/screen-diff.d.ts +5 -15
- package/dist/components/blocks/text/screen-diff.js +5 -19
- package/dist/components/blocks/text/text-clipboard.d.ts +23 -32
- package/dist/components/blocks/text/text-clipboard.js +27 -32
- package/dist/components/blocks/text/text-keydown.d.ts +20 -30
- package/dist/components/blocks/text/text-keydown.js +54 -51
- package/dist/components/blocks/text/text-render.d.ts +25 -35
- package/dist/components/blocks/text/text-render.js +82 -61
- package/dist/components/blocks/text/widget-adjacency.d.ts +9 -9
- package/dist/components/blocks/text/widget-adjacency.js +17 -17
- package/dist/components/blocks/text/widget-interaction.d.ts +67 -43
- package/dist/components/blocks/text/widget-interaction.js +243 -208
- package/dist/components/blocks/widget-portal.d.ts +20 -29
- package/dist/components/blocks/widget-portal.js +16 -14
- package/dist/components/built-in-blocks.d.ts +3 -4
- package/dist/components/built-in-blocks.js +17 -18
- package/dist/components/drag-handle.d.ts +13 -30
- package/dist/components/drag-handle.js +25 -63
- package/dist/components/editor-built-ins.d.ts +1 -0
- package/dist/components/editor-built-ins.js +16 -0
- package/dist/components/editor-root-clipboard.d.ts +6 -6
- package/dist/components/editor-root-clipboard.js +16 -27
- package/dist/components/editor-root-document-swap.d.ts +49 -0
- package/dist/components/editor-root-document-swap.js +54 -0
- package/dist/components/editor-root-focus.d.ts +5 -4
- package/dist/components/editor-root-focus.js +51 -22
- package/dist/components/editor-root-focused-surface.d.ts +35 -0
- package/dist/components/editor-root-focused-surface.js +65 -0
- package/dist/components/editor-root-geometry.d.ts +15 -24
- package/dist/components/editor-root-geometry.js +27 -31
- package/dist/components/editor-root-gestures.d.ts +39 -0
- package/dist/components/editor-root-gestures.js +189 -0
- package/dist/components/editor-root-keydown.d.ts +10 -25
- package/dist/components/editor-root-keydown.js +19 -43
- package/dist/components/editor-root-listeners.d.ts +22 -31
- package/dist/components/editor-root-listeners.js +49 -46
- package/dist/components/editor-root-menus.d.ts +51 -0
- package/dist/components/editor-root-menus.js +147 -0
- package/dist/components/editor-root-mode-flip.d.ts +16 -11
- package/dist/components/editor-root-mode-flip.js +36 -34
- package/dist/components/editor-root-scroll-host.d.ts +22 -0
- package/dist/components/editor-root-scroll-host.js +34 -0
- package/dist/components/editor-root-test-surface.d.ts +48 -0
- package/dist/components/editor-root-test-surface.js +6 -0
- package/dist/components/image/ImageOverlayHost.svelte +44 -35
- package/dist/components/image/ImageOverlayHost.svelte.d.ts +5 -6
- package/dist/components/image/ImageProperties.svelte +37 -41
- package/dist/components/image/ImageProperties.svelte.d.ts +9 -4
- package/dist/components/image/ImageResizeHandles.svelte +26 -30
- package/dist/components/image/image-crop.d.ts +5 -11
- package/dist/components/image/image-crop.js +5 -11
- package/dist/components/image/image-edit-commit.d.ts +19 -16
- package/dist/components/image/image-edit-commit.js +74 -38
- package/dist/components/image/image-resize.d.ts +2 -5
- package/dist/components/image/image-resize.js +3 -6
- package/dist/components/image/image-widget-editing.d.ts +3 -3
- package/dist/components/image/image-widget-editing.js +9 -9
- package/dist/components/image/widget-dom.d.ts +2 -3
- package/dist/components/image/widget-dom.js +19 -24
- package/dist/components/image/widget-selection-state.svelte.d.ts +10 -11
- package/dist/components/image/widget-selection-state.svelte.js +26 -19
- package/dist/components/kind-cue.svelte.d.ts +21 -0
- package/dist/components/kind-cue.svelte.js +35 -0
- package/dist/components/link-card/LinkCard.svelte +115 -64
- package/dist/components/link-card/LinkCard.svelte.d.ts +7 -5
- package/dist/components/link-card/LinkCardHost.svelte +42 -33
- package/dist/components/link-card/LinkCardHost.svelte.d.ts +10 -8
- package/dist/components/link-card/link-card-commit.d.ts +16 -19
- package/dist/components/link-card/link-card-commit.js +21 -30
- package/dist/components/link-card/link-card-entry.d.ts +13 -23
- package/dist/components/link-card/link-card-entry.js +16 -24
- package/dist/components/link-card/link-card-state.svelte.d.ts +17 -21
- package/dist/components/link-card/link-card-state.svelte.js +2 -2
- package/dist/components/lrd-map-gate.d.ts +4 -11
- package/dist/components/lrd-map-gate.js +5 -11
- package/dist/components/menu/BlockMenu.svelte +20 -81
- package/dist/components/menu/BlockMenu.svelte.d.ts +11 -9
- package/dist/components/menu/InlineMenuHost.svelte +191 -0
- package/dist/components/menu/InlineMenuHost.svelte.d.ts +13 -0
- package/dist/components/menu/MenuIcon.svelte +3 -103
- package/dist/components/menu/MenuIcon.svelte.d.ts +2 -44
- package/dist/components/menu/SelectionToolbar.svelte +380 -0
- package/dist/components/menu/SelectionToolbar.svelte.d.ts +14 -0
- package/dist/components/menu/clipboard-actions.d.ts +3 -4
- package/dist/components/menu/clipboard-actions.js +3 -4
- package/dist/components/menu/default-context-actions.d.ts +4 -13
- package/dist/components/menu/default-context-actions.js +49 -67
- package/dist/components/menu/flyout-placement.d.ts +2 -2
- package/dist/components/menu/flyout-placement.js +2 -2
- package/dist/components/menu/menu-presence.svelte.d.ts +12 -0
- package/dist/components/menu/menu-presence.svelte.js +19 -0
- package/dist/components/paste-image-arm.d.ts +6 -11
- package/dist/components/paste-image-arm.js +11 -18
- package/dist/components/portal.d.ts +2 -5
- package/dist/components/portal.js +4 -7
- package/dist/core/directive/activate.d.ts +4 -5
- package/dist/core/directive/activate.js +8 -9
- package/dist/core/directive/container-opener.js +13 -12
- package/dist/core/directive/grammar.d.ts +2 -5
- package/dist/core/directive/grammar.js +10 -10
- package/dist/core/directive/kinds.d.ts +4 -7
- package/dist/core/directive/kinds.js +14 -16
- package/dist/core/directive/registry.d.ts +12 -9
- package/dist/core/directive/registry.js +19 -20
- package/dist/core/directive/text-recognizer.d.ts +3 -2
- package/dist/core/directive/text-recognizer.js +5 -9
- package/dist/core/escapable.d.ts +1 -5
- package/dist/core/escapable.js +1 -5
- package/dist/core/inline/backticks.d.ts +3 -4
- package/dist/core/inline/backticks.js +3 -4
- package/dist/core/inline/character-refs.js +2 -1
- package/dist/core/inline/destination-bytes.d.ts +6 -3
- package/dist/core/inline/destination-bytes.js +50 -8
- package/dist/core/inline/entity-widget.d.ts +4 -3
- package/dist/core/inline/entity-widget.js +6 -6
- package/dist/core/inline/format-toggle.d.ts +22 -28
- package/dist/core/inline/format-toggle.js +97 -129
- package/dist/core/inline/html-entities.d.ts +2 -3
- package/dist/core/inline/html-entities.js +2 -3
- package/dist/core/inline/html-tag-grammar.js +6 -2
- package/dist/core/inline/image-dimensions.d.ts +2 -0
- package/dist/core/inline/image-dimensions.js +19 -2
- package/dist/core/inline/image-source-bytes.d.ts +11 -0
- package/dist/core/inline/image-source-bytes.js +71 -0
- package/dist/core/inline/index.d.ts +28 -21
- package/dist/core/inline/index.js +56 -34
- package/dist/core/inline/inline-cache.d.ts +12 -15
- package/dist/core/inline/inline-cache.js +11 -14
- package/dist/core/inline/inline-widgets.d.ts +55 -68
- package/dist/core/inline/inline-widgets.js +55 -58
- package/dist/core/inline/link-destination.d.ts +31 -0
- package/dist/core/inline/link-destination.js +129 -0
- package/dist/core/inline/link-reference-resolver.d.ts +8 -6
- package/dist/core/inline/link-reference-resolver.js +10 -6
- package/dist/core/inline/link-source-bytes.d.ts +31 -0
- package/dist/{components/blocks/text → core/inline}/link-source-bytes.js +43 -54
- package/dist/core/inline/live-edit/read-back.d.ts +29 -0
- package/dist/core/inline/live-edit/read-back.js +50 -0
- package/dist/core/inline/picture.d.ts +10 -0
- package/dist/core/inline/picture.js +40 -0
- package/dist/core/inline/scan/autolinks.d.ts +7 -8
- package/dist/core/inline/scan/autolinks.js +80 -59
- package/dist/core/inline/scan/brackets.d.ts +2 -2
- package/dist/core/inline/scan/brackets.js +6 -103
- package/dist/core/inline/scan/code-spans.d.ts +4 -0
- package/dist/core/inline/scan/code-spans.js +8 -0
- package/dist/core/inline/scan/emphasis.js +10 -14
- package/dist/core/inline/scan/index.d.ts +3 -1
- package/dist/core/inline/scan/index.js +32 -33
- package/dist/core/inline/scan/plugin-syntax.d.ts +28 -36
- package/dist/core/inline/scan/plugin-syntax.js +75 -89
- package/dist/core/inline/scan/scan-state.d.ts +2 -0
- package/dist/core/inline/scan/scan-state.js +1 -0
- package/dist/core/inline/scan/simple-nodes.d.ts +2 -5
- package/dist/core/inline/scan/simple-nodes.js +2 -5
- package/dist/core/inline/scan/triggers.d.ts +17 -0
- package/dist/core/inline/scan/triggers.js +26 -0
- package/dist/core/inline/scan/url.js +8 -10
- package/dist/core/inline/transparency.d.ts +2 -1
- package/dist/core/inline/transparency.js +33 -17
- package/dist/core/inline/visibility.d.ts +30 -49
- package/dist/core/inline/visibility.js +31 -49
- package/dist/core/inline/walk.d.ts +4 -10
- package/dist/core/inline/walk.js +4 -10
- package/dist/core/inline-render.d.ts +22 -27
- package/dist/core/inline-render.js +51 -60
- package/dist/core/lines.d.ts +67 -26
- package/dist/core/lines.js +164 -33
- package/dist/core/metadata-parity.d.ts +9 -0
- package/dist/core/metadata-parity.js +25 -0
- package/dist/core/node-views.d.ts +7 -6
- package/dist/core/node-views.js +5 -5
- package/dist/core/nodes.d.ts +34 -44
- package/dist/core/nodes.js +4 -12
- package/dist/core/parser.d.ts +27 -34
- package/dist/core/parser.js +53 -67
- package/dist/core/parsers/blockquote.d.ts +5 -8
- package/dist/core/parsers/blockquote.js +11 -10
- package/dist/core/parsers/built-in-openers.d.ts +2 -5
- package/dist/core/parsers/built-in-openers.js +5 -8
- package/dist/core/parsers/fence-syntax.d.ts +36 -7
- package/dist/core/parsers/fence-syntax.js +61 -11
- package/dist/core/parsers/fenced-code.d.ts +16 -0
- package/dist/core/parsers/fenced-code.js +16 -15
- package/dist/core/parsers/heading.d.ts +19 -2
- package/dist/core/parsers/heading.js +50 -2
- package/dist/core/parsers/html-block.d.ts +3 -6
- package/dist/core/parsers/html-block.js +10 -11
- package/dist/core/parsers/indented-code.d.ts +1 -1
- package/dist/core/parsers/indented-code.js +2 -8
- package/dist/core/parsers/link-reference.d.ts +5 -3
- package/dist/core/parsers/link-reference.js +116 -120
- package/dist/core/parsers/list.d.ts +12 -5
- package/dist/core/parsers/list.js +53 -36
- package/dist/core/parsers/paragraph.d.ts +3 -3
- package/dist/core/parsers/paragraph.js +14 -5
- package/dist/core/parsers/table-completion.d.ts +2 -5
- package/dist/core/parsers/table-completion.js +7 -10
- package/dist/core/parsers/table.d.ts +8 -8
- package/dist/core/parsers/table.js +23 -26
- package/dist/core/parsers/thematic-break.js +15 -14
- package/dist/core/paths.d.ts +13 -0
- package/dist/core/paths.js +31 -0
- package/dist/core/terminator-escalation.d.ts +0 -7
- package/dist/core/terminator-escalation.js +5 -8
- package/dist/core/url-policy.d.ts +2 -5
- package/dist/core/url-policy.js +8 -12
- package/dist/cursor/caret-memory.d.ts +34 -0
- package/dist/cursor/caret-memory.js +82 -0
- package/dist/cursor/coordinate-spaces.d.ts +26 -19
- package/dist/cursor/coordinate-spaces.js +32 -20
- package/dist/cursor/dom-walk.d.ts +7 -13
- package/dist/cursor/dom-walk.js +7 -13
- package/dist/cursor/edge-affinity.d.ts +7 -35
- package/dist/cursor/edge-affinity.js +13 -44
- package/dist/cursor/focused-caret.d.ts +6 -8
- package/dist/cursor/focused-caret.js +7 -16
- package/dist/cursor/height-model.d.ts +3 -3
- package/dist/cursor/height-model.js +5 -5
- package/dist/cursor/height-oracle.d.ts +10 -7
- package/dist/cursor/height-oracle.js +26 -75
- package/dist/cursor/observe-resize.d.ts +13 -0
- package/dist/cursor/observe-resize.js +43 -0
- package/dist/cursor/overlay-rects.d.ts +2 -5
- package/dist/cursor/overlay-rects.js +2 -5
- package/dist/cursor/overlay-remeasure.d.ts +6 -7
- package/dist/cursor/overlay-remeasure.js +10 -14
- package/dist/cursor/pending-marks.d.ts +7 -9
- package/dist/cursor/pending-marks.js +6 -27
- package/dist/cursor/point-offset.d.ts +16 -10
- package/dist/cursor/point-offset.js +60 -25
- package/dist/cursor/reveal-source.d.ts +7 -11
- package/dist/cursor/reveal-source.js +10 -18
- package/dist/cursor/scroll-ancestors.d.ts +9 -20
- package/dist/cursor/scroll-ancestors.js +14 -26
- package/dist/cursor/scroll-owner.d.ts +92 -0
- package/dist/cursor/scroll-owner.js +283 -0
- package/dist/cursor/scrollport.d.ts +16 -8
- package/dist/cursor/scrollport.js +28 -5
- package/dist/cursor/sticky-column.d.ts +6 -29
- package/dist/cursor/sticky-column.js +6 -49
- package/dist/cursor/sticky-measure.d.ts +14 -9
- package/dist/cursor/sticky-measure.js +99 -49
- package/dist/cursor/surface-backend.d.ts +41 -0
- package/dist/cursor/surface-backend.js +78 -0
- package/dist/cursor/typography-estimates.d.ts +3 -3
- package/dist/cursor/typography-estimates.js +3 -3
- package/dist/cursor/visual-lines.d.ts +25 -13
- package/dist/cursor/visual-lines.js +72 -28
- package/dist/cursor/widget-edge-snap.d.ts +23 -0
- package/dist/cursor/widget-edge-snap.js +39 -0
- package/dist/cursor/widget-offset.d.ts +111 -102
- package/dist/cursor/widget-offset.js +352 -177
- package/dist/debug/diagnostics-report.d.ts +6 -6
- package/dist/debug/diagnostics-report.js +5 -5
- package/dist/debug/dump-tree.js +2 -2
- package/dist/debug/editor-diagnostics.d.ts +15 -0
- package/dist/debug/editor-diagnostics.js +33 -0
- package/dist/debug/inspect.d.ts +2 -2
- package/dist/debug/inspect.js +4 -4
- package/dist/debug/interaction-trace.d.ts +14 -15
- package/dist/debug/interaction-trace.js +19 -20
- package/dist/debug/operations-log.d.ts +1 -1
- package/dist/debug/operations-log.js +1 -1
- package/dist/decorations/buckets.d.ts +6 -12
- package/dist/decorations/buckets.js +4 -11
- package/dist/decorations/decoration-state.svelte.d.ts +2 -3
- package/dist/decorations/decoration-state.svelte.js +24 -26
- package/dist/decorations/island-dom.d.ts +10 -18
- package/dist/decorations/island-dom.js +25 -50
- package/dist/decorations/reserved-attrs.d.ts +6 -8
- package/dist/decorations/reserved-attrs.js +31 -17
- package/dist/decorations/types.d.ts +6 -7
- package/dist/decorations/types.js +2 -1
- package/dist/decorations/use-block-decorations.svelte.d.ts +19 -0
- package/dist/decorations/use-block-decorations.svelte.js +71 -0
- package/dist/decorations/widget-dom.d.ts +3 -3
- package/dist/decorations/widget-dom.js +5 -5
- package/dist/dev-warn.d.ts +5 -2
- package/dist/dev-warn.js +16 -4
- package/dist/editor-actions/ancestry-folds.d.ts +9 -14
- package/dist/editor-actions/ancestry-folds.js +13 -18
- package/dist/editor-actions/block-edit-core.d.ts +49 -22
- package/dist/editor-actions/block-edit-core.js +279 -151
- package/dist/editor-actions/block-edit-scope.d.ts +63 -50
- package/dist/editor-actions/block-edit-scope.js +100 -48
- package/dist/editor-actions/block-edit.d.ts +2 -3
- package/dist/editor-actions/block-edit.js +14 -90
- package/dist/editor-actions/commit/history.d.ts +4 -4
- package/dist/editor-actions/commit/history.js +33 -34
- package/dist/editor-actions/commit/reading-write-gate.d.ts +18 -0
- package/dist/editor-actions/commit/reading-write-gate.js +56 -0
- package/dist/editor-actions/commit/text-batch.d.ts +7 -11
- package/dist/editor-actions/commit/text-batch.js +6 -7
- package/dist/editor-actions/commit/undo-controller.d.ts +6 -4
- package/dist/editor-actions/commit/undo-controller.js +346 -216
- package/dist/editor-actions/container-block-component.d.ts +32 -51
- package/dist/editor-actions/container-block-component.js +66 -92
- package/dist/editor-actions/container-edit.d.ts +4 -2
- package/dist/editor-actions/container-edit.js +14 -44
- package/dist/editor-actions/container-exit-overrides.d.ts +6 -4
- package/dist/editor-actions/container-exit-overrides.js +19 -21
- package/dist/editor-actions/deps.d.ts +25 -32
- package/dist/editor-actions/enter-completion.d.ts +12 -15
- package/dist/editor-actions/enter-completion.js +49 -51
- package/dist/editor-actions/focus/focus-dispatch.d.ts +24 -25
- package/dist/editor-actions/focus/focus-dispatch.js +33 -52
- package/dist/editor-actions/focus/focus-landing.d.ts +11 -5
- package/dist/editor-actions/focus/focus-landing.js +29 -14
- package/dist/editor-actions/focus/focus.d.ts +3 -2
- package/dist/editor-actions/focus/focus.js +42 -59
- package/dist/editor-actions/index.d.ts +4 -3
- package/dist/editor-actions/index.js +5 -4
- package/dist/editor-actions/inline-range-commit.d.ts +18 -16
- package/dist/editor-actions/inline-range-commit.js +45 -54
- package/dist/editor-actions/leaf-write.d.ts +11 -0
- package/dist/editor-actions/leaf-write.js +102 -0
- package/dist/editor-actions/list-context.d.ts +9 -10
- package/dist/editor-actions/list-context.js +115 -110
- package/dist/editor-actions/list-overrides.d.ts +13 -5
- package/dist/editor-actions/list-overrides.js +36 -12
- package/dist/editor-actions/merge-fallback.d.ts +10 -16
- package/dist/editor-actions/merge-fallback.js +11 -22
- package/dist/editor-actions/nested/container-actions.d.ts +37 -0
- package/dist/editor-actions/nested/container-actions.js +42 -0
- package/dist/editor-actions/nested/emptied-container.d.ts +5 -0
- package/dist/editor-actions/nested/emptied-container.js +5 -0
- package/dist/editor-actions/nested/nested-actions.d.ts +22 -25
- package/dist/editor-actions/nested/nested-actions.js +17 -15
- package/dist/editor-actions/nested/nested-block-edit.d.ts +3 -4
- package/dist/editor-actions/nested/nested-block-edit.js +40 -134
- package/dist/editor-actions/nested/nested-focus.d.ts +2 -3
- package/dist/editor-actions/nested/nested-focus.js +33 -21
- package/dist/editor-actions/paste-coordinator.d.ts +3 -2
- package/dist/editor-actions/paste-coordinator.js +17 -13
- package/dist/editor-actions/plugin/chrome-leaf.d.ts +11 -9
- package/dist/editor-actions/plugin/chrome-leaf.js +14 -13
- package/dist/editor-actions/plugin/container.d.ts +55 -76
- package/dist/editor-actions/plugin/container.js +105 -186
- package/dist/editor-actions/plugin/directive-container.d.ts +4 -4
- package/dist/editor-actions/plugin/directive-container.js +7 -8
- package/dist/editor-actions/reorder-action.d.ts +7 -12
- package/dist/editor-actions/reorder-action.js +32 -48
- package/dist/editor-actions/reorder-drag.d.ts +12 -8
- package/dist/editor-actions/reorder-drag.js +45 -41
- package/dist/editor-actions/replacement-focus.d.ts +13 -21
- package/dist/editor-actions/replacement-focus.js +32 -33
- package/dist/editor-actions/search-replace.js +71 -67
- package/dist/editor-actions/stored-caret.d.ts +7 -0
- package/dist/editor-actions/stored-caret.js +10 -0
- package/dist/editor-actions/table-context.d.ts +9 -11
- package/dist/editor-actions/table-context.js +70 -93
- package/dist/editor-actions/unwrap-strategies.d.ts +4 -5
- package/dist/editor-actions/unwrap-strategies.js +52 -63
- package/dist/editor-actions/whole-block-focus-surface.d.ts +19 -28
- package/dist/editor-actions/whole-block-focus-surface.js +43 -53
- package/dist/editor-events.d.ts +25 -29
- package/dist/editor-events.js +17 -28
- package/dist/editor-keys.d.ts +96 -104
- package/dist/editor-keys.js +11 -24
- package/dist/editor-props.d.ts +91 -71
- package/dist/editor-rects.d.ts +23 -34
- package/dist/editor-rects.js +9 -77
- package/dist/env.d.ts +6 -4
- package/dist/env.js +8 -4
- package/dist/index.d.ts +6 -2
- package/dist/index.js +5 -2
- package/dist/inline-menu/inline-menu-session.d.ts +37 -0
- package/dist/inline-menu/inline-menu-session.js +98 -0
- package/dist/inline-menu/inline-menu-state.svelte.d.ts +63 -0
- package/dist/inline-menu/inline-menu-state.svelte.js +409 -0
- package/dist/inline-menu/types.d.ts +77 -0
- package/dist/inline-menu/types.js +7 -0
- package/dist/invariants/child-id-parity.d.ts +23 -0
- package/dist/invariants/child-id-parity.js +39 -0
- package/dist/invariants/commit-paths.d.ts +4 -4
- package/dist/invariants/commit-paths.js +4 -4
- package/dist/invariants/commit-scope.d.ts +4 -4
- package/dist/invariants/commit-scope.js +9 -8
- package/dist/invariants/context-keys.d.ts +2 -5
- package/dist/invariants/context-keys.js +3 -6
- package/dist/invariants/descriptor.d.ts +2 -6
- package/dist/invariants/descriptor.js +2 -6
- package/dist/invariants/inline-transitions.d.ts +9 -16
- package/dist/invariants/inline-transitions.js +10 -18
- package/dist/invariants/install.d.ts +18 -27
- package/dist/invariants/install.js +29 -30
- package/dist/invariants/keeps-a-block.d.ts +7 -0
- package/dist/invariants/keeps-a-block.js +14 -0
- package/dist/invariants/landable-caret.d.ts +5 -7
- package/dist/invariants/landable-caret.js +8 -11
- package/dist/invariants/landing-focus-scroll.d.ts +7 -0
- package/dist/invariants/landing-focus-scroll.js +13 -0
- package/dist/invariants/landing-value.d.ts +13 -0
- package/dist/invariants/landing-value.js +27 -0
- package/dist/invariants/marker-css-parity.d.ts +5 -6
- package/dist/invariants/marker-css-parity.js +11 -12
- package/dist/invariants/measures-in-own-list.d.ts +6 -0
- package/dist/invariants/measures-in-own-list.js +13 -0
- package/dist/invariants/node-shape.d.ts +18 -37
- package/dist/invariants/node-shape.js +123 -79
- package/dist/invariants/open-tail.d.ts +7 -0
- package/dist/invariants/open-tail.js +45 -0
- package/dist/invariants/placement-ends-widget.d.ts +8 -0
- package/dist/invariants/placement-ends-widget.js +13 -0
- package/dist/invariants/registry.d.ts +27 -66
- package/dist/invariants/registry.js +61 -137
- package/dist/invariants/render-fidelity.d.ts +4 -4
- package/dist/invariants/render-fidelity.js +5 -5
- package/dist/invariants/selection-endpoints.d.ts +6 -7
- package/dist/invariants/selection-endpoints.js +18 -16
- package/dist/invariants/single-node-sink.d.ts +4 -5
- package/dist/invariants/single-node-sink.js +4 -5
- package/dist/invariants/snapshot-integrity.d.ts +5 -6
- package/dist/invariants/snapshot-integrity.js +1 -1
- package/dist/invariants/structural-descriptor.d.ts +6 -15
- package/dist/invariants/structural-descriptor.js +6 -15
- package/dist/menu-icons.d.ts +47 -0
- package/dist/menu-icons.js +113 -0
- package/dist/perf/instruments.d.ts +20 -5
- package/dist/perf/instruments.js +35 -15
- package/dist/perf/use-mount-gauge.svelte.js +4 -4
- package/dist/plugin.d.ts +38 -8
- package/dist/plugin.js +102 -74
- package/dist/plugins/admonitions/AdmonitionBlock.svelte +14 -11
- package/dist/plugins/admonitions/admonition-kind.js +12 -10
- package/dist/plugins/admonitions/convert-document.d.ts +5 -5
- package/dist/plugins/admonitions/convert-document.js +8 -7
- package/dist/plugins/admonitions/gh-alert.d.ts +8 -1
- package/dist/plugins/admonitions/gh-alert.js +21 -22
- package/dist/plugins/admonitions/github-alert-kind.d.ts +5 -7
- package/dist/plugins/admonitions/github-alert-kind.js +28 -37
- package/dist/plugins/admonitions/index.js +2 -2
- package/dist/plugins/admonitions/kinds.d.ts +1 -1
- package/dist/plugins/admonitions/register.js +11 -2
- package/dist/plugins/details/DetailsBlock.svelte +20 -20
- package/dist/plugins/details/details-disclosure.svelte.d.ts +5 -6
- package/dist/plugins/details/details-disclosure.svelte.js +6 -7
- package/dist/plugins/details/details-kind.d.ts +6 -7
- package/dist/plugins/details/details-kind.js +44 -59
- package/dist/plugins/emoji/emoji-recognizer.d.ts +4 -7
- package/dist/plugins/emoji/emoji-recognizer.js +7 -14
- package/dist/plugins/footnotes/FootnoteDefinition.svelte +33 -16
- package/dist/plugins/footnotes/FootnoteReference.svelte +39 -19
- package/dist/plugins/footnotes/constants.d.ts +2 -0
- package/dist/plugins/footnotes/constants.js +3 -0
- package/dist/plugins/footnotes/footnote-definition.d.ts +8 -6
- package/dist/plugins/footnotes/footnote-definition.js +69 -45
- package/dist/plugins/footnotes/footnote-lookup.d.ts +3 -3
- package/dist/plugins/footnotes/footnote-lookup.js +14 -26
- package/dist/plugins/footnotes/footnote-numbering.d.ts +11 -11
- package/dist/plugins/footnotes/footnote-numbering.js +22 -31
- package/dist/plugins/footnotes/footnote-reference.d.ts +4 -4
- package/dist/plugins/footnotes/footnote-reference.js +8 -13
- package/dist/plugins/footnotes/index.js +2 -3
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.d.ts +5 -8
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.js +8 -3
- package/dist/plugins/highlight-occurrences/occurrence-source.d.ts +10 -12
- package/dist/plugins/highlight-occurrences/occurrence-source.js +21 -18
- package/dist/plugins/highlight-occurrences/occurrences.d.ts +11 -11
- package/dist/plugins/highlight-occurrences/occurrences.js +14 -36
- package/dist/plugins/highlight-occurrences/word-char.d.ts +1 -0
- package/dist/plugins/highlight-occurrences/word-char.js +4 -0
- package/dist/plugins/latex/BlockMath.svelte +58 -75
- package/dist/plugins/latex/BlockMath.svelte.d.ts +2 -4
- package/dist/plugins/latex/MathInline.svelte +10 -9
- package/dist/plugins/latex/flanking.d.ts +1 -0
- package/dist/plugins/latex/flanking.js +3 -0
- package/dist/plugins/latex/index.d.ts +1 -1
- package/dist/plugins/latex/latex-kind.d.ts +4 -4
- package/dist/plugins/latex/latex-kind.js +113 -85
- package/dist/plugins/latex/math-completion.d.ts +1 -1
- package/dist/plugins/latex/math-completion.js +5 -8
- package/dist/plugins/latex/math-layout.d.ts +2 -8
- package/dist/plugins/latex/math-layout.js +0 -9
- package/dist/plugins/latex/math-renderer.d.ts +17 -20
- package/dist/plugins/latex/math-renderer.js +21 -38
- package/dist/plugins/latex/math-source.d.ts +4 -8
- package/dist/plugins/latex/math-source.js +36 -75
- package/dist/plugins/latex/register.d.ts +10 -11
- package/dist/plugins/latex/register.js +24 -10
- package/dist/plugins/latex/renderer.d.ts +9 -10
- package/dist/plugins/latex/renderer.js +9 -24
- package/dist/plugins/mermaid/MermaidBlock.svelte +63 -47
- package/dist/plugins/mermaid/index.js +1 -1
- package/dist/plugins/mermaid/mermaid-kind.d.ts +4 -7
- package/dist/plugins/mermaid/mermaid-kind.js +30 -47
- package/dist/plugins/mermaid/mermaid-renderer.d.ts +9 -16
- package/dist/plugins/mermaid/mermaid-renderer.js +12 -31
- package/dist/plugins/mermaid/register.d.ts +3 -3
- package/dist/plugins/mermaid/register.js +5 -5
- package/dist/plugins/mermaid/renderer.d.ts +5 -5
- package/dist/plugins/mermaid/renderer.js +8 -11
- package/dist/plugins/parrot/ParrotBlock.svelte +18 -7
- package/dist/plugins/parrot/ParrotBlock.svelte.d.ts +2 -2
- package/dist/plugins/parrot/parrot-plugin.js +3 -3
- package/dist/plugins/slash-commands/filter.d.ts +23 -0
- package/dist/plugins/slash-commands/filter.js +31 -0
- package/dist/plugins/slash-commands/index.d.ts +2 -0
- package/dist/plugins/slash-commands/index.js +2 -0
- package/dist/plugins/slash-commands/slash-commands-plugin.d.ts +12 -0
- package/dist/plugins/slash-commands/slash-commands-plugin.js +40 -0
- package/dist/plugins/slash-commands/slash-source.d.ts +36 -0
- package/dist/plugins/slash-commands/slash-source.js +108 -0
- package/dist/plugins/toc/TocBlock.svelte +23 -22
- package/dist/plugins/toc/TocBlock.svelte.d.ts +2 -3
- package/dist/plugins/toc/heading-outline.d.ts +7 -12
- package/dist/plugins/toc/heading-outline.js +22 -36
- package/dist/plugins/toc/navigation-queue.d.ts +2 -4
- package/dist/plugins/toc/toc-plugin.d.ts +5 -5
- package/dist/plugins/toc/toc-plugin.js +20 -13
- package/dist/presentation-mode.d.ts +15 -23
- package/dist/presentation-mode.js +19 -25
- package/dist/reactivity/block-list-state.svelte.d.ts +9 -11
- package/dist/reactivity/block-list-state.svelte.js +8 -9
- package/dist/reactivity/block-window.svelte.d.ts +12 -6
- package/dist/reactivity/block-window.svelte.js +44 -17
- package/dist/reactivity/child-list.d.ts +34 -0
- package/dist/reactivity/child-list.js +48 -0
- package/dist/reactivity/content-version.svelte.d.ts +4 -7
- package/dist/reactivity/content-version.svelte.js +3 -5
- package/dist/reactivity/hold-across.d.ts +39 -0
- package/dist/reactivity/hold-across.js +57 -0
- package/dist/reactivity/layout-state.svelte.d.ts +27 -0
- package/dist/reactivity/layout-state.svelte.js +51 -0
- package/dist/reactivity/list-tree.d.ts +39 -0
- package/dist/reactivity/list-tree.js +132 -0
- package/dist/reactivity/list-windowing.svelte.d.ts +50 -71
- package/dist/reactivity/list-windowing.svelte.js +143 -292
- package/dist/reactivity/measure-batch.d.ts +6 -8
- package/dist/reactivity/measure-batch.js +5 -6
- package/dist/reactivity/publish-ref.svelte.d.ts +16 -41
- package/dist/reactivity/publish-ref.svelte.js +21 -85
- package/dist/reactivity/scope-geometry.d.ts +6 -13
- package/dist/reactivity/scope-geometry.js +7 -14
- package/dist/reactivity/state-registry.d.ts +5 -5
- package/dist/reactivity/state-registry.js +11 -15
- package/dist/reactivity/use-container-windowing.svelte.d.ts +13 -26
- package/dist/reactivity/use-container-windowing.svelte.js +64 -74
- package/dist/reactivity/use-measured-child.svelte.d.ts +10 -0
- package/dist/reactivity/use-measured-child.svelte.js +41 -0
- package/dist/reactivity/use-window-floor.svelte.d.ts +2 -0
- package/dist/reactivity/use-window-floor.svelte.js +27 -0
- package/dist/reactivity/window-slice.d.ts +4 -4
- package/dist/reactivity/window-slice.js +0 -2
- package/dist/renderer-slot.d.ts +48 -0
- package/dist/renderer-slot.js +85 -0
- package/dist/scan-index.d.ts +4 -4
- package/dist/scan-index.js +4 -4
- package/dist/schema/block-commands.d.ts +69 -54
- package/dist/schema/block-commands.js +91 -104
- package/dist/schema/block-completions.d.ts +16 -19
- package/dist/schema/block-completions.js +25 -32
- package/dist/schema/block-component-registry.d.ts +13 -14
- package/dist/schema/block-component-registry.js +19 -17
- package/dist/schema/block-kind-descriptor.d.ts +234 -168
- package/dist/schema/block-kind-descriptor.js +151 -66
- package/dist/schema/block-openers.d.ts +48 -39
- package/dist/schema/block-openers.js +73 -83
- package/dist/schema/built-in-descriptors.d.ts +3 -5
- package/dist/schema/built-in-descriptors.js +96 -80
- package/dist/schema/child-spans.d.ts +12 -10
- package/dist/schema/child-spans.js +68 -34
- package/dist/schema/closure.d.ts +18 -16
- package/dist/schema/closure.js +24 -14
- package/dist/schema/command-id.d.ts +6 -8
- package/dist/schema/command-id.js +20 -25
- package/dist/schema/commands.d.ts +79 -81
- package/dist/schema/commands.js +156 -116
- package/dist/schema/container-raw.d.ts +51 -11
- package/dist/schema/container-raw.js +143 -14
- package/dist/schema/container-rebuilders.d.ts +17 -15
- package/dist/schema/container-rebuilders.js +30 -22
- package/dist/schema/context-actions.d.ts +25 -13
- package/dist/schema/context-actions.js +32 -17
- package/dist/schema/define-plugin-block.d.ts +8 -6
- package/dist/schema/define-plugin-block.js +6 -4
- package/dist/schema/fenced-code-raw.d.ts +30 -17
- package/dist/schema/fenced-code-raw.js +155 -107
- package/dist/schema/global-commands.d.ts +6 -6
- package/dist/schema/global-commands.js +14 -22
- package/dist/schema/height-estimates.d.ts +31 -0
- package/dist/schema/height-estimates.js +64 -0
- package/dist/schema/inline-construct-policy.d.ts +42 -55
- package/dist/schema/inline-construct-policy.js +36 -35
- package/dist/schema/insert-catalogue.d.ts +30 -0
- package/dist/schema/insert-catalogue.js +95 -0
- package/dist/schema/keybinding-overrides.d.ts +9 -11
- package/dist/schema/keybinding-overrides.js +1 -1
- package/dist/schema/keybindings.d.ts +15 -7
- package/dist/schema/keybindings.js +21 -9
- package/dist/schema/merge-rules.d.ts +5 -7
- package/dist/schema/merge-rules.js +7 -9
- package/dist/schema/opener-priorities.d.ts +4 -4
- package/dist/schema/opener-priorities.js +4 -4
- package/dist/schema/operations.d.ts +9 -11
- package/dist/schema/operations.js +3 -3
- package/dist/schema/page-role.d.ts +14 -0
- package/dist/schema/page-role.js +19 -0
- package/dist/schema/plugin-activation.d.ts +4 -6
- package/dist/schema/plugin-activation.js +12 -10
- package/dist/schema/plugin-editor-context.d.ts +25 -10
- package/dist/schema/plugin-editor-context.js +40 -9
- package/dist/schema/plugin-install.d.ts +49 -17
- package/dist/schema/plugin-install.js +51 -25
- package/dist/schema/plugin-kind.d.ts +12 -8
- package/dist/schema/plugin-kind.js +35 -42
- package/dist/schema/plugin-name.js +3 -3
- package/dist/schema/plugin-registry.d.ts +54 -0
- package/dist/schema/plugin-registry.js +70 -0
- package/dist/schema/reading.d.ts +23 -0
- package/dist/schema/reading.js +7 -0
- package/dist/schema/register-once.d.ts +3 -5
- package/dist/schema/register-once.js +7 -16
- package/dist/schema/registration-checks.d.ts +12 -16
- package/dist/schema/registration-checks.js +35 -51
- package/dist/schema/registration-pairs.d.ts +54 -0
- package/dist/schema/registration-pairs.js +48 -0
- package/dist/schema/registration-pending.d.ts +8 -12
- package/dist/schema/registration-pending.js +9 -9
- package/dist/schema/registry-reset.d.ts +8 -4
- package/dist/schema/registry-reset.js +13 -26
- package/dist/schema/registry-view.d.ts +25 -13
- package/dist/schema/registry-view.js +26 -20
- package/dist/schema/reserved-chords.d.ts +9 -10
- package/dist/schema/reserved-chords.js +73 -78
- package/dist/schema/reserved-chrome.d.ts +12 -11
- package/dist/schema/reserved-chrome.js +15 -11
- package/dist/schema/setext-raw.d.ts +13 -0
- package/dist/schema/setext-raw.js +33 -0
- package/dist/schema/stored-as.d.ts +20 -0
- package/dist/schema/stored-as.js +6 -0
- package/dist/schema/table-cell-raw.d.ts +18 -7
- package/dist/schema/table-cell-raw.js +28 -7
- package/dist/schema/whole-block-unit.d.ts +5 -4
- package/dist/schema/whole-block-unit.js +5 -4
- package/dist/search/document-scan.d.ts +3 -3
- package/dist/search/document-scan.js +2 -2
- package/dist/search/matcher.d.ts +1 -1
- package/dist/search/regex-executor.d.ts +5 -6
- package/dist/search/regex-executor.js +6 -8
- package/dist/search/replace.d.ts +2 -5
- package/dist/search/replace.js +2 -5
- package/dist/search/search-state.svelte.d.ts +5 -5
- package/dist/search/search-state.svelte.js +12 -16
- package/dist/selection/autoscroll.d.ts +6 -9
- package/dist/selection/block-hit-test.d.ts +16 -24
- package/dist/selection/block-hit-test.js +29 -22
- package/dist/selection/caret-doors.d.ts +15 -14
- package/dist/selection/caret-doors.js +37 -26
- package/dist/selection/caret-landing.d.ts +62 -0
- package/dist/selection/caret-landing.js +157 -0
- package/dist/selection/caret-restore.d.ts +17 -10
- package/dist/selection/caret-restore.js +10 -22
- package/dist/selection/caret-target.d.ts +30 -0
- package/dist/selection/caret-target.js +84 -0
- package/dist/selection/char-endpoint-snap.d.ts +6 -10
- package/dist/selection/char-endpoint-snap.js +8 -14
- package/dist/selection/clipboard-text.d.ts +5 -12
- package/dist/selection/clipboard-text.js +69 -172
- package/dist/selection/covered-block.d.ts +6 -8
- package/dist/selection/covered-block.js +8 -19
- package/dist/selection/cross-block/clipboard.d.ts +3 -2
- package/dist/selection/cross-block/clipboard.js +13 -4
- package/dist/selection/cross-block/dispatch.d.ts +47 -43
- package/dist/selection/cross-block/dispatch.js +12 -23
- package/dist/selection/cross-block/format-range.d.ts +18 -21
- package/dist/selection/cross-block/format-range.js +104 -103
- package/dist/selection/cross-block/format-toggle.d.ts +10 -15
- package/dist/selection/cross-block/format-toggle.js +28 -33
- package/dist/selection/cross-block/keydown.d.ts +4 -4
- package/dist/selection/cross-block/keydown.js +93 -152
- package/dist/selection/cross-block/ops.d.ts +19 -34
- package/dist/selection/cross-block/ops.js +110 -95
- package/dist/selection/cross-block/paste.d.ts +2 -3
- package/dist/selection/cross-block/paste.js +61 -104
- package/dist/selection/cross-block/pointer.d.ts +17 -15
- package/dist/selection/cross-block/pointer.js +74 -25
- package/dist/selection/cross-block/type-replace.d.ts +4 -6
- package/dist/selection/cross-block/type-replace.js +53 -146
- package/dist/selection/dead-space-caret.d.ts +20 -28
- package/dist/selection/dead-space-caret.js +79 -87
- package/dist/selection/drag-pointer.d.ts +22 -5
- package/dist/selection/drag-pointer.js +63 -31
- package/dist/selection/gap-caret.d.ts +17 -28
- package/dist/selection/gap-caret.js +14 -26
- package/dist/selection/grid-selection.d.ts +12 -0
- package/dist/selection/grid-selection.js +22 -0
- package/dist/selection/keyboard-extend.d.ts +27 -39
- package/dist/selection/keyboard-extend.js +94 -116
- package/dist/selection/multi-click.d.ts +37 -0
- package/dist/selection/multi-click.js +197 -0
- package/dist/selection/native-bridge.d.ts +30 -37
- package/dist/selection/native-bridge.js +80 -100
- package/dist/selection/nearest-block.d.ts +17 -12
- package/dist/selection/nearest-block.js +37 -18
- package/dist/selection/path-lookup.d.ts +31 -14
- package/dist/selection/path-lookup.js +110 -20
- package/dist/selection/path-math.d.ts +9 -11
- package/dist/selection/path-math.js +5 -7
- package/dist/selection/pointer-gesture.d.ts +9 -0
- package/dist/selection/pointer-gesture.js +11 -0
- package/dist/selection/pointer-session.d.ts +10 -16
- package/dist/selection/pointer-session.js +6 -7
- package/dist/selection/primitives.d.ts +64 -33
- package/dist/selection/primitives.js +61 -53
- package/dist/selection/range-coverage.d.ts +94 -0
- package/dist/selection/range-coverage.js +365 -0
- package/dist/selection/range-delete-ceremony.d.ts +28 -74
- package/dist/selection/range-delete-ceremony.js +100 -141
- package/dist/selection/range-delete-chrome.d.ts +20 -33
- package/dist/selection/range-delete-chrome.js +53 -78
- package/dist/selection/range-delete-table-coverage.d.ts +11 -25
- package/dist/selection/range-delete-table-coverage.js +42 -112
- package/dist/selection/range-delete-table.d.ts +14 -12
- package/dist/selection/range-delete-table.js +106 -310
- package/dist/selection/range-delete.d.ts +18 -19
- package/dist/selection/range-delete.js +83 -123
- package/dist/selection/round-trip-restore.d.ts +18 -0
- package/dist/selection/round-trip-restore.js +19 -0
- package/dist/selection/selection-announcer.d.ts +17 -0
- package/dist/selection/selection-announcer.js +25 -0
- package/dist/selection/selection-description.d.ts +4 -3
- package/dist/selection/selection-description.js +5 -4
- package/dist/selection/selection-drop.d.ts +52 -0
- package/dist/selection/selection-drop.js +317 -0
- package/dist/selection/selection-restore.d.ts +20 -33
- package/dist/selection/selection-restore.js +21 -44
- package/dist/selection/selection-state.svelte.d.ts +50 -42
- package/dist/selection/selection-state.svelte.js +144 -98
- package/dist/selection/shared-keydown.d.ts +22 -27
- package/dist/selection/shared-keydown.js +25 -45
- package/dist/selection/table-endpoint-snap.d.ts +17 -41
- package/dist/selection/table-endpoint-snap.js +54 -80
- package/dist/selection/table-rect-extend.d.ts +3 -6
- package/dist/selection/table-rect-extend.js +19 -14
- package/dist/styles/editor-theme.css +75 -53
- package/dist/styles/editor.css +248 -139
- package/dist/testing/conformance-core.d.ts +50 -18
- package/dist/testing/conformance-core.js +88 -50
- package/dist/testing/container-conformance.d.ts +48 -84
- package/dist/testing/container-conformance.js +159 -285
- package/dist/testing/headless-actions.d.ts +34 -19
- package/dist/testing/headless-actions.js +116 -65
- package/dist/testing/headless-block-list.svelte.d.ts +16 -0
- package/dist/testing/headless-block-list.svelte.js +22 -0
- package/dist/testing/inline-conformance.d.ts +15 -22
- package/dist/testing/inline-conformance.js +131 -148
- package/dist/testing/kind-conformance.d.ts +19 -24
- package/dist/testing/kind-conformance.js +204 -117
- package/dist/testing/kit-reading.d.ts +7 -0
- package/dist/testing/kit-reading.js +16 -0
- package/dist/testing/mount-dom-stubs.d.ts +4 -5
- package/dist/testing/mount-dom-stubs.js +8 -5
- package/dist/testing/parse-convergence.d.ts +10 -10
- package/dist/testing/parse-convergence.js +14 -49
- package/dist/testing.d.ts +13 -9
- package/dist/testing.js +28 -38
- package/dist/tree-operations/blockquote.d.ts +8 -14
- package/dist/tree-operations/blockquote.js +25 -45
- package/dist/tree-operations/chain-rebuild.d.ts +34 -25
- package/dist/tree-operations/chain-rebuild.js +115 -52
- package/dist/tree-operations/children.d.ts +5 -9
- package/dist/tree-operations/children.js +7 -11
- package/dist/tree-operations/cleanup.d.ts +6 -7
- package/dist/tree-operations/cleanup.js +14 -11
- package/dist/tree-operations/clone.js +5 -4
- package/dist/tree-operations/container-lift.d.ts +10 -5
- package/dist/tree-operations/container-lift.js +20 -14
- package/dist/tree-operations/container-offsets.d.ts +22 -0
- package/dist/tree-operations/container-offsets.js +89 -0
- package/dist/tree-operations/content-write.d.ts +52 -29
- package/dist/tree-operations/content-write.js +155 -110
- package/dist/tree-operations/index.d.ts +4 -4
- package/dist/tree-operations/index.js +4 -4
- package/dist/tree-operations/keep-one-block.d.ts +10 -0
- package/dist/tree-operations/keep-one-block.js +19 -0
- package/dist/tree-operations/leaf-range.d.ts +33 -0
- package/dist/tree-operations/leaf-range.js +67 -0
- package/dist/tree-operations/list/empty-check.d.ts +2 -3
- package/dist/tree-operations/list/empty-check.js +4 -4
- package/dist/tree-operations/list/exit-replacement.d.ts +4 -6
- package/dist/tree-operations/list/exit-replacement.js +4 -9
- package/dist/tree-operations/list/item-partition.d.ts +2 -2
- package/dist/tree-operations/list/item-partition.js +2 -2
- package/dist/tree-operations/list/list-builders.d.ts +18 -16
- package/dist/tree-operations/list/list-builders.js +59 -30
- package/dist/tree-operations/list/ordered-markers.d.ts +7 -16
- package/dist/tree-operations/list/ordered-markers.js +7 -16
- package/dist/tree-operations/list/reconcile-task.d.ts +16 -7
- package/dist/tree-operations/list/reconcile-task.js +80 -23
- package/dist/tree-operations/list/sublist-separator.d.ts +7 -7
- package/dist/tree-operations/list/sublist-separator.js +20 -27
- package/dist/tree-operations/list/task-paragraph.d.ts +25 -0
- package/dist/tree-operations/list/task-paragraph.js +54 -0
- package/dist/tree-operations/list/unwrap-merge.d.ts +8 -16
- package/dist/tree-operations/list/unwrap-merge.js +44 -79
- package/dist/tree-operations/node-ops.d.ts +30 -52
- package/dist/tree-operations/node-ops.js +152 -218
- package/dist/tree-operations/node-primitives.d.ts +44 -31
- package/dist/tree-operations/node-primitives.js +84 -60
- package/dist/tree-operations/open-tail.d.ts +25 -0
- package/dist/tree-operations/open-tail.js +100 -0
- package/dist/tree-operations/parse-block.d.ts +15 -2
- package/dist/tree-operations/parse-block.js +19 -4
- package/dist/tree-operations/paste/apply.d.ts +7 -8
- package/dist/tree-operations/paste/apply.js +33 -63
- package/dist/tree-operations/paste/body-write.d.ts +8 -6
- package/dist/tree-operations/paste/body-write.js +13 -14
- package/dist/tree-operations/paste/container-match.d.ts +7 -10
- package/dist/tree-operations/paste/container-match.js +76 -58
- package/dist/tree-operations/paste/container-paste.d.ts +3 -3
- package/dist/tree-operations/paste/container-paste.js +3 -3
- package/dist/tree-operations/paste/dispatch.d.ts +26 -29
- package/dist/tree-operations/paste/dispatch.js +68 -53
- package/dist/tree-operations/paste/focus-target.d.ts +11 -14
- package/dist/tree-operations/paste/focus-target.js +13 -18
- package/dist/tree-operations/paste/hooks.d.ts +7 -12
- package/dist/tree-operations/paste/hooks.js +49 -46
- package/dist/tree-operations/paste/line-ending.d.ts +11 -0
- package/dist/tree-operations/paste/line-ending.js +32 -0
- package/dist/tree-operations/paste/list-absorb.d.ts +8 -11
- package/dist/tree-operations/paste/list-absorb.js +17 -19
- package/dist/tree-operations/paste/list-break-out.d.ts +12 -11
- package/dist/tree-operations/paste/list-break-out.js +24 -32
- package/dist/tree-operations/paste/parent-scope.d.ts +8 -12
- package/dist/tree-operations/paste/parent-scope.js +9 -16
- package/dist/tree-operations/paste/paste-deps.d.ts +14 -9
- package/dist/tree-operations/paste/paste-replacement.d.ts +20 -3
- package/dist/tree-operations/paste/paste-replacement.js +73 -42
- package/dist/tree-operations/paste/paste-transforms.d.ts +5 -7
- package/dist/tree-operations/paste/paste-transforms.js +18 -27
- package/dist/tree-operations/paste/replacement-parse.d.ts +19 -0
- package/dist/tree-operations/paste/replacement-parse.js +24 -0
- package/dist/tree-operations/paste/strategy.d.ts +1 -1
- package/dist/tree-operations/paste/strategy.js +1 -1
- package/dist/tree-operations/paste/table-slice.js +15 -10
- package/dist/tree-operations/paste-surfaces.d.ts +18 -29
- package/dist/tree-operations/paste-surfaces.js +14 -10
- package/dist/tree-operations/path-mutate.d.ts +7 -8
- package/dist/tree-operations/path-mutate.js +4 -4
- package/dist/tree-operations/reorder-unit.d.ts +4 -5
- package/dist/tree-operations/reorder-unit.js +5 -6
- package/dist/tree-operations/reorder.d.ts +7 -9
- package/dist/tree-operations/reorder.js +39 -40
- package/dist/tree-operations/settle.d.ts +42 -53
- package/dist/tree-operations/settle.js +241 -162
- package/dist/tree-operations/sharing.d.ts +5 -5
- package/dist/tree-operations/splice-many.d.ts +5 -5
- package/dist/tree-operations/splice-many.js +5 -5
- package/dist/tree-operations/stored-as.d.ts +13 -0
- package/dist/tree-operations/stored-as.js +48 -0
- package/dist/tree-operations/structural-change.d.ts +11 -15
- package/dist/tree-operations/structural-change.js +10 -14
- package/dist/tree-operations/structural-suffix.d.ts +22 -0
- package/dist/tree-operations/structural-suffix.js +61 -0
- package/dist/tree-operations/sub-table-copy.d.ts +7 -0
- package/dist/tree-operations/sub-table-copy.js +40 -36
- package/dist/tree-operations/table-grid-clipboard.d.ts +2 -7
- package/dist/tree-operations/table-grid-clipboard.js +11 -36
- package/dist/tree-operations/table-mutations.d.ts +7 -3
- package/dist/tree-operations/table-mutations.js +45 -9
- package/dist/tree-operations/unshare.d.ts +11 -15
- package/dist/tree-operations/unshare.js +15 -17
- package/dist/undo/manager.js +1 -1
- package/dist/undo/types.d.ts +2 -2
- package/docs/guide/consumer-guide.md +329 -205
- package/docs/guide/directives.md +7 -7
- package/docs/guide/plugin-api.md +267 -183
- package/docs/guide/plugin-guide.md +341 -235
- package/docs/guide/plugin-testing.md +96 -82
- package/package.json +17 -21
- package/dist/ambient/ambient-cursor.d.ts +0 -41
- package/dist/ambient/ambient-cursor.js +0 -120
- package/dist/components/blocks/code/code-paste.d.ts +0 -24
- package/dist/components/blocks/code/code-paste.js +0 -21
- package/dist/components/blocks/table/cell-clipboard.d.ts +0 -33
- package/dist/components/blocks/table/cell-clipboard.js +0 -67
- package/dist/components/blocks/text/hidden-suffix.d.ts +0 -10
- package/dist/components/blocks/text/hidden-suffix.js +0 -15
- package/dist/components/blocks/text/link-source-bytes.d.ts +0 -37
- package/dist/components/image/image-source-bytes.d.ts +0 -15
- package/dist/components/image/image-source-bytes.js +0 -80
- package/dist/cursor/content-offsets.d.ts +0 -29
- package/dist/cursor/content-offsets.js +0 -151
- package/dist/cursor/reveal-anchor.d.ts +0 -30
- package/dist/cursor/reveal-anchor.js +0 -31
- package/dist/invariants/split-landing.d.ts +0 -8
- package/dist/invariants/split-landing.js +0 -15
- package/dist/selection/double-click-trim.d.ts +0 -17
- package/dist/selection/double-click-trim.js +0 -57
- package/dist/tree-operations/list/terminator.d.ts +0 -17
- package/dist/tree-operations/list/terminator.js +0 -60
- package/dist/tree-operations/paste/replace-block-at-parent.d.ts +0 -29
- package/dist/tree-operations/paste/replace-block-at-parent.js +0 -75
|
@@ -1,49 +1,37 @@
|
|
|
1
1
|
import { type AnyBlockKind, type CstNode } from '../core/nodes';
|
|
2
|
-
import type { NodeView } from '../core/node-views';
|
|
2
|
+
import type { DocumentView, NodeView } from '../core/node-views';
|
|
3
|
+
import type { LineEnding } from '../core/lines';
|
|
3
4
|
import type { ContainerBodyWrap } from '../core/parser';
|
|
4
5
|
import type { ChildRawChange } from './child-spans';
|
|
5
6
|
import type { ClosureBlock } from './closure';
|
|
6
|
-
import type
|
|
7
|
+
import { type KeyBinding } from './keybindings';
|
|
8
|
+
import type { HeightEstimateEnv } from './height-estimates';
|
|
7
9
|
/**
|
|
8
|
-
* Backspace-merge
|
|
9
|
-
*
|
|
10
|
-
* The tuple is the one home: G1.30's runtime vocabulary is derived from it, not re-listed.
|
|
10
|
+
* The Backspace-merge roles (`docs/design/editor.md` § Merge eligibility: roles, not pairs).
|
|
11
|
+
* The runtime role check reads its list from this tuple, so the type and the check agree (G1.30).
|
|
11
12
|
*/
|
|
12
13
|
export declare const MERGE_ROLES: readonly ["prose", "prose-absorber", "container", "self-merge", "not-mergeable"];
|
|
13
14
|
export type MergeRole = (typeof MERGE_ROLES)[number];
|
|
14
|
-
/**
|
|
15
|
+
/** Catches a role the `MergeRole` type cannot, one that arrived through a cast (G1.30). */
|
|
15
16
|
export declare const isKnownMergeRole: (role: string) => boolean;
|
|
16
17
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
18
|
+
* How Backspace at the start of a container's child releases it, as a registration declares it;
|
|
19
|
+
* strategies live in `editor-actions/unwrap-strategies.ts`. Absent, on a container with no title
|
|
20
|
+
* row: child 0 hands the Backspace to the parent, and later children follow merge-rules.
|
|
19
21
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
readonly 'lift-first-child-keep-container': true;
|
|
23
|
-
readonly 'keep-reserved-chrome': false;
|
|
24
|
-
readonly 'list-item-cascade': false;
|
|
25
|
-
};
|
|
26
|
-
export type FirstChildBackspace = keyof typeof FIRST_CHILD_BACKSPACE_LIFTS;
|
|
27
|
-
export declare const liftsFirstChild: (strategy: FirstChildBackspace) => boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Backspace-at-start behavior for a container's children; strategies live in
|
|
30
|
-
* `editor-actions/unwrap-strategies.ts`. Absent = default (first child delegates upward;
|
|
31
|
-
* middle children follow merge-rules).
|
|
32
|
-
*/
|
|
33
|
-
export interface UnwrapRole {
|
|
34
|
-
/**
|
|
35
|
-
* `'-drop-opener'` is the quote shape, whose opener line goes with the lift so the
|
|
36
|
-
* remainder reparses as a plain quote; `'-keep-container'` is the shape `rebuildRaw`
|
|
37
|
-
* re-emits, so the remainder keeps its kind; `'keep-reserved-chrome'` declines, because
|
|
38
|
-
* child 0 is the container's chrome and a lift would carry it out.
|
|
39
|
-
*/
|
|
40
|
-
firstChildBackspace: FirstChildBackspace;
|
|
22
|
+
export interface ContainerUnwrapRole {
|
|
23
|
+
firstChildBackspace: 'lift-first-child-drop-opener' | 'lift-first-child-keep-container' | 'list-item-cascade';
|
|
41
24
|
middleChildBackspace: 'default-merge' | 'list-item-cascade';
|
|
42
25
|
}
|
|
26
|
+
/** The unwrap role the editor reads back: a container with a title row keeps child 0 in place. */
|
|
27
|
+
export interface UnwrapRole {
|
|
28
|
+
firstChildBackspace: ContainerUnwrapRole['firstChildBackspace'] | 'keep-reserved-chrome';
|
|
29
|
+
middleChildBackspace: ContainerUnwrapRole['middleChildBackspace'];
|
|
30
|
+
}
|
|
43
31
|
/**
|
|
44
|
-
* A container whose direct children reorder among themselves (Alt+Arrow
|
|
45
|
-
* reorder
|
|
46
|
-
*
|
|
32
|
+
* A container whose direct children reorder among themselves (Alt+Arrow, the drag handle). The
|
|
33
|
+
* reorder resolves its unit at the nearest ancestor declaring this; absent means the children
|
|
34
|
+
* are not independently reorderable, and the container declines the reorder at its boundary.
|
|
47
35
|
*/
|
|
48
36
|
export interface ReorderChildrenRole {
|
|
49
37
|
/**
|
|
@@ -53,229 +41,307 @@ export interface ReorderChildrenRole {
|
|
|
53
41
|
renumberMarkers?: true;
|
|
54
42
|
}
|
|
55
43
|
/**
|
|
56
|
-
* A caret
|
|
57
|
-
*
|
|
58
|
-
*
|
|
44
|
+
* A caret position in a kind's own addressing: the child path `focusByPath` follows (empty for a
|
|
45
|
+
* leaf, which is its own target) and the offset within the leaf it names. `CURSOR_END` is a legal
|
|
46
|
+
* offset here, and the one way to say "wherever that leaf ends".
|
|
59
47
|
*/
|
|
60
48
|
export interface CaretTarget {
|
|
61
49
|
path: number[];
|
|
62
50
|
offset: number;
|
|
63
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* `authored` when the user is typing in the block, so bytes may be the block's own syntax half
|
|
54
|
+
* written; `literal` for content that arrives whole (a paste, a replace, a range delete).
|
|
55
|
+
*/
|
|
56
|
+
export type WriteMode = 'authored' | 'literal';
|
|
57
|
+
/** What a write rule reads besides the bytes. */
|
|
58
|
+
export interface WriteContext {
|
|
59
|
+
/** The block whose bytes are written: the kind's own node, or for a body write its container. */
|
|
60
|
+
node: NodeView;
|
|
61
|
+
mode: WriteMode;
|
|
62
|
+
/** The document's line ending, which a line the rule writes takes when the block has none. */
|
|
63
|
+
lineEnding: LineEnding;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* How a kind makes written bytes legal: `normalize` repairs them, and `mapOffset` says where an
|
|
67
|
+
* offset into the written bytes lands in the repaired ones. `normalize` must be idempotent.
|
|
68
|
+
*/
|
|
69
|
+
export interface WriteRule {
|
|
70
|
+
normalize(raw: string, ctx: WriteContext): string;
|
|
71
|
+
mapOffset(raw: string, offset: number, ctx: WriteContext): number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Child 0 is a title row of this kind, its bytes in the container's raw: always present, one
|
|
75
|
+
* line, cleared rather than deleted, never rekinded. Register it with `registerChromeLeaf`. No
|
|
76
|
+
* container metadata may come from the row's bytes, so typing in it re-reads none.
|
|
77
|
+
*/
|
|
78
|
+
export interface ReservedChrome {
|
|
79
|
+
kind: AnyBlockKind;
|
|
80
|
+
/**
|
|
81
|
+
* A pure check of the collapsed state (node in, boolean out; no DOM, no component state).
|
|
82
|
+
* Collapse-aware traversals stop at the title row rather than reach into the hidden body.
|
|
83
|
+
*/
|
|
84
|
+
isCollapsed?: (node: NodeView) => boolean;
|
|
85
|
+
/**
|
|
86
|
+
* The metadata patch that expands a collapsed node, so focusing a hidden body child opens
|
|
87
|
+
* it. Null or absent: no way to expand, and focus goes to the title row.
|
|
88
|
+
*/
|
|
89
|
+
expandPatch?: (node: NodeView) => Record<string, unknown> | null;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* How a clipboard whose top block is this kind merges into a same-kind ancestor instead of
|
|
93
|
+
* nesting as a sub-container. Absent means always nest.
|
|
94
|
+
*/
|
|
95
|
+
export interface ContainerPaste {
|
|
96
|
+
/** Confirms the merge against the candidate ancestor (e.g. equal list ordered flags). */
|
|
97
|
+
matchesAncestor: (clipboardTop: CstNode, ancestor: CstNode) => boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Pasting into a non-empty single block: splice the clipboard items as siblings into the
|
|
100
|
+
* enclosing container when it matches, split it when it does not (the list paste shape).
|
|
101
|
+
*/
|
|
102
|
+
siblingAbsorb: boolean;
|
|
103
|
+
}
|
|
64
104
|
export interface BlockKindDescriptor {
|
|
65
105
|
mergeRole: MergeRole;
|
|
66
106
|
editable: boolean;
|
|
67
107
|
/**
|
|
68
|
-
* The kind's closure
|
|
69
|
-
* so a kind cannot ship
|
|
108
|
+
* The kind's row in the closure matrix: its answer for every cross-cutting editor system.
|
|
109
|
+
* Required, so a kind cannot ship without answering for a subsystem nobody asked about.
|
|
70
110
|
*/
|
|
71
111
|
closure: ClosureBlock;
|
|
72
112
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
113
|
+
* The block's name, to a screen reader and in the block menu ("Diagram"). Omitted, the kind
|
|
114
|
+
* name in words stands in. Built-in kinds are named in `a11y-strings.ts`, not here.
|
|
115
|
+
*/
|
|
116
|
+
label?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Markdown that parses to a tree holding this kind, for the conformance suite. Omit it for a
|
|
119
|
+
* kind no document parse yields alone; only a declared fixture is checked (G1.24).
|
|
75
120
|
*/
|
|
76
121
|
conformanceFixture?: string;
|
|
77
122
|
/**
|
|
78
123
|
* `'whole-block'` opts an opaque, childless block into the focus-then-delete model: arrow
|
|
79
|
-
* traversal stops on it, and Backspace/Delete focuses it before a second
|
|
124
|
+
* traversal stops on it, and Backspace/Delete focuses it before a second keypress deletes.
|
|
80
125
|
*/
|
|
81
126
|
blockFocus?: 'whole-block';
|
|
82
127
|
/**
|
|
83
|
-
* Edges
|
|
84
|
-
*
|
|
85
|
-
* `'none'` the explicit answer: the surface, or an existing affordance, already covers
|
|
86
|
-
* insertion at both edges. An omission once read as that decision; now it cannot compile.
|
|
128
|
+
* Edges where this kind's own editing cannot insert a sibling paragraph, so the boundary gets a
|
|
129
|
+
* gap caret (`selection/gap-caret.ts`). `'none'`: the block or a control covers both edges.
|
|
87
130
|
*/
|
|
88
131
|
gapEdges: 'before' | 'after' | 'both' | 'none';
|
|
89
132
|
isContainer: boolean;
|
|
90
133
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* `'grid'` — cells parse straight from `raw`, and that does not hold. A cell index addresses
|
|
94
|
-
* the OUTER grid as `row * width + column`: rows of equal-width cells, the width read off row 0.
|
|
95
|
-
* `'opaque'` — `raw` is authoritative, not a strip-decomposition; exempt from the stale-raw
|
|
96
|
-
* byte-check, and its `rebuildRaw` must be deterministic over children/metadata/inner trivia.
|
|
134
|
+
* How `raw` relates to the children: `docs/design/syntax-tree.md` § The container contract.
|
|
135
|
+
* A grid's cell index is `row * width + column`, every row as wide as row 0.
|
|
97
136
|
*/
|
|
98
137
|
containerContract?: 'strip' | 'grid' | 'opaque';
|
|
99
138
|
/**
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* `innerPrefix`/`innerSuffix` (`core/parser.parseContainerBody`), which is what makes that
|
|
103
|
-
* line the wrap's rather than a body block. Absent = the body starts at the container's own
|
|
104
|
-
* first line (blockquote, list item) and `innerPrefix` is always empty.
|
|
139
|
+
* For a body between the container's own marker lines (a fence, an HTML tag), whose parse gives
|
|
140
|
+
* each marker's neighbouring blank line to `innerPrefix`/`innerSuffix`. Absent: body on line one.
|
|
105
141
|
*/
|
|
106
142
|
bodyWrap?: ContainerBodyWrap;
|
|
107
143
|
/**
|
|
108
|
-
* The kind has no
|
|
109
|
-
*
|
|
144
|
+
* The kind has no opener of its own, so `parse(raw)` would not reproduce it: its container's
|
|
145
|
+
* `rebuildRaw` owns the syntax, and a content edit writes `raw` without reparsing the kind.
|
|
110
146
|
*/
|
|
111
147
|
contextDependentKind?: boolean;
|
|
112
148
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* (`schema/fenced-code-raw.ts` is the worked rule). Reads `node` for the block's own shape,
|
|
116
|
-
* must be idempotent, and owes callers a caret image when it is not prefix-composable. Every
|
|
117
|
-
* write sink applies it.
|
|
118
|
-
*/
|
|
119
|
-
normalizeRawWrite?: (raw: string, node: NodeView) => string;
|
|
120
|
-
/**
|
|
121
|
-
* Make text legal as a CHILD's raw inside this container's body (container kinds only) —
|
|
122
|
-
* `normalizeRawWrite`'s ancestor-side counterpart, for a container whose FIXED terminator
|
|
123
|
-
* (`</details>`) a body write could otherwise reproduce and truncate on. Applied at the write
|
|
124
|
-
* sinks upstream of the kind-deriving reparse, since the escape changes what the bytes parse
|
|
125
|
-
* to. `normalize` is idempotent and LINE-LOCAL; `mapOffset` is its exact caret image.
|
|
149
|
+
* The kind can take the lines right below it as its own (a link definition's title, an HTML
|
|
150
|
+
* block's body), so a write here or just below asks whether the two blocks now read as one.
|
|
126
151
|
*/
|
|
127
|
-
|
|
128
|
-
normalize: (raw: string) => string;
|
|
129
|
-
mapOffset: (raw: string, offset: number) => number;
|
|
130
|
-
};
|
|
152
|
+
readsFollowingLines?: true;
|
|
131
153
|
/**
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
* ops, kind-stable. Register the chrome kind itself via `registerChromeLeaf`.
|
|
154
|
+
* Make `raw` legal as this kind's own bytes (`schema/fenced-code-raw.ts` is the worked example).
|
|
155
|
+
* `ctx.node` is the block as it stood before the write.
|
|
135
156
|
*/
|
|
136
|
-
|
|
137
|
-
kind: AnyBlockKind;
|
|
138
|
-
/**
|
|
139
|
-
* PURE model probe (node in, bool out; no DOM, no component state) for collapsed state.
|
|
140
|
-
* Collapse-aware walks stop at the chrome leaf rather than reach into a clamped-out body.
|
|
141
|
-
*/
|
|
142
|
-
isCollapsed?: (node: NodeView) => boolean;
|
|
143
|
-
/**
|
|
144
|
-
* Pure patch that expands a collapsed node, so a reveal aimed at a clamped-out body child
|
|
145
|
-
* opens the container. Absent or null = no door, and the reveal degrades to the chrome row.
|
|
146
|
-
*/
|
|
147
|
-
expandPatch?: (node: NodeView) => Record<string, unknown> | null;
|
|
148
|
-
};
|
|
157
|
+
rawWrite?: WriteRule;
|
|
149
158
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
159
|
+
* Make text legal as a child's raw in this container's body, before the reparse, for a container
|
|
160
|
+
* whose closing line (`</details>`) a body write could reproduce. `ctx.node` is the container.
|
|
152
161
|
*/
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Non-empty single-block targets: splice clipboard items as siblings in the enclosing
|
|
158
|
-
* container when it matches, split it when it doesn't. The apply path is list-shaped.
|
|
159
|
-
*/
|
|
160
|
-
siblingAbsorb: boolean;
|
|
161
|
-
};
|
|
162
|
-
/** Backspace-at-start unwrap strategies for this container's children. Absent = default dispatch. */
|
|
162
|
+
bodyWrite?: WriteRule;
|
|
163
|
+
reservedChrome?: ReservedChrome;
|
|
164
|
+
containerPaste?: ContainerPaste;
|
|
163
165
|
unwrapRole?: UnwrapRole;
|
|
164
166
|
/**
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* trailing space is what makes the first press byte-honest: the space it took reappears the
|
|
168
|
-
* moment content arrives. Without one, every press is simply eaten.
|
|
167
|
+
* Takes the first space typed at a child's content start while its marker lacks one. `rebuildRaw`
|
|
168
|
+
* must restore the marker's trailing space, or the taken space never appears.
|
|
169
169
|
*/
|
|
170
170
|
contentStartSpace?: 'complete-marker';
|
|
171
|
-
/** This container's direct children reorder among themselves. Absent
|
|
171
|
+
/** This container's direct children reorder among themselves. Absent means they do not. */
|
|
172
172
|
reorderChildren?: ReorderChildrenRole;
|
|
173
|
-
/** Chord -> command map, consulted before the global table so a kind can shadow a global.
|
|
173
|
+
/** Chord -> command map, consulted before the global table so a kind can shadow a global.
|
|
174
|
+
* Registration throws on a malformed chord and stores the rest normalized. */
|
|
174
175
|
keymap?: KeyBinding[];
|
|
175
176
|
/** True when the block's raw contains inline syntax the inline parser should process on every edit. */
|
|
176
177
|
supportsInline: boolean;
|
|
178
|
+
/** The registration's `contentStart.range`. Absent = the default `start=0, end=displayLength`. */
|
|
179
|
+
getContentRange?: ContentStart['range'];
|
|
180
|
+
/** The registration's `contentStart.backspace`. */
|
|
181
|
+
contentStartBackspace?: ContentStart['backspace'];
|
|
177
182
|
/**
|
|
178
|
-
*
|
|
179
|
-
* a
|
|
180
|
-
*/
|
|
181
|
-
getContentRange?: (node: NodeView) => {
|
|
182
|
-
start: number;
|
|
183
|
-
end: number;
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* `'demote-first'` makes Backspace at the CONTENT start give up this kind's own structural
|
|
187
|
-
* bytes before merging — the first press a user can aim at markers they cannot see
|
|
188
|
-
* (live-mode.md § 4.4).
|
|
189
|
-
* Marker-hiding modes only; requires `getContentRange` (G1.32). Absent = the merge cascade.
|
|
190
|
-
*/
|
|
191
|
-
contentStartBackspace?: 'demote-first';
|
|
192
|
-
/**
|
|
193
|
-
* Recompute `raw` from children + metadata; built-ins in `schema/container-rebuilders.ts`.
|
|
194
|
-
* `changed` names the one child whose own raw just moved, for a rebuilder that can rewrite
|
|
195
|
-
* that child's region instead of re-reading every child. Ignoring it is always correct.
|
|
183
|
+
* Recompute `raw` from children and metadata. `changed` names the one child whose raw moved, for
|
|
184
|
+
* a rebuilder that rewrites only its region; ignoring it is always correct.
|
|
196
185
|
*/
|
|
197
186
|
rebuildRaw?: (node: CstNode, changed?: ChildRawChange) => void;
|
|
198
187
|
/** Inline image nodes render as widgets in this kind; opt out (e.g. tableCell) for alt-only fallback. */
|
|
199
188
|
renderImagesAsWidgets?: boolean;
|
|
200
189
|
/**
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* Patched in from `components/built-in-blocks.ts`, so schema keeps no component import.
|
|
190
|
+
* A foreign drag's viewport point as an offset in the kind's own addressing, or null outside it.
|
|
191
|
+
* Added from `components/built-in-blocks.ts`, so schema keeps no component import.
|
|
204
192
|
*/
|
|
205
193
|
foreignDragHitTest?: (blockEl: HTMLElement, clientX: number, clientY: number) => number | null;
|
|
206
194
|
/**
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
* drag declines off-cell.
|
|
195
|
+
* A point in the block's box as a caret position in the kind's own addressing. Unlike
|
|
196
|
+
* {@link foreignDragHitTest} it answers every point, snapping to the nearest leaf.
|
|
210
197
|
*/
|
|
211
198
|
caretTargetAtPoint?: (blockEl: HTMLElement, clientX: number, clientY: number) => CaretTarget | null;
|
|
212
|
-
/**
|
|
213
|
-
*
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
199
|
+
/**
|
|
200
|
+
* O(1) content height in px for windowing, frame excluded; a measured height still wins.
|
|
201
|
+
* `height-estimates.ts` has the common shapes. Absent: the container or prose estimate.
|
|
202
|
+
*/
|
|
203
|
+
estimateHeight?: (node: NodeView, env: HeightEstimateEnv) => number;
|
|
204
|
+
/**
|
|
205
|
+
* `'prose'` is text the user writes in: no drag handle, and a right-click opens clipboard rows.
|
|
206
|
+
* `'object'`, the default, is picked up whole, with a handle and a block menu.
|
|
207
|
+
*/
|
|
208
|
+
pageRole?: 'prose' | 'object';
|
|
209
|
+
/** What the drag ghost calls the block, for one whose text reads badly as a label (a formula's
|
|
210
|
+
* source). Absent, the ghost shows the block's first words; blank throws. */
|
|
211
|
+
dragLabel?: string;
|
|
217
212
|
}
|
|
218
213
|
/**
|
|
219
|
-
* The descriptor's fields as data, for the
|
|
220
|
-
*
|
|
221
|
-
* manifest cannot drift from the shape it enumerates.
|
|
214
|
+
* The descriptor's fields as data, for the check that holds the field table in
|
|
215
|
+
* `docs/design/plugin-contract.md` to this type; the compile check below keeps the list complete.
|
|
222
216
|
*/
|
|
223
|
-
export declare const DESCRIPTOR_FIELDS: readonly ["mergeRole", "editable", "closure", "conformanceFixture", "blockFocus", "gapEdges", "isContainer", "containerContract", "bodyWrap", "contextDependentKind", "
|
|
217
|
+
export declare const DESCRIPTOR_FIELDS: readonly ["mergeRole", "editable", "closure", "label", "conformanceFixture", "blockFocus", "gapEdges", "isContainer", "containerContract", "bodyWrap", "contextDependentKind", "readsFollowingLines", "rawWrite", "bodyWrite", "reservedChrome", "containerPaste", "unwrapRole", "contentStartSpace", "reorderChildren", "keymap", "supportsInline", "getContentRange", "contentStartBackspace", "rebuildRaw", "renderImagesAsWidgets", "foreignDragHitTest", "caretTargetAtPoint", "estimateHeight", "pageRole", "dragLabel"];
|
|
224
218
|
/**
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
* read-side shape the group normalizes into.
|
|
219
|
+
* Where a prose kind's content starts, for one whose markers take a prefix of its raw. The
|
|
220
|
+
* Backspace behavior needs the range, so the two travel together.
|
|
228
221
|
*/
|
|
229
|
-
export interface
|
|
222
|
+
export interface ContentStart {
|
|
223
|
+
/** The content range (post-marker offsets) in a node's raw. */
|
|
224
|
+
range: (node: NodeView) => {
|
|
225
|
+
start: number;
|
|
226
|
+
end: number;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* In modes that hide markers, Backspace at the content start strips this kind's markers before
|
|
230
|
+
* merging (`docs/design/live-mode.md` § 4.4 Cutting a construct open).
|
|
231
|
+
*/
|
|
232
|
+
backspace?: 'demote-first';
|
|
233
|
+
}
|
|
234
|
+
/** Container-only fields as one unit, so a leaf can't carry any of them. Each is documented on
|
|
235
|
+
* `BlockKindDescriptor`, the flat read shape this group normalizes into. */
|
|
236
|
+
interface ContainerBase {
|
|
230
237
|
contract: 'strip' | 'grid' | 'opaque';
|
|
231
238
|
rebuildRaw: (node: CstNode, changed?: ChildRawChange) => void;
|
|
232
239
|
bodyWrap?: ContainerBodyWrap;
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
unwrapRole?: UnwrapRole;
|
|
236
|
-
contentStartSpace?: BlockKindDescriptor['contentStartSpace'];
|
|
240
|
+
containerPaste?: ContainerPaste;
|
|
241
|
+
contentStartSpace?: 'complete-marker';
|
|
237
242
|
reorderChildren?: ReorderChildrenRole;
|
|
238
|
-
bodyWrite?:
|
|
243
|
+
bodyWrite?: WriteRule;
|
|
244
|
+
}
|
|
245
|
+
interface ContainerWithoutChrome extends ContainerBase {
|
|
246
|
+
reservedChrome?: never;
|
|
247
|
+
unwrapRole?: ContainerUnwrapRole;
|
|
239
248
|
}
|
|
249
|
+
/** Backspace at a title row's start never lifts it out, so only the middle strategy is declared. */
|
|
250
|
+
interface ContainerWithChrome extends ContainerBase {
|
|
251
|
+
reservedChrome: ReservedChrome;
|
|
252
|
+
unwrapRole?: {
|
|
253
|
+
/** Implied: Backspace at the start of the title row keeps it. */
|
|
254
|
+
firstChildBackspace?: never;
|
|
255
|
+
middleChildBackspace: ContainerUnwrapRole['middleChildBackspace'];
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
export type ContainerDescriptorGroup = ContainerWithChrome | ContainerWithoutChrome;
|
|
240
259
|
export declare const CONTAINER_ONLY_KEYS: readonly ["isContainer", "containerContract", "bodyWrap", "rebuildRaw", "reservedChrome", "containerPaste", "unwrapRole", "contentStartSpace", "reorderChildren", "bodyWrite"];
|
|
241
|
-
|
|
260
|
+
declare const GROUPED_KEYS: readonly ["isContainer", "containerContract", "bodyWrap", "rebuildRaw", "reservedChrome", "containerPaste", "unwrapRole", "contentStartSpace", "reorderChildren", "bodyWrite", "getContentRange", "contentStartBackspace"];
|
|
261
|
+
type GroupedKey = (typeof GROUPED_KEYS)[number];
|
|
242
262
|
/**
|
|
243
|
-
* The
|
|
244
|
-
*
|
|
263
|
+
* The fields another field constrains, so only a registration sets them. One list drives the
|
|
264
|
+
* registration and augment types and the augment's runtime refusal; `container.` names a group field.
|
|
265
|
+
*/
|
|
266
|
+
export declare const FIXED_AT_REGISTRATION: readonly ["blockFocus", "supportsInline", "contentStart", "container.reservedChrome", "container.unwrapRole"];
|
|
267
|
+
type FixedField = (typeof FIXED_AT_REGISTRATION)[number];
|
|
268
|
+
type FixedTopKey = Exclude<FixedField, `container.${string}`>;
|
|
269
|
+
type ContainerFieldOf<F> = F extends `container.${infer Key}` ? Key : never;
|
|
270
|
+
type FixedContainerKey = ContainerFieldOf<FixedField>;
|
|
271
|
+
/** The fields no other field constrains, shared by both registration shapes. */
|
|
272
|
+
type RegistrationBase = Omit<BlockKindDescriptor, GroupedKey | FixedTopKey>;
|
|
273
|
+
/**
|
|
274
|
+
* A block focused as one unit: arrow traversal stops on it, and Backspace/Delete focuses it before
|
|
275
|
+
* a second press deletes. No caret enters it, so it has no inline content, content start or title row.
|
|
245
276
|
*/
|
|
246
|
-
export interface
|
|
277
|
+
export interface WholeBlockRegistration extends RegistrationBase {
|
|
278
|
+
blockFocus: 'whole-block';
|
|
279
|
+
supportsInline: false;
|
|
280
|
+
contentStart?: never;
|
|
281
|
+
container?: ContainerWithoutChrome;
|
|
282
|
+
}
|
|
283
|
+
/** A block the caret enters: a text leaf, or a container whose children take the caret. */
|
|
284
|
+
export interface CaretBlockRegistration extends RegistrationBase {
|
|
285
|
+
blockFocus?: never;
|
|
286
|
+
supportsInline: boolean;
|
|
287
|
+
contentStart?: ContentStart;
|
|
247
288
|
container?: ContainerDescriptorGroup;
|
|
248
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* The write-side shape `registerBlockKind` accepts. `isContainer` is derived
|
|
292
|
+
* (`container !== undefined`), never declared.
|
|
293
|
+
*/
|
|
294
|
+
export type BlockKindRegistration = WholeBlockRegistration | CaretBlockRegistration;
|
|
249
295
|
/**
|
|
250
296
|
* The augment shape: top-level fields replace; a partial `container` group merges into the
|
|
251
|
-
* existing group, and is refused outright for a kind registered as a leaf.
|
|
297
|
+
* existing group, and is refused outright for a kind registered as a leaf. Fields another field
|
|
298
|
+
* depends on are fixed at registration, and naming one throws.
|
|
252
299
|
*/
|
|
253
|
-
export type BlockKindAugmentation = Partial<
|
|
254
|
-
|
|
300
|
+
export type BlockKindAugmentation = Partial<RegistrationBase> & {
|
|
301
|
+
[Key in FixedTopKey]?: never;
|
|
302
|
+
} & {
|
|
303
|
+
container?: Partial<ContainerBase> & {
|
|
304
|
+
[Key in FixedContainerKey]?: never;
|
|
305
|
+
};
|
|
255
306
|
};
|
|
256
307
|
export declare function registerBlockKind(kind: AnyBlockKind, registration: BlockKindRegistration): void;
|
|
257
308
|
/**
|
|
258
|
-
* Merge fields into a plugin's own
|
|
259
|
-
*
|
|
260
|
-
* different plugin, so cross-plugin last-writer-wins is a loud throw rather than a silent
|
|
261
|
-
* override. A kind with no recorded owner (declared outside any plugin install) stays open.
|
|
309
|
+
* Merge fields into a plugin's own kind. Throws for a built-in or another plugin's kind, so an
|
|
310
|
+
* overwrite is never silent; a kind whose descriptor no plugin owns stays open.
|
|
262
311
|
*/
|
|
263
312
|
export declare function augmentBlockKind(kind: AnyBlockKind, fields: BlockKindAugmentation): void;
|
|
264
313
|
/**
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
* public `@voithos-labs/aragonite/plugin` surface so a plugin can't rewrite a built-in.
|
|
314
|
+
* Patch a built-in descriptor with behavior schema cannot import (`components/built-in-blocks.ts`).
|
|
315
|
+
* Kept off the plugin API so a plugin cannot rewrite a built-in.
|
|
268
316
|
*/
|
|
269
317
|
export declare function augmentBuiltin(kind: AnyBlockKind, fields: BlockKindAugmentation): void;
|
|
270
318
|
export declare function getBlockKindDescriptor(kind: AnyBlockKind): BlockKindDescriptor;
|
|
271
319
|
export declare function tryGetBlockKindDescriptor(kind: AnyBlockKind): BlockKindDescriptor | undefined;
|
|
320
|
+
/** Whether a kind declares the grid contract: a table and its rows, or a plugin's equivalent. A
|
|
321
|
+
* cell is in a grid when its parent row is one. */
|
|
322
|
+
export declare function isGridKind(kind: AnyBlockKind): boolean;
|
|
323
|
+
/** {@link isGridKind} for a caller already holding the descriptor. */
|
|
324
|
+
export declare function isGridDescriptor(descriptor: BlockKindDescriptor | undefined): boolean;
|
|
325
|
+
/** Whether a block of this kind is broken with no children: every container, except one focused
|
|
326
|
+
* as a whole block, which is its own caret target. */
|
|
327
|
+
export declare function mustHoldChild(kind: AnyBlockKind): boolean;
|
|
328
|
+
/** Whether an endpoint on this block's own path counts cells rather than characters. Tables only:
|
|
329
|
+
* a plugin grid's endpoints stay character offsets on deep cell paths. */
|
|
330
|
+
export declare function countsCells(node: NodeView | DocumentView): node is Extract<NodeView, {
|
|
331
|
+
kind: 'table';
|
|
332
|
+
}>;
|
|
333
|
+
/**
|
|
334
|
+
* How many cells a table's index space holds, the exclusive upper bound on any row-major cell
|
|
335
|
+
* index. `node` must be a table block; the metadata read is unchecked, so other kinds give NaN.
|
|
336
|
+
*/
|
|
337
|
+
export declare function tableCellCount(node: NodeView): number;
|
|
338
|
+
/** A cell index clamped into a table's grid: the one upper bound every cell-space caller uses. */
|
|
339
|
+
export declare function clampCellIndex(node: NodeView, cellIdx: number): number;
|
|
272
340
|
/**
|
|
273
|
-
*
|
|
274
|
-
*
|
|
341
|
+
* Is a kind descriptor registered? `registerBlockKind` throws on a duplicate, so a plugin that
|
|
342
|
+
* may register twice (hot reload, re-import) checks this first. Takes a plain, unbranded name.
|
|
275
343
|
*/
|
|
276
344
|
export declare function isBlockKindRegistered(kind: string): boolean;
|
|
277
345
|
/** Every kind currently registered. Caller must not mutate. */
|
|
278
346
|
export declare function getAllRegisteredKinds(): AnyBlockKind[];
|
|
279
|
-
/** Test-only. Removes every non-built-in descriptor; built-ins survive. */
|
|
280
|
-
export declare function __removePluginBlockKindsForTests(): void;
|
|
281
347
|
export {};
|