@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
|
@@ -3,37 +3,42 @@
|
|
|
3
3
|
* preserves caret continuity for the break-and-splice paste path.
|
|
4
4
|
*/
|
|
5
5
|
import { metadataOf } from '../../core/nodes';
|
|
6
|
-
import {
|
|
6
|
+
import { rebuildTableRaw, tableLineEnding } from '../../schema/container-rebuilders';
|
|
7
|
+
import { promoteFirstRowToHeader } from '../table-mutations';
|
|
7
8
|
export function sliceTableAtRow(table, sliceRow, rowGoes) {
|
|
8
9
|
const rows = table.children;
|
|
9
10
|
const meta = metadataOf(table, 'table');
|
|
10
11
|
const splitAt = rowGoes === 'first' ? sliceRow + 1 : sliceRow;
|
|
11
12
|
const firstRows = rows.slice(0, splitAt);
|
|
12
13
|
const secondRows = rows.slice(splitAt);
|
|
13
|
-
const
|
|
14
|
-
const
|
|
14
|
+
const ending = tableLineEnding(table);
|
|
15
|
+
const firstHalf = buildHalf(firstRows, meta, ending);
|
|
16
|
+
const secondHalf = buildHalf(secondRows, meta, ending);
|
|
15
17
|
if (firstHalf)
|
|
16
|
-
|
|
18
|
+
rebuildTableRaw(firstHalf);
|
|
17
19
|
if (secondHalf)
|
|
18
|
-
|
|
20
|
+
rebuildTableRaw(secondHalf);
|
|
19
21
|
return { firstHalf, secondHalf };
|
|
20
22
|
}
|
|
21
|
-
function buildHalf(rows, sourceMeta) {
|
|
23
|
+
function buildHalf(rows, sourceMeta, ending) {
|
|
22
24
|
if (rows.length === 0)
|
|
23
25
|
return null;
|
|
24
|
-
const cloned = rows.map((row
|
|
26
|
+
const cloned = rows.map((row) => ({
|
|
25
27
|
...row,
|
|
26
|
-
metadata: { isHeader:
|
|
28
|
+
metadata: { ...metadataOf(row, 'tableRow'), isHeader: false },
|
|
27
29
|
children: row.children.map((cell) => ({ ...cell }))
|
|
28
30
|
}));
|
|
29
|
-
|
|
31
|
+
const half = {
|
|
30
32
|
kind: 'table',
|
|
31
33
|
leadingTrivia: '',
|
|
32
|
-
raw
|
|
34
|
+
// The rebuild reads the line ending off the raw it replaces.
|
|
35
|
+
raw: ending,
|
|
33
36
|
metadata: {
|
|
34
37
|
columnCount: sourceMeta.columnCount,
|
|
35
38
|
alignments: sourceMeta.alignments.slice()
|
|
36
39
|
},
|
|
37
40
|
children: cloned
|
|
38
41
|
};
|
|
42
|
+
promoteFirstRowToHeader(half);
|
|
43
|
+
return half;
|
|
39
44
|
}
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { GrammarView } from '../schema/block-openers';
|
|
1
|
+
import { type AnyBlockKind, type CstNode, type Document } from '../core/nodes';
|
|
2
|
+
import type { LineEnding } from '../core/lines';
|
|
3
|
+
import type { StoredAs } from '../schema/stored-as';
|
|
4
|
+
import type { ChildSlot } from './list/task-paragraph';
|
|
6
5
|
import type { PasteCommitCoordinator } from './paste/paste-deps';
|
|
6
|
+
import type { PluginActivation } from '../schema/plugin-activation';
|
|
7
7
|
export interface PasteRange {
|
|
8
8
|
start: number;
|
|
9
9
|
end: number;
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* What the join-seam cleanup needs from the caller: the paste's delete half is a join, and in
|
|
13
|
-
* live the runs it strands are bytes the reader never saw. Absent leaves the cut byte-literal,
|
|
14
|
-
* which is every non-live mode's answer anyway.
|
|
15
|
-
*/
|
|
16
|
-
export interface PasteSeam {
|
|
17
|
-
presentationMode: PresentationMode | undefined;
|
|
18
|
-
linkRef: InlineResolverRef | undefined;
|
|
19
|
-
}
|
|
20
11
|
export interface InlinePasteResult {
|
|
21
12
|
/** New raw for the target node (including trailing line ending). */
|
|
22
13
|
newRaw: string;
|
|
@@ -33,22 +24,18 @@ export interface ScopedStructuralPasteInput {
|
|
|
33
24
|
/** Pasted blocks, blank-line-materialized. */
|
|
34
25
|
blocks: CstNode[];
|
|
35
26
|
controller: PasteCommitCoordinator;
|
|
36
|
-
undoEntry: UndoEntryMode;
|
|
37
|
-
/** The instance grammar the splice owes its bodyWrite escape reparse. Required-nullable, so
|
|
38
|
-
* a new scoped surface cannot silently drop it; `undefined` = global. */
|
|
39
|
-
grammar: GrammarView | undefined;
|
|
40
27
|
}
|
|
41
28
|
export interface PasteSurface {
|
|
42
29
|
kind: AnyBlockKind;
|
|
43
|
-
/**
|
|
44
|
-
*
|
|
45
|
-
* edge is the copy's packaging: it neither picks the route nor lands in a structural splice.
|
|
46
|
-
*/
|
|
30
|
+
/** The kind's editable element holds text, never blocks (a table cell), so a blank block at the
|
|
31
|
+
* clipboard's edge is packaging: it neither picks the route nor lands in a splice. */
|
|
47
32
|
blankEdgesArePackaging?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
33
|
+
/** Pure. The pasted text replaces the pre-delete through `replaceRangeInLeaf`, as typing it
|
|
34
|
+
* would; every line the hook writes takes `lineEnding`, the document's. */
|
|
35
|
+
onInlinePaste?(node: CstNode, offset: number, text: string, preDelete: PasteRange | undefined, store: StoredAs, lineEnding: LineEnding): InlinePasteResult;
|
|
36
|
+
/** Splice CST blocks at the target. Pure data transform. `slot` is where the target sits, so
|
|
37
|
+
* the text the hook leaves there is read as a reload reads it. */
|
|
38
|
+
onStructuralPaste?(node: CstNode, offset: number, blocks: CstNode[], preDelete: PasteRange | undefined, store: StoredAs, lineEnding: LineEnding, slot: ChildSlot): StructuralPasteResult;
|
|
52
39
|
/**
|
|
53
40
|
* Structural paste whose splice scope is an ancestor (a tableCell splices at the
|
|
54
41
|
* table's parent). The hook owns the whole mutation; dispatch does nothing afterward.
|
|
@@ -56,6 +43,8 @@ export interface PasteSurface {
|
|
|
56
43
|
onScopedStructuralPaste?(input: ScopedStructuralPasteInput): Promise<void>;
|
|
57
44
|
}
|
|
58
45
|
export declare function registerPasteSurface(surface: PasteSurface): void;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
export declare function
|
|
46
|
+
/** The kind's surface in an editor with this activation; a plugin kind's surface is absent where
|
|
47
|
+
* the editor left out the kind's plugin, so the paste takes the default hooks. */
|
|
48
|
+
export declare function getPasteSurface(kind: AnyBlockKind, activation: PluginActivation): PasteSurface | undefined;
|
|
49
|
+
/** Whether any plugin or built-in registered a surface for the kind, whatever the activation. */
|
|
50
|
+
export declare function isPasteSurfaceRegistered(kind: AnyBlockKind): boolean;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isBuiltinBlockKind } from '../core/nodes';
|
|
2
|
+
import { createBlockKindRegistry } from '../schema/plugin-registry';
|
|
2
3
|
// ── Registry ───────────────────────────────────────────────────────────────
|
|
3
|
-
const surfaces =
|
|
4
|
+
const surfaces = createBlockKindRegistry({
|
|
5
|
+
label: 'registerPasteSurface',
|
|
6
|
+
isBuiltin: isBuiltinBlockKind
|
|
7
|
+
});
|
|
4
8
|
export function registerPasteSurface(surface) {
|
|
5
|
-
|
|
9
|
+
surfaces.register(surface.kind, surface, `registerPasteSurface: "${surface.kind}" is already registered. Paste surfaces are register-once.`);
|
|
6
10
|
}
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
/** The kind's surface in an editor with this activation; a plugin kind's surface is absent where
|
|
12
|
+
* the editor left out the kind's plugin, so the paste takes the default hooks. */
|
|
13
|
+
export function getPasteSurface(kind, activation) {
|
|
14
|
+
return surfaces.get(kind, activation);
|
|
9
15
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export function __removePasteSurfaceForTests(kind) {
|
|
14
|
-
surfaces.delete(kind);
|
|
16
|
+
/** Whether any plugin or built-in registered a surface for the kind, whatever the activation. */
|
|
17
|
+
export function isPasteSurfaceRegistered(kind) {
|
|
18
|
+
return surfaces.has(kind);
|
|
15
19
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Path-addressed child splices for the range
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* reached without it writes through a snapshot-shared node (G1.9). Callers unshare the PARENT
|
|
7
|
-
* spine themselves; `sharing` is what unshares the children the settle touches.
|
|
2
|
+
* Path-addressed child splices for the range delete, through `spliceChildrenSettled` so a
|
|
3
|
+
* container at any depth keeps its `childIds` and separators right. `sharing` is required, since
|
|
4
|
+
* the fix-up writes neighbours' bytes that an undo snapshot may share (G1.9). Callers copy the
|
|
5
|
+
* parent chain themselves; `sharing` copies the children the fix-up touches.
|
|
8
6
|
*/
|
|
9
7
|
import type { CstNode, Document } from '../core/nodes';
|
|
8
|
+
import type { GrammarView } from '../schema/block-openers';
|
|
10
9
|
import type { SharingState } from './sharing';
|
|
11
|
-
export declare function deleteAtPath(doc: Document, path: number[], sharing: SharingState): void;
|
|
12
|
-
export declare function replaceAtPath(doc: Document, path: number[], replacement: CstNode[], sharing: SharingState): void;
|
|
10
|
+
export declare function deleteAtPath(doc: Document, path: number[], sharing: SharingState, grammar: GrammarView): void;
|
|
11
|
+
export declare function replaceAtPath(doc: Document, path: number[], replacement: CstNode[], sharing: SharingState, grammar: GrammarView): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { nodeAt } from './node-primitives';
|
|
2
2
|
import { spliceChildrenSettled } from './settle';
|
|
3
|
-
export function deleteAtPath(doc, path, sharing) {
|
|
3
|
+
export function deleteAtPath(doc, path, sharing, grammar) {
|
|
4
4
|
if (path.length === 0)
|
|
5
5
|
return;
|
|
6
6
|
const parent = nodeAt(doc, path.slice(0, -1));
|
|
@@ -8,14 +8,14 @@ export function deleteAtPath(doc, path, sharing) {
|
|
|
8
8
|
return;
|
|
9
9
|
const idx = path[path.length - 1];
|
|
10
10
|
if (idx < parent.children.length) {
|
|
11
|
-
spliceChildrenSettled(parent, idx, 1, [], sharing);
|
|
11
|
+
spliceChildrenSettled(parent, idx, 1, [], grammar, sharing);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
export function replaceAtPath(doc, path, replacement, sharing) {
|
|
14
|
+
export function replaceAtPath(doc, path, replacement, sharing, grammar) {
|
|
15
15
|
if (path.length === 0)
|
|
16
16
|
return;
|
|
17
17
|
const parent = nodeAt(doc, path.slice(0, -1));
|
|
18
18
|
if (!parent || !parent.children)
|
|
19
19
|
return;
|
|
20
|
-
spliceChildrenSettled(parent, path[path.length - 1], 1, replacement, sharing);
|
|
20
|
+
spliceChildrenSettled(parent, path[path.length - 1], 1, replacement, grammar, sharing);
|
|
21
21
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Resolve the reorderable unit a path points into: the nearest
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* than walking past to the document and teleporting the container to a top-level index.
|
|
2
|
+
* Resolve the reorderable unit a path points into: the nearest position whose parent declares
|
|
3
|
+
* `reorderChildren`, a capability rather than a kind name, so a plugin container opts in as the
|
|
4
|
+
* built-ins do. An opaque container is a hard boundary: reorder declines there rather than move
|
|
5
|
+
* the whole container to a top-level index.
|
|
7
6
|
*/
|
|
8
7
|
import type { Document } from '../core/nodes';
|
|
9
8
|
export interface ReorderUnit {
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Resolve the reorderable unit a path points into: the nearest
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* than walking past to the document and teleporting the container to a top-level index.
|
|
2
|
+
* Resolve the reorderable unit a path points into: the nearest position whose parent declares
|
|
3
|
+
* `reorderChildren`, a capability rather than a kind name, so a plugin container opts in as the
|
|
4
|
+
* built-ins do. An opaque container is a hard boundary: reorder declines there rather than move
|
|
5
|
+
* the whole container to a top-level index.
|
|
7
6
|
*/
|
|
8
7
|
import { tryGetBlockKindDescriptor } from '../schema/block-kind-descriptor';
|
|
9
8
|
import { nodeAt } from './node-primitives';
|
|
10
9
|
export function resolveReorderUnit(doc, path) {
|
|
11
10
|
for (let depth = path.length; depth >= 1; depth--) {
|
|
12
11
|
const parentPath = path.slice(0, depth - 1);
|
|
13
|
-
// The root is identified structurally, never by kind: a plugin may
|
|
12
|
+
// The root is identified structurally, never by kind: a plugin may register 'document'
|
|
14
13
|
// as a block kind, and such a node is just another container.
|
|
15
14
|
if (parentPath.length === 0) {
|
|
16
15
|
return { parentPath, index: path[depth - 1], scope: 'document', renumberMarkers: false };
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import type { CstNode } from '../core/nodes';
|
|
2
2
|
import type { SharingState } from './sharing';
|
|
3
|
+
import type { BodyParent } from './node-primitives';
|
|
3
4
|
import { type SettledSplice } from './settle';
|
|
4
5
|
import type { StructuralChange } from './structural-change';
|
|
6
|
+
import type { GrammarView } from '../schema/block-openers';
|
|
5
7
|
export declare function reorderChildren(children: CstNode[], from: number, to: number): StructuralChange;
|
|
6
8
|
/**
|
|
7
|
-
* Reorder children
|
|
8
|
-
*
|
|
9
|
-
* it is a byte write, so spanned children are unshared first (`unshare.ts`) and `children` must
|
|
10
|
-
* already be an owned array. The landing rides the result: a fold settling a seam the move
|
|
11
|
-
* invalidated can sit above the moved block.
|
|
9
|
+
* Reorder a body's children, each separator staying with its position rather than its node. The
|
|
10
|
+
* children must be an owned array; the result's `landing` counts any merge the move set off.
|
|
12
11
|
*/
|
|
13
|
-
export declare function reorderChildrenWithTrivia(
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
separators?: boolean): SettledSplice;
|
|
12
|
+
export declare function reorderChildrenWithTrivia(body: BodyParent, from: number, to: number, sharing: SharingState,
|
|
13
|
+
/** The editor's grammar, in which the checks below reread each pair of moved blocks. */
|
|
14
|
+
grammar: GrammarView): SettledSplice;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { isBlankParagraph,
|
|
2
|
-
import {
|
|
1
|
+
import { isBlankParagraph, readBlocks } from '../core/parser';
|
|
2
|
+
import { lineEndingAt, ownTrailingLineEnding } from '../core/lines';
|
|
3
3
|
import { ensureUnsharedChild } from './unshare';
|
|
4
|
+
import { endWindowLines } from './open-tail';
|
|
4
5
|
import { absorbWindowSeams, settleSeparatorOnBlank } from './settle';
|
|
5
6
|
import { devWarn } from '../dev-warn';
|
|
6
7
|
// A stale index (a mid-drag delete shrank the array) would splice `undefined` into the
|
|
7
|
-
// $state tree, so both entry points
|
|
8
|
+
// $state tree, so both entry points check the bounds before any copy or write.
|
|
8
9
|
function isReorderOutOfBounds(from, to, len) {
|
|
9
10
|
if (from < 0 || from >= len || to < 0 || to >= len) {
|
|
10
11
|
devWarn('reorder', `reorder out of bounds: from=${from} to=${to} len=${len}`);
|
|
@@ -13,7 +14,7 @@ function isReorderOutOfBounds(from, to, len) {
|
|
|
13
14
|
return false;
|
|
14
15
|
}
|
|
15
16
|
// A reorder rewrites no bytes and creates no node: it is one contiguous `replace`
|
|
16
|
-
// whose idMap permutes the spanned window so each moved block keeps its id
|
|
17
|
+
// whose idMap permutes the spanned window so each moved block keeps its id and ref.
|
|
17
18
|
export function reorderChildren(children, from, to) {
|
|
18
19
|
if (from === to)
|
|
19
20
|
return { op: 'noop' };
|
|
@@ -33,16 +34,13 @@ export function reorderChildren(children, from, to) {
|
|
|
33
34
|
return { op: 'replace', at: lo, count, newCount: count, idMap };
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
|
-
* Reorder children
|
|
37
|
-
*
|
|
38
|
-
* it is a byte write, so spanned children are unshared first (`unshare.ts`) and `children` must
|
|
39
|
-
* already be an owned array. The landing rides the result: a fold settling a seam the move
|
|
40
|
-
* invalidated can sit above the moved block.
|
|
37
|
+
* Reorder a body's children, each separator staying with its position rather than its node. The
|
|
38
|
+
* children must be an owned array; the result's `landing` counts any merge the move set off.
|
|
41
39
|
*/
|
|
42
|
-
export function reorderChildrenWithTrivia(
|
|
43
|
-
/**
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
export function reorderChildrenWithTrivia(body, from, to, sharing,
|
|
41
|
+
/** The editor's grammar, in which the checks below reread each pair of moved blocks. */
|
|
42
|
+
grammar) {
|
|
43
|
+
const children = body.children;
|
|
46
44
|
if (from === to)
|
|
47
45
|
return { change: { op: 'noop' }, landing: to };
|
|
48
46
|
if (isReorderOutOfBounds(from, to, children.length)) {
|
|
@@ -50,6 +48,8 @@ separators = false) {
|
|
|
50
48
|
}
|
|
51
49
|
const lo = Math.min(from, to);
|
|
52
50
|
const hi = Math.max(from, to);
|
|
51
|
+
// Whether the moved block sat flush against both its neighbours, read before the rotation.
|
|
52
|
+
const flushAround = !children[from].leadingTrivia && !children[from + 1]?.leadingTrivia;
|
|
53
53
|
const windowTrivia = [];
|
|
54
54
|
for (let i = lo; i <= hi; i++) {
|
|
55
55
|
windowTrivia.push(ensureUnsharedChild({ children }, i, sharing).leadingTrivia);
|
|
@@ -58,50 +58,49 @@ separators = false) {
|
|
|
58
58
|
for (let k = 0; k < windowTrivia.length; k++) {
|
|
59
59
|
children[lo + k].leadingTrivia = windowTrivia[k];
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
// A blank line reseated by position can hold a line its follower holds too; the run owes
|
|
72
|
-
// exactly one, and none at the document head, where the reload reads each as a block.
|
|
73
|
-
for (let at = lo; at <= hi; at++) {
|
|
74
|
-
if (isBlankParagraph(children[at]))
|
|
75
|
-
settleSeparatorOnBlank({ children }, at, sharing);
|
|
76
|
-
}
|
|
61
|
+
// The joins below read the moved blocks side by side, so a moved open last line ends first; this
|
|
62
|
+
// call goes once the commit settles the move's joins, and the commit gives the ending back.
|
|
63
|
+
endWindowLines(body, change, sharing, grammar);
|
|
64
|
+
// Each join the move touches gets a blank line where the two blocks would read as one; the
|
|
65
|
+
// pair the moved block left rejoins only if it sat flush against both of them.
|
|
66
|
+
const vacated = from < to ? from : from + 1;
|
|
67
|
+
for (let at = lo; at <= hi + 1; at++) {
|
|
68
|
+
if (at !== vacated || !flushAround)
|
|
69
|
+
separateSeam(children, at, sharing, grammar);
|
|
77
70
|
}
|
|
78
|
-
|
|
71
|
+
// A blank block moved by position can hold a line its follower holds too; the run needs
|
|
72
|
+
// exactly one, and none at the document head, where the reload reads each as a block.
|
|
73
|
+
for (let at = lo; at <= hi; at++) {
|
|
74
|
+
if (isBlankParagraph(children[at]))
|
|
75
|
+
settleSeparatorOnBlank({ children }, at, sharing);
|
|
76
|
+
}
|
|
77
|
+
return absorbWindowSeams({ children }, lo, hi - lo + 1, to, change, grammar, sharing);
|
|
79
78
|
}
|
|
80
79
|
/**
|
|
81
|
-
* Give the follower at `at` a separator where the reload would
|
|
82
|
-
*
|
|
83
|
-
* unterminated fence taking the prose below it) is the reload's true reading, left to the
|
|
84
|
-
* absorber, which the fold tests pin.
|
|
80
|
+
* Give the follower at `at` a separator only where the reload would not read the two blocks back
|
|
81
|
+
* as themselves; a block that swallows across a blank line is left to the neighbour merge.
|
|
85
82
|
*/
|
|
86
|
-
function separateSeam(children, at, sharing) {
|
|
83
|
+
function separateSeam(children, at, sharing, grammar) {
|
|
87
84
|
if (at <= 0 || at >= children.length)
|
|
88
85
|
return;
|
|
89
86
|
const prev = children[at - 1];
|
|
90
87
|
const next = children[at];
|
|
91
|
-
|
|
88
|
+
// The block above is not the last, so its line ending is the document's.
|
|
89
|
+
const apart = withLeadingLine(next.leadingTrivia, ownTrailingLineEnding(prev.raw));
|
|
92
90
|
if (apart === next.leadingTrivia)
|
|
93
91
|
return;
|
|
94
|
-
|
|
92
|
+
const readsAsBoth = (trivia) => readsAsPair(prev, trivia, next, grammar);
|
|
93
|
+
if (readsAsBoth(next.leadingTrivia) || !readsAsBoth(apart))
|
|
95
94
|
return;
|
|
96
95
|
ensureUnsharedChild({ children }, at, sharing).leadingTrivia = apart;
|
|
97
96
|
}
|
|
98
97
|
function withLeadingLine(trivia, eol) {
|
|
99
|
-
return trivia
|
|
98
|
+
return lineEndingAt(trivia, 0) !== '' ? trivia : eol + trivia;
|
|
100
99
|
}
|
|
101
100
|
// Two blocks of the same shape, not merely two: a quote lazily taking the first line of the
|
|
102
101
|
// prose below it still reads as two, with the remainder a different kind.
|
|
103
|
-
function
|
|
104
|
-
const blocks =
|
|
102
|
+
function readsAsPair(prev, trivia, next, grammar) {
|
|
103
|
+
const blocks = readBlocks(prev.raw + trivia + next.raw, { grammar, scope: 'fragment' }).children;
|
|
105
104
|
return (blocks.length === 2 &&
|
|
106
105
|
blocks[0].kind === prev.kind &&
|
|
107
106
|
blocks[0].raw === prev.raw &&
|
|
@@ -1,105 +1,94 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* every
|
|
2
|
+
* Recomputes the blank-line separators an edit left stale, merges neighbours that would re-read
|
|
3
|
+
* as one block on reload, and deletes a block on top of both (`docs/design/syntax-tree.md` § Blank
|
|
4
|
+
* lines). Every in-place write goes through `sharing`, so no undo snapshot sees it (G1.9), and
|
|
5
|
+
* `lint/separator-write-doors.test.ts` must list every function here that writes a separator.
|
|
6
6
|
*/
|
|
7
7
|
import type { CstNode, Document } from '../core/nodes';
|
|
8
8
|
import type { NodeView } from '../core/node-views';
|
|
9
|
+
import type { GrammarView } from '../schema/block-openers';
|
|
9
10
|
import type { SharingState } from './sharing';
|
|
10
11
|
import { type StructuralChange } from './structural-change';
|
|
11
12
|
import { type BodyParentArg, type NodeParent, type SeparatorParent } from './node-primitives';
|
|
12
13
|
/**
|
|
13
|
-
*
|
|
14
|
-
* where the parser would read the extra line as one more empty paragraph.
|
|
14
|
+
* Drop the separator at `index` where nothing needs one: at the body head, or below a blank
|
|
15
|
+
* block, where the parser would read the extra line as one more empty paragraph.
|
|
15
16
|
*/
|
|
16
17
|
export declare function clearRedundantSeparator(parent: SeparatorParent, index: number, sharing?: SharingState): void;
|
|
17
18
|
/**
|
|
18
|
-
* A blank block
|
|
19
|
-
* follower's
|
|
19
|
+
* A blank block is itself a blank line, so it and its follower share one separator (G2.13). The
|
|
20
|
+
* follower's is kept, so filling the blank block later still finds the follower separated.
|
|
20
21
|
*/
|
|
21
22
|
export declare function dropDoubledSeparator(parent: SeparatorParent, index: number, sharing?: SharingState): void;
|
|
22
23
|
/**
|
|
23
24
|
* The separator a block takes back when it stops being blank: its own blank line was what stood
|
|
24
|
-
* between it and a non-blank predecessor. Call
|
|
25
|
+
* between it and a non-blank predecessor. Call when the block is filled.
|
|
25
26
|
*/
|
|
26
27
|
export declare function restoreSeparatorOnFill(parent: SeparatorParent, index: number, sharing?: SharingState): void;
|
|
27
28
|
/**
|
|
28
|
-
* The separator the block
|
|
29
|
-
*
|
|
29
|
+
* The separator the block below a consumed blank line takes back, skipped for a blank block whose
|
|
30
|
+
* follower already holds one, since the two share it (G2.13).
|
|
30
31
|
*/
|
|
31
32
|
export declare function restoreSeparatorAfterBlank(parent: SeparatorParent, index: number, sharing?: SharingState): void;
|
|
32
33
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* kept; a mint lands at the run's head, the only slot one may take.
|
|
34
|
+
* A block turned blank joins a run that, with its follower, must carry exactly one separating line;
|
|
35
|
+
* a standing line is kept, and a new one goes at the run's head, the only place one may sit.
|
|
36
36
|
*/
|
|
37
37
|
export declare function settleSeparatorOnBlank(parent: SeparatorParent, index: number, sharing?: SharingState): void;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
39
|
+
* A tail block that stops being blank gives back the `innerSuffix` line {@link
|
|
40
|
+
* settleSeparatorOnBlank} lent it, or the container emits a line nobody typed.
|
|
41
41
|
*/
|
|
42
42
|
export declare function releaseWrapPeel(parent: SeparatorParent, index: number): void;
|
|
43
43
|
/**
|
|
44
|
-
* The commit
|
|
45
|
-
*
|
|
46
|
-
* so a coarse descriptor over an in-place write settles as one.
|
|
44
|
+
* The commit's entry point: recompute the separators around `change`'s window against `before`,
|
|
45
|
+
* the children before the mutation. A node that survives inside the window counts as kept.
|
|
47
46
|
*/
|
|
48
|
-
export declare function settleSeparator(parent: SeparatorParent, before: readonly CstNode[], change: StructuralChange, sharing?: SharingState, tracked?: TrackedPosition): StructuralChange;
|
|
47
|
+
export declare function settleSeparator(parent: SeparatorParent, before: readonly CstNode[], change: StructuralChange, grammar: GrammarView, sharing?: SharingState, tracked?: TrackedPosition): StructuralChange;
|
|
49
48
|
/**
|
|
50
|
-
*
|
|
51
|
-
* the live tree
|
|
52
|
-
*/
|
|
53
|
-
export declare function spliceChildrenSettled(parent: CstNode | Document, at: number, removeCount: number, replacement: CstNode[], sharing?: SharingState): void;
|
|
54
|
-
/**
|
|
55
|
-
* What a seam settle absorbed: post-splice window position and size, and the net blocks eaten.
|
|
56
|
-
* `span + eaten` is the pre-absorb slot count, which is what a change descriptor reports.
|
|
49
|
+
* {@link settleSeparator} for a splice outside a commit scope, into a container found by walking
|
|
50
|
+
* the live tree; `spliceChildren` keeps its `childIds` in step.
|
|
57
51
|
*/
|
|
52
|
+
export declare function spliceChildrenSettled(parent: CstNode | Document, at: number, removeCount: number, replacement: CstNode[], grammar: GrammarView, sharing?: SharingState): void;
|
|
53
|
+
/** What a merge of neighbours absorbed; `span + eaten` is the block count before the merge, the
|
|
54
|
+
* figure a change descriptor reports. */
|
|
58
55
|
interface SeamAbsorption {
|
|
59
56
|
at: number;
|
|
60
57
|
span: number;
|
|
61
58
|
eaten: number;
|
|
62
59
|
spliced: boolean;
|
|
63
60
|
}
|
|
64
|
-
/** A byte position the
|
|
61
|
+
/** A byte position the merges keep updated, written in place since each merge re-divides the
|
|
62
|
+
* bytes into blocks. */
|
|
65
63
|
export interface TrackedPosition {
|
|
66
64
|
index: number;
|
|
67
65
|
offset: number;
|
|
68
66
|
}
|
|
69
67
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* is transparent to a container's continuation, so the window anchors at the nearest non-blank
|
|
73
|
-
* block above the seam, never below `floor`, and cascades.
|
|
74
|
-
*/
|
|
75
|
-
export declare function absorbSeamReading(parent: NodeParent, seamLeft: number, floor: number, sharing?: SharingState, tracked?: TrackedPosition, headProbe?: number, onBeforeSplice?: () => void): SeamAbsorption;
|
|
76
|
-
/**
|
|
77
|
-
* Map a post-edit caret offset (in the committed text) to the parsed block it falls in, as a
|
|
78
|
-
* local display offset. An offset inside inter-block trivia lands at the next block's start;
|
|
79
|
-
* past-the-end clamps to the last.
|
|
68
|
+
* Merge neighbours while their joined bytes reload as fewer blocks or move content into the head;
|
|
69
|
+
* blank lines don't end a container, so the window starts at the nearest non-blank block above.
|
|
80
70
|
*/
|
|
71
|
+
export declare function absorbSeamReading(parent: NodeParent, seamLeft: number, floor: number, grammar: GrammarView, sharing?: SharingState, tracked?: TrackedPosition, headProbe?: number, onBeforeSplice?: () => void): SeamAbsorption;
|
|
72
|
+
/** The block a caret offset into the committed bytes falls in, and its offset there. An offset in
|
|
73
|
+
* the blank lines between blocks lands at the next block's start. */
|
|
81
74
|
export declare function focusTargetInReplacement(nodes: readonly NodeView[], offset: number): {
|
|
82
75
|
index: number;
|
|
83
76
|
offset: number;
|
|
84
77
|
};
|
|
85
|
-
/** What a splice
|
|
78
|
+
/** What settling a splice produced: its change widened by every merge, and where a tracked
|
|
79
|
+
* index ended up. */
|
|
86
80
|
export interface SettledSplice {
|
|
87
81
|
change: StructuralChange;
|
|
88
82
|
landing: number;
|
|
89
83
|
}
|
|
90
|
-
/**
|
|
91
|
-
*
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
* decline on its first line alone; dropped once anything folds, since its index has moved.
|
|
95
|
-
*/
|
|
96
|
-
export declare function absorbWindowSeams(parent: NodeParent, at: number, added: number, landing: number, change: StructuralChange, sharing?: SharingState, tracked?: TrackedPosition, headProbe?: number, onBeforeSplice?: () => void): SettledSplice;
|
|
97
|
-
/** The materialized tail reported inside the sink's one contiguous window. */
|
|
84
|
+
/** Merge across every join the splice at `at` disturbed, the joins inside the window included,
|
|
85
|
+
* since a move can break a join that was correct. `headProbe` names the one changed block. */
|
|
86
|
+
export declare function absorbWindowSeams(parent: NodeParent, at: number, added: number, landing: number, change: StructuralChange, grammar: GrammarView, sharing?: SharingState, tracked?: TrackedPosition, headProbe?: number, onBeforeSplice?: () => void): SettledSplice;
|
|
87
|
+
/** The tail line that became a block, reported inside the caller's one contiguous window. */
|
|
98
88
|
export declare function widenForTailMint(change: StructuralChange, before: number, after: number): StructuralChange;
|
|
99
|
-
/**
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
*
|
|
103
|
-
|
|
104
|
-
export declare function deleteNode(parent: BodyParentArg, blockIndex: number, sharing?: SharingState): StructuralChange;
|
|
89
|
+
/** The kind whose body these children are: the named owner's, or the parent node's own. */
|
|
90
|
+
export declare function ownerKindNameOf(parent: SeparatorParent): string | undefined;
|
|
91
|
+
/** Remove the node at `blockIndex`, leaving its successor separated once and no more. Takes
|
|
92
|
+
* {@link BodyParentArg} since the fix-up can move a freed line into the owner's `innerPrefix`. */
|
|
93
|
+
export declare function deleteNode(parent: BodyParentArg, blockIndex: number, grammar: GrammarView, sharing?: SharingState, tracked?: TrackedPosition): StructuralChange;
|
|
105
94
|
export {};
|