@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,48 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Built-in block-kind descriptors and inline-construct policies
|
|
3
|
-
* `
|
|
4
|
-
*
|
|
5
|
-
* specifiers used inside this library, so only a called binding is safe from tree-shaking. Split
|
|
6
|
-
* from `block-kind-descriptor.ts` so that module carries no registration payload.
|
|
2
|
+
* Built-in block-kind descriptors and inline-construct policies. Nothing registers on import:
|
|
3
|
+
* `core/inline/index.ts` and `components/built-in-blocks.ts` call `registerBuiltInDescriptors()`,
|
|
4
|
+
* since the `sideEffects` list names built paths and tree-shaking keeps only a called binding.
|
|
7
5
|
*/
|
|
8
6
|
import { metadataOf } from '../core/nodes';
|
|
9
7
|
import { displayLength } from '../core/lines';
|
|
8
|
+
import { matchHeading } from '../core/parsers/heading';
|
|
10
9
|
import { containerClosure } from './closure';
|
|
11
10
|
import { registerBlockKind } from './block-kind-descriptor';
|
|
12
11
|
import { rebuildBlockquoteRaw, rebuildListItemRaw, rebuildListRaw, rebuildTableRaw, rebuildTableRowRaw } from './container-rebuilders';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
12
|
+
import { tableCellWrite } from './table-cell-raw';
|
|
13
|
+
import { fencedCodeWrite } from './fenced-code-raw';
|
|
14
|
+
import { setextHeadingContentRange, setextHeadingWrite } from './setext-raw';
|
|
15
15
|
import { registerInlineConstructPolicy } from './inline-construct-policy';
|
|
16
16
|
import { wrapAsCodeSpan } from '../core/inline/backticks';
|
|
17
|
+
import { containerEstimate, proseEstimate, singleLineEstimate, sourceLinesEstimate } from './height-estimates';
|
|
17
18
|
// ── Content-range helpers ──────────────────────────────────────────────────
|
|
18
|
-
//
|
|
19
|
+
// The heading's marker bytes, its `# ` and any closing `#` run, sit outside the editable text.
|
|
19
20
|
function headingContentRange(node) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
i++;
|
|
25
|
-
while (i < raw.length && raw[i] === '#')
|
|
26
|
-
i++;
|
|
27
|
-
if (i < raw.length && raw[i] === ' ')
|
|
28
|
-
i++;
|
|
29
|
-
return { start: i, end: displayEnd };
|
|
30
|
-
}
|
|
31
|
-
// Setext headings carry a trailing underline line that is structural, not content.
|
|
32
|
-
function setextHeadingContentRange(node) {
|
|
33
|
-
const raw = node.raw;
|
|
34
|
-
const end = displayLength(raw);
|
|
35
|
-
const underlineStart = raw.lastIndexOf('\n', end - 1);
|
|
36
|
-
if (underlineStart === -1)
|
|
37
|
-
return { start: 0, end };
|
|
38
|
-
let contentEnd = underlineStart;
|
|
39
|
-
if (contentEnd > 0 && raw[contentEnd - 1] === '\r')
|
|
40
|
-
contentEnd--;
|
|
41
|
-
return { start: 0, end: contentEnd };
|
|
21
|
+
const heading = matchHeading(node.raw);
|
|
22
|
+
if (!heading)
|
|
23
|
+
return { start: 0, end: displayLength(node.raw) };
|
|
24
|
+
return { start: heading.contentStart, end: heading.contentEnd };
|
|
42
25
|
}
|
|
43
26
|
// ── Keymaps ───────────────────────────────────────────────────────────────
|
|
44
|
-
// Shared by every kind TextEditableBlock renders
|
|
45
|
-
//
|
|
27
|
+
// Shared by every kind TextEditableBlock renders, prose and the raw-editable fallback alike, so
|
|
28
|
+
// the chords that transform a block behave the same in all of them.
|
|
46
29
|
const TEXT_EDITABLE_KEYMAP = [
|
|
47
30
|
{ chord: 'Enter', command: 'block.split' },
|
|
48
31
|
{ chord: 'Shift+Enter', command: 'block.hardBreak' },
|
|
@@ -55,9 +38,8 @@ const TEXT_EDITABLE_KEYMAP = [
|
|
|
55
38
|
{ chord: 'Mod+I', command: 'format.toggleEmphasis' },
|
|
56
39
|
{ chord: 'Mod+Shift+X', command: 'format.toggleStrikethrough' },
|
|
57
40
|
{ chord: 'Mod+E', command: 'format.toggleCode' },
|
|
58
|
-
// The live-mode link card.
|
|
59
|
-
//
|
|
60
|
-
// browser's own Mod+K.
|
|
41
|
+
// The live-mode link card. The chord is taken even where no card opens, since letting it
|
|
42
|
+
// through would trigger the browser's own Mod+K.
|
|
61
43
|
{ chord: 'Mod+K', command: 'link.openCard' },
|
|
62
44
|
{ chord: 'Mod+0', command: 'heading.cycle', arg: 0 },
|
|
63
45
|
{ chord: 'Mod+1', command: 'heading.cycle', arg: 1 },
|
|
@@ -67,10 +49,8 @@ const TEXT_EDITABLE_KEYMAP = [
|
|
|
67
49
|
{ chord: 'Mod+5', command: 'heading.cycle', arg: 5 },
|
|
68
50
|
{ chord: 'Mod+6', command: 'heading.cycle', arg: 6 }
|
|
69
51
|
];
|
|
70
|
-
// The cell
|
|
71
|
-
//
|
|
72
|
-
// the caret. Plain arrows stay unbound: they depend on caret position, which a chord can't
|
|
73
|
-
// express, so they live in `cell-keydown-plan.ts`.
|
|
52
|
+
// The cell holds the caret inside a table, so the table's keys bind here; a `table` override would
|
|
53
|
+
// miss. Plain arrows depend on the caret's position, so `cell-keydown-plan.ts` handles them.
|
|
74
54
|
const TABLE_CELL_KEYMAP = [
|
|
75
55
|
{ chord: 'Enter', command: 'cell.enter' },
|
|
76
56
|
{ chord: 'Tab', command: 'cell.tab' },
|
|
@@ -91,14 +71,14 @@ const TABLE_CELL_KEYMAP = [
|
|
|
91
71
|
{ chord: 'Alt+ArrowLeft', command: 'table.moveColumnLeft' },
|
|
92
72
|
{ chord: 'Alt+ArrowRight', command: 'table.moveColumnRight' },
|
|
93
73
|
{ chord: 'Mod+Shift+A', command: 'table.cycleAlignment' },
|
|
94
|
-
//
|
|
95
|
-
//
|
|
74
|
+
// Moves the whole table among its siblings, since Alt+Arrow, the reorder chord every other
|
|
75
|
+
// kind uses, moves the row the caret is in.
|
|
96
76
|
{ chord: 'Mod+Alt+ArrowUp', command: 'block.moveUp' },
|
|
97
77
|
{ chord: 'Mod+Alt+ArrowDown', command: 'block.moveDown' }
|
|
98
78
|
];
|
|
99
79
|
// ── Closure blocks ────────────────────────────────────────────────────────────
|
|
100
|
-
// Shared by the not-mergeable, non-inline raw-text leaves
|
|
101
|
-
//
|
|
80
|
+
// Shared by the not-mergeable, non-inline raw-text leaves: the rows are identical, so they live
|
|
81
|
+
// here once. `fencedCode` differs too much to share, so it declares its own.
|
|
102
82
|
const RAW_TEXT_LEAF_CLOSURE = {
|
|
103
83
|
roundTrip: { mode: 'inherit-default' },
|
|
104
84
|
focus: { mode: 'implemented', via: 'native caret in the raw-editable contenteditable' },
|
|
@@ -113,8 +93,8 @@ const RAW_TEXT_LEAF_CLOSURE = {
|
|
|
113
93
|
clipboard: { mode: 'inherit-default' },
|
|
114
94
|
simOracle: { mode: 'implemented', via: 'note-taking simulation under the loaded-ops oracles' }
|
|
115
95
|
};
|
|
116
|
-
// The prose
|
|
117
|
-
//
|
|
96
|
+
// The three prose kinds share a closure differing only in three `via` strings. The fixed rows are
|
|
97
|
+
// filled in here; the three that vary stay required, so each kind names its own mechanism.
|
|
118
98
|
function proseLeafClosure(vias) {
|
|
119
99
|
return {
|
|
120
100
|
roundTrip: { mode: 'inherit-default' },
|
|
@@ -129,8 +109,8 @@ function proseLeafClosure(vias) {
|
|
|
129
109
|
};
|
|
130
110
|
}
|
|
131
111
|
// ── Inline-construct policies ───────────────────────────────────────────────
|
|
132
|
-
// Registered
|
|
133
|
-
//
|
|
112
|
+
// Registered next to the block descriptors rather than from the component layer, so a consumer
|
|
113
|
+
// with no UI, and the unit tests that load only this module, read the same rows.
|
|
134
114
|
function registerBuiltInInlinePolicies() {
|
|
135
115
|
// Outermost first, and code is innermost because its content is literal: no other mark can
|
|
136
116
|
// take effect inside it.
|
|
@@ -151,6 +131,8 @@ function registerBuiltInInlinePolicies() {
|
|
|
151
131
|
autoUnwrapOnEmpty: true,
|
|
152
132
|
splitBehavior: 'close-and-reopen',
|
|
153
133
|
revealable: true,
|
|
134
|
+
// A code span's content is literal, so a `#` typed there is code, not a tag.
|
|
135
|
+
prose: kind === 'inlineCode' ? 'none' : 'all',
|
|
154
136
|
mark: { nestingRank, ...mark }
|
|
155
137
|
});
|
|
156
138
|
});
|
|
@@ -161,27 +143,30 @@ function registerBuiltInInlinePolicies() {
|
|
|
161
143
|
autoUnwrapOnEmpty: true,
|
|
162
144
|
splitBehavior: 'close-and-reopen',
|
|
163
145
|
revealable: true,
|
|
164
|
-
cardEditable: true
|
|
146
|
+
cardEditable: true,
|
|
147
|
+
// The text is prose; the destination and the title are not.
|
|
148
|
+
prose: 'content'
|
|
165
149
|
});
|
|
166
150
|
// An image with an empty alt is still an image, and a split inside one moves bytes only.
|
|
167
151
|
registerInlineConstructPolicy('image', {
|
|
168
152
|
edgeAffinity: 'never-extend',
|
|
169
153
|
autoUnwrapOnEmpty: false,
|
|
170
154
|
splitBehavior: 'plain',
|
|
171
|
-
revealable: true
|
|
155
|
+
revealable: true,
|
|
156
|
+
// Its alt text is an attribute of the picture, not prose on the page.
|
|
157
|
+
prose: 'none'
|
|
172
158
|
});
|
|
173
|
-
// An autolink's
|
|
174
|
-
//
|
|
175
|
-
// the same reason the bracket form is (live-mode.md § 4.2), and plain: two halves of a URL
|
|
176
|
-
// are not two URLs.
|
|
159
|
+
// An autolink's text is its destination, so neither edge extends and a split stays plain
|
|
160
|
+
// (`docs/design/live-mode.md` § 4.2 Typing at a hidden edge).
|
|
177
161
|
registerInlineConstructPolicy('autolink', {
|
|
178
162
|
edgeAffinity: 'never-extend',
|
|
179
163
|
autoUnwrapOnEmpty: false,
|
|
180
164
|
splitBehavior: 'plain',
|
|
181
|
-
revealable: false
|
|
165
|
+
revealable: false,
|
|
166
|
+
prose: 'none'
|
|
182
167
|
});
|
|
183
|
-
//
|
|
184
|
-
// run delete as
|
|
168
|
+
// Marker runs with no data attribute, always hidden in live mode: the `\X` pair and the
|
|
169
|
+
// trailing-space run delete as one unit, so nothing may rewrite their markers around an edit.
|
|
185
170
|
for (const kind of ['escape', 'hardLineBreak']) {
|
|
186
171
|
registerInlineConstructPolicy(kind, {
|
|
187
172
|
edgeAffinity: 'never-extend',
|
|
@@ -192,8 +177,8 @@ function registerBuiltInInlinePolicies() {
|
|
|
192
177
|
}
|
|
193
178
|
}
|
|
194
179
|
// ── Built-in registrations ──────────────────────────────────────────────────
|
|
195
|
-
//
|
|
196
|
-
// dev
|
|
180
|
+
// Stops a second run rather than skipping the registries: both entry points call this, and on a
|
|
181
|
+
// dev server a re-evaluation resets the flag so a repeat registration still replaces.
|
|
197
182
|
let registered = false;
|
|
198
183
|
export function registerBuiltInDescriptors() {
|
|
199
184
|
if (registered)
|
|
@@ -201,6 +186,8 @@ export function registerBuiltInDescriptors() {
|
|
|
201
186
|
registered = true;
|
|
202
187
|
registerBuiltInInlinePolicies();
|
|
203
188
|
registerBlockKind('paragraph', {
|
|
189
|
+
pageRole: 'prose',
|
|
190
|
+
estimateHeight: proseEstimate,
|
|
204
191
|
gapEdges: 'none',
|
|
205
192
|
mergeRole: 'prose',
|
|
206
193
|
editable: true,
|
|
@@ -215,14 +202,15 @@ export function registerBuiltInDescriptors() {
|
|
|
215
202
|
})
|
|
216
203
|
});
|
|
217
204
|
registerBlockKind('heading', {
|
|
205
|
+
pageRole: 'prose',
|
|
206
|
+
estimateHeight: proseEstimate,
|
|
218
207
|
gapEdges: 'none',
|
|
219
208
|
mergeRole: 'prose-absorber',
|
|
220
209
|
editable: true,
|
|
221
210
|
supportsInline: true,
|
|
222
|
-
|
|
223
|
-
//
|
|
224
|
-
|
|
225
|
-
contentStartBackspace: 'demote-first',
|
|
211
|
+
// Live mode shows no `## `, so the first Backspace the user can aim at it removes the
|
|
212
|
+
// structure they can see; the second merges, through the usual path.
|
|
213
|
+
contentStart: { range: headingContentRange, backspace: 'demote-first' },
|
|
226
214
|
keymap: TEXT_EDITABLE_KEYMAP,
|
|
227
215
|
conformanceFixture: '# Heading\n',
|
|
228
216
|
closure: proseLeafClosure({
|
|
@@ -232,12 +220,14 @@ export function registerBuiltInDescriptors() {
|
|
|
232
220
|
})
|
|
233
221
|
});
|
|
234
222
|
registerBlockKind('setextHeading', {
|
|
223
|
+
pageRole: 'prose',
|
|
224
|
+
estimateHeight: proseEstimate,
|
|
235
225
|
gapEdges: 'none',
|
|
236
226
|
mergeRole: 'prose-absorber',
|
|
237
227
|
editable: true,
|
|
238
228
|
supportsInline: true,
|
|
239
|
-
|
|
240
|
-
|
|
229
|
+
contentStart: { range: setextHeadingContentRange, backspace: 'demote-first' },
|
|
230
|
+
rawWrite: setextHeadingWrite,
|
|
241
231
|
keymap: TEXT_EDITABLE_KEYMAP,
|
|
242
232
|
conformanceFixture: 'Title\n===\n',
|
|
243
233
|
closure: proseLeafClosure({
|
|
@@ -247,12 +237,15 @@ export function registerBuiltInDescriptors() {
|
|
|
247
237
|
})
|
|
248
238
|
});
|
|
249
239
|
registerBlockKind('fencedCode', {
|
|
240
|
+
pageRole: 'object',
|
|
241
|
+
dragLabel: 'Code',
|
|
242
|
+
estimateHeight: sourceLinesEstimate,
|
|
250
243
|
mergeRole: 'not-mergeable',
|
|
251
244
|
editable: true,
|
|
252
245
|
supportsInline: false,
|
|
253
246
|
// Enter inside the fence writes a code newline, so neither edge can grow a sibling.
|
|
254
247
|
gapEdges: 'both',
|
|
255
|
-
|
|
248
|
+
rawWrite: fencedCodeWrite,
|
|
256
249
|
keymap: [
|
|
257
250
|
{ chord: 'Enter', command: 'code.newline' },
|
|
258
251
|
{ chord: 'Tab', command: 'code.indent' },
|
|
@@ -287,16 +280,15 @@ export function registerBuiltInDescriptors() {
|
|
|
287
280
|
}
|
|
288
281
|
});
|
|
289
282
|
registerBlockKind('thematicBreak', {
|
|
283
|
+
pageRole: 'object',
|
|
284
|
+
dragLabel: 'Divider',
|
|
285
|
+
estimateHeight: singleLineEstimate,
|
|
290
286
|
mergeRole: 'not-mergeable',
|
|
291
287
|
editable: false,
|
|
292
288
|
supportsInline: false,
|
|
293
289
|
blockFocus: 'whole-block',
|
|
294
290
|
// Leading edge only: its focused Enter already inserts a paragraph below.
|
|
295
291
|
gapEdges: 'before',
|
|
296
|
-
keymap: [
|
|
297
|
-
{ chord: 'Alt+ArrowUp', command: 'block.moveUp' },
|
|
298
|
-
{ chord: 'Alt+ArrowDown', command: 'block.moveDown' }
|
|
299
|
-
],
|
|
300
292
|
conformanceFixture: '---\n',
|
|
301
293
|
closure: {
|
|
302
294
|
roundTrip: { mode: 'inherit-default' },
|
|
@@ -311,7 +303,7 @@ export function registerBuiltInDescriptors() {
|
|
|
311
303
|
selectionPaint: { mode: 'implemented', via: 'whole-block cover rect (no partial offsets)' },
|
|
312
304
|
searchPaint: {
|
|
313
305
|
mode: 'not-supported',
|
|
314
|
-
reason: 'no editable text content
|
|
306
|
+
reason: 'no editable text content, nothing to search'
|
|
315
307
|
},
|
|
316
308
|
reorder: { mode: 'implemented', via: 'Alt+Arrow block.move keymap' },
|
|
317
309
|
undo: { mode: 'inherit-default' },
|
|
@@ -323,6 +315,8 @@ export function registerBuiltInDescriptors() {
|
|
|
323
315
|
}
|
|
324
316
|
});
|
|
325
317
|
registerBlockKind('indentedCode', {
|
|
318
|
+
pageRole: 'object',
|
|
319
|
+
estimateHeight: sourceLinesEstimate,
|
|
326
320
|
gapEdges: 'none',
|
|
327
321
|
mergeRole: 'not-mergeable',
|
|
328
322
|
editable: true,
|
|
@@ -332,24 +326,32 @@ export function registerBuiltInDescriptors() {
|
|
|
332
326
|
closure: RAW_TEXT_LEAF_CLOSURE
|
|
333
327
|
});
|
|
334
328
|
registerBlockKind('htmlBlock', {
|
|
329
|
+
pageRole: 'object',
|
|
330
|
+
estimateHeight: sourceLinesEstimate,
|
|
335
331
|
gapEdges: 'none',
|
|
336
332
|
mergeRole: 'not-mergeable',
|
|
337
333
|
editable: true,
|
|
338
334
|
supportsInline: false,
|
|
339
335
|
keymap: TEXT_EDITABLE_KEYMAP,
|
|
340
336
|
conformanceFixture: '<div>\nhtml\n</div>\n',
|
|
337
|
+
readsFollowingLines: true,
|
|
341
338
|
closure: RAW_TEXT_LEAF_CLOSURE
|
|
342
339
|
});
|
|
343
340
|
registerBlockKind('linkReferenceDefinition', {
|
|
341
|
+
pageRole: 'object',
|
|
342
|
+
estimateHeight: proseEstimate,
|
|
344
343
|
gapEdges: 'none',
|
|
345
344
|
mergeRole: 'not-mergeable',
|
|
346
345
|
editable: true,
|
|
347
346
|
supportsInline: false,
|
|
348
347
|
keymap: TEXT_EDITABLE_KEYMAP,
|
|
349
348
|
conformanceFixture: '[id]: /url "title"\n',
|
|
349
|
+
readsFollowingLines: true,
|
|
350
350
|
closure: RAW_TEXT_LEAF_CLOSURE
|
|
351
351
|
});
|
|
352
352
|
registerBlockKind('table', {
|
|
353
|
+
pageRole: 'object',
|
|
354
|
+
estimateHeight: containerEstimate,
|
|
353
355
|
mergeRole: 'not-mergeable',
|
|
354
356
|
editable: true,
|
|
355
357
|
supportsInline: false,
|
|
@@ -382,6 +384,8 @@ export function registerBuiltInDescriptors() {
|
|
|
382
384
|
}
|
|
383
385
|
});
|
|
384
386
|
registerBlockKind('tableRow', {
|
|
387
|
+
pageRole: 'object',
|
|
388
|
+
estimateHeight: containerEstimate,
|
|
385
389
|
gapEdges: 'none',
|
|
386
390
|
mergeRole: 'not-mergeable',
|
|
387
391
|
editable: true,
|
|
@@ -399,25 +403,27 @@ export function registerBuiltInDescriptors() {
|
|
|
399
403
|
searchPaint: { mode: 'implemented', via: 'descends to cells; per-cell mark overlay' },
|
|
400
404
|
reorder: {
|
|
401
405
|
mode: 'not-supported',
|
|
402
|
-
reason: 'grid child
|
|
406
|
+
reason: 'grid child: not a block-level reorder unit; whole rows move via a row-drag gesture inside the table grid, not the BlockList'
|
|
403
407
|
},
|
|
404
408
|
undo: { mode: 'inherit-default' },
|
|
405
|
-
//
|
|
406
|
-
// so
|
|
409
|
+
// Inherit-default, unlike `table` and `tableCell`: no copy path starts from a row node,
|
|
410
|
+
// so a row painting its cells does not make it a copy source.
|
|
407
411
|
clipboard: { mode: 'inherit-default' },
|
|
408
412
|
simOracle: { mode: 'implemented', via: 'note-taking simulation (table edits)' }
|
|
409
413
|
}
|
|
410
414
|
});
|
|
411
415
|
registerBlockKind('tableCell', {
|
|
416
|
+
pageRole: 'prose',
|
|
417
|
+
estimateHeight: proseEstimate,
|
|
412
418
|
gapEdges: 'none',
|
|
413
419
|
mergeRole: 'not-mergeable',
|
|
414
420
|
editable: true,
|
|
415
421
|
supportsInline: true,
|
|
416
422
|
contextDependentKind: true,
|
|
417
|
-
|
|
423
|
+
rawWrite: tableCellWrite,
|
|
418
424
|
renderImagesAsWidgets: false,
|
|
419
425
|
keymap: TABLE_CELL_KEYMAP,
|
|
420
|
-
// No conformanceFixture
|
|
426
|
+
// No `conformanceFixture`: the table opener creates the cells, so one is never the
|
|
421
427
|
// top-level result of a document scan.
|
|
422
428
|
closure: {
|
|
423
429
|
roundTrip: {
|
|
@@ -436,24 +442,26 @@ export function registerBuiltInDescriptors() {
|
|
|
436
442
|
},
|
|
437
443
|
reorder: {
|
|
438
444
|
mode: 'not-supported',
|
|
439
|
-
reason: 'grid cell
|
|
445
|
+
reason: 'grid cell: not a block-level reorder unit; row/column drag gestures inside the table grid move whole rows or columns, not individual cells'
|
|
440
446
|
},
|
|
441
447
|
undo: { mode: 'inherit-default' },
|
|
442
448
|
clipboard: {
|
|
443
449
|
mode: 'implemented',
|
|
444
|
-
via: 'copy/cut
|
|
450
|
+
via: 'copy/cut, from a cell or the editor root, write the selected rectangle as a GFM sub-table and an HTML table (gridClipboard → copyRectangleAsSubTable, cell index)'
|
|
445
451
|
},
|
|
446
452
|
simOracle: { mode: 'implemented', via: 'note-taking simulation (table cell edits)' }
|
|
447
453
|
}
|
|
448
454
|
});
|
|
449
455
|
registerBlockKind('unrecognized', {
|
|
456
|
+
pageRole: 'object',
|
|
457
|
+
estimateHeight: proseEstimate,
|
|
450
458
|
gapEdges: 'none',
|
|
451
459
|
mergeRole: 'self-merge',
|
|
452
460
|
editable: true,
|
|
453
461
|
supportsInline: false,
|
|
454
462
|
keymap: TEXT_EDITABLE_KEYMAP,
|
|
455
|
-
// No conformanceFixture
|
|
456
|
-
//
|
|
463
|
+
// No `conformanceFixture`: it is the fallback for content no opener took, so a document
|
|
464
|
+
// scan never produces it on its own.
|
|
457
465
|
closure: {
|
|
458
466
|
...RAW_TEXT_LEAF_CLOSURE,
|
|
459
467
|
mergeBackspace: {
|
|
@@ -465,6 +473,8 @@ export function registerBuiltInDescriptors() {
|
|
|
465
473
|
}
|
|
466
474
|
});
|
|
467
475
|
registerBlockKind('blockquote', {
|
|
476
|
+
pageRole: 'prose',
|
|
477
|
+
estimateHeight: containerEstimate,
|
|
468
478
|
gapEdges: 'none',
|
|
469
479
|
mergeRole: 'container',
|
|
470
480
|
editable: true,
|
|
@@ -497,6 +507,9 @@ export function registerBuiltInDescriptors() {
|
|
|
497
507
|
})
|
|
498
508
|
});
|
|
499
509
|
registerBlockKind('list', {
|
|
510
|
+
// Its items carry the handles: one on the list would sit over its first item's.
|
|
511
|
+
pageRole: 'prose',
|
|
512
|
+
estimateHeight: containerEstimate,
|
|
500
513
|
gapEdges: 'none',
|
|
501
514
|
mergeRole: 'container',
|
|
502
515
|
editable: true,
|
|
@@ -532,6 +545,8 @@ export function registerBuiltInDescriptors() {
|
|
|
532
545
|
})
|
|
533
546
|
});
|
|
534
547
|
registerBlockKind('listItem', {
|
|
548
|
+
pageRole: 'object',
|
|
549
|
+
estimateHeight: containerEstimate,
|
|
535
550
|
gapEdges: 'none',
|
|
536
551
|
mergeRole: 'container',
|
|
537
552
|
editable: true,
|
|
@@ -539,7 +554,8 @@ export function registerBuiltInDescriptors() {
|
|
|
539
554
|
container: { contract: 'strip', rebuildRaw: rebuildListItemRaw },
|
|
540
555
|
keymap: [
|
|
541
556
|
{ chord: 'Tab', command: 'list.indent' },
|
|
542
|
-
{ chord: 'Shift+Tab', command: 'list.unindent' }
|
|
557
|
+
{ chord: 'Shift+Tab', command: 'list.unindent' },
|
|
558
|
+
{ chord: 'Mod+Enter', command: 'list.toggleTask' }
|
|
543
559
|
],
|
|
544
560
|
conformanceFixture: '- item\n',
|
|
545
561
|
closure: containerClosure({
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Byte offsets of each child's rendered region inside its container's own `raw`, so a typing
|
|
3
|
-
* rewrite
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* rebuild. A `Uint32Array` on purpose — Svelte proxies plain arrays, and the shift would mint a
|
|
7
|
-
* source per element.
|
|
3
|
+
* rewrite replaces one region instead of re-joining every child. Bookkeeping only: a span left
|
|
4
|
+
* stale fails the region check below and falls back to the full rebuild. A `Uint32Array` because
|
|
5
|
+
* Svelte proxies plain arrays, one reactive source per element.
|
|
8
6
|
*/
|
|
9
7
|
import { type CstNode } from '../core/nodes';
|
|
10
8
|
/** The child a rebuild is re-rendering, and the bytes its region currently holds. */
|
|
@@ -12,14 +10,18 @@ export interface ChildRawChange {
|
|
|
12
10
|
index: number;
|
|
13
11
|
previousRaw: string;
|
|
14
12
|
}
|
|
15
|
-
/**
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
/**
|
|
14
|
+
* A strip container's per-line transform. `first` marks the container's own opening line, and
|
|
15
|
+
* `trailingBlank` a blank line, other than a separator, with nothing but blank lines after it in
|
|
16
|
+
* the body.
|
|
17
|
+
*/
|
|
18
|
+
export type LinePrefix = (text: string, first: boolean, trailingBlank: boolean) => string;
|
|
19
|
+
/** Drop the spans a change to the children invalidated; the next full rebuild recomputes them. */
|
|
18
20
|
export declare function dropChildSpans(node: CstNode): void;
|
|
19
21
|
/** A container whose raw is its children's bytes joined (list). */
|
|
20
22
|
export declare function rebuildConcatRaw(node: CstNode, changed?: ChildRawChange): void;
|
|
21
23
|
/**
|
|
22
|
-
* A container whose raw re-prefixes every line of its body (blockquote, list item).
|
|
23
|
-
*
|
|
24
|
+
* A container whose raw re-prefixes every line of its body (blockquote, list item). Its body opens
|
|
25
|
+
* on its own first line, so no parse fills `innerPrefix` and it is not read here (G1.5).
|
|
24
26
|
*/
|
|
25
27
|
export declare function rebuildStripRaw(node: CstNode, prefix: LinePrefix, changed?: ChildRawChange): void;
|