@voithos-labs/aragonite 0.10.4 → 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 +11 -5
- package/dist/a11y-strings.js +60 -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 +12 -21
- 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 +603 -1126
- package/dist/components/Editor.svelte.d.ts +9 -20
- package/dist/components/GapCaret.svelte +26 -59
- package/dist/components/SelectionOverlay.svelte +26 -51
- package/dist/components/SelectionOverlay.svelte.d.ts +5 -3
- 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 +72 -87
- 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 +29 -34
- 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 +57 -39
- 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 +141 -203
- 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 +45 -90
- package/dist/components/blocks/list/ListItemBlock.svelte +93 -147
- package/dist/components/blocks/list/ListItemBlock.svelte.d.ts +1 -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 +8 -6
- package/dist/components/blocks/text/click-snap-guard.js +10 -7
- 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 +150 -181
- 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 -108
- 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 +212 -199
- 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 +12 -35
- package/dist/components/drag-handle.js +22 -68
- 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 -24
- package/dist/components/editor-root-listeners.js +49 -24
- 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 +14 -26
- 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 +30 -35
- package/dist/components/menu/SelectionToolbar.svelte.d.ts +3 -5
- 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 +54 -75
- package/dist/core/inline/inline-widgets.js +54 -62
- 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 +31 -15
- 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 -6
- package/dist/cursor/height-oracle.js +26 -74
- 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 +14 -15
- package/dist/cursor/scrollport.js +7 -13
- 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 -14
- package/dist/cursor/visual-lines.js +45 -46
- package/dist/cursor/widget-edge-snap.d.ts +10 -15
- package/dist/cursor/widget-edge-snap.js +13 -12
- package/dist/cursor/widget-offset.d.ts +110 -104
- package/dist/cursor/widget-offset.js +344 -179
- 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 +30 -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 +28 -50
- package/dist/editor-actions/focus/focus-landing.d.ts +8 -11
- package/dist/editor-actions/focus/focus-landing.js +15 -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 +54 -82
- package/dist/editor-actions/plugin/container.js +105 -188
- 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 +88 -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 +37 -8
- package/dist/plugin.js +100 -77
- 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 +78 -67
- 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 -81
- 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 +51 -45
- 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 +15 -6
- 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 +141 -310
- 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 +78 -84
- package/dist/schema/commands.js +152 -117
- 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 +8 -10
- 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 +63 -80
- 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 +92 -125
- 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 +59 -96
- 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 +51 -134
- package/dist/selection/dead-space-caret.d.ts +19 -30
- package/dist/selection/dead-space-caret.js +70 -88
- package/dist/selection/drag-pointer.d.ts +7 -9
- package/dist/selection/drag-pointer.js +23 -33
- 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 -40
- package/dist/selection/keyboard-extend.js +94 -117
- package/dist/selection/multi-click.d.ts +13 -18
- package/dist/selection/multi-click.js +32 -38
- package/dist/selection/native-bridge.d.ts +29 -39
- package/dist/selection/native-bridge.js +78 -127
- package/dist/selection/nearest-block.d.ts +17 -12
- package/dist/selection/nearest-block.js +37 -18
- package/dist/selection/path-lookup.d.ts +25 -16
- package/dist/selection/path-lookup.js +101 -18
- package/dist/selection/path-math.d.ts +9 -11
- package/dist/selection/path-math.js +5 -7
- package/dist/selection/pointer-gesture.d.ts +5 -5
- package/dist/selection/pointer-gesture.js +5 -5
- package/dist/selection/pointer-session.d.ts +10 -16
- package/dist/selection/pointer-session.js +6 -7
- package/dist/selection/primitives.d.ts +64 -40
- package/dist/selection/primitives.js +57 -67
- 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 -23
- 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 +34 -16
- package/dist/selection/selection-drop.js +159 -95
- 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 +60 -53
- package/dist/styles/editor.css +201 -143
- 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 +9 -7
- package/dist/tree-operations/paste/replacement-parse.js +12 -10
- 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 +327 -205
- package/docs/guide/directives.md +7 -7
- package/docs/guide/plugin-api.md +253 -185
- package/docs/guide/plugin-guide.md +332 -235
- package/docs/guide/plugin-testing.md +96 -82
- package/package.json +12 -16
- 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/cursor/scroll-hold.d.ts +0 -10
- package/dist/cursor/scroll-hold.js +0 -22
- package/dist/invariants/split-landing.d.ts +0 -8
- package/dist/invariants/split-landing.js +0 -15
- 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 -31
- package/dist/tree-operations/paste/replace-block-at-parent.js +0 -78
|
@@ -1,43 +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.'
|
|
29
30
|
},
|
|
30
31
|
{
|
|
31
32
|
file: 'selection/selection-drop.ts',
|
|
32
33
|
chords: [],
|
|
33
34
|
keys: [],
|
|
34
|
-
note: 'Ctrl/Alt at the
|
|
35
|
+
note: 'Ctrl/Alt at the drop is the platform copy modifier, read off a DragEvent: no keystroke is consumed.'
|
|
35
36
|
},
|
|
36
37
|
{
|
|
37
38
|
file: 'selection/multi-click.ts',
|
|
38
39
|
chords: [],
|
|
39
40
|
keys: [],
|
|
40
|
-
note: 'A modified multi-click is left to the browser (Shift extends, Mod activates)
|
|
41
|
+
note: 'A modified multi-click is left to the browser (Shift extends, Mod activates): no keystroke is consumed.'
|
|
41
42
|
},
|
|
42
43
|
{
|
|
43
44
|
file: 'components/GapCaret.svelte',
|
|
@@ -52,7 +53,7 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
52
53
|
'Enter',
|
|
53
54
|
'Escape'
|
|
54
55
|
],
|
|
55
|
-
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.'
|
|
56
57
|
},
|
|
57
58
|
{
|
|
58
59
|
file: 'components/SearchBar.svelte',
|
|
@@ -64,13 +65,13 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
64
65
|
file: 'components/blocks/editable-leaf.ts',
|
|
65
66
|
chords: [],
|
|
66
67
|
keys: ['Backspace', 'Enter'],
|
|
67
|
-
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."
|
|
68
69
|
},
|
|
69
70
|
{
|
|
70
71
|
file: 'components/link-card/LinkCard.svelte',
|
|
71
|
-
chords: ['Shift+Tab'
|
|
72
|
-
keys: ['Enter', '
|
|
73
|
-
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."
|
|
74
75
|
},
|
|
75
76
|
{
|
|
76
77
|
file: 'components/menu/BlockMenu.svelte',
|
|
@@ -98,19 +99,8 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
98
99
|
},
|
|
99
100
|
{
|
|
100
101
|
file: 'components/blocks/table/cell-keydown-plan.ts',
|
|
101
|
-
chords: ['
|
|
102
|
-
keys: [
|
|
103
|
-
'A',
|
|
104
|
-
'ArrowDown',
|
|
105
|
-
'ArrowLeft',
|
|
106
|
-
'ArrowRight',
|
|
107
|
-
'ArrowUp',
|
|
108
|
-
'Backspace',
|
|
109
|
-
'Delete',
|
|
110
|
-
'Enter',
|
|
111
|
-
'Tab',
|
|
112
|
-
'a'
|
|
113
|
-
]
|
|
102
|
+
chords: ['Shift+Tab'],
|
|
103
|
+
keys: ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Backspace', 'Delete', 'Enter', 'Tab']
|
|
114
104
|
},
|
|
115
105
|
{
|
|
116
106
|
file: 'components/blocks/text/TextEditableBlock.svelte',
|
|
@@ -147,9 +137,13 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
147
137
|
'ArrowUp',
|
|
148
138
|
'Backspace',
|
|
149
139
|
'Delete',
|
|
150
|
-
'
|
|
140
|
+
'End',
|
|
141
|
+
'Escape',
|
|
142
|
+
'Home',
|
|
143
|
+
'PageDown',
|
|
144
|
+
'PageUp'
|
|
151
145
|
],
|
|
152
|
-
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.'
|
|
153
147
|
},
|
|
154
148
|
{
|
|
155
149
|
file: 'components/image/ImageResizeHandles.svelte',
|
|
@@ -170,16 +164,16 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
170
164
|
note: 'Shift-click declines, so the block keeps cross-block extension.'
|
|
171
165
|
},
|
|
172
166
|
{
|
|
173
|
-
file: '
|
|
167
|
+
file: 'components/image/widget-selection-state.svelte.ts',
|
|
174
168
|
chords: [],
|
|
175
|
-
keys: [
|
|
176
|
-
note: '
|
|
169
|
+
keys: [],
|
|
170
|
+
note: 'A Shift-press on a block is left to that block, which grows a range from the image.'
|
|
177
171
|
},
|
|
178
172
|
{
|
|
179
|
-
file: 'cursor/
|
|
173
|
+
file: 'cursor/caret-memory.ts',
|
|
180
174
|
chords: [],
|
|
181
|
-
keys: [
|
|
182
|
-
note: '
|
|
175
|
+
keys: [],
|
|
176
|
+
note: 'Hands the meta flag to the arrival classifier: Cmd+Arrow is a line end. Consumes nothing.'
|
|
183
177
|
},
|
|
184
178
|
{
|
|
185
179
|
file: 'editor-actions/container-block-component.ts',
|
|
@@ -195,42 +189,41 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
195
189
|
'c',
|
|
196
190
|
'x'
|
|
197
191
|
],
|
|
198
|
-
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.'
|
|
199
193
|
},
|
|
200
194
|
{
|
|
201
195
|
file: 'editor-actions/plugin/container.ts',
|
|
202
|
-
chords: [
|
|
203
|
-
keys: [
|
|
204
|
-
note: '
|
|
196
|
+
chords: [],
|
|
197
|
+
keys: [],
|
|
198
|
+
note: 'The arrow exit for a plugin editor declines every modified key rather than claiming one.'
|
|
205
199
|
},
|
|
206
200
|
{
|
|
207
201
|
file: 'plugins/footnotes/FootnoteDefinition.svelte',
|
|
208
202
|
chords: [],
|
|
209
203
|
keys: [],
|
|
210
|
-
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.'
|
|
211
205
|
},
|
|
212
206
|
{
|
|
213
207
|
file: 'plugins/footnotes/FootnoteReference.svelte',
|
|
214
208
|
chords: [],
|
|
215
|
-
keys: [],
|
|
216
|
-
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.'
|
|
217
211
|
},
|
|
218
212
|
{
|
|
219
213
|
file: 'plugins/mermaid/MermaidBlock.svelte',
|
|
220
214
|
chords: ['Mod+Enter'],
|
|
221
215
|
keys: ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Enter', 'Escape', 'Tab'],
|
|
222
|
-
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.'
|
|
223
217
|
},
|
|
224
218
|
{
|
|
225
219
|
file: 'schema/keybindings.ts',
|
|
226
|
-
chords: [],
|
|
227
|
-
keys: [],
|
|
228
|
-
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.'
|
|
229
223
|
},
|
|
230
224
|
{
|
|
231
225
|
file: 'selection/cross-block/keydown.ts',
|
|
232
226
|
chords: [
|
|
233
|
-
'Mod+A',
|
|
234
227
|
'Mod+Shift+Home',
|
|
235
228
|
'Mod+Shift+End',
|
|
236
229
|
'Shift+ArrowUp',
|
|
@@ -255,14 +248,13 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
255
248
|
'K',
|
|
256
249
|
'Tab',
|
|
257
250
|
'X',
|
|
258
|
-
'a',
|
|
259
251
|
'b',
|
|
260
252
|
'e',
|
|
261
253
|
'i',
|
|
262
254
|
'k',
|
|
263
255
|
'x'
|
|
264
256
|
],
|
|
265
|
-
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.'
|
|
266
258
|
},
|
|
267
259
|
{
|
|
268
260
|
file: 'selection/cross-block/pointer.ts',
|
|
@@ -279,40 +271,26 @@ export const HARDCODED_CHORD_SITES = [
|
|
|
279
271
|
{
|
|
280
272
|
file: 'selection/shared-keydown.ts',
|
|
281
273
|
chords: ['Shift+ArrowUp', 'Shift+ArrowDown', 'Shift+ArrowLeft', 'Shift+ArrowRight'],
|
|
282
|
-
keys: [
|
|
283
|
-
'Alt',
|
|
284
|
-
'AltGraph',
|
|
285
|
-
'ArrowDown',
|
|
286
|
-
'ArrowLeft',
|
|
287
|
-
'ArrowRight',
|
|
288
|
-
'ArrowUp',
|
|
289
|
-
'CapsLock',
|
|
290
|
-
'Control',
|
|
291
|
-
'Meta',
|
|
292
|
-
'Shift',
|
|
293
|
-
'a'
|
|
294
|
-
],
|
|
274
|
+
keys: ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'],
|
|
295
275
|
note: 'Extends across a block boundary once the native extend runs out of room.'
|
|
296
276
|
}
|
|
297
277
|
];
|
|
298
|
-
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));
|
|
299
279
|
/**
|
|
300
280
|
* Every modifier chord this editor consumes, normalized. Composed on each call: kind keymaps,
|
|
301
|
-
*
|
|
281
|
+
* plugin chords and the override map all change under a live editor.
|
|
302
282
|
*/
|
|
303
283
|
export function collectReservedChords(options) {
|
|
304
284
|
const claimed = new Set([
|
|
305
|
-
...registeredKeymapChords(),
|
|
285
|
+
...registeredKeymapChords(options.activation),
|
|
306
286
|
...GLOBAL_KEYMAP.map((binding) => binding.chord),
|
|
307
287
|
...pluginGlobalChords(options.activation),
|
|
308
288
|
...HARDCODED_CHORDS,
|
|
309
289
|
...(options.searchBar ? reservedUiChords() : []),
|
|
310
290
|
...overrideBoundChords(options.keybindings)
|
|
311
|
-
]
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
// A global disable unbinds the chord at every command tier. A hardcoded branch never
|
|
315
|
-
// 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.
|
|
316
294
|
for (const chord of globallyDisabledChords(options.keybindings)) {
|
|
317
295
|
if (!HARDCODED_CHORDS.has(chord))
|
|
318
296
|
claimed.delete(chord);
|
|
@@ -320,8 +298,8 @@ export function collectReservedChords(options) {
|
|
|
320
298
|
return claimed;
|
|
321
299
|
}
|
|
322
300
|
/**
|
|
323
|
-
* True when `chords`
|
|
324
|
-
*
|
|
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.
|
|
325
303
|
*/
|
|
326
304
|
export function chordIsClaimed(event, chords) {
|
|
327
305
|
const chord = eventToChord(event);
|
|
@@ -331,8 +309,13 @@ export function chordIsClaimed(event, chords) {
|
|
|
331
309
|
function carriesModifier(chord) {
|
|
332
310
|
return chord.includes('+');
|
|
333
311
|
}
|
|
334
|
-
|
|
335
|
-
|
|
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));
|
|
336
319
|
}
|
|
337
320
|
function overrideBoundChords(overrides) {
|
|
338
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;
|