@voithos-labs/aragonite 0.10.3 → 0.10.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/a11y-strings.d.ts +12 -5
- package/dist/a11y-strings.js +61 -5
- package/dist/action-contracts.d.ts +242 -155
- package/dist/action-contracts.js +2 -2
- package/dist/active-editor.d.ts +3 -3
- package/dist/active-editor.js +8 -9
- package/dist/ambient/ambient-dom.d.ts +2 -5
- package/dist/ambient/ambient-dom.js +16 -62
- package/dist/assert.js +6 -5
- package/dist/block-component.d.ts +135 -109
- package/dist/block-component.js +30 -22
- package/dist/block-id.d.ts +6 -10
- package/dist/block-id.js +25 -14
- package/dist/bounded-memo.d.ts +5 -5
- package/dist/bounded-memo.js +6 -6
- package/dist/components/BlockDragHandle.svelte +13 -20
- package/dist/components/BlockHost.svelte +56 -134
- package/dist/components/BlockList.svelte +22 -19
- package/dist/components/DecorationOverlay.svelte +9 -10
- package/dist/components/DecorationOverlay.svelte.d.ts +2 -2
- package/dist/components/Editor.svelte +619 -1089
- package/dist/components/Editor.svelte.d.ts +9 -20
- package/dist/components/GapCaret.svelte +26 -59
- package/dist/components/SelectionOverlay.svelte +36 -67
- package/dist/components/SelectionOverlay.svelte.d.ts +6 -4
- package/dist/components/TailInsert.svelte +8 -55
- package/dist/components/TailInsert.svelte.d.ts +4 -6
- package/dist/components/block-content-selector.d.ts +11 -11
- package/dist/components/block-content-selector.js +11 -11
- package/dist/components/block-el-lookup.d.ts +6 -0
- package/dist/components/block-el-lookup.js +27 -0
- package/dist/components/blocks/BlockquoteBlock.svelte +3 -3
- package/dist/components/blocks/ThematicBreakBlock.svelte +22 -63
- package/dist/components/blocks/ThematicBreakBlock.svelte.d.ts +0 -2
- package/dist/components/blocks/code/CodeBlock.svelte +255 -276
- package/dist/components/blocks/code/CodeBlock.svelte.d.ts +2 -3
- package/dist/components/blocks/code/CodeBlockRail.svelte +103 -100
- package/dist/components/blocks/code/CodeBlockRail.svelte.d.ts +9 -4
- package/dist/components/blocks/code/code-beforeinput.d.ts +1 -1
- package/dist/components/blocks/code/code-bootstrap.d.ts +3 -5
- package/dist/components/blocks/code/code-bootstrap.js +35 -28
- package/dist/components/blocks/code/code-context-actions.js +5 -4
- package/dist/components/blocks/code/code-enter.js +2 -2
- package/dist/components/blocks/code/code-fence-boundary.d.ts +29 -46
- package/dist/components/blocks/code/code-fence-boundary.js +40 -66
- package/dist/components/blocks/code/code-fence-exit.d.ts +6 -11
- package/dist/components/blocks/code/code-fence-exit.js +24 -25
- package/dist/components/blocks/code/code-indent.d.ts +2 -2
- package/dist/components/blocks/code/code-indent.js +4 -7
- package/dist/components/blocks/code/code-languages.d.ts +16 -12
- package/dist/components/blocks/code/code-languages.js +58 -32
- package/dist/components/blocks/code/code-paste-surface.d.ts +3 -2
- package/dist/components/blocks/code/code-paste-surface.js +9 -18
- package/dist/components/blocks/code/code-renderer.d.ts +21 -5
- package/dist/components/blocks/code/code-renderer.js +90 -125
- package/dist/components/blocks/directive/DirectiveContainerBlock.svelte +5 -8
- package/dist/components/blocks/directive/activate-directives.d.ts +4 -4
- package/dist/components/blocks/directive/activate-directives.js +18 -13
- package/dist/components/blocks/editable-leaf.d.ts +50 -74
- package/dist/components/blocks/editable-leaf.js +144 -202
- package/dist/components/blocks/editable-surface.d.ts +96 -100
- package/dist/components/blocks/editable-surface.js +101 -109
- package/dist/components/blocks/list/ListBlock.svelte +46 -90
- package/dist/components/blocks/list/ListItemBlock.svelte +99 -144
- package/dist/components/blocks/list/ListItemBlock.svelte.d.ts +3 -0
- package/dist/components/blocks/list/task-checkbox.d.ts +5 -2
- package/dist/components/blocks/list/task-checkbox.js +12 -7
- package/dist/components/blocks/plain-text-backend.d.ts +4 -20
- package/dist/components/blocks/plain-text-backend.js +9 -43
- package/dist/components/blocks/surface-wiring.svelte.d.ts +8 -9
- package/dist/components/blocks/surface-wiring.svelte.js +15 -34
- package/dist/components/blocks/table/TableActionMenu.svelte +19 -18
- package/dist/components/blocks/table/TableActionMenu.svelte.d.ts +3 -1
- package/dist/components/blocks/table/TableBlock.svelte +100 -165
- package/dist/components/blocks/table/TableBlock.svelte.d.ts +3 -3
- package/dist/components/blocks/table/TableCellBlock.svelte +307 -385
- package/dist/components/blocks/table/TableCellBlock.svelte.d.ts +1 -0
- package/dist/components/blocks/table/TableRowBlock.svelte +60 -104
- package/dist/components/blocks/table/TableRowBlock.svelte.d.ts +0 -1
- package/dist/components/blocks/table/cell-keydown-plan.d.ts +4 -9
- package/dist/components/blocks/table/cell-keydown-plan.js +8 -12
- package/dist/components/blocks/table/cell-pointer.d.ts +18 -23
- package/dist/components/blocks/table/cell-pointer.js +49 -71
- package/dist/components/blocks/table/cell-render.d.ts +24 -29
- package/dist/components/blocks/table/cell-render.js +29 -31
- package/dist/components/blocks/table/selected-cells.d.ts +7 -7
- package/dist/components/blocks/table/selected-cells.js +9 -13
- package/dist/components/blocks/table/table-caret-at-point.d.ts +4 -4
- package/dist/components/blocks/table/table-caret-at-point.js +5 -5
- package/dist/components/blocks/table/table-cell-paste.d.ts +5 -11
- package/dist/components/blocks/table/table-cell-paste.js +27 -43
- package/dist/components/blocks/table/table-drag-hit-test.js +2 -1
- package/dist/components/blocks/table/table-menu-model.d.ts +4 -8
- package/dist/components/blocks/table/table-menu-model.js +6 -10
- package/dist/components/blocks/table/table-navigation.js +2 -2
- package/dist/components/blocks/text/TextEditableBlock.svelte +392 -310
- package/dist/components/blocks/text/TextEditableBlock.svelte.d.ts +2 -1
- package/dist/components/blocks/text/auto-pair-record.d.ts +23 -0
- package/dist/components/blocks/text/auto-pair-record.js +51 -0
- package/dist/components/blocks/text/click-snap-guard.d.ts +9 -4
- package/dist/components/blocks/text/click-snap-guard.js +16 -5
- package/dist/components/blocks/text/composition-seat.d.ts +17 -14
- package/dist/components/blocks/text/composition-seat.js +11 -11
- package/dist/components/blocks/text/construct-edge-delete.d.ts +20 -20
- package/dist/components/blocks/text/construct-edge-delete.js +50 -65
- package/dist/components/blocks/text/construct-reveal.d.ts +16 -21
- package/dist/components/blocks/text/construct-reveal.js +13 -14
- package/dist/components/blocks/text/delimiter-autopair.d.ts +51 -34
- package/dist/components/blocks/text/delimiter-autopair.js +87 -103
- package/dist/components/blocks/text/edge-policy-dispatch.d.ts +44 -46
- package/dist/components/blocks/text/edge-policy-dispatch.js +164 -180
- package/dist/components/blocks/text/edge-seat.d.ts +17 -26
- package/dist/components/blocks/text/edge-seat.js +43 -70
- package/dist/components/blocks/text/link-at-point.d.ts +9 -9
- package/dist/components/blocks/text/link-at-point.js +12 -15
- package/dist/components/blocks/text/live-join-seam.d.ts +6 -9
- package/dist/components/blocks/text/live-join-seam.js +75 -112
- package/dist/components/blocks/text/live-selection-edit.d.ts +14 -43
- package/dist/components/blocks/text/live-selection-edit.js +32 -105
- package/dist/components/blocks/text/live-split-rebalance.d.ts +9 -13
- package/dist/components/blocks/text/live-split-rebalance.js +50 -67
- package/dist/components/blocks/text/marker-completion.d.ts +7 -12
- package/dist/components/blocks/text/marker-completion.js +17 -10
- package/dist/components/blocks/text/pending-mark-insert.d.ts +11 -18
- package/dist/components/blocks/text/pending-mark-insert.js +30 -49
- package/dist/components/blocks/text/screen-diff.d.ts +5 -15
- package/dist/components/blocks/text/screen-diff.js +5 -19
- package/dist/components/blocks/text/text-clipboard.d.ts +23 -32
- package/dist/components/blocks/text/text-clipboard.js +27 -32
- package/dist/components/blocks/text/text-keydown.d.ts +20 -30
- package/dist/components/blocks/text/text-keydown.js +54 -51
- package/dist/components/blocks/text/text-render.d.ts +25 -35
- package/dist/components/blocks/text/text-render.js +82 -61
- package/dist/components/blocks/text/widget-adjacency.d.ts +9 -9
- package/dist/components/blocks/text/widget-adjacency.js +17 -17
- package/dist/components/blocks/text/widget-interaction.d.ts +67 -43
- package/dist/components/blocks/text/widget-interaction.js +243 -208
- package/dist/components/blocks/widget-portal.d.ts +20 -29
- package/dist/components/blocks/widget-portal.js +16 -14
- package/dist/components/built-in-blocks.d.ts +3 -4
- package/dist/components/built-in-blocks.js +17 -18
- package/dist/components/drag-handle.d.ts +13 -30
- package/dist/components/drag-handle.js +25 -63
- package/dist/components/editor-built-ins.d.ts +1 -0
- package/dist/components/editor-built-ins.js +16 -0
- package/dist/components/editor-root-clipboard.d.ts +6 -6
- package/dist/components/editor-root-clipboard.js +16 -27
- package/dist/components/editor-root-document-swap.d.ts +49 -0
- package/dist/components/editor-root-document-swap.js +54 -0
- package/dist/components/editor-root-focus.d.ts +5 -4
- package/dist/components/editor-root-focus.js +51 -22
- package/dist/components/editor-root-focused-surface.d.ts +35 -0
- package/dist/components/editor-root-focused-surface.js +65 -0
- package/dist/components/editor-root-geometry.d.ts +15 -24
- package/dist/components/editor-root-geometry.js +27 -31
- package/dist/components/editor-root-gestures.d.ts +39 -0
- package/dist/components/editor-root-gestures.js +189 -0
- package/dist/components/editor-root-keydown.d.ts +10 -25
- package/dist/components/editor-root-keydown.js +19 -43
- package/dist/components/editor-root-listeners.d.ts +22 -31
- package/dist/components/editor-root-listeners.js +49 -46
- package/dist/components/editor-root-menus.d.ts +51 -0
- package/dist/components/editor-root-menus.js +147 -0
- package/dist/components/editor-root-mode-flip.d.ts +16 -11
- package/dist/components/editor-root-mode-flip.js +36 -34
- package/dist/components/editor-root-scroll-host.d.ts +22 -0
- package/dist/components/editor-root-scroll-host.js +34 -0
- package/dist/components/editor-root-test-surface.d.ts +48 -0
- package/dist/components/editor-root-test-surface.js +6 -0
- package/dist/components/image/ImageOverlayHost.svelte +44 -35
- package/dist/components/image/ImageOverlayHost.svelte.d.ts +5 -6
- package/dist/components/image/ImageProperties.svelte +37 -41
- package/dist/components/image/ImageProperties.svelte.d.ts +9 -4
- package/dist/components/image/ImageResizeHandles.svelte +26 -30
- package/dist/components/image/image-crop.d.ts +5 -11
- package/dist/components/image/image-crop.js +5 -11
- package/dist/components/image/image-edit-commit.d.ts +19 -16
- package/dist/components/image/image-edit-commit.js +74 -38
- package/dist/components/image/image-resize.d.ts +2 -5
- package/dist/components/image/image-resize.js +3 -6
- package/dist/components/image/image-widget-editing.d.ts +3 -3
- package/dist/components/image/image-widget-editing.js +9 -9
- package/dist/components/image/widget-dom.d.ts +2 -3
- package/dist/components/image/widget-dom.js +19 -24
- package/dist/components/image/widget-selection-state.svelte.d.ts +10 -11
- package/dist/components/image/widget-selection-state.svelte.js +26 -19
- package/dist/components/kind-cue.svelte.d.ts +21 -0
- package/dist/components/kind-cue.svelte.js +35 -0
- package/dist/components/link-card/LinkCard.svelte +115 -64
- package/dist/components/link-card/LinkCard.svelte.d.ts +7 -5
- package/dist/components/link-card/LinkCardHost.svelte +42 -33
- package/dist/components/link-card/LinkCardHost.svelte.d.ts +10 -8
- package/dist/components/link-card/link-card-commit.d.ts +16 -19
- package/dist/components/link-card/link-card-commit.js +21 -30
- package/dist/components/link-card/link-card-entry.d.ts +13 -23
- package/dist/components/link-card/link-card-entry.js +16 -24
- package/dist/components/link-card/link-card-state.svelte.d.ts +17 -21
- package/dist/components/link-card/link-card-state.svelte.js +2 -2
- package/dist/components/lrd-map-gate.d.ts +4 -11
- package/dist/components/lrd-map-gate.js +5 -11
- package/dist/components/menu/BlockMenu.svelte +20 -81
- package/dist/components/menu/BlockMenu.svelte.d.ts +11 -9
- package/dist/components/menu/InlineMenuHost.svelte +191 -0
- package/dist/components/menu/InlineMenuHost.svelte.d.ts +13 -0
- package/dist/components/menu/MenuIcon.svelte +3 -103
- package/dist/components/menu/MenuIcon.svelte.d.ts +2 -44
- package/dist/components/menu/SelectionToolbar.svelte +380 -0
- package/dist/components/menu/SelectionToolbar.svelte.d.ts +14 -0
- package/dist/components/menu/clipboard-actions.d.ts +3 -4
- package/dist/components/menu/clipboard-actions.js +3 -4
- package/dist/components/menu/default-context-actions.d.ts +4 -13
- package/dist/components/menu/default-context-actions.js +49 -67
- package/dist/components/menu/flyout-placement.d.ts +2 -2
- package/dist/components/menu/flyout-placement.js +2 -2
- package/dist/components/menu/menu-presence.svelte.d.ts +12 -0
- package/dist/components/menu/menu-presence.svelte.js +19 -0
- package/dist/components/paste-image-arm.d.ts +6 -11
- package/dist/components/paste-image-arm.js +11 -18
- package/dist/components/portal.d.ts +2 -5
- package/dist/components/portal.js +4 -7
- package/dist/core/directive/activate.d.ts +4 -5
- package/dist/core/directive/activate.js +8 -9
- package/dist/core/directive/container-opener.js +13 -12
- package/dist/core/directive/grammar.d.ts +2 -5
- package/dist/core/directive/grammar.js +10 -10
- package/dist/core/directive/kinds.d.ts +4 -7
- package/dist/core/directive/kinds.js +14 -16
- package/dist/core/directive/registry.d.ts +12 -9
- package/dist/core/directive/registry.js +19 -20
- package/dist/core/directive/text-recognizer.d.ts +3 -2
- package/dist/core/directive/text-recognizer.js +5 -9
- package/dist/core/escapable.d.ts +1 -5
- package/dist/core/escapable.js +1 -5
- package/dist/core/inline/backticks.d.ts +3 -4
- package/dist/core/inline/backticks.js +3 -4
- package/dist/core/inline/character-refs.js +2 -1
- package/dist/core/inline/destination-bytes.d.ts +6 -3
- package/dist/core/inline/destination-bytes.js +50 -8
- package/dist/core/inline/entity-widget.d.ts +4 -3
- package/dist/core/inline/entity-widget.js +6 -6
- package/dist/core/inline/format-toggle.d.ts +22 -28
- package/dist/core/inline/format-toggle.js +97 -129
- package/dist/core/inline/html-entities.d.ts +2 -3
- package/dist/core/inline/html-entities.js +2 -3
- package/dist/core/inline/html-tag-grammar.js +6 -2
- package/dist/core/inline/image-dimensions.d.ts +2 -0
- package/dist/core/inline/image-dimensions.js +19 -2
- package/dist/core/inline/image-source-bytes.d.ts +11 -0
- package/dist/core/inline/image-source-bytes.js +71 -0
- package/dist/core/inline/index.d.ts +28 -21
- package/dist/core/inline/index.js +56 -34
- package/dist/core/inline/inline-cache.d.ts +12 -15
- package/dist/core/inline/inline-cache.js +11 -14
- package/dist/core/inline/inline-widgets.d.ts +55 -68
- package/dist/core/inline/inline-widgets.js +55 -58
- package/dist/core/inline/link-destination.d.ts +31 -0
- package/dist/core/inline/link-destination.js +129 -0
- package/dist/core/inline/link-reference-resolver.d.ts +8 -6
- package/dist/core/inline/link-reference-resolver.js +10 -6
- package/dist/core/inline/link-source-bytes.d.ts +31 -0
- package/dist/{components/blocks/text → core/inline}/link-source-bytes.js +43 -54
- package/dist/core/inline/live-edit/read-back.d.ts +29 -0
- package/dist/core/inline/live-edit/read-back.js +50 -0
- package/dist/core/inline/picture.d.ts +10 -0
- package/dist/core/inline/picture.js +40 -0
- package/dist/core/inline/scan/autolinks.d.ts +7 -8
- package/dist/core/inline/scan/autolinks.js +80 -59
- package/dist/core/inline/scan/brackets.d.ts +2 -2
- package/dist/core/inline/scan/brackets.js +6 -103
- package/dist/core/inline/scan/code-spans.d.ts +4 -0
- package/dist/core/inline/scan/code-spans.js +8 -0
- package/dist/core/inline/scan/emphasis.js +10 -14
- package/dist/core/inline/scan/index.d.ts +3 -1
- package/dist/core/inline/scan/index.js +32 -33
- package/dist/core/inline/scan/plugin-syntax.d.ts +28 -36
- package/dist/core/inline/scan/plugin-syntax.js +75 -89
- package/dist/core/inline/scan/scan-state.d.ts +2 -0
- package/dist/core/inline/scan/scan-state.js +1 -0
- package/dist/core/inline/scan/simple-nodes.d.ts +2 -5
- package/dist/core/inline/scan/simple-nodes.js +2 -5
- package/dist/core/inline/scan/triggers.d.ts +17 -0
- package/dist/core/inline/scan/triggers.js +26 -0
- package/dist/core/inline/scan/url.js +8 -10
- package/dist/core/inline/transparency.d.ts +2 -1
- package/dist/core/inline/transparency.js +33 -17
- package/dist/core/inline/visibility.d.ts +30 -49
- package/dist/core/inline/visibility.js +31 -49
- package/dist/core/inline/walk.d.ts +4 -10
- package/dist/core/inline/walk.js +4 -10
- package/dist/core/inline-render.d.ts +22 -27
- package/dist/core/inline-render.js +51 -60
- package/dist/core/lines.d.ts +67 -26
- package/dist/core/lines.js +164 -33
- package/dist/core/metadata-parity.d.ts +9 -0
- package/dist/core/metadata-parity.js +25 -0
- package/dist/core/node-views.d.ts +7 -6
- package/dist/core/node-views.js +5 -5
- package/dist/core/nodes.d.ts +34 -44
- package/dist/core/nodes.js +4 -12
- package/dist/core/parser.d.ts +27 -34
- package/dist/core/parser.js +53 -67
- package/dist/core/parsers/blockquote.d.ts +5 -8
- package/dist/core/parsers/blockquote.js +11 -10
- package/dist/core/parsers/built-in-openers.d.ts +2 -5
- package/dist/core/parsers/built-in-openers.js +5 -8
- package/dist/core/parsers/fence-syntax.d.ts +36 -7
- package/dist/core/parsers/fence-syntax.js +61 -11
- package/dist/core/parsers/fenced-code.d.ts +16 -0
- package/dist/core/parsers/fenced-code.js +16 -15
- package/dist/core/parsers/heading.d.ts +19 -2
- package/dist/core/parsers/heading.js +50 -2
- package/dist/core/parsers/html-block.d.ts +3 -6
- package/dist/core/parsers/html-block.js +10 -11
- package/dist/core/parsers/indented-code.d.ts +1 -1
- package/dist/core/parsers/indented-code.js +2 -8
- package/dist/core/parsers/link-reference.d.ts +5 -3
- package/dist/core/parsers/link-reference.js +116 -120
- package/dist/core/parsers/list.d.ts +12 -5
- package/dist/core/parsers/list.js +53 -36
- package/dist/core/parsers/paragraph.d.ts +3 -3
- package/dist/core/parsers/paragraph.js +14 -5
- package/dist/core/parsers/table-completion.d.ts +2 -5
- package/dist/core/parsers/table-completion.js +7 -10
- package/dist/core/parsers/table.d.ts +8 -8
- package/dist/core/parsers/table.js +23 -26
- package/dist/core/parsers/thematic-break.js +15 -14
- package/dist/core/paths.d.ts +13 -0
- package/dist/core/paths.js +31 -0
- package/dist/core/terminator-escalation.d.ts +0 -7
- package/dist/core/terminator-escalation.js +5 -8
- package/dist/core/url-policy.d.ts +2 -5
- package/dist/core/url-policy.js +8 -12
- package/dist/cursor/caret-memory.d.ts +34 -0
- package/dist/cursor/caret-memory.js +82 -0
- package/dist/cursor/coordinate-spaces.d.ts +26 -19
- package/dist/cursor/coordinate-spaces.js +32 -20
- package/dist/cursor/dom-walk.d.ts +7 -13
- package/dist/cursor/dom-walk.js +7 -13
- package/dist/cursor/edge-affinity.d.ts +7 -35
- package/dist/cursor/edge-affinity.js +13 -44
- package/dist/cursor/focused-caret.d.ts +6 -8
- package/dist/cursor/focused-caret.js +7 -16
- package/dist/cursor/height-model.d.ts +3 -3
- package/dist/cursor/height-model.js +5 -5
- package/dist/cursor/height-oracle.d.ts +10 -7
- package/dist/cursor/height-oracle.js +26 -75
- package/dist/cursor/observe-resize.d.ts +13 -0
- package/dist/cursor/observe-resize.js +43 -0
- package/dist/cursor/overlay-rects.d.ts +2 -5
- package/dist/cursor/overlay-rects.js +2 -5
- package/dist/cursor/overlay-remeasure.d.ts +6 -7
- package/dist/cursor/overlay-remeasure.js +10 -14
- package/dist/cursor/pending-marks.d.ts +7 -9
- package/dist/cursor/pending-marks.js +6 -27
- package/dist/cursor/point-offset.d.ts +16 -10
- package/dist/cursor/point-offset.js +60 -25
- package/dist/cursor/reveal-source.d.ts +7 -11
- package/dist/cursor/reveal-source.js +10 -18
- package/dist/cursor/scroll-ancestors.d.ts +9 -20
- package/dist/cursor/scroll-ancestors.js +14 -26
- package/dist/cursor/scroll-owner.d.ts +92 -0
- package/dist/cursor/scroll-owner.js +283 -0
- package/dist/cursor/scrollport.d.ts +16 -8
- package/dist/cursor/scrollport.js +28 -5
- package/dist/cursor/sticky-column.d.ts +6 -29
- package/dist/cursor/sticky-column.js +6 -49
- package/dist/cursor/sticky-measure.d.ts +14 -9
- package/dist/cursor/sticky-measure.js +99 -49
- package/dist/cursor/surface-backend.d.ts +41 -0
- package/dist/cursor/surface-backend.js +78 -0
- package/dist/cursor/typography-estimates.d.ts +3 -3
- package/dist/cursor/typography-estimates.js +3 -3
- package/dist/cursor/visual-lines.d.ts +25 -13
- package/dist/cursor/visual-lines.js +72 -28
- package/dist/cursor/widget-edge-snap.d.ts +23 -0
- package/dist/cursor/widget-edge-snap.js +39 -0
- package/dist/cursor/widget-offset.d.ts +111 -102
- package/dist/cursor/widget-offset.js +352 -177
- package/dist/debug/diagnostics-report.d.ts +6 -6
- package/dist/debug/diagnostics-report.js +5 -5
- package/dist/debug/dump-tree.js +2 -2
- package/dist/debug/editor-diagnostics.d.ts +15 -0
- package/dist/debug/editor-diagnostics.js +33 -0
- package/dist/debug/inspect.d.ts +2 -2
- package/dist/debug/inspect.js +4 -4
- package/dist/debug/interaction-trace.d.ts +14 -15
- package/dist/debug/interaction-trace.js +19 -20
- package/dist/debug/operations-log.d.ts +1 -1
- package/dist/debug/operations-log.js +1 -1
- package/dist/decorations/buckets.d.ts +6 -12
- package/dist/decorations/buckets.js +4 -11
- package/dist/decorations/decoration-state.svelte.d.ts +2 -3
- package/dist/decorations/decoration-state.svelte.js +24 -26
- package/dist/decorations/island-dom.d.ts +10 -18
- package/dist/decorations/island-dom.js +25 -50
- package/dist/decorations/reserved-attrs.d.ts +6 -8
- package/dist/decorations/reserved-attrs.js +31 -17
- package/dist/decorations/types.d.ts +6 -7
- package/dist/decorations/types.js +2 -1
- package/dist/decorations/use-block-decorations.svelte.d.ts +19 -0
- package/dist/decorations/use-block-decorations.svelte.js +71 -0
- package/dist/decorations/widget-dom.d.ts +3 -3
- package/dist/decorations/widget-dom.js +5 -5
- package/dist/dev-warn.d.ts +5 -2
- package/dist/dev-warn.js +16 -4
- package/dist/editor-actions/ancestry-folds.d.ts +9 -14
- package/dist/editor-actions/ancestry-folds.js +13 -18
- package/dist/editor-actions/block-edit-core.d.ts +49 -22
- package/dist/editor-actions/block-edit-core.js +279 -151
- package/dist/editor-actions/block-edit-scope.d.ts +63 -50
- package/dist/editor-actions/block-edit-scope.js +100 -48
- package/dist/editor-actions/block-edit.d.ts +2 -3
- package/dist/editor-actions/block-edit.js +14 -90
- package/dist/editor-actions/commit/history.d.ts +4 -4
- package/dist/editor-actions/commit/history.js +33 -34
- package/dist/editor-actions/commit/reading-write-gate.d.ts +18 -0
- package/dist/editor-actions/commit/reading-write-gate.js +56 -0
- package/dist/editor-actions/commit/text-batch.d.ts +7 -11
- package/dist/editor-actions/commit/text-batch.js +6 -7
- package/dist/editor-actions/commit/undo-controller.d.ts +6 -4
- package/dist/editor-actions/commit/undo-controller.js +346 -216
- package/dist/editor-actions/container-block-component.d.ts +32 -51
- package/dist/editor-actions/container-block-component.js +66 -92
- package/dist/editor-actions/container-edit.d.ts +4 -2
- package/dist/editor-actions/container-edit.js +14 -44
- package/dist/editor-actions/container-exit-overrides.d.ts +6 -4
- package/dist/editor-actions/container-exit-overrides.js +19 -21
- package/dist/editor-actions/deps.d.ts +25 -32
- package/dist/editor-actions/enter-completion.d.ts +12 -15
- package/dist/editor-actions/enter-completion.js +49 -51
- package/dist/editor-actions/focus/focus-dispatch.d.ts +24 -25
- package/dist/editor-actions/focus/focus-dispatch.js +33 -52
- package/dist/editor-actions/focus/focus-landing.d.ts +11 -5
- package/dist/editor-actions/focus/focus-landing.js +29 -14
- package/dist/editor-actions/focus/focus.d.ts +3 -2
- package/dist/editor-actions/focus/focus.js +42 -59
- package/dist/editor-actions/index.d.ts +4 -3
- package/dist/editor-actions/index.js +5 -4
- package/dist/editor-actions/inline-range-commit.d.ts +18 -16
- package/dist/editor-actions/inline-range-commit.js +45 -54
- package/dist/editor-actions/leaf-write.d.ts +11 -0
- package/dist/editor-actions/leaf-write.js +102 -0
- package/dist/editor-actions/list-context.d.ts +9 -10
- package/dist/editor-actions/list-context.js +115 -110
- package/dist/editor-actions/list-overrides.d.ts +13 -5
- package/dist/editor-actions/list-overrides.js +36 -12
- package/dist/editor-actions/merge-fallback.d.ts +10 -16
- package/dist/editor-actions/merge-fallback.js +11 -22
- package/dist/editor-actions/nested/container-actions.d.ts +37 -0
- package/dist/editor-actions/nested/container-actions.js +42 -0
- package/dist/editor-actions/nested/emptied-container.d.ts +5 -0
- package/dist/editor-actions/nested/emptied-container.js +5 -0
- package/dist/editor-actions/nested/nested-actions.d.ts +22 -25
- package/dist/editor-actions/nested/nested-actions.js +17 -15
- package/dist/editor-actions/nested/nested-block-edit.d.ts +3 -4
- package/dist/editor-actions/nested/nested-block-edit.js +40 -134
- package/dist/editor-actions/nested/nested-focus.d.ts +2 -3
- package/dist/editor-actions/nested/nested-focus.js +33 -21
- package/dist/editor-actions/paste-coordinator.d.ts +3 -2
- package/dist/editor-actions/paste-coordinator.js +17 -13
- package/dist/editor-actions/plugin/chrome-leaf.d.ts +11 -9
- package/dist/editor-actions/plugin/chrome-leaf.js +14 -13
- package/dist/editor-actions/plugin/container.d.ts +55 -76
- package/dist/editor-actions/plugin/container.js +105 -186
- package/dist/editor-actions/plugin/directive-container.d.ts +4 -4
- package/dist/editor-actions/plugin/directive-container.js +7 -8
- package/dist/editor-actions/reorder-action.d.ts +7 -12
- package/dist/editor-actions/reorder-action.js +32 -48
- package/dist/editor-actions/reorder-drag.d.ts +12 -8
- package/dist/editor-actions/reorder-drag.js +45 -41
- package/dist/editor-actions/replacement-focus.d.ts +13 -21
- package/dist/editor-actions/replacement-focus.js +32 -33
- package/dist/editor-actions/search-replace.js +71 -67
- package/dist/editor-actions/stored-caret.d.ts +7 -0
- package/dist/editor-actions/stored-caret.js +10 -0
- package/dist/editor-actions/table-context.d.ts +9 -11
- package/dist/editor-actions/table-context.js +70 -93
- package/dist/editor-actions/unwrap-strategies.d.ts +4 -5
- package/dist/editor-actions/unwrap-strategies.js +52 -63
- package/dist/editor-actions/whole-block-focus-surface.d.ts +19 -28
- package/dist/editor-actions/whole-block-focus-surface.js +43 -53
- package/dist/editor-events.d.ts +25 -29
- package/dist/editor-events.js +17 -28
- package/dist/editor-keys.d.ts +96 -104
- package/dist/editor-keys.js +11 -24
- package/dist/editor-props.d.ts +91 -71
- package/dist/editor-rects.d.ts +23 -34
- package/dist/editor-rects.js +9 -77
- package/dist/env.d.ts +6 -4
- package/dist/env.js +8 -4
- package/dist/index.d.ts +6 -2
- package/dist/index.js +5 -2
- package/dist/inline-menu/inline-menu-session.d.ts +37 -0
- package/dist/inline-menu/inline-menu-session.js +98 -0
- package/dist/inline-menu/inline-menu-state.svelte.d.ts +63 -0
- package/dist/inline-menu/inline-menu-state.svelte.js +409 -0
- package/dist/inline-menu/types.d.ts +77 -0
- package/dist/inline-menu/types.js +7 -0
- package/dist/invariants/child-id-parity.d.ts +23 -0
- package/dist/invariants/child-id-parity.js +39 -0
- package/dist/invariants/commit-paths.d.ts +4 -4
- package/dist/invariants/commit-paths.js +4 -4
- package/dist/invariants/commit-scope.d.ts +4 -4
- package/dist/invariants/commit-scope.js +9 -8
- package/dist/invariants/context-keys.d.ts +2 -5
- package/dist/invariants/context-keys.js +3 -6
- package/dist/invariants/descriptor.d.ts +2 -6
- package/dist/invariants/descriptor.js +2 -6
- package/dist/invariants/inline-transitions.d.ts +9 -16
- package/dist/invariants/inline-transitions.js +10 -18
- package/dist/invariants/install.d.ts +18 -27
- package/dist/invariants/install.js +29 -30
- package/dist/invariants/keeps-a-block.d.ts +7 -0
- package/dist/invariants/keeps-a-block.js +14 -0
- package/dist/invariants/landable-caret.d.ts +5 -7
- package/dist/invariants/landable-caret.js +8 -11
- package/dist/invariants/landing-focus-scroll.d.ts +7 -0
- package/dist/invariants/landing-focus-scroll.js +13 -0
- package/dist/invariants/landing-value.d.ts +13 -0
- package/dist/invariants/landing-value.js +27 -0
- package/dist/invariants/marker-css-parity.d.ts +5 -6
- package/dist/invariants/marker-css-parity.js +11 -12
- package/dist/invariants/measures-in-own-list.d.ts +6 -0
- package/dist/invariants/measures-in-own-list.js +13 -0
- package/dist/invariants/node-shape.d.ts +18 -37
- package/dist/invariants/node-shape.js +123 -79
- package/dist/invariants/open-tail.d.ts +7 -0
- package/dist/invariants/open-tail.js +45 -0
- package/dist/invariants/placement-ends-widget.d.ts +8 -0
- package/dist/invariants/placement-ends-widget.js +13 -0
- package/dist/invariants/registry.d.ts +27 -66
- package/dist/invariants/registry.js +61 -137
- package/dist/invariants/render-fidelity.d.ts +4 -4
- package/dist/invariants/render-fidelity.js +5 -5
- package/dist/invariants/selection-endpoints.d.ts +6 -7
- package/dist/invariants/selection-endpoints.js +18 -16
- package/dist/invariants/single-node-sink.d.ts +4 -5
- package/dist/invariants/single-node-sink.js +4 -5
- package/dist/invariants/snapshot-integrity.d.ts +5 -6
- package/dist/invariants/snapshot-integrity.js +1 -1
- package/dist/invariants/structural-descriptor.d.ts +6 -15
- package/dist/invariants/structural-descriptor.js +6 -15
- package/dist/menu-icons.d.ts +47 -0
- package/dist/menu-icons.js +113 -0
- package/dist/perf/instruments.d.ts +20 -5
- package/dist/perf/instruments.js +35 -15
- package/dist/perf/use-mount-gauge.svelte.js +4 -4
- package/dist/plugin.d.ts +38 -8
- package/dist/plugin.js +102 -74
- package/dist/plugins/admonitions/AdmonitionBlock.svelte +14 -11
- package/dist/plugins/admonitions/admonition-kind.js +12 -10
- package/dist/plugins/admonitions/convert-document.d.ts +5 -5
- package/dist/plugins/admonitions/convert-document.js +8 -7
- package/dist/plugins/admonitions/gh-alert.d.ts +8 -1
- package/dist/plugins/admonitions/gh-alert.js +21 -22
- package/dist/plugins/admonitions/github-alert-kind.d.ts +5 -7
- package/dist/plugins/admonitions/github-alert-kind.js +28 -37
- package/dist/plugins/admonitions/index.js +2 -2
- package/dist/plugins/admonitions/kinds.d.ts +1 -1
- package/dist/plugins/admonitions/register.js +11 -2
- package/dist/plugins/details/DetailsBlock.svelte +20 -20
- package/dist/plugins/details/details-disclosure.svelte.d.ts +5 -6
- package/dist/plugins/details/details-disclosure.svelte.js +6 -7
- package/dist/plugins/details/details-kind.d.ts +6 -7
- package/dist/plugins/details/details-kind.js +44 -59
- package/dist/plugins/emoji/emoji-recognizer.d.ts +4 -7
- package/dist/plugins/emoji/emoji-recognizer.js +7 -14
- package/dist/plugins/footnotes/FootnoteDefinition.svelte +33 -16
- package/dist/plugins/footnotes/FootnoteReference.svelte +39 -19
- package/dist/plugins/footnotes/constants.d.ts +2 -0
- package/dist/plugins/footnotes/constants.js +3 -0
- package/dist/plugins/footnotes/footnote-definition.d.ts +8 -6
- package/dist/plugins/footnotes/footnote-definition.js +69 -45
- package/dist/plugins/footnotes/footnote-lookup.d.ts +3 -3
- package/dist/plugins/footnotes/footnote-lookup.js +14 -26
- package/dist/plugins/footnotes/footnote-numbering.d.ts +11 -11
- package/dist/plugins/footnotes/footnote-numbering.js +22 -31
- package/dist/plugins/footnotes/footnote-reference.d.ts +4 -4
- package/dist/plugins/footnotes/footnote-reference.js +8 -13
- package/dist/plugins/footnotes/index.js +2 -3
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.d.ts +5 -8
- package/dist/plugins/highlight-occurrences/highlight-occurrences-plugin.js +8 -3
- package/dist/plugins/highlight-occurrences/occurrence-source.d.ts +10 -12
- package/dist/plugins/highlight-occurrences/occurrence-source.js +21 -18
- package/dist/plugins/highlight-occurrences/occurrences.d.ts +11 -11
- package/dist/plugins/highlight-occurrences/occurrences.js +14 -36
- package/dist/plugins/highlight-occurrences/word-char.d.ts +1 -0
- package/dist/plugins/highlight-occurrences/word-char.js +4 -0
- package/dist/plugins/latex/BlockMath.svelte +58 -75
- package/dist/plugins/latex/BlockMath.svelte.d.ts +2 -4
- package/dist/plugins/latex/MathInline.svelte +10 -9
- package/dist/plugins/latex/flanking.d.ts +1 -0
- package/dist/plugins/latex/flanking.js +3 -0
- package/dist/plugins/latex/index.d.ts +1 -1
- package/dist/plugins/latex/latex-kind.d.ts +4 -4
- package/dist/plugins/latex/latex-kind.js +113 -85
- package/dist/plugins/latex/math-completion.d.ts +1 -1
- package/dist/plugins/latex/math-completion.js +5 -8
- package/dist/plugins/latex/math-layout.d.ts +2 -8
- package/dist/plugins/latex/math-layout.js +0 -9
- package/dist/plugins/latex/math-renderer.d.ts +17 -20
- package/dist/plugins/latex/math-renderer.js +21 -38
- package/dist/plugins/latex/math-source.d.ts +4 -8
- package/dist/plugins/latex/math-source.js +36 -75
- package/dist/plugins/latex/register.d.ts +10 -11
- package/dist/plugins/latex/register.js +24 -10
- package/dist/plugins/latex/renderer.d.ts +9 -10
- package/dist/plugins/latex/renderer.js +9 -24
- package/dist/plugins/mermaid/MermaidBlock.svelte +63 -47
- package/dist/plugins/mermaid/index.js +1 -1
- package/dist/plugins/mermaid/mermaid-kind.d.ts +4 -7
- package/dist/plugins/mermaid/mermaid-kind.js +30 -47
- package/dist/plugins/mermaid/mermaid-renderer.d.ts +9 -16
- package/dist/plugins/mermaid/mermaid-renderer.js +12 -31
- package/dist/plugins/mermaid/register.d.ts +3 -3
- package/dist/plugins/mermaid/register.js +5 -5
- package/dist/plugins/mermaid/renderer.d.ts +5 -5
- package/dist/plugins/mermaid/renderer.js +8 -11
- package/dist/plugins/parrot/ParrotBlock.svelte +18 -7
- package/dist/plugins/parrot/ParrotBlock.svelte.d.ts +2 -2
- package/dist/plugins/parrot/parrot-plugin.js +3 -3
- package/dist/plugins/slash-commands/filter.d.ts +23 -0
- package/dist/plugins/slash-commands/filter.js +31 -0
- package/dist/plugins/slash-commands/index.d.ts +2 -0
- package/dist/plugins/slash-commands/index.js +2 -0
- package/dist/plugins/slash-commands/slash-commands-plugin.d.ts +12 -0
- package/dist/plugins/slash-commands/slash-commands-plugin.js +40 -0
- package/dist/plugins/slash-commands/slash-source.d.ts +36 -0
- package/dist/plugins/slash-commands/slash-source.js +108 -0
- package/dist/plugins/toc/TocBlock.svelte +23 -22
- package/dist/plugins/toc/TocBlock.svelte.d.ts +2 -3
- package/dist/plugins/toc/heading-outline.d.ts +7 -12
- package/dist/plugins/toc/heading-outline.js +22 -36
- package/dist/plugins/toc/navigation-queue.d.ts +2 -4
- package/dist/plugins/toc/toc-plugin.d.ts +5 -5
- package/dist/plugins/toc/toc-plugin.js +20 -13
- package/dist/presentation-mode.d.ts +15 -23
- package/dist/presentation-mode.js +19 -25
- package/dist/reactivity/block-list-state.svelte.d.ts +9 -11
- package/dist/reactivity/block-list-state.svelte.js +8 -9
- package/dist/reactivity/block-window.svelte.d.ts +12 -6
- package/dist/reactivity/block-window.svelte.js +44 -17
- package/dist/reactivity/child-list.d.ts +34 -0
- package/dist/reactivity/child-list.js +48 -0
- package/dist/reactivity/content-version.svelte.d.ts +4 -7
- package/dist/reactivity/content-version.svelte.js +3 -5
- package/dist/reactivity/hold-across.d.ts +39 -0
- package/dist/reactivity/hold-across.js +57 -0
- package/dist/reactivity/layout-state.svelte.d.ts +27 -0
- package/dist/reactivity/layout-state.svelte.js +51 -0
- package/dist/reactivity/list-tree.d.ts +39 -0
- package/dist/reactivity/list-tree.js +132 -0
- package/dist/reactivity/list-windowing.svelte.d.ts +50 -71
- package/dist/reactivity/list-windowing.svelte.js +143 -292
- package/dist/reactivity/measure-batch.d.ts +6 -8
- package/dist/reactivity/measure-batch.js +5 -6
- package/dist/reactivity/publish-ref.svelte.d.ts +16 -41
- package/dist/reactivity/publish-ref.svelte.js +21 -85
- package/dist/reactivity/scope-geometry.d.ts +6 -13
- package/dist/reactivity/scope-geometry.js +7 -14
- package/dist/reactivity/state-registry.d.ts +5 -5
- package/dist/reactivity/state-registry.js +11 -15
- package/dist/reactivity/use-container-windowing.svelte.d.ts +13 -26
- package/dist/reactivity/use-container-windowing.svelte.js +64 -74
- package/dist/reactivity/use-measured-child.svelte.d.ts +10 -0
- package/dist/reactivity/use-measured-child.svelte.js +41 -0
- package/dist/reactivity/use-window-floor.svelte.d.ts +2 -0
- package/dist/reactivity/use-window-floor.svelte.js +27 -0
- package/dist/reactivity/window-slice.d.ts +4 -4
- package/dist/reactivity/window-slice.js +0 -2
- package/dist/renderer-slot.d.ts +48 -0
- package/dist/renderer-slot.js +85 -0
- package/dist/scan-index.d.ts +4 -4
- package/dist/scan-index.js +4 -4
- package/dist/schema/block-commands.d.ts +69 -54
- package/dist/schema/block-commands.js +91 -104
- package/dist/schema/block-completions.d.ts +16 -19
- package/dist/schema/block-completions.js +25 -32
- package/dist/schema/block-component-registry.d.ts +13 -14
- package/dist/schema/block-component-registry.js +19 -17
- package/dist/schema/block-kind-descriptor.d.ts +234 -168
- package/dist/schema/block-kind-descriptor.js +151 -66
- package/dist/schema/block-openers.d.ts +48 -39
- package/dist/schema/block-openers.js +73 -83
- package/dist/schema/built-in-descriptors.d.ts +3 -5
- package/dist/schema/built-in-descriptors.js +96 -80
- package/dist/schema/child-spans.d.ts +12 -10
- package/dist/schema/child-spans.js +68 -34
- package/dist/schema/closure.d.ts +18 -16
- package/dist/schema/closure.js +24 -14
- package/dist/schema/command-id.d.ts +6 -8
- package/dist/schema/command-id.js +20 -25
- package/dist/schema/commands.d.ts +79 -81
- package/dist/schema/commands.js +156 -116
- package/dist/schema/container-raw.d.ts +51 -11
- package/dist/schema/container-raw.js +143 -14
- package/dist/schema/container-rebuilders.d.ts +17 -15
- package/dist/schema/container-rebuilders.js +30 -22
- package/dist/schema/context-actions.d.ts +25 -13
- package/dist/schema/context-actions.js +32 -17
- package/dist/schema/define-plugin-block.d.ts +8 -6
- package/dist/schema/define-plugin-block.js +6 -4
- package/dist/schema/fenced-code-raw.d.ts +30 -17
- package/dist/schema/fenced-code-raw.js +155 -107
- package/dist/schema/global-commands.d.ts +6 -6
- package/dist/schema/global-commands.js +14 -22
- package/dist/schema/height-estimates.d.ts +31 -0
- package/dist/schema/height-estimates.js +64 -0
- package/dist/schema/inline-construct-policy.d.ts +42 -55
- package/dist/schema/inline-construct-policy.js +36 -35
- package/dist/schema/insert-catalogue.d.ts +30 -0
- package/dist/schema/insert-catalogue.js +95 -0
- package/dist/schema/keybinding-overrides.d.ts +9 -11
- package/dist/schema/keybinding-overrides.js +1 -1
- package/dist/schema/keybindings.d.ts +15 -7
- package/dist/schema/keybindings.js +21 -9
- package/dist/schema/merge-rules.d.ts +5 -7
- package/dist/schema/merge-rules.js +7 -9
- package/dist/schema/opener-priorities.d.ts +4 -4
- package/dist/schema/opener-priorities.js +4 -4
- package/dist/schema/operations.d.ts +9 -11
- package/dist/schema/operations.js +3 -3
- package/dist/schema/page-role.d.ts +14 -0
- package/dist/schema/page-role.js +19 -0
- package/dist/schema/plugin-activation.d.ts +4 -6
- package/dist/schema/plugin-activation.js +12 -10
- package/dist/schema/plugin-editor-context.d.ts +25 -10
- package/dist/schema/plugin-editor-context.js +40 -9
- package/dist/schema/plugin-install.d.ts +49 -17
- package/dist/schema/plugin-install.js +51 -25
- package/dist/schema/plugin-kind.d.ts +12 -8
- package/dist/schema/plugin-kind.js +35 -42
- package/dist/schema/plugin-name.js +3 -3
- package/dist/schema/plugin-registry.d.ts +54 -0
- package/dist/schema/plugin-registry.js +70 -0
- package/dist/schema/reading.d.ts +23 -0
- package/dist/schema/reading.js +7 -0
- package/dist/schema/register-once.d.ts +3 -5
- package/dist/schema/register-once.js +7 -16
- package/dist/schema/registration-checks.d.ts +12 -16
- package/dist/schema/registration-checks.js +35 -51
- package/dist/schema/registration-pairs.d.ts +54 -0
- package/dist/schema/registration-pairs.js +48 -0
- package/dist/schema/registration-pending.d.ts +8 -12
- package/dist/schema/registration-pending.js +9 -9
- package/dist/schema/registry-reset.d.ts +8 -4
- package/dist/schema/registry-reset.js +13 -26
- package/dist/schema/registry-view.d.ts +25 -13
- package/dist/schema/registry-view.js +26 -20
- package/dist/schema/reserved-chords.d.ts +9 -10
- package/dist/schema/reserved-chords.js +73 -78
- package/dist/schema/reserved-chrome.d.ts +12 -11
- package/dist/schema/reserved-chrome.js +15 -11
- package/dist/schema/setext-raw.d.ts +13 -0
- package/dist/schema/setext-raw.js +33 -0
- package/dist/schema/stored-as.d.ts +20 -0
- package/dist/schema/stored-as.js +6 -0
- package/dist/schema/table-cell-raw.d.ts +18 -7
- package/dist/schema/table-cell-raw.js +28 -7
- package/dist/schema/whole-block-unit.d.ts +5 -4
- package/dist/schema/whole-block-unit.js +5 -4
- package/dist/search/document-scan.d.ts +3 -3
- package/dist/search/document-scan.js +2 -2
- package/dist/search/matcher.d.ts +1 -1
- package/dist/search/regex-executor.d.ts +5 -6
- package/dist/search/regex-executor.js +6 -8
- package/dist/search/replace.d.ts +2 -5
- package/dist/search/replace.js +2 -5
- package/dist/search/search-state.svelte.d.ts +5 -5
- package/dist/search/search-state.svelte.js +12 -16
- package/dist/selection/autoscroll.d.ts +6 -9
- package/dist/selection/block-hit-test.d.ts +16 -24
- package/dist/selection/block-hit-test.js +29 -22
- package/dist/selection/caret-doors.d.ts +15 -14
- package/dist/selection/caret-doors.js +37 -26
- package/dist/selection/caret-landing.d.ts +62 -0
- package/dist/selection/caret-landing.js +157 -0
- package/dist/selection/caret-restore.d.ts +17 -10
- package/dist/selection/caret-restore.js +10 -22
- package/dist/selection/caret-target.d.ts +30 -0
- package/dist/selection/caret-target.js +84 -0
- package/dist/selection/char-endpoint-snap.d.ts +6 -10
- package/dist/selection/char-endpoint-snap.js +8 -14
- package/dist/selection/clipboard-text.d.ts +5 -12
- package/dist/selection/clipboard-text.js +69 -172
- package/dist/selection/covered-block.d.ts +6 -8
- package/dist/selection/covered-block.js +8 -19
- package/dist/selection/cross-block/clipboard.d.ts +3 -2
- package/dist/selection/cross-block/clipboard.js +13 -4
- package/dist/selection/cross-block/dispatch.d.ts +47 -43
- package/dist/selection/cross-block/dispatch.js +12 -23
- package/dist/selection/cross-block/format-range.d.ts +18 -21
- package/dist/selection/cross-block/format-range.js +104 -103
- package/dist/selection/cross-block/format-toggle.d.ts +10 -15
- package/dist/selection/cross-block/format-toggle.js +28 -33
- package/dist/selection/cross-block/keydown.d.ts +4 -4
- package/dist/selection/cross-block/keydown.js +93 -152
- package/dist/selection/cross-block/ops.d.ts +19 -34
- package/dist/selection/cross-block/ops.js +110 -95
- package/dist/selection/cross-block/paste.d.ts +2 -3
- package/dist/selection/cross-block/paste.js +61 -104
- package/dist/selection/cross-block/pointer.d.ts +17 -15
- package/dist/selection/cross-block/pointer.js +74 -25
- package/dist/selection/cross-block/type-replace.d.ts +4 -6
- package/dist/selection/cross-block/type-replace.js +53 -146
- package/dist/selection/dead-space-caret.d.ts +20 -28
- package/dist/selection/dead-space-caret.js +79 -87
- package/dist/selection/drag-pointer.d.ts +22 -5
- package/dist/selection/drag-pointer.js +63 -31
- package/dist/selection/gap-caret.d.ts +17 -28
- package/dist/selection/gap-caret.js +14 -26
- package/dist/selection/grid-selection.d.ts +12 -0
- package/dist/selection/grid-selection.js +22 -0
- package/dist/selection/keyboard-extend.d.ts +27 -39
- package/dist/selection/keyboard-extend.js +94 -116
- package/dist/selection/multi-click.d.ts +37 -0
- package/dist/selection/multi-click.js +197 -0
- package/dist/selection/native-bridge.d.ts +30 -37
- package/dist/selection/native-bridge.js +80 -100
- package/dist/selection/nearest-block.d.ts +17 -12
- package/dist/selection/nearest-block.js +37 -18
- package/dist/selection/path-lookup.d.ts +31 -14
- package/dist/selection/path-lookup.js +110 -20
- package/dist/selection/path-math.d.ts +9 -11
- package/dist/selection/path-math.js +5 -7
- package/dist/selection/pointer-gesture.d.ts +9 -0
- package/dist/selection/pointer-gesture.js +11 -0
- package/dist/selection/pointer-session.d.ts +10 -16
- package/dist/selection/pointer-session.js +6 -7
- package/dist/selection/primitives.d.ts +64 -33
- package/dist/selection/primitives.js +61 -53
- package/dist/selection/range-coverage.d.ts +94 -0
- package/dist/selection/range-coverage.js +365 -0
- package/dist/selection/range-delete-ceremony.d.ts +28 -74
- package/dist/selection/range-delete-ceremony.js +100 -141
- package/dist/selection/range-delete-chrome.d.ts +20 -33
- package/dist/selection/range-delete-chrome.js +53 -78
- package/dist/selection/range-delete-table-coverage.d.ts +11 -25
- package/dist/selection/range-delete-table-coverage.js +42 -112
- package/dist/selection/range-delete-table.d.ts +14 -12
- package/dist/selection/range-delete-table.js +106 -310
- package/dist/selection/range-delete.d.ts +18 -19
- package/dist/selection/range-delete.js +83 -123
- package/dist/selection/round-trip-restore.d.ts +18 -0
- package/dist/selection/round-trip-restore.js +19 -0
- package/dist/selection/selection-announcer.d.ts +17 -0
- package/dist/selection/selection-announcer.js +25 -0
- package/dist/selection/selection-description.d.ts +4 -3
- package/dist/selection/selection-description.js +5 -4
- package/dist/selection/selection-drop.d.ts +52 -0
- package/dist/selection/selection-drop.js +317 -0
- package/dist/selection/selection-restore.d.ts +20 -33
- package/dist/selection/selection-restore.js +21 -44
- package/dist/selection/selection-state.svelte.d.ts +50 -42
- package/dist/selection/selection-state.svelte.js +144 -98
- package/dist/selection/shared-keydown.d.ts +22 -27
- package/dist/selection/shared-keydown.js +25 -45
- package/dist/selection/table-endpoint-snap.d.ts +17 -41
- package/dist/selection/table-endpoint-snap.js +54 -80
- package/dist/selection/table-rect-extend.d.ts +3 -6
- package/dist/selection/table-rect-extend.js +19 -14
- package/dist/styles/editor-theme.css +75 -53
- package/dist/styles/editor.css +248 -139
- package/dist/testing/conformance-core.d.ts +50 -18
- package/dist/testing/conformance-core.js +88 -50
- package/dist/testing/container-conformance.d.ts +48 -84
- package/dist/testing/container-conformance.js +159 -285
- package/dist/testing/headless-actions.d.ts +34 -19
- package/dist/testing/headless-actions.js +116 -65
- package/dist/testing/headless-block-list.svelte.d.ts +16 -0
- package/dist/testing/headless-block-list.svelte.js +22 -0
- package/dist/testing/inline-conformance.d.ts +15 -22
- package/dist/testing/inline-conformance.js +131 -148
- package/dist/testing/kind-conformance.d.ts +19 -24
- package/dist/testing/kind-conformance.js +204 -117
- package/dist/testing/kit-reading.d.ts +7 -0
- package/dist/testing/kit-reading.js +16 -0
- package/dist/testing/mount-dom-stubs.d.ts +4 -5
- package/dist/testing/mount-dom-stubs.js +8 -5
- package/dist/testing/parse-convergence.d.ts +10 -10
- package/dist/testing/parse-convergence.js +14 -49
- package/dist/testing.d.ts +13 -9
- package/dist/testing.js +28 -38
- package/dist/tree-operations/blockquote.d.ts +8 -14
- package/dist/tree-operations/blockquote.js +25 -45
- package/dist/tree-operations/chain-rebuild.d.ts +34 -25
- package/dist/tree-operations/chain-rebuild.js +115 -52
- package/dist/tree-operations/children.d.ts +5 -9
- package/dist/tree-operations/children.js +7 -11
- package/dist/tree-operations/cleanup.d.ts +6 -7
- package/dist/tree-operations/cleanup.js +14 -11
- package/dist/tree-operations/clone.js +5 -4
- package/dist/tree-operations/container-lift.d.ts +10 -5
- package/dist/tree-operations/container-lift.js +20 -14
- package/dist/tree-operations/container-offsets.d.ts +22 -0
- package/dist/tree-operations/container-offsets.js +89 -0
- package/dist/tree-operations/content-write.d.ts +52 -29
- package/dist/tree-operations/content-write.js +155 -110
- package/dist/tree-operations/index.d.ts +4 -4
- package/dist/tree-operations/index.js +4 -4
- package/dist/tree-operations/keep-one-block.d.ts +10 -0
- package/dist/tree-operations/keep-one-block.js +19 -0
- package/dist/tree-operations/leaf-range.d.ts +33 -0
- package/dist/tree-operations/leaf-range.js +67 -0
- package/dist/tree-operations/list/empty-check.d.ts +2 -3
- package/dist/tree-operations/list/empty-check.js +4 -4
- package/dist/tree-operations/list/exit-replacement.d.ts +4 -6
- package/dist/tree-operations/list/exit-replacement.js +4 -9
- package/dist/tree-operations/list/item-partition.d.ts +2 -2
- package/dist/tree-operations/list/item-partition.js +2 -2
- package/dist/tree-operations/list/list-builders.d.ts +18 -16
- package/dist/tree-operations/list/list-builders.js +59 -30
- package/dist/tree-operations/list/ordered-markers.d.ts +7 -16
- package/dist/tree-operations/list/ordered-markers.js +7 -16
- package/dist/tree-operations/list/reconcile-task.d.ts +16 -7
- package/dist/tree-operations/list/reconcile-task.js +80 -23
- package/dist/tree-operations/list/sublist-separator.d.ts +7 -7
- package/dist/tree-operations/list/sublist-separator.js +20 -27
- package/dist/tree-operations/list/task-paragraph.d.ts +25 -0
- package/dist/tree-operations/list/task-paragraph.js +54 -0
- package/dist/tree-operations/list/unwrap-merge.d.ts +8 -16
- package/dist/tree-operations/list/unwrap-merge.js +44 -79
- package/dist/tree-operations/node-ops.d.ts +30 -52
- package/dist/tree-operations/node-ops.js +152 -218
- package/dist/tree-operations/node-primitives.d.ts +44 -31
- package/dist/tree-operations/node-primitives.js +84 -60
- package/dist/tree-operations/open-tail.d.ts +25 -0
- package/dist/tree-operations/open-tail.js +100 -0
- package/dist/tree-operations/parse-block.d.ts +15 -2
- package/dist/tree-operations/parse-block.js +19 -4
- package/dist/tree-operations/paste/apply.d.ts +7 -8
- package/dist/tree-operations/paste/apply.js +33 -63
- package/dist/tree-operations/paste/body-write.d.ts +8 -6
- package/dist/tree-operations/paste/body-write.js +13 -14
- package/dist/tree-operations/paste/container-match.d.ts +7 -10
- package/dist/tree-operations/paste/container-match.js +76 -58
- package/dist/tree-operations/paste/container-paste.d.ts +3 -3
- package/dist/tree-operations/paste/container-paste.js +3 -3
- package/dist/tree-operations/paste/dispatch.d.ts +26 -29
- package/dist/tree-operations/paste/dispatch.js +68 -53
- package/dist/tree-operations/paste/focus-target.d.ts +11 -14
- package/dist/tree-operations/paste/focus-target.js +13 -18
- package/dist/tree-operations/paste/hooks.d.ts +7 -12
- package/dist/tree-operations/paste/hooks.js +49 -46
- package/dist/tree-operations/paste/line-ending.d.ts +11 -0
- package/dist/tree-operations/paste/line-ending.js +32 -0
- package/dist/tree-operations/paste/list-absorb.d.ts +8 -11
- package/dist/tree-operations/paste/list-absorb.js +17 -19
- package/dist/tree-operations/paste/list-break-out.d.ts +12 -11
- package/dist/tree-operations/paste/list-break-out.js +24 -32
- package/dist/tree-operations/paste/parent-scope.d.ts +8 -12
- package/dist/tree-operations/paste/parent-scope.js +9 -16
- package/dist/tree-operations/paste/paste-deps.d.ts +14 -9
- package/dist/tree-operations/paste/paste-replacement.d.ts +20 -3
- package/dist/tree-operations/paste/paste-replacement.js +73 -42
- package/dist/tree-operations/paste/paste-transforms.d.ts +5 -7
- package/dist/tree-operations/paste/paste-transforms.js +18 -27
- package/dist/tree-operations/paste/replacement-parse.d.ts +19 -0
- package/dist/tree-operations/paste/replacement-parse.js +24 -0
- package/dist/tree-operations/paste/strategy.d.ts +1 -1
- package/dist/tree-operations/paste/strategy.js +1 -1
- package/dist/tree-operations/paste/table-slice.js +15 -10
- package/dist/tree-operations/paste-surfaces.d.ts +18 -29
- package/dist/tree-operations/paste-surfaces.js +14 -10
- package/dist/tree-operations/path-mutate.d.ts +7 -8
- package/dist/tree-operations/path-mutate.js +4 -4
- package/dist/tree-operations/reorder-unit.d.ts +4 -5
- package/dist/tree-operations/reorder-unit.js +5 -6
- package/dist/tree-operations/reorder.d.ts +7 -9
- package/dist/tree-operations/reorder.js +39 -40
- package/dist/tree-operations/settle.d.ts +42 -53
- package/dist/tree-operations/settle.js +241 -162
- package/dist/tree-operations/sharing.d.ts +5 -5
- package/dist/tree-operations/splice-many.d.ts +5 -5
- package/dist/tree-operations/splice-many.js +5 -5
- package/dist/tree-operations/stored-as.d.ts +13 -0
- package/dist/tree-operations/stored-as.js +48 -0
- package/dist/tree-operations/structural-change.d.ts +11 -15
- package/dist/tree-operations/structural-change.js +10 -14
- package/dist/tree-operations/structural-suffix.d.ts +22 -0
- package/dist/tree-operations/structural-suffix.js +61 -0
- package/dist/tree-operations/sub-table-copy.d.ts +7 -0
- package/dist/tree-operations/sub-table-copy.js +40 -36
- package/dist/tree-operations/table-grid-clipboard.d.ts +2 -7
- package/dist/tree-operations/table-grid-clipboard.js +11 -36
- package/dist/tree-operations/table-mutations.d.ts +7 -3
- package/dist/tree-operations/table-mutations.js +45 -9
- package/dist/tree-operations/unshare.d.ts +11 -15
- package/dist/tree-operations/unshare.js +15 -17
- package/dist/undo/manager.js +1 -1
- package/dist/undo/types.d.ts +2 -2
- package/docs/guide/consumer-guide.md +329 -205
- package/docs/guide/directives.md +7 -7
- package/docs/guide/plugin-api.md +267 -183
- package/docs/guide/plugin-guide.md +341 -235
- package/docs/guide/plugin-testing.md +96 -82
- package/package.json +17 -21
- package/dist/ambient/ambient-cursor.d.ts +0 -41
- package/dist/ambient/ambient-cursor.js +0 -120
- package/dist/components/blocks/code/code-paste.d.ts +0 -24
- package/dist/components/blocks/code/code-paste.js +0 -21
- package/dist/components/blocks/table/cell-clipboard.d.ts +0 -33
- package/dist/components/blocks/table/cell-clipboard.js +0 -67
- package/dist/components/blocks/text/hidden-suffix.d.ts +0 -10
- package/dist/components/blocks/text/hidden-suffix.js +0 -15
- package/dist/components/blocks/text/link-source-bytes.d.ts +0 -37
- package/dist/components/image/image-source-bytes.d.ts +0 -15
- package/dist/components/image/image-source-bytes.js +0 -80
- package/dist/cursor/content-offsets.d.ts +0 -29
- package/dist/cursor/content-offsets.js +0 -151
- package/dist/cursor/reveal-anchor.d.ts +0 -30
- package/dist/cursor/reveal-anchor.js +0 -31
- package/dist/invariants/split-landing.d.ts +0 -8
- package/dist/invariants/split-landing.js +0 -15
- package/dist/selection/double-click-trim.d.ts +0 -17
- package/dist/selection/double-click-trim.js +0 -57
- package/dist/tree-operations/list/terminator.d.ts +0 -17
- package/dist/tree-operations/list/terminator.js +0 -60
- package/dist/tree-operations/paste/replace-block-at-parent.d.ts +0 -29
- package/dist/tree-operations/paste/replace-block-at-parent.js +0 -75
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;
|
|
@@ -168,9 +207,7 @@
|
|
|
168
207
|
max-width: 100%;
|
|
169
208
|
height: auto;
|
|
170
209
|
display: block;
|
|
171
|
-
|
|
172
|
-
card: half the surface radius the block chrome uses. */
|
|
173
|
-
border-radius: 4px;
|
|
210
|
+
border-radius: var(--md-image-radius);
|
|
174
211
|
}
|
|
175
212
|
|
|
176
213
|
/* A cropped image: the widget is the frame (width and aspect set inline from the `|WxH` hint,
|
|
@@ -178,26 +215,22 @@
|
|
|
178
215
|
:where(.editor) .md-image-widget.md-image-cropped {
|
|
179
216
|
overflow: hidden;
|
|
180
217
|
max-width: 100%;
|
|
181
|
-
/* The frame clips the picture, so the rounding
|
|
182
|
-
|
|
183
|
-
border-radius:
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
:where(.editor) .md-image-widget.md-image-cropped img {
|
|
187
|
-
border-radius: 0;
|
|
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. */
|
|
220
|
+
border-radius: var(--md-image-radius);
|
|
221
|
+
clip-path: inset(0 round var(--md-image-radius));
|
|
188
222
|
}
|
|
189
223
|
|
|
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. */
|
|
190
226
|
:where(.editor) .md-image-widget.md-image-cropped img {
|
|
191
227
|
position: absolute;
|
|
192
228
|
max-width: none;
|
|
193
229
|
object-fit: cover;
|
|
194
230
|
}
|
|
195
231
|
|
|
196
|
-
/*
|
|
197
|
-
bottom-left,
|
|
198
|
-
caret anchor past a contenteditable=false widget. The widget side of each `:has()` is a
|
|
199
|
-
descendant match, since a wrapping inline construct puts the widget one level deeper; the
|
|
200
|
-
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. */
|
|
201
234
|
:where(.editor)
|
|
202
235
|
.text-editable-block.paragraph-block:has(> .md-marker[contenteditable='false']):has(
|
|
203
236
|
.md-image-widget
|
|
@@ -229,9 +262,8 @@
|
|
|
229
262
|
width: fit-content;
|
|
230
263
|
}
|
|
231
264
|
|
|
232
|
-
/* An image with no pixels (broken, scheme-refused, or
|
|
233
|
-
|
|
234
|
-
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. */
|
|
235
267
|
:where(.editor) .md-image-broken,
|
|
236
268
|
:where(.editor) .md-image-blocked,
|
|
237
269
|
:where(.editor) .md-image-placeholder {
|
|
@@ -261,7 +293,7 @@
|
|
|
261
293
|
content: '⚠ image failed to load';
|
|
262
294
|
}
|
|
263
295
|
|
|
264
|
-
/*
|
|
296
|
+
/* The tint paints over the widget through ::after: `background-color` on the span
|
|
265
297
|
itself is hidden by the opaque <img> child (display:block, max-width:100%). */
|
|
266
298
|
:where(.editor) [data-inline-widget].md-widget-selected::after {
|
|
267
299
|
content: '';
|
|
@@ -272,33 +304,47 @@
|
|
|
272
304
|
pointer-events: none;
|
|
273
305
|
}
|
|
274
306
|
|
|
275
|
-
/* The tint
|
|
276
|
-
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. */
|
|
277
309
|
:where(.editor) [data-inline-widget].md-widget-selected ::selection {
|
|
278
310
|
background: transparent;
|
|
279
311
|
}
|
|
280
312
|
|
|
281
|
-
/*
|
|
282
|
-
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. */
|
|
283
315
|
:where(.editor) [data-inline-widget].md-snap-after::before,
|
|
284
316
|
:where(.editor) [data-inline-widget].md-snap-before::before {
|
|
285
317
|
content: '';
|
|
286
318
|
position: absolute;
|
|
287
|
-
top:
|
|
288
|
-
bottom:
|
|
319
|
+
top: 0;
|
|
320
|
+
bottom: 0;
|
|
289
321
|
width: 1.5px;
|
|
290
322
|
background-color: var(--color-text-primary, currentColor);
|
|
291
323
|
animation: md-snap-caret-blink 1s step-end infinite;
|
|
292
324
|
pointer-events: none;
|
|
293
325
|
}
|
|
294
326
|
|
|
295
|
-
/* Clear of the widget's own edge: against a picture, a caret drawn tight to the frame reads as
|
|
296
|
-
part of the border rather than as a caret waiting for the next character. */
|
|
297
327
|
:where(.editor) [data-inline-widget].md-snap-after::before {
|
|
298
|
-
right: -
|
|
328
|
+
right: -1px;
|
|
299
329
|
}
|
|
300
330
|
|
|
301
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 {
|
|
302
348
|
left: -4px;
|
|
303
349
|
}
|
|
304
350
|
|
|
@@ -308,8 +354,8 @@
|
|
|
308
354
|
}
|
|
309
355
|
}
|
|
310
356
|
|
|
311
|
-
/* The
|
|
312
|
-
|
|
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. */
|
|
313
359
|
:where(.editor) .md-snap-caret-active {
|
|
314
360
|
caret-color: transparent;
|
|
315
361
|
}
|
|
@@ -321,6 +367,18 @@
|
|
|
321
367
|
z-index: 10;
|
|
322
368
|
}
|
|
323
369
|
|
|
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. */
|
|
372
|
+
:where(.editor) .md-image-overlay::before {
|
|
373
|
+
content: '';
|
|
374
|
+
position: absolute;
|
|
375
|
+
inset: -2px;
|
|
376
|
+
border: 1px solid var(--color-accent, #567b67);
|
|
377
|
+
border-radius: calc(var(--md-image-radius, 4px) + 2px);
|
|
378
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
|
|
379
|
+
pointer-events: none;
|
|
380
|
+
}
|
|
381
|
+
|
|
324
382
|
:where(.editor) .md-image-overlay > * {
|
|
325
383
|
pointer-events: auto;
|
|
326
384
|
}
|
|
@@ -332,9 +390,8 @@
|
|
|
332
390
|
text-decoration: underline;
|
|
333
391
|
}
|
|
334
392
|
|
|
335
|
-
/* A plain click edits
|
|
336
|
-
|
|
337
|
-
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>`. */
|
|
338
395
|
:where(.editor) a.md-link-content,
|
|
339
396
|
:where(.editor) .md-autolink {
|
|
340
397
|
cursor: text;
|
|
@@ -347,14 +404,14 @@
|
|
|
347
404
|
|
|
348
405
|
/* Blocked-scheme link: inert metadata, kept visually distinct from a clickable one. */
|
|
349
406
|
:where(.editor) .md-link-content.md-link-blocked {
|
|
350
|
-
color: var(--md-link-blocked-color,
|
|
407
|
+
color: var(--md-link-blocked-color, #8f8f89);
|
|
351
408
|
text-decoration: none;
|
|
352
409
|
cursor: text;
|
|
353
410
|
}
|
|
354
411
|
|
|
355
|
-
/*
|
|
412
|
+
/* A faded grey and italic, so the label reads as metadata beside the link's own markers. */
|
|
356
413
|
:where(.editor) .md-ref-label {
|
|
357
|
-
color: var(--md-ref-label-color,
|
|
414
|
+
color: var(--md-ref-label-color, #8f8f89);
|
|
358
415
|
font-style: italic;
|
|
359
416
|
}
|
|
360
417
|
|
|
@@ -364,35 +421,36 @@
|
|
|
364
421
|
text-decoration: none;
|
|
365
422
|
}
|
|
366
423
|
|
|
367
|
-
/* A background
|
|
424
|
+
/* A background tells an unresolved image reference apart from an unresolved link one. */
|
|
368
425
|
:where(.editor) .md-unresolved-ref-image {
|
|
369
426
|
background: var(--md-unresolved-image-bg, rgba(192, 57, 43, 0.08));
|
|
370
427
|
padding: 0 2px;
|
|
371
428
|
border-radius: 2px;
|
|
372
429
|
}
|
|
373
430
|
|
|
374
|
-
/*
|
|
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. */
|
|
375
433
|
:where(.editor) .block-host[data-block-kind='linkReferenceDefinition'] {
|
|
376
|
-
opacity: 0.
|
|
434
|
+
opacity: 0.8;
|
|
377
435
|
font-size: 0.9em;
|
|
378
436
|
font-style: italic;
|
|
379
437
|
}
|
|
380
438
|
|
|
381
439
|
/* Dimmed monospace gives inline raw HTML a code-ish feel without becoming a code span. */
|
|
382
440
|
:where(.editor) .md-raw-html {
|
|
383
|
-
color: var(--md-raw-html-color,
|
|
441
|
+
color: var(--md-raw-html-color, #8f8f89);
|
|
384
442
|
font-family: var(--font-code, ui-monospace, monospace);
|
|
385
443
|
font-size: 0.92em;
|
|
386
444
|
}
|
|
387
445
|
|
|
388
|
-
/*
|
|
389
|
-
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. */
|
|
390
448
|
:where(.editor) .vr-spacer {
|
|
391
449
|
background: var(--vr-spacer-bg, rgba(128, 128, 128, 0.03));
|
|
392
450
|
}
|
|
393
451
|
|
|
394
|
-
/* One revealed
|
|
395
|
-
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. */
|
|
396
454
|
:where(.editor) .md-source-surface {
|
|
397
455
|
display: block;
|
|
398
456
|
width: 100%;
|
|
@@ -407,10 +465,8 @@
|
|
|
407
465
|
border-radius: 4px;
|
|
408
466
|
}
|
|
409
467
|
|
|
410
|
-
/* ── Semantic syntax
|
|
411
|
-
|
|
412
|
-
overrides a token. Rules whose construct is also colored by a component <style> shorthand
|
|
413
|
-
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. */
|
|
414
470
|
|
|
415
471
|
:where(.editor)
|
|
416
472
|
.text-editable-block:is(.heading-1, .heading-2, .heading-3, .heading-4, .heading-5, .heading-6) {
|
|
@@ -425,9 +481,8 @@
|
|
|
425
481
|
color: var(--syntax-code, currentColor);
|
|
426
482
|
}
|
|
427
483
|
|
|
428
|
-
/* An inline widget's source
|
|
429
|
-
|
|
430
|
-
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. */
|
|
431
486
|
::highlight(md-inline-reveal) {
|
|
432
487
|
background-color: var(--color-bg-secondary, rgba(128, 128, 128, 0.12));
|
|
433
488
|
}
|
|
@@ -441,12 +496,12 @@
|
|
|
441
496
|
border-left-color: var(--syntax-quote, var(--color-ui-muted, #a4a4a4));
|
|
442
497
|
}
|
|
443
498
|
|
|
444
|
-
:where(.editor) .thematic-break-rule
|
|
499
|
+
:where(.editor) .thematic-break-block > .thematic-break-rule > hr {
|
|
445
500
|
border-top-color: var(--syntax-separator, var(--color-border, #3e3e3b));
|
|
446
501
|
}
|
|
447
502
|
|
|
448
|
-
/* The [contenteditable='false']
|
|
449
|
-
|
|
503
|
+
/* The [contenteditable='false'] part limits this to the leading marker the renderer injects,
|
|
504
|
+
not to inline .md-marker spans. */
|
|
450
505
|
:where(.editor) .list-item-block .md-marker[contenteditable='false'] {
|
|
451
506
|
color: var(--syntax-list, currentColor);
|
|
452
507
|
}
|
|
@@ -456,9 +511,7 @@
|
|
|
456
511
|
}
|
|
457
512
|
|
|
458
513
|
/* ── Menus ──────────────────────────────────────────────────────────────────
|
|
459
|
-
One
|
|
460
|
-
picker and overflow), copied from the host app's context menu value for value and reading
|
|
461
|
-
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. */
|
|
462
515
|
:where(.editor) .md-menu {
|
|
463
516
|
position: fixed;
|
|
464
517
|
z-index: 2000;
|
|
@@ -511,7 +564,7 @@
|
|
|
511
564
|
display: inline-flex;
|
|
512
565
|
align-items: center;
|
|
513
566
|
flex-shrink: 0;
|
|
514
|
-
color: var(--color-ui-muted, #
|
|
567
|
+
color: var(--color-ui-muted, #93938d);
|
|
515
568
|
}
|
|
516
569
|
|
|
517
570
|
:where(.editor) .md-menu-divider {
|
|
@@ -520,21 +573,17 @@
|
|
|
520
573
|
background: var(--color-border, #3e3e3b);
|
|
521
574
|
}
|
|
522
575
|
|
|
523
|
-
/* ── Rendered
|
|
524
|
-
|
|
525
|
-
path: the raw-aware offset walk counts every DOM text node regardless of layout, so
|
|
526
|
-
structural omission would desync the DOM↔raw coordinate space. Keyed on an
|
|
527
|
-
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. */
|
|
528
578
|
|
|
529
|
-
/* .md-marker:
|
|
530
|
-
|
|
531
|
-
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). */
|
|
532
581
|
/* .md-fence-line: a fence line's `\n` is a bare text node CSS can't reach; the wrapper
|
|
533
582
|
owns marker + newline, so collapsing it leaves no blank line at the box's edge. */
|
|
534
583
|
/* .md-ref-label: resolution metadata, not content; a rendered document shows only the
|
|
535
584
|
link text. */
|
|
536
|
-
/* .directive-marker: the container
|
|
537
|
-
|
|
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. */
|
|
538
587
|
:where(.editor):is(
|
|
539
588
|
[data-presentation='reading'],
|
|
540
589
|
[data-presentation^='preview-'],
|
|
@@ -544,36 +593,46 @@
|
|
|
544
593
|
display: none;
|
|
545
594
|
}
|
|
546
595
|
|
|
547
|
-
/*
|
|
548
|
-
|
|
549
|
-
only while the surface holds focus, since the seat is for a caret and a block nobody is in
|
|
550
|
-
reads as the empty construct it is. Mirrored in `cursor/widget-offset.ts` (same modes, same
|
|
551
|
-
families); reading keeps its silence. `[contenteditable]` scopes the stamp to the walk
|
|
552
|
-
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`. */
|
|
553
598
|
:where(.editor):is([data-presentation^='preview-'], [data-presentation='live'])
|
|
554
599
|
[contenteditable][data-content-empty]:focus-within
|
|
555
600
|
:is(.md-marker:not([contenteditable='false']), .md-fence-line) {
|
|
556
601
|
display: inline;
|
|
557
602
|
}
|
|
558
603
|
|
|
559
|
-
/*
|
|
560
|
-
|
|
561
|
-
about a text line's leading each side, so code-to-code and code-to-prose match. Padding,
|
|
562
|
-
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. */
|
|
563
606
|
:where(.editor) .block-host:is([data-block-kind='fencedCode'], [data-block-kind='table']) {
|
|
564
607
|
padding-block: 6px;
|
|
565
608
|
}
|
|
566
609
|
|
|
567
|
-
/* Room for the add strips (`TableBlock.svelte`)
|
|
568
|
-
|
|
569
|
-
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. */
|
|
570
612
|
:where(.editor) .block-host[data-block-kind='table'] {
|
|
571
613
|
padding-right: 30px;
|
|
572
614
|
padding-bottom: 24px;
|
|
573
615
|
}
|
|
574
616
|
|
|
575
|
-
/*
|
|
576
|
-
|
|
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. */
|
|
577
636
|
:where(.editor):is(
|
|
578
637
|
[data-presentation='reading'],
|
|
579
638
|
[data-presentation^='preview-'],
|
|
@@ -585,7 +644,7 @@
|
|
|
585
644
|
opacity: 1;
|
|
586
645
|
}
|
|
587
646
|
|
|
588
|
-
/* `- ` 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. */
|
|
589
648
|
:where(.editor):is(
|
|
590
649
|
[data-presentation='reading'],
|
|
591
650
|
[data-presentation^='preview-'],
|
|
@@ -598,7 +657,7 @@
|
|
|
598
657
|
color: var(--syntax-list, currentColor);
|
|
599
658
|
}
|
|
600
659
|
|
|
601
|
-
/* The
|
|
660
|
+
/* The marker text is itself the rendered number (`1. `), so it stays visible and undimmed. */
|
|
602
661
|
:where(.editor):is(
|
|
603
662
|
[data-presentation='reading'],
|
|
604
663
|
[data-presentation^='preview-'],
|
|
@@ -609,9 +668,8 @@
|
|
|
609
668
|
visibility: visible;
|
|
610
669
|
}
|
|
611
670
|
|
|
612
|
-
/* GitHub task lists:
|
|
613
|
-
|
|
614
|
-
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. */
|
|
615
673
|
:where(.editor):is(
|
|
616
674
|
[data-presentation='reading'],
|
|
617
675
|
[data-presentation^='preview-'],
|
|
@@ -624,6 +682,27 @@
|
|
|
624
682
|
overflow: hidden;
|
|
625
683
|
}
|
|
626
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
|
+
|
|
627
706
|
:where(.editor):is(
|
|
628
707
|
[data-presentation='reading'],
|
|
629
708
|
[data-presentation^='preview-'],
|
|
@@ -631,13 +710,14 @@
|
|
|
631
710
|
)
|
|
632
711
|
.list-item-block[data-list-marker='task']
|
|
633
712
|
.task-checkbox {
|
|
634
|
-
/* Visible inside the hidden
|
|
635
|
-
|
|
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. */
|
|
636
715
|
visibility: visible;
|
|
637
716
|
color: transparent;
|
|
638
717
|
position: relative;
|
|
639
718
|
display: inline-block;
|
|
640
|
-
/*
|
|
719
|
+
/* The box's width plus its gap; `TASK_HANGING_INDENT` in task-checkbox.ts is these two plus
|
|
720
|
+
the trailing space. */
|
|
641
721
|
width: 1.2em;
|
|
642
722
|
margin-right: 0.65em;
|
|
643
723
|
vertical-align: baseline;
|
|
@@ -652,20 +732,23 @@
|
|
|
652
732
|
.task-checkbox::before {
|
|
653
733
|
content: '';
|
|
654
734
|
visibility: visible;
|
|
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()`. */
|
|
655
737
|
position: absolute;
|
|
656
|
-
|
|
657
|
-
|
|
738
|
+
inset: 0;
|
|
739
|
+
margin: auto;
|
|
658
740
|
width: 1.2em;
|
|
659
741
|
height: 1.2em;
|
|
660
|
-
|
|
742
|
+
width: round(1.2em, 1px);
|
|
743
|
+
height: round(1.2em, 1px);
|
|
661
744
|
box-sizing: border-box;
|
|
662
|
-
border: 1.5px solid var(--color-ui-muted, #
|
|
745
|
+
border: 1.5px solid var(--color-ui-muted, #93938d);
|
|
663
746
|
border-radius: 0.28em;
|
|
664
747
|
background: transparent;
|
|
665
748
|
}
|
|
666
749
|
|
|
667
|
-
/* Checked: the box fills with
|
|
668
|
-
|
|
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. */
|
|
669
752
|
:where(.editor):is(
|
|
670
753
|
[data-presentation='reading'],
|
|
671
754
|
[data-presentation^='preview-'],
|
|
@@ -673,8 +756,8 @@
|
|
|
673
756
|
)
|
|
674
757
|
.list-item-block[data-task-checked='true']
|
|
675
758
|
.task-checkbox::before {
|
|
676
|
-
background: var(--color-text-primary, currentColor);
|
|
677
|
-
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));
|
|
678
761
|
}
|
|
679
762
|
|
|
680
763
|
:where(.editor):is(
|
|
@@ -687,24 +770,55 @@
|
|
|
687
770
|
content: '';
|
|
688
771
|
visibility: visible;
|
|
689
772
|
position: absolute;
|
|
690
|
-
/* The
|
|
691
|
-
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. */
|
|
692
775
|
left: 53%;
|
|
693
776
|
top: 45%;
|
|
694
777
|
width: 0.32em;
|
|
695
778
|
height: 0.6em;
|
|
696
779
|
box-sizing: border-box;
|
|
697
|
-
border: solid var(--color-bg, #2c2c2a);
|
|
780
|
+
border: solid var(--syntax-task-checked-tick, var(--color-bg, #2c2c2a));
|
|
698
781
|
border-width: 0 0.15em 0.15em 0;
|
|
699
782
|
transform: translate(-50%, -50%) rotate(45deg);
|
|
700
783
|
}
|
|
701
784
|
|
|
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. */
|
|
787
|
+
:where(.editor):is(
|
|
788
|
+
[data-presentation='reading'],
|
|
789
|
+
[data-presentation^='preview-'],
|
|
790
|
+
[data-presentation='live']
|
|
791
|
+
)
|
|
792
|
+
.list-item-block[data-list-marker='task']
|
|
793
|
+
.task-checkbox:hover {
|
|
794
|
+
background-color: transparent;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
:where(.editor):is(
|
|
798
|
+
[data-presentation='reading'],
|
|
799
|
+
[data-presentation^='preview-'],
|
|
800
|
+
[data-presentation='live']
|
|
801
|
+
)
|
|
802
|
+
.list-item-block[data-list-marker='task']
|
|
803
|
+
.task-checkbox::before {
|
|
804
|
+
transition: background-color 60ms ease-out;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
:where(.editor):is(
|
|
808
|
+
[data-presentation='reading'],
|
|
809
|
+
[data-presentation^='preview-'],
|
|
810
|
+
[data-presentation='live']
|
|
811
|
+
)
|
|
812
|
+
.list-item-block[data-list-marker='task']:not([data-task-checked='true'])
|
|
813
|
+
.task-checkbox:hover::before {
|
|
814
|
+
background-color: var(--md-marker-hover-bg, rgba(128, 128, 128, 0.15));
|
|
815
|
+
}
|
|
816
|
+
|
|
702
817
|
/* ── Reading mode ─────────────────────────────────────────────────────────────
|
|
703
|
-
|
|
704
|
-
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. */
|
|
705
819
|
|
|
706
|
-
/* pointer-events
|
|
707
|
-
|
|
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. */
|
|
708
822
|
:where(.editor)[data-presentation='reading']
|
|
709
823
|
.list-item-block[data-list-marker='task']
|
|
710
824
|
.task-checkbox {
|
|
@@ -722,20 +836,17 @@
|
|
|
722
836
|
cursor: pointer;
|
|
723
837
|
}
|
|
724
838
|
|
|
725
|
-
/* ── Preview
|
|
726
|
-
|
|
727
|
-
only the constructs at the caret. Markers hide broadly (above) and un-hide INSIDE the
|
|
728
|
-
focused host: the naive `.block-host:not([data-focused])` would hide a focused leaf's
|
|
729
|
-
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. */
|
|
730
841
|
|
|
731
|
-
/*
|
|
842
|
+
/* Every inline span, so the revealed source lays out exactly as source mode does. */
|
|
732
843
|
:where(.editor)[data-presentation='preview-block']
|
|
733
844
|
.block-host[data-focused]
|
|
734
845
|
.md-marker:not([contenteditable='false']) {
|
|
735
846
|
display: inline;
|
|
736
847
|
}
|
|
737
848
|
|
|
738
|
-
/* 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. */
|
|
739
850
|
:where(.editor)[data-presentation^='preview-'] .block-host[data-focused] .md-fence-line {
|
|
740
851
|
display: inline;
|
|
741
852
|
}
|
|
@@ -749,13 +860,13 @@
|
|
|
749
860
|
display: none;
|
|
750
861
|
}
|
|
751
862
|
|
|
752
|
-
/* Reference labels
|
|
863
|
+
/* Reference labels show on the focused block under preview-block. */
|
|
753
864
|
:where(.editor)[data-presentation='preview-block'] .block-host[data-focused] .md-ref-label {
|
|
754
865
|
display: inline;
|
|
755
866
|
}
|
|
756
867
|
|
|
757
|
-
/* preview-inline is
|
|
758
|
-
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. */
|
|
759
870
|
:where(.editor)[data-presentation='preview-block']
|
|
760
871
|
.block-host[data-focused]
|
|
761
872
|
.md-marker[contenteditable='false'] {
|
|
@@ -768,10 +879,8 @@
|
|
|
768
879
|
content: none;
|
|
769
880
|
}
|
|
770
881
|
|
|
771
|
-
/* ──
|
|
772
|
-
|
|
773
|
-
md-construct-reveal on the chain at the caret. Unstamped markers reveal with block focus as
|
|
774
|
-
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. */
|
|
775
884
|
:where(.editor)[data-presentation='preview-inline']
|
|
776
885
|
.block-host[data-focused]
|
|
777
886
|
.md-marker:not([contenteditable='false']):not([data-construct-start]) {
|