@stream-mdx/react 0.5.0 → 1.0.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/CHANGELOG.md +371 -0
- package/README.md +79 -4
- package/dist/blocks-renderer-DAOBFBfi.d.ts +29 -0
- package/dist/blocks-renderer-DQEL1kJW.d.cts +29 -0
- package/dist/components/bottom-stick-scroll-area.cjs +117 -193
- package/dist/components/bottom-stick-scroll-area.mjs +112 -183
- package/dist/components/diff-renderer.cjs +86 -0
- package/dist/components/diff-renderer.d.cts +11 -0
- package/dist/components/diff-renderer.d.ts +11 -0
- package/dist/components/diff-renderer.mjs +66 -0
- package/dist/components/index.cjs +2761 -1508
- package/dist/components/index.d.cts +7 -2
- package/dist/components/index.d.ts +7 -2
- package/dist/components/index.mjs +2730 -1493
- package/dist/components/katex-math.cjs +220 -0
- package/dist/components/katex-math.d.cts +10 -0
- package/dist/components/katex-math.d.ts +10 -0
- package/dist/components/katex-math.mjs +188 -0
- package/dist/contexts/math-tracker.cjs +240 -521
- package/dist/contexts/math-tracker.mjs +235 -513
- package/dist/index-Cmne1yUK.d.cts +723 -0
- package/dist/index-D7dyyu3q.d.ts +723 -0
- package/dist/index.cjs +13029 -6475
- package/dist/index.d.cts +69 -39
- package/dist/index.d.ts +69 -39
- package/dist/index.mjs +13007 -6442
- package/dist/math/display-wrapper.cjs +7 -15
- package/dist/math/display-wrapper.d.cts +2 -2
- package/dist/math/display-wrapper.d.ts +2 -2
- package/dist/math/display-wrapper.mjs +2 -6
- package/dist/node-views-Bpc6Gkgl.d.cts +13 -0
- package/dist/node-views-DpnYdaAS.d.ts +13 -0
- package/dist/renderer/hooks.cjs +35 -20
- package/dist/renderer/hooks.d.cts +22 -1
- package/dist/renderer/hooks.d.ts +22 -1
- package/dist/renderer/hooks.mjs +27 -12
- package/dist/renderer/patch-batching.cjs +5 -8
- package/dist/renderer/patch-coalescing.cjs +5 -8
- package/dist/renderer/patch-commit-scheduler.cjs +138 -356
- package/dist/renderer/patch-commit-scheduler.d.cts +13 -1
- package/dist/renderer/patch-commit-scheduler.d.ts +13 -1
- package/dist/renderer/patch-commit-scheduler.mjs +133 -348
- package/dist/renderer/store.cjs +3775 -1373
- package/dist/renderer/store.d.cts +108 -3
- package/dist/renderer/store.d.ts +108 -3
- package/dist/renderer/store.mjs +3778 -1362
- package/dist/renderer/virtualized-code.cjs +415 -71
- package/dist/renderer/virtualized-code.d.cts +24 -23
- package/dist/renderer/virtualized-code.d.ts +24 -23
- package/dist/renderer/virtualized-code.mjs +409 -62
- package/dist/renderer.cjs +10655 -4334
- package/dist/renderer.d.cts +98 -29
- package/dist/renderer.d.ts +98 -29
- package/dist/renderer.mjs +10582 -4212
- package/dist/server-regions-CPLHGli0.d.cts +32 -0
- package/dist/server-regions-mUhyoKi7.d.ts +32 -0
- package/dist/server.cjs +10195 -3872
- package/dist/server.d.cts +17 -252
- package/dist/server.d.ts +17 -252
- package/dist/server.mjs +9997 -3649
- package/dist/{streaming-markdown-CEI9eDZm.d.ts → streaming-markdown-yELbJxyH.d.ts} +49 -55
- package/dist/{streaming-markdown-DRisClXb.d.cts → streaming-markdown-zVwFuaJG.d.cts} +49 -55
- package/dist/streaming-markdown.cjs +11660 -5378
- package/dist/streaming-markdown.d.cts +7 -2
- package/dist/streaming-markdown.d.ts +7 -2
- package/dist/streaming-markdown.mjs +11679 -5347
- package/dist/trusted-mdx/index.cjs +833 -0
- package/dist/trusted-mdx/index.d.cts +11 -0
- package/dist/trusted-mdx/index.d.ts +11 -0
- package/dist/trusted-mdx/index.mjs +807 -0
- package/dist/trusted-mdx/native-children-slot.cjs +45 -0
- package/dist/trusted-mdx/native-children-slot.d.cts +11 -0
- package/dist/trusted-mdx/native-children-slot.d.ts +11 -0
- package/dist/trusted-mdx/native-children-slot.mjs +24 -0
- package/dist/trusted-mdx/server.cjs +752 -0
- package/dist/trusted-mdx/server.d.cts +24 -0
- package/dist/trusted-mdx/server.d.ts +24 -0
- package/dist/trusted-mdx/server.mjs +724 -0
- package/dist/trusted-mdx-contract-ElKpkDI5.d.cts +113 -0
- package/dist/trusted-mdx-contract-ElKpkDI5.d.ts +113 -0
- package/dist/utils/inline-html.cjs +246 -147
- package/dist/utils/inline-html.d.cts +37 -6
- package/dist/utils/inline-html.d.ts +37 -6
- package/dist/utils/inline-html.mjs +237 -134
- package/package.json +41 -18
- package/dist/index-BVhp_pcF.d.ts +0 -251
- package/dist/index-EaeouYp2.d.cts +0 -251
- package/dist/mdx-client.cjs +0 -408
- package/dist/mdx-client.d.cts +0 -113
- package/dist/mdx-client.d.ts +0 -113
- package/dist/mdx-client.mjs +0 -369
- package/dist/mdx-coordinator.cjs +0 -584
- package/dist/mdx-coordinator.d.cts +0 -21
- package/dist/mdx-coordinator.d.ts +0 -21
- package/dist/mdx-coordinator.mjs +0 -550
- package/dist/renderer/node-views.cjs +0 -1887
- package/dist/renderer/node-views.d.cts +0 -14
- package/dist/renderer/node-views.d.ts +0 -14
- package/dist/renderer/node-views.mjs +0 -1861
package/dist/server.d.cts
CHANGED
|
@@ -1,254 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { a as MarkdownBlocksRendererProps } from './blocks-renderer-DQEL1kJW.cjs';
|
|
3
|
+
export { A as AllowElementFn, u as AnimatedAnimationName, v as AnimatedOptions, w as AnimatedProp, B as BroadContentComponentOptions, z as CodeBlockCopyButton, F as CodeBlockDownloadButton, x as CodeControlsBar, o as CodeControlsConfig, d as ComponentRegistry, g as ContentComponentHostProps, h as ContentComponentProps, i as ContentComponentPropsGuard, j as ContentComponentRegistration, C as ContentComponentsMap, c as ControlsComponentProps, b as ControlsConfig, r as ControlsLabels, n as ControlsOptions, D as DEFAULT_ANIMATED_OPTIONS, Z as DEFAULT_CONTROLS_LABELS, E as ElementFilterContext, k as ElementFilterDescriptor, l as ElementFilterOptions, m as InlineHtmlRenderer, I as InlineHtmlRendererMap, M as MathOptions, q as MermaidControlsConfig, S as STREAM_MDX_ANIMATION_CSS, y as TableControlsBar, p as TableControlsConfig, t as TableCopyFormat, s as TableDownloadFormat, V as ValidatedContentComponentOptions, f as defineContentComponent, G as escapeCsvCell, J as escapeTsvCell, P as getCodeSnippetFilename, Q as getExtensionForLanguage, O as inlineToPlainText, W as resolveCodeControls, U as resolveControlsConfig, Y as resolveMermaidControls, X as resolveTableControls, K as tableToCsv, N as tableToMarkdown, L as tableToTsv } from './index-Cmne1yUK.cjs';
|
|
4
|
+
export { T as TrustedMdxServerRegionProvider } from './server-regions-CPLHGli0.cjs';
|
|
5
|
+
export { createRendererStore } from './renderer/store.cjs';
|
|
6
|
+
export { N as NativeNodeView } from './node-views-Bpc6Gkgl.cjs';
|
|
7
|
+
export { UrlTransform, UrlTransformContext, defaultUrlTransform } from '@stream-mdx/core';
|
|
8
|
+
import './components/bottom-stick-scroll-area.cjs';
|
|
9
|
+
import 'react/jsx-runtime';
|
|
10
|
+
import './components/diff-renderer.cjs';
|
|
11
|
+
import '@stream-mdx/protocol';
|
|
12
|
+
import './trusted-mdx-contract-ElKpkDI5.cjs';
|
|
13
|
+
import '@stream-mdx/worker/engine';
|
|
14
|
+
import './renderer/virtualized-code.cjs';
|
|
3
15
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Table: GenericComponent;
|
|
7
|
-
Thead: GenericComponent;
|
|
8
|
-
Tbody: GenericComponent;
|
|
9
|
-
Tr: GenericComponent;
|
|
10
|
-
Th: GenericComponent;
|
|
11
|
-
Td: GenericComponent;
|
|
12
|
-
}
|
|
13
|
-
type HtmlElements = Record<string, GenericComponent>;
|
|
14
|
-
type InlineHtmlRenderer = (descriptor: InlineHtmlDescriptor, context: {
|
|
15
|
-
key?: React.Key;
|
|
16
|
-
defaultRender: () => React.ReactElement | null;
|
|
17
|
-
}) => React.ReactElement | null;
|
|
18
|
-
type InlineHtmlRendererMap = Record<string, InlineHtmlRenderer>;
|
|
19
|
-
interface BlockComponents {
|
|
20
|
-
paragraph: React.FC<{
|
|
21
|
-
inlines: InlineNode[];
|
|
22
|
-
raw?: string;
|
|
23
|
-
meta?: Record<string, unknown>;
|
|
24
|
-
children?: React.ReactNode;
|
|
25
|
-
}>;
|
|
26
|
-
heading: React.FC<{
|
|
27
|
-
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
28
|
-
inlines: InlineNode[];
|
|
29
|
-
text?: string;
|
|
30
|
-
meta?: Record<string, unknown>;
|
|
31
|
-
}>;
|
|
32
|
-
code: React.FC<{
|
|
33
|
-
html: string;
|
|
34
|
-
meta?: Record<string, unknown>;
|
|
35
|
-
lines?: ReadonlyArray<{
|
|
36
|
-
id: string;
|
|
37
|
-
index: number;
|
|
38
|
-
text: string;
|
|
39
|
-
html?: string | null;
|
|
40
|
-
tokens?: TokenLineV1 | null;
|
|
41
|
-
}>;
|
|
42
|
-
lang?: string;
|
|
43
|
-
preAttrs?: Record<string, string>;
|
|
44
|
-
codeAttrs?: Record<string, string>;
|
|
45
|
-
}>;
|
|
46
|
-
blockquote: React.FC<{
|
|
47
|
-
inlines: InlineNode[];
|
|
48
|
-
renderedContent?: React.ReactNode;
|
|
49
|
-
}>;
|
|
50
|
-
list: React.FC<{
|
|
51
|
-
ordered: boolean;
|
|
52
|
-
items: InlineNode[][];
|
|
53
|
-
}>;
|
|
54
|
-
html: React.FC<{
|
|
55
|
-
__trustedHtml: TrustedHTML | string;
|
|
56
|
-
elements?: Record<string, GenericComponent>;
|
|
57
|
-
}>;
|
|
58
|
-
mdx: React.FC<{
|
|
59
|
-
compiledRef?: {
|
|
60
|
-
id: string;
|
|
61
|
-
};
|
|
62
|
-
compiledModule?: CompiledMdxModule | null;
|
|
63
|
-
status?: "pending" | "compiled" | "error";
|
|
64
|
-
errorMessage?: string;
|
|
65
|
-
raw?: string;
|
|
66
|
-
}>;
|
|
67
|
-
hr: React.FC<React.HTMLAttributes<HTMLHRElement>>;
|
|
68
|
-
table: React.FC<{
|
|
69
|
-
header?: InlineNode[][];
|
|
70
|
-
rows: InlineNode[][][];
|
|
71
|
-
align?: Array<"left" | "center" | "right" | null>;
|
|
72
|
-
elements?: Partial<TableElements>;
|
|
73
|
-
}>;
|
|
74
|
-
[k: string]: GenericComponent;
|
|
75
|
-
}
|
|
76
|
-
type InlineComponents = Record<string, GenericComponent> & {
|
|
77
|
-
text: React.FC<{
|
|
78
|
-
text: string;
|
|
79
|
-
}>;
|
|
80
|
-
strong: React.FC<{
|
|
81
|
-
children: React.ReactNode;
|
|
82
|
-
}>;
|
|
83
|
-
em: React.FC<{
|
|
84
|
-
children: React.ReactNode;
|
|
85
|
-
}>;
|
|
86
|
-
strike?: React.FC<{
|
|
87
|
-
children: React.ReactNode;
|
|
88
|
-
}>;
|
|
89
|
-
code: React.FC<{
|
|
90
|
-
text: string;
|
|
91
|
-
}>;
|
|
92
|
-
link: React.FC<{
|
|
93
|
-
href?: string;
|
|
94
|
-
title?: string;
|
|
95
|
-
children: React.ReactNode;
|
|
96
|
-
}>;
|
|
97
|
-
image: React.FC<{
|
|
98
|
-
src: string;
|
|
99
|
-
alt?: string;
|
|
100
|
-
title?: string;
|
|
101
|
-
}>;
|
|
102
|
-
br: React.FC<Record<string, never>>;
|
|
103
|
-
};
|
|
104
|
-
interface RendererConfig {
|
|
105
|
-
themes?: {
|
|
106
|
-
light: string;
|
|
107
|
-
dark: string;
|
|
108
|
-
};
|
|
109
|
-
highlight?: {
|
|
110
|
-
browserEngine?: "js" | "wasm";
|
|
111
|
-
serverEngine?: "wasm";
|
|
112
|
-
langs?: string[];
|
|
113
|
-
};
|
|
114
|
-
sanitization?: {
|
|
115
|
-
schemaId?: string;
|
|
116
|
-
};
|
|
117
|
-
mdx?: {
|
|
118
|
-
enabled?: boolean;
|
|
119
|
-
compileEndpoint?: string;
|
|
120
|
-
compileStrategy?: "server" | "worker";
|
|
121
|
-
components?: Record<string, GenericComponent>;
|
|
122
|
-
};
|
|
123
|
-
plugins?: {
|
|
124
|
-
footnotes?: boolean;
|
|
125
|
-
html?: boolean;
|
|
126
|
-
mdx?: boolean;
|
|
127
|
-
tables?: boolean;
|
|
128
|
-
callouts?: boolean;
|
|
129
|
-
math?: boolean;
|
|
130
|
-
formatAnticipation?: FormatAnticipationConfig;
|
|
131
|
-
codeHighlighting?: CodeHighlightingMode;
|
|
132
|
-
outputMode?: CodeHighlightOutputMode;
|
|
133
|
-
liveCodeHighlighting?: boolean;
|
|
134
|
-
liveTokenization?: boolean;
|
|
135
|
-
emitHighlightTokens?: boolean;
|
|
136
|
-
emitDiffBlocks?: boolean;
|
|
137
|
-
};
|
|
138
|
-
performance?: {
|
|
139
|
-
frameBudgetMs?: number;
|
|
140
|
-
flushTimeoutMs?: number;
|
|
141
|
-
maxBatchesPerFlush?: number;
|
|
142
|
-
maxLowPriorityBatchesPerFlush?: number;
|
|
143
|
-
lowPriorityFrameBudgetMs?: number;
|
|
144
|
-
urgentQueueThreshold?: number;
|
|
145
|
-
batch?: "rAF" | "microtask" | "timeout";
|
|
146
|
-
historyLimit?: number;
|
|
147
|
-
startupMicrotaskFlushes?: number;
|
|
148
|
-
adaptiveBudgeting?: boolean;
|
|
149
|
-
};
|
|
150
|
-
}
|
|
16
|
+
/** Static/SSR output is never animated. */
|
|
17
|
+
declare const MarkdownBlocksRenderer: React__default.FC<MarkdownBlocksRendererProps>;
|
|
151
18
|
|
|
152
|
-
|
|
153
|
-
* Component registry that allows customization
|
|
154
|
-
*/
|
|
155
|
-
declare class ComponentRegistry {
|
|
156
|
-
private blockComponents;
|
|
157
|
-
private inlineComponents;
|
|
158
|
-
private htmlElements;
|
|
159
|
-
private tableElements;
|
|
160
|
-
private blockComponentMapCache;
|
|
161
|
-
private inlineComponentMapCache;
|
|
162
|
-
constructor(blockComponents?: Partial<BlockComponents>, inlineComponents?: Partial<InlineComponents>);
|
|
163
|
-
/**
|
|
164
|
-
* Update block components
|
|
165
|
-
*/
|
|
166
|
-
setBlockComponents(components: Partial<BlockComponents>): void;
|
|
167
|
-
/**
|
|
168
|
-
* Update inline components
|
|
169
|
-
*/
|
|
170
|
-
setInlineComponents(components: Partial<InlineComponents>): void;
|
|
171
|
-
/** Update HTML element mapping for html blocks */
|
|
172
|
-
setHtmlElements(map: Partial<HtmlElements>): void;
|
|
173
|
-
/** Update table element mapping for table blocks */
|
|
174
|
-
setTableElements(map: Partial<TableElements>): void;
|
|
175
|
-
/**
|
|
176
|
-
* Get block component
|
|
177
|
-
*/
|
|
178
|
-
getBlockComponent(type: string): React.ComponentType<Record<string, unknown>>;
|
|
179
|
-
/**
|
|
180
|
-
* Get inline components
|
|
181
|
-
*/
|
|
182
|
-
getInlineComponents(): InlineComponents;
|
|
183
|
-
getBlockComponentMap(): BlockComponents;
|
|
184
|
-
getInlineComponentMap(): InlineComponents;
|
|
185
|
-
getTableElements(): TableElements;
|
|
186
|
-
/**
|
|
187
|
-
* Render a block
|
|
188
|
-
*/
|
|
189
|
-
renderBlock(block: Block): React.ReactElement;
|
|
190
|
-
/**
|
|
191
|
-
* Get props for a block based on its type
|
|
192
|
-
*/
|
|
193
|
-
private getBlockProps;
|
|
194
|
-
/**
|
|
195
|
-
* Extract heading level from raw markdown
|
|
196
|
-
*/
|
|
197
|
-
private extractHeadingLevel;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
interface NodeRecord {
|
|
201
|
-
id: string;
|
|
202
|
-
type: string;
|
|
203
|
-
parentId: string | null;
|
|
204
|
-
children: string[];
|
|
205
|
-
props: Record<string, unknown>;
|
|
206
|
-
meta?: Record<string, unknown>;
|
|
207
|
-
range?: {
|
|
208
|
-
from: number;
|
|
209
|
-
to: number;
|
|
210
|
-
};
|
|
211
|
-
version: number;
|
|
212
|
-
blockEpoch: number;
|
|
213
|
-
block?: Block;
|
|
214
|
-
}
|
|
215
|
-
interface ApplyPatchesOptions {
|
|
216
|
-
coalesced?: boolean;
|
|
217
|
-
metrics?: CoalescingMetrics | null;
|
|
218
|
-
captureMetrics?: boolean;
|
|
219
|
-
allowEmpty?: boolean;
|
|
220
|
-
}
|
|
221
|
-
interface RendererStore {
|
|
222
|
-
reset(blocks: Block[]): void;
|
|
223
|
-
applyPatches(patches: Patch[], options?: ApplyPatchesOptions): Set<string>;
|
|
224
|
-
getBlocks(): ReadonlyArray<Block>;
|
|
225
|
-
getVersion(): number;
|
|
226
|
-
getNode(id: string): NodeRecord | undefined;
|
|
227
|
-
getNodeWithVersion(id: string): {
|
|
228
|
-
version: number;
|
|
229
|
-
node?: NodeRecord;
|
|
230
|
-
};
|
|
231
|
-
getChildren(id: string): ReadonlyArray<string>;
|
|
232
|
-
getChildrenWithVersion(id: string): {
|
|
233
|
-
version: number;
|
|
234
|
-
children: ReadonlyArray<string>;
|
|
235
|
-
};
|
|
236
|
-
getInvariantViolations(): string[];
|
|
237
|
-
getDebugCounters(): Readonly<Record<string, number>>;
|
|
238
|
-
subscribe(listener: () => void): () => void;
|
|
239
|
-
getLastCoalescingMetrics(): CoalescingMetrics | null;
|
|
240
|
-
}
|
|
241
|
-
declare function createRendererStore(initialBlocks?: Block[]): RendererStore;
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* React component for rendering markdown blocks
|
|
245
|
-
*/
|
|
246
|
-
declare const MarkdownBlocksRenderer: React.NamedExoticComponent<{
|
|
247
|
-
blocks: ReadonlyArray<Block>;
|
|
248
|
-
componentRegistry: ComponentRegistry;
|
|
249
|
-
className?: string;
|
|
250
|
-
style?: React.CSSProperties;
|
|
251
|
-
store?: ReturnType<typeof createRendererStore>;
|
|
252
|
-
}>;
|
|
253
|
-
|
|
254
|
-
export { type BlockComponents, ComponentRegistry, type HtmlElements, type InlineComponents, type InlineHtmlRenderer, type InlineHtmlRendererMap, MarkdownBlocksRenderer, type RendererConfig, type TableElements, createRendererStore };
|
|
19
|
+
export { MarkdownBlocksRenderer, MarkdownBlocksRendererProps };
|
package/dist/server.d.ts
CHANGED
|
@@ -1,254 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { a as MarkdownBlocksRendererProps } from './blocks-renderer-DAOBFBfi.js';
|
|
3
|
+
export { A as AllowElementFn, u as AnimatedAnimationName, v as AnimatedOptions, w as AnimatedProp, B as BroadContentComponentOptions, z as CodeBlockCopyButton, F as CodeBlockDownloadButton, x as CodeControlsBar, o as CodeControlsConfig, d as ComponentRegistry, g as ContentComponentHostProps, h as ContentComponentProps, i as ContentComponentPropsGuard, j as ContentComponentRegistration, C as ContentComponentsMap, c as ControlsComponentProps, b as ControlsConfig, r as ControlsLabels, n as ControlsOptions, D as DEFAULT_ANIMATED_OPTIONS, Z as DEFAULT_CONTROLS_LABELS, E as ElementFilterContext, k as ElementFilterDescriptor, l as ElementFilterOptions, m as InlineHtmlRenderer, I as InlineHtmlRendererMap, M as MathOptions, q as MermaidControlsConfig, S as STREAM_MDX_ANIMATION_CSS, y as TableControlsBar, p as TableControlsConfig, t as TableCopyFormat, s as TableDownloadFormat, V as ValidatedContentComponentOptions, f as defineContentComponent, G as escapeCsvCell, J as escapeTsvCell, P as getCodeSnippetFilename, Q as getExtensionForLanguage, O as inlineToPlainText, W as resolveCodeControls, U as resolveControlsConfig, Y as resolveMermaidControls, X as resolveTableControls, K as tableToCsv, N as tableToMarkdown, L as tableToTsv } from './index-D7dyyu3q.js';
|
|
4
|
+
export { T as TrustedMdxServerRegionProvider } from './server-regions-mUhyoKi7.js';
|
|
5
|
+
export { createRendererStore } from './renderer/store.js';
|
|
6
|
+
export { N as NativeNodeView } from './node-views-DpnYdaAS.js';
|
|
7
|
+
export { UrlTransform, UrlTransformContext, defaultUrlTransform } from '@stream-mdx/core';
|
|
8
|
+
import './components/bottom-stick-scroll-area.js';
|
|
9
|
+
import 'react/jsx-runtime';
|
|
10
|
+
import './components/diff-renderer.js';
|
|
11
|
+
import '@stream-mdx/protocol';
|
|
12
|
+
import './trusted-mdx-contract-ElKpkDI5.js';
|
|
13
|
+
import '@stream-mdx/worker/engine';
|
|
14
|
+
import './renderer/virtualized-code.js';
|
|
3
15
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Table: GenericComponent;
|
|
7
|
-
Thead: GenericComponent;
|
|
8
|
-
Tbody: GenericComponent;
|
|
9
|
-
Tr: GenericComponent;
|
|
10
|
-
Th: GenericComponent;
|
|
11
|
-
Td: GenericComponent;
|
|
12
|
-
}
|
|
13
|
-
type HtmlElements = Record<string, GenericComponent>;
|
|
14
|
-
type InlineHtmlRenderer = (descriptor: InlineHtmlDescriptor, context: {
|
|
15
|
-
key?: React.Key;
|
|
16
|
-
defaultRender: () => React.ReactElement | null;
|
|
17
|
-
}) => React.ReactElement | null;
|
|
18
|
-
type InlineHtmlRendererMap = Record<string, InlineHtmlRenderer>;
|
|
19
|
-
interface BlockComponents {
|
|
20
|
-
paragraph: React.FC<{
|
|
21
|
-
inlines: InlineNode[];
|
|
22
|
-
raw?: string;
|
|
23
|
-
meta?: Record<string, unknown>;
|
|
24
|
-
children?: React.ReactNode;
|
|
25
|
-
}>;
|
|
26
|
-
heading: React.FC<{
|
|
27
|
-
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
28
|
-
inlines: InlineNode[];
|
|
29
|
-
text?: string;
|
|
30
|
-
meta?: Record<string, unknown>;
|
|
31
|
-
}>;
|
|
32
|
-
code: React.FC<{
|
|
33
|
-
html: string;
|
|
34
|
-
meta?: Record<string, unknown>;
|
|
35
|
-
lines?: ReadonlyArray<{
|
|
36
|
-
id: string;
|
|
37
|
-
index: number;
|
|
38
|
-
text: string;
|
|
39
|
-
html?: string | null;
|
|
40
|
-
tokens?: TokenLineV1 | null;
|
|
41
|
-
}>;
|
|
42
|
-
lang?: string;
|
|
43
|
-
preAttrs?: Record<string, string>;
|
|
44
|
-
codeAttrs?: Record<string, string>;
|
|
45
|
-
}>;
|
|
46
|
-
blockquote: React.FC<{
|
|
47
|
-
inlines: InlineNode[];
|
|
48
|
-
renderedContent?: React.ReactNode;
|
|
49
|
-
}>;
|
|
50
|
-
list: React.FC<{
|
|
51
|
-
ordered: boolean;
|
|
52
|
-
items: InlineNode[][];
|
|
53
|
-
}>;
|
|
54
|
-
html: React.FC<{
|
|
55
|
-
__trustedHtml: TrustedHTML | string;
|
|
56
|
-
elements?: Record<string, GenericComponent>;
|
|
57
|
-
}>;
|
|
58
|
-
mdx: React.FC<{
|
|
59
|
-
compiledRef?: {
|
|
60
|
-
id: string;
|
|
61
|
-
};
|
|
62
|
-
compiledModule?: CompiledMdxModule | null;
|
|
63
|
-
status?: "pending" | "compiled" | "error";
|
|
64
|
-
errorMessage?: string;
|
|
65
|
-
raw?: string;
|
|
66
|
-
}>;
|
|
67
|
-
hr: React.FC<React.HTMLAttributes<HTMLHRElement>>;
|
|
68
|
-
table: React.FC<{
|
|
69
|
-
header?: InlineNode[][];
|
|
70
|
-
rows: InlineNode[][][];
|
|
71
|
-
align?: Array<"left" | "center" | "right" | null>;
|
|
72
|
-
elements?: Partial<TableElements>;
|
|
73
|
-
}>;
|
|
74
|
-
[k: string]: GenericComponent;
|
|
75
|
-
}
|
|
76
|
-
type InlineComponents = Record<string, GenericComponent> & {
|
|
77
|
-
text: React.FC<{
|
|
78
|
-
text: string;
|
|
79
|
-
}>;
|
|
80
|
-
strong: React.FC<{
|
|
81
|
-
children: React.ReactNode;
|
|
82
|
-
}>;
|
|
83
|
-
em: React.FC<{
|
|
84
|
-
children: React.ReactNode;
|
|
85
|
-
}>;
|
|
86
|
-
strike?: React.FC<{
|
|
87
|
-
children: React.ReactNode;
|
|
88
|
-
}>;
|
|
89
|
-
code: React.FC<{
|
|
90
|
-
text: string;
|
|
91
|
-
}>;
|
|
92
|
-
link: React.FC<{
|
|
93
|
-
href?: string;
|
|
94
|
-
title?: string;
|
|
95
|
-
children: React.ReactNode;
|
|
96
|
-
}>;
|
|
97
|
-
image: React.FC<{
|
|
98
|
-
src: string;
|
|
99
|
-
alt?: string;
|
|
100
|
-
title?: string;
|
|
101
|
-
}>;
|
|
102
|
-
br: React.FC<Record<string, never>>;
|
|
103
|
-
};
|
|
104
|
-
interface RendererConfig {
|
|
105
|
-
themes?: {
|
|
106
|
-
light: string;
|
|
107
|
-
dark: string;
|
|
108
|
-
};
|
|
109
|
-
highlight?: {
|
|
110
|
-
browserEngine?: "js" | "wasm";
|
|
111
|
-
serverEngine?: "wasm";
|
|
112
|
-
langs?: string[];
|
|
113
|
-
};
|
|
114
|
-
sanitization?: {
|
|
115
|
-
schemaId?: string;
|
|
116
|
-
};
|
|
117
|
-
mdx?: {
|
|
118
|
-
enabled?: boolean;
|
|
119
|
-
compileEndpoint?: string;
|
|
120
|
-
compileStrategy?: "server" | "worker";
|
|
121
|
-
components?: Record<string, GenericComponent>;
|
|
122
|
-
};
|
|
123
|
-
plugins?: {
|
|
124
|
-
footnotes?: boolean;
|
|
125
|
-
html?: boolean;
|
|
126
|
-
mdx?: boolean;
|
|
127
|
-
tables?: boolean;
|
|
128
|
-
callouts?: boolean;
|
|
129
|
-
math?: boolean;
|
|
130
|
-
formatAnticipation?: FormatAnticipationConfig;
|
|
131
|
-
codeHighlighting?: CodeHighlightingMode;
|
|
132
|
-
outputMode?: CodeHighlightOutputMode;
|
|
133
|
-
liveCodeHighlighting?: boolean;
|
|
134
|
-
liveTokenization?: boolean;
|
|
135
|
-
emitHighlightTokens?: boolean;
|
|
136
|
-
emitDiffBlocks?: boolean;
|
|
137
|
-
};
|
|
138
|
-
performance?: {
|
|
139
|
-
frameBudgetMs?: number;
|
|
140
|
-
flushTimeoutMs?: number;
|
|
141
|
-
maxBatchesPerFlush?: number;
|
|
142
|
-
maxLowPriorityBatchesPerFlush?: number;
|
|
143
|
-
lowPriorityFrameBudgetMs?: number;
|
|
144
|
-
urgentQueueThreshold?: number;
|
|
145
|
-
batch?: "rAF" | "microtask" | "timeout";
|
|
146
|
-
historyLimit?: number;
|
|
147
|
-
startupMicrotaskFlushes?: number;
|
|
148
|
-
adaptiveBudgeting?: boolean;
|
|
149
|
-
};
|
|
150
|
-
}
|
|
16
|
+
/** Static/SSR output is never animated. */
|
|
17
|
+
declare const MarkdownBlocksRenderer: React__default.FC<MarkdownBlocksRendererProps>;
|
|
151
18
|
|
|
152
|
-
|
|
153
|
-
* Component registry that allows customization
|
|
154
|
-
*/
|
|
155
|
-
declare class ComponentRegistry {
|
|
156
|
-
private blockComponents;
|
|
157
|
-
private inlineComponents;
|
|
158
|
-
private htmlElements;
|
|
159
|
-
private tableElements;
|
|
160
|
-
private blockComponentMapCache;
|
|
161
|
-
private inlineComponentMapCache;
|
|
162
|
-
constructor(blockComponents?: Partial<BlockComponents>, inlineComponents?: Partial<InlineComponents>);
|
|
163
|
-
/**
|
|
164
|
-
* Update block components
|
|
165
|
-
*/
|
|
166
|
-
setBlockComponents(components: Partial<BlockComponents>): void;
|
|
167
|
-
/**
|
|
168
|
-
* Update inline components
|
|
169
|
-
*/
|
|
170
|
-
setInlineComponents(components: Partial<InlineComponents>): void;
|
|
171
|
-
/** Update HTML element mapping for html blocks */
|
|
172
|
-
setHtmlElements(map: Partial<HtmlElements>): void;
|
|
173
|
-
/** Update table element mapping for table blocks */
|
|
174
|
-
setTableElements(map: Partial<TableElements>): void;
|
|
175
|
-
/**
|
|
176
|
-
* Get block component
|
|
177
|
-
*/
|
|
178
|
-
getBlockComponent(type: string): React.ComponentType<Record<string, unknown>>;
|
|
179
|
-
/**
|
|
180
|
-
* Get inline components
|
|
181
|
-
*/
|
|
182
|
-
getInlineComponents(): InlineComponents;
|
|
183
|
-
getBlockComponentMap(): BlockComponents;
|
|
184
|
-
getInlineComponentMap(): InlineComponents;
|
|
185
|
-
getTableElements(): TableElements;
|
|
186
|
-
/**
|
|
187
|
-
* Render a block
|
|
188
|
-
*/
|
|
189
|
-
renderBlock(block: Block): React.ReactElement;
|
|
190
|
-
/**
|
|
191
|
-
* Get props for a block based on its type
|
|
192
|
-
*/
|
|
193
|
-
private getBlockProps;
|
|
194
|
-
/**
|
|
195
|
-
* Extract heading level from raw markdown
|
|
196
|
-
*/
|
|
197
|
-
private extractHeadingLevel;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
interface NodeRecord {
|
|
201
|
-
id: string;
|
|
202
|
-
type: string;
|
|
203
|
-
parentId: string | null;
|
|
204
|
-
children: string[];
|
|
205
|
-
props: Record<string, unknown>;
|
|
206
|
-
meta?: Record<string, unknown>;
|
|
207
|
-
range?: {
|
|
208
|
-
from: number;
|
|
209
|
-
to: number;
|
|
210
|
-
};
|
|
211
|
-
version: number;
|
|
212
|
-
blockEpoch: number;
|
|
213
|
-
block?: Block;
|
|
214
|
-
}
|
|
215
|
-
interface ApplyPatchesOptions {
|
|
216
|
-
coalesced?: boolean;
|
|
217
|
-
metrics?: CoalescingMetrics | null;
|
|
218
|
-
captureMetrics?: boolean;
|
|
219
|
-
allowEmpty?: boolean;
|
|
220
|
-
}
|
|
221
|
-
interface RendererStore {
|
|
222
|
-
reset(blocks: Block[]): void;
|
|
223
|
-
applyPatches(patches: Patch[], options?: ApplyPatchesOptions): Set<string>;
|
|
224
|
-
getBlocks(): ReadonlyArray<Block>;
|
|
225
|
-
getVersion(): number;
|
|
226
|
-
getNode(id: string): NodeRecord | undefined;
|
|
227
|
-
getNodeWithVersion(id: string): {
|
|
228
|
-
version: number;
|
|
229
|
-
node?: NodeRecord;
|
|
230
|
-
};
|
|
231
|
-
getChildren(id: string): ReadonlyArray<string>;
|
|
232
|
-
getChildrenWithVersion(id: string): {
|
|
233
|
-
version: number;
|
|
234
|
-
children: ReadonlyArray<string>;
|
|
235
|
-
};
|
|
236
|
-
getInvariantViolations(): string[];
|
|
237
|
-
getDebugCounters(): Readonly<Record<string, number>>;
|
|
238
|
-
subscribe(listener: () => void): () => void;
|
|
239
|
-
getLastCoalescingMetrics(): CoalescingMetrics | null;
|
|
240
|
-
}
|
|
241
|
-
declare function createRendererStore(initialBlocks?: Block[]): RendererStore;
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* React component for rendering markdown blocks
|
|
245
|
-
*/
|
|
246
|
-
declare const MarkdownBlocksRenderer: React.NamedExoticComponent<{
|
|
247
|
-
blocks: ReadonlyArray<Block>;
|
|
248
|
-
componentRegistry: ComponentRegistry;
|
|
249
|
-
className?: string;
|
|
250
|
-
style?: React.CSSProperties;
|
|
251
|
-
store?: ReturnType<typeof createRendererStore>;
|
|
252
|
-
}>;
|
|
253
|
-
|
|
254
|
-
export { type BlockComponents, ComponentRegistry, type HtmlElements, type InlineComponents, type InlineHtmlRenderer, type InlineHtmlRendererMap, MarkdownBlocksRenderer, type RendererConfig, type TableElements, createRendererStore };
|
|
19
|
+
export { MarkdownBlocksRenderer, MarkdownBlocksRendererProps };
|