@react-x11/components 0.7.1 → 0.9.0
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 +295 -51
- package/dist/charts/node.d.ts +1 -1
- package/dist/charts/node.d.ts.map +1 -1
- package/dist/charts/node.js +6 -2
- package/dist/charts/node.js.map +1 -1
- package/dist/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/color-picker/ColorPicker.js +43 -33
- package/dist/color-picker/ColorPicker.js.map +1 -1
- package/dist/embed/client.d.ts +48 -3
- package/dist/embed/client.d.ts.map +1 -1
- package/dist/embed/client.js +79 -5
- package/dist/embed/client.js.map +1 -1
- package/dist/embed/index.d.ts +1 -1
- package/dist/embed/index.d.ts.map +1 -1
- package/dist/embed/index.js +1 -1
- package/dist/embed/index.js.map +1 -1
- package/dist/html/node.d.ts +3 -1
- package/dist/html/node.d.ts.map +1 -1
- package/dist/html/node.js +7 -5
- package/dist/html/node.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{markdown → internal/markdown}/ast.d.ts +12 -0
- package/dist/internal/markdown/ast.d.ts.map +1 -0
- package/dist/internal/markdown/ast.js +22 -0
- package/dist/internal/markdown/ast.js.map +1 -0
- package/dist/internal/markdown/parse.d.ts.map +1 -0
- package/dist/{markdown → internal/markdown}/parse.js +112 -22
- package/dist/internal/markdown/parse.js.map +1 -0
- package/dist/internal/markdown/stringify.d.ts +4 -0
- package/dist/internal/markdown/stringify.d.ts.map +1 -0
- package/dist/internal/markdown/stringify.js +684 -0
- package/dist/internal/markdown/stringify.js.map +1 -0
- package/dist/internal/markdown/tags.d.ts.map +1 -0
- package/dist/internal/markdown/tags.js.map +1 -0
- package/dist/internal/scroll.d.ts +3 -2
- package/dist/internal/scroll.d.ts.map +1 -1
- package/dist/internal/scroll.js +33 -15
- package/dist/internal/scroll.js.map +1 -1
- package/dist/internal/units.d.ts +2 -0
- package/dist/internal/units.d.ts.map +1 -0
- package/dist/internal/units.js +35 -0
- package/dist/internal/units.js.map +1 -0
- package/dist/internal/window.d.ts.map +1 -1
- package/dist/internal/window.js +4 -2
- package/dist/internal/window.js.map +1 -1
- package/dist/maps/anchors.d.ts +98 -0
- package/dist/maps/anchors.d.ts.map +1 -0
- package/dist/maps/anchors.js +531 -0
- package/dist/maps/anchors.js.map +1 -0
- package/dist/maps/controller.d.ts +283 -0
- package/dist/maps/controller.d.ts.map +1 -0
- package/dist/maps/controller.js +743 -0
- package/dist/maps/controller.js.map +1 -0
- package/dist/maps/gl/buckets.d.ts +95 -0
- package/dist/maps/gl/buckets.d.ts.map +1 -0
- package/dist/maps/gl/buckets.js +362 -0
- package/dist/maps/gl/buckets.js.map +1 -0
- package/dist/maps/gl/build-worker.d.ts +13 -0
- package/dist/maps/gl/build-worker.d.ts.map +1 -0
- package/dist/maps/gl/build-worker.js +44 -0
- package/dist/maps/gl/build-worker.js.map +1 -0
- package/dist/maps/gl/color.d.ts +8 -0
- package/dist/maps/gl/color.d.ts.map +1 -0
- package/dist/maps/gl/color.js +57 -0
- package/dist/maps/gl/color.js.map +1 -0
- package/dist/maps/gl/cover.d.ts +51 -0
- package/dist/maps/gl/cover.d.ts.map +1 -0
- package/dist/maps/gl/cover.js +124 -0
- package/dist/maps/gl/cover.js.map +1 -0
- package/dist/maps/gl/index.d.ts +3 -0
- package/dist/maps/gl/index.d.ts.map +1 -0
- package/dist/maps/gl/index.js +20 -0
- package/dist/maps/gl/index.js.map +1 -0
- package/dist/maps/gl/markers.d.ts +28 -0
- package/dist/maps/gl/markers.d.ts.map +1 -0
- package/dist/maps/gl/markers.js +60 -0
- package/dist/maps/gl/markers.js.map +1 -0
- package/dist/maps/gl/overlays.d.ts +68 -0
- package/dist/maps/gl/overlays.d.ts.map +1 -0
- package/dist/maps/gl/overlays.js +300 -0
- package/dist/maps/gl/overlays.js.map +1 -0
- package/dist/maps/gl/pane.d.ts +12 -0
- package/dist/maps/gl/pane.d.ts.map +1 -0
- package/dist/maps/gl/pane.js +37 -0
- package/dist/maps/gl/pane.js.map +1 -0
- package/dist/maps/gl/placement.d.ts +111 -0
- package/dist/maps/gl/placement.d.ts.map +1 -0
- package/dist/maps/gl/placement.js +567 -0
- package/dist/maps/gl/placement.js.map +1 -0
- package/dist/maps/gl/renderer.d.ts +352 -0
- package/dist/maps/gl/renderer.d.ts.map +1 -0
- package/dist/maps/gl/renderer.js +1127 -0
- package/dist/maps/gl/renderer.js.map +1 -0
- package/dist/maps/gl/shaders.d.ts +120 -0
- package/dist/maps/gl/shaders.d.ts.map +1 -0
- package/dist/maps/gl/shaders.js +451 -0
- package/dist/maps/gl/shaders.js.map +1 -0
- package/dist/maps/gl/store.d.ts +115 -0
- package/dist/maps/gl/store.d.ts.map +1 -0
- package/dist/maps/gl/store.js +469 -0
- package/dist/maps/gl/store.js.map +1 -0
- package/dist/maps/gl/text.d.ts +154 -0
- package/dist/maps/gl/text.d.ts.map +1 -0
- package/dist/maps/gl/text.js +382 -0
- package/dist/maps/gl/text.js.map +1 -0
- package/dist/maps/gl/view.d.ts +54 -0
- package/dist/maps/gl/view.d.ts.map +1 -0
- package/dist/maps/gl/view.js +974 -0
- package/dist/maps/gl/view.js.map +1 -0
- package/dist/maps/index.d.ts +1 -1
- package/dist/maps/index.d.ts.map +1 -1
- package/dist/maps/index.js +216 -52
- package/dist/maps/index.js.map +1 -1
- package/dist/maps/labels.d.ts +37 -16
- package/dist/maps/labels.d.ts.map +1 -1
- package/dist/maps/labels.js +188 -119
- package/dist/maps/labels.js.map +1 -1
- package/dist/maps/node.d.ts +162 -56
- package/dist/maps/node.d.ts.map +1 -1
- package/dist/maps/node.js +607 -515
- package/dist/maps/node.js.map +1 -1
- package/dist/maps/overlay.d.ts +72 -9
- package/dist/maps/overlay.d.ts.map +1 -1
- package/dist/maps/overlay.js +108 -28
- package/dist/maps/overlay.js.map +1 -1
- package/dist/maps/paint.d.ts +3 -0
- package/dist/maps/paint.d.ts.map +1 -1
- package/dist/maps/paint.js.map +1 -1
- package/dist/maps/proj.d.ts +14 -0
- package/dist/maps/proj.d.ts.map +1 -1
- package/dist/maps/proj.js +28 -0
- package/dist/maps/proj.js.map +1 -1
- package/dist/maps/renderer.d.ts +69 -0
- package/dist/maps/renderer.d.ts.map +1 -0
- package/dist/maps/renderer.js +66 -0
- package/dist/maps/renderer.js.map +1 -0
- package/dist/maps/sources.d.ts +25 -3
- package/dist/maps/sources.d.ts.map +1 -1
- package/dist/maps/sources.js +17 -0
- package/dist/maps/sources.js.map +1 -1
- package/dist/maps/theme.d.ts +19 -0
- package/dist/maps/theme.d.ts.map +1 -0
- package/dist/maps/theme.js +44 -0
- package/dist/maps/theme.js.map +1 -0
- package/dist/maps/tiles.d.ts +117 -17
- package/dist/maps/tiles.d.ts.map +1 -1
- package/dist/maps/tiles.js +163 -30
- package/dist/maps/tiles.js.map +1 -1
- package/dist/maps/types.d.ts +188 -20
- package/dist/maps/types.d.ts.map +1 -1
- package/dist/markdown/expressions.d.ts +1 -1
- package/dist/markdown/expressions.d.ts.map +1 -1
- package/dist/markdown/expressions.js.map +1 -1
- package/dist/markdown/index.d.ts +7 -6
- package/dist/markdown/index.d.ts.map +1 -1
- package/dist/markdown/index.js +9 -7
- package/dist/markdown/index.js.map +1 -1
- package/dist/markdown/spans.d.ts +1 -1
- package/dist/markdown/spans.d.ts.map +1 -1
- package/dist/media-player/index.d.ts +11 -3
- package/dist/media-player/index.d.ts.map +1 -1
- package/dist/media-player/index.js +13 -2
- package/dist/media-player/index.js.map +1 -1
- package/dist/rich-text-editor/clipboard.d.ts +23 -0
- package/dist/rich-text-editor/clipboard.d.ts.map +1 -0
- package/dist/rich-text-editor/clipboard.js +307 -0
- package/dist/rich-text-editor/clipboard.js.map +1 -0
- package/dist/rich-text-editor/collab.d.ts +32 -0
- package/dist/rich-text-editor/collab.d.ts.map +1 -0
- package/dist/rich-text-editor/collab.js +55 -0
- package/dist/rich-text-editor/collab.js.map +1 -0
- package/dist/rich-text-editor/commands.d.ts +50 -0
- package/dist/rich-text-editor/commands.d.ts.map +1 -0
- package/dist/rich-text-editor/commands.js +376 -0
- package/dist/rich-text-editor/commands.js.map +1 -0
- package/dist/rich-text-editor/drag.d.ts +68 -0
- package/dist/rich-text-editor/drag.d.ts.map +1 -0
- package/dist/rich-text-editor/drag.js +148 -0
- package/dist/rich-text-editor/drag.js.map +1 -0
- package/dist/rich-text-editor/html.d.ts +145 -0
- package/dist/rich-text-editor/html.d.ts.map +1 -0
- package/dist/rich-text-editor/html.js +516 -0
- package/dist/rich-text-editor/html.js.map +1 -0
- package/dist/rich-text-editor/index.d.ts +263 -0
- package/dist/rich-text-editor/index.d.ts.map +1 -0
- package/dist/rich-text-editor/index.js +822 -0
- package/dist/rich-text-editor/index.js.map +1 -0
- package/dist/rich-text-editor/inline.d.ts +94 -0
- package/dist/rich-text-editor/inline.d.ts.map +1 -0
- package/dist/rich-text-editor/inline.js +252 -0
- package/dist/rich-text-editor/inline.js.map +1 -0
- package/dist/rich-text-editor/keymap.d.ts +71 -0
- package/dist/rich-text-editor/keymap.d.ts.map +1 -0
- package/dist/rich-text-editor/keymap.js +393 -0
- package/dist/rich-text-editor/keymap.js.map +1 -0
- package/dist/rich-text-editor/keys.d.ts +29 -0
- package/dist/rich-text-editor/keys.d.ts.map +1 -0
- package/dist/rich-text-editor/keys.js +93 -0
- package/dist/rich-text-editor/keys.js.map +1 -0
- package/dist/rich-text-editor/look.d.ts +71 -0
- package/dist/rich-text-editor/look.d.ts.map +1 -0
- package/dist/rich-text-editor/look.js +342 -0
- package/dist/rich-text-editor/look.js.map +1 -0
- package/dist/rich-text-editor/markdown.d.ts +18 -0
- package/dist/rich-text-editor/markdown.d.ts.map +1 -0
- package/dist/rich-text-editor/markdown.js +496 -0
- package/dist/rich-text-editor/markdown.js.map +1 -0
- package/dist/rich-text-editor/nodes.d.ts +135 -0
- package/dist/rich-text-editor/nodes.d.ts.map +1 -0
- package/dist/rich-text-editor/nodes.js +397 -0
- package/dist/rich-text-editor/nodes.js.map +1 -0
- package/dist/rich-text-editor/render.d.ts +68 -0
- package/dist/rich-text-editor/render.d.ts.map +1 -0
- package/dist/rich-text-editor/render.js +500 -0
- package/dist/rich-text-editor/render.js.map +1 -0
- package/dist/rich-text-editor/schema.d.ts +16 -0
- package/dist/rich-text-editor/schema.d.ts.map +1 -0
- package/dist/rich-text-editor/schema.js +386 -0
- package/dist/rich-text-editor/schema.js.map +1 -0
- package/dist/rich-text-editor/store.d.ts +11 -0
- package/dist/rich-text-editor/store.d.ts.map +1 -0
- package/dist/rich-text-editor/store.js +43 -0
- package/dist/rich-text-editor/store.js.map +1 -0
- package/dist/rich-text-editor/suggest.d.ts +127 -0
- package/dist/rich-text-editor/suggest.d.ts.map +1 -0
- package/dist/rich-text-editor/suggest.js +0 -0
- package/dist/rich-text-editor/suggest.js.map +1 -0
- package/dist/rich-text-editor/tables.d.ts +41 -0
- package/dist/rich-text-editor/tables.d.ts.map +1 -0
- package/dist/rich-text-editor/tables.js +204 -0
- package/dist/rich-text-editor/tables.js.map +1 -0
- package/dist/rich-text-editor/toolbar.d.ts +58 -0
- package/dist/rich-text-editor/toolbar.d.ts.map +1 -0
- package/dist/rich-text-editor/toolbar.js +548 -0
- package/dist/rich-text-editor/toolbar.js.map +1 -0
- package/dist/rich-text-editor/view.d.ts +368 -0
- package/dist/rich-text-editor/view.d.ts.map +1 -0
- package/dist/rich-text-editor/view.js +1968 -0
- package/dist/rich-text-editor/view.js.map +1 -0
- package/dist/rich-text-editor/virtual.d.ts +54 -0
- package/dist/rich-text-editor/virtual.d.ts.map +1 -0
- package/dist/rich-text-editor/virtual.js +262 -0
- package/dist/rich-text-editor/virtual.js.map +1 -0
- package/dist/richtext/node.d.ts +25 -2
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +46 -24
- package/dist/richtext/node.js.map +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +14 -5
- package/dist/table/index.js.map +1 -1
- package/dist/terminal/backends.d.ts +4 -1
- package/dist/terminal/backends.d.ts.map +1 -1
- package/dist/terminal/backends.js.map +1 -1
- package/dist/terminal/index.d.ts +18 -7
- package/dist/terminal/index.d.ts.map +1 -1
- package/dist/terminal/index.js +28 -11
- package/dist/terminal/index.js.map +1 -1
- package/dist/terminal/vt/node.d.ts +56 -3
- package/dist/terminal/vt/node.d.ts.map +1 -1
- package/dist/terminal/vt/node.js +106 -26
- package/dist/terminal/vt/node.js.map +1 -1
- package/dist/terminal/vt/renderer.d.ts +4 -0
- package/dist/terminal/vt/renderer.d.ts.map +1 -1
- package/dist/terminal/vt/renderer.js +14 -5
- package/dist/terminal/vt/renderer.js.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +6 -4
- package/dist/tree/index.js.map +1 -1
- package/package.json +23 -4
- package/src/charts/node.ts +6 -2
- package/src/color-picker/ColorPicker.ts +107 -81
- package/src/embed/client.ts +102 -8
- package/src/embed/index.ts +2 -0
- package/src/html/node.ts +7 -5
- package/src/index.ts +2 -0
- package/src/{markdown → internal/markdown}/ast.ts +24 -7
- package/src/{markdown → internal/markdown}/parse.ts +134 -24
- package/src/internal/markdown/stringify.ts +772 -0
- package/src/internal/scroll.ts +39 -18
- package/src/internal/units.ts +34 -0
- package/src/internal/window.ts +4 -2
- package/src/maps/anchors.ts +607 -0
- package/src/maps/controller.ts +999 -0
- package/src/maps/gl/buckets.ts +457 -0
- package/src/maps/gl/build-worker.ts +55 -0
- package/src/maps/gl/color.ts +62 -0
- package/src/maps/gl/cover.ts +170 -0
- package/src/maps/gl/index.ts +23 -0
- package/src/maps/gl/markers.ts +83 -0
- package/src/maps/gl/overlays.ts +379 -0
- package/src/maps/gl/pane.ts +42 -0
- package/src/maps/gl/placement.ts +816 -0
- package/src/maps/gl/renderer.ts +1576 -0
- package/src/maps/gl/shaders.ts +486 -0
- package/src/maps/gl/store.ts +566 -0
- package/src/maps/gl/text.ts +495 -0
- package/src/maps/gl/view.ts +1224 -0
- package/src/maps/index.ts +270 -81
- package/src/maps/labels.ts +214 -121
- package/src/maps/node.ts +763 -629
- package/src/maps/overlay.ts +148 -43
- package/src/maps/paint.ts +3 -0
- package/src/maps/proj.ts +31 -0
- package/src/maps/renderer.ts +155 -0
- package/src/maps/sources.ts +38 -3
- package/src/maps/theme.ts +51 -0
- package/src/maps/tiles.ts +191 -33
- package/src/maps/types.ts +188 -20
- package/src/markdown/expressions.ts +5 -1
- package/src/markdown/index.ts +14 -11
- package/src/markdown/spans.ts +1 -1
- package/src/media-player/index.ts +18 -4
- package/src/rich-text-editor/clipboard.ts +439 -0
- package/src/rich-text-editor/collab.ts +91 -0
- package/src/rich-text-editor/commands.ts +448 -0
- package/src/rich-text-editor/dom-globals.d.ts +23 -0
- package/src/rich-text-editor/drag.ts +211 -0
- package/src/rich-text-editor/html.ts +619 -0
- package/src/rich-text-editor/index.ts +1331 -0
- package/src/rich-text-editor/inline.ts +345 -0
- package/src/rich-text-editor/keymap.ts +510 -0
- package/src/rich-text-editor/keys.ts +119 -0
- package/src/rich-text-editor/look.ts +427 -0
- package/src/rich-text-editor/markdown.ts +653 -0
- package/src/rich-text-editor/nodes.ts +497 -0
- package/src/rich-text-editor/render.ts +800 -0
- package/src/rich-text-editor/schema.ts +431 -0
- package/src/rich-text-editor/store.ts +39 -0
- package/src/rich-text-editor/suggest.ts +597 -0
- package/src/rich-text-editor/tables.ts +272 -0
- package/src/rich-text-editor/toolbar.ts +724 -0
- package/src/rich-text-editor/view.ts +2287 -0
- package/src/rich-text-editor/virtual.ts +347 -0
- package/src/richtext/node.ts +59 -30
- package/src/table/index.ts +14 -5
- package/src/terminal/backends.ts +4 -1
- package/src/terminal/index.ts +43 -15
- package/src/terminal/vt/node.ts +128 -29
- package/src/terminal/vt/renderer.ts +27 -5
- package/src/tree/index.ts +6 -4
- package/dist/markdown/ast.d.ts.map +0 -1
- package/dist/markdown/ast.js +0 -17
- package/dist/markdown/ast.js.map +0 -1
- package/dist/markdown/parse.d.ts.map +0 -1
- package/dist/markdown/parse.js.map +0 -1
- package/dist/markdown/tags.d.ts.map +0 -1
- package/dist/markdown/tags.js.map +0 -1
- /package/dist/{markdown → internal/markdown}/parse.d.ts +0 -0
- /package/dist/{markdown → internal/markdown}/tags.d.ts +0 -0
- /package/dist/{markdown → internal/markdown}/tags.js +0 -0
- /package/src/{markdown → internal/markdown}/tags.ts +0 -0
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
// The document, rendered: one React element per block, keyed by the view's
|
|
2
|
+
// block keys, composed from `<box>` and the editor's own text element.
|
|
3
|
+
//
|
|
4
|
+
// **Composition, not a drawn document**, by the rule AGENTS.md sets for the
|
|
5
|
+
// question: the viewport is a scroll rather than a transform, and a
|
|
6
|
+
// document's block flow — paragraphs, lists, quotes, a table's rows — is
|
|
7
|
+
// what flexbox already lays out, which is how `<Markdown>` draws the same
|
|
8
|
+
// content. What composition buys an editor in particular is the extension
|
|
9
|
+
// seam: a node view is a React component in the flow, not a picture of one.
|
|
10
|
+
//
|
|
11
|
+
// **What re-renders, and why nothing else does.** A block is a memoized
|
|
12
|
+
// component keyed by its node's *identity* — ProseMirror shares every node
|
|
13
|
+
// an edit did not touch, so typing in one paragraph re-renders that
|
|
14
|
+
// paragraph and the chain of containers above it, and nothing else. A block
|
|
15
|
+
// never receives its position: positions shift on every keystroke before
|
|
16
|
+
// them, so a block asks the view for its position when it needs one
|
|
17
|
+
// (`getPos`). Decorations and a node selection reach a block through its own
|
|
18
|
+
// subscription (`./store.ts`), so neither re-renders the document.
|
|
19
|
+
import React, { useCallback, useMemo, useSyncExternalStore } from 'react';
|
|
20
|
+
import { Icon } from 'react-x11';
|
|
21
|
+
import { codeBlockStyle, codeTextStyle } from '../codeblock/index.js';
|
|
22
|
+
import { hx } from '../internal/hx.js';
|
|
23
|
+
import { setTaskChecked } from './commands.js';
|
|
24
|
+
import { buildInline } from './inline.js';
|
|
25
|
+
import { domTagOf } from './look.js';
|
|
26
|
+
import { TEXT_ELEMENT } from './nodes.js';
|
|
27
|
+
const h = React.createElement;
|
|
28
|
+
const PLAIN = { quote: false, header: false };
|
|
29
|
+
const QUOTED = { quote: true, header: false };
|
|
30
|
+
const HEADER = { quote: false, header: true };
|
|
31
|
+
const QUOTED_HEADER = { quote: true, header: true };
|
|
32
|
+
const NO_DECORATIONS = [];
|
|
33
|
+
const NO_WIDGETS = [];
|
|
34
|
+
function useKeyed(store, key) {
|
|
35
|
+
const subscribe = useCallback((fn) => store.subscribe(key, fn), [store, key]);
|
|
36
|
+
const get = useCallback(() => store.get(key), [store, key]);
|
|
37
|
+
return useSyncExternalStore(subscribe, get, get);
|
|
38
|
+
}
|
|
39
|
+
/** What a block is, for drawing: by name (the reference schema's, then
|
|
40
|
+
* TipTap's), then by what its own `toDOM` says it is. */
|
|
41
|
+
function roleOf(node) {
|
|
42
|
+
if (node.isTextblock)
|
|
43
|
+
return 'textblock';
|
|
44
|
+
const name = node.type.name;
|
|
45
|
+
const table = node.type.spec.tableRole;
|
|
46
|
+
if (table === 'table')
|
|
47
|
+
return 'table';
|
|
48
|
+
switch (name) {
|
|
49
|
+
case 'blockquote':
|
|
50
|
+
return 'quote';
|
|
51
|
+
case 'bullet_list':
|
|
52
|
+
case 'ordered_list':
|
|
53
|
+
case 'bulletList':
|
|
54
|
+
case 'orderedList':
|
|
55
|
+
case 'taskList':
|
|
56
|
+
return 'list';
|
|
57
|
+
case 'horizontal_rule':
|
|
58
|
+
case 'horizontalRule':
|
|
59
|
+
return 'rule';
|
|
60
|
+
case 'image':
|
|
61
|
+
return 'image';
|
|
62
|
+
}
|
|
63
|
+
const tag = domTagOf(node.type.spec, node)?.tag;
|
|
64
|
+
if (tag === 'blockquote')
|
|
65
|
+
return 'quote';
|
|
66
|
+
if (tag === 'ul' || tag === 'ol')
|
|
67
|
+
return 'list';
|
|
68
|
+
if (tag === 'hr')
|
|
69
|
+
return 'rule';
|
|
70
|
+
if (tag === 'img')
|
|
71
|
+
return 'image';
|
|
72
|
+
if (tag === 'table')
|
|
73
|
+
return 'table';
|
|
74
|
+
return node.isLeaf ? 'atom' : 'container';
|
|
75
|
+
}
|
|
76
|
+
function isOrdered(list) {
|
|
77
|
+
const name = list.type.name;
|
|
78
|
+
if (name === 'ordered_list' || name === 'orderedList')
|
|
79
|
+
return true;
|
|
80
|
+
return domTagOf(list.type.spec, list)?.tag === 'ol';
|
|
81
|
+
}
|
|
82
|
+
/** The blocks inside `parent`, whose content starts at `contentStart`. */
|
|
83
|
+
export function renderBlocks(parent, contentStart, ctx, bctx = PLAIN) {
|
|
84
|
+
const out = [];
|
|
85
|
+
parent.forEach((child, offset) => {
|
|
86
|
+
const pos = contentStart + offset;
|
|
87
|
+
const key = ctx.view.keys.keyAt(pos) ?? `p${pos}`;
|
|
88
|
+
out.push(h(BlockView, { key, blockKey: key, node: child, ctx, bctx }));
|
|
89
|
+
});
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
function sameBlock(a, b) {
|
|
93
|
+
return (a.node === b.node &&
|
|
94
|
+
a.ctx === b.ctx &&
|
|
95
|
+
a.blockKey === b.blockKey &&
|
|
96
|
+
a.bctx === b.bctx);
|
|
97
|
+
}
|
|
98
|
+
/** A block, of any kind. */
|
|
99
|
+
const BlockView = React.memo(function BlockView(props) {
|
|
100
|
+
const { node, blockKey, ctx, bctx } = props;
|
|
101
|
+
const selected = useKeyed(ctx.view.selectedBlocks, blockKey) === true;
|
|
102
|
+
const custom = ctx.nodeViews?.[node.type.name];
|
|
103
|
+
if (custom)
|
|
104
|
+
return h(NodeViewHost, { ...props, selected, component: custom });
|
|
105
|
+
switch (roleOf(node)) {
|
|
106
|
+
case 'textblock':
|
|
107
|
+
return h(TextblockView, props);
|
|
108
|
+
case 'quote':
|
|
109
|
+
return hx('box', {
|
|
110
|
+
style: {
|
|
111
|
+
flexDirection: 'column',
|
|
112
|
+
gap: ctx.look.blockGap,
|
|
113
|
+
borderLeftWidth: 3,
|
|
114
|
+
borderLeftColor: ctx.look.border,
|
|
115
|
+
paddingLeft: 10,
|
|
116
|
+
},
|
|
117
|
+
}, ...renderBlocks(node, startOf(ctx, blockKey), ctx, bctx.header ? QUOTED_HEADER : QUOTED));
|
|
118
|
+
case 'list':
|
|
119
|
+
return h(ListView, props);
|
|
120
|
+
case 'table':
|
|
121
|
+
return h(TableView, props);
|
|
122
|
+
case 'rule':
|
|
123
|
+
return h(AtomBox, { blockKey, ctx, selected, style: { paddingTop: 6, paddingBottom: 6 } }, hx('box', { style: { height: 1, backgroundColor: ctx.look.border } }));
|
|
124
|
+
case 'image':
|
|
125
|
+
return h(AtomBox, { blockKey, ctx, selected }, imageContent(node, ctx));
|
|
126
|
+
case 'atom':
|
|
127
|
+
return h(AtomBox, { blockKey, ctx, selected }, hx('text', { style: { color: ctx.look.muted, fontSize: ctx.look.size } }, node.type.spec.leafText?.(node) || node.type.name));
|
|
128
|
+
default:
|
|
129
|
+
return hx('box', { style: { flexDirection: 'column', gap: ctx.look.blockGap } }, ...renderBlocks(node, startOf(ctx, blockKey), ctx, bctx));
|
|
130
|
+
}
|
|
131
|
+
}, sameBlock);
|
|
132
|
+
/** Where a block's content starts, now. */
|
|
133
|
+
function startOf(ctx, key) {
|
|
134
|
+
return (ctx.view.keys.posOf(key) ?? -1) + 1;
|
|
135
|
+
}
|
|
136
|
+
const ROW_STYLE = { flexDirection: 'column', flexShrink: 0 };
|
|
137
|
+
const BlockRow = React.memo(function BlockRow(props) {
|
|
138
|
+
const { blockKey, at, register } = props;
|
|
139
|
+
const ref = useCallback((node) => register(blockKey, at, node), [register, blockKey, at]);
|
|
140
|
+
return hx('box', { ref, style: ROW_STYLE }, h(BlockView, {
|
|
141
|
+
blockKey,
|
|
142
|
+
node: props.node,
|
|
143
|
+
ctx: props.ctx,
|
|
144
|
+
bctx: props.bctx,
|
|
145
|
+
}));
|
|
146
|
+
}, (a, b) => sameBlock(a, b) && a.at === b.at && a.register === b.register);
|
|
147
|
+
/** The top-level blocks `first` to `last` (exclusive) of a long document —
|
|
148
|
+
* the window ./virtual.ts keeps — each in a box of its own to measure. */
|
|
149
|
+
export function renderBlockRange(doc, first, last, ctx, register) {
|
|
150
|
+
const out = [];
|
|
151
|
+
doc.forEach((child, offset, index) => {
|
|
152
|
+
if (index < first || index >= last)
|
|
153
|
+
return;
|
|
154
|
+
const key = ctx.view.keys.keyAt(offset) ?? `p${offset}`;
|
|
155
|
+
out.push(h(BlockRow, {
|
|
156
|
+
key,
|
|
157
|
+
blockKey: key,
|
|
158
|
+
node: child,
|
|
159
|
+
ctx,
|
|
160
|
+
bctx: PLAIN,
|
|
161
|
+
at: index,
|
|
162
|
+
register,
|
|
163
|
+
}));
|
|
164
|
+
});
|
|
165
|
+
return out;
|
|
166
|
+
}
|
|
167
|
+
function imageContent(node, ctx) {
|
|
168
|
+
const info = {
|
|
169
|
+
src: String(node.attrs.src ?? ''),
|
|
170
|
+
alt: typeof node.attrs.alt === 'string' ? node.attrs.alt : null,
|
|
171
|
+
title: typeof node.attrs.title === 'string' ? node.attrs.title : null,
|
|
172
|
+
};
|
|
173
|
+
const drawn = ctx.renderImage?.(info);
|
|
174
|
+
if (drawn != null)
|
|
175
|
+
return drawn;
|
|
176
|
+
return hx('box', {
|
|
177
|
+
style: {
|
|
178
|
+
borderWidth: 1,
|
|
179
|
+
borderColor: ctx.look.border,
|
|
180
|
+
borderRadius: 4,
|
|
181
|
+
padding: 8,
|
|
182
|
+
alignSelf: 'flex-start',
|
|
183
|
+
},
|
|
184
|
+
}, hx('text', { style: { color: ctx.look.muted, fontSize: ctx.look.size } }, info.alt || info.src || 'image'));
|
|
185
|
+
}
|
|
186
|
+
/** A block atom: registered with the view, so a press on it selects it, and
|
|
187
|
+
* outlined while it is selected. */
|
|
188
|
+
function AtomBox({ blockKey, ctx, selected, style, children, }) {
|
|
189
|
+
const ref = useCallback((node) => ctx.view.attachBox(blockKey, node ?? null), [ctx.view, blockKey]);
|
|
190
|
+
return hx('box', {
|
|
191
|
+
ref,
|
|
192
|
+
style: {
|
|
193
|
+
flexDirection: 'column',
|
|
194
|
+
borderWidth: 2,
|
|
195
|
+
borderRadius: 4,
|
|
196
|
+
borderColor: selected ? ctx.look.accent : 'transparent',
|
|
197
|
+
...style,
|
|
198
|
+
},
|
|
199
|
+
}, children);
|
|
200
|
+
}
|
|
201
|
+
/** A textblock: the editor's text element, and what its kind wraps it in. */
|
|
202
|
+
function TextblockView({ node, blockKey, ctx, bctx, }) {
|
|
203
|
+
const decorations = useKeyed(ctx.view.decorations, blockKey);
|
|
204
|
+
const look = ctx.look.inline(node, bctx);
|
|
205
|
+
const built = useMemo(() => buildInline(node, look, decorations?.inline ?? NO_DECORATIONS, decorations?.widgets ?? NO_WIDGETS), [node, look, decorations]);
|
|
206
|
+
const code = !!look.code;
|
|
207
|
+
const align = node.attrs.align;
|
|
208
|
+
const text = h(TEXT_ELEMENT, {
|
|
209
|
+
runs: built.runs,
|
|
210
|
+
map: built.map,
|
|
211
|
+
node,
|
|
212
|
+
blockKey,
|
|
213
|
+
host: ctx.view,
|
|
214
|
+
style: {
|
|
215
|
+
...(code ? codeTextStyle(ctx.look.code) : null),
|
|
216
|
+
...(align === 'left' || align === 'center' || align === 'right'
|
|
217
|
+
? { textAlign: align }
|
|
218
|
+
: null),
|
|
219
|
+
flexShrink: 1,
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
const box = decorations?.box;
|
|
223
|
+
let out = text;
|
|
224
|
+
if (code) {
|
|
225
|
+
out = hx('box', { style: { ...codeBlockStyle(ctx.look.code), flexDirection: 'column' } }, text);
|
|
226
|
+
}
|
|
227
|
+
else if (node.type.name === 'heading' ||
|
|
228
|
+
/^h[1-6]$/.test(domTagOf(node.type.spec, node)?.tag ?? '')) {
|
|
229
|
+
out = hx('box', {
|
|
230
|
+
style: {
|
|
231
|
+
flexDirection: 'column',
|
|
232
|
+
paddingTop: Math.round(ctx.look.blockGap * 0.4),
|
|
233
|
+
},
|
|
234
|
+
}, text);
|
|
235
|
+
}
|
|
236
|
+
// an image alone in its paragraph is shown, when the app says how
|
|
237
|
+
const only = node.childCount === 1 ? node.firstChild : null;
|
|
238
|
+
if (only?.type.name === 'image' && ctx.renderImage) {
|
|
239
|
+
const drawn = ctx.renderImage({
|
|
240
|
+
src: String(only.attrs.src ?? ''),
|
|
241
|
+
alt: typeof only.attrs.alt === 'string' ? only.attrs.alt : null,
|
|
242
|
+
title: typeof only.attrs.title === 'string' ? only.attrs.title : null,
|
|
243
|
+
});
|
|
244
|
+
if (drawn != null) {
|
|
245
|
+
out = hx('box', { style: { flexDirection: 'column', gap: 4 } }, drawn, out);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (box?.background) {
|
|
249
|
+
out = hx('box', {
|
|
250
|
+
style: {
|
|
251
|
+
flexDirection: 'column',
|
|
252
|
+
backgroundColor: box.background,
|
|
253
|
+
borderRadius: 3,
|
|
254
|
+
},
|
|
255
|
+
}, out);
|
|
256
|
+
}
|
|
257
|
+
return out;
|
|
258
|
+
}
|
|
259
|
+
/** A list: its items, each a marker and its blocks. The marker is chrome —
|
|
260
|
+
* a number, a bullet, or a task's box, which toggles. */
|
|
261
|
+
function ListView({ node, blockKey, ctx, bctx }) {
|
|
262
|
+
const view = ctx.view;
|
|
263
|
+
const look = ctx.look;
|
|
264
|
+
const ordered = isOrdered(node);
|
|
265
|
+
const start = Number(node.attrs.order ?? node.attrs.start ?? 1);
|
|
266
|
+
const tight = node.attrs.tight !== false;
|
|
267
|
+
const contentStart = startOf(ctx, blockKey);
|
|
268
|
+
const last = start + node.childCount - 1;
|
|
269
|
+
const markerWidth = ordered
|
|
270
|
+
? Math.max(String(last).length, 1) * Math.ceil(look.size * 0.62) + 10
|
|
271
|
+
: Math.round(look.size * 1.15);
|
|
272
|
+
const items = [];
|
|
273
|
+
node.forEach((item, offset, index) => {
|
|
274
|
+
const pos = contentStart + offset;
|
|
275
|
+
const key = view.keys.keyAt(pos) ?? `i${pos}`;
|
|
276
|
+
items.push(h(ItemView, {
|
|
277
|
+
key,
|
|
278
|
+
blockKey: key,
|
|
279
|
+
node: item,
|
|
280
|
+
ctx,
|
|
281
|
+
bctx,
|
|
282
|
+
marker: ordered ? `${start + index}.` : '•',
|
|
283
|
+
markerWidth,
|
|
284
|
+
}));
|
|
285
|
+
});
|
|
286
|
+
return hx('box', {
|
|
287
|
+
style: {
|
|
288
|
+
flexDirection: 'column',
|
|
289
|
+
gap: tight ? Math.round(look.blockGap * 0.25) : look.blockGap,
|
|
290
|
+
},
|
|
291
|
+
}, ...items);
|
|
292
|
+
}
|
|
293
|
+
const ItemView = React.memo(function ItemView({ node, blockKey, ctx, bctx, marker, markerWidth, }) {
|
|
294
|
+
const look = ctx.look;
|
|
295
|
+
const checked = node.attrs.checked;
|
|
296
|
+
const toggle = useCallback((ev) => {
|
|
297
|
+
// the box is the item's own control: the press is not a caret's
|
|
298
|
+
ev.preventDefault();
|
|
299
|
+
ev.stopPropagation();
|
|
300
|
+
if (!ctx.editable)
|
|
301
|
+
return;
|
|
302
|
+
const pos = ctx.view.keys.posOf(blockKey);
|
|
303
|
+
const current = ctx.view.keys.nodeOf(blockKey);
|
|
304
|
+
if (pos !== undefined && current)
|
|
305
|
+
ctx.view.run(setTaskChecked(pos, !current.attrs.checked));
|
|
306
|
+
}, [ctx, blockKey]);
|
|
307
|
+
const markerBox = typeof checked === 'boolean'
|
|
308
|
+
? hx('box', {
|
|
309
|
+
style: {
|
|
310
|
+
width: markerWidth,
|
|
311
|
+
flexShrink: 0,
|
|
312
|
+
flexDirection: 'row',
|
|
313
|
+
},
|
|
314
|
+
onMouseDown: toggle,
|
|
315
|
+
role: 'checkbox',
|
|
316
|
+
'aria-checked': checked,
|
|
317
|
+
}, hx('box', {
|
|
318
|
+
style: {
|
|
319
|
+
width: 12,
|
|
320
|
+
height: 12,
|
|
321
|
+
borderWidth: 1,
|
|
322
|
+
borderColor: checked ? look.accent : look.border,
|
|
323
|
+
borderRadius: 3,
|
|
324
|
+
backgroundColor: checked ? look.accent : undefined,
|
|
325
|
+
alignItems: 'center',
|
|
326
|
+
justifyContent: 'center',
|
|
327
|
+
marginTop: Math.round(look.size * 0.25),
|
|
328
|
+
cursor: 'default',
|
|
329
|
+
},
|
|
330
|
+
}, checked
|
|
331
|
+
? h(Icon, { name: 'check', size: 10, color: look.accentText })
|
|
332
|
+
: null))
|
|
333
|
+
: hx('box', {
|
|
334
|
+
style: {
|
|
335
|
+
width: markerWidth,
|
|
336
|
+
flexShrink: 0,
|
|
337
|
+
flexDirection: 'row',
|
|
338
|
+
},
|
|
339
|
+
}, hx('text', {
|
|
340
|
+
style: {
|
|
341
|
+
color: look.muted,
|
|
342
|
+
fontSize: look.size,
|
|
343
|
+
fontFamily: look.family,
|
|
344
|
+
},
|
|
345
|
+
}, marker));
|
|
346
|
+
return hx('box', { style: { flexDirection: 'row' } }, markerBox, hx('box', {
|
|
347
|
+
style: {
|
|
348
|
+
flexDirection: 'column',
|
|
349
|
+
gap: Math.round(look.blockGap * 0.4),
|
|
350
|
+
flexGrow: 1,
|
|
351
|
+
flexShrink: 1,
|
|
352
|
+
},
|
|
353
|
+
}, ...renderBlocks(node, startOf(ctx, blockKey), ctx, bctx)));
|
|
354
|
+
}, (a, b) => sameBlock(a, b) && a.marker === b.marker && a.markerWidth === b.markerWidth);
|
|
355
|
+
/** What a cell's text measures, kept by the cell node and the look it was
|
|
356
|
+
* measured in. ProseMirror shares every node an edit did not touch, so
|
|
357
|
+
* typing in a cell measures that cell again and no other. */
|
|
358
|
+
const cellWidths = new WeakMap();
|
|
359
|
+
/** A textblock's text, laid out on one line, in logical pixels. */
|
|
360
|
+
function lineWidth(block, ctx, bctx) {
|
|
361
|
+
if (!ctx.fonts)
|
|
362
|
+
return block.textContent.length * ctx.look.size * 0.55;
|
|
363
|
+
const inline = ctx.look.inline(block, bctx);
|
|
364
|
+
const { runs } = buildInline(block, inline);
|
|
365
|
+
return ctx.fonts.layout(runs, {
|
|
366
|
+
family: inline.base.family,
|
|
367
|
+
size: inline.base.size,
|
|
368
|
+
}).width;
|
|
369
|
+
}
|
|
370
|
+
function cellWidth(cell, ctx, bctx) {
|
|
371
|
+
const key = `${ctx.look.key}|${bctx.header ? 'h' : ''}${bctx.quote ? 'q' : ''}|${ctx.fonts ? 'f' : ''}`;
|
|
372
|
+
const hit = cellWidths.get(cell);
|
|
373
|
+
if (hit && hit.key === key)
|
|
374
|
+
return hit.width;
|
|
375
|
+
let width = 0;
|
|
376
|
+
if (cell.isTextblock)
|
|
377
|
+
width = lineWidth(cell, ctx, bctx);
|
|
378
|
+
else {
|
|
379
|
+
// a schema whose cells hold blocks: the widest of them
|
|
380
|
+
cell.descendants((node) => {
|
|
381
|
+
if (!node.isTextblock)
|
|
382
|
+
return true;
|
|
383
|
+
width = Math.max(width, lineWidth(node, ctx, bctx));
|
|
384
|
+
return false;
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
cellWidths.set(cell, { key, width });
|
|
388
|
+
return width;
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* A table: rows of cells, each column as wide as its widest cell — capped,
|
|
392
|
+
* so one long cell cannot starve the rest; `<Markdown>`'s rule, so a table
|
|
393
|
+
* looks alike in both. When the table is wider than the document, every
|
|
394
|
+
* column gives up the same share and its text wraps. The rows are separate
|
|
395
|
+
* boxes and still line up, because every row's cells get the same basis and
|
|
396
|
+
* shrink alike.
|
|
397
|
+
*/
|
|
398
|
+
function TableView({ node, blockKey, ctx, bctx }) {
|
|
399
|
+
const look = ctx.look;
|
|
400
|
+
const view = ctx.view;
|
|
401
|
+
const contentStart = startOf(ctx, blockKey);
|
|
402
|
+
const size = look.size;
|
|
403
|
+
const padX = Math.round(size * 0.6);
|
|
404
|
+
const least = Math.round(size * 2.5);
|
|
405
|
+
const headerCtx = bctx.quote ? QUOTED_HEADER : HEADER;
|
|
406
|
+
const isHeader = (cell) => cell.type.spec.tableRole === 'header_cell';
|
|
407
|
+
const widths = [];
|
|
408
|
+
node.forEach((row) => {
|
|
409
|
+
row.forEach((cell, _offset, col) => {
|
|
410
|
+
const w = cellWidth(cell, ctx, isHeader(cell) ? headerCtx : bctx);
|
|
411
|
+
widths[col] = Math.max(widths[col] ?? 0, Math.min(Math.ceil(w), size * 26));
|
|
412
|
+
});
|
|
413
|
+
});
|
|
414
|
+
const basis = widths.map((w) => Math.max(w + padX * 2 + 2, least));
|
|
415
|
+
const rows = [];
|
|
416
|
+
node.forEach((row, rowOffset, rowIndex) => {
|
|
417
|
+
const rowPos = contentStart + rowOffset;
|
|
418
|
+
const rowKey = view.keys.keyAt(rowPos) ?? `r${rowPos}`;
|
|
419
|
+
const cells = [];
|
|
420
|
+
row.forEach((cell, cellOffset, col) => {
|
|
421
|
+
const cellPos = rowPos + 1 + cellOffset;
|
|
422
|
+
const cellKey = view.keys.keyAt(cellPos) ?? `c${cellPos}`;
|
|
423
|
+
const header = isHeader(cell);
|
|
424
|
+
cells.push(hx('box', {
|
|
425
|
+
key: cellKey,
|
|
426
|
+
style: {
|
|
427
|
+
flexBasis: basis[col] ?? least,
|
|
428
|
+
flexGrow: 0,
|
|
429
|
+
flexShrink: 1,
|
|
430
|
+
minWidth: least,
|
|
431
|
+
paddingLeft: padX,
|
|
432
|
+
paddingRight: padX,
|
|
433
|
+
paddingTop: Math.round(size * 0.35),
|
|
434
|
+
paddingBottom: Math.round(size * 0.35),
|
|
435
|
+
borderLeftWidth: cellOffset === 0 ? 0 : 1,
|
|
436
|
+
borderLeftColor: look.border,
|
|
437
|
+
flexDirection: 'column',
|
|
438
|
+
backgroundColor: header ? look.headerBg : undefined,
|
|
439
|
+
},
|
|
440
|
+
}, cell.isTextblock
|
|
441
|
+
? h(BlockView, {
|
|
442
|
+
blockKey: cellKey,
|
|
443
|
+
node: cell,
|
|
444
|
+
ctx,
|
|
445
|
+
bctx: header ? headerCtx : bctx,
|
|
446
|
+
})
|
|
447
|
+
: renderBlocks(cell, cellPos + 1, ctx, header ? headerCtx : bctx)));
|
|
448
|
+
});
|
|
449
|
+
rows.push(hx('box', {
|
|
450
|
+
key: rowKey,
|
|
451
|
+
style: {
|
|
452
|
+
flexDirection: 'row',
|
|
453
|
+
borderTopWidth: rowIndex === 0 ? 0 : 1,
|
|
454
|
+
borderTopColor: look.border,
|
|
455
|
+
},
|
|
456
|
+
}, ...cells));
|
|
457
|
+
});
|
|
458
|
+
return hx('box', {
|
|
459
|
+
style: {
|
|
460
|
+
flexDirection: 'column',
|
|
461
|
+
alignSelf: 'flex-start',
|
|
462
|
+
maxWidth: '100%',
|
|
463
|
+
borderWidth: 1,
|
|
464
|
+
borderColor: look.border,
|
|
465
|
+
borderRadius: 6,
|
|
466
|
+
},
|
|
467
|
+
}, ...rows);
|
|
468
|
+
}
|
|
469
|
+
/** An app's node view, handed what it needs and nothing positional. */
|
|
470
|
+
function NodeViewHost({ node, blockKey, ctx, bctx, selected, component, }) {
|
|
471
|
+
const view = ctx.view;
|
|
472
|
+
const getPos = useCallback(() => view.keys.posOf(blockKey), [view, blockKey]);
|
|
473
|
+
const updateAttributes = useCallback((attrs) => {
|
|
474
|
+
const pos = view.keys.posOf(blockKey);
|
|
475
|
+
const current = view.keys.nodeOf(blockKey);
|
|
476
|
+
if (pos === undefined || !current)
|
|
477
|
+
return;
|
|
478
|
+
view.dispatch(view.state.tr.setNodeMarkup(pos, undefined, {
|
|
479
|
+
...current.attrs,
|
|
480
|
+
...attrs,
|
|
481
|
+
}));
|
|
482
|
+
}, [view, blockKey]);
|
|
483
|
+
let children;
|
|
484
|
+
if (node.isTextblock)
|
|
485
|
+
children = h(TextblockView, { node, blockKey, ctx, bctx });
|
|
486
|
+
else if (!node.isLeaf)
|
|
487
|
+
children = renderBlocks(node, startOf(ctx, blockKey), ctx, bctx);
|
|
488
|
+
const inner = h(component, {
|
|
489
|
+
node,
|
|
490
|
+
getPos,
|
|
491
|
+
selected,
|
|
492
|
+
children,
|
|
493
|
+
updateAttributes,
|
|
494
|
+
editable: ctx.editable,
|
|
495
|
+
view,
|
|
496
|
+
});
|
|
497
|
+
// a leaf is something a press selects, so the view has to know its box
|
|
498
|
+
return node.isLeaf ? h(AtomBox, { blockKey, ctx, selected }, inner) : inner;
|
|
499
|
+
}
|
|
500
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/rich-text-editor/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Schema } from 'prosemirror-model';
|
|
2
|
+
import type { MarkSpec, NodeSpec } from 'prosemirror-model';
|
|
3
|
+
/** The node specs, in the order the schema ranks them. Exported so an app
|
|
4
|
+
* can build on them — `new Schema({ nodes: schema.spec.nodes.addBefore(…),
|
|
5
|
+
* marks: schema.spec.marks })` is ProseMirror's own idiom for that. */
|
|
6
|
+
export declare const nodes: Record<string, NodeSpec>;
|
|
7
|
+
/** The mark specs. Order is rank: a mark earlier here wraps a later one when
|
|
8
|
+
* both cover the same text, which is what puts `code` innermost. */
|
|
9
|
+
export declare const marks: Record<string, MarkSpec>;
|
|
10
|
+
/**
|
|
11
|
+
* The default schema: GFM — paragraphs, six heading levels, quotes, fenced
|
|
12
|
+
* code, rules, bullet/ordered/task lists, tables, images, hard breaks; bold,
|
|
13
|
+
* italic, strikethrough, inline code and links.
|
|
14
|
+
*/
|
|
15
|
+
export declare const schema: Schema<string, string>;
|
|
16
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/rich-text-editor/schema.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAGV,QAAQ,EAER,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAqG3B;;wEAEwE;AACxE,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAuN1C,CAAC;AAEF;qEACqE;AACrE,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA0E1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,wBAA+B,CAAC"}
|