@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,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* G1.35
|
|
3
|
-
* several blocks are refused before the write, never
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* install so a sink that forgets the refusal answers for what it actually wrote.
|
|
2
|
+
* G1.35: a write target that holds one block installs exactly one node. Bytes that reparse to
|
|
3
|
+
* several blocks are refused before the write, never cut to the first (a line would vanish) nor
|
|
4
|
+
* written whole into one position (the tree would disagree with its own reload). The check runs
|
|
5
|
+
* at the write, so the caller that skipped the refusal is the one named.
|
|
7
6
|
*/
|
|
8
7
|
import type { InvariantViolation } from '../assert';
|
|
9
8
|
export declare function checkSingleNodeSink(sink: string, installed: number): InvariantViolation | null;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* G1.35
|
|
3
|
-
* several blocks are refused before the write, never
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* install so a sink that forgets the refusal answers for what it actually wrote.
|
|
2
|
+
* G1.35: a write target that holds one block installs exactly one node. Bytes that reparse to
|
|
3
|
+
* several blocks are refused before the write, never cut to the first (a line would vanish) nor
|
|
4
|
+
* written whole into one position (the tree would disagree with its own reload). The check runs
|
|
5
|
+
* at the write, so the caller that skipped the refusal is the one named.
|
|
7
6
|
*/
|
|
8
7
|
export function checkSingleNodeSink(sink, installed) {
|
|
9
8
|
if (installed <= 1)
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* G1.9
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* that matters to serialization surfaces without recursion.
|
|
2
|
+
* G1.9: no mutation may change the serialized bytes reachable through a node an undo entry still
|
|
3
|
+
* shares. It is about bytes, not identity, so a shared node may move: each snapshot owns its
|
|
4
|
+
* children array. The digest covers top-level children only, since a container's raw covers its
|
|
5
|
+
* whole subtree.
|
|
7
6
|
*/
|
|
8
7
|
import type { Document } from '../core/nodes';
|
|
9
8
|
import type { InvariantViolation } from '../assert';
|
|
10
|
-
/**
|
|
9
|
+
/** The part of an undo entry this check needs, so the file imports nothing from `undo/`. */
|
|
11
10
|
export interface SnapshotEntry {
|
|
12
11
|
snapshot: Document;
|
|
13
12
|
/** Digest of `snapshot` at push; absent outside DEV. */
|
|
@@ -3,7 +3,7 @@ export function checkSnapshotIntegrity(entry) {
|
|
|
3
3
|
return null;
|
|
4
4
|
return {
|
|
5
5
|
code: 'snapshot-integrity',
|
|
6
|
-
message: 'snapshot digest mismatch
|
|
6
|
+
message: 'snapshot digest mismatch: a mutation wrote through a shared node'
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
9
|
export function digestDoc(doc) {
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import type { CstNode } from '../core/nodes';
|
|
2
2
|
import type { StructuralChange } from '../tree-operations/structural-change';
|
|
3
3
|
import type { InvariantViolation } from '../assert';
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
6
|
-
* slot count. `Array.from({length: -1})` is `[]`, so a descriptor derived from a length diff
|
|
7
|
-
* over the wrong window desyncs ids from children in silence.
|
|
8
|
-
*/
|
|
4
|
+
/** G1.36, the writing half: a descriptor's range fits the array it keeps in step and never asks
|
|
5
|
+
* for a negative count, which `Array.from({length: -1})` would silently turn into `[]`. */
|
|
9
6
|
export declare function checkStructuralDescriptor(change: StructuralChange, length: number): InvariantViolation | null;
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* see a descriptor that fits its own array while describing the wrong window, which is what
|
|
13
|
-
* a length-diff derivation over a settle-folded splice produces.
|
|
14
|
-
*/
|
|
7
|
+
/** G1.36, the reading half: one id per child once a commit has written its state, which catches
|
|
8
|
+
* a descriptor that fits its own array but describes the wrong range. */
|
|
15
9
|
export declare function checkIdsChildrenLockstep(seam: string, idCount: number, childCount: number): InvariantViolation | null;
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
* (`schema/child-spans.ts`). A rebuilder seeding the wrong length, or a shape change that
|
|
19
|
-
* outlived its drop, is a stale-region splice waiting for the next keystroke.
|
|
20
|
-
*/
|
|
10
|
+
/** G1.36 over the child spans: one pair of span bounds per child once a rebuild has run, or the
|
|
11
|
+
* next keystroke splices a stale region. */
|
|
21
12
|
export declare function checkChildSpansLockstep(node: CstNode): InvariantViolation | null;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* slot count. `Array.from({length: -1})` is `[]`, so a descriptor derived from a length diff
|
|
4
|
-
* over the wrong window desyncs ids from children in silence.
|
|
5
|
-
*/
|
|
1
|
+
/** G1.36, the writing half: a descriptor's range fits the array it keeps in step and never asks
|
|
2
|
+
* for a negative count, which `Array.from({length: -1})` would silently turn into `[]`. */
|
|
6
3
|
export function checkStructuralDescriptor(change, length) {
|
|
7
4
|
if (change.op === 'noop')
|
|
8
5
|
return null;
|
|
@@ -16,11 +13,8 @@ export function checkStructuralDescriptor(change, length) {
|
|
|
16
13
|
detail: { change, length }
|
|
17
14
|
};
|
|
18
15
|
}
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
21
|
-
* see a descriptor that fits its own array while describing the wrong window, which is what
|
|
22
|
-
* a length-diff derivation over a settle-folded splice produces.
|
|
23
|
-
*/
|
|
16
|
+
/** G1.36, the reading half: one id per child once a commit has written its state, which catches
|
|
17
|
+
* a descriptor that fits its own array but describes the wrong range. */
|
|
24
18
|
export function checkIdsChildrenLockstep(seam, idCount, childCount) {
|
|
25
19
|
if (idCount === childCount)
|
|
26
20
|
return null;
|
|
@@ -30,11 +24,8 @@ export function checkIdsChildrenLockstep(seam, idCount, childCount) {
|
|
|
30
24
|
detail: { seam, idCount, childCount }
|
|
31
25
|
};
|
|
32
26
|
}
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* (`schema/child-spans.ts`). A rebuilder seeding the wrong length, or a shape change that
|
|
36
|
-
* outlived its drop, is a stale-region splice waiting for the next keystroke.
|
|
37
|
-
*/
|
|
27
|
+
/** G1.36 over the child spans: one pair of span bounds per child once a rebuild has run, or the
|
|
28
|
+
* next keystroke splices a stale region. */
|
|
38
29
|
export function checkChildSpansLockstep(node) {
|
|
39
30
|
const spans = node.childSpans;
|
|
40
31
|
if (!spans)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lucide glyphs the editor's own controls draw (menus, the selection bar, table buttons),
|
|
3
|
+
* inlined as path data so the library needs no icon dependency. A leaf module, so the insert
|
|
4
|
+
* catalogue in `schema/` can check an icon name without importing a component.
|
|
5
|
+
*/
|
|
6
|
+
export declare const MENU_GLYPHS: {
|
|
7
|
+
readonly plus: readonly ["M5 12h14", "M12 5v14"];
|
|
8
|
+
readonly type: readonly ["M4 7V4h16v3", "M9 20h6", "M12 4v16"];
|
|
9
|
+
readonly trash: readonly ["M3 6h18", "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", "M10 11v6", "M14 11v6"];
|
|
10
|
+
readonly 'arrow-up': readonly ["m5 12 7-7 7 7", "M12 19V5"];
|
|
11
|
+
readonly 'arrow-down': readonly ["M12 5v14", "m19 12-7 7-7-7"];
|
|
12
|
+
readonly 'arrow-left': readonly ["m12 19-7-7 7-7", "M19 12H5"];
|
|
13
|
+
readonly 'arrow-right': readonly ["M5 12h14", "m12 5 7 7-7 7"];
|
|
14
|
+
readonly scissors: readonly ["M9 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0", "M8.12 8.12 12 12", "M20 4 8.12 15.88", "M9 18a3 3 0 1 1-6 0 3 3 0 0 1 6 0", "M14.8 14.8 20 20"];
|
|
15
|
+
readonly copy: readonly ["M10 8h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2z", "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"];
|
|
16
|
+
readonly clipboard: readonly ["M9 2h6a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z", "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"];
|
|
17
|
+
readonly 'align-left': readonly ["M15 12H3", "M17 18H3", "M21 6H3"];
|
|
18
|
+
readonly 'align-center': readonly ["M17 12H7", "M19 18H5", "M21 6H3"];
|
|
19
|
+
readonly 'align-right': readonly ["M21 12H9", "M21 18H7", "M21 6H3"];
|
|
20
|
+
readonly bold: readonly ["M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8"];
|
|
21
|
+
readonly italic: readonly ["M19 4h-9", "M14 20H5", "M15 4 9 20"];
|
|
22
|
+
readonly strikethrough: readonly ["M16 4H9a3 3 0 0 0-2.83 4", "M14 12a4 4 0 0 1 0 8H6", "M4 12h16"];
|
|
23
|
+
readonly code: readonly ["m16 18 6-6-6-6", "m8 6-6 6 6 6"];
|
|
24
|
+
readonly link: readonly ["M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"];
|
|
25
|
+
readonly 'external-link': readonly ["M15 3h6v6", "M10 14 21 3", "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"];
|
|
26
|
+
readonly unlink: readonly ["m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71", "m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71", "M8 2v3", "M2 8h3", "M16 19v3", "M19 16h3"];
|
|
27
|
+
readonly heading: readonly ["M6 12h12", "M6 20V4", "M18 20V4"];
|
|
28
|
+
readonly list: readonly ["M3 12h.01", "M3 18h.01", "M3 6h.01", "M8 12h13", "M8 18h13", "M8 6h13"];
|
|
29
|
+
readonly 'list-ordered': readonly ["M10 12h11", "M10 18h11", "M10 6h11", "M4 10h2", "M4 6h1v4", "M6 18H4c0-1 2-2 2-3s-1-1.5-2-1"];
|
|
30
|
+
readonly 'square-check': readonly ["M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z", "m9 12 2 2 4-4"];
|
|
31
|
+
readonly 'text-quote': readonly ["M17 6H3", "M21 12H8", "M21 18H8", "M3 12v6"];
|
|
32
|
+
readonly minus: readonly ["M5 12h14"];
|
|
33
|
+
readonly table: readonly ["M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z", "M12 3v18", "M3 9h18", "M3 15h18"];
|
|
34
|
+
readonly sigma: readonly ["M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2"];
|
|
35
|
+
readonly info: readonly ["M22 12a10 10 0 1 1-20 0 10 10 0 0 1 20 0", "M12 16v-4", "M12 8h.01"];
|
|
36
|
+
readonly 'chevron-right': readonly ["m9 18 6-6-6-6"];
|
|
37
|
+
readonly 'chevron-down': readonly ["m6 9 6 6 6-6"];
|
|
38
|
+
readonly 'rows-2': readonly ["M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z", "M3 12h18"];
|
|
39
|
+
readonly 'columns-2': readonly ["M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z", "M12 3v18"];
|
|
40
|
+
readonly check: readonly ["M20 6 9 17l-5-5"];
|
|
41
|
+
readonly crop: readonly ["M6 2v14a2 2 0 0 0 2 2h14", "M18 22V8a2 2 0 0 0-2-2H2"];
|
|
42
|
+
readonly captions: readonly ["M5 5h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z", "M7 15h4", "M15 15h2", "M7 11h2", "M13 11h4"];
|
|
43
|
+
readonly x: readonly ["M18 6 6 18", "m6 6 12 12"];
|
|
44
|
+
readonly 'grip-vertical': readonly ["M10 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0", "M10 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0", "M10 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0", "M16 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0", "M16 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0", "M16 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0"];
|
|
45
|
+
};
|
|
46
|
+
export type MenuIconName = keyof typeof MENU_GLYPHS;
|
|
47
|
+
export declare function isMenuIconName(name: string): name is MenuIconName;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lucide glyphs the editor's own controls draw (menus, the selection bar, table buttons),
|
|
3
|
+
* inlined as path data so the library needs no icon dependency. A leaf module, so the insert
|
|
4
|
+
* catalogue in `schema/` can check an icon name without importing a component.
|
|
5
|
+
*/
|
|
6
|
+
export const MENU_GLYPHS = {
|
|
7
|
+
plus: ['M5 12h14', 'M12 5v14'],
|
|
8
|
+
type: ['M4 7V4h16v3', 'M9 20h6', 'M12 4v16'],
|
|
9
|
+
trash: [
|
|
10
|
+
'M3 6h18',
|
|
11
|
+
'M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6',
|
|
12
|
+
'M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2',
|
|
13
|
+
'M10 11v6',
|
|
14
|
+
'M14 11v6'
|
|
15
|
+
],
|
|
16
|
+
'arrow-up': ['m5 12 7-7 7 7', 'M12 19V5'],
|
|
17
|
+
'arrow-down': ['M12 5v14', 'm19 12-7 7-7-7'],
|
|
18
|
+
'arrow-left': ['m12 19-7-7 7-7', 'M19 12H5'],
|
|
19
|
+
'arrow-right': ['M5 12h14', 'm12 5 7 7-7 7'],
|
|
20
|
+
scissors: [
|
|
21
|
+
'M9 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0',
|
|
22
|
+
'M8.12 8.12 12 12',
|
|
23
|
+
'M20 4 8.12 15.88',
|
|
24
|
+
'M9 18a3 3 0 1 1-6 0 3 3 0 0 1 6 0',
|
|
25
|
+
'M14.8 14.8 20 20'
|
|
26
|
+
],
|
|
27
|
+
copy: [
|
|
28
|
+
'M10 8h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2z',
|
|
29
|
+
'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'
|
|
30
|
+
],
|
|
31
|
+
clipboard: [
|
|
32
|
+
'M9 2h6a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z',
|
|
33
|
+
'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'
|
|
34
|
+
],
|
|
35
|
+
'align-left': ['M15 12H3', 'M17 18H3', 'M21 6H3'],
|
|
36
|
+
'align-center': ['M17 12H7', 'M19 18H5', 'M21 6H3'],
|
|
37
|
+
'align-right': ['M21 12H9', 'M21 18H7', 'M21 6H3'],
|
|
38
|
+
bold: ['M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8'],
|
|
39
|
+
italic: ['M19 4h-9', 'M14 20H5', 'M15 4 9 20'],
|
|
40
|
+
strikethrough: ['M16 4H9a3 3 0 0 0-2.83 4', 'M14 12a4 4 0 0 1 0 8H6', 'M4 12h16'],
|
|
41
|
+
code: ['m16 18 6-6-6-6', 'm8 6-6 6 6 6'],
|
|
42
|
+
link: [
|
|
43
|
+
'M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71',
|
|
44
|
+
'M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'
|
|
45
|
+
],
|
|
46
|
+
'external-link': [
|
|
47
|
+
'M15 3h6v6',
|
|
48
|
+
'M10 14 21 3',
|
|
49
|
+
'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'
|
|
50
|
+
],
|
|
51
|
+
unlink: [
|
|
52
|
+
'm18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71',
|
|
53
|
+
'm5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71',
|
|
54
|
+
'M8 2v3',
|
|
55
|
+
'M2 8h3',
|
|
56
|
+
'M16 19v3',
|
|
57
|
+
'M19 16h3'
|
|
58
|
+
],
|
|
59
|
+
heading: ['M6 12h12', 'M6 20V4', 'M18 20V4'],
|
|
60
|
+
list: ['M3 12h.01', 'M3 18h.01', 'M3 6h.01', 'M8 12h13', 'M8 18h13', 'M8 6h13'],
|
|
61
|
+
'list-ordered': [
|
|
62
|
+
'M10 12h11',
|
|
63
|
+
'M10 18h11',
|
|
64
|
+
'M10 6h11',
|
|
65
|
+
'M4 10h2',
|
|
66
|
+
'M4 6h1v4',
|
|
67
|
+
'M6 18H4c0-1 2-2 2-3s-1-1.5-2-1'
|
|
68
|
+
],
|
|
69
|
+
'square-check': [
|
|
70
|
+
'M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z',
|
|
71
|
+
'm9 12 2 2 4-4'
|
|
72
|
+
],
|
|
73
|
+
'text-quote': ['M17 6H3', 'M21 12H8', 'M21 18H8', 'M3 12v6'],
|
|
74
|
+
minus: ['M5 12h14'],
|
|
75
|
+
table: [
|
|
76
|
+
'M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z',
|
|
77
|
+
'M12 3v18',
|
|
78
|
+
'M3 9h18',
|
|
79
|
+
'M3 15h18'
|
|
80
|
+
],
|
|
81
|
+
sigma: [
|
|
82
|
+
'M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2'
|
|
83
|
+
],
|
|
84
|
+
info: ['M22 12a10 10 0 1 1-20 0 10 10 0 0 1 20 0', 'M12 16v-4', 'M12 8h.01'],
|
|
85
|
+
'chevron-right': ['m9 18 6-6-6-6'],
|
|
86
|
+
'chevron-down': ['m6 9 6 6 6-6'],
|
|
87
|
+
'rows-2': ['M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z', 'M3 12h18'],
|
|
88
|
+
'columns-2': [
|
|
89
|
+
'M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z',
|
|
90
|
+
'M12 3v18'
|
|
91
|
+
],
|
|
92
|
+
check: ['M20 6 9 17l-5-5'],
|
|
93
|
+
crop: ['M6 2v14a2 2 0 0 0 2 2h14', 'M18 22V8a2 2 0 0 0-2-2H2'],
|
|
94
|
+
captions: [
|
|
95
|
+
'M5 5h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z',
|
|
96
|
+
'M7 15h4',
|
|
97
|
+
'M15 15h2',
|
|
98
|
+
'M7 11h2',
|
|
99
|
+
'M13 11h4'
|
|
100
|
+
],
|
|
101
|
+
x: ['M18 6 6 18', 'm6 6 12 12'],
|
|
102
|
+
'grip-vertical': [
|
|
103
|
+
'M10 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0',
|
|
104
|
+
'M10 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0',
|
|
105
|
+
'M10 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0',
|
|
106
|
+
'M16 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0',
|
|
107
|
+
'M16 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0',
|
|
108
|
+
'M16 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0'
|
|
109
|
+
]
|
|
110
|
+
};
|
|
111
|
+
export function isMenuIconName(name) {
|
|
112
|
+
return Object.hasOwn(MENU_GLYPHS, name);
|
|
113
|
+
}
|
|
@@ -3,13 +3,17 @@ export interface PerfSnapshot {
|
|
|
3
3
|
snapshotCount: number;
|
|
4
4
|
snapshotCloneBytes: number;
|
|
5
5
|
rebuildDepths: Record<number, number>;
|
|
6
|
-
/**
|
|
6
|
+
/** Parses of a rebuilt container's own bytes, to re-derive its kind or metadata
|
|
7
|
+
* (`schema/container-raw.ts :: parseContainerRaw`), and the bytes they read. */
|
|
7
8
|
containerKindReparses: number;
|
|
9
|
+
containerReparseBytes: number;
|
|
10
|
+
/** Reads of a rebuilt container's first line alone, to re-derive its kind or metadata. */
|
|
11
|
+
openerLineReads: number;
|
|
8
12
|
parseCount: number;
|
|
9
13
|
parseMsTotal: number;
|
|
10
14
|
parseBlockCount: number;
|
|
11
15
|
inlineComputeCount: number;
|
|
12
|
-
/** Inline-format coverage reads that actually parsed
|
|
16
|
+
/** Inline-format coverage reads that actually parsed: what a toolbar's pressed state costs. */
|
|
13
17
|
formatCoverageReads: number;
|
|
14
18
|
undoLiveBytes: number;
|
|
15
19
|
undoEntryCount: number;
|
|
@@ -21,6 +25,14 @@ export interface PerfSnapshot {
|
|
|
21
25
|
decorationRuns: number;
|
|
22
26
|
islandRebuilds: number;
|
|
23
27
|
islandKeyScans: number;
|
|
28
|
+
/** One entry per windowing height table built: the list's path and the width it estimated at. */
|
|
29
|
+
heightTableBuilds: {
|
|
30
|
+
path: string;
|
|
31
|
+
width: number;
|
|
32
|
+
}[];
|
|
33
|
+
/** Checks of whether a change moved the focused block past a neighbour, which only a rebuilt
|
|
34
|
+
* height table pays for. */
|
|
35
|
+
neighbourPasses: number;
|
|
24
36
|
}
|
|
25
37
|
export declare function enablePerfInstruments(): void;
|
|
26
38
|
export declare function disablePerfInstruments(): void;
|
|
@@ -29,7 +41,8 @@ export declare function perfEnabled(): boolean;
|
|
|
29
41
|
export declare function perfSnapshot(): PerfSnapshot;
|
|
30
42
|
export declare function recordSnapshotClone(bytes: number): void;
|
|
31
43
|
export declare function recordRebuildDepth(depth: number): void;
|
|
32
|
-
export declare function recordContainerKindReparse(): void;
|
|
44
|
+
export declare function recordContainerKindReparse(bytes: number): void;
|
|
45
|
+
export declare function recordOpenerLineRead(): void;
|
|
33
46
|
export declare function recordParse(ms: number, blockCount: number): void;
|
|
34
47
|
export declare function recordInlineCompute(): void;
|
|
35
48
|
export declare function recordFormatCoverageRead(): void;
|
|
@@ -38,12 +51,14 @@ export declare function recordBlockRender(ms: number, path?: number[]): void;
|
|
|
38
51
|
export declare function recordDecorationRun(): void;
|
|
39
52
|
export declare function recordIslandRebuild(): void;
|
|
40
53
|
export declare function recordIslandKeyScan(): void;
|
|
54
|
+
export declare function recordHeightTableBuild(path: readonly number[], width: number): void;
|
|
55
|
+
export declare function recordNeighbourPass(): void;
|
|
41
56
|
export declare function incMountedBlocks(): void;
|
|
42
57
|
export declare function decMountedBlocks(): void;
|
|
43
58
|
export declare function markKeystrokeStart(): void;
|
|
44
59
|
export declare function markKeystrokeSettle(): void;
|
|
45
60
|
/**
|
|
46
|
-
*
|
|
47
|
-
* against `serialize().length`, approximate against on-disk bytes for non-ASCII.
|
|
61
|
+
* A stand-in for the serialized byte count that never builds the string. Counts UTF-16 code
|
|
62
|
+
* units: exact against `serialize().length`, approximate against on-disk bytes for non-ASCII.
|
|
48
63
|
*/
|
|
49
64
|
export declare function docByteLength(doc: DocumentView): number;
|
package/dist/perf/instruments.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dev-mode performance counters for the profiling harness.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Internal
|
|
2
|
+
* Dev-mode performance counters for the profiling harness. It depends only on the build flags,
|
|
3
|
+
* so anything that records into it can import it. Recording stays off until a runtime switch that
|
|
4
|
+
* turns on only in a dev build or a test run, leaving production one boolean check per record
|
|
5
|
+
* call. Internal: never exported from the editor barrel.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { editorEnv, isDevChecks } from '../env';
|
|
8
8
|
let enabled = false;
|
|
9
9
|
let counters = emptySnapshot();
|
|
10
10
|
let keystrokeStart = null;
|
|
@@ -14,6 +14,8 @@ function emptySnapshot() {
|
|
|
14
14
|
snapshotCloneBytes: 0,
|
|
15
15
|
rebuildDepths: {},
|
|
16
16
|
containerKindReparses: 0,
|
|
17
|
+
containerReparseBytes: 0,
|
|
18
|
+
openerLineReads: 0,
|
|
17
19
|
parseCount: 0,
|
|
18
20
|
parseMsTotal: 0,
|
|
19
21
|
parseBlockCount: 0,
|
|
@@ -28,14 +30,15 @@ function emptySnapshot() {
|
|
|
28
30
|
mountedBlockCount: 0,
|
|
29
31
|
decorationRuns: 0,
|
|
30
32
|
islandRebuilds: 0,
|
|
31
|
-
islandKeyScans: 0
|
|
33
|
+
islandKeyScans: 0,
|
|
34
|
+
heightTableBuilds: [],
|
|
35
|
+
neighbourPasses: 0
|
|
32
36
|
};
|
|
33
37
|
}
|
|
34
38
|
// ── Switch and readout ──────────────────────────────────────────────────────
|
|
35
39
|
export function enablePerfInstruments() {
|
|
36
|
-
if (
|
|
40
|
+
if (isDevChecks() || editorEnv.isTest)
|
|
37
41
|
enabled = true;
|
|
38
|
-
}
|
|
39
42
|
}
|
|
40
43
|
export function disablePerfInstruments() {
|
|
41
44
|
enabled = false;
|
|
@@ -52,7 +55,8 @@ export function perfSnapshot() {
|
|
|
52
55
|
...counters,
|
|
53
56
|
rebuildDepths: { ...counters.rebuildDepths },
|
|
54
57
|
keystrokeInPageMs: [...counters.keystrokeInPageMs],
|
|
55
|
-
blockRenderPaths: [...counters.blockRenderPaths]
|
|
58
|
+
blockRenderPaths: [...counters.blockRenderPaths],
|
|
59
|
+
heightTableBuilds: [...counters.heightTableBuilds]
|
|
56
60
|
};
|
|
57
61
|
}
|
|
58
62
|
// ── Recorders ───────────────────────────────────────────────────────────────
|
|
@@ -67,10 +71,16 @@ export function recordRebuildDepth(depth) {
|
|
|
67
71
|
return;
|
|
68
72
|
counters.rebuildDepths[depth] = (counters.rebuildDepths[depth] ?? 0) + 1;
|
|
69
73
|
}
|
|
70
|
-
export function recordContainerKindReparse() {
|
|
74
|
+
export function recordContainerKindReparse(bytes) {
|
|
71
75
|
if (!enabled)
|
|
72
76
|
return;
|
|
73
77
|
counters.containerKindReparses++;
|
|
78
|
+
counters.containerReparseBytes += bytes;
|
|
79
|
+
}
|
|
80
|
+
export function recordOpenerLineRead() {
|
|
81
|
+
if (!enabled)
|
|
82
|
+
return;
|
|
83
|
+
counters.openerLineReads++;
|
|
74
84
|
}
|
|
75
85
|
export function recordParse(ms, blockCount) {
|
|
76
86
|
if (!enabled)
|
|
@@ -103,8 +113,8 @@ export function recordBlockRender(ms, path) {
|
|
|
103
113
|
if (path)
|
|
104
114
|
counters.blockRenderPaths.push(path.join(','));
|
|
105
115
|
}
|
|
106
|
-
// notifyEdit runs every source, so a typing pass records keystrokes × sources
|
|
107
|
-
//
|
|
116
|
+
// `notifyEdit` runs every source, so a typing pass records keystrokes × sources, the ceiling
|
|
117
|
+
// that catches one block's change cascading into the rest.
|
|
108
118
|
export function recordDecorationRun() {
|
|
109
119
|
if (!enabled)
|
|
110
120
|
return;
|
|
@@ -115,12 +125,22 @@ export function recordIslandRebuild() {
|
|
|
115
125
|
return;
|
|
116
126
|
counters.islandRebuilds++;
|
|
117
127
|
}
|
|
118
|
-
// One querySelectorAll per
|
|
128
|
+
// One `querySelectorAll` per delete or printable keystroke, even when the block has none.
|
|
119
129
|
export function recordIslandKeyScan() {
|
|
120
130
|
if (!enabled)
|
|
121
131
|
return;
|
|
122
132
|
counters.islandKeyScans++;
|
|
123
133
|
}
|
|
134
|
+
export function recordHeightTableBuild(path, width) {
|
|
135
|
+
if (!enabled)
|
|
136
|
+
return;
|
|
137
|
+
counters.heightTableBuilds.push({ path: path.join(','), width });
|
|
138
|
+
}
|
|
139
|
+
export function recordNeighbourPass() {
|
|
140
|
+
if (!enabled)
|
|
141
|
+
return;
|
|
142
|
+
counters.neighbourPasses++;
|
|
143
|
+
}
|
|
124
144
|
export function incMountedBlocks() {
|
|
125
145
|
if (!enabled)
|
|
126
146
|
return;
|
|
@@ -143,8 +163,8 @@ export function markKeystrokeSettle() {
|
|
|
143
163
|
keystrokeStart = null;
|
|
144
164
|
}
|
|
145
165
|
/**
|
|
146
|
-
*
|
|
147
|
-
* against `serialize().length`, approximate against on-disk bytes for non-ASCII.
|
|
166
|
+
* A stand-in for the serialized byte count that never builds the string. Counts UTF-16 code
|
|
167
|
+
* units: exact against `serialize().length`, approximate against on-disk bytes for non-ASCII.
|
|
148
168
|
*/
|
|
149
169
|
export function docByteLength(doc) {
|
|
150
170
|
let length = doc.prefix.length + doc.suffix.length;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Count the calling component in the dev mount gauge. Rows and list items
|
|
3
|
-
* BlockHosts, so without this a windowed
|
|
2
|
+
* Count the calling component in the dev-mode mount gauge. Rows and list items are not
|
|
3
|
+
* BlockHosts, so without this a huge windowed container would read as almost nothing mounted.
|
|
4
4
|
*/
|
|
5
5
|
import { perfEnabled, incMountedBlocks, decMountedBlocks } from './instruments';
|
|
6
6
|
export function useMountGauge() {
|
|
7
7
|
$effect(() => {
|
|
8
|
-
//
|
|
9
|
-
// teardown would let
|
|
8
|
+
// Decided once per mount: the gauge counts up and down, so re-reading the flag at
|
|
9
|
+
// teardown would let turning it on or off in between leave the count unbalanced.
|
|
10
10
|
if (!perfEnabled())
|
|
11
11
|
return;
|
|
12
12
|
incMountedBlocks();
|
package/dist/plugin.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { ChromeLeafOptions } from './editor-actions/plugin/chrome-leaf';
|
|
|
4
4
|
export { definePlugin, isPluginInstalled } from './schema/plugin-install';
|
|
5
5
|
export type { EditorPlugin, EditorPluginEntry } from './schema/plugin-install';
|
|
6
6
|
export type { PluginSetupContext, OnEditorCallback, EditorContext } from './schema/plugin-install';
|
|
7
|
+
export type { InsertMarkdownOptions } from './editor-props';
|
|
7
8
|
export type { PresentationMode } from './presentation-mode';
|
|
8
9
|
export { definePluginBlock } from './schema/define-plugin-block';
|
|
9
10
|
export { declarePluginKind, declaredPluginKind } from './schema/plugin-kind';
|
|
@@ -15,7 +16,8 @@ export type { InlineSyntaxRecognizer, InlineSyntaxOptions } from './core/inline/
|
|
|
15
16
|
export { registerInlineWidgetKind, mintWidgetShell, isWidgetActivationClick } from './core/inline/inline-widgets';
|
|
16
17
|
export type { InlineWidgetDescriptor, InlineWidgetComponentProps, InlineWidgetEditingPolicy, InlineWidgetEditingContext } from './core/inline/inline-widgets';
|
|
17
18
|
export { registerBlockKind, augmentBlockKind } from './schema/block-kind-descriptor';
|
|
18
|
-
export type {
|
|
19
|
+
export type { BlockKindRegistration, BlockKindAugmentation, ContainerDescriptorGroup, MergeRole, ContainerUnwrapRole, WriteContext, WriteRule } from './schema/block-kind-descriptor';
|
|
20
|
+
export type { HeightEstimateEnv } from './schema/height-estimates';
|
|
19
21
|
export type { ChildRawChange } from './schema/child-spans';
|
|
20
22
|
export type { ClosureBlock, ClosureColumn, ClosureCell, SimpleLeafClosureCells, ContainerClosureCells } from './schema/closure';
|
|
21
23
|
export { simpleLeafClosure, containerClosure } from './schema/closure';
|
|
@@ -29,10 +31,18 @@ export type { OuterBlockScan } from './schema/block-openers';
|
|
|
29
31
|
export { OPENER_PRIORITIES } from './schema/opener-priorities';
|
|
30
32
|
export { registerBlockCompleter } from './schema/block-completions';
|
|
31
33
|
export type { BlockCompleter, CompletionResult } from './schema/block-completions';
|
|
32
|
-
export { registerLanguage
|
|
34
|
+
export { registerLanguage } from './components/blocks/code/code-languages';
|
|
33
35
|
export type { LanguageGrammar } from './components/blocks/code/code-languages';
|
|
34
|
-
|
|
36
|
+
/** Every language once, under its canonical name, sorted. */
|
|
37
|
+
export declare function listLanguages(): string[];
|
|
38
|
+
/** The other spellings a language answers to, asked by any of them. */
|
|
39
|
+
export declare function getLanguageAliases(name: string): readonly string[];
|
|
40
|
+
/** The code block's own tokenizer, for a plugin's own source view (block math paints its LaTeX
|
|
41
|
+
* with it). Text-preserving: the fragment's `textContent` is `body`. */
|
|
42
|
+
export declare function highlightCode(body: string, language: string): DocumentFragment;
|
|
35
43
|
export type { LanguageFn } from 'highlight.js';
|
|
44
|
+
export { sliceFencedSource, renderFencedSource, fenceBodyAsDrawn } from './components/blocks/code/code-renderer';
|
|
45
|
+
export type { FencedSource } from './components/blocks/code/code-renderer';
|
|
36
46
|
export type { CommandId } from './schema/commands';
|
|
37
47
|
export type { KeyBinding } from './schema/keybindings';
|
|
38
48
|
export { registerBlockCommand } from './schema/block-commands';
|
|
@@ -47,11 +57,18 @@ export { serialize, concatChildren as serializeChildren } from './core/serialize
|
|
|
47
57
|
export { trimTrailingLineEnding, normalizeLineEndings } from './core/lines';
|
|
48
58
|
export { splitLines } from './core/lines';
|
|
49
59
|
export type { ParsedLine } from './core/lines';
|
|
60
|
+
export { documentLineEnding, firstLineEnding, ownTrailingLineEnding, trailingLineEnding, displayLines, joinDisplayLines } from './core/lines';
|
|
61
|
+
export type { LineEnding } from './core/lines';
|
|
50
62
|
export { isBlankLine } from './core/parser';
|
|
63
|
+
export { isBlankText, isWhitespaceChar, trimWhitespace } from './core/lines';
|
|
51
64
|
export { parseContainerBody } from './core/parser';
|
|
52
65
|
export type { ContainerBodyWrap } from './core/parser';
|
|
53
|
-
export { matchFenceOpen, matchFenceClose, escalatedFenceLength } from './core/parsers/fence-syntax';
|
|
54
|
-
export type { FenceOpen } from './core/parsers/fence-syntax';
|
|
66
|
+
export { matchFenceOpen, matchFenceClose, escalatedFenceLength, findFenceCloser, fenceAnatomy, matchFenceInfo } from './core/parsers/fence-syntax';
|
|
67
|
+
export type { FenceOpen, FenceRun, FenceAnatomy } from './core/parsers/fence-syntax';
|
|
68
|
+
export { scanFence } from './core/parsers/fenced-code';
|
|
69
|
+
export type { FenceScan } from './core/parsers/fenced-code';
|
|
70
|
+
export { fenceRawWrite, fenceShapeOfRaw } from './schema/fenced-code-raw';
|
|
71
|
+
export type { FenceShape } from './schema/fenced-code-raw';
|
|
55
72
|
export { htmlBlockTagLineMatcher } from './core/parsers/html-block';
|
|
56
73
|
export { blockquoteExtent } from './core/parsers/blockquote';
|
|
57
74
|
export type { CstNode } from './core/nodes';
|
|
@@ -61,9 +78,13 @@ export { getContentRange } from './core/inline';
|
|
|
61
78
|
export type { ContentRange } from './core/inline';
|
|
62
79
|
export { headingLevel } from './core/nodes';
|
|
63
80
|
export { isProseKind } from './core/inline';
|
|
81
|
+
export { walkBlocks } from './core/paths';
|
|
82
|
+
export { blockNodeAt } from './tree-operations/node-primitives';
|
|
64
83
|
/**
|
|
65
|
-
* Inline-parse a prose leaf
|
|
66
|
-
*
|
|
84
|
+
* Inline-parse a prose leaf with every installed plugin's syntax, for a pipeline with no editor
|
|
85
|
+
* mounted. Inside an editor use `EditorContext.computeInlineContent`, which reads only the plugins
|
|
86
|
+
* that editor lists and resolves the document's reference links. With no document here, a
|
|
87
|
+
* reference link reads as its bracketed text.
|
|
67
88
|
*/
|
|
68
89
|
export declare function computeInlineContent(node: NodeView): InlineNode[];
|
|
69
90
|
export { isBlockKindDeclared } from './schema/plugin-kind';
|
|
@@ -72,10 +93,12 @@ export { isBlockComponentRegistered } from './schema/block-component-registry';
|
|
|
72
93
|
export { isBlockOpenerRegistered } from './schema/block-openers';
|
|
73
94
|
export { isBlockCompleterRegistered } from './schema/block-completions';
|
|
74
95
|
export { isPasteTransformRegistered } from './tree-operations/paste/paste-transforms';
|
|
96
|
+
export { isLanguageRegistered } from './components/blocks/code/code-languages';
|
|
75
97
|
export { default as BlockList } from './components/BlockList.svelte';
|
|
76
98
|
export { createContainerBlock } from './editor-actions/plugin/container';
|
|
77
99
|
export type { ContainerBlock, ContainerBlockComponent, ContainerBlockDeps, ContainerBlockListProps } from './editor-actions/plugin/container';
|
|
78
100
|
export type { RefSlots } from './reactivity/publish-ref.svelte';
|
|
101
|
+
export type { ChildList } from './reactivity/child-list';
|
|
79
102
|
export declare function registerChromeLeaf(kind: AnyBlockKind, opts?: ChromeLeafOptions): void;
|
|
80
103
|
export type { ChromeLeafOptions };
|
|
81
104
|
export { chromeChild } from './editor-actions/plugin/chrome-leaf';
|
|
@@ -92,17 +115,24 @@ export { createDirectiveRebuild } from './editor-actions/plugin/directive-contai
|
|
|
92
115
|
export { DIRECTIVE_BODY_WRAP } from './core/directive/kinds';
|
|
93
116
|
export { createBoundedMemo } from './bounded-memo';
|
|
94
117
|
export type { BoundedMemoOptions } from './bounded-memo';
|
|
118
|
+
export { createRendererSlot, createAsyncRendererSlot, renderSourceFallback } from './renderer-slot';
|
|
119
|
+
export type { RenderContext, RendererSlot, AsyncRendererSlot, RendererSlotSpec, SyncRendererSlotSpec } from './renderer-slot';
|
|
95
120
|
export { createScanIndex } from './scan-index';
|
|
96
121
|
export { registerPasteTransform } from './tree-operations/paste/paste-transforms';
|
|
97
122
|
export type { PasteTransform } from './tree-operations/paste/paste-transforms';
|
|
98
123
|
export type { Decoration, MarkDecoration, WidgetDecoration, ReplaceDecoration, BlockDecoration, DecorationWidgetSpec, ProvideContext, DecorationSource, DecorationSourceHandle, DecorationRegistry } from './decorations/types';
|
|
99
|
-
export type { EditEvent, EditorEventMap, SelectionChangeEvent, EditorError } from './editor-events';
|
|
124
|
+
export type { EditEvent, EditorEventMap, SelectionChangeEvent, EditorError, SourceSwapEvent } from './editor-events';
|
|
100
125
|
export type { OperationKind } from './schema/operations';
|
|
126
|
+
export type { InlineMenuRegistry, InlineMenuOpenOptions, InlineMenuSource, InlineMenuSourceHandle, InlineMenuItem, InlineMenuQuery, InlineMenuRowProps } from './inline-menu/types';
|
|
127
|
+
export { registerInsertEntry } from './schema/insert-catalogue';
|
|
128
|
+
export type { InsertEntry } from './schema/insert-catalogue';
|
|
129
|
+
export type { MenuIconName } from './menu-icons';
|
|
101
130
|
export type { EditorRects } from './editor-rects';
|
|
102
131
|
export { caretOffsetAtPoint } from './cursor/point-offset';
|
|
103
132
|
export type { CaretTarget } from './schema/block-kind-descriptor';
|
|
104
133
|
export { CURSOR_END } from './block-component';
|
|
105
134
|
export type { CursorEnd } from './block-component';
|
|
135
|
+
export { POINTER_GESTURE_ATTR } from './selection/pointer-gesture';
|
|
106
136
|
export type { EditorSelection, SelectionPoint } from './selection/primitives';
|
|
107
137
|
export { SELECTION_END } from './block-component';
|
|
108
138
|
export type { SelectionEnd } from './block-component';
|