@voithos-labs/aragonite 0.10.4 → 0.10.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/a11y-strings.d.ts +11 -5
- package/dist/a11y-strings.js +60 -5
- package/dist/action-contracts.d.ts +242 -155
- package/dist/action-contracts.js +2 -2
- package/dist/active-editor.d.ts +3 -3
- package/dist/active-editor.js +8 -9
- package/dist/ambient/ambient-dom.d.ts +2 -5
- package/dist/ambient/ambient-dom.js +16 -62
- package/dist/assert.js +6 -5
- package/dist/block-component.d.ts +135 -109
- package/dist/block-component.js +30 -22
- package/dist/block-id.d.ts +6 -10
- package/dist/block-id.js +25 -14
- package/dist/bounded-memo.d.ts +5 -5
- package/dist/bounded-memo.js +6 -6
- package/dist/components/BlockDragHandle.svelte +12 -21
- package/dist/components/BlockHost.svelte +56 -134
- package/dist/components/BlockList.svelte +22 -19
- package/dist/components/DecorationOverlay.svelte +9 -10
- package/dist/components/DecorationOverlay.svelte.d.ts +2 -2
- package/dist/components/Editor.svelte +603 -1126
- package/dist/components/Editor.svelte.d.ts +9 -20
- package/dist/components/GapCaret.svelte +26 -59
- package/dist/components/SelectionOverlay.svelte +26 -51
- package/dist/components/SelectionOverlay.svelte.d.ts +5 -3
- package/dist/components/TailInsert.svelte +8 -55
- package/dist/components/TailInsert.svelte.d.ts +4 -6
- package/dist/components/block-content-selector.d.ts +11 -11
- package/dist/components/block-content-selector.js +11 -11
- package/dist/components/block-el-lookup.d.ts +6 -0
- package/dist/components/block-el-lookup.js +27 -0
- package/dist/components/blocks/BlockquoteBlock.svelte +3 -3
- package/dist/components/blocks/ThematicBreakBlock.svelte +22 -63
- package/dist/components/blocks/ThematicBreakBlock.svelte.d.ts +0 -2
- package/dist/components/blocks/code/CodeBlock.svelte +255 -276
- package/dist/components/blocks/code/CodeBlock.svelte.d.ts +2 -3
- package/dist/components/blocks/code/CodeBlockRail.svelte +72 -87
- package/dist/components/blocks/code/CodeBlockRail.svelte.d.ts +9 -4
- package/dist/components/blocks/code/code-beforeinput.d.ts +1 -1
- package/dist/components/blocks/code/code-bootstrap.d.ts +3 -5
- package/dist/components/blocks/code/code-bootstrap.js +29 -34
- package/dist/components/blocks/code/code-context-actions.js +5 -4
- package/dist/components/blocks/code/code-enter.js +2 -2
- package/dist/components/blocks/code/code-fence-boundary.d.ts +29 -46
- package/dist/components/blocks/code/code-fence-boundary.js +40 -66
- package/dist/components/blocks/code/code-fence-exit.d.ts +6 -11
- package/dist/components/blocks/code/code-fence-exit.js +24 -25
- package/dist/components/blocks/code/code-indent.d.ts +2 -2
- package/dist/components/blocks/code/code-indent.js +4 -7
- package/dist/components/blocks/code/code-languages.d.ts +16 -12
- package/dist/components/blocks/code/code-languages.js +57 -39
- package/dist/components/blocks/code/code-paste-surface.d.ts +3 -2
- package/dist/components/blocks/code/code-paste-surface.js +9 -18
- package/dist/components/blocks/code/code-renderer.d.ts +21 -5
- package/dist/components/blocks/code/code-renderer.js +90 -125
- package/dist/components/blocks/directive/DirectiveContainerBlock.svelte +5 -8
- package/dist/components/blocks/directive/activate-directives.d.ts +4 -4
- package/dist/components/blocks/directive/activate-directives.js +18 -13
- package/dist/components/blocks/editable-leaf.d.ts +50 -74
- package/dist/components/blocks/editable-leaf.js +141 -203
- package/dist/components/blocks/editable-surface.d.ts +96 -100
- package/dist/components/blocks/editable-surface.js +101 -109
- package/dist/components/blocks/list/ListBlock.svelte +45 -90
- package/dist/components/blocks/list/ListItemBlock.svelte +93 -147
- package/dist/components/blocks/list/ListItemBlock.svelte.d.ts +1 -0
- package/dist/components/blocks/list/task-checkbox.d.ts +5 -2
- package/dist/components/blocks/list/task-checkbox.js +12 -7
- package/dist/components/blocks/plain-text-backend.d.ts +4 -20
- package/dist/components/blocks/plain-text-backend.js +9 -43
- package/dist/components/blocks/surface-wiring.svelte.d.ts +8 -9
- package/dist/components/blocks/surface-wiring.svelte.js +15 -34
- package/dist/components/blocks/table/TableActionMenu.svelte +19 -18
- package/dist/components/blocks/table/TableActionMenu.svelte.d.ts +3 -1
- package/dist/components/blocks/table/TableBlock.svelte +100 -165
- package/dist/components/blocks/table/TableBlock.svelte.d.ts +3 -3
- package/dist/components/blocks/table/TableCellBlock.svelte +307 -385
- package/dist/components/blocks/table/TableCellBlock.svelte.d.ts +1 -0
- package/dist/components/blocks/table/TableRowBlock.svelte +60 -104
- package/dist/components/blocks/table/TableRowBlock.svelte.d.ts +0 -1
- package/dist/components/blocks/table/cell-keydown-plan.d.ts +4 -9
- package/dist/components/blocks/table/cell-keydown-plan.js +8 -12
- package/dist/components/blocks/table/cell-pointer.d.ts +18 -23
- package/dist/components/blocks/table/cell-pointer.js +49 -71
- package/dist/components/blocks/table/cell-render.d.ts +24 -29
- package/dist/components/blocks/table/cell-render.js +29 -31
- package/dist/components/blocks/table/selected-cells.d.ts +7 -7
- package/dist/components/blocks/table/selected-cells.js +9 -13
- package/dist/components/blocks/table/table-caret-at-point.d.ts +4 -4
- package/dist/components/blocks/table/table-caret-at-point.js +5 -5
- package/dist/components/blocks/table/table-cell-paste.d.ts +5 -11
- package/dist/components/blocks/table/table-cell-paste.js +27 -43
- package/dist/components/blocks/table/table-drag-hit-test.js +2 -1
- package/dist/components/blocks/table/table-menu-model.d.ts +4 -8
- package/dist/components/blocks/table/table-menu-model.js +6 -10
- package/dist/components/blocks/table/table-navigation.js +2 -2
- package/dist/components/blocks/text/TextEditableBlock.svelte +392 -310
- package/dist/components/blocks/text/TextEditableBlock.svelte.d.ts +2 -1
- package/dist/components/blocks/text/auto-pair-record.d.ts +23 -0
- package/dist/components/blocks/text/auto-pair-record.js +51 -0
- package/dist/components/blocks/text/click-snap-guard.d.ts +8 -6
- package/dist/components/blocks/text/click-snap-guard.js +10 -7
- package/dist/components/blocks/text/composition-seat.d.ts +17 -14
- package/dist/components/blocks/text/composition-seat.js +11 -11
- package/dist/components/blocks/text/construct-edge-delete.d.ts +20 -20
- package/dist/components/blocks/text/construct-edge-delete.js +50 -65
- package/dist/components/blocks/text/construct-reveal.d.ts +16 -21
- package/dist/components/blocks/text/construct-reveal.js +13 -14
- package/dist/components/blocks/text/delimiter-autopair.d.ts +51 -34
- package/dist/components/blocks/text/delimiter-autopair.js +87 -103
- package/dist/components/blocks/text/edge-policy-dispatch.d.ts +44 -46
- package/dist/components/blocks/text/edge-policy-dispatch.js +150 -181
- package/dist/components/blocks/text/edge-seat.d.ts +17 -26
- package/dist/components/blocks/text/edge-seat.js +43 -70
- package/dist/components/blocks/text/link-at-point.d.ts +9 -9
- package/dist/components/blocks/text/link-at-point.js +12 -15
- package/dist/components/blocks/text/live-join-seam.d.ts +6 -9
- package/dist/components/blocks/text/live-join-seam.js +75 -112
- package/dist/components/blocks/text/live-selection-edit.d.ts +14 -43
- package/dist/components/blocks/text/live-selection-edit.js +32 -108
- package/dist/components/blocks/text/live-split-rebalance.d.ts +9 -13
- package/dist/components/blocks/text/live-split-rebalance.js +50 -67
- package/dist/components/blocks/text/marker-completion.d.ts +7 -12
- package/dist/components/blocks/text/marker-completion.js +17 -10
- package/dist/components/blocks/text/pending-mark-insert.d.ts +11 -18
- package/dist/components/blocks/text/pending-mark-insert.js +30 -49
- package/dist/components/blocks/text/screen-diff.d.ts +5 -15
- package/dist/components/blocks/text/screen-diff.js +5 -19
- package/dist/components/blocks/text/text-clipboard.d.ts +23 -32
- package/dist/components/blocks/text/text-clipboard.js +27 -32
- package/dist/components/blocks/text/text-keydown.d.ts +20 -30
- package/dist/components/blocks/text/text-keydown.js +54 -51
- package/dist/components/blocks/text/text-render.d.ts +25 -35
- package/dist/components/blocks/text/text-render.js +82 -61
- package/dist/components/blocks/text/widget-adjacency.d.ts +9 -9
- package/dist/components/blocks/text/widget-adjacency.js +17 -17
- package/dist/components/blocks/text/widget-interaction.d.ts +67 -43
- package/dist/components/blocks/text/widget-interaction.js +212 -199
- package/dist/components/blocks/widget-portal.d.ts +20 -29
- package/dist/components/blocks/widget-portal.js +16 -14
- package/dist/components/built-in-blocks.d.ts +3 -4
- package/dist/components/built-in-blocks.js +17 -18
- package/dist/components/drag-handle.d.ts +12 -35
- package/dist/components/drag-handle.js +22 -68
- package/dist/components/editor-built-ins.d.ts +1 -0
- package/dist/components/editor-built-ins.js +16 -0
- package/dist/components/editor-root-clipboard.d.ts +6 -6
- package/dist/components/editor-root-clipboard.js +16 -27
- package/dist/components/editor-root-document-swap.d.ts +49 -0
- package/dist/components/editor-root-document-swap.js +54 -0
- package/dist/components/editor-root-focus.d.ts +5 -4
- package/dist/components/editor-root-focus.js +51 -22
- package/dist/components/editor-root-focused-surface.d.ts +35 -0
- package/dist/components/editor-root-focused-surface.js +65 -0
- package/dist/components/editor-root-geometry.d.ts +15 -24
- package/dist/components/editor-root-geometry.js +27 -31
- package/dist/components/editor-root-gestures.d.ts +39 -0
- package/dist/components/editor-root-gestures.js +189 -0
- package/dist/components/editor-root-keydown.d.ts +10 -25
- package/dist/components/editor-root-keydown.js +19 -43
- package/dist/components/editor-root-listeners.d.ts +22 -24
- package/dist/components/editor-root-listeners.js +49 -24
- package/dist/components/editor-root-menus.d.ts +51 -0
- package/dist/components/editor-root-menus.js +147 -0
- package/dist/components/editor-root-mode-flip.d.ts +16 -11
- package/dist/components/editor-root-mode-flip.js +36 -34
- package/dist/components/editor-root-scroll-host.d.ts +22 -0
- package/dist/components/editor-root-scroll-host.js +34 -0
- package/dist/components/editor-root-test-surface.d.ts +48 -0
- package/dist/components/editor-root-test-surface.js +6 -0
- package/dist/components/image/ImageOverlayHost.svelte +44 -35
- package/dist/components/image/ImageOverlayHost.svelte.d.ts +5 -6
- package/dist/components/image/ImageProperties.svelte +37 -41
- package/dist/components/image/ImageProperties.svelte.d.ts +9 -4
- package/dist/components/image/ImageResizeHandles.svelte +14 -26
- package/dist/components/image/image-crop.d.ts +5 -11
- package/dist/components/image/image-crop.js +5 -11
- package/dist/components/image/image-edit-commit.d.ts +19 -16
- package/dist/components/image/image-edit-commit.js +74 -38
- package/dist/components/image/image-resize.d.ts +2 -5
- package/dist/components/image/image-resize.js +3 -6
- package/dist/components/image/image-widget-editing.d.ts +3 -3
- package/dist/components/image/image-widget-editing.js +9 -9
- package/dist/components/image/widget-dom.d.ts +2 -3
- package/dist/components/image/widget-dom.js +19 -24
- package/dist/components/image/widget-selection-state.svelte.d.ts +10 -11
- package/dist/components/image/widget-selection-state.svelte.js +26 -19
- package/dist/components/kind-cue.svelte.d.ts +21 -0
- package/dist/components/kind-cue.svelte.js +35 -0
- package/dist/components/link-card/LinkCard.svelte +115 -64
- package/dist/components/link-card/LinkCard.svelte.d.ts +7 -5
- package/dist/components/link-card/LinkCardHost.svelte +42 -33
- package/dist/components/link-card/LinkCardHost.svelte.d.ts +10 -8
- package/dist/components/link-card/link-card-commit.d.ts +16 -19
- package/dist/components/link-card/link-card-commit.js +21 -30
- package/dist/components/link-card/link-card-entry.d.ts +13 -23
- package/dist/components/link-card/link-card-entry.js +16 -24
- package/dist/components/link-card/link-card-state.svelte.d.ts +17 -21
- package/dist/components/link-card/link-card-state.svelte.js +2 -2
- package/dist/components/lrd-map-gate.d.ts +4 -11
- package/dist/components/lrd-map-gate.js +5 -11
- package/dist/components/menu/BlockMenu.svelte +20 -81
- package/dist/components/menu/BlockMenu.svelte.d.ts +11 -9
- package/dist/components/menu/InlineMenuHost.svelte +191 -0
- package/dist/components/menu/InlineMenuHost.svelte.d.ts +13 -0
- package/dist/components/menu/MenuIcon.svelte +3 -103
- package/dist/components/menu/MenuIcon.svelte.d.ts +2 -44
- package/dist/components/menu/SelectionToolbar.svelte +30 -35
- package/dist/components/menu/SelectionToolbar.svelte.d.ts +3 -5
- package/dist/components/menu/clipboard-actions.d.ts +3 -4
- package/dist/components/menu/clipboard-actions.js +3 -4
- package/dist/components/menu/default-context-actions.d.ts +4 -13
- package/dist/components/menu/default-context-actions.js +49 -67
- package/dist/components/menu/flyout-placement.d.ts +2 -2
- package/dist/components/menu/flyout-placement.js +2 -2
- package/dist/components/menu/menu-presence.svelte.d.ts +12 -0
- package/dist/components/menu/menu-presence.svelte.js +19 -0
- package/dist/components/paste-image-arm.d.ts +6 -11
- package/dist/components/paste-image-arm.js +11 -18
- package/dist/components/portal.d.ts +2 -5
- package/dist/components/portal.js +4 -7
- package/dist/core/directive/activate.d.ts +4 -5
- package/dist/core/directive/activate.js +8 -9
- package/dist/core/directive/container-opener.js +13 -12
- package/dist/core/directive/grammar.d.ts +2 -5
- package/dist/core/directive/grammar.js +10 -10
- package/dist/core/directive/kinds.d.ts +4 -7
- package/dist/core/directive/kinds.js +14 -16
- package/dist/core/directive/registry.d.ts +12 -9
- package/dist/core/directive/registry.js +19 -20
- package/dist/core/directive/text-recognizer.d.ts +3 -2
- package/dist/core/directive/text-recognizer.js +5 -9
- package/dist/core/escapable.d.ts +1 -5
- package/dist/core/escapable.js +1 -5
- package/dist/core/inline/backticks.d.ts +3 -4
- package/dist/core/inline/backticks.js +3 -4
- package/dist/core/inline/character-refs.js +2 -1
- package/dist/core/inline/destination-bytes.d.ts +6 -3
- package/dist/core/inline/destination-bytes.js +50 -8
- package/dist/core/inline/entity-widget.d.ts +4 -3
- package/dist/core/inline/entity-widget.js +6 -6
- package/dist/core/inline/format-toggle.d.ts +22 -28
- package/dist/core/inline/format-toggle.js +97 -129
- package/dist/core/inline/html-entities.d.ts +2 -3
- package/dist/core/inline/html-entities.js +2 -3
- package/dist/core/inline/html-tag-grammar.js +6 -2
- package/dist/core/inline/image-dimensions.d.ts +2 -0
- package/dist/core/inline/image-dimensions.js +19 -2
- package/dist/core/inline/image-source-bytes.d.ts +11 -0
- package/dist/core/inline/image-source-bytes.js +71 -0
- package/dist/core/inline/index.d.ts +28 -21
- package/dist/core/inline/index.js +56 -34
- package/dist/core/inline/inline-cache.d.ts +12 -15
- package/dist/core/inline/inline-cache.js +11 -14
- package/dist/core/inline/inline-widgets.d.ts +54 -75
- package/dist/core/inline/inline-widgets.js +54 -62
- package/dist/core/inline/link-destination.d.ts +31 -0
- package/dist/core/inline/link-destination.js +129 -0
- package/dist/core/inline/link-reference-resolver.d.ts +8 -6
- package/dist/core/inline/link-reference-resolver.js +10 -6
- package/dist/core/inline/link-source-bytes.d.ts +31 -0
- package/dist/{components/blocks/text → core/inline}/link-source-bytes.js +43 -54
- package/dist/core/inline/live-edit/read-back.d.ts +29 -0
- package/dist/core/inline/live-edit/read-back.js +50 -0
- package/dist/core/inline/picture.d.ts +10 -0
- package/dist/core/inline/picture.js +40 -0
- package/dist/core/inline/scan/autolinks.d.ts +7 -8
- package/dist/core/inline/scan/autolinks.js +80 -59
- package/dist/core/inline/scan/brackets.d.ts +2 -2
- package/dist/core/inline/scan/brackets.js +6 -103
- package/dist/core/inline/scan/code-spans.d.ts +4 -0
- package/dist/core/inline/scan/code-spans.js +8 -0
- package/dist/core/inline/scan/emphasis.js +10 -14
- package/dist/core/inline/scan/index.d.ts +3 -1
- package/dist/core/inline/scan/index.js +32 -33
- package/dist/core/inline/scan/plugin-syntax.d.ts +28 -36
- package/dist/core/inline/scan/plugin-syntax.js +75 -89
- package/dist/core/inline/scan/scan-state.d.ts +2 -0
- package/dist/core/inline/scan/scan-state.js +1 -0
- package/dist/core/inline/scan/simple-nodes.d.ts +2 -5
- package/dist/core/inline/scan/simple-nodes.js +2 -5
- package/dist/core/inline/scan/triggers.d.ts +17 -0
- package/dist/core/inline/scan/triggers.js +26 -0
- package/dist/core/inline/scan/url.js +8 -10
- package/dist/core/inline/transparency.d.ts +2 -1
- package/dist/core/inline/transparency.js +31 -15
- package/dist/core/inline/visibility.d.ts +30 -49
- package/dist/core/inline/visibility.js +31 -49
- package/dist/core/inline/walk.d.ts +4 -10
- package/dist/core/inline/walk.js +4 -10
- package/dist/core/inline-render.d.ts +22 -27
- package/dist/core/inline-render.js +51 -60
- package/dist/core/lines.d.ts +67 -26
- package/dist/core/lines.js +164 -33
- package/dist/core/metadata-parity.d.ts +9 -0
- package/dist/core/metadata-parity.js +25 -0
- package/dist/core/node-views.d.ts +7 -6
- package/dist/core/node-views.js +5 -5
- package/dist/core/nodes.d.ts +34 -44
- package/dist/core/nodes.js +4 -12
- package/dist/core/parser.d.ts +27 -34
- package/dist/core/parser.js +53 -67
- package/dist/core/parsers/blockquote.d.ts +5 -8
- package/dist/core/parsers/blockquote.js +11 -10
- package/dist/core/parsers/built-in-openers.d.ts +2 -5
- package/dist/core/parsers/built-in-openers.js +5 -8
- package/dist/core/parsers/fence-syntax.d.ts +36 -7
- package/dist/core/parsers/fence-syntax.js +61 -11
- package/dist/core/parsers/fenced-code.d.ts +16 -0
- package/dist/core/parsers/fenced-code.js +16 -15
- package/dist/core/parsers/heading.d.ts +19 -2
- package/dist/core/parsers/heading.js +50 -2
- package/dist/core/parsers/html-block.d.ts +3 -6
- package/dist/core/parsers/html-block.js +10 -11
- package/dist/core/parsers/indented-code.d.ts +1 -1
- package/dist/core/parsers/indented-code.js +2 -8
- package/dist/core/parsers/link-reference.d.ts +5 -3
- package/dist/core/parsers/link-reference.js +116 -120
- package/dist/core/parsers/list.d.ts +12 -5
- package/dist/core/parsers/list.js +53 -36
- package/dist/core/parsers/paragraph.d.ts +3 -3
- package/dist/core/parsers/paragraph.js +14 -5
- package/dist/core/parsers/table-completion.d.ts +2 -5
- package/dist/core/parsers/table-completion.js +7 -10
- package/dist/core/parsers/table.d.ts +8 -8
- package/dist/core/parsers/table.js +23 -26
- package/dist/core/parsers/thematic-break.js +15 -14
- package/dist/core/paths.d.ts +13 -0
- package/dist/core/paths.js +31 -0
- package/dist/core/terminator-escalation.d.ts +0 -7
- package/dist/core/terminator-escalation.js +5 -8
- package/dist/core/url-policy.d.ts +2 -5
- package/dist/core/url-policy.js +8 -12
- package/dist/cursor/caret-memory.d.ts +34 -0
- package/dist/cursor/caret-memory.js +82 -0
- package/dist/cursor/coordinate-spaces.d.ts +26 -19
- package/dist/cursor/coordinate-spaces.js +32 -20
- package/dist/cursor/dom-walk.d.ts +7 -13
- package/dist/cursor/dom-walk.js +7 -13
- package/dist/cursor/edge-affinity.d.ts +7 -35
- package/dist/cursor/edge-affinity.js +13 -44
- package/dist/cursor/focused-caret.d.ts +6 -8
- package/dist/cursor/focused-caret.js +7 -16
- package/dist/cursor/height-model.d.ts +3 -3
- package/dist/cursor/height-model.js +5 -5
- package/dist/cursor/height-oracle.d.ts +10 -6
- package/dist/cursor/height-oracle.js +26 -74
- package/dist/cursor/observe-resize.d.ts +13 -0
- package/dist/cursor/observe-resize.js +43 -0
- package/dist/cursor/overlay-rects.d.ts +2 -5
- package/dist/cursor/overlay-rects.js +2 -5
- package/dist/cursor/overlay-remeasure.d.ts +6 -7
- package/dist/cursor/overlay-remeasure.js +10 -14
- package/dist/cursor/pending-marks.d.ts +7 -9
- package/dist/cursor/pending-marks.js +6 -27
- package/dist/cursor/point-offset.d.ts +16 -10
- package/dist/cursor/point-offset.js +60 -25
- package/dist/cursor/reveal-source.d.ts +7 -11
- package/dist/cursor/reveal-source.js +10 -18
- package/dist/cursor/scroll-ancestors.d.ts +9 -20
- package/dist/cursor/scroll-ancestors.js +14 -26
- package/dist/cursor/scroll-owner.d.ts +92 -0
- package/dist/cursor/scroll-owner.js +283 -0
- package/dist/cursor/scrollport.d.ts +14 -15
- package/dist/cursor/scrollport.js +7 -13
- package/dist/cursor/sticky-column.d.ts +6 -29
- package/dist/cursor/sticky-column.js +6 -49
- package/dist/cursor/sticky-measure.d.ts +14 -9
- package/dist/cursor/sticky-measure.js +99 -49
- package/dist/cursor/surface-backend.d.ts +41 -0
- package/dist/cursor/surface-backend.js +78 -0
- package/dist/cursor/typography-estimates.d.ts +3 -3
- package/dist/cursor/typography-estimates.js +3 -3
- package/dist/cursor/visual-lines.d.ts +25 -14
- package/dist/cursor/visual-lines.js +45 -46
- package/dist/cursor/widget-edge-snap.d.ts +10 -15
- package/dist/cursor/widget-edge-snap.js +13 -12
- package/dist/cursor/widget-offset.d.ts +110 -104
- package/dist/cursor/widget-offset.js +344 -179
- package/dist/debug/diagnostics-report.d.ts +6 -6
- package/dist/debug/diagnostics-report.js +5 -5
- package/dist/debug/dump-tree.js +2 -2
- package/dist/debug/editor-diagnostics.d.ts +15 -0
- package/dist/debug/editor-diagnostics.js +33 -0
- package/dist/debug/inspect.d.ts +2 -2
- package/dist/debug/inspect.js +4 -4
- package/dist/debug/interaction-trace.d.ts +14 -15
- package/dist/debug/interaction-trace.js +19 -20
- package/dist/debug/operations-log.d.ts +1 -1
- package/dist/debug/operations-log.js +1 -1
- package/dist/decorations/buckets.d.ts +6 -12
- package/dist/decorations/buckets.js +4 -11
- package/dist/decorations/decoration-state.svelte.d.ts +2 -3
- package/dist/decorations/decoration-state.svelte.js +24 -26
- package/dist/decorations/island-dom.d.ts +10 -18
- package/dist/decorations/island-dom.js +25 -50
- package/dist/decorations/reserved-attrs.d.ts +6 -8
- package/dist/decorations/reserved-attrs.js +30 -17
- package/dist/decorations/types.d.ts +6 -7
- package/dist/decorations/types.js +2 -1
- package/dist/decorations/use-block-decorations.svelte.d.ts +19 -0
- package/dist/decorations/use-block-decorations.svelte.js +71 -0
- package/dist/decorations/widget-dom.d.ts +3 -3
- package/dist/decorations/widget-dom.js +5 -5
- package/dist/dev-warn.d.ts +5 -2
- package/dist/dev-warn.js +16 -4
- package/dist/editor-actions/ancestry-folds.d.ts +9 -14
- package/dist/editor-actions/ancestry-folds.js +13 -18
- package/dist/editor-actions/block-edit-core.d.ts +49 -22
- package/dist/editor-actions/block-edit-core.js +279 -151
- package/dist/editor-actions/block-edit-scope.d.ts +63 -50
- package/dist/editor-actions/block-edit-scope.js +100 -48
- package/dist/editor-actions/block-edit.d.ts +2 -3
- package/dist/editor-actions/block-edit.js +14 -90
- package/dist/editor-actions/commit/history.d.ts +4 -4
- package/dist/editor-actions/commit/history.js +33 -34
- package/dist/editor-actions/commit/reading-write-gate.d.ts +18 -0
- package/dist/editor-actions/commit/reading-write-gate.js +56 -0
- package/dist/editor-actions/commit/text-batch.d.ts +7 -11
- package/dist/editor-actions/commit/text-batch.js +6 -7
- package/dist/editor-actions/commit/undo-controller.d.ts +6 -4
- package/dist/editor-actions/commit/undo-controller.js +346 -216
- package/dist/editor-actions/container-block-component.d.ts +32 -51
- package/dist/editor-actions/container-block-component.js +66 -92
- package/dist/editor-actions/container-edit.d.ts +4 -2
- package/dist/editor-actions/container-edit.js +14 -44
- package/dist/editor-actions/container-exit-overrides.d.ts +6 -4
- package/dist/editor-actions/container-exit-overrides.js +19 -21
- package/dist/editor-actions/deps.d.ts +25 -32
- package/dist/editor-actions/enter-completion.d.ts +12 -15
- package/dist/editor-actions/enter-completion.js +49 -51
- package/dist/editor-actions/focus/focus-dispatch.d.ts +24 -25
- package/dist/editor-actions/focus/focus-dispatch.js +28 -50
- package/dist/editor-actions/focus/focus-landing.d.ts +8 -11
- package/dist/editor-actions/focus/focus-landing.js +15 -14
- package/dist/editor-actions/focus/focus.d.ts +3 -2
- package/dist/editor-actions/focus/focus.js +42 -59
- package/dist/editor-actions/index.d.ts +4 -3
- package/dist/editor-actions/index.js +5 -4
- package/dist/editor-actions/inline-range-commit.d.ts +18 -16
- package/dist/editor-actions/inline-range-commit.js +45 -54
- package/dist/editor-actions/leaf-write.d.ts +11 -0
- package/dist/editor-actions/leaf-write.js +102 -0
- package/dist/editor-actions/list-context.d.ts +9 -10
- package/dist/editor-actions/list-context.js +115 -110
- package/dist/editor-actions/list-overrides.d.ts +13 -5
- package/dist/editor-actions/list-overrides.js +36 -12
- package/dist/editor-actions/merge-fallback.d.ts +10 -16
- package/dist/editor-actions/merge-fallback.js +11 -22
- package/dist/editor-actions/nested/container-actions.d.ts +37 -0
- package/dist/editor-actions/nested/container-actions.js +42 -0
- package/dist/editor-actions/nested/emptied-container.d.ts +5 -0
- package/dist/editor-actions/nested/emptied-container.js +5 -0
- package/dist/editor-actions/nested/nested-actions.d.ts +22 -25
- package/dist/editor-actions/nested/nested-actions.js +17 -15
- package/dist/editor-actions/nested/nested-block-edit.d.ts +3 -4
- package/dist/editor-actions/nested/nested-block-edit.js +40 -134
- package/dist/editor-actions/nested/nested-focus.d.ts +2 -3
- package/dist/editor-actions/nested/nested-focus.js +33 -21
- package/dist/editor-actions/paste-coordinator.d.ts +3 -2
- package/dist/editor-actions/paste-coordinator.js +17 -13
- package/dist/editor-actions/plugin/chrome-leaf.d.ts +11 -9
- package/dist/editor-actions/plugin/chrome-leaf.js +14 -13
- package/dist/editor-actions/plugin/container.d.ts +54 -82
- package/dist/editor-actions/plugin/container.js +105 -188
- package/dist/editor-actions/plugin/directive-container.d.ts +4 -4
- package/dist/editor-actions/plugin/directive-container.js +7 -8
- package/dist/editor-actions/reorder-action.d.ts +7 -12
- package/dist/editor-actions/reorder-action.js +32 -48
- package/dist/editor-actions/reorder-drag.d.ts +12 -8
- package/dist/editor-actions/reorder-drag.js +45 -41
- package/dist/editor-actions/replacement-focus.d.ts +13 -21
- package/dist/editor-actions/replacement-focus.js +32 -33
- package/dist/editor-actions/search-replace.js +71 -67
- package/dist/editor-actions/stored-caret.d.ts +7 -0
- package/dist/editor-actions/stored-caret.js +10 -0
- package/dist/editor-actions/table-context.d.ts +9 -11
- package/dist/editor-actions/table-context.js +70 -93
- package/dist/editor-actions/unwrap-strategies.d.ts +4 -5
- package/dist/editor-actions/unwrap-strategies.js +52 -63
- package/dist/editor-actions/whole-block-focus-surface.d.ts +19 -28
- package/dist/editor-actions/whole-block-focus-surface.js +43 -53
- package/dist/editor-events.d.ts +25 -29
- package/dist/editor-events.js +17 -28
- package/dist/editor-keys.d.ts +96 -104
- package/dist/editor-keys.js +11 -24
- package/dist/editor-props.d.ts +88 -71
- package/dist/editor-rects.d.ts +23 -34
- package/dist/editor-rects.js +9 -77
- package/dist/env.d.ts +6 -4
- package/dist/env.js +8 -4
- package/dist/index.d.ts +6 -2
- package/dist/index.js +5 -2
- package/dist/inline-menu/inline-menu-session.d.ts +37 -0
- package/dist/inline-menu/inline-menu-session.js +98 -0
- package/dist/inline-menu/inline-menu-state.svelte.d.ts +63 -0
- package/dist/inline-menu/inline-menu-state.svelte.js +409 -0
- package/dist/inline-menu/types.d.ts +77 -0
- package/dist/inline-menu/types.js +7 -0
- package/dist/invariants/child-id-parity.d.ts +23 -0
- package/dist/invariants/child-id-parity.js +39 -0
- package/dist/invariants/commit-paths.d.ts +4 -4
- package/dist/invariants/commit-paths.js +4 -4
- package/dist/invariants/commit-scope.d.ts +4 -4
- package/dist/invariants/commit-scope.js +9 -8
- package/dist/invariants/context-keys.d.ts +2 -5
- package/dist/invariants/context-keys.js +3 -6
- package/dist/invariants/descriptor.d.ts +2 -6
- package/dist/invariants/descriptor.js +2 -6
- package/dist/invariants/inline-transitions.d.ts +9 -16
- package/dist/invariants/inline-transitions.js +10 -18
- package/dist/invariants/install.d.ts +18 -27
- package/dist/invariants/install.js +29 -30
- package/dist/invariants/keeps-a-block.d.ts +7 -0
- package/dist/invariants/keeps-a-block.js +14 -0
- package/dist/invariants/landable-caret.d.ts +5 -7
- package/dist/invariants/landable-caret.js +8 -11
- package/dist/invariants/landing-focus-scroll.d.ts +7 -0
- package/dist/invariants/landing-focus-scroll.js +13 -0
- package/dist/invariants/landing-value.d.ts +13 -0
- package/dist/invariants/landing-value.js +27 -0
- package/dist/invariants/marker-css-parity.d.ts +5 -6
- package/dist/invariants/marker-css-parity.js +11 -12
- package/dist/invariants/measures-in-own-list.d.ts +6 -0
- package/dist/invariants/measures-in-own-list.js +13 -0
- package/dist/invariants/node-shape.d.ts +18 -37
- package/dist/invariants/node-shape.js +123 -79
- package/dist/invariants/open-tail.d.ts +7 -0
- package/dist/invariants/open-tail.js +45 -0
- package/dist/invariants/placement-ends-widget.d.ts +8 -0
- package/dist/invariants/placement-ends-widget.js +13 -0
- package/dist/invariants/registry.d.ts +27 -66
- package/dist/invariants/registry.js +61 -137
- package/dist/invariants/render-fidelity.d.ts +4 -4
- package/dist/invariants/render-fidelity.js +5 -5
- package/dist/invariants/selection-endpoints.d.ts +6 -7
- package/dist/invariants/selection-endpoints.js +18 -16
- package/dist/invariants/single-node-sink.d.ts +4 -5
- package/dist/invariants/single-node-sink.js +4 -5
- package/dist/invariants/snapshot-integrity.d.ts +5 -6
- package/dist/invariants/snapshot-integrity.js +1 -1
- package/dist/invariants/structural-descriptor.d.ts +6 -15
- package/dist/invariants/structural-descriptor.js +6 -15
- package/dist/menu-icons.d.ts +47 -0
- package/dist/menu-icons.js +113 -0
- package/dist/perf/instruments.d.ts +20 -5
- package/dist/perf/instruments.js +35 -15
- package/dist/perf/use-mount-gauge.svelte.js +4 -4
- package/dist/plugin.d.ts +37 -8
- package/dist/plugin.js +100 -77
- package/dist/plugins/admonitions/AdmonitionBlock.svelte +14 -11
- package/dist/plugins/admonitions/admonition-kind.js +12 -10
- package/dist/plugins/admonitions/convert-document.d.ts +5 -5
- package/dist/plugins/admonitions/convert-document.js +8 -7
- package/dist/plugins/admonitions/gh-alert.d.ts +8 -1
- package/dist/plugins/admonitions/gh-alert.js +21 -22
- package/dist/plugins/admonitions/github-alert-kind.d.ts +5 -7
- package/dist/plugins/admonitions/github-alert-kind.js +28 -37
- package/dist/plugins/admonitions/index.js +2 -2
- package/dist/plugins/admonitions/kinds.d.ts +1 -1
- package/dist/plugins/admonitions/register.js +11 -2
- package/dist/plugins/details/DetailsBlock.svelte +20 -20
- package/dist/plugins/details/details-disclosure.svelte.d.ts +5 -6
- package/dist/plugins/details/details-disclosure.svelte.js +6 -7
- package/dist/plugins/details/details-kind.d.ts +6 -7
- package/dist/plugins/details/details-kind.js +44 -59
- package/dist/plugins/emoji/emoji-recognizer.d.ts +4 -7
- package/dist/plugins/emoji/emoji-recognizer.js +7 -14
- package/dist/plugins/footnotes/FootnoteDefinition.svelte +33 -16
- package/dist/plugins/footnotes/FootnoteReference.svelte +39 -19
- package/dist/plugins/footnotes/constants.d.ts +2 -0
- package/dist/plugins/footnotes/constants.js +3 -0
- package/dist/plugins/footnotes/footnote-definition.d.ts +8 -6
- package/dist/plugins/footnotes/footnote-definition.js +69 -45
- package/dist/plugins/footnotes/footnote-lookup.d.ts +3 -3
- package/dist/plugins/footnotes/footnote-lookup.js +14 -26
- package/dist/plugins/footnotes/footnote-numbering.d.ts +11 -11
- package/dist/plugins/footnotes/footnote-numbering.js +22 -31
- package/dist/plugins/footnotes/footnote-reference.d.ts +4 -4
- package/dist/plugins/footnotes/footnote-reference.js +8 -13
- package/dist/plugins/footnotes/index.js +2 -3
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.d.ts +5 -8
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.js +8 -3
- package/dist/plugins/highlight-occurrences/occurrence-source.d.ts +10 -12
- package/dist/plugins/highlight-occurrences/occurrence-source.js +21 -18
- package/dist/plugins/highlight-occurrences/occurrences.d.ts +11 -11
- package/dist/plugins/highlight-occurrences/occurrences.js +14 -36
- package/dist/plugins/highlight-occurrences/word-char.d.ts +1 -0
- package/dist/plugins/highlight-occurrences/word-char.js +4 -0
- package/dist/plugins/latex/BlockMath.svelte +58 -75
- package/dist/plugins/latex/BlockMath.svelte.d.ts +2 -4
- package/dist/plugins/latex/MathInline.svelte +10 -9
- package/dist/plugins/latex/flanking.d.ts +1 -0
- package/dist/plugins/latex/flanking.js +3 -0
- package/dist/plugins/latex/index.d.ts +1 -1
- package/dist/plugins/latex/latex-kind.d.ts +4 -4
- package/dist/plugins/latex/latex-kind.js +78 -67
- package/dist/plugins/latex/math-completion.d.ts +1 -1
- package/dist/plugins/latex/math-completion.js +5 -8
- package/dist/plugins/latex/math-layout.d.ts +2 -8
- package/dist/plugins/latex/math-layout.js +0 -9
- package/dist/plugins/latex/math-renderer.d.ts +17 -20
- package/dist/plugins/latex/math-renderer.js +21 -38
- package/dist/plugins/latex/math-source.d.ts +4 -8
- package/dist/plugins/latex/math-source.js +36 -81
- package/dist/plugins/latex/register.d.ts +10 -11
- package/dist/plugins/latex/register.js +24 -10
- package/dist/plugins/latex/renderer.d.ts +9 -10
- package/dist/plugins/latex/renderer.js +9 -24
- package/dist/plugins/mermaid/MermaidBlock.svelte +51 -45
- package/dist/plugins/mermaid/index.js +1 -1
- package/dist/plugins/mermaid/mermaid-kind.d.ts +4 -7
- package/dist/plugins/mermaid/mermaid-kind.js +30 -47
- package/dist/plugins/mermaid/mermaid-renderer.d.ts +9 -16
- package/dist/plugins/mermaid/mermaid-renderer.js +12 -31
- package/dist/plugins/mermaid/register.d.ts +3 -3
- package/dist/plugins/mermaid/register.js +5 -5
- package/dist/plugins/mermaid/renderer.d.ts +5 -5
- package/dist/plugins/mermaid/renderer.js +8 -11
- package/dist/plugins/parrot/ParrotBlock.svelte +15 -6
- package/dist/plugins/parrot/ParrotBlock.svelte.d.ts +2 -2
- package/dist/plugins/parrot/parrot-plugin.js +3 -3
- package/dist/plugins/slash-commands/filter.d.ts +23 -0
- package/dist/plugins/slash-commands/filter.js +31 -0
- package/dist/plugins/slash-commands/index.d.ts +2 -0
- package/dist/plugins/slash-commands/index.js +2 -0
- package/dist/plugins/slash-commands/slash-commands-plugin.d.ts +12 -0
- package/dist/plugins/slash-commands/slash-commands-plugin.js +40 -0
- package/dist/plugins/slash-commands/slash-source.d.ts +36 -0
- package/dist/plugins/slash-commands/slash-source.js +108 -0
- package/dist/plugins/toc/TocBlock.svelte +23 -22
- package/dist/plugins/toc/TocBlock.svelte.d.ts +2 -3
- package/dist/plugins/toc/heading-outline.d.ts +7 -12
- package/dist/plugins/toc/heading-outline.js +22 -36
- package/dist/plugins/toc/navigation-queue.d.ts +2 -4
- package/dist/plugins/toc/toc-plugin.d.ts +5 -5
- package/dist/plugins/toc/toc-plugin.js +20 -13
- package/dist/presentation-mode.d.ts +15 -23
- package/dist/presentation-mode.js +19 -25
- package/dist/reactivity/block-list-state.svelte.d.ts +9 -11
- package/dist/reactivity/block-list-state.svelte.js +8 -9
- package/dist/reactivity/block-window.svelte.d.ts +12 -6
- package/dist/reactivity/block-window.svelte.js +44 -17
- package/dist/reactivity/child-list.d.ts +34 -0
- package/dist/reactivity/child-list.js +48 -0
- package/dist/reactivity/content-version.svelte.d.ts +4 -7
- package/dist/reactivity/content-version.svelte.js +3 -5
- package/dist/reactivity/hold-across.d.ts +39 -0
- package/dist/reactivity/hold-across.js +57 -0
- package/dist/reactivity/layout-state.svelte.d.ts +27 -0
- package/dist/reactivity/layout-state.svelte.js +51 -0
- package/dist/reactivity/list-tree.d.ts +39 -0
- package/dist/reactivity/list-tree.js +132 -0
- package/dist/reactivity/list-windowing.svelte.d.ts +50 -71
- package/dist/reactivity/list-windowing.svelte.js +141 -310
- package/dist/reactivity/measure-batch.d.ts +6 -8
- package/dist/reactivity/measure-batch.js +5 -6
- package/dist/reactivity/publish-ref.svelte.d.ts +16 -41
- package/dist/reactivity/publish-ref.svelte.js +21 -85
- package/dist/reactivity/scope-geometry.d.ts +6 -13
- package/dist/reactivity/scope-geometry.js +7 -14
- package/dist/reactivity/state-registry.d.ts +5 -5
- package/dist/reactivity/state-registry.js +11 -15
- package/dist/reactivity/use-container-windowing.svelte.d.ts +13 -26
- package/dist/reactivity/use-container-windowing.svelte.js +64 -74
- package/dist/reactivity/use-measured-child.svelte.d.ts +10 -0
- package/dist/reactivity/use-measured-child.svelte.js +41 -0
- package/dist/reactivity/use-window-floor.svelte.d.ts +2 -0
- package/dist/reactivity/use-window-floor.svelte.js +27 -0
- package/dist/reactivity/window-slice.d.ts +4 -4
- package/dist/reactivity/window-slice.js +0 -2
- package/dist/renderer-slot.d.ts +48 -0
- package/dist/renderer-slot.js +85 -0
- package/dist/scan-index.d.ts +4 -4
- package/dist/scan-index.js +4 -4
- package/dist/schema/block-commands.d.ts +69 -54
- package/dist/schema/block-commands.js +91 -104
- package/dist/schema/block-completions.d.ts +16 -19
- package/dist/schema/block-completions.js +25 -32
- package/dist/schema/block-component-registry.d.ts +13 -14
- package/dist/schema/block-component-registry.js +19 -17
- package/dist/schema/block-kind-descriptor.d.ts +234 -168
- package/dist/schema/block-kind-descriptor.js +151 -66
- package/dist/schema/block-openers.d.ts +48 -39
- package/dist/schema/block-openers.js +73 -83
- package/dist/schema/built-in-descriptors.d.ts +3 -5
- package/dist/schema/built-in-descriptors.js +96 -80
- package/dist/schema/child-spans.d.ts +12 -10
- package/dist/schema/child-spans.js +68 -34
- package/dist/schema/closure.d.ts +18 -16
- package/dist/schema/closure.js +24 -14
- package/dist/schema/command-id.d.ts +6 -8
- package/dist/schema/command-id.js +20 -25
- package/dist/schema/commands.d.ts +78 -84
- package/dist/schema/commands.js +152 -117
- package/dist/schema/container-raw.d.ts +51 -11
- package/dist/schema/container-raw.js +143 -14
- package/dist/schema/container-rebuilders.d.ts +17 -15
- package/dist/schema/container-rebuilders.js +30 -22
- package/dist/schema/context-actions.d.ts +25 -13
- package/dist/schema/context-actions.js +32 -17
- package/dist/schema/define-plugin-block.d.ts +8 -6
- package/dist/schema/define-plugin-block.js +6 -4
- package/dist/schema/fenced-code-raw.d.ts +30 -17
- package/dist/schema/fenced-code-raw.js +155 -107
- package/dist/schema/global-commands.d.ts +6 -6
- package/dist/schema/global-commands.js +14 -22
- package/dist/schema/height-estimates.d.ts +31 -0
- package/dist/schema/height-estimates.js +64 -0
- package/dist/schema/inline-construct-policy.d.ts +42 -55
- package/dist/schema/inline-construct-policy.js +36 -35
- package/dist/schema/insert-catalogue.d.ts +30 -0
- package/dist/schema/insert-catalogue.js +95 -0
- package/dist/schema/keybinding-overrides.d.ts +9 -11
- package/dist/schema/keybinding-overrides.js +1 -1
- package/dist/schema/keybindings.d.ts +15 -7
- package/dist/schema/keybindings.js +21 -9
- package/dist/schema/merge-rules.d.ts +5 -7
- package/dist/schema/merge-rules.js +7 -9
- package/dist/schema/opener-priorities.d.ts +4 -4
- package/dist/schema/opener-priorities.js +4 -4
- package/dist/schema/operations.d.ts +8 -10
- package/dist/schema/operations.js +3 -3
- package/dist/schema/page-role.d.ts +14 -0
- package/dist/schema/page-role.js +19 -0
- package/dist/schema/plugin-activation.d.ts +4 -6
- package/dist/schema/plugin-activation.js +12 -10
- package/dist/schema/plugin-editor-context.d.ts +25 -10
- package/dist/schema/plugin-editor-context.js +40 -9
- package/dist/schema/plugin-install.d.ts +49 -17
- package/dist/schema/plugin-install.js +51 -25
- package/dist/schema/plugin-kind.d.ts +12 -8
- package/dist/schema/plugin-kind.js +35 -42
- package/dist/schema/plugin-name.js +3 -3
- package/dist/schema/plugin-registry.d.ts +54 -0
- package/dist/schema/plugin-registry.js +70 -0
- package/dist/schema/reading.d.ts +23 -0
- package/dist/schema/reading.js +7 -0
- package/dist/schema/register-once.d.ts +3 -5
- package/dist/schema/register-once.js +7 -16
- package/dist/schema/registration-checks.d.ts +12 -16
- package/dist/schema/registration-checks.js +35 -51
- package/dist/schema/registration-pairs.d.ts +54 -0
- package/dist/schema/registration-pairs.js +48 -0
- package/dist/schema/registration-pending.d.ts +8 -12
- package/dist/schema/registration-pending.js +9 -9
- package/dist/schema/registry-reset.d.ts +8 -4
- package/dist/schema/registry-reset.js +13 -26
- package/dist/schema/registry-view.d.ts +25 -13
- package/dist/schema/registry-view.js +26 -20
- package/dist/schema/reserved-chords.d.ts +9 -10
- package/dist/schema/reserved-chords.js +63 -80
- package/dist/schema/reserved-chrome.d.ts +12 -11
- package/dist/schema/reserved-chrome.js +15 -11
- package/dist/schema/setext-raw.d.ts +13 -0
- package/dist/schema/setext-raw.js +33 -0
- package/dist/schema/stored-as.d.ts +20 -0
- package/dist/schema/stored-as.js +6 -0
- package/dist/schema/table-cell-raw.d.ts +18 -7
- package/dist/schema/table-cell-raw.js +28 -7
- package/dist/schema/whole-block-unit.d.ts +5 -4
- package/dist/schema/whole-block-unit.js +5 -4
- package/dist/search/document-scan.d.ts +3 -3
- package/dist/search/document-scan.js +2 -2
- package/dist/search/matcher.d.ts +1 -1
- package/dist/search/regex-executor.d.ts +5 -6
- package/dist/search/regex-executor.js +6 -8
- package/dist/search/replace.d.ts +2 -5
- package/dist/search/replace.js +2 -5
- package/dist/search/search-state.svelte.d.ts +5 -5
- package/dist/search/search-state.svelte.js +12 -16
- package/dist/selection/autoscroll.d.ts +6 -9
- package/dist/selection/block-hit-test.d.ts +16 -24
- package/dist/selection/block-hit-test.js +29 -22
- package/dist/selection/caret-doors.d.ts +15 -14
- package/dist/selection/caret-doors.js +37 -26
- package/dist/selection/caret-landing.d.ts +62 -0
- package/dist/selection/caret-landing.js +157 -0
- package/dist/selection/caret-restore.d.ts +17 -10
- package/dist/selection/caret-restore.js +10 -22
- package/dist/selection/caret-target.d.ts +30 -0
- package/dist/selection/caret-target.js +84 -0
- package/dist/selection/char-endpoint-snap.d.ts +6 -10
- package/dist/selection/char-endpoint-snap.js +8 -14
- package/dist/selection/clipboard-text.d.ts +5 -12
- package/dist/selection/clipboard-text.js +69 -172
- package/dist/selection/covered-block.d.ts +6 -8
- package/dist/selection/covered-block.js +8 -19
- package/dist/selection/cross-block/clipboard.d.ts +3 -2
- package/dist/selection/cross-block/clipboard.js +13 -4
- package/dist/selection/cross-block/dispatch.d.ts +47 -43
- package/dist/selection/cross-block/dispatch.js +12 -23
- package/dist/selection/cross-block/format-range.d.ts +18 -21
- package/dist/selection/cross-block/format-range.js +104 -103
- package/dist/selection/cross-block/format-toggle.d.ts +10 -15
- package/dist/selection/cross-block/format-toggle.js +28 -33
- package/dist/selection/cross-block/keydown.d.ts +4 -4
- package/dist/selection/cross-block/keydown.js +92 -125
- package/dist/selection/cross-block/ops.d.ts +19 -34
- package/dist/selection/cross-block/ops.js +110 -95
- package/dist/selection/cross-block/paste.d.ts +2 -3
- package/dist/selection/cross-block/paste.js +59 -96
- package/dist/selection/cross-block/pointer.d.ts +17 -15
- package/dist/selection/cross-block/pointer.js +74 -25
- package/dist/selection/cross-block/type-replace.d.ts +4 -6
- package/dist/selection/cross-block/type-replace.js +51 -134
- package/dist/selection/dead-space-caret.d.ts +19 -30
- package/dist/selection/dead-space-caret.js +70 -88
- package/dist/selection/drag-pointer.d.ts +7 -9
- package/dist/selection/drag-pointer.js +23 -33
- package/dist/selection/gap-caret.d.ts +17 -28
- package/dist/selection/gap-caret.js +14 -26
- package/dist/selection/grid-selection.d.ts +12 -0
- package/dist/selection/grid-selection.js +22 -0
- package/dist/selection/keyboard-extend.d.ts +27 -40
- package/dist/selection/keyboard-extend.js +94 -117
- package/dist/selection/multi-click.d.ts +13 -18
- package/dist/selection/multi-click.js +32 -38
- package/dist/selection/native-bridge.d.ts +29 -39
- package/dist/selection/native-bridge.js +78 -127
- package/dist/selection/nearest-block.d.ts +17 -12
- package/dist/selection/nearest-block.js +37 -18
- package/dist/selection/path-lookup.d.ts +25 -16
- package/dist/selection/path-lookup.js +101 -18
- package/dist/selection/path-math.d.ts +9 -11
- package/dist/selection/path-math.js +5 -7
- package/dist/selection/pointer-gesture.d.ts +5 -5
- package/dist/selection/pointer-gesture.js +5 -5
- package/dist/selection/pointer-session.d.ts +10 -16
- package/dist/selection/pointer-session.js +6 -7
- package/dist/selection/primitives.d.ts +64 -40
- package/dist/selection/primitives.js +57 -67
- package/dist/selection/range-coverage.d.ts +94 -0
- package/dist/selection/range-coverage.js +365 -0
- package/dist/selection/range-delete-ceremony.d.ts +28 -74
- package/dist/selection/range-delete-ceremony.js +100 -141
- package/dist/selection/range-delete-chrome.d.ts +20 -33
- package/dist/selection/range-delete-chrome.js +53 -78
- package/dist/selection/range-delete-table-coverage.d.ts +11 -25
- package/dist/selection/range-delete-table-coverage.js +42 -112
- package/dist/selection/range-delete-table.d.ts +14 -12
- package/dist/selection/range-delete-table.js +106 -310
- package/dist/selection/range-delete.d.ts +18 -23
- package/dist/selection/range-delete.js +83 -123
- package/dist/selection/round-trip-restore.d.ts +18 -0
- package/dist/selection/round-trip-restore.js +19 -0
- package/dist/selection/selection-announcer.d.ts +17 -0
- package/dist/selection/selection-announcer.js +25 -0
- package/dist/selection/selection-description.d.ts +4 -3
- package/dist/selection/selection-description.js +5 -4
- package/dist/selection/selection-drop.d.ts +34 -16
- package/dist/selection/selection-drop.js +159 -95
- package/dist/selection/selection-restore.d.ts +20 -33
- package/dist/selection/selection-restore.js +21 -44
- package/dist/selection/selection-state.svelte.d.ts +50 -42
- package/dist/selection/selection-state.svelte.js +144 -98
- package/dist/selection/shared-keydown.d.ts +22 -27
- package/dist/selection/shared-keydown.js +25 -45
- package/dist/selection/table-endpoint-snap.d.ts +17 -41
- package/dist/selection/table-endpoint-snap.js +54 -80
- package/dist/selection/table-rect-extend.d.ts +3 -6
- package/dist/selection/table-rect-extend.js +19 -14
- package/dist/styles/editor-theme.css +60 -53
- package/dist/styles/editor.css +201 -143
- package/dist/testing/conformance-core.d.ts +50 -18
- package/dist/testing/conformance-core.js +88 -50
- package/dist/testing/container-conformance.d.ts +48 -84
- package/dist/testing/container-conformance.js +159 -285
- package/dist/testing/headless-actions.d.ts +34 -19
- package/dist/testing/headless-actions.js +116 -65
- package/dist/testing/headless-block-list.svelte.d.ts +16 -0
- package/dist/testing/headless-block-list.svelte.js +22 -0
- package/dist/testing/inline-conformance.d.ts +15 -22
- package/dist/testing/inline-conformance.js +131 -148
- package/dist/testing/kind-conformance.d.ts +19 -24
- package/dist/testing/kind-conformance.js +204 -117
- package/dist/testing/kit-reading.d.ts +7 -0
- package/dist/testing/kit-reading.js +16 -0
- package/dist/testing/mount-dom-stubs.d.ts +4 -5
- package/dist/testing/mount-dom-stubs.js +8 -5
- package/dist/testing/parse-convergence.d.ts +10 -10
- package/dist/testing/parse-convergence.js +14 -49
- package/dist/testing.d.ts +13 -9
- package/dist/testing.js +28 -38
- package/dist/tree-operations/blockquote.d.ts +8 -14
- package/dist/tree-operations/blockquote.js +25 -45
- package/dist/tree-operations/chain-rebuild.d.ts +34 -25
- package/dist/tree-operations/chain-rebuild.js +115 -52
- package/dist/tree-operations/children.d.ts +5 -9
- package/dist/tree-operations/children.js +7 -11
- package/dist/tree-operations/cleanup.d.ts +6 -7
- package/dist/tree-operations/cleanup.js +14 -11
- package/dist/tree-operations/clone.js +5 -4
- package/dist/tree-operations/container-lift.d.ts +10 -5
- package/dist/tree-operations/container-lift.js +20 -14
- package/dist/tree-operations/container-offsets.d.ts +22 -0
- package/dist/tree-operations/container-offsets.js +89 -0
- package/dist/tree-operations/content-write.d.ts +52 -29
- package/dist/tree-operations/content-write.js +155 -110
- package/dist/tree-operations/index.d.ts +4 -4
- package/dist/tree-operations/index.js +4 -4
- package/dist/tree-operations/keep-one-block.d.ts +10 -0
- package/dist/tree-operations/keep-one-block.js +19 -0
- package/dist/tree-operations/leaf-range.d.ts +33 -0
- package/dist/tree-operations/leaf-range.js +67 -0
- package/dist/tree-operations/list/empty-check.d.ts +2 -3
- package/dist/tree-operations/list/empty-check.js +4 -4
- package/dist/tree-operations/list/exit-replacement.d.ts +4 -6
- package/dist/tree-operations/list/exit-replacement.js +4 -9
- package/dist/tree-operations/list/item-partition.d.ts +2 -2
- package/dist/tree-operations/list/item-partition.js +2 -2
- package/dist/tree-operations/list/list-builders.d.ts +18 -16
- package/dist/tree-operations/list/list-builders.js +59 -30
- package/dist/tree-operations/list/ordered-markers.d.ts +7 -16
- package/dist/tree-operations/list/ordered-markers.js +7 -16
- package/dist/tree-operations/list/reconcile-task.d.ts +16 -7
- package/dist/tree-operations/list/reconcile-task.js +80 -23
- package/dist/tree-operations/list/sublist-separator.d.ts +7 -7
- package/dist/tree-operations/list/sublist-separator.js +20 -27
- package/dist/tree-operations/list/task-paragraph.d.ts +25 -0
- package/dist/tree-operations/list/task-paragraph.js +54 -0
- package/dist/tree-operations/list/unwrap-merge.d.ts +8 -16
- package/dist/tree-operations/list/unwrap-merge.js +44 -79
- package/dist/tree-operations/node-ops.d.ts +30 -52
- package/dist/tree-operations/node-ops.js +152 -218
- package/dist/tree-operations/node-primitives.d.ts +44 -31
- package/dist/tree-operations/node-primitives.js +84 -60
- package/dist/tree-operations/open-tail.d.ts +25 -0
- package/dist/tree-operations/open-tail.js +100 -0
- package/dist/tree-operations/parse-block.d.ts +15 -2
- package/dist/tree-operations/parse-block.js +19 -4
- package/dist/tree-operations/paste/apply.d.ts +7 -8
- package/dist/tree-operations/paste/apply.js +33 -63
- package/dist/tree-operations/paste/body-write.d.ts +8 -6
- package/dist/tree-operations/paste/body-write.js +13 -14
- package/dist/tree-operations/paste/container-match.d.ts +7 -10
- package/dist/tree-operations/paste/container-match.js +76 -58
- package/dist/tree-operations/paste/container-paste.d.ts +3 -3
- package/dist/tree-operations/paste/container-paste.js +3 -3
- package/dist/tree-operations/paste/dispatch.d.ts +26 -29
- package/dist/tree-operations/paste/dispatch.js +68 -53
- package/dist/tree-operations/paste/focus-target.d.ts +11 -14
- package/dist/tree-operations/paste/focus-target.js +13 -18
- package/dist/tree-operations/paste/hooks.d.ts +7 -12
- package/dist/tree-operations/paste/hooks.js +49 -46
- package/dist/tree-operations/paste/line-ending.d.ts +11 -0
- package/dist/tree-operations/paste/line-ending.js +32 -0
- package/dist/tree-operations/paste/list-absorb.d.ts +8 -11
- package/dist/tree-operations/paste/list-absorb.js +17 -19
- package/dist/tree-operations/paste/list-break-out.d.ts +12 -11
- package/dist/tree-operations/paste/list-break-out.js +24 -32
- package/dist/tree-operations/paste/parent-scope.d.ts +8 -12
- package/dist/tree-operations/paste/parent-scope.js +9 -16
- package/dist/tree-operations/paste/paste-deps.d.ts +14 -9
- package/dist/tree-operations/paste/paste-replacement.d.ts +20 -3
- package/dist/tree-operations/paste/paste-replacement.js +73 -42
- package/dist/tree-operations/paste/paste-transforms.d.ts +5 -7
- package/dist/tree-operations/paste/paste-transforms.js +18 -27
- package/dist/tree-operations/paste/replacement-parse.d.ts +9 -7
- package/dist/tree-operations/paste/replacement-parse.js +12 -10
- package/dist/tree-operations/paste/strategy.d.ts +1 -1
- package/dist/tree-operations/paste/strategy.js +1 -1
- package/dist/tree-operations/paste/table-slice.js +15 -10
- package/dist/tree-operations/paste-surfaces.d.ts +18 -29
- package/dist/tree-operations/paste-surfaces.js +14 -10
- package/dist/tree-operations/path-mutate.d.ts +7 -8
- package/dist/tree-operations/path-mutate.js +4 -4
- package/dist/tree-operations/reorder-unit.d.ts +4 -5
- package/dist/tree-operations/reorder-unit.js +5 -6
- package/dist/tree-operations/reorder.d.ts +7 -9
- package/dist/tree-operations/reorder.js +39 -40
- package/dist/tree-operations/settle.d.ts +42 -53
- package/dist/tree-operations/settle.js +241 -162
- package/dist/tree-operations/sharing.d.ts +5 -5
- package/dist/tree-operations/splice-many.d.ts +5 -5
- package/dist/tree-operations/splice-many.js +5 -5
- package/dist/tree-operations/stored-as.d.ts +13 -0
- package/dist/tree-operations/stored-as.js +48 -0
- package/dist/tree-operations/structural-change.d.ts +11 -15
- package/dist/tree-operations/structural-change.js +10 -14
- package/dist/tree-operations/structural-suffix.d.ts +22 -0
- package/dist/tree-operations/structural-suffix.js +61 -0
- package/dist/tree-operations/sub-table-copy.d.ts +7 -0
- package/dist/tree-operations/sub-table-copy.js +40 -36
- package/dist/tree-operations/table-grid-clipboard.d.ts +2 -7
- package/dist/tree-operations/table-grid-clipboard.js +11 -36
- package/dist/tree-operations/table-mutations.d.ts +7 -3
- package/dist/tree-operations/table-mutations.js +45 -9
- package/dist/tree-operations/unshare.d.ts +11 -15
- package/dist/tree-operations/unshare.js +15 -17
- package/dist/undo/manager.js +1 -1
- package/dist/undo/types.d.ts +2 -2
- package/docs/guide/consumer-guide.md +327 -205
- package/docs/guide/directives.md +7 -7
- package/docs/guide/plugin-api.md +253 -185
- package/docs/guide/plugin-guide.md +332 -235
- package/docs/guide/plugin-testing.md +96 -82
- package/package.json +12 -16
- package/dist/ambient/ambient-cursor.d.ts +0 -41
- package/dist/ambient/ambient-cursor.js +0 -120
- package/dist/components/blocks/code/code-paste.d.ts +0 -24
- package/dist/components/blocks/code/code-paste.js +0 -21
- package/dist/components/blocks/table/cell-clipboard.d.ts +0 -33
- package/dist/components/blocks/table/cell-clipboard.js +0 -67
- package/dist/components/blocks/text/hidden-suffix.d.ts +0 -10
- package/dist/components/blocks/text/hidden-suffix.js +0 -15
- package/dist/components/blocks/text/link-source-bytes.d.ts +0 -37
- package/dist/components/image/image-source-bytes.d.ts +0 -15
- package/dist/components/image/image-source-bytes.js +0 -80
- package/dist/cursor/content-offsets.d.ts +0 -29
- package/dist/cursor/content-offsets.js +0 -151
- package/dist/cursor/reveal-anchor.d.ts +0 -30
- package/dist/cursor/reveal-anchor.js +0 -31
- package/dist/cursor/scroll-hold.d.ts +0 -10
- package/dist/cursor/scroll-hold.js +0 -22
- package/dist/invariants/split-landing.d.ts +0 -8
- package/dist/invariants/split-landing.js +0 -15
- package/dist/tree-operations/list/terminator.d.ts +0 -17
- package/dist/tree-operations/list/terminator.js +0 -60
- package/dist/tree-operations/paste/replace-block-at-parent.d.ts +0 -31
- package/dist/tree-operations/paste/replace-block-at-parent.js +0 -78
package/dist/styles/editor.css
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* host --color-* tokens are read with fallbacks
|
|
2
|
+
* Structural editor styles: the painting rules for DOM the renderers build in JavaScript, which
|
|
3
|
+
* cannot live in a component's <style> block. Every rule is wrapped in :where(.editor), which adds
|
|
4
|
+
* no specificity and keeps the names to the editor. The token values live in editor-theme.css;
|
|
5
|
+
* a host's --color-* tokens are read here with fallbacks, never declared.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
/* Classes applied by code-renderer.ts; unknown
|
|
9
|
-
* (inherit),
|
|
8
|
+
/* Classes applied by code-renderer.ts; an unknown one falls through to --code-tok-unknown
|
|
9
|
+
* (inherit), so highlighting never changes the text and never forces a color. */
|
|
10
10
|
:where(.editor) .code-tok-keyword {
|
|
11
11
|
color: var(--code-tok-keyword);
|
|
12
12
|
font-weight: 600;
|
|
@@ -72,13 +72,14 @@
|
|
|
72
72
|
color: var(--code-tok-unknown);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
/*
|
|
75
|
+
/* One selection color: a selection inside one block, painted by the browser, matches one across
|
|
76
|
+
blocks, painted by the overlay. */
|
|
76
77
|
:where(.editor) ::selection {
|
|
77
78
|
background: var(--selection-overlay-bg, rgba(100, 150, 255, 0.3));
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
/*
|
|
81
|
-
|
|
81
|
+
/* The browser's selection paint goes so it does not double SelectionOverlay's highlights, and only
|
|
82
|
+
in `.block-list`, since the find and replace bar beside it keeps painting its own. */
|
|
82
83
|
:where(.editor)[data-cross-block] .block-list ::selection {
|
|
83
84
|
background: transparent;
|
|
84
85
|
}
|
|
@@ -87,9 +88,8 @@
|
|
|
87
88
|
caret-color: transparent;
|
|
88
89
|
}
|
|
89
90
|
|
|
90
|
-
/*
|
|
91
|
-
|
|
92
|
-
never steals a pointer from the surface it stands over; in-flight IME text paints here. */
|
|
91
|
+
/* Invisible but a real box: Chromium fires no `beforeinput` on a zero-height editing element.
|
|
92
|
+
Clicks pass through, so it never takes a pointer from the block it stands over. */
|
|
93
93
|
:where(.editor) .whole-block-input {
|
|
94
94
|
position: absolute;
|
|
95
95
|
top: 0;
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
cursor: pointer;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
/* Search
|
|
118
|
+
/* Search matches build on the rule above. */
|
|
119
119
|
:where(.editor) .match-overlay {
|
|
120
120
|
background: var(--search-match-bg);
|
|
121
121
|
}
|
|
@@ -123,26 +123,65 @@
|
|
|
123
123
|
background: var(--search-match-active-bg);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
/*
|
|
126
|
+
/* A non-editable badge put in front of the block; the consumer positions it. */
|
|
127
127
|
:where(.editor) .decoration-badge {
|
|
128
128
|
user-select: none;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
/*
|
|
131
|
+
/* A list item's box is a flex row; with a badge it stacks its children instead, so the badge
|
|
132
|
+
sits above the marker and the text, as a block host's badge does, and moves neither. */
|
|
133
|
+
:where(.editor) .list-item-block:has(> .decoration-badge) {
|
|
134
|
+
flex-direction: column;
|
|
135
|
+
}
|
|
136
|
+
/* Set per child: the item's own align-items would tie with a rule on the box. */
|
|
137
|
+
:where(.editor) .list-item-block:has(> .decoration-badge) > .decoration-badge,
|
|
138
|
+
:where(.editor) .list-item-block:has(> .decoration-badge) > .list-item-content {
|
|
139
|
+
align-self: stretch;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* A typed kind change names the new kind at the block's corner until the fade ends. The empty
|
|
143
|
+
alternative text keeps it out of the accessibility tree, since the editor's announcer says it. */
|
|
144
|
+
:where(.editor) .block-host[data-kind-cue]::after {
|
|
145
|
+
content: attr(data-kind-cue);
|
|
146
|
+
content: attr(data-kind-cue) / '';
|
|
147
|
+
position: absolute;
|
|
148
|
+
top: 0;
|
|
149
|
+
right: 0;
|
|
150
|
+
font-family: var(--font-ui);
|
|
151
|
+
font-size: 0.75em;
|
|
152
|
+
color: var(--md-kind-cue-color);
|
|
153
|
+
pointer-events: none;
|
|
154
|
+
user-select: none;
|
|
155
|
+
animation: kind-cue-fade var(--md-kind-cue-duration) ease-out forwards;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
@keyframes kind-cue-fade {
|
|
159
|
+
0% {
|
|
160
|
+
opacity: 0;
|
|
161
|
+
}
|
|
162
|
+
10%,
|
|
163
|
+
70% {
|
|
164
|
+
opacity: 1;
|
|
165
|
+
}
|
|
166
|
+
100% {
|
|
167
|
+
opacity: 0;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* A non-editable inline widget the caret cannot enter; its own class styles it on top. */
|
|
132
172
|
:where(.editor) .decoration-island {
|
|
133
173
|
user-select: none;
|
|
134
174
|
}
|
|
135
175
|
|
|
136
|
-
/* The find bar
|
|
137
|
-
|
|
138
|
-
the bar and the affordance is unreachable until search closes (#145). */
|
|
176
|
+
/* The find bar outranks a per-block control, so a control in the same top-right corner moves
|
|
177
|
+
down while the bar is open, where the bar would otherwise cover it. */
|
|
139
178
|
.editor:has(> .search-anchor .search-bar) .code-lang-chip {
|
|
140
179
|
top: 52px;
|
|
141
180
|
}
|
|
142
181
|
|
|
143
182
|
:where(.editor) .md-image-widget {
|
|
144
183
|
display: block;
|
|
145
|
-
/* Shrink
|
|
184
|
+
/* Shrink to fit, so the widget matches the image rather than its line box. */
|
|
146
185
|
width: fit-content;
|
|
147
186
|
margin: 0.5em 0;
|
|
148
187
|
user-select: none;
|
|
@@ -176,27 +215,22 @@
|
|
|
176
215
|
:where(.editor) .md-image-widget.md-image-cropped {
|
|
177
216
|
overflow: hidden;
|
|
178
217
|
max-width: 100%;
|
|
179
|
-
/* The frame clips the picture, so the rounding
|
|
180
|
-
|
|
181
|
-
inside gets its own compositing layer, and a crop is exactly when that happens. */
|
|
218
|
+
/* The frame clips the picture, so it owns the rounding. `clip-path` backs up `overflow`, whose
|
|
219
|
+
rounded clip Chromium drops once the cropped picture gets its own compositing layer. */
|
|
182
220
|
border-radius: var(--md-image-radius);
|
|
183
221
|
clip-path: inset(0 round var(--md-image-radius));
|
|
184
222
|
}
|
|
185
223
|
|
|
186
|
-
/* The picture keeps its
|
|
187
|
-
|
|
188
|
-
frame entirely. Either way the crop cannot come out with harder corners than the plain image. */
|
|
224
|
+
/* The picture keeps its radius inside the frame: at zoom 1 the corners coincide and above 1 they
|
|
225
|
+
fall outside the frame, so a crop never looks harder-cornered than the plain image. */
|
|
189
226
|
:where(.editor) .md-image-widget.md-image-cropped img {
|
|
190
227
|
position: absolute;
|
|
191
228
|
max-width: none;
|
|
192
229
|
object-fit: cover;
|
|
193
230
|
}
|
|
194
231
|
|
|
195
|
-
/*
|
|
196
|
-
bottom-left,
|
|
197
|
-
caret anchor past a contenteditable=false widget. The widget side of each `:has()` is a
|
|
198
|
-
descendant match, since a wrapping inline construct puts the widget one level deeper; the
|
|
199
|
-
marker side stays a child combinator, matching only the structurally-injected prefix. */
|
|
232
|
+
/* An image in a list item or blockquote paragraph: the container's marker sits out of flow at the
|
|
233
|
+
image's bottom-left, since `display: flex` leaves the caret no place past the widget. */
|
|
200
234
|
:where(.editor)
|
|
201
235
|
.text-editable-block.paragraph-block:has(> .md-marker[contenteditable='false']):has(
|
|
202
236
|
.md-image-widget
|
|
@@ -228,9 +262,8 @@
|
|
|
228
262
|
width: fit-content;
|
|
229
263
|
}
|
|
230
264
|
|
|
231
|
-
/* An image with no pixels (broken, scheme-refused, or
|
|
232
|
-
|
|
233
|
-
Display:block stays inherited: image widgets always force a visual line break. */
|
|
265
|
+
/* An image with no pixels (broken, scheme-refused, or a `'placeholder'` load policy) would lay out
|
|
266
|
+
0×0 without this floor, unless a `|WxH` hint reserves its box. */
|
|
234
267
|
:where(.editor) .md-image-broken,
|
|
235
268
|
:where(.editor) .md-image-blocked,
|
|
236
269
|
:where(.editor) .md-image-placeholder {
|
|
@@ -260,7 +293,7 @@
|
|
|
260
293
|
content: '⚠ image failed to load';
|
|
261
294
|
}
|
|
262
295
|
|
|
263
|
-
/*
|
|
296
|
+
/* The tint paints over the widget through ::after: `background-color` on the span
|
|
264
297
|
itself is hidden by the opaque <img> child (display:block, max-width:100%). */
|
|
265
298
|
:where(.editor) [data-inline-widget].md-widget-selected::after {
|
|
266
299
|
content: '';
|
|
@@ -271,33 +304,47 @@
|
|
|
271
304
|
pointer-events: none;
|
|
272
305
|
}
|
|
273
306
|
|
|
274
|
-
/* The tint
|
|
275
|
-
box is text) would stack a second
|
|
307
|
+
/* The tint is the widget's selection paint: the browser's own `::selection` on the text inside it
|
|
308
|
+
(a KaTeX box is text) would stack a second tint on the same pixels. */
|
|
276
309
|
:where(.editor) [data-inline-widget].md-widget-selected ::selection {
|
|
277
310
|
background: transparent;
|
|
278
311
|
}
|
|
279
312
|
|
|
280
|
-
/*
|
|
281
|
-
the
|
|
313
|
+
/* A drawn caret on the edge the caret snaps to: Chromium does not reliably render
|
|
314
|
+
the real one next to a contenteditable=false neighbor. */
|
|
282
315
|
:where(.editor) [data-inline-widget].md-snap-after::before,
|
|
283
316
|
:where(.editor) [data-inline-widget].md-snap-before::before {
|
|
284
317
|
content: '';
|
|
285
318
|
position: absolute;
|
|
286
|
-
top:
|
|
287
|
-
bottom:
|
|
319
|
+
top: 0;
|
|
320
|
+
bottom: 0;
|
|
288
321
|
width: 1.5px;
|
|
289
322
|
background-color: var(--color-text-primary, currentColor);
|
|
290
323
|
animation: md-snap-caret-blink 1s step-end infinite;
|
|
291
324
|
pointer-events: none;
|
|
292
325
|
}
|
|
293
326
|
|
|
294
|
-
/* Clear of the widget's own edge: against a picture, a caret drawn tight to the frame reads as
|
|
295
|
-
part of the border rather than as a caret waiting for the next character. */
|
|
296
327
|
:where(.editor) [data-inline-widget].md-snap-after::before {
|
|
297
|
-
right: -
|
|
328
|
+
right: -1px;
|
|
298
329
|
}
|
|
299
330
|
|
|
300
331
|
:where(.editor) [data-inline-widget].md-snap-before::before {
|
|
332
|
+
left: -1px;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/* An image's drawn caret is inset from the frame so it reads as a caret, not part of the border;
|
|
336
|
+
a text-height widget keeps the full box, where an inset would leave a stub. */
|
|
337
|
+
:where(.editor) .md-image-widget.md-snap-after::before,
|
|
338
|
+
:where(.editor) .md-image-widget.md-snap-before::before {
|
|
339
|
+
top: 4px;
|
|
340
|
+
bottom: 4px;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
:where(.editor) .md-image-widget.md-snap-after::before {
|
|
344
|
+
right: -4px;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
:where(.editor) .md-image-widget.md-snap-before::before {
|
|
301
348
|
left: -4px;
|
|
302
349
|
}
|
|
303
350
|
|
|
@@ -307,8 +354,8 @@
|
|
|
307
354
|
}
|
|
308
355
|
}
|
|
309
356
|
|
|
310
|
-
/* The
|
|
311
|
-
|
|
357
|
+
/* The drawn caret replaces the browser's own: Chromium does sometimes render a caret beside a
|
|
358
|
+
non-editable inline widget, and two at one position read as two carets. */
|
|
312
359
|
:where(.editor) .md-snap-caret-active {
|
|
313
360
|
caret-color: transparent;
|
|
314
361
|
}
|
|
@@ -320,10 +367,8 @@
|
|
|
320
367
|
z-index: 10;
|
|
321
368
|
}
|
|
322
369
|
|
|
323
|
-
/* A selected image
|
|
324
|
-
|
|
325
|
-
just off the edge so it reads as a ring around the picture rather than part of it, over a
|
|
326
|
-
translucent dark line that keeps it legible against a pale photo. */
|
|
370
|
+
/* A selected image's ring sits on the overlay, since a cropped widget clips its own pseudo-elements
|
|
371
|
+
and a border would move the layout; the dark shadow keeps it visible on a pale photo. */
|
|
327
372
|
:where(.editor) .md-image-overlay::before {
|
|
328
373
|
content: '';
|
|
329
374
|
position: absolute;
|
|
@@ -345,9 +390,8 @@
|
|
|
345
390
|
text-decoration: underline;
|
|
346
391
|
}
|
|
347
392
|
|
|
348
|
-
/* A plain click edits
|
|
349
|
-
|
|
350
|
-
not the UA's `<a href>` default. */
|
|
393
|
+
/* A plain click edits and only Ctrl/Cmd+click opens the link (`Editor.svelte` sets
|
|
394
|
+
`data-mod-active`), so the cursor overrides the browser's default for `<a href>`. */
|
|
351
395
|
:where(.editor) a.md-link-content,
|
|
352
396
|
:where(.editor) .md-autolink {
|
|
353
397
|
cursor: text;
|
|
@@ -360,14 +404,14 @@
|
|
|
360
404
|
|
|
361
405
|
/* Blocked-scheme link: inert metadata, kept visually distinct from a clickable one. */
|
|
362
406
|
:where(.editor) .md-link-content.md-link-blocked {
|
|
363
|
-
color: var(--md-link-blocked-color,
|
|
407
|
+
color: var(--md-link-blocked-color, #8f8f89);
|
|
364
408
|
text-decoration: none;
|
|
365
409
|
cursor: text;
|
|
366
410
|
}
|
|
367
411
|
|
|
368
|
-
/*
|
|
412
|
+
/* A faded grey and italic, so the label reads as metadata beside the link's own markers. */
|
|
369
413
|
:where(.editor) .md-ref-label {
|
|
370
|
-
color: var(--md-ref-label-color,
|
|
414
|
+
color: var(--md-ref-label-color, #8f8f89);
|
|
371
415
|
font-style: italic;
|
|
372
416
|
}
|
|
373
417
|
|
|
@@ -377,35 +421,36 @@
|
|
|
377
421
|
text-decoration: none;
|
|
378
422
|
}
|
|
379
423
|
|
|
380
|
-
/* A background
|
|
424
|
+
/* A background tells an unresolved image reference apart from an unresolved link one. */
|
|
381
425
|
:where(.editor) .md-unresolved-ref-image {
|
|
382
426
|
background: var(--md-unresolved-image-bg, rgba(192, 57, 43, 0.08));
|
|
383
427
|
padding: 0 2px;
|
|
384
428
|
border-radius: 2px;
|
|
385
429
|
}
|
|
386
430
|
|
|
387
|
-
/*
|
|
431
|
+
/* Link reference definitions render as metadata rather than content. The fade stacks on the
|
|
432
|
+
raw block's own opacity, and 0.8 is the lowest that keeps light-theme text at AA. */
|
|
388
433
|
:where(.editor) .block-host[data-block-kind='linkReferenceDefinition'] {
|
|
389
|
-
opacity: 0.
|
|
434
|
+
opacity: 0.8;
|
|
390
435
|
font-size: 0.9em;
|
|
391
436
|
font-style: italic;
|
|
392
437
|
}
|
|
393
438
|
|
|
394
439
|
/* Dimmed monospace gives inline raw HTML a code-ish feel without becoming a code span. */
|
|
395
440
|
:where(.editor) .md-raw-html {
|
|
396
|
-
color: var(--md-raw-html-color,
|
|
441
|
+
color: var(--md-raw-html-color, #8f8f89);
|
|
397
442
|
font-family: var(--font-code, ui-monospace, monospace);
|
|
398
443
|
font-size: 0.92em;
|
|
399
444
|
}
|
|
400
445
|
|
|
401
|
-
/*
|
|
402
|
-
bare spacer for one frame, which without a background tears white. */
|
|
446
|
+
/* Tint for the blocks not mounted yet (VR-8): a fast scroll can outrun the recompute and paint
|
|
447
|
+
a bare spacer for one frame, which without a background tears white. */
|
|
403
448
|
:where(.editor) .vr-spacer {
|
|
404
449
|
background: var(--vr-spacer-bg, rgba(128, 128, 128, 0.03));
|
|
405
450
|
}
|
|
406
451
|
|
|
407
|
-
/* One revealed
|
|
408
|
-
component adds this class and keeps only its padding
|
|
452
|
+
/* One look for the revealed source of the blocks that render rather than show text (math, toc,
|
|
453
|
+
mermaid): a plugin component adds this class and keeps only its own padding and overflow. */
|
|
409
454
|
:where(.editor) .md-source-surface {
|
|
410
455
|
display: block;
|
|
411
456
|
width: 100%;
|
|
@@ -420,10 +465,8 @@
|
|
|
420
465
|
border-radius: 4px;
|
|
421
466
|
}
|
|
422
467
|
|
|
423
|
-
/* ── Semantic syntax
|
|
424
|
-
|
|
425
|
-
overrides a token. Rules whose construct is also colored by a component <style> shorthand
|
|
426
|
-
carry the extra selector weight to beat the Svelte scoping class. */
|
|
468
|
+
/* ── Semantic syntax tokens ───────────────────────────────────────────────────
|
|
469
|
+
The editor-theme.css defaults are neutral, so these change nothing until a consumer sets one. */
|
|
427
470
|
|
|
428
471
|
:where(.editor)
|
|
429
472
|
.text-editable-block:is(.heading-1, .heading-2, .heading-3, .heading-4, .heading-5, .heading-6) {
|
|
@@ -438,9 +481,8 @@
|
|
|
438
481
|
color: var(--syntax-code, currentColor);
|
|
439
482
|
}
|
|
440
483
|
|
|
441
|
-
/* An inline widget's source
|
|
442
|
-
|
|
443
|
-
does not reflow around it. */
|
|
484
|
+
/* An inline widget's source shown for editing (`$x$`) takes the inline-code tint so it reads as
|
|
485
|
+
one span, but keeps the prose typeface so the line does not reflow. */
|
|
444
486
|
::highlight(md-inline-reveal) {
|
|
445
487
|
background-color: var(--color-bg-secondary, rgba(128, 128, 128, 0.12));
|
|
446
488
|
}
|
|
@@ -454,12 +496,12 @@
|
|
|
454
496
|
border-left-color: var(--syntax-quote, var(--color-ui-muted, #a4a4a4));
|
|
455
497
|
}
|
|
456
498
|
|
|
457
|
-
:where(.editor) .thematic-break-rule
|
|
499
|
+
:where(.editor) .thematic-break-block > .thematic-break-rule > hr {
|
|
458
500
|
border-top-color: var(--syntax-separator, var(--color-border, #3e3e3b));
|
|
459
501
|
}
|
|
460
502
|
|
|
461
|
-
/* The [contenteditable='false']
|
|
462
|
-
|
|
503
|
+
/* The [contenteditable='false'] part limits this to the leading marker the renderer injects,
|
|
504
|
+
not to inline .md-marker spans. */
|
|
463
505
|
:where(.editor) .list-item-block .md-marker[contenteditable='false'] {
|
|
464
506
|
color: var(--syntax-list, currentColor);
|
|
465
507
|
}
|
|
@@ -469,9 +511,7 @@
|
|
|
469
511
|
}
|
|
470
512
|
|
|
471
513
|
/* ── Menus ──────────────────────────────────────────────────────────────────
|
|
472
|
-
One
|
|
473
|
-
picker and overflow), copied from the host app's context menu value for value and reading
|
|
474
|
-
the same tokens, so a menu here is indistinguishable from one of the host's. */
|
|
514
|
+
One look for every editor menu, matching the host app's context menu through the same tokens. */
|
|
475
515
|
:where(.editor) .md-menu {
|
|
476
516
|
position: fixed;
|
|
477
517
|
z-index: 2000;
|
|
@@ -524,7 +564,7 @@
|
|
|
524
564
|
display: inline-flex;
|
|
525
565
|
align-items: center;
|
|
526
566
|
flex-shrink: 0;
|
|
527
|
-
color: var(--color-ui-muted, #
|
|
567
|
+
color: var(--color-ui-muted, #93938d);
|
|
528
568
|
}
|
|
529
569
|
|
|
530
570
|
:where(.editor) .md-menu-divider {
|
|
@@ -533,21 +573,17 @@
|
|
|
533
573
|
background: var(--color-border, #3e3e3b);
|
|
534
574
|
}
|
|
535
575
|
|
|
536
|
-
/* ── Rendered
|
|
537
|
-
|
|
538
|
-
path: the raw-aware offset walk counts every DOM text node regardless of layout, so
|
|
539
|
-
structural omission would desync the DOM↔raw coordinate space. Keyed on an
|
|
540
|
-
equal-specificity :is() so the per-mode rules below win by source order. */
|
|
576
|
+
/* ── Rendered markers, shared by every mode that hides them ───────────────────
|
|
577
|
+
Hidden in CSS alone, since the DOM-to-offset traversal counts every text node in the render. */
|
|
541
578
|
|
|
542
|
-
/* .md-marker:
|
|
543
|
-
|
|
544
|
-
container markers carry layout and keep their box below. */
|
|
579
|
+
/* .md-marker: pure syntax in normal flow, so hiding it joins the text up as it renders; a
|
|
580
|
+
container's leading marker holds layout and keeps its box (below). */
|
|
545
581
|
/* .md-fence-line: a fence line's `\n` is a bare text node CSS can't reach; the wrapper
|
|
546
582
|
owns marker + newline, so collapsing it leaves no blank line at the box's edge. */
|
|
547
583
|
/* .md-ref-label: resolution metadata, not content; a rendered document shows only the
|
|
548
584
|
link text. */
|
|
549
|
-
/* .directive-marker: the container
|
|
550
|
-
|
|
585
|
+
/* .directive-marker: the container's border and gutter are the directive fence's rendered form,
|
|
586
|
+
so a focused block inside never shows the fence's source. */
|
|
551
587
|
:where(.editor):is(
|
|
552
588
|
[data-presentation='reading'],
|
|
553
589
|
[data-presentation^='preview-'],
|
|
@@ -557,36 +593,46 @@
|
|
|
557
593
|
display: none;
|
|
558
594
|
}
|
|
559
595
|
|
|
560
|
-
/*
|
|
561
|
-
|
|
562
|
-
only while the surface holds focus, since the seat is for a caret and a block nobody is in
|
|
563
|
-
reads as the empty construct it is. Mirrored in `cursor/widget-offset.ts` (same modes, same
|
|
564
|
-
families); reading keeps its silence. `[contenteditable]` scopes the stamp to the walk
|
|
565
|
-
containers its JS twin reads, which a decoration on the block host cannot reach. */
|
|
596
|
+
/* A focused construct whose only bytes are its markers shows them dimmed, since it has nothing
|
|
597
|
+
else to show and no caret position inside; mirrored in `cursor/widget-offset.ts`. */
|
|
566
598
|
:where(.editor):is([data-presentation^='preview-'], [data-presentation='live'])
|
|
567
599
|
[contenteditable][data-content-empty]:focus-within
|
|
568
600
|
:is(.md-marker:not([contenteditable='false']), .md-fence-line) {
|
|
569
601
|
display: inline;
|
|
570
602
|
}
|
|
571
603
|
|
|
572
|
-
/*
|
|
573
|
-
|
|
574
|
-
about a text line's leading each side, so code-to-code and code-to-prose match. Padding,
|
|
575
|
-
not margin: the height model measures the host's border box. */
|
|
604
|
+
/* Blocks stack flush, so a code block or table brings its own room, about a line's leading each
|
|
605
|
+
side; padding, not margin, because block heights are measured from the host's border box. */
|
|
576
606
|
:where(.editor) .block-host:is([data-block-kind='fencedCode'], [data-block-kind='table']) {
|
|
577
607
|
padding-block: 6px;
|
|
578
608
|
}
|
|
579
609
|
|
|
580
|
-
/* Room for the add strips (`TableBlock.svelte`)
|
|
581
|
-
|
|
582
|
-
the row strip never lies over whatever follows the table (the trailing insert row, a block). */
|
|
610
|
+
/* Room inside the table's box for the add-row and add-column strips (`TableBlock.svelte`), so they
|
|
611
|
+
stay inside the scroll container and never lie over the block that follows. */
|
|
583
612
|
:where(.editor) .block-host[data-block-kind='table'] {
|
|
584
613
|
padding-right: 30px;
|
|
585
614
|
padding-bottom: 24px;
|
|
586
615
|
}
|
|
587
616
|
|
|
588
|
-
/*
|
|
589
|
-
|
|
617
|
+
/* A hard break whose bytes are hidden or blank (trailing spaces) draws a dimmed return glyph, so
|
|
618
|
+
the line break has a visible cause; generated content adds no text to a copy or screen reader. */
|
|
619
|
+
:where(.editor):is([data-presentation^='preview-'], [data-presentation='live'])
|
|
620
|
+
.md-hard-break::before,
|
|
621
|
+
:where(.editor):not([data-presentation]) .md-hard-break[data-trailing-spaces]::before {
|
|
622
|
+
content: '↵';
|
|
623
|
+
content: '↵' / '';
|
|
624
|
+
opacity: var(--syntax-marker-dim, 0.65);
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
/* A focused preview block paints the backslash itself, so the glyph would say it twice. */
|
|
628
|
+
:where(.editor)[data-presentation^='preview-']
|
|
629
|
+
.block-host[data-focused]
|
|
630
|
+
.md-hard-break:not([data-trailing-spaces])::before {
|
|
631
|
+
content: none;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
/* A list item's leading marker owns the hanging indent (padding and text-indent are keyed to
|
|
635
|
+
the span's ch width), so it keeps its box: visibility, not display. */
|
|
590
636
|
:where(.editor):is(
|
|
591
637
|
[data-presentation='reading'],
|
|
592
638
|
[data-presentation^='preview-'],
|
|
@@ -598,7 +644,7 @@
|
|
|
598
644
|
opacity: 1;
|
|
599
645
|
}
|
|
600
646
|
|
|
601
|
-
/* `- ` hides and a rendered bullet paints in its
|
|
647
|
+
/* `- ` hides and a rendered bullet paints in its place, the way a blockquote's border does. */
|
|
602
648
|
:where(.editor):is(
|
|
603
649
|
[data-presentation='reading'],
|
|
604
650
|
[data-presentation^='preview-'],
|
|
@@ -611,7 +657,7 @@
|
|
|
611
657
|
color: var(--syntax-list, currentColor);
|
|
612
658
|
}
|
|
613
659
|
|
|
614
|
-
/* The
|
|
660
|
+
/* The marker text is itself the rendered number (`1. `), so it stays visible and undimmed. */
|
|
615
661
|
:where(.editor):is(
|
|
616
662
|
[data-presentation='reading'],
|
|
617
663
|
[data-presentation^='preview-'],
|
|
@@ -622,9 +668,8 @@
|
|
|
622
668
|
visibility: visible;
|
|
623
669
|
}
|
|
624
670
|
|
|
625
|
-
/* GitHub task lists:
|
|
626
|
-
|
|
627
|
-
slot so checked and unchecked are the same width, and the box paints in that slot. */
|
|
671
|
+
/* GitHub task lists: the `- ` collapses, keeping its bytes for the offset traversal, and the
|
|
672
|
+
`[ ]` span becomes a fixed-width space the box paints in, so checked and unchecked match. */
|
|
628
673
|
:where(.editor):is(
|
|
629
674
|
[data-presentation='reading'],
|
|
630
675
|
[data-presentation^='preview-'],
|
|
@@ -637,6 +682,27 @@
|
|
|
637
682
|
overflow: hidden;
|
|
638
683
|
}
|
|
639
684
|
|
|
685
|
+
/* Where the box is drawn, the marker sizes off the editor's text rather than a scaled first child
|
|
686
|
+
(a heading); the component's inline hanging indent reads `--md-task-indent` to match. */
|
|
687
|
+
:where(.editor):is(
|
|
688
|
+
[data-presentation='reading'],
|
|
689
|
+
[data-presentation^='preview-'],
|
|
690
|
+
[data-presentation='live']
|
|
691
|
+
)
|
|
692
|
+
.list-item-block[data-list-marker='task'] {
|
|
693
|
+
--md-task-indent: calc(2.1 * var(--editor-font-size, 1rem));
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
:where(.editor):is(
|
|
697
|
+
[data-presentation='reading'],
|
|
698
|
+
[data-presentation^='preview-'],
|
|
699
|
+
[data-presentation='live']
|
|
700
|
+
)
|
|
701
|
+
.list-item-block[data-list-marker='task']
|
|
702
|
+
.md-marker[contenteditable='false'] {
|
|
703
|
+
font-size: var(--editor-font-size, 1rem);
|
|
704
|
+
}
|
|
705
|
+
|
|
640
706
|
:where(.editor):is(
|
|
641
707
|
[data-presentation='reading'],
|
|
642
708
|
[data-presentation^='preview-'],
|
|
@@ -644,13 +710,14 @@
|
|
|
644
710
|
)
|
|
645
711
|
.list-item-block[data-list-marker='task']
|
|
646
712
|
.task-checkbox {
|
|
647
|
-
/* Visible inside the hidden
|
|
648
|
-
|
|
713
|
+
/* Visible inside the hidden marker, its `[ ]` bytes hidden by colour: a hidden span drops out
|
|
714
|
+
of the accessibility tree and out of hit-testing, and the pseudo-elements draw the box. */
|
|
649
715
|
visibility: visible;
|
|
650
716
|
color: transparent;
|
|
651
717
|
position: relative;
|
|
652
718
|
display: inline-block;
|
|
653
|
-
/*
|
|
719
|
+
/* The box's width plus its gap; `TASK_HANGING_INDENT` in task-checkbox.ts is these two plus
|
|
720
|
+
the trailing space. */
|
|
654
721
|
width: 1.2em;
|
|
655
722
|
margin-right: 0.65em;
|
|
656
723
|
vertical-align: baseline;
|
|
@@ -665,9 +732,8 @@
|
|
|
665
732
|
.task-checkbox::before {
|
|
666
733
|
content: '';
|
|
667
734
|
visibility: visible;
|
|
668
|
-
/* Centred by layout and
|
|
669
|
-
|
|
670
|
-
The unrounded pair is the fallback for a browser without `round()`. */
|
|
735
|
+
/* Centred by layout and whole pixels, not a translate, which rasterises at fractional edges on
|
|
736
|
+
a scaled display; the unrounded pair is the fallback for a browser without `round()`. */
|
|
671
737
|
position: absolute;
|
|
672
738
|
inset: 0;
|
|
673
739
|
margin: auto;
|
|
@@ -676,13 +742,13 @@
|
|
|
676
742
|
width: round(1.2em, 1px);
|
|
677
743
|
height: round(1.2em, 1px);
|
|
678
744
|
box-sizing: border-box;
|
|
679
|
-
border: 1.5px solid var(--color-ui-muted, #
|
|
745
|
+
border: 1.5px solid var(--color-ui-muted, #93938d);
|
|
680
746
|
border-radius: 0.28em;
|
|
681
747
|
background: transparent;
|
|
682
748
|
}
|
|
683
749
|
|
|
684
|
-
/* Checked: the box fills with
|
|
685
|
-
|
|
750
|
+
/* Checked: the box fills with `--syntax-task-checked`, and the tick is two borders of a rotated
|
|
751
|
+
box in `--syntax-task-checked-tick`, so it needs no glyph and scales with the type. */
|
|
686
752
|
:where(.editor):is(
|
|
687
753
|
[data-presentation='reading'],
|
|
688
754
|
[data-presentation^='preview-'],
|
|
@@ -690,8 +756,8 @@
|
|
|
690
756
|
)
|
|
691
757
|
.list-item-block[data-task-checked='true']
|
|
692
758
|
.task-checkbox::before {
|
|
693
|
-
background: var(--color-text-primary, currentColor);
|
|
694
|
-
border-color: var(--color-text-primary, currentColor);
|
|
759
|
+
background: var(--syntax-task-checked, var(--color-text-primary, currentColor));
|
|
760
|
+
border-color: var(--syntax-task-checked, var(--color-text-primary, currentColor));
|
|
695
761
|
}
|
|
696
762
|
|
|
697
763
|
:where(.editor):is(
|
|
@@ -704,22 +770,20 @@
|
|
|
704
770
|
content: '';
|
|
705
771
|
visibility: visible;
|
|
706
772
|
position: absolute;
|
|
707
|
-
/* The
|
|
708
|
-
bottom edges, which rotation swings down and left. */
|
|
773
|
+
/* The box's centre, nudged up and right: the visible strokes are the L's right and
|
|
774
|
+
bottom edges, which the rotation swings down and left. */
|
|
709
775
|
left: 53%;
|
|
710
776
|
top: 45%;
|
|
711
777
|
width: 0.32em;
|
|
712
778
|
height: 0.6em;
|
|
713
779
|
box-sizing: border-box;
|
|
714
|
-
border: solid var(--color-bg, #2c2c2a);
|
|
780
|
+
border: solid var(--syntax-task-checked-tick, var(--color-bg, #2c2c2a));
|
|
715
781
|
border-width: 0 0.15em 0.15em 0;
|
|
716
782
|
transform: translate(-50%, -50%) rotate(45deg);
|
|
717
783
|
}
|
|
718
784
|
|
|
719
|
-
/* The span is
|
|
720
|
-
|
|
721
|
-
round the square, so in the rendered modes it moves onto the box: an open box fills with
|
|
722
|
-
the tint, a checked one is already a solid fill and keeps it. */
|
|
785
|
+
/* The span is a full line-height tall, so the rendered modes move its hover tint onto the box
|
|
786
|
+
inside it; a checked box is already solid and keeps its fill. */
|
|
723
787
|
:where(.editor):is(
|
|
724
788
|
[data-presentation='reading'],
|
|
725
789
|
[data-presentation^='preview-'],
|
|
@@ -751,11 +815,10 @@
|
|
|
751
815
|
}
|
|
752
816
|
|
|
753
817
|
/* ── Reading mode ─────────────────────────────────────────────────────────────
|
|
754
|
-
|
|
755
|
-
section above; reading adds only its read-only inertness on top — `live` takes none of it. */
|
|
818
|
+
Reading adds only read-only inertness to the shared marker hiding above. */
|
|
756
819
|
|
|
757
|
-
/* pointer-events
|
|
758
|
-
|
|
820
|
+
/* pointer-events stops the toggle click in CSS, and the check in toggleTask stops it in
|
|
821
|
+
JavaScript: a toggle rewrites the document, and reading mode writes no bytes. */
|
|
759
822
|
:where(.editor)[data-presentation='reading']
|
|
760
823
|
.list-item-block[data-list-marker='task']
|
|
761
824
|
.task-checkbox {
|
|
@@ -773,20 +836,17 @@
|
|
|
773
836
|
cursor: pointer;
|
|
774
837
|
}
|
|
775
838
|
|
|
776
|
-
/* ── Preview
|
|
777
|
-
|
|
778
|
-
only the constructs at the caret. Markers hide broadly (above) and un-hide INSIDE the
|
|
779
|
-
focused host: the naive `.block-host:not([data-focused])` would hide a focused leaf's
|
|
780
|
-
markers through its unfocused container ancestor. */
|
|
839
|
+
/* ── Preview modes (the whole block, or the constructs at the caret) ──────────
|
|
840
|
+
Markers hide broadly (above) and show again inside the focused block. */
|
|
781
841
|
|
|
782
|
-
/*
|
|
842
|
+
/* Every inline span, so the revealed source lays out exactly as source mode does. */
|
|
783
843
|
:where(.editor)[data-presentation='preview-block']
|
|
784
844
|
.block-host[data-focused]
|
|
785
845
|
.md-marker:not([contenteditable='false']) {
|
|
786
846
|
display: inline;
|
|
787
847
|
}
|
|
788
848
|
|
|
789
|
-
/* Code fence lines are whole-block markers, so both preview modes
|
|
849
|
+
/* Code fence lines are whole-block markers, so both preview modes show them on focus. */
|
|
790
850
|
:where(.editor)[data-presentation^='preview-'] .block-host[data-focused] .md-fence-line {
|
|
791
851
|
display: inline;
|
|
792
852
|
}
|
|
@@ -800,13 +860,13 @@
|
|
|
800
860
|
display: none;
|
|
801
861
|
}
|
|
802
862
|
|
|
803
|
-
/* Reference labels
|
|
863
|
+
/* Reference labels show on the focused block under preview-block. */
|
|
804
864
|
:where(.editor)[data-presentation='preview-block'] .block-host[data-focused] .md-ref-label {
|
|
805
865
|
display: inline;
|
|
806
866
|
}
|
|
807
867
|
|
|
808
|
-
/* preview-inline is
|
|
809
|
-
enter, so at
|
|
868
|
+
/* preview-inline is left out on purpose: a container's leading marker is syntax the caret can
|
|
869
|
+
never enter, so with only the constructs at the caret shown it keeps its rendered form. */
|
|
810
870
|
:where(.editor)[data-presentation='preview-block']
|
|
811
871
|
.block-host[data-focused]
|
|
812
872
|
.md-marker[contenteditable='false'] {
|
|
@@ -819,10 +879,8 @@
|
|
|
819
879
|
content: none;
|
|
820
880
|
}
|
|
821
881
|
|
|
822
|
-
/* ──
|
|
823
|
-
|
|
824
|
-
md-construct-reveal on the chain at the caret. Unstamped markers reveal with block focus as
|
|
825
|
-
under preview-block, so a table's stampless cells degrade to that behavior. */
|
|
882
|
+
/* ── Showing only the constructs at the caret (preview-inline) ────────────────
|
|
883
|
+
`construct-reveal.ts` marks the constructs at the caret; unmarked markers show on block focus. */
|
|
826
884
|
:where(.editor)[data-presentation='preview-inline']
|
|
827
885
|
.block-host[data-focused]
|
|
828
886
|
.md-marker:not([contenteditable='false']):not([data-construct-start]) {
|