@react-x11/components 0.5.0 → 0.7.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 +67 -43
- package/dist/formula/node.d.ts.map +1 -1
- package/dist/formula/node.js +17 -6
- package/dist/formula/node.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/markdown/ast.d.ts +80 -6
- package/dist/markdown/ast.d.ts.map +1 -1
- package/dist/markdown/ast.js +13 -4
- package/dist/markdown/ast.js.map +1 -1
- package/dist/markdown/expressions.d.ts +27 -0
- package/dist/markdown/expressions.d.ts.map +1 -0
- package/dist/markdown/expressions.js +203 -0
- package/dist/markdown/expressions.js.map +1 -0
- package/dist/markdown/index.d.ts +61 -2
- package/dist/markdown/index.d.ts.map +1 -1
- package/dist/markdown/index.js +101 -2
- package/dist/markdown/index.js.map +1 -1
- package/dist/markdown/parse.d.ts +1 -1
- package/dist/markdown/parse.d.ts.map +1 -1
- package/dist/markdown/parse.js +163 -15
- package/dist/markdown/parse.js.map +1 -1
- package/dist/markdown/spans.d.ts.map +1 -1
- package/dist/markdown/spans.js +4 -0
- package/dist/markdown/spans.js.map +1 -1
- package/dist/markdown/tags.d.ts +35 -0
- package/dist/markdown/tags.d.ts.map +1 -0
- package/dist/markdown/tags.js +213 -0
- package/dist/markdown/tags.js.map +1 -0
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +7 -2
- package/dist/richtext/node.js.map +1 -1
- package/dist/table/index.d.ts +15 -0
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +95 -11
- package/dist/table/index.js.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +77 -2
- package/dist/tree/index.js.map +1 -1
- package/package.json +4 -8
- package/src/formula/node.ts +22 -34
- package/src/index.ts +4 -18
- package/src/markdown/ast.ts +85 -9
- package/src/markdown/expressions.ts +223 -0
- package/src/markdown/index.ts +190 -5
- package/src/markdown/parse.ts +230 -15
- package/src/markdown/spans.ts +4 -0
- package/src/markdown/tags.ts +240 -0
- package/src/richtext/node.ts +7 -2
- package/src/table/index.ts +114 -10
- package/src/tree/index.ts +77 -2
- package/dist/desktop-calendar/eds.d.ts +0 -102
- package/dist/desktop-calendar/eds.d.ts.map +0 -1
- package/dist/desktop-calendar/eds.js +0 -356
- package/dist/desktop-calendar/eds.js.map +0 -1
- package/dist/desktop-calendar/ical.d.ts +0 -63
- package/dist/desktop-calendar/ical.d.ts.map +0 -1
- package/dist/desktop-calendar/ical.js +0 -57
- package/dist/desktop-calendar/ical.js.map +0 -1
- package/dist/desktop-calendar/index.d.ts +0 -72
- package/dist/desktop-calendar/index.d.ts.map +0 -1
- package/dist/desktop-calendar/index.js +0 -213
- package/dist/desktop-calendar/index.js.map +0 -1
- package/src/desktop-calendar/eds.ts +0 -484
- package/src/desktop-calendar/ical.ts +0 -119
- package/src/desktop-calendar/index.ts +0 -287
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
// Compiling `{…}` — the rung where a document runs code (docs/prd-mdx.md,
|
|
2
|
+
// M2), and the one place in this component that calls `new Function`.
|
|
3
|
+
//
|
|
4
|
+
// It is a small file on purpose. Everything hard about MDX expressions was
|
|
5
|
+
// decided elsewhere: the parser holds an expression as *source* rather than
|
|
6
|
+
// a value, so a parse is pure and one AST can be rendered against two
|
|
7
|
+
// scopes; and `<Markdown>` only turns any of this on when the application
|
|
8
|
+
// passes a `scope`, which is the prop that means "I accept that this
|
|
9
|
+
// document may compute". What is left here is compiling the source once, and
|
|
10
|
+
// not letting a half-typed expression take down a document that is still
|
|
11
|
+
// being typed.
|
|
12
|
+
//
|
|
13
|
+
// **There is no sandbox.** `new Function` runs in this process with this
|
|
14
|
+
// process's authority. That is why the gate is a prop, and why the docs say
|
|
15
|
+
// in as few words as they can: do not pass `scope` alongside a document you
|
|
16
|
+
// did not write.
|
|
17
|
+
/**
|
|
18
|
+
* Keyed on the scope's shape *and* the source, because a compiled function
|
|
19
|
+
* closes over its parameter names. Bounded the way `richtext/node.ts` bounds
|
|
20
|
+
* its layout cache: a streaming document recompiles its tail on every chunk,
|
|
21
|
+
* and an unbounded map would hold every intermediate spelling of an
|
|
22
|
+
* expression that was being typed.
|
|
23
|
+
*/
|
|
24
|
+
const CACHE = new Map();
|
|
25
|
+
const LIMIT = 256;
|
|
26
|
+
let warned = false;
|
|
27
|
+
/**
|
|
28
|
+
* Say so, once, when an expression does not work out. A document that
|
|
29
|
+
* silently loses a value should not be a mystery — and saying it on every
|
|
30
|
+
* frame of a streaming render would be worse than saying nothing.
|
|
31
|
+
*
|
|
32
|
+
* `process` and `console` come off `globalThis` because `src/` compiles with
|
|
33
|
+
* `types: []` — a Node global that wandered in would fail the build rather
|
|
34
|
+
* than become an implicit `@types/node` dependency.
|
|
35
|
+
*/
|
|
36
|
+
function warnFailed(src, error) {
|
|
37
|
+
if (warned)
|
|
38
|
+
return;
|
|
39
|
+
warned = true;
|
|
40
|
+
const g = globalThis;
|
|
41
|
+
if (g.process?.env?.NODE_ENV === 'production')
|
|
42
|
+
return;
|
|
43
|
+
g.console?.warn('@react-x11/components: a markdown expression did not evaluate, so it ' +
|
|
44
|
+
`rendered as nothing: {${src}}`, error);
|
|
45
|
+
}
|
|
46
|
+
function compile(src, keys) {
|
|
47
|
+
const key = `${keys.join(',')} ${src}`;
|
|
48
|
+
const hit = CACHE.get(key);
|
|
49
|
+
if (hit !== undefined)
|
|
50
|
+
return hit;
|
|
51
|
+
let compiled = null;
|
|
52
|
+
try {
|
|
53
|
+
// `return (…)` rather than a bare body: an expression is what the braces
|
|
54
|
+
// promised, and the parentheses keep an object literal an object literal
|
|
55
|
+
// rather than a block.
|
|
56
|
+
compiled = new Function(...keys, `"use strict"; return (${src});`);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
// A syntax error is the ordinary state of an expression being typed.
|
|
60
|
+
warnFailed(src, error);
|
|
61
|
+
}
|
|
62
|
+
if (CACHE.size >= LIMIT)
|
|
63
|
+
CACHE.clear();
|
|
64
|
+
CACHE.set(key, compiled);
|
|
65
|
+
return compiled;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* An evaluator over `scope`. The keys are read once, so a scope mutated in
|
|
69
|
+
* place after this is called keeps its old shape — the same contract every
|
|
70
|
+
* other seam here has, and the reason the prop doc asks for a stable object.
|
|
71
|
+
*/
|
|
72
|
+
export function evaluator(scope) {
|
|
73
|
+
const keys = Object.keys(scope);
|
|
74
|
+
const values = keys.map((k) => scope[k]);
|
|
75
|
+
return (src) => {
|
|
76
|
+
const fn = compile(src, keys);
|
|
77
|
+
if (!fn)
|
|
78
|
+
return undefined;
|
|
79
|
+
try {
|
|
80
|
+
return fn(...values);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
warnFailed(src, error);
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Only the tests need to reach in: a compile cache that survived between
|
|
90
|
+
* them would make one test's expression another's, and the warn-once flag
|
|
91
|
+
* would hide the second failure anyone asserted on.
|
|
92
|
+
*/
|
|
93
|
+
export function clearExpressionCache() {
|
|
94
|
+
CACHE.clear();
|
|
95
|
+
warned = false;
|
|
96
|
+
}
|
|
97
|
+
// --- resolving a parsed document ------------------------------------------
|
|
98
|
+
/**
|
|
99
|
+
* A copy of `nodes` with every `expression` replaced by the text it
|
|
100
|
+
* evaluates to. Primitives stringify; anything else — an object, an array, a
|
|
101
|
+
* React element — renders as nothing, because a paragraph is text and there
|
|
102
|
+
* is nowhere in a text run to put an element (see "The inline half" in
|
|
103
|
+
* docs/prd-mdx.md). `null` and `undefined` are nothing on purpose, so
|
|
104
|
+
* `{maybe}` reads as absent rather than as the word "undefined".
|
|
105
|
+
*/
|
|
106
|
+
function resolveInline(nodes, evaluate) {
|
|
107
|
+
let changed = false;
|
|
108
|
+
const out = [];
|
|
109
|
+
for (const node of nodes) {
|
|
110
|
+
if (node.type === 'expression') {
|
|
111
|
+
changed = true;
|
|
112
|
+
const value = evaluate(node.src);
|
|
113
|
+
const text = value == null ||
|
|
114
|
+
typeof value === 'object' ||
|
|
115
|
+
typeof value === 'function'
|
|
116
|
+
? ''
|
|
117
|
+
: String(value);
|
|
118
|
+
if (text)
|
|
119
|
+
out.push({ type: 'text', text });
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if ('children' in node) {
|
|
123
|
+
const children = resolveInline(node.children, evaluate);
|
|
124
|
+
if (children !== node.children) {
|
|
125
|
+
changed = true;
|
|
126
|
+
out.push({ ...node, children });
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
out.push(node);
|
|
131
|
+
}
|
|
132
|
+
return changed ? out : nodes;
|
|
133
|
+
}
|
|
134
|
+
function resolveBlocks(blocks, evaluate) {
|
|
135
|
+
let changed = false;
|
|
136
|
+
const out = blocks.map((block) => {
|
|
137
|
+
switch (block.type) {
|
|
138
|
+
case 'paragraph':
|
|
139
|
+
case 'heading': {
|
|
140
|
+
const children = resolveInline(block.children, evaluate);
|
|
141
|
+
if (children === block.children)
|
|
142
|
+
return block;
|
|
143
|
+
changed = true;
|
|
144
|
+
return { ...block, children };
|
|
145
|
+
}
|
|
146
|
+
case 'quote':
|
|
147
|
+
case 'component': {
|
|
148
|
+
const children = resolveBlocks(block.children, evaluate);
|
|
149
|
+
if (children === block.children)
|
|
150
|
+
return block;
|
|
151
|
+
changed = true;
|
|
152
|
+
return { ...block, children };
|
|
153
|
+
}
|
|
154
|
+
case 'list': {
|
|
155
|
+
let itemsChanged = false;
|
|
156
|
+
const items = block.items.map((item) => {
|
|
157
|
+
const children = resolveBlocks(item.children, evaluate);
|
|
158
|
+
if (children === item.children)
|
|
159
|
+
return item;
|
|
160
|
+
itemsChanged = true;
|
|
161
|
+
return { ...item, children };
|
|
162
|
+
});
|
|
163
|
+
if (!itemsChanged)
|
|
164
|
+
return block;
|
|
165
|
+
changed = true;
|
|
166
|
+
return { ...block, items };
|
|
167
|
+
}
|
|
168
|
+
case 'table': {
|
|
169
|
+
let rowsChanged = false;
|
|
170
|
+
const rows = block.rows.map((row) => row.map((cell) => {
|
|
171
|
+
const next = resolveInline(cell, evaluate);
|
|
172
|
+
if (next !== cell)
|
|
173
|
+
rowsChanged = true;
|
|
174
|
+
return next;
|
|
175
|
+
}));
|
|
176
|
+
const header = block.header.map((cell) => {
|
|
177
|
+
const next = resolveInline(cell, evaluate);
|
|
178
|
+
if (next !== cell)
|
|
179
|
+
rowsChanged = true;
|
|
180
|
+
return next;
|
|
181
|
+
});
|
|
182
|
+
if (!rowsChanged)
|
|
183
|
+
return block;
|
|
184
|
+
changed = true;
|
|
185
|
+
return { ...block, header, rows };
|
|
186
|
+
}
|
|
187
|
+
default:
|
|
188
|
+
return block;
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return changed ? out : blocks;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* The document with its expressions evaluated. `raws` is carried over
|
|
195
|
+
* untouched: it is the block cache's key, and what changed is the values an
|
|
196
|
+
* expression produced, not the text that produced them — a change of `scope`
|
|
197
|
+
* invalidates that cache through its own identity instead.
|
|
198
|
+
*/
|
|
199
|
+
export function resolveExpressions(doc, evaluate) {
|
|
200
|
+
const blocks = resolveBlocks(doc.blocks, evaluate);
|
|
201
|
+
return blocks === doc.blocks ? doc : { blocks, raws: doc.raws };
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=expressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/markdown/expressions.ts"],"names":[],"mappings":"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"}
|
package/dist/markdown/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type { ReactElement, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentType, ReactElement, ReactNode } from 'react';
|
|
2
2
|
import type { DrawnNode, MouseEvent as X11MouseEvent } from 'react-x11';
|
|
3
3
|
import type { Style } from 'react-x11/style';
|
|
4
4
|
import type { Language } from '../code-language/index.js';
|
|
5
|
-
export type { BlockNode, InlineNode, Document as MarkdownDocument, ParseOptions, } from './ast.js';
|
|
5
|
+
export type { AttributeValue, BlockNode, ComponentBlock, ComponentInline, ExpressionInline, InlineNode, Document as MarkdownDocument, ParseOptions, } from './ast.js';
|
|
6
|
+
export { SPREAD_PREFIX } from './ast.js';
|
|
7
|
+
export { scanTag } from './tags.js';
|
|
8
|
+
export type { ScannedTag, ScanResult } from './tags.js';
|
|
6
9
|
export { parse, parseInline } from './parse.js';
|
|
7
10
|
/** What a fence renderer is handed — see `MarkdownProps.fences`. */
|
|
8
11
|
export interface FenceInfo {
|
|
@@ -69,6 +72,62 @@ export interface MarkdownProps {
|
|
|
69
72
|
* stable identity — a new object per render defeats the block cache.
|
|
70
73
|
*/
|
|
71
74
|
fences?: Record<string, (fence: FenceInfo) => ReactNode>;
|
|
75
|
+
/**
|
|
76
|
+
* Components a document may name — the MDX gate (docs/prd-mdx.md).
|
|
77
|
+
*
|
|
78
|
+
* A tag is a component **iff its name is a key here**: there is no
|
|
79
|
+
* capitalisation rule and no HTML fallback, so `<Chart/>` in a document
|
|
80
|
+
* with no `Chart` key is the literal text it has always been, and a
|
|
81
|
+
* document that never passes this prop parses exactly as it did before
|
|
82
|
+
* the feature existed.
|
|
83
|
+
*
|
|
84
|
+
* ```tsx
|
|
85
|
+
* <Markdown source={doc} components={{ Chart, Callout }} />
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* A dotted name resolves flat first (`components['Card.Header']`), then by
|
|
89
|
+
* walking (`components.Card.Header`), so compound components work.
|
|
90
|
+
*
|
|
91
|
+
* **Nothing is evaluated.** An attribute is a string, `true` for a bare
|
|
92
|
+
* name, or the `JSON.parse` of a `{…}`; a brace that is not JSON makes the
|
|
93
|
+
* tag unreadable and it stays text. That is what makes this safe to point
|
|
94
|
+
* at a document you did not write — which, for this component, is the
|
|
95
|
+
* usual case.
|
|
96
|
+
*
|
|
97
|
+
* Block position only: a tag on its own line(s) is a component, and one in
|
|
98
|
+
* the middle of a sentence is still text. See `ComponentInline` in ast.ts.
|
|
99
|
+
*
|
|
100
|
+
* Give the map a stable identity — a new object per render defeats the
|
|
101
|
+
* block cache, the same way a new `fences` map does.
|
|
102
|
+
*/
|
|
103
|
+
components?: Record<string, ComponentType<Record<string, unknown>>>;
|
|
104
|
+
/**
|
|
105
|
+
* Bindings that `{…}` in this document may read — and, by passing it, the
|
|
106
|
+
* statement that this document may **run code**.
|
|
107
|
+
*
|
|
108
|
+
* ```tsx
|
|
109
|
+
* <Markdown source={doc} components={{ Chart }} scope={{ quarters }} />
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* With it, an attribute `{…}` that is not JSON is compiled instead of
|
|
113
|
+
* making the tag text, `{...spread}` works, and `{count}` in the middle of
|
|
114
|
+
* a paragraph renders the value. Without it none of those exist and
|
|
115
|
+
* nothing is ever compiled.
|
|
116
|
+
*
|
|
117
|
+
* **There is no sandbox.** Expressions run through `new Function`, in this
|
|
118
|
+
* process, with this process's authority. `components` decides what a
|
|
119
|
+
* document may *reach*; this decides whether it may *compute* — so do not
|
|
120
|
+
* pass it alongside a document you did not write, which for this component
|
|
121
|
+
* usually means anything a model produced.
|
|
122
|
+
*
|
|
123
|
+
* An expression that throws, or does not compile, renders as nothing and
|
|
124
|
+
* warns once. A value that is not a primitive renders as nothing in prose:
|
|
125
|
+
* there is nowhere in a line of text to put an element.
|
|
126
|
+
*
|
|
127
|
+
* Stable identity, as with `components` — the keys are read once, and a new
|
|
128
|
+
* object per render re-parses the document.
|
|
129
|
+
*/
|
|
130
|
+
scope?: Record<string, unknown>;
|
|
72
131
|
/** The root `<box>`'s style — width, padding, margins, `overflow`. */
|
|
73
132
|
style?: Style | Style[];
|
|
74
133
|
'data-testname'?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAuB7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAW1D,YAAY,EACV,cAAc,EACd,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYhD,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb;uCACmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC9D,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC;IACnD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC;IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA6dD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAwJ3D"}
|
package/dist/markdown/index.js
CHANGED
|
@@ -43,9 +43,13 @@ import { tint } from 'react-x11/style';
|
|
|
43
43
|
import { registerRichText, RICHTEXT_ELEMENT, useSelectionMenu, } from '../richtext/index.js';
|
|
44
44
|
import { codeBlockLook, codeBlockRuns, codeBlockStyle, codeTextStyle, } from '../codeblock/index.js';
|
|
45
45
|
import { parse } from './parse.js';
|
|
46
|
+
import { evaluator, resolveExpressions } from './expressions.js';
|
|
47
|
+
import { SPREAD_PREFIX } from './ast.js';
|
|
46
48
|
import { runsOf, plainTextOf } from './spans.js';
|
|
47
49
|
import { useLinkClicks } from '../richtext/index.js';
|
|
48
50
|
import { hx } from './hx.js';
|
|
51
|
+
export { SPREAD_PREFIX } from './ast.js';
|
|
52
|
+
export { scanTag } from './tags.js';
|
|
49
53
|
export { parse, parseInline } from './parse.js';
|
|
50
54
|
const h = React.createElement;
|
|
51
55
|
// Registration is a shared-module function so `<Code>` can render the same
|
|
@@ -94,6 +98,31 @@ function deriveLook(theme, props) {
|
|
|
94
98
|
].join('|'),
|
|
95
99
|
};
|
|
96
100
|
}
|
|
101
|
+
// --- components ------------------------------------------------------------
|
|
102
|
+
/**
|
|
103
|
+
* The component a tag names, or undefined. Flat key first, so a map can spell
|
|
104
|
+
* a dotted name literally, then the walk, so `Card.Header` finds the property
|
|
105
|
+
* hanging off `Card`.
|
|
106
|
+
*/
|
|
107
|
+
function resolveComponent(map, name) {
|
|
108
|
+
if (!map)
|
|
109
|
+
return undefined;
|
|
110
|
+
const flat = map[name];
|
|
111
|
+
if (flat)
|
|
112
|
+
return flat;
|
|
113
|
+
if (!name.includes('.'))
|
|
114
|
+
return undefined;
|
|
115
|
+
let cur = map;
|
|
116
|
+
for (const part of name.split('.')) {
|
|
117
|
+
if (cur == null || (typeof cur !== 'object' && typeof cur !== 'function')) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
cur = cur[part];
|
|
121
|
+
}
|
|
122
|
+
return cur == null
|
|
123
|
+
? undefined
|
|
124
|
+
: cur;
|
|
125
|
+
}
|
|
97
126
|
function richtext(key, runs, style, wrap = true) {
|
|
98
127
|
const props = { runs };
|
|
99
128
|
if (!wrap)
|
|
@@ -158,8 +187,47 @@ function renderBlock(block, ctx, key) {
|
|
|
158
187
|
});
|
|
159
188
|
case 'table':
|
|
160
189
|
return renderTable(block, ctx, key);
|
|
190
|
+
case 'component':
|
|
191
|
+
return renderComponent(block, ctx, key);
|
|
161
192
|
}
|
|
162
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* A component block. The node only exists because the parser was told this
|
|
196
|
+
* name resolves, so the lookup here agrees by construction — the `undefined`
|
|
197
|
+
* branch is for the window between a `components` prop changing and the
|
|
198
|
+
* re-parse that follows it.
|
|
199
|
+
*
|
|
200
|
+
* Children arrive as a laid-out column of blocks, so a component places one
|
|
201
|
+
* child and does not have to know what markdown is.
|
|
202
|
+
*/
|
|
203
|
+
function renderComponent(block, ctx, key) {
|
|
204
|
+
const Component = resolveComponent(ctx.components, block.name);
|
|
205
|
+
if (!Component)
|
|
206
|
+
return null;
|
|
207
|
+
const props = {};
|
|
208
|
+
// Insertion order is the order they were written, which is what decides
|
|
209
|
+
// whether a spread overrides a named attribute or the other way round.
|
|
210
|
+
for (const [name, value] of Object.entries(block.attributes)) {
|
|
211
|
+
if (name.startsWith(SPREAD_PREFIX)) {
|
|
212
|
+
const spread = value.kind === 'expression' ? ctx.evaluate?.(value.src) : undefined;
|
|
213
|
+
if (spread && typeof spread === 'object')
|
|
214
|
+
Object.assign(props, spread);
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
props[name] =
|
|
218
|
+
value.kind === 'literal' ? value.value : ctx.evaluate?.(value.src);
|
|
219
|
+
}
|
|
220
|
+
const children = block.children.length === 0
|
|
221
|
+
? undefined
|
|
222
|
+
: hx('box', {
|
|
223
|
+
style: {
|
|
224
|
+
flexDirection: 'column',
|
|
225
|
+
gap: ctx.look.blockGap,
|
|
226
|
+
alignItems: 'stretch',
|
|
227
|
+
},
|
|
228
|
+
}, renderBlocks(block.children, ctx));
|
|
229
|
+
return h(React.Fragment, { key }, h(Component, props, children));
|
|
230
|
+
}
|
|
163
231
|
function renderCode(text, lang, ctx, key) {
|
|
164
232
|
const custom = ctx.fences?.[lang];
|
|
165
233
|
if (custom) {
|
|
@@ -338,7 +406,30 @@ export function Markdown(props) {
|
|
|
338
406
|
props.monoFamily,
|
|
339
407
|
props.highlight,
|
|
340
408
|
]);
|
|
341
|
-
|
|
409
|
+
// The gate the parser asks. Memoised on the map's identity so that a
|
|
410
|
+
// stable `components` prop keeps one function, and the parse memo below
|
|
411
|
+
// does not re-read the whole document on every render.
|
|
412
|
+
const componentMap = props.components;
|
|
413
|
+
const isComponent = React.useMemo(() => componentMap
|
|
414
|
+
? (name) => resolveComponent(componentMap, name) !== undefined
|
|
415
|
+
: undefined, [componentMap]);
|
|
416
|
+
// `scope` is both the gate and the bindings: giving one turns expression
|
|
417
|
+
// parsing on, and is where the compiled functions get their arguments.
|
|
418
|
+
const scope = props.scope;
|
|
419
|
+
const evaluate = React.useMemo(() => (scope ? evaluator(scope) : undefined), [scope]);
|
|
420
|
+
const doc = React.useMemo(() => {
|
|
421
|
+
const parsed = parse(source, {
|
|
422
|
+
partial,
|
|
423
|
+
...(isComponent ? { isComponent } : null),
|
|
424
|
+
...(evaluate ? { expressions: true } : null),
|
|
425
|
+
});
|
|
426
|
+
// Expressions resolve to text here rather than during the render, so
|
|
427
|
+
// every `runsOf` caller downstream keeps seeing an inline tree it
|
|
428
|
+
// already understands. `raws` is carried through, so the block cache
|
|
429
|
+
// still keys on the source text; a change of `scope` invalidates it
|
|
430
|
+
// through the seam epoch instead.
|
|
431
|
+
return evaluate ? resolveExpressions(parsed, evaluate) : parsed;
|
|
432
|
+
}, [source, partial, isComponent, evaluate]);
|
|
342
433
|
// Per-block element cache, keyed on the block's raw source (+ whether it
|
|
343
434
|
// is the live tail). Streaming appends re-render only the block that
|
|
344
435
|
// changed; everything else is the same ReactElement, so React bails out
|
|
@@ -351,13 +442,19 @@ export function Markdown(props) {
|
|
|
351
442
|
const seamsRef = React.useRef({
|
|
352
443
|
fences: props.fences,
|
|
353
444
|
resolveLanguage: props.resolveLanguage,
|
|
445
|
+
components: props.components,
|
|
446
|
+
scope: props.scope,
|
|
354
447
|
gen: 0,
|
|
355
448
|
});
|
|
356
449
|
if (seamsRef.current.fences !== props.fences ||
|
|
357
|
-
seamsRef.current.resolveLanguage !== props.resolveLanguage
|
|
450
|
+
seamsRef.current.resolveLanguage !== props.resolveLanguage ||
|
|
451
|
+
seamsRef.current.components !== props.components ||
|
|
452
|
+
seamsRef.current.scope !== props.scope) {
|
|
358
453
|
seamsRef.current = {
|
|
359
454
|
fences: props.fences,
|
|
360
455
|
resolveLanguage: props.resolveLanguage,
|
|
456
|
+
components: props.components,
|
|
457
|
+
scope: props.scope,
|
|
361
458
|
gen: seamsRef.current.gen + 1,
|
|
362
459
|
};
|
|
363
460
|
}
|
|
@@ -374,6 +471,8 @@ export function Markdown(props) {
|
|
|
374
471
|
fonts,
|
|
375
472
|
fences: props.fences,
|
|
376
473
|
resolveLanguage: props.resolveLanguage,
|
|
474
|
+
components: props.components,
|
|
475
|
+
...(evaluate ? { evaluate } : null),
|
|
377
476
|
};
|
|
378
477
|
for (let i = 0; i < doc.blocks.length; i += 1) {
|
|
379
478
|
const live = partial && i === doc.blocks.length - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"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"}
|
package/dist/markdown/parse.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export declare function parse(source: string, options?: ParseOptions): Document;
|
|
|
4
4
|
* Parse inline markdown. `atDocEnd` marks text whose end is the live end of
|
|
5
5
|
* a streaming document — only then do the implicit-close rules apply.
|
|
6
6
|
*/
|
|
7
|
-
export declare function parseInline(text: string, atDocEnd: boolean): InlineNode[];
|
|
7
|
+
export declare function parseInline(text: string, atDocEnd: boolean, expressions?: boolean): InlineNode[];
|
|
8
8
|
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAGV,QAAQ,EACR,UAAU,EAGV,YAAY,EAEb,MAAM,UAAU,CAAC;AA4IlB,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,QAAQ,CAkB1E;AA+kBD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,WAAW,UAAQ,GAClB,UAAU,EAAE,CA8Pd"}
|