@voithos-labs/aragonite 0.10.1
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/LICENSE +661 -0
- package/README.md +365 -0
- package/THIRD-PARTY-NOTICES.md +102 -0
- package/dist/a11y-strings.d.ts +46 -0
- package/dist/a11y-strings.js +62 -0
- package/dist/action-contracts.d.ts +301 -0
- package/dist/action-contracts.js +5 -0
- package/dist/active-editor.d.ts +16 -0
- package/dist/active-editor.js +67 -0
- package/dist/ambient/ambient-cursor.d.ts +41 -0
- package/dist/ambient/ambient-cursor.js +120 -0
- package/dist/ambient/ambient-dom.d.ts +9 -0
- package/dist/ambient/ambient-dom.js +102 -0
- package/dist/assert.d.ts +6 -0
- package/dist/assert.js +17 -0
- package/dist/block-component.d.ts +274 -0
- package/dist/block-component.js +43 -0
- package/dist/block-id.d.ts +14 -0
- package/dist/block-id.js +34 -0
- package/dist/bounded-memo.d.ts +14 -0
- package/dist/bounded-memo.js +32 -0
- package/dist/components/BlockDragHandle.svelte +66 -0
- package/dist/components/BlockDragHandle.svelte.d.ts +18 -0
- package/dist/components/BlockHost.svelte +328 -0
- package/dist/components/BlockHost.svelte.d.ts +15 -0
- package/dist/components/BlockList.svelte +114 -0
- package/dist/components/BlockList.svelte.d.ts +16 -0
- package/dist/components/DecorationOverlay.svelte +156 -0
- package/dist/components/DecorationOverlay.svelte.d.ts +14 -0
- package/dist/components/Editor.svelte +1849 -0
- package/dist/components/Editor.svelte.d.ts +49 -0
- package/dist/components/GapCaret.svelte +226 -0
- package/dist/components/GapCaret.svelte.d.ts +9 -0
- package/dist/components/SearchBar.svelte +243 -0
- package/dist/components/SearchBar.svelte.d.ts +7 -0
- package/dist/components/SelectionOverlay.svelte +171 -0
- package/dist/components/SelectionOverlay.svelte.d.ts +14 -0
- package/dist/components/block-content-selector.d.ts +12 -0
- package/dist/components/block-content-selector.js +12 -0
- package/dist/components/blocks/BlockquoteBlock.svelte +32 -0
- package/dist/components/blocks/BlockquoteBlock.svelte.d.ts +11 -0
- package/dist/components/blocks/ThematicBreakBlock.svelte +156 -0
- package/dist/components/blocks/ThematicBreakBlock.svelte.d.ts +17 -0
- package/dist/components/blocks/code/CodeBlock.svelte +726 -0
- package/dist/components/blocks/code/CodeBlock.svelte.d.ts +23 -0
- package/dist/components/blocks/code/CodeLanguageChip.svelte +127 -0
- package/dist/components/blocks/code/CodeLanguageChip.svelte.d.ts +14 -0
- package/dist/components/blocks/code/code-beforeinput.d.ts +30 -0
- package/dist/components/blocks/code/code-beforeinput.js +40 -0
- package/dist/components/blocks/code/code-bootstrap.d.ts +8 -0
- package/dist/components/blocks/code/code-bootstrap.js +54 -0
- package/dist/components/blocks/code/code-editing.d.ts +28 -0
- package/dist/components/blocks/code/code-editing.js +79 -0
- package/dist/components/blocks/code/code-enter.d.ts +22 -0
- package/dist/components/blocks/code/code-enter.js +19 -0
- package/dist/components/blocks/code/code-fence-boundary.d.ts +77 -0
- package/dist/components/blocks/code/code-fence-boundary.js +169 -0
- package/dist/components/blocks/code/code-fence-exit.d.ts +24 -0
- package/dist/components/blocks/code/code-fence-exit.js +36 -0
- package/dist/components/blocks/code/code-indent.d.ts +14 -0
- package/dist/components/blocks/code/code-indent.js +87 -0
- package/dist/components/blocks/code/code-languages.d.ts +15 -0
- package/dist/components/blocks/code/code-languages.js +30 -0
- package/dist/components/blocks/code/code-paste-surface.d.ts +6 -0
- package/dist/components/blocks/code/code-paste-surface.js +29 -0
- package/dist/components/blocks/code/code-paste.d.ts +24 -0
- package/dist/components/blocks/code/code-paste.js +21 -0
- package/dist/components/blocks/code/code-renderer.d.ts +18 -0
- package/dist/components/blocks/code/code-renderer.js +249 -0
- package/dist/components/blocks/directive/DirectiveContainerBlock.svelte +51 -0
- package/dist/components/blocks/directive/DirectiveContainerBlock.svelte.d.ts +11 -0
- package/dist/components/blocks/directive/activate-directives.d.ts +7 -0
- package/dist/components/blocks/directive/activate-directives.js +23 -0
- package/dist/components/blocks/editable-leaf.d.ts +126 -0
- package/dist/components/blocks/editable-leaf.js +410 -0
- package/dist/components/blocks/editable-surface.d.ts +209 -0
- package/dist/components/blocks/editable-surface.js +331 -0
- package/dist/components/blocks/list/ListBlock.svelte +162 -0
- package/dist/components/blocks/list/ListBlock.svelte.d.ts +11 -0
- package/dist/components/blocks/list/ListItemBlock.svelte +324 -0
- package/dist/components/blocks/list/ListItemBlock.svelte.d.ts +14 -0
- package/dist/components/blocks/list/task-checkbox.d.ts +3 -0
- package/dist/components/blocks/list/task-checkbox.js +33 -0
- package/dist/components/blocks/plain-text-backend.d.ts +21 -0
- package/dist/components/blocks/plain-text-backend.js +47 -0
- package/dist/components/blocks/surface-wiring.svelte.d.ts +18 -0
- package/dist/components/blocks/surface-wiring.svelte.js +68 -0
- package/dist/components/blocks/table/TableActionMenu.svelte +267 -0
- package/dist/components/blocks/table/TableActionMenu.svelte.d.ts +15 -0
- package/dist/components/blocks/table/TableBlock.svelte +765 -0
- package/dist/components/blocks/table/TableBlock.svelte.d.ts +30 -0
- package/dist/components/blocks/table/TableCellBlock.svelte +1075 -0
- package/dist/components/blocks/table/TableCellBlock.svelte.d.ts +30 -0
- package/dist/components/blocks/table/TableGrip.svelte +91 -0
- package/dist/components/blocks/table/TableGrip.svelte.d.ts +8 -0
- package/dist/components/blocks/table/TableRowBlock.svelte +233 -0
- package/dist/components/blocks/table/TableRowBlock.svelte.d.ts +34 -0
- package/dist/components/blocks/table/cell-clipboard.d.ts +23 -0
- package/dist/components/blocks/table/cell-clipboard.js +34 -0
- package/dist/components/blocks/table/cell-keydown-plan.d.ts +37 -0
- package/dist/components/blocks/table/cell-keydown-plan.js +66 -0
- package/dist/components/blocks/table/cell-pointer.d.ts +58 -0
- package/dist/components/blocks/table/cell-pointer.js +153 -0
- package/dist/components/blocks/table/cell-render.d.ts +51 -0
- package/dist/components/blocks/table/cell-render.js +98 -0
- package/dist/components/blocks/table/cell-table-commands.d.ts +12 -0
- package/dist/components/blocks/table/cell-table-commands.js +21 -0
- package/dist/components/blocks/table/cell-x-mapping.d.ts +6 -0
- package/dist/components/blocks/table/cell-x-mapping.js +16 -0
- package/dist/components/blocks/table/selected-cells.d.ts +19 -0
- package/dist/components/blocks/table/selected-cells.js +35 -0
- package/dist/components/blocks/table/table-caret-at-point.d.ts +8 -0
- package/dist/components/blocks/table/table-caret-at-point.js +35 -0
- package/dist/components/blocks/table/table-cell-paste.d.ts +16 -0
- package/dist/components/blocks/table/table-cell-paste.js +75 -0
- package/dist/components/blocks/table/table-drag-hit-test.d.ts +5 -0
- package/dist/components/blocks/table/table-drag-hit-test.js +20 -0
- package/dist/components/blocks/table/table-drop-target.d.ts +1 -0
- package/dist/components/blocks/table/table-drop-target.js +16 -0
- package/dist/components/blocks/table/table-menu-model.d.ts +52 -0
- package/dist/components/blocks/table/table-menu-model.js +78 -0
- package/dist/components/blocks/table/table-navigation.d.ts +8 -0
- package/dist/components/blocks/table/table-navigation.js +22 -0
- package/dist/components/blocks/table/table-reorder-drag.d.ts +78 -0
- package/dist/components/blocks/table/table-reorder-drag.js +97 -0
- package/dist/components/blocks/text/TextEditableBlock.svelte +1012 -0
- package/dist/components/blocks/text/TextEditableBlock.svelte.d.ts +33 -0
- package/dist/components/blocks/text/click-snap-guard.d.ts +8 -0
- package/dist/components/blocks/text/click-snap-guard.js +19 -0
- package/dist/components/blocks/text/composition-seat.d.ts +50 -0
- package/dist/components/blocks/text/composition-seat.js +65 -0
- package/dist/components/blocks/text/construct-edge-delete.d.ts +47 -0
- package/dist/components/blocks/text/construct-edge-delete.js +164 -0
- package/dist/components/blocks/text/construct-reveal.d.ts +39 -0
- package/dist/components/blocks/text/construct-reveal.js +164 -0
- package/dist/components/blocks/text/edge-policy-dispatch.d.ts +91 -0
- package/dist/components/blocks/text/edge-policy-dispatch.js +457 -0
- package/dist/components/blocks/text/edge-seat.d.ts +42 -0
- package/dist/components/blocks/text/edge-seat.js +197 -0
- package/dist/components/blocks/text/hidden-suffix.d.ts +10 -0
- package/dist/components/blocks/text/hidden-suffix.js +15 -0
- package/dist/components/blocks/text/link-at-point.d.ts +33 -0
- package/dist/components/blocks/text/link-at-point.js +47 -0
- package/dist/components/blocks/text/link-source-bytes.d.ts +37 -0
- package/dist/components/blocks/text/link-source-bytes.js +161 -0
- package/dist/components/blocks/text/live-join-seam.d.ts +15 -0
- package/dist/components/blocks/text/live-join-seam.js +327 -0
- package/dist/components/blocks/text/live-selection-edit.d.ts +68 -0
- package/dist/components/blocks/text/live-selection-edit.js +120 -0
- package/dist/components/blocks/text/live-split-rebalance.d.ts +56 -0
- package/dist/components/blocks/text/live-split-rebalance.js +239 -0
- package/dist/components/blocks/text/marker-completion.d.ts +18 -0
- package/dist/components/blocks/text/marker-completion.js +29 -0
- package/dist/components/blocks/text/pending-mark-insert.d.ts +37 -0
- package/dist/components/blocks/text/pending-mark-insert.js +188 -0
- package/dist/components/blocks/text/screen-diff.d.ts +20 -0
- package/dist/components/blocks/text/screen-diff.js +39 -0
- package/dist/components/blocks/text/text-clipboard.d.ts +70 -0
- package/dist/components/blocks/text/text-clipboard.js +131 -0
- package/dist/components/blocks/text/text-keydown.d.ts +39 -0
- package/dist/components/blocks/text/text-keydown.js +80 -0
- package/dist/components/blocks/text/text-render.d.ts +67 -0
- package/dist/components/blocks/text/text-render.js +215 -0
- package/dist/components/blocks/text/widget-adjacency.d.ts +30 -0
- package/dist/components/blocks/text/widget-adjacency.js +68 -0
- package/dist/components/blocks/text/widget-interaction.d.ts +90 -0
- package/dist/components/blocks/text/widget-interaction.js +591 -0
- package/dist/components/blocks/widget-portal.d.ts +54 -0
- package/dist/components/blocks/widget-portal.js +136 -0
- package/dist/components/built-in-blocks.d.ts +7 -0
- package/dist/components/built-in-blocks.js +77 -0
- package/dist/components/editor-root-clipboard.d.ts +29 -0
- package/dist/components/editor-root-clipboard.js +105 -0
- package/dist/components/editor-root-keydown.d.ts +47 -0
- package/dist/components/editor-root-keydown.js +88 -0
- package/dist/components/editor-root-listeners.d.ts +44 -0
- package/dist/components/editor-root-listeners.js +112 -0
- package/dist/components/image/ImageOverlayHost.svelte +115 -0
- package/dist/components/image/ImageOverlayHost.svelte.d.ts +20 -0
- package/dist/components/image/ImageProperties.svelte +153 -0
- package/dist/components/image/ImageProperties.svelte.d.ts +14 -0
- package/dist/components/image/ImageResizeHandles.svelte +188 -0
- package/dist/components/image/ImageResizeHandles.svelte.d.ts +10 -0
- package/dist/components/image/image-edit-commit.d.ts +38 -0
- package/dist/components/image/image-edit-commit.js +159 -0
- package/dist/components/image/image-resize.d.ts +11 -0
- package/dist/components/image/image-resize.js +38 -0
- package/dist/components/image/image-source-bytes.d.ts +15 -0
- package/dist/components/image/image-source-bytes.js +73 -0
- package/dist/components/image/image-widget-editing.d.ts +7 -0
- package/dist/components/image/image-widget-editing.js +41 -0
- package/dist/components/image/widget-dom.d.ts +11 -0
- package/dist/components/image/widget-dom.js +110 -0
- package/dist/components/image/widget-selection-state.svelte.d.ts +18 -0
- package/dist/components/image/widget-selection-state.svelte.js +26 -0
- package/dist/components/link-card/LinkCard.svelte +190 -0
- package/dist/components/link-card/LinkCard.svelte.d.ts +18 -0
- package/dist/components/link-card/LinkCardHost.svelte +181 -0
- package/dist/components/link-card/LinkCardHost.svelte.d.ts +25 -0
- package/dist/components/link-card/link-card-commit.d.ts +50 -0
- package/dist/components/link-card/link-card-commit.js +134 -0
- package/dist/components/link-card/link-card-entry.d.ts +39 -0
- package/dist/components/link-card/link-card-entry.js +51 -0
- package/dist/components/link-card/link-card-state.svelte.d.ts +44 -0
- package/dist/components/link-card/link-card-state.svelte.js +46 -0
- package/dist/components/lrd-map-gate.d.ts +18 -0
- package/dist/components/lrd-map-gate.js +22 -0
- package/dist/components/paste-image-arm.d.ts +29 -0
- package/dist/components/paste-image-arm.js +61 -0
- package/dist/components/portal.d.ts +11 -0
- package/dist/components/portal.js +29 -0
- package/dist/core/directive/activate.d.ts +8 -0
- package/dist/core/directive/activate.js +25 -0
- package/dist/core/directive/container-opener.d.ts +7 -0
- package/dist/core/directive/container-opener.js +162 -0
- package/dist/core/directive/grammar.d.ts +50 -0
- package/dist/core/directive/grammar.js +88 -0
- package/dist/core/directive/kinds.d.ts +31 -0
- package/dist/core/directive/kinds.js +137 -0
- package/dist/core/directive/registry.d.ts +39 -0
- package/dist/core/directive/registry.js +49 -0
- package/dist/core/directive/text-recognizer.d.ts +8 -0
- package/dist/core/directive/text-recognizer.js +87 -0
- package/dist/core/escapable.d.ts +6 -0
- package/dist/core/escapable.js +6 -0
- package/dist/core/inline/backticks.d.ts +16 -0
- package/dist/core/inline/backticks.js +62 -0
- package/dist/core/inline/character-refs.d.ts +7 -0
- package/dist/core/inline/character-refs.js +70 -0
- package/dist/core/inline/destination-bytes.d.ts +7 -0
- package/dist/core/inline/destination-bytes.js +14 -0
- package/dist/core/inline/entity-widget.d.ts +11 -0
- package/dist/core/inline/entity-widget.js +21 -0
- package/dist/core/inline/format-toggle.d.ts +50 -0
- package/dist/core/inline/format-toggle.js +533 -0
- package/dist/core/inline/html-entities.d.ts +8 -0
- package/dist/core/inline/html-entities.js +2134 -0
- package/dist/core/inline/html-tag-grammar.d.ts +16 -0
- package/dist/core/inline/html-tag-grammar.js +58 -0
- package/dist/core/inline/image-dimensions.d.ts +6 -0
- package/dist/core/inline/image-dimensions.js +42 -0
- package/dist/core/inline/index.d.ts +42 -0
- package/dist/core/inline/index.js +77 -0
- package/dist/core/inline/inline-cache.d.ts +20 -0
- package/dist/core/inline/inline-cache.js +28 -0
- package/dist/core/inline/inline-widgets.d.ts +124 -0
- package/dist/core/inline/inline-widgets.js +131 -0
- package/dist/core/inline/link-reference-resolver.d.ts +21 -0
- package/dist/core/inline/link-reference-resolver.js +46 -0
- package/dist/core/inline/raw-html-widget.d.ts +10 -0
- package/dist/core/inline/raw-html-widget.js +22 -0
- package/dist/core/inline/scan/autolinks.d.ts +23 -0
- package/dist/core/inline/scan/autolinks.js +354 -0
- package/dist/core/inline/scan/brackets.d.ts +11 -0
- package/dist/core/inline/scan/brackets.js +284 -0
- package/dist/core/inline/scan/code-spans.d.ts +7 -0
- package/dist/core/inline/scan/code-spans.js +27 -0
- package/dist/core/inline/scan/emphasis.d.ts +10 -0
- package/dist/core/inline/scan/emphasis.js +276 -0
- package/dist/core/inline/scan/index.d.ts +7 -0
- package/dist/core/inline/scan/index.js +176 -0
- package/dist/core/inline/scan/plugin-syntax.d.ts +62 -0
- package/dist/core/inline/scan/plugin-syntax.js +150 -0
- package/dist/core/inline/scan/scan-state.d.ts +47 -0
- package/dist/core/inline/scan/scan-state.js +48 -0
- package/dist/core/inline/scan/simple-nodes.d.ts +14 -0
- package/dist/core/inline/scan/simple-nodes.js +53 -0
- package/dist/core/inline/scan/url.d.ts +12 -0
- package/dist/core/inline/scan/url.js +82 -0
- package/dist/core/inline/transparency.d.ts +8 -0
- package/dist/core/inline/transparency.js +39 -0
- package/dist/core/inline/visibility.d.ts +81 -0
- package/dist/core/inline/visibility.js +144 -0
- package/dist/core/inline/walk.d.ts +14 -0
- package/dist/core/inline/walk.js +29 -0
- package/dist/core/inline-render.d.ts +48 -0
- package/dist/core/inline-render.js +322 -0
- package/dist/core/lines.d.ts +44 -0
- package/dist/core/lines.js +91 -0
- package/dist/core/node-views.d.ts +22 -0
- package/dist/core/node-views.js +8 -0
- package/dist/core/nodes.d.ts +297 -0
- package/dist/core/nodes.js +83 -0
- package/dist/core/parser.d.ts +68 -0
- package/dist/core/parser.js +189 -0
- package/dist/core/parsers/blockquote.d.ts +17 -0
- package/dist/core/parsers/blockquote.js +69 -0
- package/dist/core/parsers/built-in-openers.d.ts +8 -0
- package/dist/core/parsers/built-in-openers.js +124 -0
- package/dist/core/parsers/fence-syntax.d.ts +24 -0
- package/dist/core/parsers/fence-syntax.js +44 -0
- package/dist/core/parsers/fenced-code.d.ts +7 -0
- package/dist/core/parsers/fenced-code.js +29 -0
- package/dist/core/parsers/heading.d.ts +3 -0
- package/dist/core/parsers/heading.js +6 -0
- package/dist/core/parsers/html-block.d.ts +17 -0
- package/dist/core/parsers/html-block.js +94 -0
- package/dist/core/parsers/indented-code.d.ts +4 -0
- package/dist/core/parsers/indented-code.js +41 -0
- package/dist/core/parsers/link-reference.d.ts +7 -0
- package/dist/core/parsers/link-reference.js +152 -0
- package/dist/core/parsers/list.d.ts +19 -0
- package/dist/core/parsers/list.js +133 -0
- package/dist/core/parsers/paragraph.d.ts +10 -0
- package/dist/core/parsers/paragraph.js +42 -0
- package/dist/core/parsers/table-completion.d.ts +13 -0
- package/dist/core/parsers/table-completion.js +48 -0
- package/dist/core/parsers/table.d.ts +18 -0
- package/dist/core/parsers/table.js +110 -0
- package/dist/core/parsers/thematic-break.d.ts +1 -0
- package/dist/core/parsers/thematic-break.js +19 -0
- package/dist/core/serializer.d.ts +15 -0
- package/dist/core/serializer.js +11 -0
- package/dist/core/terminator-escalation.d.ts +8 -0
- package/dist/core/terminator-escalation.js +18 -0
- package/dist/core/url-policy.d.ts +14 -0
- package/dist/core/url-policy.js +44 -0
- package/dist/cursor/content-offsets.d.ts +29 -0
- package/dist/cursor/content-offsets.js +151 -0
- package/dist/cursor/coordinate-spaces.d.ts +65 -0
- package/dist/cursor/coordinate-spaces.js +66 -0
- package/dist/cursor/dom-walk.d.ts +18 -0
- package/dist/cursor/dom-walk.js +31 -0
- package/dist/cursor/edge-affinity.d.ts +44 -0
- package/dist/cursor/edge-affinity.js +60 -0
- package/dist/cursor/focused-caret.d.ts +10 -0
- package/dist/cursor/focused-caret.js +24 -0
- package/dist/cursor/height-model.d.ts +24 -0
- package/dist/cursor/height-model.js +72 -0
- package/dist/cursor/height-oracle.d.ts +24 -0
- package/dist/cursor/height-oracle.js +94 -0
- package/dist/cursor/overlay-rects.d.ts +8 -0
- package/dist/cursor/overlay-rects.js +19 -0
- package/dist/cursor/overlay-remeasure.d.ts +17 -0
- package/dist/cursor/overlay-remeasure.js +31 -0
- package/dist/cursor/pending-marks.d.ts +24 -0
- package/dist/cursor/pending-marks.js +36 -0
- package/dist/cursor/point-offset.d.ts +21 -0
- package/dist/cursor/point-offset.js +48 -0
- package/dist/cursor/reveal-anchor.d.ts +30 -0
- package/dist/cursor/reveal-anchor.js +31 -0
- package/dist/cursor/reveal-source.d.ts +35 -0
- package/dist/cursor/reveal-source.js +51 -0
- package/dist/cursor/scroll-ancestors.d.ts +28 -0
- package/dist/cursor/scroll-ancestors.js +89 -0
- package/dist/cursor/scrollport.d.ts +20 -0
- package/dist/cursor/scrollport.js +41 -0
- package/dist/cursor/sticky-column.d.ts +35 -0
- package/dist/cursor/sticky-column.js +64 -0
- package/dist/cursor/sticky-measure.d.ts +16 -0
- package/dist/cursor/sticky-measure.js +97 -0
- package/dist/cursor/typography-estimates.d.ts +21 -0
- package/dist/cursor/typography-estimates.js +21 -0
- package/dist/cursor/visual-lines.d.ts +25 -0
- package/dist/cursor/visual-lines.js +125 -0
- package/dist/cursor/widget-offset.d.ts +132 -0
- package/dist/cursor/widget-offset.js +543 -0
- package/dist/debug/diagnostics-report.d.ts +17 -0
- package/dist/debug/diagnostics-report.js +25 -0
- package/dist/debug/dump-tree.d.ts +6 -0
- package/dist/debug/dump-tree.js +114 -0
- package/dist/debug/inspect.d.ts +19 -0
- package/dist/debug/inspect.js +116 -0
- package/dist/debug/interaction-trace.d.ts +39 -0
- package/dist/debug/interaction-trace.js +105 -0
- package/dist/debug/operations-log.d.ts +14 -0
- package/dist/debug/operations-log.js +30 -0
- package/dist/decorations/buckets.d.ts +40 -0
- package/dist/decorations/buckets.js +87 -0
- package/dist/decorations/decoration-state.svelte.d.ts +20 -0
- package/dist/decorations/decoration-state.svelte.js +195 -0
- package/dist/decorations/island-dom.d.ts +35 -0
- package/dist/decorations/island-dom.js +148 -0
- package/dist/decorations/reserved-attrs.d.ts +12 -0
- package/dist/decorations/reserved-attrs.js +47 -0
- package/dist/decorations/types.d.ts +68 -0
- package/dist/decorations/types.js +5 -0
- package/dist/decorations/widget-dom.d.ts +15 -0
- package/dist/decorations/widget-dom.js +35 -0
- package/dist/dev-warn.d.ts +13 -0
- package/dist/dev-warn.js +28 -0
- package/dist/editor-actions/ancestry-folds.d.ts +32 -0
- package/dist/editor-actions/ancestry-folds.js +106 -0
- package/dist/editor-actions/block-edit-core.d.ts +29 -0
- package/dist/editor-actions/block-edit-core.js +277 -0
- package/dist/editor-actions/block-edit-scope.d.ts +79 -0
- package/dist/editor-actions/block-edit-scope.js +76 -0
- package/dist/editor-actions/block-edit.d.ts +8 -0
- package/dist/editor-actions/block-edit.js +111 -0
- package/dist/editor-actions/commit/history.d.ts +9 -0
- package/dist/editor-actions/commit/history.js +77 -0
- package/dist/editor-actions/commit/text-batch.d.ts +34 -0
- package/dist/editor-actions/commit/text-batch.js +61 -0
- package/dist/editor-actions/commit/undo-controller.d.ts +7 -0
- package/dist/editor-actions/commit/undo-controller.js +570 -0
- package/dist/editor-actions/container-block-component.d.ts +85 -0
- package/dist/editor-actions/container-block-component.js +228 -0
- package/dist/editor-actions/container-edit.d.ts +7 -0
- package/dist/editor-actions/container-edit.js +49 -0
- package/dist/editor-actions/container-exit-overrides.d.ts +16 -0
- package/dist/editor-actions/container-exit-overrides.js +38 -0
- package/dist/editor-actions/deps.d.ts +60 -0
- package/dist/editor-actions/deps.js +1 -0
- package/dist/editor-actions/enter-completion.d.ts +25 -0
- package/dist/editor-actions/enter-completion.js +76 -0
- package/dist/editor-actions/focus/focus-dispatch.d.ts +36 -0
- package/dist/editor-actions/focus/focus-dispatch.js +106 -0
- package/dist/editor-actions/focus/focus-landing.d.ts +7 -0
- package/dist/editor-actions/focus/focus-landing.js +39 -0
- package/dist/editor-actions/focus/focus.d.ts +7 -0
- package/dist/editor-actions/focus/focus.js +74 -0
- package/dist/editor-actions/index.d.ts +15 -0
- package/dist/editor-actions/index.js +19 -0
- package/dist/editor-actions/inline-range-commit.d.ts +20 -0
- package/dist/editor-actions/inline-range-commit.js +63 -0
- package/dist/editor-actions/list-context.d.ts +25 -0
- package/dist/editor-actions/list-context.js +285 -0
- package/dist/editor-actions/list-overrides.d.ts +13 -0
- package/dist/editor-actions/list-overrides.js +26 -0
- package/dist/editor-actions/merge-fallback.d.ts +19 -0
- package/dist/editor-actions/merge-fallback.js +27 -0
- package/dist/editor-actions/nested/nested-actions.d.ts +65 -0
- package/dist/editor-actions/nested/nested-actions.js +59 -0
- package/dist/editor-actions/nested/nested-block-edit.d.ts +10 -0
- package/dist/editor-actions/nested/nested-block-edit.js +181 -0
- package/dist/editor-actions/nested/nested-focus.d.ts +9 -0
- package/dist/editor-actions/nested/nested-focus.js +30 -0
- package/dist/editor-actions/paste-coordinator.d.ts +4 -0
- package/dist/editor-actions/paste-coordinator.js +20 -0
- package/dist/editor-actions/plugin/chrome-leaf.d.ts +25 -0
- package/dist/editor-actions/plugin/chrome-leaf.js +80 -0
- package/dist/editor-actions/plugin/container.d.ts +137 -0
- package/dist/editor-actions/plugin/container.js +351 -0
- package/dist/editor-actions/plugin/directive-container.d.ts +13 -0
- package/dist/editor-actions/plugin/directive-container.js +31 -0
- package/dist/editor-actions/reorder-action.d.ts +17 -0
- package/dist/editor-actions/reorder-action.js +104 -0
- package/dist/editor-actions/reorder-drag.d.ts +34 -0
- package/dist/editor-actions/reorder-drag.js +152 -0
- package/dist/editor-actions/replacement-focus.d.ts +27 -0
- package/dist/editor-actions/replacement-focus.js +60 -0
- package/dist/editor-actions/search-replace.d.ts +6 -0
- package/dist/editor-actions/search-replace.js +145 -0
- package/dist/editor-actions/table-context.d.ts +34 -0
- package/dist/editor-actions/table-context.js +292 -0
- package/dist/editor-actions/unwrap-strategies.d.ts +14 -0
- package/dist/editor-actions/unwrap-strategies.js +131 -0
- package/dist/editor-actions/whole-block-focus-surface.d.ts +51 -0
- package/dist/editor-actions/whole-block-focus-surface.js +171 -0
- package/dist/editor-events.d.ts +89 -0
- package/dist/editor-events.js +96 -0
- package/dist/editor-keys.d.ts +197 -0
- package/dist/editor-keys.js +40 -0
- package/dist/editor-props.d.ts +164 -0
- package/dist/editor-props.js +1 -0
- package/dist/editor-rects.d.ts +58 -0
- package/dist/editor-rects.js +114 -0
- package/dist/env.d.ts +12 -0
- package/dist/env.js +20 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +19 -0
- package/dist/invariants/commit-paths.d.ts +10 -0
- package/dist/invariants/commit-paths.js +25 -0
- package/dist/invariants/commit-scope.d.ts +9 -0
- package/dist/invariants/commit-scope.js +16 -0
- package/dist/invariants/context-keys.d.ts +7 -0
- package/dist/invariants/context-keys.js +14 -0
- package/dist/invariants/descriptor.d.ts +10 -0
- package/dist/invariants/descriptor.js +24 -0
- package/dist/invariants/inline-transitions.d.ts +23 -0
- package/dist/invariants/inline-transitions.js +52 -0
- package/dist/invariants/install.d.ts +36 -0
- package/dist/invariants/install.js +66 -0
- package/dist/invariants/landable-caret.d.ts +12 -0
- package/dist/invariants/landable-caret.js +31 -0
- package/dist/invariants/marker-css-parity.d.ts +10 -0
- package/dist/invariants/marker-css-parity.js +87 -0
- package/dist/invariants/node-shape.d.ts +44 -0
- package/dist/invariants/node-shape.js +258 -0
- package/dist/invariants/registry.d.ts +126 -0
- package/dist/invariants/registry.js +349 -0
- package/dist/invariants/render-fidelity.d.ts +8 -0
- package/dist/invariants/render-fidelity.js +33 -0
- package/dist/invariants/selection-endpoints.d.ts +19 -0
- package/dist/invariants/selection-endpoints.js +78 -0
- package/dist/invariants/single-node-sink.d.ts +9 -0
- package/dist/invariants/single-node-sink.js +16 -0
- package/dist/invariants/snapshot-integrity.d.ts +17 -0
- package/dist/invariants/snapshot-integrity.js +24 -0
- package/dist/invariants/split-landing.d.ts +8 -0
- package/dist/invariants/split-landing.js +15 -0
- package/dist/invariants/structural-descriptor.d.ts +21 -0
- package/dist/invariants/structural-descriptor.js +50 -0
- package/dist/perf/instruments.d.ts +49 -0
- package/dist/perf/instruments.js +154 -0
- package/dist/perf/use-mount-gauge.svelte.d.ts +1 -0
- package/dist/perf/use-mount-gauge.svelte.js +15 -0
- package/dist/plugin.d.ts +102 -0
- package/dist/plugin.js +156 -0
- package/dist/plugins/admonitions/AdmonitionBlock.svelte +144 -0
- package/dist/plugins/admonitions/AdmonitionBlock.svelte.d.ts +11 -0
- package/dist/plugins/admonitions/admonition-kind.d.ts +8 -0
- package/dist/plugins/admonitions/admonition-kind.js +97 -0
- package/dist/plugins/admonitions/convert-document.d.ts +11 -0
- package/dist/plugins/admonitions/convert-document.js +39 -0
- package/dist/plugins/admonitions/gh-alert.d.ts +13 -0
- package/dist/plugins/admonitions/gh-alert.js +83 -0
- package/dist/plugins/admonitions/github-alert-kind.d.ts +12 -0
- package/dist/plugins/admonitions/github-alert-kind.js +125 -0
- package/dist/plugins/admonitions/index.d.ts +6 -0
- package/dist/plugins/admonitions/index.js +8 -0
- package/dist/plugins/admonitions/kinds.d.ts +26 -0
- package/dist/plugins/admonitions/kinds.js +18 -0
- package/dist/plugins/admonitions/register.d.ts +7 -0
- package/dist/plugins/admonitions/register.js +12 -0
- package/dist/plugins/details/DetailsBlock.svelte +129 -0
- package/dist/plugins/details/DetailsBlock.svelte.d.ts +11 -0
- package/dist/plugins/details/details-disclosure.svelte.d.ts +17 -0
- package/dist/plugins/details/details-disclosure.svelte.js +24 -0
- package/dist/plugins/details/details-kind.d.ts +25 -0
- package/dist/plugins/details/details-kind.js +237 -0
- package/dist/plugins/details/index.d.ts +2 -0
- package/dist/plugins/details/index.js +2 -0
- package/dist/plugins/details/register.d.ts +6 -0
- package/dist/plugins/details/register.js +15 -0
- package/dist/plugins/emoji/emoji-plugin.d.ts +2 -0
- package/dist/plugins/emoji/emoji-plugin.js +10 -0
- package/dist/plugins/emoji/emoji-recognizer.d.ts +18 -0
- package/dist/plugins/emoji/emoji-recognizer.js +63 -0
- package/dist/plugins/emoji/emoji-table.d.ts +1 -0
- package/dist/plugins/emoji/emoji-table.js +1919 -0
- package/dist/plugins/emoji/index.d.ts +3 -0
- package/dist/plugins/emoji/index.js +4 -0
- package/dist/plugins/footnotes/FootnoteDefinition.svelte +103 -0
- package/dist/plugins/footnotes/FootnoteDefinition.svelte.d.ts +13 -0
- package/dist/plugins/footnotes/FootnoteReference.svelte +50 -0
- package/dist/plugins/footnotes/FootnoteReference.svelte.d.ts +4 -0
- package/dist/plugins/footnotes/constants.d.ts +2 -0
- package/dist/plugins/footnotes/constants.js +4 -0
- package/dist/plugins/footnotes/footnote-definition.d.ts +14 -0
- package/dist/plugins/footnotes/footnote-definition.js +147 -0
- package/dist/plugins/footnotes/footnote-lookup.d.ts +9 -0
- package/dist/plugins/footnotes/footnote-lookup.js +33 -0
- package/dist/plugins/footnotes/footnote-numbering.d.ts +23 -0
- package/dist/plugins/footnotes/footnote-numbering.js +78 -0
- package/dist/plugins/footnotes/footnote-reference.d.ts +7 -0
- package/dist/plugins/footnotes/footnote-reference.js +54 -0
- package/dist/plugins/footnotes/footnotes-plugin.d.ts +7 -0
- package/dist/plugins/footnotes/footnotes-plugin.js +17 -0
- package/dist/plugins/footnotes/index.d.ts +5 -0
- package/dist/plugins/footnotes/index.js +6 -0
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.d.ts +17 -0
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.js +31 -0
- package/dist/plugins/highlight-occurrences/index.d.ts +1 -0
- package/dist/plugins/highlight-occurrences/index.js +1 -0
- package/dist/plugins/highlight-occurrences/occurrence-source.d.ts +26 -0
- package/dist/plugins/highlight-occurrences/occurrence-source.js +54 -0
- package/dist/plugins/highlight-occurrences/occurrences.d.ts +33 -0
- package/dist/plugins/highlight-occurrences/occurrences.js +108 -0
- package/dist/plugins/latex/BlockMath.svelte +119 -0
- package/dist/plugins/latex/BlockMath.svelte.d.ts +21 -0
- package/dist/plugins/latex/MathInline.svelte +28 -0
- package/dist/plugins/latex/MathInline.svelte.d.ts +4 -0
- package/dist/plugins/latex/index.d.ts +3 -0
- package/dist/plugins/latex/index.js +4 -0
- package/dist/plugins/latex/latex-kind.d.ts +17 -0
- package/dist/plugins/latex/latex-kind.js +224 -0
- package/dist/plugins/latex/math-completion.d.ts +10 -0
- package/dist/plugins/latex/math-completion.js +19 -0
- package/dist/plugins/latex/math-renderer.d.ts +26 -0
- package/dist/plugins/latex/math-renderer.js +42 -0
- package/dist/plugins/latex/register.d.ts +10 -0
- package/dist/plugins/latex/register.js +23 -0
- package/dist/plugins/latex/renderer.d.ts +13 -0
- package/dist/plugins/latex/renderer.js +34 -0
- package/dist/plugins/mermaid/MermaidBlock.svelte +572 -0
- package/dist/plugins/mermaid/MermaidBlock.svelte.d.ts +11 -0
- package/dist/plugins/mermaid/index.d.ts +3 -0
- package/dist/plugins/mermaid/index.js +3 -0
- package/dist/plugins/mermaid/mermaid-kind.d.ts +38 -0
- package/dist/plugins/mermaid/mermaid-kind.js +176 -0
- package/dist/plugins/mermaid/mermaid-renderer.d.ts +28 -0
- package/dist/plugins/mermaid/mermaid-renderer.js +35 -0
- package/dist/plugins/mermaid/register.d.ts +10 -0
- package/dist/plugins/mermaid/register.js +20 -0
- package/dist/plugins/mermaid/renderer.d.ts +11 -0
- package/dist/plugins/mermaid/renderer.js +53 -0
- package/dist/plugins/parrot/ParrotBlock.svelte +342 -0
- package/dist/plugins/parrot/ParrotBlock.svelte.d.ts +21 -0
- package/dist/plugins/parrot/index.d.ts +1 -0
- package/dist/plugins/parrot/index.js +2 -0
- package/dist/plugins/parrot/parrot-plugin.d.ts +3 -0
- package/dist/plugins/parrot/parrot-plugin.js +49 -0
- package/dist/plugins/toc/TocBlock.svelte +218 -0
- package/dist/plugins/toc/TocBlock.svelte.d.ts +24 -0
- package/dist/plugins/toc/heading-outline.d.ts +28 -0
- package/dist/plugins/toc/heading-outline.js +65 -0
- package/dist/plugins/toc/index.d.ts +2 -0
- package/dist/plugins/toc/index.js +2 -0
- package/dist/plugins/toc/navigation-queue.d.ts +12 -0
- package/dist/plugins/toc/navigation-queue.js +21 -0
- package/dist/plugins/toc/toc-plugin.d.ts +16 -0
- package/dist/plugins/toc/toc-plugin.js +71 -0
- package/dist/presentation-mode.d.ts +32 -0
- package/dist/presentation-mode.js +50 -0
- package/dist/reactivity/block-list-state.svelte.d.ts +22 -0
- package/dist/reactivity/block-list-state.svelte.js +46 -0
- package/dist/reactivity/block-window.svelte.d.ts +41 -0
- package/dist/reactivity/block-window.svelte.js +93 -0
- package/dist/reactivity/content-version.svelte.d.ts +14 -0
- package/dist/reactivity/content-version.svelte.js +16 -0
- package/dist/reactivity/list-windowing.svelte.d.ts +100 -0
- package/dist/reactivity/list-windowing.svelte.js +402 -0
- package/dist/reactivity/measure-batch.d.ts +15 -0
- package/dist/reactivity/measure-batch.js +18 -0
- package/dist/reactivity/publish-ref.svelte.d.ts +54 -0
- package/dist/reactivity/publish-ref.svelte.js +128 -0
- package/dist/reactivity/scope-geometry.d.ts +18 -0
- package/dist/reactivity/scope-geometry.js +29 -0
- package/dist/reactivity/state-registry.d.ts +10 -0
- package/dist/reactivity/state-registry.js +44 -0
- package/dist/reactivity/use-container-windowing.svelte.d.ts +35 -0
- package/dist/reactivity/use-container-windowing.svelte.js +95 -0
- package/dist/reactivity/window-slice.d.ts +11 -0
- package/dist/reactivity/window-slice.js +9 -0
- package/dist/scan-index.d.ts +11 -0
- package/dist/scan-index.js +27 -0
- package/dist/schema/block-commands.d.ts +105 -0
- package/dist/schema/block-commands.js +179 -0
- package/dist/schema/block-completions.d.ts +33 -0
- package/dist/schema/block-completions.js +49 -0
- package/dist/schema/block-component-registry.d.ts +33 -0
- package/dist/schema/block-component-registry.js +33 -0
- package/dist/schema/block-kind-descriptor.d.ts +281 -0
- package/dist/schema/block-kind-descriptor.js +187 -0
- package/dist/schema/block-openers.d.ts +94 -0
- package/dist/schema/block-openers.js +150 -0
- package/dist/schema/built-in-descriptors.d.ts +8 -0
- package/dist/schema/built-in-descriptors.js +560 -0
- package/dist/schema/child-spans.d.ts +25 -0
- package/dist/schema/child-spans.js +161 -0
- package/dist/schema/closure.d.ts +39 -0
- package/dist/schema/closure.js +55 -0
- package/dist/schema/command-id.d.ts +20 -0
- package/dist/schema/command-id.js +42 -0
- package/dist/schema/commands.d.ts +147 -0
- package/dist/schema/commands.js +294 -0
- package/dist/schema/container-raw.d.ts +21 -0
- package/dist/schema/container-raw.js +43 -0
- package/dist/schema/container-rebuilders.d.ts +32 -0
- package/dist/schema/container-rebuilders.js +95 -0
- package/dist/schema/define-plugin-block.d.ts +15 -0
- package/dist/schema/define-plugin-block.js +18 -0
- package/dist/schema/fenced-code-raw.d.ts +43 -0
- package/dist/schema/fenced-code-raw.js +220 -0
- package/dist/schema/global-commands.d.ts +11 -0
- package/dist/schema/global-commands.js +40 -0
- package/dist/schema/inline-construct-policy.d.ts +131 -0
- package/dist/schema/inline-construct-policy.js +96 -0
- package/dist/schema/keybinding-overrides.d.ts +39 -0
- package/dist/schema/keybinding-overrides.js +43 -0
- package/dist/schema/keybindings.d.ts +36 -0
- package/dist/schema/keybindings.js +75 -0
- package/dist/schema/merge-rules.d.ts +28 -0
- package/dist/schema/merge-rules.js +57 -0
- package/dist/schema/opener-priorities.d.ts +16 -0
- package/dist/schema/opener-priorities.js +16 -0
- package/dist/schema/operations.d.ts +110 -0
- package/dist/schema/operations.js +6 -0
- package/dist/schema/plugin-activation.d.ts +13 -0
- package/dist/schema/plugin-activation.js +18 -0
- package/dist/schema/plugin-editor-context.d.ts +33 -0
- package/dist/schema/plugin-editor-context.js +65 -0
- package/dist/schema/plugin-install.d.ts +58 -0
- package/dist/schema/plugin-install.js +132 -0
- package/dist/schema/plugin-kind.d.ts +21 -0
- package/dist/schema/plugin-kind.js +86 -0
- package/dist/schema/plugin-name.d.ts +1 -0
- package/dist/schema/plugin-name.js +7 -0
- package/dist/schema/register-once.d.ts +9 -0
- package/dist/schema/register-once.js +35 -0
- package/dist/schema/registration-checks.d.ts +32 -0
- package/dist/schema/registration-checks.js +122 -0
- package/dist/schema/registration-pending.d.ts +28 -0
- package/dist/schema/registration-pending.js +48 -0
- package/dist/schema/registry-reset.d.ts +7 -0
- package/dist/schema/registry-reset.js +30 -0
- package/dist/schema/registry-view.d.ts +30 -0
- package/dist/schema/registry-view.js +39 -0
- package/dist/schema/reserved-chords.d.ts +35 -0
- package/dist/schema/reserved-chords.js +313 -0
- package/dist/schema/reserved-chrome.d.ts +23 -0
- package/dist/schema/reserved-chrome.js +33 -0
- package/dist/schema/table-cell-raw.d.ts +14 -0
- package/dist/schema/table-cell-raw.js +30 -0
- package/dist/schema/whole-block-unit.d.ts +8 -0
- package/dist/schema/whole-block-unit.js +12 -0
- package/dist/search/document-scan.d.ts +22 -0
- package/dist/search/document-scan.js +39 -0
- package/dist/search/matcher.d.ts +31 -0
- package/dist/search/matcher.js +70 -0
- package/dist/search/regex-executor.d.ts +41 -0
- package/dist/search/regex-executor.js +165 -0
- package/dist/search/replace.d.ts +15 -0
- package/dist/search/replace.js +29 -0
- package/dist/search/search-state.svelte.d.ts +59 -0
- package/dist/search/search-state.svelte.js +231 -0
- package/dist/selection/autoscroll.d.ts +26 -0
- package/dist/selection/autoscroll.js +91 -0
- package/dist/selection/block-hit-test.d.ts +37 -0
- package/dist/selection/block-hit-test.js +59 -0
- package/dist/selection/caret-doors.d.ts +20 -0
- package/dist/selection/caret-doors.js +44 -0
- package/dist/selection/caret-restore.d.ts +15 -0
- package/dist/selection/caret-restore.js +32 -0
- package/dist/selection/char-endpoint-snap.d.ts +15 -0
- package/dist/selection/char-endpoint-snap.js +39 -0
- package/dist/selection/clipboard-text.d.ts +13 -0
- package/dist/selection/clipboard-text.js +314 -0
- package/dist/selection/cross-block/clipboard.d.ts +14 -0
- package/dist/selection/cross-block/clipboard.js +20 -0
- package/dist/selection/cross-block/dispatch.d.ts +78 -0
- package/dist/selection/cross-block/dispatch.js +57 -0
- package/dist/selection/cross-block/format-range.d.ts +38 -0
- package/dist/selection/cross-block/format-range.js +193 -0
- package/dist/selection/cross-block/format-toggle.d.ts +27 -0
- package/dist/selection/cross-block/format-toggle.js +109 -0
- package/dist/selection/cross-block/keydown.d.ts +11 -0
- package/dist/selection/cross-block/keydown.js +339 -0
- package/dist/selection/cross-block/ops.d.ts +56 -0
- package/dist/selection/cross-block/ops.js +210 -0
- package/dist/selection/cross-block/paste.d.ts +8 -0
- package/dist/selection/cross-block/paste.js +156 -0
- package/dist/selection/cross-block/pointer.d.ts +19 -0
- package/dist/selection/cross-block/pointer.js +80 -0
- package/dist/selection/cross-block/type-replace.d.ts +10 -0
- package/dist/selection/cross-block/type-replace.js +129 -0
- package/dist/selection/dead-space-caret.d.ts +39 -0
- package/dist/selection/dead-space-caret.js +173 -0
- package/dist/selection/drag-pointer.d.ts +22 -0
- package/dist/selection/drag-pointer.js +89 -0
- package/dist/selection/gap-caret.d.ts +47 -0
- package/dist/selection/gap-caret.js +72 -0
- package/dist/selection/keyboard-extend.d.ts +43 -0
- package/dist/selection/keyboard-extend.js +257 -0
- package/dist/selection/native-bridge.d.ts +47 -0
- package/dist/selection/native-bridge.js +204 -0
- package/dist/selection/nearest-block.d.ts +43 -0
- package/dist/selection/nearest-block.js +73 -0
- package/dist/selection/path-lookup.d.ts +32 -0
- package/dist/selection/path-lookup.js +132 -0
- package/dist/selection/path-math.d.ts +35 -0
- package/dist/selection/path-math.js +90 -0
- package/dist/selection/pointer-session.d.ts +43 -0
- package/dist/selection/pointer-session.js +111 -0
- package/dist/selection/primitives.d.ts +75 -0
- package/dist/selection/primitives.js +91 -0
- package/dist/selection/range-delete-ceremony.d.ts +85 -0
- package/dist/selection/range-delete-ceremony.js +197 -0
- package/dist/selection/range-delete-chrome.d.ts +39 -0
- package/dist/selection/range-delete-chrome.js +105 -0
- package/dist/selection/range-delete-table-coverage.d.ts +28 -0
- package/dist/selection/range-delete-table-coverage.js +168 -0
- package/dist/selection/range-delete-table.d.ts +16 -0
- package/dist/selection/range-delete-table.js +347 -0
- package/dist/selection/range-delete.d.ts +33 -0
- package/dist/selection/range-delete.js +121 -0
- package/dist/selection/selection-description.d.ts +7 -0
- package/dist/selection/selection-description.js +18 -0
- package/dist/selection/selection-restore.d.ts +46 -0
- package/dist/selection/selection-restore.js +66 -0
- package/dist/selection/selection-state.svelte.d.ts +72 -0
- package/dist/selection/selection-state.svelte.js +247 -0
- package/dist/selection/shared-keydown.d.ts +61 -0
- package/dist/selection/shared-keydown.js +150 -0
- package/dist/selection/table-endpoint-snap.d.ts +55 -0
- package/dist/selection/table-endpoint-snap.js +143 -0
- package/dist/selection/table-rect-extend.d.ts +23 -0
- package/dist/selection/table-rect-extend.js +46 -0
- package/dist/selection/widget-range-paint.d.ts +12 -0
- package/dist/selection/widget-range-paint.js +44 -0
- package/dist/styles/editor-theme.css +151 -0
- package/dist/styles/editor.css +585 -0
- package/dist/testing/conformance-core.d.ts +45 -0
- package/dist/testing/conformance-core.js +105 -0
- package/dist/testing/container-conformance.d.ts +137 -0
- package/dist/testing/container-conformance.js +533 -0
- package/dist/testing/headless-actions.d.ts +37 -0
- package/dist/testing/headless-actions.js +118 -0
- package/dist/testing/inline-conformance.d.ts +50 -0
- package/dist/testing/inline-conformance.js +442 -0
- package/dist/testing/kind-conformance.d.ts +54 -0
- package/dist/testing/kind-conformance.js +325 -0
- package/dist/testing/mount-dom-stubs.d.ts +8 -0
- package/dist/testing/mount-dom-stubs.js +19 -0
- package/dist/testing/parse-convergence.d.ts +14 -0
- package/dist/testing/parse-convergence.js +81 -0
- package/dist/testing.d.ts +20 -0
- package/dist/testing.js +61 -0
- package/dist/tree-operations/blockquote.d.ts +18 -0
- package/dist/tree-operations/blockquote.js +59 -0
- package/dist/tree-operations/children.d.ts +17 -0
- package/dist/tree-operations/children.js +56 -0
- package/dist/tree-operations/cleanup.d.ts +10 -0
- package/dist/tree-operations/cleanup.js +25 -0
- package/dist/tree-operations/clone.d.ts +5 -0
- package/dist/tree-operations/clone.js +43 -0
- package/dist/tree-operations/container-lift.d.ts +9 -0
- package/dist/tree-operations/container-lift.js +29 -0
- package/dist/tree-operations/index.d.ts +16 -0
- package/dist/tree-operations/index.js +14 -0
- package/dist/tree-operations/list/empty-check.d.ts +7 -0
- package/dist/tree-operations/list/empty-check.js +19 -0
- package/dist/tree-operations/list/exit-replacement.d.ts +13 -0
- package/dist/tree-operations/list/exit-replacement.js +49 -0
- package/dist/tree-operations/list/item-partition.d.ts +13 -0
- package/dist/tree-operations/list/item-partition.js +33 -0
- package/dist/tree-operations/list/list-builders.d.ts +44 -0
- package/dist/tree-operations/list/list-builders.js +129 -0
- package/dist/tree-operations/list/ordered-markers.d.ts +36 -0
- package/dist/tree-operations/list/ordered-markers.js +114 -0
- package/dist/tree-operations/list/reconcile-task.d.ts +12 -0
- package/dist/tree-operations/list/reconcile-task.js +47 -0
- package/dist/tree-operations/list/sublist-separator.d.ts +13 -0
- package/dist/tree-operations/list/sublist-separator.js +34 -0
- package/dist/tree-operations/list/terminator.d.ts +17 -0
- package/dist/tree-operations/list/terminator.js +60 -0
- package/dist/tree-operations/list/unwrap-merge.d.ts +29 -0
- package/dist/tree-operations/list/unwrap-merge.js +202 -0
- package/dist/tree-operations/node-ops.d.ts +296 -0
- package/dist/tree-operations/node-ops.js +1428 -0
- package/dist/tree-operations/parse-block.d.ts +3 -0
- package/dist/tree-operations/parse-block.js +8 -0
- package/dist/tree-operations/paste/apply.d.ts +12 -0
- package/dist/tree-operations/paste/apply.js +75 -0
- package/dist/tree-operations/paste/body-write.d.ts +19 -0
- package/dist/tree-operations/paste/body-write.js +53 -0
- package/dist/tree-operations/paste/container-match.d.ts +32 -0
- package/dist/tree-operations/paste/container-match.js +238 -0
- package/dist/tree-operations/paste/container-paste.d.ts +10 -0
- package/dist/tree-operations/paste/container-paste.js +27 -0
- package/dist/tree-operations/paste/dispatch.d.ts +61 -0
- package/dist/tree-operations/paste/dispatch.js +138 -0
- package/dist/tree-operations/paste/find-enclosing-list.d.ts +8 -0
- package/dist/tree-operations/paste/find-enclosing-list.js +30 -0
- package/dist/tree-operations/paste/focus-target.d.ts +27 -0
- package/dist/tree-operations/paste/focus-target.js +40 -0
- package/dist/tree-operations/paste/hooks.d.ts +17 -0
- package/dist/tree-operations/paste/hooks.js +80 -0
- package/dist/tree-operations/paste/list-absorb.d.ts +29 -0
- package/dist/tree-operations/paste/list-absorb.js +106 -0
- package/dist/tree-operations/paste/list-break-out.d.ts +42 -0
- package/dist/tree-operations/paste/list-break-out.js +136 -0
- package/dist/tree-operations/paste/parent-scope.d.ts +17 -0
- package/dist/tree-operations/paste/parent-scope.js +35 -0
- package/dist/tree-operations/paste/paste-deps.d.ts +20 -0
- package/dist/tree-operations/paste/paste-deps.js +6 -0
- package/dist/tree-operations/paste/paste-replacement.d.ts +8 -0
- package/dist/tree-operations/paste/paste-replacement.js +60 -0
- package/dist/tree-operations/paste/paste-transforms.d.ts +25 -0
- package/dist/tree-operations/paste/paste-transforms.js +72 -0
- package/dist/tree-operations/paste/replace-block-at-parent.d.ts +29 -0
- package/dist/tree-operations/paste/replace-block-at-parent.js +75 -0
- package/dist/tree-operations/paste/strategy.d.ts +9 -0
- package/dist/tree-operations/paste/strategy.js +20 -0
- package/dist/tree-operations/paste/table-slice.d.ts +10 -0
- package/dist/tree-operations/paste/table-slice.js +39 -0
- package/dist/tree-operations/paste-surfaces.d.ts +61 -0
- package/dist/tree-operations/paste-surfaces.js +15 -0
- package/dist/tree-operations/path-mutate.d.ts +12 -0
- package/dist/tree-operations/path-mutate.js +20 -0
- package/dist/tree-operations/reorder-unit.d.ts +17 -0
- package/dist/tree-operations/reorder-unit.js +37 -0
- package/dist/tree-operations/reorder.d.ts +13 -0
- package/dist/tree-operations/reorder.js +57 -0
- package/dist/tree-operations/sharing.d.ts +18 -0
- package/dist/tree-operations/sharing.js +14 -0
- package/dist/tree-operations/splice-many.d.ts +9 -0
- package/dist/tree-operations/splice-many.js +22 -0
- package/dist/tree-operations/structural-change.d.ts +65 -0
- package/dist/tree-operations/structural-change.js +117 -0
- package/dist/tree-operations/sub-table-copy.d.ts +6 -0
- package/dist/tree-operations/sub-table-copy.js +43 -0
- package/dist/tree-operations/table-mutations.d.ts +17 -0
- package/dist/tree-operations/table-mutations.js +101 -0
- package/dist/tree-operations/unshare.d.ts +101 -0
- package/dist/tree-operations/unshare.js +248 -0
- package/dist/undo/manager.d.ts +2 -0
- package/dist/undo/manager.js +50 -0
- package/dist/undo/types.d.ts +44 -0
- package/dist/undo/types.js +7 -0
- package/docs/guide/consumer-guide.md +1098 -0
- package/docs/guide/directives.md +223 -0
- package/docs/guide/plugin-api.md +329 -0
- package/docs/guide/plugin-guide/conspiracy.gif +0 -0
- package/docs/guide/plugin-guide/parrot-frames.md +209 -0
- package/docs/guide/plugin-guide/parrot.gif +0 -0
- package/docs/guide/plugin-guide.md +1693 -0
- package/docs/guide/plugin-testing.md +463 -0
- package/package.json +238 -0
package/dist/assert.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev-runtime invariant channel: routes a violation to devWarn and never throws, since a
|
|
3
|
+
* false positive must not crash a real editor. In production the predicate is not even
|
|
4
|
+
* invoked. Tests call predicates directly rather than going through here.
|
|
5
|
+
*/
|
|
6
|
+
import { DEV } from 'esm-env';
|
|
7
|
+
import { devWarn } from './dev-warn';
|
|
8
|
+
export function assertInvariant(tag, check) {
|
|
9
|
+
if (!DEV)
|
|
10
|
+
return;
|
|
11
|
+
const violation = check();
|
|
12
|
+
if (violation) {
|
|
13
|
+
// `invariant:` namespaces the console marker so the e2e simulation's error
|
|
14
|
+
// collector catches violations without tripping on benign dev warnings.
|
|
15
|
+
devWarn(`invariant:${tag}`, violation.message, violation.detail ?? violation.code);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The view-layer contract every rendered block satisfies, plus the cursor sentinels and
|
|
3
|
+
* ambient-prefix shape blocks produce. Orchestration reaches a block only through this flat
|
|
4
|
+
* interface, so a capability a block lacks is an omitted optional member rather than a kind
|
|
5
|
+
* check upstream; `ContainerBlockComponent` is the one promoted tier. Authoritative for
|
|
6
|
+
* external authors: each member's docstring states its own contract.
|
|
7
|
+
*/
|
|
8
|
+
import type { DocumentView, NodeView } from './core/node-views';
|
|
9
|
+
import type { EditorRects } from './editor-rects';
|
|
10
|
+
declare const cursorEndBrand: unique symbol;
|
|
11
|
+
/** Branded `number`: a focus offset meaning "end of content", not a position. */
|
|
12
|
+
export type CursorEnd = number & {
|
|
13
|
+
readonly [cursorEndBrand]: true;
|
|
14
|
+
};
|
|
15
|
+
declare const cursorStartBrand: unique symbol;
|
|
16
|
+
/** Branded `number`: a focus offset meaning "start of content", not a position. */
|
|
17
|
+
export type CursorStart = number & {
|
|
18
|
+
readonly [cursorStartBrand]: true;
|
|
19
|
+
};
|
|
20
|
+
declare const cursorExactStartBrand: unique symbol;
|
|
21
|
+
/** Branded `number`: a focus offset meaning "raw byte 0 exactly, unclamped". */
|
|
22
|
+
export type CursorExactStart = number & {
|
|
23
|
+
readonly [cursorExactStartBrand]: true;
|
|
24
|
+
};
|
|
25
|
+
declare const selectionEndBrand: unique symbol;
|
|
26
|
+
/** Branded `number`: a measurePartialRects endOffset meaning "end of range". */
|
|
27
|
+
export type SelectionEnd = number & {
|
|
28
|
+
readonly [selectionEndBrand]: true;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* "Place cursor at end of content." Focus walkers fall through to their end-of-content
|
|
32
|
+
* fallback when the offset exceeds the block's length, so MAX_SAFE_INTEGER always lands
|
|
33
|
+
* there — a finite sentinel lands mid-block once content outgrows it.
|
|
34
|
+
*/
|
|
35
|
+
export declare const CURSOR_END: CursorEnd;
|
|
36
|
+
/**
|
|
37
|
+
* "Place cursor at start of content" — {@link CURSOR_END}'s twin, and NOT a synonym for 0. A
|
|
38
|
+
* mode that paints no marker puts raw 0 out of the caret's reach behind a leading construct, so
|
|
39
|
+
* an ARRIVAL says this and the door seats it on the first landable offset.
|
|
40
|
+
*/
|
|
41
|
+
export declare const CURSOR_START: CursorStart;
|
|
42
|
+
/**
|
|
43
|
+
* "Raw byte 0 exactly" — the ONE seat the park door does not clamp. A live split's continuation
|
|
44
|
+
* reopens a construct at byte 0 and typing must continue inside it (live-mode.md § 4.4), which
|
|
45
|
+
* the landable clamp would move outside; every other caller wants the clamp (G2.12).
|
|
46
|
+
*/
|
|
47
|
+
export declare const CURSOR_EXACT_START: CursorExactStart;
|
|
48
|
+
/** Cascade focus to the last descendant and place the cursor at its start. */
|
|
49
|
+
export declare const FOCUS_LAST_START = -1;
|
|
50
|
+
/**
|
|
51
|
+
* "End of this block's measurable range" for measurePartialRects' endOffset. Each
|
|
52
|
+
* surface interprets it in its own coordinate system: text falls through to native
|
|
53
|
+
* range clamping, TableBlock matches it explicitly to reach the last cell.
|
|
54
|
+
*/
|
|
55
|
+
export declare const SELECTION_END: SelectionEnd;
|
|
56
|
+
/**
|
|
57
|
+
* Direction the cursor is entering a block from for sticky-column moves.
|
|
58
|
+
* `'above'` = downward move; `'below'` = upward move.
|
|
59
|
+
*/
|
|
60
|
+
export type StickyColumnDirection = 'above' | 'below';
|
|
61
|
+
/**
|
|
62
|
+
* Focus position for moveFocus. The sticky-column variant aligns to the current sticky
|
|
63
|
+
* X on the target's first/last visual line, falling back to focus(0) / focus(CURSOR_END).
|
|
64
|
+
*/
|
|
65
|
+
export type FocusPosition = 'start' | 'end' | number | {
|
|
66
|
+
stickyColumnFrom: StickyColumnDirection;
|
|
67
|
+
};
|
|
68
|
+
export interface AmbientInteractiveRange {
|
|
69
|
+
start: number;
|
|
70
|
+
end: number;
|
|
71
|
+
className: string;
|
|
72
|
+
role?: 'checkbox';
|
|
73
|
+
ariaChecked?: boolean;
|
|
74
|
+
/** The click lands on the range's own span, before the leaf's caret handling; a handler
|
|
75
|
+
* reading the chord (`isWidgetActivationClick`) stops propagation to keep the gesture. */
|
|
76
|
+
onClick: (e: MouseEvent) => void;
|
|
77
|
+
}
|
|
78
|
+
export type AmbientPrefix = string | {
|
|
79
|
+
text: string;
|
|
80
|
+
interactive?: AmbientInteractiveRange[];
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* The props BlockHost passes every block component; a registry `extraProps` may add
|
|
84
|
+
* kind-specific ones. A component may declare a subset — Svelte ignores props it omits,
|
|
85
|
+
* but a leaf that drops `ambientPrefix` visually deletes its markers.
|
|
86
|
+
*/
|
|
87
|
+
export interface BlockComponentProps {
|
|
88
|
+
/** Bytes-readonly view (G1.9): components render the CST; mutation routes through actions. */
|
|
89
|
+
node: NodeView;
|
|
90
|
+
index: number;
|
|
91
|
+
myPath: number[];
|
|
92
|
+
/** Container-contributed read-only prefix rendered before the block's own raw (a list item's `- `). */
|
|
93
|
+
ambientPrefix: AmbientPrefix;
|
|
94
|
+
/** The root document, readonly by type — mutation stays a commit-ceremony concern. */
|
|
95
|
+
document?: DocumentView;
|
|
96
|
+
/** The owning instance's rect surface: measure/reveal/scroll by path. The live
|
|
97
|
+
* instance object, so a block navigating to another shares the editor's one seam. */
|
|
98
|
+
rects?: EditorRects;
|
|
99
|
+
}
|
|
100
|
+
export interface BlockComponent {
|
|
101
|
+
/**
|
|
102
|
+
* Place the caret at `offset`, focusing the surface, and end any live cross-block range — the
|
|
103
|
+
* safe default door over {@link parkCaret}, since the range-ending batches with the landing.
|
|
104
|
+
* Also takes the four caret sentinels above, which stay internal (none is on
|
|
105
|
+
* `@voithos-labs/aragonite/plugin`). Clamping is required; never throw.
|
|
106
|
+
*/
|
|
107
|
+
focus(offset: number): void;
|
|
108
|
+
/**
|
|
109
|
+
* `focus` WITHOUT the range-ending: seat the caret and touch nothing else. For
|
|
110
|
+
* selection-extend paths only (G2.12 guards the callers), where a `focus` would
|
|
111
|
+
* cancel the range still being grown; any other caller wants `focus`.
|
|
112
|
+
*/
|
|
113
|
+
parkCaret?(offset: number): void;
|
|
114
|
+
/**
|
|
115
|
+
* Caret position as a raw offset into this block's own bytes: ambient markers
|
|
116
|
+
* excluded, a widget counted as the source bytes it stands for. `null` (never 0)
|
|
117
|
+
* means not in this block — dispatch walks refs to find the focused one.
|
|
118
|
+
*/
|
|
119
|
+
getCursorOffset(): number | null;
|
|
120
|
+
/**
|
|
121
|
+
* The current selection's rendered text, or `''` when unmounted or nothing is
|
|
122
|
+
* selected. NOT clipped to this block: a cross-block selection returns the whole
|
|
123
|
+
* range. Rendered, not raw — a caller needing this block's bytes slices `raw`.
|
|
124
|
+
*/
|
|
125
|
+
getSelectedText?(): string;
|
|
126
|
+
/**
|
|
127
|
+
* Select `[start, end)` in the same raw-offset space `getCursorOffset` returns.
|
|
128
|
+
* A no-op when the block is unmounted or the range doesn't resolve.
|
|
129
|
+
*/
|
|
130
|
+
setSelection?(start: number, end: number): void;
|
|
131
|
+
/**
|
|
132
|
+
* Position the cursor at the offset nearest editor-relative pixel X on the first
|
|
133
|
+
* (`'above'`) or last (`'below'`) visual line; callers fall back to focus(0) /
|
|
134
|
+
* CURSOR_END when a block omits it. Inherits {@link parkCaret}'s semantics — it does
|
|
135
|
+
* NOT end a live cross-block range, which vertical traversal can never reach.
|
|
136
|
+
*/
|
|
137
|
+
focusAtColumn?(x: number, from: StickyColumnDirection): void;
|
|
138
|
+
/** Cascade focus down a path of child indices to reach a leaf at the given offset. */
|
|
139
|
+
focusByPath?(path: number[], offset: number): void;
|
|
140
|
+
/**
|
|
141
|
+
* Apply this surface's own click-intent caret snap for a viewport point inside its box,
|
|
142
|
+
* after a landing has been placed. A caret that fell at an atomic widget's edge has no
|
|
143
|
+
* visual representation there, so the prose surface moves it onto the edge and paints the
|
|
144
|
+
* indicator Chromium omits; one that landed in real text is left alone. Omitted by
|
|
145
|
+
* surfaces with no such snap.
|
|
146
|
+
*/
|
|
147
|
+
snapCaretToPoint?(clientX: number, clientY: number): void;
|
|
148
|
+
/**
|
|
149
|
+
* Descend child indices to the BlockComponent at the leaf, or null if the path
|
|
150
|
+
* doesn't resolve. Empty `path` returns this component. Containers implement it.
|
|
151
|
+
*/
|
|
152
|
+
getBlockComponentByPath?(path: number[]): BlockComponent | null;
|
|
153
|
+
/**
|
|
154
|
+
* Async sibling of getBlockComponentByPath: at each nested level, scroll the child
|
|
155
|
+
* into its window and await its mount before recursing, so an off-window target
|
|
156
|
+
* resolves instead of returning null.
|
|
157
|
+
*/
|
|
158
|
+
revealByPath?(path: number[]): Promise<BlockComponent | null>;
|
|
159
|
+
/**
|
|
160
|
+
* Deep cursor position for nested-block surfaces (table cells): the path from this
|
|
161
|
+
* block to the leaf holding the cursor, plus the within-leaf offset. Preferred over
|
|
162
|
+
* getCursorOffset by getSelection() when implemented.
|
|
163
|
+
*/
|
|
164
|
+
getCursorPosition?(): {
|
|
165
|
+
path: number[];
|
|
166
|
+
offset: number;
|
|
167
|
+
} | null;
|
|
168
|
+
/**
|
|
169
|
+
* Viewport-space rects covering [startOffset, endOffset) in this block's visible
|
|
170
|
+
* text, for cross-block selection painting. Accepts SELECTION_END as endOffset,
|
|
171
|
+
* which surfaces interpret per their own coordinate system.
|
|
172
|
+
*/
|
|
173
|
+
measurePartialRects?(startOffset: number, endOffset: number): DOMRect[];
|
|
174
|
+
/**
|
|
175
|
+
* Viewport-space rect of a single cell by 2D coordinate — whole-cell highlighting on
|
|
176
|
+
* grid surfaces, bypassing measurePartialRects' selection-aware range logic. Null
|
|
177
|
+
* when the cell isn't mounted or the coordinate is out of range.
|
|
178
|
+
*/
|
|
179
|
+
cellRect?(rowIdx: number, colIdx: number): DOMRect | null;
|
|
180
|
+
/**
|
|
181
|
+
* Current mounted row-window `[start, end)` of a row-windowed grid surface. Overlays
|
|
182
|
+
* read it reactively so a repaint fires once the re-sliced rows are committed —
|
|
183
|
+
* off-window rows can't paint until mounted.
|
|
184
|
+
*/
|
|
185
|
+
mountedRowWindow?(): {
|
|
186
|
+
start: number;
|
|
187
|
+
end: number;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* True when vertical traversal should pass straight through: no caret-able text
|
|
191
|
+
* positions of its own, only widgets carrying no column meaning. Decided from the
|
|
192
|
+
* CST, not mounted refs, so a container answers the same for an off-window child.
|
|
193
|
+
*/
|
|
194
|
+
isVerticallyTransparent?(): boolean;
|
|
195
|
+
/**
|
|
196
|
+
* Enter an edge widget instead of placing a caret at its boundary. What "enter" means
|
|
197
|
+
* belongs to the kind's registered `InlineWidgetEditingPolicy` — an open vocabulary,
|
|
198
|
+
* not a two-way choice. False lets the caller fall through to focus(0) / CURSOR_END.
|
|
199
|
+
*/
|
|
200
|
+
enterEdgeWidget?(side: 'start' | 'end'): boolean;
|
|
201
|
+
/**
|
|
202
|
+
* Run a named block-local command resolved from a keybinding. `arg` carries the
|
|
203
|
+
* binding's static argument as `unknown` — the handler must type-guard it and ignore
|
|
204
|
+
* an out-of-shape value. False lets the caller fall through to later keydown branches.
|
|
205
|
+
*/
|
|
206
|
+
runCommand?(id: import('./schema/command-id').AnyCommandId, arg?: unknown): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Whether the command's toggle-state reads ON at the surface's own caret or selection —
|
|
209
|
+
* the read a toolbar paints a pressed state from. Absent, or an id with no toggle-state,
|
|
210
|
+
* reads inactive.
|
|
211
|
+
*/
|
|
212
|
+
isCommandActive?(id: import('./schema/command-id').AnyCommandId): boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Current raw-offset selection in an editable leaf, a collapsed caret as
|
|
215
|
+
* `{start: n, end: n}`. Captured before a right-click menu steals focus.
|
|
216
|
+
*/
|
|
217
|
+
getSelectionOffsets?(): {
|
|
218
|
+
start: number;
|
|
219
|
+
end: number;
|
|
220
|
+
} | null;
|
|
221
|
+
/**
|
|
222
|
+
* Claim a copy/cut/paste the editor root received because a selection state this block
|
|
223
|
+
* owns seats no native caret: a selected inline widget in a block with no text position
|
|
224
|
+
* leaves the native selection empty, so the browser dispatches at `<body>`. The claim is
|
|
225
|
+
* unconditional once the root has targeted this block, so there is nothing to report back:
|
|
226
|
+
* the seam offers the event to one arm only, and never re-offers it elsewhere.
|
|
227
|
+
*/
|
|
228
|
+
claimRootClipboard?(event: ClipboardEvent): void;
|
|
229
|
+
/**
|
|
230
|
+
* Insert markdown at this surface's caret exactly as pasting it would, minus the
|
|
231
|
+
* clipboard — the block half of `EditorInstance.insertMarkdown`. True means the paste
|
|
232
|
+
* pipeline took the text, not that its commit has flushed. Omitted by non-editable blocks.
|
|
233
|
+
*/
|
|
234
|
+
insertMarkdown?(md: string): boolean;
|
|
235
|
+
/**
|
|
236
|
+
* Run a clipboard action from the table cell's right-click menu against the offsets
|
|
237
|
+
* captured at menu-open (focus/selection may have moved since).
|
|
238
|
+
*/
|
|
239
|
+
applyMenuClipboard?(action: 'cut' | 'copy' | 'paste', sel: {
|
|
240
|
+
start: number;
|
|
241
|
+
end: number;
|
|
242
|
+
}): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Whether this component's own surface takes text input — a REPORT, never a gate. The
|
|
245
|
+
* kind's descriptor `editable` is the declaration and the only flag the editor gates on
|
|
246
|
+
* (merge eligibility, search scanning); this mirrors it for the mounted surface.
|
|
247
|
+
*/
|
|
248
|
+
readonly editable: boolean;
|
|
249
|
+
/** Whether focus may land on this block at all. This is the flag focus dispatch reads. */
|
|
250
|
+
readonly focusable: boolean;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Every member a container owes, promoted to required: a caret entering a container has
|
|
254
|
+
* to descend, so the descent verbs are not "implement if you can" the way a leaf's
|
|
255
|
+
* optionals are. `createContainerBlockComponent` returns this.
|
|
256
|
+
*/
|
|
257
|
+
export type ContainerBlockComponent = BlockComponent & Required<Pick<BlockComponent, 'getCursorPosition' | 'focusByPath' | 'getBlockComponentByPath' | 'revealByPath' | 'focusAtColumn' | 'isVerticallyTransparent' | 'enterEdgeWidget' | 'parkCaret'>>;
|
|
258
|
+
/**
|
|
259
|
+
* What a mounted block component publishes through `bind:this`: a leaf publishes the
|
|
260
|
+
* surface itself, a container publishes it under the one `containerApi` export (Svelte 5
|
|
261
|
+
* instance exports are individual declarations with no spread, so re-exporting a dozen
|
|
262
|
+
* members by hand drops one). The union is the enforcement — a container publishing a
|
|
263
|
+
* leaf-grade surface is a type error at its `defineBlockComponent` registration site.
|
|
264
|
+
*/
|
|
265
|
+
export type BlockComponentExports = BlockComponent | {
|
|
266
|
+
readonly containerApi: ContainerBlockComponent;
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* The `BlockComponent` behind a published instance — the one point that knows a
|
|
270
|
+
* container's surface hides under `containerApi`. Returns the object it was handed,
|
|
271
|
+
* never a wrapper: `publishRefSlot` compares identity, so a fresh one stomps a slot.
|
|
272
|
+
*/
|
|
273
|
+
export declare function resolveBlockSurface(exports: BlockComponentExports | undefined): BlockComponent | undefined;
|
|
274
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The view-layer contract every rendered block satisfies, plus the cursor sentinels and
|
|
3
|
+
* ambient-prefix shape blocks produce. Orchestration reaches a block only through this flat
|
|
4
|
+
* interface, so a capability a block lacks is an omitted optional member rather than a kind
|
|
5
|
+
* check upstream; `ContainerBlockComponent` is the one promoted tier. Authoritative for
|
|
6
|
+
* external authors: each member's docstring states its own contract.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* "Place cursor at end of content." Focus walkers fall through to their end-of-content
|
|
10
|
+
* fallback when the offset exceeds the block's length, so MAX_SAFE_INTEGER always lands
|
|
11
|
+
* there — a finite sentinel lands mid-block once content outgrows it.
|
|
12
|
+
*/
|
|
13
|
+
export const CURSOR_END = Number.MAX_SAFE_INTEGER;
|
|
14
|
+
/**
|
|
15
|
+
* "Place cursor at start of content" — {@link CURSOR_END}'s twin, and NOT a synonym for 0. A
|
|
16
|
+
* mode that paints no marker puts raw 0 out of the caret's reach behind a leading construct, so
|
|
17
|
+
* an ARRIVAL says this and the door seats it on the first landable offset.
|
|
18
|
+
*/
|
|
19
|
+
export const CURSOR_START = -2;
|
|
20
|
+
/**
|
|
21
|
+
* "Raw byte 0 exactly" — the ONE seat the park door does not clamp. A live split's continuation
|
|
22
|
+
* reopens a construct at byte 0 and typing must continue inside it (live-mode.md § 4.4), which
|
|
23
|
+
* the landable clamp would move outside; every other caller wants the clamp (G2.12).
|
|
24
|
+
*/
|
|
25
|
+
export const CURSOR_EXACT_START = -3;
|
|
26
|
+
/** Cascade focus to the last descendant and place the cursor at its start. */
|
|
27
|
+
export const FOCUS_LAST_START = -1;
|
|
28
|
+
/**
|
|
29
|
+
* "End of this block's measurable range" for measurePartialRects' endOffset. Each
|
|
30
|
+
* surface interprets it in its own coordinate system: text falls through to native
|
|
31
|
+
* range clamping, TableBlock matches it explicitly to reach the last cell.
|
|
32
|
+
*/
|
|
33
|
+
export const SELECTION_END = Number.MAX_SAFE_INTEGER;
|
|
34
|
+
/**
|
|
35
|
+
* The `BlockComponent` behind a published instance — the one point that knows a
|
|
36
|
+
* container's surface hides under `containerApi`. Returns the object it was handed,
|
|
37
|
+
* never a wrapper: `publishRefSlot` compares identity, so a fresh one stomps a slot.
|
|
38
|
+
*/
|
|
39
|
+
export function resolveBlockSurface(exports) {
|
|
40
|
+
if (!exports)
|
|
41
|
+
return undefined;
|
|
42
|
+
return 'containerApi' in exports ? exports.containerApi : exports;
|
|
43
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { NodeView } from './core/node-views';
|
|
2
|
+
/**
|
|
3
|
+
* These ids key Svelte's `{#each}`: process uniqueness, not unguessability. `crypto.randomUUID`
|
|
4
|
+
* answers a question nobody asked here, at a per-block cost a large load pays in full
|
|
5
|
+
* (`performance.md`), and is secure-context-only besides.
|
|
6
|
+
*/
|
|
7
|
+
export declare function generateBlockId(): string;
|
|
8
|
+
export declare function assignIds(children: readonly NodeView[]): string[];
|
|
9
|
+
/**
|
|
10
|
+
* Initialize `childIds` before a freshly-parsed subtree is spliced into the live tree: a
|
|
11
|
+
* reused container reads it in its keyed-each synchronously, so a missing array surfaces
|
|
12
|
+
* as `undefined` keys.
|
|
13
|
+
*/
|
|
14
|
+
export declare function assignChildIdsDeep(node: NodeView): void;
|
package/dist/block-id.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// A per-module-instance prefix: a dev-server reload restarts the counter while the live tree
|
|
2
|
+
// still holds ids minted before it, and a repeat collides in Svelte's keyed each.
|
|
3
|
+
const RUN = Math.random().toString(36).slice(2, 8);
|
|
4
|
+
let sequence = 0;
|
|
5
|
+
/**
|
|
6
|
+
* These ids key Svelte's `{#each}`: process uniqueness, not unguessability. `crypto.randomUUID`
|
|
7
|
+
* answers a question nobody asked here, at a per-block cost a large load pays in full
|
|
8
|
+
* (`performance.md`), and is secure-context-only besides.
|
|
9
|
+
*/
|
|
10
|
+
export function generateBlockId() {
|
|
11
|
+
sequence += 1;
|
|
12
|
+
return `b${RUN}-${sequence}`;
|
|
13
|
+
}
|
|
14
|
+
// View-typed: one id per slot, content never read — and `childIds` is the
|
|
15
|
+
// bytes-view carve-out, legal to write even on a snapshot-shared node. Sized off `length`
|
|
16
|
+
// rather than mapped, so a `$state` children array costs one proxy read instead of one per slot.
|
|
17
|
+
export function assignIds(children) {
|
|
18
|
+
const ids = new Array(children.length);
|
|
19
|
+
for (let i = 0; i < ids.length; i++)
|
|
20
|
+
ids[i] = generateBlockId();
|
|
21
|
+
return ids;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Initialize `childIds` before a freshly-parsed subtree is spliced into the live tree: a
|
|
25
|
+
* reused container reads it in its keyed-each synchronously, so a missing array surfaces
|
|
26
|
+
* as `undefined` keys.
|
|
27
|
+
*/
|
|
28
|
+
export function assignChildIdsDeep(node) {
|
|
29
|
+
if (node.children && node.children.length > 0 && !node.childIds) {
|
|
30
|
+
node.childIds = assignIds(node.children);
|
|
31
|
+
}
|
|
32
|
+
for (const child of node.children ?? [])
|
|
33
|
+
assignChildIdsDeep(child);
|
|
34
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A bounded, LRU-evicting memo for expensive render work — the cache primitive a plugin
|
|
3
|
+
* renderer builds on (see the plugin guide's renderer recipe). Async needs no variant:
|
|
4
|
+
* the caller stores the Promise, so an in-flight render is shared and a rejection is
|
|
5
|
+
* cached verbatim. `cloneOnRead` covers the one case a bare cache cannot — a value
|
|
6
|
+
* holding a live DOM node, which cannot occupy two places at once.
|
|
7
|
+
*/
|
|
8
|
+
export interface BoundedMemoOptions<V> {
|
|
9
|
+
/** Maximum live entries; the least-recently-used is evicted past it. */
|
|
10
|
+
cap: number;
|
|
11
|
+
/** Return a per-caller copy of a cached value (e.g. clone a live DOM node). */
|
|
12
|
+
cloneOnRead?: (value: V) => V;
|
|
13
|
+
}
|
|
14
|
+
export declare function createBoundedMemo<K, V>(options: BoundedMemoOptions<V>): (key: K, compute: () => V) => V;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A bounded, LRU-evicting memo for expensive render work — the cache primitive a plugin
|
|
3
|
+
* renderer builds on (see the plugin guide's renderer recipe). Async needs no variant:
|
|
4
|
+
* the caller stores the Promise, so an in-flight render is shared and a rejection is
|
|
5
|
+
* cached verbatim. `cloneOnRead` covers the one case a bare cache cannot — a value
|
|
6
|
+
* holding a live DOM node, which cannot occupy two places at once.
|
|
7
|
+
*/
|
|
8
|
+
import { devWarn } from './dev-warn';
|
|
9
|
+
export function createBoundedMemo(options) {
|
|
10
|
+
const { cloneOnRead } = options;
|
|
11
|
+
// Reported at creation, not per read: a non-positive cap would otherwise behave as 1
|
|
12
|
+
// unnoticed, so the author who meant "no caching" gets caching with nothing to read.
|
|
13
|
+
if (options.cap < 1) {
|
|
14
|
+
devWarn('bounded-memo', `cap must be at least 1; got ${options.cap} — using 1`);
|
|
15
|
+
}
|
|
16
|
+
const cap = Math.max(1, options.cap);
|
|
17
|
+
const cache = new Map();
|
|
18
|
+
return (key, compute) => {
|
|
19
|
+
let entry;
|
|
20
|
+
if (cache.has(key)) {
|
|
21
|
+
entry = cache.get(key);
|
|
22
|
+
cache.delete(key); // re-insert below so the hit becomes most recent
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
entry = compute();
|
|
26
|
+
if (cache.size >= cap)
|
|
27
|
+
cache.delete(cache.keys().next().value);
|
|
28
|
+
}
|
|
29
|
+
cache.set(key, entry);
|
|
30
|
+
return cloneOnRead ? cloneOnRead(entry) : entry;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { DRAG_HANDLE_TITLE } from '../a11y-strings';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<!-- aria-hidden + non-focusable: keyboard reorder (Alt+Arrow) is the operable,
|
|
6
|
+
screen-reader-visible path, so this mouse-only grip stays out of the tab/SR flow. -->
|
|
7
|
+
<span class="block-drag-handle" aria-hidden="true" title={DRAG_HANDLE_TITLE}>
|
|
8
|
+
<span class="grip"><span class="dots"></span></span>
|
|
9
|
+
</span>
|
|
10
|
+
|
|
11
|
+
<style>
|
|
12
|
+
.block-drag-handle {
|
|
13
|
+
position: absolute;
|
|
14
|
+
/* Sits inside the editor's own 1rem padding, so the grip clears the block's left
|
|
15
|
+
border instead of being clipped behind it (overflow-x:auto). */
|
|
16
|
+
left: -0.85rem;
|
|
17
|
+
/* Spans gutter to content-left (width === |left|) so a pointer gliding from the
|
|
18
|
+
block never crosses an un-hovered gap, which would hide the handle and — being
|
|
19
|
+
pointer-events:none once hidden — strand it. Stopping AT content-left keeps
|
|
20
|
+
line-start caret/marker clicks from being hijacked into a drag. */
|
|
21
|
+
width: 0.85rem;
|
|
22
|
+
/* Full-height hit strip so the handle is reachable at ANY height; the visible
|
|
23
|
+
grip aligns to the first line. */
|
|
24
|
+
top: 0;
|
|
25
|
+
bottom: 0;
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: flex-start;
|
|
28
|
+
opacity: 0;
|
|
29
|
+
pointer-events: none;
|
|
30
|
+
cursor: grab;
|
|
31
|
+
user-select: none;
|
|
32
|
+
color: var(--color-ui-muted, #a4a4a4);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* One line-height box so the dots sit on the first line; a block with a divergent
|
|
36
|
+
inner line-height is off by a few px, which is cosmetic — reachability rides the strip. */
|
|
37
|
+
.grip {
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
height: 1lh;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.dots {
|
|
44
|
+
display: block;
|
|
45
|
+
width: 0.5rem;
|
|
46
|
+
height: 0.85rem;
|
|
47
|
+
background-image: radial-gradient(currentColor 40%, transparent 45%);
|
|
48
|
+
background-size: 0.25rem 0.28rem;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Touch never fires the hover reveal, so the handle shows unasked. The pointer goes to the
|
|
52
|
+
grip rather than the full-height strip, which would make the whole gutter unscrollable. */
|
|
53
|
+
@media (hover: none) {
|
|
54
|
+
.block-drag-handle {
|
|
55
|
+
opacity: 1;
|
|
56
|
+
}
|
|
57
|
+
.grip {
|
|
58
|
+
pointer-events: auto;
|
|
59
|
+
touch-action: none;
|
|
60
|
+
/* The whole gutter slot, not just the dots: 1rem of editor padding is all the width
|
|
61
|
+
there is, and any more would reach over the line's first character. */
|
|
62
|
+
width: 100%;
|
|
63
|
+
justify-content: center;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const BlockDragHandle: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type BlockDragHandle = InstanceType<typeof BlockDragHandle>;
|
|
18
|
+
export default BlockDragHandle;
|