@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,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
* a
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* The report `getDiagnostics().serializeDiagnostics()` produces: a fenced-markdown snapshot
|
|
3
|
+
* a consumer pastes into a bug report. A pure function of its inputs, so the privacy rule
|
|
4
|
+
* (the document source is left out unless the consumer opts in) can be unit-tested without
|
|
5
|
+
* mounting the editor.
|
|
6
6
|
*/
|
|
7
7
|
export interface DiagnosticsReportInput {
|
|
8
8
|
timestamp: string;
|
|
9
|
-
/** Tails
|
|
9
|
+
/** Tails already rendered by the debug helpers. */
|
|
10
10
|
trace: string;
|
|
11
11
|
opsLog: string;
|
|
12
12
|
selection: string;
|
|
13
|
-
/** Raw document Markdown. Emitted
|
|
13
|
+
/** Raw document Markdown. Emitted only when `includeSource` is true. */
|
|
14
14
|
source: string;
|
|
15
15
|
includeSource: boolean;
|
|
16
16
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
* a
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* The report `getDiagnostics().serializeDiagnostics()` produces: a fenced-markdown snapshot
|
|
3
|
+
* a consumer pastes into a bug report. A pure function of its inputs, so the privacy rule
|
|
4
|
+
* (the document source is left out unless the consumer opts in) can be unit-tested without
|
|
5
|
+
* mounting the editor.
|
|
6
6
|
*/
|
|
7
7
|
import { escalatedFenceLength } from '../core/parsers/fence-syntax';
|
|
8
8
|
// A trace tail or a document body routinely holds a fence of its own, which would close the
|
|
@@ -18,7 +18,7 @@ export function buildDiagnosticsReport(input) {
|
|
|
18
18
|
fenced('Operations log', input.opsLog),
|
|
19
19
|
fenced('Selection', input.selection)
|
|
20
20
|
];
|
|
21
|
-
//
|
|
21
|
+
// Left out by default: a bug report must not leak the document unless asked.
|
|
22
22
|
if (input.includeSource)
|
|
23
23
|
sections.push(fenced('Source', input.source));
|
|
24
24
|
return `# aragonite editor diagnostics — ${input.timestamp}\n\n${sections.join('\n\n')}\n`;
|
package/dist/debug/dump-tree.js
CHANGED
|
@@ -59,8 +59,8 @@ function formatMetadata(node, opts) {
|
|
|
59
59
|
if (!m)
|
|
60
60
|
return '';
|
|
61
61
|
const frags = [];
|
|
62
|
-
// Narrowing to the built-in union lets each
|
|
63
|
-
// `'field' in m`
|
|
62
|
+
// Narrowing to the built-in union lets each branch read its own metadata directly, with no
|
|
63
|
+
// `'field' in m` checks.
|
|
64
64
|
if (isBuiltinBlockNode(node)) {
|
|
65
65
|
switch (node.kind) {
|
|
66
66
|
case 'heading':
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `getDiagnostics()` entry point: the switches for the interaction trace, and the fenced
|
|
3
|
+
* report (`diagnostics-report.ts`). The document source is left out unless the consumer opts in.
|
|
4
|
+
*/
|
|
5
|
+
import type { EditorDiagnostics } from '../editor-props';
|
|
6
|
+
import type { EditorSelection } from '../selection/primitives';
|
|
7
|
+
import type { OperationsLog } from './operations-log';
|
|
8
|
+
export interface EditorDiagnosticsDeps {
|
|
9
|
+
/** The public snapshot, so it covers the single-block carets the cross-block state never
|
|
10
|
+
* holds. */
|
|
11
|
+
getSelection(): EditorSelection | null;
|
|
12
|
+
getSource(): string;
|
|
13
|
+
operationsLog: OperationsLog;
|
|
14
|
+
}
|
|
15
|
+
export declare function createEditorDiagnostics(deps: EditorDiagnosticsDeps): EditorDiagnostics;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `getDiagnostics()` entry point: the switches for the interaction trace, and the fenced
|
|
3
|
+
* report (`diagnostics-report.ts`). The document source is left out unless the consumer opts in.
|
|
4
|
+
*/
|
|
5
|
+
import { buildDiagnosticsReport } from './diagnostics-report';
|
|
6
|
+
import { dumpInteractionTrace, dumpOperationsLog } from './inspect';
|
|
7
|
+
import { disableInteractionTrace, enableInteractionTrace, interactionTraceSnapshot, isInteractionTraceEnabled } from './interaction-trace';
|
|
8
|
+
export function createEditorDiagnostics(deps) {
|
|
9
|
+
function selectionSummary() {
|
|
10
|
+
const sel = deps.getSelection();
|
|
11
|
+
if (!sel)
|
|
12
|
+
return '(no selection)';
|
|
13
|
+
const fmt = (p) => `[${p.path.join(',')}]@${p.offset}`;
|
|
14
|
+
return `anchor=${fmt(sel.anchor)} focus=${fmt(sel.focus)}`;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
enableTrace: enableInteractionTrace,
|
|
18
|
+
disableTrace: disableInteractionTrace,
|
|
19
|
+
isTraceEnabled: isInteractionTraceEnabled,
|
|
20
|
+
traceSnapshot: interactionTraceSnapshot,
|
|
21
|
+
serializeDiagnostics: (opts) => {
|
|
22
|
+
const includeSource = opts?.includeSource ?? false;
|
|
23
|
+
return buildDiagnosticsReport({
|
|
24
|
+
timestamp: new Date().toISOString(),
|
|
25
|
+
trace: dumpInteractionTrace(interactionTraceSnapshot()),
|
|
26
|
+
opsLog: dumpOperationsLog(deps.operationsLog),
|
|
27
|
+
selection: selectionSummary(),
|
|
28
|
+
source: includeSource ? deps.getSource() : '',
|
|
29
|
+
includeSource
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
package/dist/debug/inspect.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Internal debug
|
|
3
|
-
*
|
|
2
|
+
* Internal debug helpers, never exported from the public barrel (`src/lib/index.ts`). The
|
|
3
|
+
* output format is disposable: assert on the structured accessors (`getSource`, kinds, paths).
|
|
4
4
|
*/
|
|
5
5
|
import type { InlineNode } from '../core/nodes';
|
|
6
6
|
import type { SelectionState } from '../selection/selection-state.svelte';
|
package/dist/debug/inspect.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Internal debug
|
|
3
|
-
*
|
|
2
|
+
* Internal debug helpers, never exported from the public barrel (`src/lib/index.ts`). The
|
|
3
|
+
* output format is disposable: assert on the structured accessors (`getSource`, kinds, paths).
|
|
4
4
|
*/
|
|
5
5
|
import { isGapSelection } from '../undo/types';
|
|
6
6
|
export { dumpTree } from './dump-tree';
|
|
@@ -95,8 +95,8 @@ function renderTraceEntry(e, now) {
|
|
|
95
95
|
.join(' ');
|
|
96
96
|
return detail ? `${base} ${detail}` : base;
|
|
97
97
|
}
|
|
98
|
-
/**
|
|
99
|
-
* is simply absent;
|
|
98
|
+
/** The detail fields worth printing, per operation. An operation whose detail says nothing
|
|
99
|
+
* useful is simply absent; one missing any listed field prints none of them. */
|
|
100
100
|
const DETAIL_FIELDS = {
|
|
101
101
|
split: ['at'],
|
|
102
102
|
merge: ['direction'],
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* panel and `getDiagnostics()`.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* two editors on one page interleave.
|
|
2
|
+
* A fixed-size ring buffer of the inline code's short-lived state changes, read through the
|
|
3
|
+
* debug panel and `getDiagnostics()`. It can run in production so a consumer app can attach it
|
|
4
|
+
* to a bug report, so an entry holds only cheap values, never node references or document text.
|
|
5
|
+
* The buffer is module-global: two editors on one page interleave their entries.
|
|
7
6
|
*/
|
|
8
7
|
export interface InteractionTraceEntry {
|
|
9
|
-
/** `performance.now()` at record time
|
|
8
|
+
/** `performance.now()` at record time: it only ever goes up, and is not a wall clock. */
|
|
10
9
|
t: number;
|
|
11
10
|
site: string;
|
|
12
11
|
kind: string;
|
|
@@ -15,29 +14,29 @@ export interface InteractionTraceEntry {
|
|
|
15
14
|
export declare function enableInteractionTrace(): void;
|
|
16
15
|
export declare function disableInteractionTrace(): void;
|
|
17
16
|
export declare function isInteractionTraceEnabled(): boolean;
|
|
18
|
-
/** Empty the buffer without touching the enabled flag
|
|
17
|
+
/** Empty the buffer without touching the enabled flag, so tests stay isolated. */
|
|
19
18
|
export declare function resetInteractionTrace(): void;
|
|
20
19
|
export declare function interactionTraceKeydownCount(): number;
|
|
21
20
|
export declare function interactionTraceSnapshot(): InteractionTraceEntry[];
|
|
22
21
|
/** `changed` names the differing render-key segments, comma-joined. */
|
|
23
22
|
export declare function traceRebuild(changed: string, force: boolean): void;
|
|
24
|
-
export declare function traceCursorCapture(
|
|
25
|
-
export declare function traceCursorRestore(
|
|
23
|
+
export declare function traceCursorCapture(raw: number): void;
|
|
24
|
+
export declare function traceCursorRestore(raw: number): void;
|
|
26
25
|
export declare function tracePendingCursorSet(source: string, offset: number | null): void;
|
|
27
|
-
/** `applied` false
|
|
28
|
-
*
|
|
26
|
+
/** `applied` false means the block lost focus before the effect ran, so skipping the caret
|
|
27
|
+
* restore was correct. */
|
|
29
28
|
export declare function tracePendingCursorConsume(offset: number, applied: boolean): void;
|
|
30
|
-
/** `construct`
|
|
29
|
+
/** `construct` holds a `kind:start-end` descriptor; the other levels record the level alone. */
|
|
31
30
|
export declare function traceRevealOpen(tier: 'inline' | 'leaf' | 'construct', construct?: string): void;
|
|
32
31
|
export type RevealFoldReason = 'commit' | 'cancel' | 'no-edit' | 'selection-escape' | 'blur' | 'caret-exit';
|
|
33
32
|
export declare function traceRevealFold(reason: RevealFoldReason, construct?: string): void;
|
|
34
|
-
/** One record per rebuild
|
|
33
|
+
/** One record per rebuild, counted once for the pool rather than once per widget. */
|
|
35
34
|
export declare function tracePoolPass(adopt: number, build: number, destroyed: number): void;
|
|
36
35
|
export declare function traceCompositionStart(): void;
|
|
37
36
|
export declare function traceCompositionEnd(): void;
|
|
38
37
|
export declare function traceIslandsApplied(count: number): void;
|
|
39
38
|
export declare function traceStickyCapture(x: number): void;
|
|
40
39
|
export declare function traceStickyReset(): void;
|
|
41
|
-
/** `handled` is the event's own `defaultPrevented`: whether the editor
|
|
42
|
-
* Recorded once per keydown, after the
|
|
40
|
+
/** `handled` is the event's own `defaultPrevented`: whether the editor took the keystroke.
|
|
41
|
+
* Recorded once per keydown, after the block's handler has finished awaiting. */
|
|
43
42
|
export declare function traceKeydownVerdict(key: string, handled: boolean): void;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* panel and `getDiagnostics()`.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* two editors on one page interleave.
|
|
2
|
+
* A fixed-size ring buffer of the inline code's short-lived state changes, read through the
|
|
3
|
+
* debug panel and `getDiagnostics()`. It can run in production so a consumer app can attach it
|
|
4
|
+
* to a bug report, so an entry holds only cheap values, never node references or document text.
|
|
5
|
+
* The buffer is module-global: two editors on one page interleave their entries.
|
|
7
6
|
*/
|
|
8
7
|
const CAPACITY = 200;
|
|
9
8
|
let enabled = false;
|
|
10
9
|
let buf = [];
|
|
11
|
-
//
|
|
12
|
-
//
|
|
10
|
+
// Only ever goes up, so a polling harness costs one read and the ring buffer dropping an
|
|
11
|
+
// old entry cannot take back a result it already counted.
|
|
13
12
|
let keydownVerdicts = 0;
|
|
14
13
|
// ── Switch and readout ──────────────────────────────────────────────────────
|
|
15
14
|
export function enableInteractionTrace() {
|
|
@@ -21,7 +20,7 @@ export function disableInteractionTrace() {
|
|
|
21
20
|
export function isInteractionTraceEnabled() {
|
|
22
21
|
return enabled;
|
|
23
22
|
}
|
|
24
|
-
/** Empty the buffer without touching the enabled flag
|
|
23
|
+
/** Empty the buffer without touching the enabled flag, so tests stay isolated. */
|
|
25
24
|
export function resetInteractionTrace() {
|
|
26
25
|
buf = [];
|
|
27
26
|
keydownVerdicts = 0;
|
|
@@ -38,37 +37,37 @@ function record(site, kind, detail) {
|
|
|
38
37
|
buf.splice(0, buf.length - CAPACITY);
|
|
39
38
|
}
|
|
40
39
|
// ── Recorders (one per transition family) ────────────────────────────────────
|
|
41
|
-
// Every recorder
|
|
42
|
-
// behind an `isInteractionTraceEnabled()`
|
|
40
|
+
// Every recorder starts by returning when recording is off. Building a detail that would
|
|
41
|
+
// allocate stays behind an `isInteractionTraceEnabled()` check at the call site.
|
|
43
42
|
/** `changed` names the differing render-key segments, comma-joined. */
|
|
44
43
|
export function traceRebuild(changed, force) {
|
|
45
44
|
if (!enabled)
|
|
46
45
|
return;
|
|
47
46
|
record('text-render', 'rebuild', { changed, force });
|
|
48
47
|
}
|
|
49
|
-
export function traceCursorCapture(
|
|
48
|
+
export function traceCursorCapture(raw) {
|
|
50
49
|
if (!enabled)
|
|
51
50
|
return;
|
|
52
|
-
record('text-render', 'cursor-capture', {
|
|
51
|
+
record('text-render', 'cursor-capture', { raw });
|
|
53
52
|
}
|
|
54
|
-
export function traceCursorRestore(
|
|
53
|
+
export function traceCursorRestore(raw) {
|
|
55
54
|
if (!enabled)
|
|
56
55
|
return;
|
|
57
|
-
record('text-render', 'cursor-restore', {
|
|
56
|
+
record('text-render', 'cursor-restore', { raw });
|
|
58
57
|
}
|
|
59
58
|
export function tracePendingCursorSet(source, offset) {
|
|
60
59
|
if (!enabled)
|
|
61
60
|
return;
|
|
62
61
|
record('pending-cursor', 'set', { source, offset: offset ?? -1, cleared: offset === null });
|
|
63
62
|
}
|
|
64
|
-
/** `applied` false
|
|
65
|
-
*
|
|
63
|
+
/** `applied` false means the block lost focus before the effect ran, so skipping the caret
|
|
64
|
+
* restore was correct. */
|
|
66
65
|
export function tracePendingCursorConsume(offset, applied) {
|
|
67
66
|
if (!enabled)
|
|
68
67
|
return;
|
|
69
68
|
record('pending-cursor', 'consume', { offset, applied });
|
|
70
69
|
}
|
|
71
|
-
/** `construct`
|
|
70
|
+
/** `construct` holds a `kind:start-end` descriptor; the other levels record the level alone. */
|
|
72
71
|
export function traceRevealOpen(tier, construct) {
|
|
73
72
|
if (!enabled)
|
|
74
73
|
return;
|
|
@@ -79,7 +78,7 @@ export function traceRevealFold(reason, construct) {
|
|
|
79
78
|
return;
|
|
80
79
|
record('reveal', 'fold', construct === undefined ? { reason } : { reason, construct });
|
|
81
80
|
}
|
|
82
|
-
/** One record per rebuild
|
|
81
|
+
/** One record per rebuild, counted once for the pool rather than once per widget. */
|
|
83
82
|
export function tracePoolPass(adopt, build, destroyed) {
|
|
84
83
|
if (!enabled)
|
|
85
84
|
return;
|
|
@@ -110,8 +109,8 @@ export function traceStickyReset() {
|
|
|
110
109
|
return;
|
|
111
110
|
record('sticky-column', 'reset');
|
|
112
111
|
}
|
|
113
|
-
/** `handled` is the event's own `defaultPrevented`: whether the editor
|
|
114
|
-
* Recorded once per keydown, after the
|
|
112
|
+
/** `handled` is the event's own `defaultPrevented`: whether the editor took the keystroke.
|
|
113
|
+
* Recorded once per keydown, after the block's handler has finished awaiting. */
|
|
115
114
|
export function traceKeydownVerdict(key, handled) {
|
|
116
115
|
if (!enabled)
|
|
117
116
|
return;
|
|
@@ -10,5 +10,5 @@ export interface OperationsLog {
|
|
|
10
10
|
snapshot(): OperationEntry[];
|
|
11
11
|
subscribe(listener: (entry: OperationEntry) => void): () => void;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/** First in, first out; the oldest entries are dropped past `capacity`. */
|
|
14
14
|
export declare function createOperationsLog(capacity?: number): OperationsLog;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { devWarn } from '../dev-warn';
|
|
2
|
-
/**
|
|
2
|
+
/** First in, first out; the oldest entries are dropped past `capacity`. */
|
|
3
3
|
export function createOperationsLog(capacity = 100) {
|
|
4
4
|
const buf = [];
|
|
5
5
|
const listeners = new Set();
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* overlay reads only its own bucket instead of scanning every decoration per render.
|
|
4
4
|
*/
|
|
5
5
|
import type { Decoration, MarkDecoration } from './types';
|
|
6
|
-
/** A decoration paired with its
|
|
6
|
+
/** A decoration paired with its position in the flat list: the stable key overlays render
|
|
7
|
+
* against. */
|
|
7
8
|
export interface IndexedDecoration<D extends Decoration = Decoration> {
|
|
8
9
|
dec: D;
|
|
9
10
|
index: number;
|
|
@@ -17,11 +18,8 @@ export declare function groupByPathKey<T extends {
|
|
|
17
18
|
}, E>(items: readonly T[], wrap: (item: T, index: number) => E): Map<string, E[]>;
|
|
18
19
|
/** Group decorations by owning leaf path, preserving each one's flat index. */
|
|
19
20
|
export declare function groupDecorationsByPath(decs: readonly Decoration[]): Map<string, IndexedDecoration[]>;
|
|
20
|
-
/**
|
|
21
|
-
*
|
|
22
|
-
* surfaces paint descendant cell decorations themselves, cells having no BlockHost
|
|
23
|
-
* overlay, so this lets them read one bucket instead of the full list.
|
|
24
|
-
*/
|
|
21
|
+
/** Group decorations under every strict ancestor of their own path, so a grid, which paints
|
|
22
|
+
* its cells' decorations itself, reads one bucket instead of the full list. */
|
|
25
23
|
export declare function groupDecorationsByAncestor(decs: readonly Decoration[]): Map<string, IndexedDecoration[]>;
|
|
26
24
|
/** One whole-cell rect: the union of every mark's class tokens, plus a representative
|
|
27
25
|
* decoration for the rect's attrs/interactive. */
|
|
@@ -31,10 +29,6 @@ export interface CollapsedCellMark {
|
|
|
31
29
|
class: string;
|
|
32
30
|
dec: MarkDecoration;
|
|
33
31
|
}
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
* class tokens so two sources in one cell cascade-compose instead of stacking translucent
|
|
37
|
-
* rects. `containerDepth` is the grid container's path length; the cell coordinates sit at
|
|
38
|
-
* `path[depth]` and `path[depth + 1]`.
|
|
39
|
-
*/
|
|
32
|
+
/** Collapse a grid's cell marks to one entry per `(row, col)`, unioning class tokens so two
|
|
33
|
+
* sources in one cell compose instead of stacking translucent rects. */
|
|
40
34
|
export declare function collapseCellMarks(descMarks: readonly IndexedDecoration<MarkDecoration>[], containerDepth: number): CollapsedCellMark[];
|
|
@@ -24,11 +24,8 @@ export function groupByPathKey(items, wrap) {
|
|
|
24
24
|
export function groupDecorationsByPath(decs) {
|
|
25
25
|
return groupByPathKey(decs, (dec, index) => ({ dec, index }));
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
* surfaces paint descendant cell decorations themselves, cells having no BlockHost
|
|
30
|
-
* overlay, so this lets them read one bucket instead of the full list.
|
|
31
|
-
*/
|
|
27
|
+
/** Group decorations under every strict ancestor of their own path, so a grid, which paints
|
|
28
|
+
* its cells' decorations itself, reads one bucket instead of the full list. */
|
|
32
29
|
export function groupDecorationsByAncestor(decs) {
|
|
33
30
|
const byAncestor = new Map();
|
|
34
31
|
decs.forEach((dec, index) => {
|
|
@@ -45,12 +42,8 @@ function push(map, key, dec, index) {
|
|
|
45
42
|
else
|
|
46
43
|
map.set(key, [{ dec, index }]);
|
|
47
44
|
}
|
|
48
|
-
/**
|
|
49
|
-
*
|
|
50
|
-
* class tokens so two sources in one cell cascade-compose instead of stacking translucent
|
|
51
|
-
* rects. `containerDepth` is the grid container's path length; the cell coordinates sit at
|
|
52
|
-
* `path[depth]` and `path[depth + 1]`.
|
|
53
|
-
*/
|
|
45
|
+
/** Collapse a grid's cell marks to one entry per `(row, col)`, unioning class tokens so two
|
|
46
|
+
* sources in one cell compose instead of stacking translucent rects. */
|
|
54
47
|
export function collapseCellMarks(descMarks, containerDepth) {
|
|
55
48
|
const byCell = new Map();
|
|
56
49
|
for (const { dec } of descMarks) {
|
|
@@ -8,9 +8,8 @@ export interface DecorationEngineDeps {
|
|
|
8
8
|
export type DecorationEngine = {
|
|
9
9
|
addSource(source: DecorationSource): DecorationSourceHandle;
|
|
10
10
|
readonly sourceCount: number;
|
|
11
|
-
/**
|
|
12
|
-
* source
|
|
13
|
-
* changed" from "my own state changed". */
|
|
11
|
+
/** Re-runs every source after bumping the edit counter. `handle.invalidate()` skips the bump,
|
|
12
|
+
* so a memoized source can tell a document change from a change in its own state. */
|
|
14
13
|
notifyEdit(): void;
|
|
15
14
|
marksForPath(path: number[]): IndexedDecoration<MarkDecoration>[];
|
|
16
15
|
marksForDescendants(path: number[]): IndexedDecoration<MarkDecoration>[];
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/** One editor's decoration sources, their merged results, and the per-path lookups the
|
|
2
|
+
* overlays and inline widgets read. A source never runs inside a commit. */
|
|
3
|
+
import { isDevChecks } from '../env';
|
|
2
4
|
import { tick } from 'svelte';
|
|
3
5
|
import { groupDecorationsByAncestor, groupDecorationsByPath, pathKey } from './buckets';
|
|
4
6
|
import { islandPosition } from './island-dom';
|
|
@@ -12,14 +14,14 @@ const EMPTY_MARKS = [];
|
|
|
12
14
|
const EMPTY_ISLANDS = [];
|
|
13
15
|
const EMPTY_BLOCKS = [];
|
|
14
16
|
export function createDecorationEngine(deps) {
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
+
// Lined up with `results` by index. A handle closes over the source object, not its index,
|
|
18
|
+
// so disposing one never leaves another pointing at the wrong entry.
|
|
17
19
|
const sources = [];
|
|
18
20
|
const names = new Set();
|
|
19
21
|
const warnedUnrenderableIslands = new Set();
|
|
20
22
|
let results = $state([]);
|
|
21
|
-
// Deliberately not reactive: an invalidate() that reads it must not schedule a
|
|
22
|
-
//
|
|
23
|
+
// Deliberately not reactive: an `invalidate()` that reads it must not schedule a recompute
|
|
24
|
+
// of the derived buckets.
|
|
23
25
|
let editEpoch = 0;
|
|
24
26
|
const merged = $derived(results.flat());
|
|
25
27
|
const byPath = $derived(groupDecorationsByPath(merged));
|
|
@@ -35,33 +37,29 @@ export function createDecorationEngine(deps) {
|
|
|
35
37
|
}
|
|
36
38
|
catch (error) {
|
|
37
39
|
deps.onSourceError?.(source.name, error);
|
|
38
|
-
return; // keep the source's
|
|
40
|
+
return; // keep the source's previous decorations; a throw never blanks the view
|
|
39
41
|
}
|
|
40
42
|
warnUnrenderableIslands(source.name, next);
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
+
// A re-run that was empty and stays empty must not reassign `results`, or every keystroke
|
|
44
|
+
// would rebuild the derived buckets for sources that never emit anything.
|
|
43
45
|
if (results[i].length === 0 && next.length === 0)
|
|
44
46
|
return;
|
|
45
47
|
const copy = results.slice();
|
|
46
48
|
copy[i] = next;
|
|
47
49
|
results = copy;
|
|
48
50
|
}
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
* verdict belongs here and nowhere downstream: only this pass holds the decorations
|
|
52
|
-
* beside the document they were derived from, so only here does an unrenderable island
|
|
53
|
-
* mean the author placed it wrong rather than the document having moved since.
|
|
54
|
-
*/
|
|
51
|
+
/** Why the render path will apply nothing for this inline widget, or null when it will.
|
|
52
|
+
* Asked here because only this pass sees the decoration beside the document it came from. */
|
|
55
53
|
function islandDefect(dec, node) {
|
|
56
|
-
// Non-prose kinds run no inline pass, so they apply no
|
|
54
|
+
// Non-prose kinds run no inline pass, so they apply no inline widgets.
|
|
57
55
|
if (!isProseKind(node.kind)) {
|
|
58
56
|
return {
|
|
59
57
|
key: `non-prose\0${node.kind}`,
|
|
60
|
-
message: `on a non-prose ${node.kind} block;
|
|
58
|
+
message: `on a non-prose ${node.kind} block; decorations render only in prose blocks`
|
|
61
59
|
};
|
|
62
60
|
}
|
|
63
|
-
// An
|
|
64
|
-
//
|
|
61
|
+
// An end offset, not a count: a heading's content starts past its marker, so reporting a
|
|
62
|
+
// byte total would name a number the author cannot place anything at.
|
|
65
63
|
const contentEnd = contentLengthOf(node);
|
|
66
64
|
const held = `the block's content ends at ${contentEnd}`;
|
|
67
65
|
if (dec.type === 'widget') {
|
|
@@ -74,7 +72,7 @@ export function createDecorationEngine(deps) {
|
|
|
74
72
|
return { key: 'range', message: `at ${dec.start}..${dec.end}, but ${held}` };
|
|
75
73
|
}
|
|
76
74
|
function warnUnrenderableIslands(sourceName, decs) {
|
|
77
|
-
if (!
|
|
75
|
+
if (!isDevChecks())
|
|
78
76
|
return;
|
|
79
77
|
const doc = deps.getDoc();
|
|
80
78
|
for (const dec of decs) {
|
|
@@ -90,11 +88,11 @@ export function createDecorationEngine(deps) {
|
|
|
90
88
|
if (warnedUnrenderableIslands.has(key))
|
|
91
89
|
continue;
|
|
92
90
|
warnedUnrenderableIslands.add(key);
|
|
93
|
-
devWarn('decorations', `source '${sourceName}' places a ${dec.type}
|
|
91
|
+
devWarn('decorations', `source '${sourceName}' places a ${dec.type} decoration ${defect.message}`, { path: dec.path });
|
|
94
92
|
}
|
|
95
93
|
}
|
|
96
|
-
// A source
|
|
97
|
-
// that emitted the event; deferred
|
|
94
|
+
// A source that invalidates from its own `edit` handler is asking to re-run inside the
|
|
95
|
+
// commit that emitted the event; deferred to one run per source once the commit is done.
|
|
98
96
|
const deferred = new Set();
|
|
99
97
|
let flushQueued = false;
|
|
100
98
|
function runAfterCommit(source) {
|
|
@@ -123,8 +121,8 @@ export function createDecorationEngine(deps) {
|
|
|
123
121
|
sources.push(source);
|
|
124
122
|
results = [...results, []];
|
|
125
123
|
runSource(source);
|
|
126
|
-
// Not `sources.indexOf`:
|
|
127
|
-
// registered again, and this handle must
|
|
124
|
+
// Not `sources.indexOf`: disposing frees the name, so the same source object may be
|
|
125
|
+
// registered again, and this handle must do nothing for that second registration.
|
|
128
126
|
let live = true;
|
|
129
127
|
return {
|
|
130
128
|
invalidate: () => {
|
|
@@ -184,12 +182,12 @@ export function createDecorationEngine(deps) {
|
|
|
184
182
|
}
|
|
185
183
|
};
|
|
186
184
|
}
|
|
187
|
-
// A re-run inside
|
|
185
|
+
// A re-run inside a commit would let a source read a half-applied tree.
|
|
188
186
|
function assertNotInCommit() {
|
|
189
187
|
assertInvariant('decoration-run-in-commit', () => isCommitInProgress()
|
|
190
188
|
? {
|
|
191
189
|
code: 'decoration-run-in-commit',
|
|
192
|
-
message: '
|
|
190
|
+
message: 'the decorations subsystem re-ran inside the commit sequence'
|
|
193
191
|
}
|
|
194
192
|
: null);
|
|
195
193
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Whether a range is one the author could place at all is decided where the source and the
|
|
8
|
-
* document it read are provably the same version (`decoration-state.svelte.ts`); a range
|
|
9
|
-
* this pass cannot honour is one the document has since outgrown, so it drops silently.
|
|
2
|
+
* Decoration widgets placed in the text flow: a zero-width `widget`, and a `replace` covering
|
|
3
|
+
* real bytes. Each renders as an inline widget the caret cannot enter whose `data-source-*` span
|
|
4
|
+
* equals the bytes it stands for, so the offset walk reads the block back byte-exact. A range
|
|
5
|
+
* this pass cannot place drops silently; `decoration-state.svelte.ts` warns about it.
|
|
10
6
|
*/
|
|
11
7
|
import type { ContentLength } from '../core/inline';
|
|
12
8
|
import type { IndexedDecoration } from './buckets';
|
|
@@ -19,17 +15,13 @@ export interface ApplyIslandsOpts {
|
|
|
19
15
|
onSkipped?: (dec: Decoration, reason: string) => void;
|
|
20
16
|
/** Raw-space length of the block's rendered content (see {@link ContentLength}). */
|
|
21
17
|
contentLength: ContentLength;
|
|
22
|
-
/** Rendered ambient-marker length. Island offsets are raw-relative and the shared walk
|
|
23
|
-
* counts ambient text as ordinary text, so every boundary adds this (the
|
|
24
|
-
* TextEditableBlock compensation pattern). Default 0. */
|
|
25
|
-
ambientLength?: number;
|
|
26
18
|
}
|
|
27
|
-
/** Mutates `root
|
|
28
|
-
* mounted
|
|
19
|
+
/** Mutates `root`, the freshly built inline fragment. Returns one destroy function per
|
|
20
|
+
* mounted widget; the caller runs them on the next rebuild. */
|
|
29
21
|
export declare function applyIslandDecorations(root: ParentNode, raw: string, islands: IndexedDecoration<WidgetDecoration | ReplaceDecoration>[], opts: ApplyIslandsOpts): Array<() => void>;
|
|
30
|
-
/**
|
|
31
|
-
*
|
|
32
|
-
* untracked: same position + class ⇒ equal signature (see DecorationWidgetSpec). */
|
|
22
|
+
/** What these widgets add to a render key: `''` for none, so an undecorated block's key is
|
|
23
|
+
* unchanged. Widget identity is ignored (see `DecorationWidgetSpec`). */
|
|
33
24
|
export declare function islandRenderKeyPart(islands: IndexedDecoration<WidgetDecoration | ReplaceDecoration>[]): string;
|
|
34
|
-
/**
|
|
25
|
+
/** A decoration's position for ordering, shared by the pass that applies them and the
|
|
26
|
+
* render order. */
|
|
35
27
|
export declare function islandPosition(dec: WidgetDecoration | ReplaceDecoration): number;
|