@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.
Files changed (68) hide show
  1. package/README.md +67 -43
  2. package/dist/formula/node.d.ts.map +1 -1
  3. package/dist/formula/node.js +17 -6
  4. package/dist/formula/node.js.map +1 -1
  5. package/dist/index.d.ts +1 -3
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +0 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/markdown/ast.d.ts +80 -6
  10. package/dist/markdown/ast.d.ts.map +1 -1
  11. package/dist/markdown/ast.js +13 -4
  12. package/dist/markdown/ast.js.map +1 -1
  13. package/dist/markdown/expressions.d.ts +27 -0
  14. package/dist/markdown/expressions.d.ts.map +1 -0
  15. package/dist/markdown/expressions.js +203 -0
  16. package/dist/markdown/expressions.js.map +1 -0
  17. package/dist/markdown/index.d.ts +61 -2
  18. package/dist/markdown/index.d.ts.map +1 -1
  19. package/dist/markdown/index.js +101 -2
  20. package/dist/markdown/index.js.map +1 -1
  21. package/dist/markdown/parse.d.ts +1 -1
  22. package/dist/markdown/parse.d.ts.map +1 -1
  23. package/dist/markdown/parse.js +163 -15
  24. package/dist/markdown/parse.js.map +1 -1
  25. package/dist/markdown/spans.d.ts.map +1 -1
  26. package/dist/markdown/spans.js +4 -0
  27. package/dist/markdown/spans.js.map +1 -1
  28. package/dist/markdown/tags.d.ts +35 -0
  29. package/dist/markdown/tags.d.ts.map +1 -0
  30. package/dist/markdown/tags.js +213 -0
  31. package/dist/markdown/tags.js.map +1 -0
  32. package/dist/richtext/node.d.ts.map +1 -1
  33. package/dist/richtext/node.js +7 -2
  34. package/dist/richtext/node.js.map +1 -1
  35. package/dist/table/index.d.ts +15 -0
  36. package/dist/table/index.d.ts.map +1 -1
  37. package/dist/table/index.js +95 -11
  38. package/dist/table/index.js.map +1 -1
  39. package/dist/tree/index.d.ts.map +1 -1
  40. package/dist/tree/index.js +77 -2
  41. package/dist/tree/index.js.map +1 -1
  42. package/package.json +4 -8
  43. package/src/formula/node.ts +22 -34
  44. package/src/index.ts +4 -18
  45. package/src/markdown/ast.ts +85 -9
  46. package/src/markdown/expressions.ts +223 -0
  47. package/src/markdown/index.ts +190 -5
  48. package/src/markdown/parse.ts +230 -15
  49. package/src/markdown/spans.ts +4 -0
  50. package/src/markdown/tags.ts +240 -0
  51. package/src/richtext/node.ts +7 -2
  52. package/src/table/index.ts +114 -10
  53. package/src/tree/index.ts +77 -2
  54. package/dist/desktop-calendar/eds.d.ts +0 -102
  55. package/dist/desktop-calendar/eds.d.ts.map +0 -1
  56. package/dist/desktop-calendar/eds.js +0 -356
  57. package/dist/desktop-calendar/eds.js.map +0 -1
  58. package/dist/desktop-calendar/ical.d.ts +0 -63
  59. package/dist/desktop-calendar/ical.d.ts.map +0 -1
  60. package/dist/desktop-calendar/ical.js +0 -57
  61. package/dist/desktop-calendar/ical.js.map +0 -1
  62. package/dist/desktop-calendar/index.d.ts +0 -72
  63. package/dist/desktop-calendar/index.d.ts.map +0 -1
  64. package/dist/desktop-calendar/index.js +0 -213
  65. package/dist/desktop-calendar/index.js.map +0 -1
  66. package/src/desktop-calendar/eds.ts +0 -484
  67. package/src/desktop-calendar/ical.ts +0 -119
  68. 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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"}
@@ -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;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAsB7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAQ1D,YAAY,EACV,SAAS,EACT,UAAU,EACV,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,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,sEAAsE;IACtE,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA8YD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAiH3D"}
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"}
@@ -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
- const doc = React.useMemo(() => parse(source, { partial }), [source, partial]);
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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"}
@@ -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":"AA0BA,OAAO,KAAK,EAEV,QAAQ,EACR,UAAU,EAGV,YAAY,EAEb,MAAM,UAAU,CAAC;AAuDlB,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,QAAQ,CAW1E;AAqfD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,CAqOzE"}
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"}