@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,31 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Which modifier chords a mounted editor consumes.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Which modifier chords a mounted editor consumes. Keymap chords come from the registries; chords
|
|
3
|
+
* taken by hand-written keydown branches are listed in `HARDCODED_CHORD_SITES`, and a source scan
|
|
4
|
+
* fails until a new such file is added there (G4.29). A listed file keeps its literal key
|
|
5
|
+
* comparisons and modifier reads, the scan's evidence. Bare keys are out of scope: the document
|
|
6
|
+
* owns them.
|
|
7
7
|
*/
|
|
8
|
-
import { getAllRegisteredKinds
|
|
9
|
-
import { GLOBAL_KEYMAP, pluginGlobalChords, reservedUiChords } from './commands';
|
|
10
|
-
import {
|
|
8
|
+
import { getAllRegisteredKinds } from './block-kind-descriptor';
|
|
9
|
+
import { GLOBAL_KEYMAP, kindKeymap, pluginGlobalChords, reservedUiChords } from './commands';
|
|
10
|
+
import { kindEnablementFor } from './registry-view';
|
|
11
|
+
import { eventToChord } from './keybindings';
|
|
11
12
|
export const HARDCODED_CHORD_SITES = [
|
|
12
13
|
{
|
|
13
|
-
file: 'components/
|
|
14
|
+
file: 'components/editor-root-gestures.ts',
|
|
14
15
|
chords: [],
|
|
15
16
|
keys: [],
|
|
16
|
-
note: 'Mod-click link activation
|
|
17
|
+
note: 'Mod-click link activation: no keystroke is consumed.'
|
|
17
18
|
},
|
|
18
19
|
{
|
|
19
20
|
file: 'components/editor-root-keydown.ts',
|
|
20
21
|
chords: [],
|
|
21
|
-
keys: ['Escape'],
|
|
22
|
-
note: 'Escape closes the find bar (
|
|
22
|
+
keys: ['Escape', 'H'],
|
|
23
|
+
note: 'Escape closes the find bar, and Mod+H picks the replace row as the bar opens (reserved UI chords, enumerated). The modifier read is a refusal: an unchorded character over a live range is written as text, a chorded one goes to the handlers below it.'
|
|
23
24
|
},
|
|
24
25
|
{
|
|
25
26
|
file: 'components/editor-root-listeners.ts',
|
|
26
27
|
chords: [],
|
|
27
28
|
keys: [],
|
|
28
|
-
note: 'The Mod-held `data-mod-active` affordance tracks flag state only
|
|
29
|
+
note: 'The Mod-held `data-mod-active` affordance tracks flag state only: no keystroke is consumed.'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
file: 'selection/selection-drop.ts',
|
|
33
|
+
chords: [],
|
|
34
|
+
keys: [],
|
|
35
|
+
note: 'Ctrl/Alt at the drop is the platform copy modifier, read off a DragEvent: no keystroke is consumed.'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
file: 'selection/multi-click.ts',
|
|
39
|
+
chords: [],
|
|
40
|
+
keys: [],
|
|
41
|
+
note: 'A modified multi-click is left to the browser (Shift extends, Mod activates): no keystroke is consumed.'
|
|
29
42
|
},
|
|
30
43
|
{
|
|
31
44
|
file: 'components/GapCaret.svelte',
|
|
@@ -40,7 +53,7 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
40
53
|
'Enter',
|
|
41
54
|
'Escape'
|
|
42
55
|
],
|
|
43
|
-
note: 'The gap caret proxy claims the exits plus the Enter that
|
|
56
|
+
note: 'The gap caret proxy claims the exits plus the Enter that creates a block; Ctrl/Meta/Alt yields to the global table, and Shift takes the plain arrow branch.'
|
|
44
57
|
},
|
|
45
58
|
{
|
|
46
59
|
file: 'components/SearchBar.svelte',
|
|
@@ -52,13 +65,13 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
52
65
|
file: 'components/blocks/editable-leaf.ts',
|
|
53
66
|
chords: [],
|
|
54
67
|
keys: ['Backspace', 'Enter'],
|
|
55
|
-
note: "Shift-click gate on the rendered surface
|
|
68
|
+
note: "Shift-click gate on the rendered surface, a pointer read; plain Backspace (no modifier) at the top of an empty painted source deletes the block, as the code block does. The reveal's own undo resolves its chord through the keymap, so it claims none here."
|
|
56
69
|
},
|
|
57
70
|
{
|
|
58
71
|
file: 'components/link-card/LinkCard.svelte',
|
|
59
|
-
chords: ['Shift+Tab'
|
|
60
|
-
keys: ['Enter', '
|
|
61
|
-
note: "Backwards step of the open card's focus trap
|
|
72
|
+
chords: ['Shift+Tab'],
|
|
73
|
+
keys: ['Enter', 'Tab'],
|
|
74
|
+
note: "Backwards step of the open card's focus trap. The chord that opens the card is swallowed there too, resolved through the keymap like everywhere else. Escape lives on the host, which must also close a card the document still holds the caret for."
|
|
62
75
|
},
|
|
63
76
|
{
|
|
64
77
|
file: 'components/menu/BlockMenu.svelte',
|
|
@@ -86,19 +99,8 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
86
99
|
},
|
|
87
100
|
{
|
|
88
101
|
file: 'components/blocks/table/cell-keydown-plan.ts',
|
|
89
|
-
chords: ['
|
|
90
|
-
keys: [
|
|
91
|
-
'A',
|
|
92
|
-
'ArrowDown',
|
|
93
|
-
'ArrowLeft',
|
|
94
|
-
'ArrowRight',
|
|
95
|
-
'ArrowUp',
|
|
96
|
-
'Backspace',
|
|
97
|
-
'Delete',
|
|
98
|
-
'Enter',
|
|
99
|
-
'Tab',
|
|
100
|
-
'a'
|
|
101
|
-
]
|
|
102
|
+
chords: ['Shift+Tab'],
|
|
103
|
+
keys: ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Backspace', 'Delete', 'Enter', 'Tab']
|
|
102
104
|
},
|
|
103
105
|
{
|
|
104
106
|
file: 'components/blocks/text/TextEditableBlock.svelte',
|
|
@@ -135,9 +137,13 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
135
137
|
'ArrowUp',
|
|
136
138
|
'Backspace',
|
|
137
139
|
'Delete',
|
|
138
|
-
'
|
|
140
|
+
'End',
|
|
141
|
+
'Escape',
|
|
142
|
+
'Home',
|
|
143
|
+
'PageDown',
|
|
144
|
+
'PageUp'
|
|
139
145
|
],
|
|
140
|
-
note: 'Extends a selection into a widget. A modified arrow is also swallowed while a widget is selected, but that is a caret-coherence guard in a transient state, not a binding; a plain vertical arrow
|
|
146
|
+
note: 'Extends a selection into a widget. A modified arrow is also swallowed while a widget is selected, but that is a caret-coherence guard in a transient state, not a binding; a plain vertical arrow, Home, End or page key places a caret and declines.'
|
|
141
147
|
},
|
|
142
148
|
{
|
|
143
149
|
file: 'components/image/ImageResizeHandles.svelte',
|
|
@@ -158,16 +164,16 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
158
164
|
note: 'Shift-click declines, so the block keeps cross-block extension.'
|
|
159
165
|
},
|
|
160
166
|
{
|
|
161
|
-
file: '
|
|
167
|
+
file: 'components/image/widget-selection-state.svelte.ts',
|
|
162
168
|
chords: [],
|
|
163
|
-
keys: [
|
|
164
|
-
note: '
|
|
169
|
+
keys: [],
|
|
170
|
+
note: 'A Shift-press on a block is left to that block, which grows a range from the image.'
|
|
165
171
|
},
|
|
166
172
|
{
|
|
167
|
-
file: 'cursor/
|
|
173
|
+
file: 'cursor/caret-memory.ts',
|
|
168
174
|
chords: [],
|
|
169
|
-
keys: [
|
|
170
|
-
note: '
|
|
175
|
+
keys: [],
|
|
176
|
+
note: 'Hands the meta flag to the arrival classifier: Cmd+Arrow is a line end. Consumes nothing.'
|
|
171
177
|
},
|
|
172
178
|
{
|
|
173
179
|
file: 'editor-actions/container-block-component.ts',
|
|
@@ -183,42 +189,41 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
183
189
|
'c',
|
|
184
190
|
'x'
|
|
185
191
|
],
|
|
186
|
-
note: 'Whole-block copy/cut: a keydown carries no ClipboardEvent, so the chord is read here. The unchorded printable
|
|
192
|
+
note: 'Whole-block copy/cut: a keydown carries no ClipboardEvent, so the chord is read here. The unchorded printable creates a paragraph below, so the same modifier reads gate that branch too.'
|
|
187
193
|
},
|
|
188
194
|
{
|
|
189
195
|
file: 'editor-actions/plugin/container.ts',
|
|
190
|
-
chords: [
|
|
191
|
-
keys: [
|
|
192
|
-
note: '
|
|
196
|
+
chords: [],
|
|
197
|
+
keys: [],
|
|
198
|
+
note: 'The arrow exit for a plugin editor declines every modified key rather than claiming one.'
|
|
193
199
|
},
|
|
194
200
|
{
|
|
195
201
|
file: 'plugins/footnotes/FootnoteDefinition.svelte',
|
|
196
202
|
chords: [],
|
|
197
203
|
keys: [],
|
|
198
|
-
note: 'Mod-click on the `[^label]` marker jumps back to the reference
|
|
204
|
+
note: 'Mod-click on the `[^label]` marker jumps back to the reference: no keystroke is consumed.'
|
|
199
205
|
},
|
|
200
206
|
{
|
|
201
207
|
file: 'plugins/footnotes/FootnoteReference.svelte',
|
|
202
208
|
chords: [],
|
|
203
|
-
keys: [],
|
|
204
|
-
note: 'Mod-click jump to the definition, the link click’s gesture
|
|
209
|
+
keys: [' ', 'Enter'],
|
|
210
|
+
note: 'Mod-click jump to the definition, the link click’s gesture; Enter and Space on the reference, a tab stop in reading mode only, are bare keys.'
|
|
205
211
|
},
|
|
206
212
|
{
|
|
207
213
|
file: 'plugins/mermaid/MermaidBlock.svelte',
|
|
208
214
|
chords: ['Mod+Enter'],
|
|
209
215
|
keys: ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Enter', 'Escape', 'Tab'],
|
|
210
|
-
note: 'Commits the diagram edit; the arrows are the edit box’s boundary exits, and a modified one is declined rather than claimed. Bundled-plugin chord, listed unconditionally
|
|
216
|
+
note: 'Commits the diagram edit; the arrows are the edit box’s boundary exits, and a modified one is declined rather than claimed. Bundled-plugin chord, listed unconditionally: it coincides with the table keymap, so gating it on the install would change no answer.'
|
|
211
217
|
},
|
|
212
218
|
{
|
|
213
219
|
file: 'schema/keybindings.ts',
|
|
214
|
-
chords: [],
|
|
215
|
-
keys: [],
|
|
216
|
-
note: 'The normalizer every other site reads.'
|
|
220
|
+
chords: ['Mod+A'],
|
|
221
|
+
keys: ['A'],
|
|
222
|
+
note: 'The normalizer every other site reads, and the select-all predicate every block asks.'
|
|
217
223
|
},
|
|
218
224
|
{
|
|
219
225
|
file: 'selection/cross-block/keydown.ts',
|
|
220
226
|
chords: [
|
|
221
|
-
'Mod+A',
|
|
222
227
|
'Mod+Shift+Home',
|
|
223
228
|
'Mod+Shift+End',
|
|
224
229
|
'Shift+ArrowUp',
|
|
@@ -243,14 +248,13 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
243
248
|
'K',
|
|
244
249
|
'Tab',
|
|
245
250
|
'X',
|
|
246
|
-
'a',
|
|
247
251
|
'b',
|
|
248
252
|
'e',
|
|
249
253
|
'i',
|
|
250
254
|
'k',
|
|
251
255
|
'x'
|
|
252
256
|
],
|
|
253
|
-
note: 'Mod+0-6 routes to the merged command registry, where that binding lives. The rewrite chords are
|
|
257
|
+
note: 'Mod+0-6 routes to the merged command registry, where that binding lives. The rewrite chords are claimed over a cross-block range and handed to the cross-block dispatch: the four format toggles route to the cross-block handler, and the link card declines, since no single block can hold the link it would create. Falling through read the chord as text (or ran Ctrl+K as kill-line). Mod+Shift+X takes a branch of its own: unshifted Mod+X is the whole-block cut.'
|
|
254
258
|
},
|
|
255
259
|
{
|
|
256
260
|
file: 'selection/cross-block/pointer.ts',
|
|
@@ -267,40 +271,26 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
267
271
|
{
|
|
268
272
|
file: 'selection/shared-keydown.ts',
|
|
269
273
|
chords: ['Shift+ArrowUp', 'Shift+ArrowDown', 'Shift+ArrowLeft', 'Shift+ArrowRight'],
|
|
270
|
-
keys: [
|
|
271
|
-
'Alt',
|
|
272
|
-
'AltGraph',
|
|
273
|
-
'ArrowDown',
|
|
274
|
-
'ArrowLeft',
|
|
275
|
-
'ArrowRight',
|
|
276
|
-
'ArrowUp',
|
|
277
|
-
'CapsLock',
|
|
278
|
-
'Control',
|
|
279
|
-
'Meta',
|
|
280
|
-
'Shift',
|
|
281
|
-
'a'
|
|
282
|
-
],
|
|
274
|
+
keys: ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'],
|
|
283
275
|
note: 'Extends across a block boundary once the native extend runs out of room.'
|
|
284
276
|
}
|
|
285
277
|
];
|
|
286
|
-
const HARDCODED_CHORDS = new Set(HARDCODED_CHORD_SITES.flatMap((site) => site.chords)
|
|
278
|
+
const HARDCODED_CHORDS = new Set(HARDCODED_CHORD_SITES.flatMap((site) => site.chords));
|
|
287
279
|
/**
|
|
288
280
|
* Every modifier chord this editor consumes, normalized. Composed on each call: kind keymaps,
|
|
289
|
-
*
|
|
281
|
+
* plugin chords and the override map all change under a live editor.
|
|
290
282
|
*/
|
|
291
283
|
export function collectReservedChords(options) {
|
|
292
284
|
const claimed = new Set([
|
|
293
|
-
...registeredKeymapChords(),
|
|
285
|
+
...registeredKeymapChords(options.activation),
|
|
294
286
|
...GLOBAL_KEYMAP.map((binding) => binding.chord),
|
|
295
287
|
...pluginGlobalChords(options.activation),
|
|
296
288
|
...HARDCODED_CHORDS,
|
|
297
289
|
...(options.searchBar ? reservedUiChords() : []),
|
|
298
290
|
...overrideBoundChords(options.keybindings)
|
|
299
|
-
]
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
// A global disable unbinds the chord at every command tier. A hardcoded branch never
|
|
303
|
-
// consults the override map, so it keeps its claim.
|
|
291
|
+
].filter(carriesModifier));
|
|
292
|
+
// A global disable unbinds the chord at every command level. A hardcoded branch never
|
|
293
|
+
// consults the override map, so it keeps the chord.
|
|
304
294
|
for (const chord of globallyDisabledChords(options.keybindings)) {
|
|
305
295
|
if (!HARDCODED_CHORDS.has(chord))
|
|
306
296
|
claimed.delete(chord);
|
|
@@ -308,8 +298,8 @@ export function collectReservedChords(options) {
|
|
|
308
298
|
return claimed;
|
|
309
299
|
}
|
|
310
300
|
/**
|
|
311
|
-
* True when `chords`
|
|
312
|
-
*
|
|
301
|
+
* True when `chords` holds this keystroke, under the editor's own normalization: Ctrl and Cmd
|
|
302
|
+
* both become `Mod`, so a consumer never re-derives the platform rule.
|
|
313
303
|
*/
|
|
314
304
|
export function chordIsClaimed(event, chords) {
|
|
315
305
|
const chord = eventToChord(event);
|
|
@@ -319,8 +309,13 @@ export function chordIsClaimed(event, chords) {
|
|
|
319
309
|
function carriesModifier(chord) {
|
|
320
310
|
return chord.includes('+');
|
|
321
311
|
}
|
|
322
|
-
|
|
323
|
-
|
|
312
|
+
/** Only the kinds this editor resolves: an unlisted plugin's kind renders nowhere here, so its
|
|
313
|
+
* keymap takes no chord. */
|
|
314
|
+
function registeredKeymapChords(activation) {
|
|
315
|
+
const isEnabled = kindEnablementFor(activation);
|
|
316
|
+
return getAllRegisteredKinds()
|
|
317
|
+
.filter(isEnabled)
|
|
318
|
+
.flatMap((kind) => kindKeymap(kind).map((binding) => binding.chord));
|
|
324
319
|
}
|
|
325
320
|
function overrideBoundChords(overrides) {
|
|
326
321
|
if (!overrides)
|
|
@@ -2,22 +2,23 @@ import type { AnyBlockKind } from '../core/nodes';
|
|
|
2
2
|
import type { NodeView } from '../core/node-views';
|
|
3
3
|
import { type BlockKindDescriptor } from './block-kind-descriptor';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* a hard-coded kind.
|
|
5
|
+
* Checks for a container's reserved title row (its fixed first child), read off the container's
|
|
6
|
+
* `reservedChrome` declaration so the rest of the editor never names a plugin kind.
|
|
8
7
|
*/
|
|
9
|
-
/** The
|
|
8
|
+
/** The title row kind a container declares, or undefined if it declares none. */
|
|
10
9
|
export declare function reservedChromeKindOf(containerKind: AnyBlockKind): AnyBlockKind | undefined;
|
|
11
|
-
/** True when `childIndex` is the
|
|
10
|
+
/** True when `childIndex` is the title row position (index 0) of a container declaring one. */
|
|
12
11
|
export declare function isReservedChromeChild(container: NodeView, childIndex: number): boolean;
|
|
13
|
-
/** True only when the kind declares an `isCollapsed`
|
|
12
|
+
/** True only when the kind declares an `isCollapsed` check and that check reports it collapsed. */
|
|
14
13
|
export declare function isCollapsedContainer(node: NodeView): boolean;
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
14
|
+
/** How many of `node`'s children a caret can reach: all of them, or only the title row while the
|
|
15
|
+
* container is collapsed, so its last reachable child is this count minus one. */
|
|
16
|
+
export declare function caretChildCount(node: NodeView): number;
|
|
17
|
+
/** The same answer for a caller that already holds the descriptor: the height estimator runs per
|
|
18
|
+
* node, where a second registry lookup would cost one per block of the document. */
|
|
17
19
|
export declare function isCollapsedByDescriptor(descriptor: BlockKindDescriptor | undefined, node: NodeView): boolean;
|
|
18
20
|
/**
|
|
19
|
-
* The metadata
|
|
20
|
-
* `isCollapsedContainer
|
|
21
|
-
* reveal that opens it cannot disagree about which containers collapse.
|
|
21
|
+
* The metadata change that expands `node`, or null when its kind declares none. It reads the same
|
|
22
|
+
* declaration as `isCollapsedContainer`, so hiding a body and opening it cannot disagree.
|
|
22
23
|
*/
|
|
23
24
|
export declare function expandContainerPatch(node: NodeView): Record<string, unknown> | null;
|
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
import { tryGetBlockKindDescriptor } from './block-kind-descriptor';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* a hard-coded kind.
|
|
3
|
+
* Checks for a container's reserved title row (its fixed first child), read off the container's
|
|
4
|
+
* `reservedChrome` declaration so the rest of the editor never names a plugin kind.
|
|
6
5
|
*/
|
|
7
|
-
/** The
|
|
6
|
+
/** The title row kind a container declares, or undefined if it declares none. */
|
|
8
7
|
export function reservedChromeKindOf(containerKind) {
|
|
9
8
|
return tryGetBlockKindDescriptor(containerKind)?.reservedChrome?.kind;
|
|
10
9
|
}
|
|
11
|
-
/** True when `childIndex` is the
|
|
10
|
+
/** True when `childIndex` is the title row position (index 0) of a container declaring one. */
|
|
12
11
|
export function isReservedChromeChild(container, childIndex) {
|
|
13
12
|
return childIndex === 0 && reservedChromeKindOf(container.kind) !== undefined;
|
|
14
13
|
}
|
|
15
|
-
/** True only when the kind declares an `isCollapsed`
|
|
14
|
+
/** True only when the kind declares an `isCollapsed` check and that check reports it collapsed. */
|
|
16
15
|
export function isCollapsedContainer(node) {
|
|
17
16
|
return isCollapsedByDescriptor(tryGetBlockKindDescriptor(node.kind), node);
|
|
18
17
|
}
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
18
|
+
/** How many of `node`'s children a caret can reach: all of them, or only the title row while the
|
|
19
|
+
* container is collapsed, so its last reachable child is this count minus one. */
|
|
20
|
+
export function caretChildCount(node) {
|
|
21
|
+
const count = node.children?.length ?? 0;
|
|
22
|
+
return count > 0 && isCollapsedContainer(node) ? 1 : count;
|
|
23
|
+
}
|
|
24
|
+
/** The same answer for a caller that already holds the descriptor: the height estimator runs per
|
|
25
|
+
* node, where a second registry lookup would cost one per block of the document. */
|
|
21
26
|
export function isCollapsedByDescriptor(descriptor, node) {
|
|
22
27
|
const probe = descriptor?.reservedChrome?.isCollapsed;
|
|
23
28
|
return probe !== undefined && probe(node);
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
|
-
* The metadata
|
|
27
|
-
* `isCollapsedContainer
|
|
28
|
-
* reveal that opens it cannot disagree about which containers collapse.
|
|
31
|
+
* The metadata change that expands `node`, or null when its kind declares none. It reads the same
|
|
32
|
+
* declaration as `isCollapsedContainer`, so hiding a body and opening it cannot disagree.
|
|
29
33
|
*/
|
|
30
34
|
export function expandContainerPatch(node) {
|
|
31
35
|
const door = tryGetBlockKindDescriptor(node.kind)?.reservedChrome?.expandPatch;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The setext heading's two byte facts: where its title ends, and its write rule, declared on the
|
|
3
|
+
* kind as `rawWrite`. The underline line after the title is structure, kept under a title and
|
|
4
|
+
* dropped under a blank line, where it would read as a block of its own.
|
|
5
|
+
*/
|
|
6
|
+
import type { NodeView } from '../core/node-views';
|
|
7
|
+
import type { WriteRule } from './block-kind-descriptor';
|
|
8
|
+
/** The title's range in the heading's raw: everything before the break above the underline. */
|
|
9
|
+
export declare function setextHeadingContentRange(node: NodeView): {
|
|
10
|
+
start: number;
|
|
11
|
+
end: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const setextHeadingWrite: WriteRule;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The setext heading's two byte facts: where its title ends, and its write rule, declared on the
|
|
3
|
+
* kind as `rawWrite`. The underline line after the title is structure, kept under a title and
|
|
4
|
+
* dropped under a blank line, where it would read as a block of its own.
|
|
5
|
+
*/
|
|
6
|
+
import { displayLines, isBlankLine, trimTrailingLineEnding } from '../core/lines';
|
|
7
|
+
/** The title's range in the heading's raw: everything before the break above the underline. */
|
|
8
|
+
export function setextHeadingContentRange(node) {
|
|
9
|
+
const display = trimTrailingLineEnding(node.raw);
|
|
10
|
+
const lines = displayLines(display);
|
|
11
|
+
if (lines.length < 2)
|
|
12
|
+
return { start: 0, end: display.length };
|
|
13
|
+
const underline = lines[lines.length - 1];
|
|
14
|
+
const breakAbove = lines[lines.length - 2].ending;
|
|
15
|
+
return { start: 0, end: display.length - underline.text.length - breakAbove.length };
|
|
16
|
+
}
|
|
17
|
+
/** `raw` less the heading's underline when the line above it is blank, as an emptied ATX heading
|
|
18
|
+
* gives up its `#`. */
|
|
19
|
+
function dropUnderlineUnderBlankLine(node, raw) {
|
|
20
|
+
const underline = trimTrailingLineEnding(node.raw).slice(setextHeadingContentRange(node).end);
|
|
21
|
+
const display = trimTrailingLineEnding(raw);
|
|
22
|
+
if (!underline || !display.endsWith(underline))
|
|
23
|
+
return raw;
|
|
24
|
+
const title = display.slice(0, display.length - underline.length);
|
|
25
|
+
const lastLine = title.slice(title.lastIndexOf('\n') + 1);
|
|
26
|
+
return isBlankLine(lastLine) ? title + raw.slice(display.length) : raw;
|
|
27
|
+
}
|
|
28
|
+
export const setextHeadingWrite = {
|
|
29
|
+
normalize: (raw, ctx) => dropUnderlineUnderBlankLine(ctx.node, raw),
|
|
30
|
+
// The dropped underline sits after the blank line every caret stands on, so a caret past it
|
|
31
|
+
// lands at the end of what is left.
|
|
32
|
+
mapOffset: (raw, offset, ctx) => Math.min(offset, dropUnderlineUnderBlankLine(ctx.node, raw).length)
|
|
33
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How bytes written at one leaf position are stored and read back, so a live rewrite that removes
|
|
3
|
+
* bytes checks its candidate the way a reload will read it there. Only
|
|
4
|
+
* `tree-operations/stored-as.ts` makes one, so a rewrite can't describe its own position.
|
|
5
|
+
*/
|
|
6
|
+
import type { Document } from '../core/nodes';
|
|
7
|
+
import type { Reading } from './reading';
|
|
8
|
+
declare const storedAsBrand: unique symbol;
|
|
9
|
+
export interface StoredAs {
|
|
10
|
+
readonly reading: Reading;
|
|
11
|
+
/** `inline`: the position stores text, never a block (a table cell, a title row). */
|
|
12
|
+
readonly surface: 'block' | 'inline';
|
|
13
|
+
/** The bytes the position keeps: the kind's write rule, then its container's body rule. */
|
|
14
|
+
stored(bytes: string): string;
|
|
15
|
+
/** Stored bytes read as a reload reads them at the position, or null where the reload would
|
|
16
|
+
* read the container around them differently. */
|
|
17
|
+
readSlot(stored: string): Document | null;
|
|
18
|
+
readonly [storedAsBrand]: true;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How bytes written at one leaf position are stored and read back, so a live rewrite that removes
|
|
3
|
+
* bytes checks its candidate the way a reload will read it there. Only
|
|
4
|
+
* `tree-operations/stored-as.ts` makes one, so a rewrite can't describe its own position.
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Both passes are prefix-composable, which is what makes `escapedCellOffset` an exact caret image.
|
|
2
|
+
* The rule for writing a table cell's bytes, declared on the kind as `rawWrite`. A cell's bytes
|
|
3
|
+
* go into its row unchanged, so a bare `|` or line break reaching them would split the row and
|
|
4
|
+
* delete the last column's content. Both passes work prefix by prefix, which is what lets
|
|
5
|
+
* {@link escapedCellOffset} map a caret exactly.
|
|
7
6
|
*/
|
|
7
|
+
import type { WriteRule } from './block-kind-descriptor';
|
|
8
8
|
/**
|
|
9
|
-
* Escape every `|`
|
|
10
|
-
* backslash usually comes from text the writer never touched
|
|
9
|
+
* Escape every `|` an odd run of backslashes has not already escaped. Running it twice changes
|
|
10
|
+
* nothing: the escaping backslash usually comes from text the writer never touched.
|
|
11
11
|
*/
|
|
12
12
|
export declare function escapeUnescapedPipes(s: string): string;
|
|
13
|
+
/** A cell's text with the escape taken off each pipe, the text a spreadsheet reads; the cell
|
|
14
|
+
* writer puts it back. */
|
|
15
|
+
export declare function unescapeCellPipes(raw: string): string;
|
|
13
16
|
/** Text made legal as a cell's `raw`: no line break, no unescaped delimiter. */
|
|
14
17
|
export declare function normalizeCellRaw(raw: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Where `offset` lands once {@link normalizeCellRaw} has run, worked out by that same pass over
|
|
20
|
+
* the prefix, so the caret cannot drift out of step with the bytes.
|
|
21
|
+
*/
|
|
22
|
+
export declare function escapedCellOffset(text: string, offset: number): number;
|
|
23
|
+
/** The cell's write rule; it reads nothing but the bytes. A cell has no line ending of its own,
|
|
24
|
+
* so the one a block write carries is dropped rather than turned into a space. */
|
|
25
|
+
export declare const tableCellWrite: WriteRule;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Both passes are prefix-composable, which is what makes `escapedCellOffset` an exact caret image.
|
|
2
|
+
* The rule for writing a table cell's bytes, declared on the kind as `rawWrite`. A cell's bytes
|
|
3
|
+
* go into its row unchanged, so a bare `|` or line break reaching them would split the row and
|
|
4
|
+
* delete the last column's content. Both passes work prefix by prefix, which is what lets
|
|
5
|
+
* {@link escapedCellOffset} map a caret exactly.
|
|
7
6
|
*/
|
|
7
|
+
import { trimTrailingLineEnding } from '../core/lines';
|
|
8
8
|
/**
|
|
9
|
-
* Escape every `|`
|
|
10
|
-
* backslash usually comes from text the writer never touched
|
|
9
|
+
* Escape every `|` an odd run of backslashes has not already escaped. Running it twice changes
|
|
10
|
+
* nothing: the escaping backslash usually comes from text the writer never touched.
|
|
11
11
|
*/
|
|
12
12
|
export function escapeUnescapedPipes(s) {
|
|
13
13
|
let out = '';
|
|
@@ -24,7 +24,28 @@ export function escapeUnescapedPipes(s) {
|
|
|
24
24
|
}
|
|
25
25
|
return out;
|
|
26
26
|
}
|
|
27
|
+
/** A cell's text with the escape taken off each pipe, the text a spreadsheet reads; the cell
|
|
28
|
+
* writer puts it back. */
|
|
29
|
+
export function unescapeCellPipes(raw) {
|
|
30
|
+
return raw.replace(/\\\|/g, '|');
|
|
31
|
+
}
|
|
27
32
|
/** Text made legal as a cell's `raw`: no line break, no unescaped delimiter. */
|
|
28
33
|
export function normalizeCellRaw(raw) {
|
|
29
34
|
return escapeUnescapedPipes(raw.replace(/\r?\n/g, ' '));
|
|
30
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Where `offset` lands once {@link normalizeCellRaw} has run, worked out by that same pass over
|
|
38
|
+
* the prefix, so the caret cannot drift out of step with the bytes.
|
|
39
|
+
*/
|
|
40
|
+
export function escapedCellOffset(text, offset) {
|
|
41
|
+
return normalizeCellRaw(text.slice(0, offset)).length;
|
|
42
|
+
}
|
|
43
|
+
/** The cell's write rule; it reads nothing but the bytes. A cell has no line ending of its own,
|
|
44
|
+
* so the one a block write carries is dropped rather than turned into a space. */
|
|
45
|
+
export const tableCellWrite = {
|
|
46
|
+
normalize: (raw) => normalizeCellRaw(trimTrailingLineEnding(raw)),
|
|
47
|
+
mapOffset: (raw, offset) => {
|
|
48
|
+
const text = trimTrailingLineEnding(raw);
|
|
49
|
+
return escapedCellOffset(text, Math.min(offset, text.length));
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
4
|
-
* (an SVG, a toolbar) is
|
|
5
|
-
* 0 and `displayLength(raw)`; `selection/char-endpoint-snap.ts`
|
|
2
|
+
* The class of block with no character positions inside it: `blockFocus: 'whole-block'` means the
|
|
3
|
+
* block is focused and deleted as one unit, and having no children means there is no editable area
|
|
4
|
+
* inside it either, so what it draws (an SVG, a toolbar) is frame rather than the block's bytes.
|
|
5
|
+
* Its only offsets are 0 and `displayLength(raw)`; `selection/char-endpoint-snap.ts` holds
|
|
6
|
+
* selection to them.
|
|
6
7
|
*/
|
|
7
8
|
import type { NodeView } from '../core/node-views';
|
|
8
9
|
export declare function isWholeBlockUnit(node: NodeView): boolean;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
4
|
-
* (an SVG, a toolbar) is
|
|
5
|
-
* 0 and `displayLength(raw)`; `selection/char-endpoint-snap.ts`
|
|
2
|
+
* The class of block with no character positions inside it: `blockFocus: 'whole-block'` means the
|
|
3
|
+
* block is focused and deleted as one unit, and having no children means there is no editable area
|
|
4
|
+
* inside it either, so what it draws (an SVG, a toolbar) is frame rather than the block's bytes.
|
|
5
|
+
* Its only offsets are 0 and `displayLength(raw)`; `selection/char-endpoint-snap.ts` holds
|
|
6
|
+
* selection to them.
|
|
6
7
|
*/
|
|
7
8
|
import { tryGetBlockKindDescriptor } from './block-kind-descriptor';
|
|
8
9
|
export function isWholeBlockUnit(node) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DocumentView } from '../core/node-views';
|
|
2
2
|
import type { CompiledMatcher, RawRange } from './matcher';
|
|
3
|
-
/** `start`/`end` are raw offsets into the matched block's own raw
|
|
4
|
-
*
|
|
3
|
+
/** `start`/`end` are raw offsets into the matched block's own raw; public API, so they
|
|
4
|
+
* stay `number`, and the DOM entry points brand them. */
|
|
5
5
|
export interface Match {
|
|
6
6
|
path: number[];
|
|
7
7
|
start: number;
|
|
@@ -16,7 +16,7 @@ export interface ScanTarget {
|
|
|
16
16
|
/** The searchable leaves in document order. Split out from matching so one target list can
|
|
17
17
|
* be matched here or shipped to the off-thread executor and re-joined against its ranges. */
|
|
18
18
|
export declare function collectScanTargets(doc: DocumentView): ScanTarget[];
|
|
19
|
-
/** Joins per-target ranges back onto their paths
|
|
19
|
+
/** Joins per-target ranges back onto their paths by position: the ranges must
|
|
20
20
|
* come from the same target list, in the same order. */
|
|
21
21
|
export declare function matchesFromRanges(targets: readonly ScanTarget[], perTarget: readonly RawRange[][]): Match[];
|
|
22
22
|
export declare function scanDocument(doc: DocumentView, matcher: CompiledMatcher): Match[];
|
|
@@ -15,14 +15,14 @@ export function collectScanTargets(doc) {
|
|
|
15
15
|
return; // container raw duplicates child content; only leaves carry text
|
|
16
16
|
}
|
|
17
17
|
if (!desc.editable)
|
|
18
|
-
return; //
|
|
18
|
+
return; // non-editable kinds have no searchable text
|
|
19
19
|
out.push({ path, raw: node.raw });
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
walk(doc.children, []);
|
|
23
23
|
return out;
|
|
24
24
|
}
|
|
25
|
-
/** Joins per-target ranges back onto their paths
|
|
25
|
+
/** Joins per-target ranges back onto their paths by position: the ranges must
|
|
26
26
|
* come from the same target list, in the same order. */
|
|
27
27
|
export function matchesFromRanges(targets, perTarget) {
|
|
28
28
|
const out = [];
|
package/dist/search/matcher.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export type CompileResult = {
|
|
|
19
19
|
error: string;
|
|
20
20
|
};
|
|
21
21
|
/** What a regex-mode query compiles to. The off-thread executor searches the same
|
|
22
|
-
* language as the synchronous matcher because both
|
|
22
|
+
* language as the synchronous matcher because both build the spec here. */
|
|
23
23
|
export interface RegexSpec {
|
|
24
24
|
pattern: string;
|
|
25
25
|
flags: string;
|