@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
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unstable-public hook for plugin inline syntax: a priority ladder mirroring `OPENER_PRIORITIES`.
|
|
3
|
+
* One trigger character plus an optional prefix beginning with it, dispatched low-priority-first
|
|
4
|
+
* so a plugin can outrank a built-in trigger on a longer prefix (footnotes' `[^` beating `[`).
|
|
5
|
+
* Reserved triggers hold pre-switch rungs, all others hold `default`-arm rungs (scan/index.ts).
|
|
6
|
+
*/
|
|
7
|
+
import { registerOnce } from '../../../schema/register-once';
|
|
8
|
+
/** The priority ladder every registration prices against; lower is consulted first. */
|
|
9
|
+
export const INLINE_PRIORITIES = {
|
|
10
|
+
/** Rungs consulted before a reserved trigger's built-in handling. */
|
|
11
|
+
prefixOverride: 40,
|
|
12
|
+
/** The switch's own anchor; not registerable. */
|
|
13
|
+
builtin: 50,
|
|
14
|
+
/** Default rung for bare-trigger registrations. */
|
|
15
|
+
plugin: 100
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* The characters `scanInline`'s switch claims. A bare registration on one would never fire; it
|
|
19
|
+
* needs a prefix rung priced below `builtin`. Kept in step with `./index.ts` by G4.18.
|
|
20
|
+
*/
|
|
21
|
+
const BUILTIN_TRIGGERS = new Set(['\\', '`', '&', '\n', '*', '_', '~', '[', ']', '!', '<']);
|
|
22
|
+
/**
|
|
23
|
+
* Reserved triggers a registration makes visible to `needsScan` (scan/index.ts) instead, probed
|
|
24
|
+
* only while a rung lives on them. `!` is here rather than in `SPECIAL_CHARS` because making it
|
|
25
|
+
* unconditionally special would drag every prose `"Hello!"` through the full scan loop.
|
|
26
|
+
*/
|
|
27
|
+
const SCAN_PROBED_RESERVED = new Set(['!']);
|
|
28
|
+
/**
|
|
29
|
+
* Reserved triggers with no route to the scan at all, so a prefix rung on one would be accepted
|
|
30
|
+
* yet never consulted: the silent no-op this seam exists to prevent. A construct needing `]`
|
|
31
|
+
* gives it a route first. Pinned against a SPECIAL_CHARS edit by G4.18.
|
|
32
|
+
*/
|
|
33
|
+
const REJECTED_RESERVED = new Set([']']);
|
|
34
|
+
const NO_RUNGS = [];
|
|
35
|
+
// Reserved-trigger prefix rungs (pre-switch) live apart from every other trigger's rungs
|
|
36
|
+
// (`default` arm) so each dispatch path reads one map and its empty gate is one `size` check.
|
|
37
|
+
const reservedRegistry = new Map();
|
|
38
|
+
const unreservedRegistry = new Map();
|
|
39
|
+
// Triggers the fast bail (`needsScan`, scan/index.ts) must visit while a rung lives on them.
|
|
40
|
+
// Maintained at registration, so a rung on a trigger `SPECIAL_CHARS` already visits costs nothing.
|
|
41
|
+
const scanProbeTriggers = new Set();
|
|
42
|
+
// ── Registration ───────────────────────────────────────────────────────────────
|
|
43
|
+
export function registerInlineSyntax(trigger, recognizer, options) {
|
|
44
|
+
if (trigger.length !== 1) {
|
|
45
|
+
throw new Error('registerInlineSyntax: trigger must be a single character');
|
|
46
|
+
}
|
|
47
|
+
const { prefix, priority = INLINE_PRIORITIES.plugin, rewriteImage } = options ?? {};
|
|
48
|
+
if (prefix !== undefined && (prefix.length < 2 || !prefix.startsWith(trigger))) {
|
|
49
|
+
throw new Error(`registerInlineSyntax: prefix ${JSON.stringify(prefix)} must begin with the trigger ` +
|
|
50
|
+
`${JSON.stringify(trigger)} and be at least two characters`);
|
|
51
|
+
}
|
|
52
|
+
const reserved = BUILTIN_TRIGGERS.has(trigger);
|
|
53
|
+
if (reserved) {
|
|
54
|
+
// Pinned contract: keep the message verbatim. A reserved trigger is reachable only
|
|
55
|
+
// through a prefix rung priced below the switch anchor.
|
|
56
|
+
if (prefix === undefined) {
|
|
57
|
+
throw new Error(`registerInlineSyntax: ${JSON.stringify(trigger)} is claimed by the built-in scanner, ` +
|
|
58
|
+
`which dispatches it before the plugin registry — the recognizer would never fire`);
|
|
59
|
+
}
|
|
60
|
+
if (REJECTED_RESERVED.has(trigger)) {
|
|
61
|
+
throw new Error(`registerInlineSyntax: reserved trigger ${JSON.stringify(trigger)} is skipped by the ` +
|
|
62
|
+
`scanner's fast bail (absent from SPECIAL_CHARS in scan/index.ts; it matters only ` +
|
|
63
|
+
`inside "["-bearing ranges), so a prefix rung on it would never fire in plain text — ` +
|
|
64
|
+
`make the trigger scan-visible or scan-probed before registering`);
|
|
65
|
+
}
|
|
66
|
+
if (priority >= INLINE_PRIORITIES.builtin) {
|
|
67
|
+
throw new Error(`registerInlineSyntax: reserved trigger ${JSON.stringify(trigger)} needs a priority ` +
|
|
68
|
+
`below the built-in boundary (${INLINE_PRIORITIES.builtin}) so its prefix outranks ` +
|
|
69
|
+
`the built-in scanner; got ${priority}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const effectivePrefix = prefix ?? trigger;
|
|
73
|
+
const registry = reserved ? reservedRegistry : unreservedRegistry;
|
|
74
|
+
const existing = registry.get(trigger);
|
|
75
|
+
const isDuplicate = existing?.some((r) => r.prefix === effectivePrefix && r.priority === priority) ?? false;
|
|
76
|
+
registerOnce(isDuplicate, () => {
|
|
77
|
+
upsertRung(registry, trigger, {
|
|
78
|
+
recognizer,
|
|
79
|
+
prefix: effectivePrefix,
|
|
80
|
+
priority,
|
|
81
|
+
rewriteImage
|
|
82
|
+
});
|
|
83
|
+
// A rung on a trigger the fast bail would skip must make the scan visit it,
|
|
84
|
+
// or the recognizer is the silent no-op this seam refuses to accept.
|
|
85
|
+
if (!reserved || SCAN_PROBED_RESERVED.has(trigger))
|
|
86
|
+
scanProbeTriggers.add(trigger);
|
|
87
|
+
}, `registerInlineSyntax: ${JSON.stringify(trigger)} already registered at prefix ` +
|
|
88
|
+
`${JSON.stringify(effectivePrefix)}, priority ${priority}`);
|
|
89
|
+
}
|
|
90
|
+
// Kept sorted at insert so dispatch order does not depend on registration order.
|
|
91
|
+
function compareRungs(a, b) {
|
|
92
|
+
if (a.priority !== b.priority)
|
|
93
|
+
return a.priority - b.priority;
|
|
94
|
+
if (a.prefix.length !== b.prefix.length)
|
|
95
|
+
return b.prefix.length - a.prefix.length;
|
|
96
|
+
return a.prefix < b.prefix ? -1 : a.prefix > b.prefix ? 1 : 0;
|
|
97
|
+
}
|
|
98
|
+
// Overwriting a matching (prefix, priority) rung is the dev-server replace path.
|
|
99
|
+
function upsertRung(registry, trigger, rung) {
|
|
100
|
+
const rungs = registry.get(trigger);
|
|
101
|
+
if (!rungs) {
|
|
102
|
+
registry.set(trigger, [rung]);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const at = rungs.findIndex((r) => r.prefix === rung.prefix && r.priority === rung.priority);
|
|
106
|
+
if (at >= 0)
|
|
107
|
+
rungs[at] = rung;
|
|
108
|
+
else {
|
|
109
|
+
rungs.push(rung);
|
|
110
|
+
rungs.sort(compareRungs);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// ── Dispatch accessors ───────────────────────────────────────────────────────────
|
|
114
|
+
/**
|
|
115
|
+
* Whether the built-in scanner claims `trigger` through a `case` arm. A rung on one is consulted
|
|
116
|
+
* BEFORE that arm, so it owes the overlap a decline; the conformance kit refuses it an exemption.
|
|
117
|
+
*/
|
|
118
|
+
export function isReservedInlineTrigger(trigger) {
|
|
119
|
+
return BUILTIN_TRIGGERS.has(trigger);
|
|
120
|
+
}
|
|
121
|
+
/** Rungs for a trigger in dispatch order, reserved-aware. Empty when none. */
|
|
122
|
+
export function getInlineRungs(trigger) {
|
|
123
|
+
const registry = BUILTIN_TRIGGERS.has(trigger) ? reservedRegistry : unreservedRegistry;
|
|
124
|
+
return registry.get(trigger) ?? NO_RUNGS;
|
|
125
|
+
}
|
|
126
|
+
export function getUnreservedRungs(char) {
|
|
127
|
+
return unreservedRegistry.get(char);
|
|
128
|
+
}
|
|
129
|
+
export function getPrefixRungs(char) {
|
|
130
|
+
return reservedRegistry.get(char);
|
|
131
|
+
}
|
|
132
|
+
export function hasInlineSyntax() {
|
|
133
|
+
return unreservedRegistry.size > 0;
|
|
134
|
+
}
|
|
135
|
+
/** Read once per scan, so an empty set leaves `needsScan` at its pre-plugin cost. */
|
|
136
|
+
export function hasScanProbeRungs() {
|
|
137
|
+
return scanProbeTriggers.size > 0;
|
|
138
|
+
}
|
|
139
|
+
export function isScanProbeTrigger(char) {
|
|
140
|
+
return scanProbeTriggers.has(char);
|
|
141
|
+
}
|
|
142
|
+
/** False costs the scan loop nothing. */
|
|
143
|
+
export function hasPrefixRungs() {
|
|
144
|
+
return reservedRegistry.size > 0;
|
|
145
|
+
}
|
|
146
|
+
export function __resetInlineSyntaxForTests() {
|
|
147
|
+
reservedRegistry.clear();
|
|
148
|
+
unreservedRegistry.clear();
|
|
149
|
+
scanProbeTriggers.clear();
|
|
150
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scanner working state, one ScanContext per scanInline call. Handlers append what they match
|
|
3
|
+
* and advance `pos`; unclaimed bytes accumulate as the pending run [textStart, pos), flushed
|
|
4
|
+
* before each appended node, so nodes + pending run cover [start, pos) at every step.
|
|
5
|
+
*/
|
|
6
|
+
import type { InlineNode } from '../../nodes';
|
|
7
|
+
import type { BacktickRunIndex } from '../backticks';
|
|
8
|
+
import type { LinkReferenceResolver } from '../link-reference-resolver';
|
|
9
|
+
export interface ScanContext {
|
|
10
|
+
raw: string;
|
|
11
|
+
pos: number;
|
|
12
|
+
end: number;
|
|
13
|
+
/** Working list, flat, offset-ordered; emphasis wraps later. */
|
|
14
|
+
nodes: InlineNode[];
|
|
15
|
+
textStart: number;
|
|
16
|
+
delimiters: Delimiter[];
|
|
17
|
+
brackets: Bracket[];
|
|
18
|
+
resolver?: LinkReferenceResolver;
|
|
19
|
+
/** Built on the first code-span probe and reused by later openers, so a flood stays linear. */
|
|
20
|
+
backtickRuns?: BacktickRunIndex;
|
|
21
|
+
}
|
|
22
|
+
export interface Delimiter {
|
|
23
|
+
/** Held by identity: processEmphasis reorders `nodes`, so a position would go stale. */
|
|
24
|
+
node: InlineNode;
|
|
25
|
+
char: '*' | '_' | '~';
|
|
26
|
+
/** Remaining unconsumed run length. */
|
|
27
|
+
length: number;
|
|
28
|
+
/** Original run length (the multiple-of-3 rule reads this). */
|
|
29
|
+
origLength: number;
|
|
30
|
+
canOpen: boolean;
|
|
31
|
+
canClose: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface Bracket {
|
|
34
|
+
/** Stays valid across processEmphasis: a floor-f call only wraps nodes appended after it. */
|
|
35
|
+
nodeIndex: number;
|
|
36
|
+
isImage: boolean;
|
|
37
|
+
/** Deactivated by the links-in-links rule. */
|
|
38
|
+
active: boolean;
|
|
39
|
+
/** A collapsed/shortcut label cannot hold an unescaped bracket, so `]` skips its lookup. */
|
|
40
|
+
bracketAfter: boolean;
|
|
41
|
+
/** delimiters.length at push; processEmphasis truncates back to it on match. */
|
|
42
|
+
delimiterFloor: number;
|
|
43
|
+
}
|
|
44
|
+
export declare function createScanContext(raw: string, start: number, end: number, resolver?: LinkReferenceResolver): ScanContext;
|
|
45
|
+
export declare function flushPendingText(ctx: ScanContext, upTo: number): void;
|
|
46
|
+
export declare function appendNode(ctx: ScanContext, node: InlineNode): void;
|
|
47
|
+
export declare function mergeAdjacentText(nodes: InlineNode[]): InlineNode[];
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scanner working state, one ScanContext per scanInline call. Handlers append what they match
|
|
3
|
+
* and advance `pos`; unclaimed bytes accumulate as the pending run [textStart, pos), flushed
|
|
4
|
+
* before each appended node, so nodes + pending run cover [start, pos) at every step.
|
|
5
|
+
*/
|
|
6
|
+
export function createScanContext(raw, start, end, resolver) {
|
|
7
|
+
return {
|
|
8
|
+
raw,
|
|
9
|
+
pos: start,
|
|
10
|
+
end,
|
|
11
|
+
nodes: [],
|
|
12
|
+
textStart: start,
|
|
13
|
+
delimiters: [],
|
|
14
|
+
brackets: [],
|
|
15
|
+
resolver
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function flushPendingText(ctx, upTo) {
|
|
19
|
+
if (ctx.textStart >= upTo)
|
|
20
|
+
return;
|
|
21
|
+
ctx.nodes.push({
|
|
22
|
+
kind: 'text',
|
|
23
|
+
start: ctx.textStart,
|
|
24
|
+
end: upTo,
|
|
25
|
+
text: ctx.raw.slice(ctx.textStart, upTo)
|
|
26
|
+
});
|
|
27
|
+
ctx.textStart = upTo;
|
|
28
|
+
}
|
|
29
|
+
export function appendNode(ctx, node) {
|
|
30
|
+
flushPendingText(ctx, node.start);
|
|
31
|
+
ctx.nodes.push(node);
|
|
32
|
+
ctx.pos = node.end;
|
|
33
|
+
ctx.textStart = node.end;
|
|
34
|
+
}
|
|
35
|
+
export function mergeAdjacentText(nodes) {
|
|
36
|
+
const result = [];
|
|
37
|
+
for (const node of nodes) {
|
|
38
|
+
const prev = result[result.length - 1];
|
|
39
|
+
if (node.kind === 'text' && prev?.kind === 'text' && prev.end === node.start) {
|
|
40
|
+
prev.end = node.end;
|
|
41
|
+
prev.text = (prev.text ?? '') + (node.text ?? '');
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
result.push(node);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-construct handlers: backslash (escape / hard break), ampersand
|
|
3
|
+
* (character reference), newline (trailing-spaces hard break). Each either
|
|
4
|
+
* appends its node or leaves the dispatch character to the pending text run.
|
|
5
|
+
*/
|
|
6
|
+
import { type ScanContext } from './scan-state';
|
|
7
|
+
export declare function handleBackslash(ctx: ScanContext): void;
|
|
8
|
+
export declare function handleAmpersand(ctx: ScanContext): void;
|
|
9
|
+
/**
|
|
10
|
+
* §6.7 trailing-spaces form: two-plus spaces before the newline become a hardLineBreak covering
|
|
11
|
+
* spaces + newline; one space is a softbreak. Lookback is clamped to the pending text run, so
|
|
12
|
+
* spaces inside an already-consumed node cannot count.
|
|
13
|
+
*/
|
|
14
|
+
export declare function handleNewline(ctx: ScanContext): void;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-construct handlers: backslash (escape / hard break), ampersand
|
|
3
|
+
* (character reference), newline (trailing-spaces hard break). Each either
|
|
4
|
+
* appends its node or leaves the dispatch character to the pending text run.
|
|
5
|
+
*/
|
|
6
|
+
import { matchCharacterReference } from '../character-refs';
|
|
7
|
+
import { ESCAPABLE_PUNCTUATION } from '../../escapable';
|
|
8
|
+
import { appendNode } from './scan-state';
|
|
9
|
+
export function handleBackslash(ctx) {
|
|
10
|
+
const { raw, pos, end } = ctx;
|
|
11
|
+
if (pos + 1 < end && raw[pos + 1] === '\n') {
|
|
12
|
+
appendNode(ctx, { kind: 'hardLineBreak', start: pos, end: pos + 2 });
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (pos + 2 < end && raw[pos + 1] === '\r' && raw[pos + 2] === '\n') {
|
|
16
|
+
appendNode(ctx, { kind: 'hardLineBreak', start: pos, end: pos + 3 });
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (pos + 1 < end && ESCAPABLE_PUNCTUATION.has(raw[pos + 1])) {
|
|
20
|
+
appendNode(ctx, { kind: 'escape', start: pos, end: pos + 2 });
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
ctx.pos++;
|
|
24
|
+
}
|
|
25
|
+
export function handleAmpersand(ctx) {
|
|
26
|
+
const ref = matchCharacterReference(ctx.raw, ctx.pos, ctx.end);
|
|
27
|
+
if (ref !== null)
|
|
28
|
+
appendNode(ctx, ref);
|
|
29
|
+
else
|
|
30
|
+
ctx.pos++;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* §6.7 trailing-spaces form: two-plus spaces before the newline become a hardLineBreak covering
|
|
34
|
+
* spaces + newline; one space is a softbreak. Lookback is clamped to the pending text run, so
|
|
35
|
+
* spaces inside an already-consumed node cannot count.
|
|
36
|
+
*/
|
|
37
|
+
export function handleNewline(ctx) {
|
|
38
|
+
const { raw, pos, textStart } = ctx;
|
|
39
|
+
let i = pos - 1;
|
|
40
|
+
if (i >= textStart && raw[i] === '\r')
|
|
41
|
+
i--;
|
|
42
|
+
let spaces = 0;
|
|
43
|
+
while (i >= textStart && raw[i] === ' ') {
|
|
44
|
+
spaces++;
|
|
45
|
+
i--;
|
|
46
|
+
}
|
|
47
|
+
if (spaces >= 2) {
|
|
48
|
+
appendNode(ctx, { kind: 'hardLineBreak', start: i + 1, end: pos + 1 });
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
ctx.pos++;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spec destination/title processing: the reference's unescapeString + normalizeURI pair, over
|
|
3
|
+
* link destinations and autolink targets. Never serialized, so offsets stay lossless.
|
|
4
|
+
*/
|
|
5
|
+
export declare function processDestination(rawDest: string): string;
|
|
6
|
+
/** The reference's unescapeString: backslash escapes resolved, entities decoded. */
|
|
7
|
+
export declare function unescapeSpecString(s: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* mdurl-style percent-encoding: keeps valid `%XX`, encodes other ASCII outside the kept set with
|
|
10
|
+
* uppercase hex, UTF-8 percent-encodes the rest; a lone surrogate becomes the replacement char.
|
|
11
|
+
*/
|
|
12
|
+
export declare function percentEncodeUri(s: string): string;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spec destination/title processing: the reference's unescapeString + normalizeURI pair, over
|
|
3
|
+
* link destinations and autolink targets. Never serialized, so offsets stay lossless.
|
|
4
|
+
*/
|
|
5
|
+
import { matchCharacterReference } from '../character-refs';
|
|
6
|
+
import { ESCAPABLE_PUNCTUATION } from '../../escapable';
|
|
7
|
+
export function processDestination(rawDest) {
|
|
8
|
+
return percentEncodeUri(unescapeSpecString(rawDest));
|
|
9
|
+
}
|
|
10
|
+
/** The reference's unescapeString: backslash escapes resolved, entities decoded. */
|
|
11
|
+
export function unescapeSpecString(s) {
|
|
12
|
+
let out = '';
|
|
13
|
+
let i = 0;
|
|
14
|
+
while (i < s.length) {
|
|
15
|
+
const ch = s[i];
|
|
16
|
+
if (ch === '\\' && i + 1 < s.length && ESCAPABLE_PUNCTUATION.has(s[i + 1])) {
|
|
17
|
+
out += s[i + 1];
|
|
18
|
+
i += 2;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (ch === '&') {
|
|
22
|
+
const ref = matchCharacterReference(s, i, s.length);
|
|
23
|
+
if (ref !== null && ref.decoded !== undefined) {
|
|
24
|
+
out += ref.decoded;
|
|
25
|
+
i = ref.end;
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
out += ch;
|
|
30
|
+
i++;
|
|
31
|
+
}
|
|
32
|
+
return out;
|
|
33
|
+
}
|
|
34
|
+
// The mdurl encode() kept set: commonmark.js normalizes destinations through it, so the
|
|
35
|
+
// differ needs byte-equal output.
|
|
36
|
+
const URI_SAFE = buildUriSafeTable(";/?:@&=+$,-_.!~*'()#");
|
|
37
|
+
function buildUriSafeTable(kept) {
|
|
38
|
+
const safe = new Array(128).fill(false);
|
|
39
|
+
for (let code = 0x30; code <= 0x39; code++)
|
|
40
|
+
safe[code] = true;
|
|
41
|
+
for (let code = 0x41; code <= 0x5a; code++)
|
|
42
|
+
safe[code] = true;
|
|
43
|
+
for (let code = 0x61; code <= 0x7a; code++)
|
|
44
|
+
safe[code] = true;
|
|
45
|
+
for (const ch of kept)
|
|
46
|
+
safe[ch.charCodeAt(0)] = true;
|
|
47
|
+
return safe;
|
|
48
|
+
}
|
|
49
|
+
const HEX_PAIR = /^[0-9a-f]{2}$/i;
|
|
50
|
+
/**
|
|
51
|
+
* mdurl-style percent-encoding: keeps valid `%XX`, encodes other ASCII outside the kept set with
|
|
52
|
+
* uppercase hex, UTF-8 percent-encodes the rest; a lone surrogate becomes the replacement char.
|
|
53
|
+
*/
|
|
54
|
+
export function percentEncodeUri(s) {
|
|
55
|
+
let out = '';
|
|
56
|
+
for (let i = 0; i < s.length; i++) {
|
|
57
|
+
const code = s.charCodeAt(i);
|
|
58
|
+
if (code === 0x25 && i + 2 < s.length && HEX_PAIR.test(s.slice(i + 1, i + 3))) {
|
|
59
|
+
out += s.slice(i, i + 3);
|
|
60
|
+
i += 2;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (code < 128) {
|
|
64
|
+
out += URI_SAFE[code] ? s[i] : '%' + code.toString(16).toUpperCase().padStart(2, '0');
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (code >= 0xd800 && code <= 0xdfff) {
|
|
68
|
+
if (code <= 0xdbff && i + 1 < s.length) {
|
|
69
|
+
const next = s.charCodeAt(i + 1);
|
|
70
|
+
if (next >= 0xdc00 && next <= 0xdfff) {
|
|
71
|
+
out += encodeURIComponent(s[i] + s[i + 1]);
|
|
72
|
+
i++;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
out += '%EF%BF%BD';
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
out += encodeURIComponent(s[i]);
|
|
80
|
+
}
|
|
81
|
+
return out;
|
|
82
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single implementation of the vertical-skip decision: does a block carry no column meaning,
|
|
3
|
+
* so cross-block vertical traversal should pass over it? Reads the inline tree on demand, so it
|
|
4
|
+
* answers for an off-window leaf with no component. An empty result reads as not-transparent, so
|
|
5
|
+
* an unparsed block degrades to "land on it".
|
|
6
|
+
*/
|
|
7
|
+
import type { NodeView } from '../node-views';
|
|
8
|
+
export declare function isVerticallyTransparentNode(node: NodeView | null | undefined): boolean;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single implementation of the vertical-skip decision: does a block carry no column meaning,
|
|
3
|
+
* so cross-block vertical traversal should pass over it? Reads the inline tree on demand, so it
|
|
4
|
+
* answers for an off-window leaf with no component. An empty result reads as not-transparent, so
|
|
5
|
+
* an unparsed block degrades to "land on it".
|
|
6
|
+
*/
|
|
7
|
+
import { getInlineContent } from './inline-cache';
|
|
8
|
+
import { isInlineWidget, getInlineWidgetEditing } from './inline-widgets';
|
|
9
|
+
export function isVerticallyTransparentNode(node) {
|
|
10
|
+
if (!node)
|
|
11
|
+
return false;
|
|
12
|
+
// A cell is a grid-column landing and renders images as alt text, so without this gate the
|
|
13
|
+
// recursion below would skip an image-only cell (VR-6).
|
|
14
|
+
if (node.kind === 'table' || node.kind === 'tableRow' || node.kind === 'tableCell')
|
|
15
|
+
return false;
|
|
16
|
+
if (node.children) {
|
|
17
|
+
// An empty container carries a caret position; `[].every()` is true and would skip it.
|
|
18
|
+
if (node.children.length === 0)
|
|
19
|
+
return false;
|
|
20
|
+
return node.children.every(isVerticallyTransparentNode);
|
|
21
|
+
}
|
|
22
|
+
// No resolver, so the path-walkers that call this carry none either. The cost is that a
|
|
23
|
+
// reference-style-image-only paragraph reads as opaque; direct `` is unaffected.
|
|
24
|
+
const inlines = getInlineContent(node);
|
|
25
|
+
if (inlines.length === 0)
|
|
26
|
+
return false;
|
|
27
|
+
for (const inline of inlines) {
|
|
28
|
+
if (isInlineWidget(inline, node.raw)) {
|
|
29
|
+
// A step-over widget is character-like: it carries a column, so it reads as text.
|
|
30
|
+
if (getInlineWidgetEditing(inline.kind)?.onEdge === 'step-over')
|
|
31
|
+
return false;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (inline.kind === 'text' && (inline.text ?? '').trim() === '')
|
|
35
|
+
continue;
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a marker-hiding mode leaves on screen. `inline-render.ts` decides which bytes become which
|
|
3
|
+
* span; this decides which of those spans the reader sees, and it is the one home for that rule:
|
|
4
|
+
* the DOM walk (`cursor/widget-offset.ts`) is its other consumer, in the space that has a caret.
|
|
5
|
+
* The two answers are held together by `test/invariants/screen-truth.property.test.ts`, not by
|
|
6
|
+
* convention. Context vocabulary: `docs/design/live-mode.md` § 2.
|
|
7
|
+
*/
|
|
8
|
+
import type { InlineNode } from '../nodes';
|
|
9
|
+
import { type RenderInlineOptions } from '../inline-render';
|
|
10
|
+
import { type PresentationMode } from '../../presentation-mode';
|
|
11
|
+
/** The span families a marker-hiding mode drops. `fence-line` is a block's own chrome, minted
|
|
12
|
+
* outside this file, and is named here because the hiding rule is one rule. */
|
|
13
|
+
export type MarkerFamily = 'marker' | 'fence-line' | 'ref-label';
|
|
14
|
+
/** Every family at once, for a caller reading spans back out of a rendered fragment. */
|
|
15
|
+
export declare const MARKER_FAMILY_SELECTOR: string;
|
|
16
|
+
/**
|
|
17
|
+
* The family `el` belongs to, or null for anything else. A `contenteditable="false"` marker is
|
|
18
|
+
* the ambient prefix island, which keeps its box in every mode (`ambient/ambient-cursor.ts`), so
|
|
19
|
+
* it belongs to no family.
|
|
20
|
+
*/
|
|
21
|
+
export declare function markerFamilyOf(el: Element): MarkerFamily | null;
|
|
22
|
+
/** Whether the content-empty override paints `family` (`styles/editor.css`, same scoping). A
|
|
23
|
+
* reference label is resolution metadata rather than chrome a caret types against, so it stays
|
|
24
|
+
* hidden, and a container holding only labels has no paint to promise. */
|
|
25
|
+
export declare function familyPaintsAlone(family: MarkerFamily): boolean;
|
|
26
|
+
/** What a container does to the marker spans rendered into it. Minted only by the two readings
|
|
27
|
+
* below, so a call site states which question it is asking rather than two loose booleans. */
|
|
28
|
+
export interface VisibilityContext {
|
|
29
|
+
/** Whether marker spans drop at all — false in source mode, where every byte is on screen. */
|
|
30
|
+
readonly hidesMarkers: boolean;
|
|
31
|
+
/** Whether the container's chrome stands over no content and therefore paints anyway. */
|
|
32
|
+
readonly chromePaints: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* What the reader sees on a container painting under `mode`. `chromePaints` is that container's
|
|
36
|
+
* own stamp condition (live-mode.md § 4.1), which reading declines: it takes no keystrokes, so a
|
|
37
|
+
* construct with nothing behind its chrome may paint nothing there. The preview rungs' per-span
|
|
38
|
+
* reveal is DOM state and stays with the walk; this answers for an unrevealed container.
|
|
39
|
+
*/
|
|
40
|
+
export declare function screenVisibility(mode: PresentationMode, container: {
|
|
41
|
+
chromePaints: boolean;
|
|
42
|
+
}): VisibilityContext;
|
|
43
|
+
/**
|
|
44
|
+
* The content behind every marker family, whatever the container paints: the reading a rewrite's
|
|
45
|
+
* before/after conservation diff needs, since chrome folds the moment content arrives and a diff
|
|
46
|
+
* against the screen would read that fold as bytes lost. Sound only past a
|
|
47
|
+
* {@link paintsOnlyChrome} gate — over chrome the reader IS looking at, this reading calls those
|
|
48
|
+
* bytes unseen and licenses dropping them.
|
|
49
|
+
*/
|
|
50
|
+
export declare const CONTENT_VISIBILITY: VisibilityContext;
|
|
51
|
+
/** Whether a `family` span paints NOTHING under `ctx` — the one hiding rule, before any preview
|
|
52
|
+
* reveal. */
|
|
53
|
+
export declare function familyHidesText(family: MarkerFamily, ctx: VisibilityContext): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* One stretch of `raw` as the reader meets it. `text` is what it paints, which is not always
|
|
56
|
+
* `raw.slice(start, end)`: an atomic widget substitutes its own.
|
|
57
|
+
*/
|
|
58
|
+
export interface VisibleRun {
|
|
59
|
+
start: number;
|
|
60
|
+
end: number;
|
|
61
|
+
text: string;
|
|
62
|
+
visible: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* `nodes` as runs of raw bytes, each carrying what it paints under `ctx`. Read off the rendered
|
|
66
|
+
* DOM rather than derived per kind, because which bytes a construct shows only the painter
|
|
67
|
+
* answers (G4.33): a caller re-deriving that drifts from what paints, which is the only thing the
|
|
68
|
+
* answer is worth anything as. Top-level nodes render one at a time, so a CLIPPED list (a join
|
|
69
|
+
* seam's surviving side) keeps honest offsets instead of a running count that assumes contiguity.
|
|
70
|
+
*/
|
|
71
|
+
export declare function visibleRuns(nodes: readonly InlineNode[], raw: string, ctx: VisibilityContext, opts?: RenderInlineOptions): VisibleRun[];
|
|
72
|
+
/** The text a reader SEES for `nodes` — every run `ctx` leaves on screen, in source order. */
|
|
73
|
+
export declare function renderedText(nodes: readonly InlineNode[], raw: string, ctx: VisibilityContext, opts?: RenderInlineOptions): string;
|
|
74
|
+
/**
|
|
75
|
+
* Whether `nodes` are chrome standing over nothing, and therefore ALL on screen (live-mode.md
|
|
76
|
+
* § 4.1). The inline half of the content-empty stamp, for a seam with no DOM to read the stamp
|
|
77
|
+
* off: a license over bytes the reader never saw has nothing to claim here. A block's OWN chrome
|
|
78
|
+
* (a `## ` prefix, a fence line) sits outside the inline content range, so an empty one answers
|
|
79
|
+
* false and the surfaces that own it are unaffected.
|
|
80
|
+
*/
|
|
81
|
+
export declare function paintsOnlyChrome(nodes: readonly InlineNode[], raw: string, opts?: RenderInlineOptions): boolean;
|