markstream-octane 0.0.56-beta.1
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 +276 -0
- package/dist/client/chunks/languageIconExtended-BZR3DrgI.js +2 -0
- package/dist/client/index.js +2 -0
- package/dist/client/workers/katexRenderer.worker.js +59 -0
- package/dist/client/workers/mermaidParser.worker.js +63 -0
- package/dist/index.css +2 -0
- package/dist/index.d.ts +845 -0
- package/dist/index.px.css +2 -0
- package/dist/index.tailwind.css +2009 -0
- package/dist/server/index.js +2 -0
- package/dist/server.d.ts +661 -0
- package/dist/tailwind.cjs +4 -0
- package/dist/tailwind.d.ts +2 -0
- package/dist/tailwind.js +2 -0
- package/dist/types/components/AdmonitionNode/AdmonitionNode.d.ts +12 -0
- package/dist/types/components/BlockquoteNode/BlockquoteNode.d.ts +8 -0
- package/dist/types/components/CheckboxNode/CheckboxNode.d.ts +7 -0
- package/dist/types/components/CodeBlockNode/CodeBlockNode.d.ts +14 -0
- package/dist/types/components/CodeBlockNode/HtmlPreviewFrame.d.ts +12 -0
- package/dist/types/components/CodeBlockNode/PreCodeNode.d.ts +3 -0
- package/dist/types/components/CodeBlockNode/monaco.d.ts +2 -0
- package/dist/types/components/CodeBlockNode/monacoThemeRegistry.d.ts +8 -0
- package/dist/types/components/CodeBlockNode/monacoThemeScheduler.d.ts +5 -0
- package/dist/types/components/D2BlockNode/D2BlockNode.d.ts +3 -0
- package/dist/types/components/D2BlockNode/d2.d.ts +18 -0
- package/dist/types/components/D2BlockNode/index.d.ts +3 -0
- package/dist/types/components/DefinitionListNode/DefinitionListNode.d.ts +8 -0
- package/dist/types/components/EmojiNode/EmojiNode.d.ts +8 -0
- package/dist/types/components/EmphasisNode/EmphasisNode.d.ts +6 -0
- package/dist/types/components/FootnoteAnchorNode/FootnoteAnchorNode.d.ts +7 -0
- package/dist/types/components/FootnoteNode/FootnoteNode.d.ts +9 -0
- package/dist/types/components/FootnoteReferenceNode/FootnoteReferenceNode.d.ts +7 -0
- package/dist/types/components/HardBreakNode/HardBreakNode.d.ts +6 -0
- package/dist/types/components/HeadingNode/HeadingNode.d.ts +10 -0
- package/dist/types/components/HighlightNode/HighlightNode.d.ts +6 -0
- package/dist/types/components/HtmlBlockNode/HtmlBlockNode.d.ts +19 -0
- package/dist/types/components/HtmlInlineNode/HtmlInlineNode.d.ts +16 -0
- package/dist/types/components/ImageNode/ImageNode.d.ts +9 -0
- package/dist/types/components/InfographicBlockNode/InfographicBlockNode.d.ts +16 -0
- package/dist/types/components/InfographicBlockNode/height.d.ts +6 -0
- package/dist/types/components/InfographicBlockNode/index.d.ts +3 -0
- package/dist/types/components/InfographicBlockNode/infographic.d.ts +2 -0
- package/dist/types/components/InlineCodeNode/InlineCodeNode.d.ts +7 -0
- package/dist/types/components/InsertNode/InsertNode.d.ts +6 -0
- package/dist/types/components/LinkNode/LinkNode.d.ts +22 -0
- package/dist/types/components/ListItemNode/ListItemNode.d.ts +13 -0
- package/dist/types/components/ListNode/ListNode.d.ts +10 -0
- package/dist/types/components/MarkdownCodeBlockNode/MarkdownCodeBlockNode.d.ts +34 -0
- package/dist/types/components/Math/MathBlockNode.d.ts +3 -0
- package/dist/types/components/Math/MathInlineNode.d.ts +3 -0
- package/dist/types/components/Math/katex.d.ts +2 -0
- package/dist/types/components/MathBlockNode/MathBlockNode.d.ts +3 -0
- package/dist/types/components/MathInlineNode/MathInlineNode.d.ts +3 -0
- package/dist/types/components/MermaidBlockNode/MermaidBlockNode.d.ts +16 -0
- package/dist/types/components/MermaidBlockNode/height.d.ts +7 -0
- package/dist/types/components/MermaidBlockNode/index.d.ts +3 -0
- package/dist/types/components/MermaidBlockNode/mermaid.d.ts +23 -0
- package/dist/types/components/NodeRenderer/FallbackComponent.d.ts +6 -0
- package/dist/types/components/NodeRenderer/preloadMonaco.d.ts +2 -0
- package/dist/types/components/NodeRenderer.d.ts +5 -0
- package/dist/types/components/ParagraphNode/ParagraphNode.d.ts +9 -0
- package/dist/types/components/PreCodeNode/PreCodeNode.d.ts +3 -0
- package/dist/types/components/ReferenceNode/ReferenceNode.d.ts +15 -0
- package/dist/types/components/StrikethroughNode/StrikethroughNode.d.ts +6 -0
- package/dist/types/components/StrongNode/StrongNode.d.ts +6 -0
- package/dist/types/components/SubscriptNode/SubscriptNode.d.ts +6 -0
- package/dist/types/components/SuperscriptNode/SuperscriptNode.d.ts +6 -0
- package/dist/types/components/TableNode/TableNode.d.ts +10 -0
- package/dist/types/components/TextNode/TextNode.d.ts +8 -0
- package/dist/types/components/ThematicBreakNode/ThematicBreakNode.d.ts +3 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +16 -0
- package/dist/types/components/VmrContainerNode/VmrContainerNode.d.ts +10 -0
- package/dist/types/context/smoothStreaming.d.ts +2 -0
- package/dist/types/context/streamState.d.ts +25 -0
- package/dist/types/context/viewportPriority.d.ts +18 -0
- package/dist/types/customComponents.d.ts +38 -0
- package/dist/types/hooks/useSmoothMarkdownStream.d.ts +21 -0
- package/dist/types/i18n/useSafeI18n.d.ts +11 -0
- package/dist/types/index.d.ts +71 -0
- package/dist/types/renderers/codeBlockExtraProps.d.ts +5 -0
- package/dist/types/renderers/renderChildren.d.ts +7 -0
- package/dist/types/renderers/renderNode.d.ts +5 -0
- package/dist/types/server-renderer/html.d.ts +2 -0
- package/dist/types/server-renderer/index.d.ts +176 -0
- package/dist/types/server-renderer/katex.d.ts +2 -0
- package/dist/types/server.d.ts +56 -0
- package/dist/types/tailwind-entry.d.ts +3 -0
- package/dist/types/tooltip/singletonTooltip.d.ts +8 -0
- package/dist/types/types/component-props.d.ts +234 -0
- package/dist/types/types/node-component.d.ts +15 -0
- package/dist/types/types/octane.d.ts +12 -0
- package/dist/types/types.d.ts +127 -0
- package/dist/types/utils/customHtmlTag.d.ts +18 -0
- package/dist/types/utils/devEnv.d.ts +2 -0
- package/dist/types/utils/htmlToOctane.d.ts +23 -0
- package/dist/types/utils/languageIcon.d.ts +9 -0
- package/dist/types/utils/languageIconExtended.d.ts +2 -0
- package/dist/types/utils/normalizeKaTeXRenderInput.d.ts +2 -0
- package/dist/types/utils/performanceMonitor.d.ts +79 -0
- package/dist/types/utils/safeRaf.d.ts +3 -0
- package/dist/types/utils/streamingTextState.d.ts +3 -0
- package/dist/types/workers/katexRenderer.worker.d.ts +2 -0
- package/dist/types/workers/katexWorkerClient.d.ts +32 -0
- package/dist/types/workers/mermaidParser.worker.d.ts +2 -0
- package/dist/types/workers/mermaidWorkerClient.d.ts +15 -0
- package/package.json +149 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import * as Octane from 'octane';
|
|
3
|
+
export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
4
|
+
export interface TooltipProps {
|
|
5
|
+
visible: boolean;
|
|
6
|
+
anchorEl: HTMLElement | null;
|
|
7
|
+
content: string;
|
|
8
|
+
placement?: TooltipPlacement;
|
|
9
|
+
offset?: number;
|
|
10
|
+
originX?: number | null;
|
|
11
|
+
originY?: number | null;
|
|
12
|
+
id?: string | null;
|
|
13
|
+
isDark?: boolean | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function Tooltip(props: TooltipProps): Octane.PortalDescriptor | null;
|
|
16
|
+
export default Tooltip;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import type { ParsedNode } from 'stream-markdown-parser';
|
|
3
|
+
import type { NodeComponentProps } from '../../types/node-component';
|
|
4
|
+
export declare function VmrContainerNode(props: NodeComponentProps<{
|
|
5
|
+
type: 'vmr_container';
|
|
6
|
+
name: string;
|
|
7
|
+
attrs?: Record<string, string> | [string, string | null][] | null;
|
|
8
|
+
children?: ParsedNode[];
|
|
9
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
10
|
+
export default VmrContainerNode;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
/**
|
|
3
|
+
* Holds mutable streaming state that updates on every streaming chunk
|
|
4
|
+
* without triggering Octane re-renders. TextNode and InlineCodeNode read
|
|
5
|
+
* from this ref inside effects / callbacks rather than from renderCtx props,
|
|
6
|
+
* so that the renderCtx object can stay referentially stable during streaming.
|
|
7
|
+
*/
|
|
8
|
+
export interface StreamStateRef {
|
|
9
|
+
/** Map from node key to last-settled text content (shared across renders). */
|
|
10
|
+
textStreamState: Map<string, string>;
|
|
11
|
+
/** Returns the current stream render version counter. */
|
|
12
|
+
getStreamRenderVersion: () => number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Octane context that carries a stable StreamStateRef.
|
|
16
|
+
* The context value itself never changes (same ref object for the lifetime
|
|
17
|
+
* of the NodeRenderer), so subscribing components do NOT re-render when
|
|
18
|
+
* the stream version increments. Consumers read the latest value inside
|
|
19
|
+
* effects or callbacks via `ref.getStreamRenderVersion()`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const StreamStateRefContext: import("octane").Context<StreamStateRef | null>;
|
|
22
|
+
/**
|
|
23
|
+
* Hook that returns the nearest StreamStateRef, or null if none is provided.
|
|
24
|
+
*/
|
|
25
|
+
export declare function useStreamStateRef(): StreamStateRef | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import * as Octane from 'octane';
|
|
3
|
+
export interface VisibilityHandle {
|
|
4
|
+
isVisible: () => boolean;
|
|
5
|
+
whenVisible: Promise<void>;
|
|
6
|
+
destroy: () => void;
|
|
7
|
+
}
|
|
8
|
+
export type RegisterViewportFn = (el: HTMLElement, opts?: {
|
|
9
|
+
rootMargin?: string;
|
|
10
|
+
threshold?: number;
|
|
11
|
+
}) => VisibilityHandle;
|
|
12
|
+
export interface ViewportPriorityProviderProps {
|
|
13
|
+
getRoot: () => HTMLElement | null;
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
children: Octane.OctaneNode;
|
|
16
|
+
}
|
|
17
|
+
export declare function ViewportPriorityProvider({ getRoot, enabled, children }: ViewportPriorityProviderProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
18
|
+
export declare function useViewportPriority(): RegisterViewportFn;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import type { ComponentBody } from 'octane';
|
|
3
|
+
import type { NodeComponentProps } from './types/node-component';
|
|
4
|
+
import type { OctanePropsWithChildren } from './types/octane';
|
|
5
|
+
export type CustomComponentDisplayMode = 'inline' | 'block';
|
|
6
|
+
export type MarkstreamCustomComponent<P = any> = ComponentBody<P> & {
|
|
7
|
+
markstreamDisplay?: CustomComponentDisplayMode;
|
|
8
|
+
};
|
|
9
|
+
export type CustomComponentMap = Record<string, MarkstreamCustomComponent>;
|
|
10
|
+
export type StreamingComponent<TNode = any> = ComponentBody<NodeComponentProps<TNode>>;
|
|
11
|
+
export type StreamingComponentMap = Record<string, StreamingComponent<any>>;
|
|
12
|
+
export type HtmlComponent<P extends object = any> = ComponentBody<OctanePropsWithChildren<P>>;
|
|
13
|
+
export type HtmlComponentMap = Record<string, HtmlComponent<any>>;
|
|
14
|
+
type IsAny<T> = 0 extends (1 & T) ? true : false;
|
|
15
|
+
type ComponentProps<T> = T extends ComponentBody<infer P> ? P : T extends (props: infer P) => any ? P : never;
|
|
16
|
+
export type StreamingComponentDefinitions<T extends Record<string, any>> = {
|
|
17
|
+
[K in keyof T]: ComponentProps<T[K]> extends infer P ? IsAny<P> extends true ? T[K] : P extends NodeComponentProps<any> ? NodeComponentProps<any> extends P ? T[K] : never : never : never;
|
|
18
|
+
};
|
|
19
|
+
type ParserComponentOnlyProp = Exclude<keyof NodeComponentProps<any>, 'children' | 'node'>;
|
|
20
|
+
export type HtmlComponentDefinitions<T extends Record<string, any>> = {
|
|
21
|
+
[K in keyof T]: ComponentProps<T[K]> extends infer P ? IsAny<P> extends true ? T[K] : Extract<keyof P, ParserComponentOnlyProp> extends never ? T[K] : never : never;
|
|
22
|
+
};
|
|
23
|
+
export declare function subscribeCustomComponents(listener: () => void): () => void;
|
|
24
|
+
export declare function getCustomComponentsRevision(): number;
|
|
25
|
+
export declare function setCustomComponents(id: string, mapping: CustomComponentMap): void;
|
|
26
|
+
export declare function setCustomComponents(mapping: CustomComponentMap): void;
|
|
27
|
+
export declare function getCustomNodeComponents(customId?: string): CustomComponentMap;
|
|
28
|
+
export declare function removeCustomComponents(id: string): void;
|
|
29
|
+
export declare function clearGlobalCustomComponents(): void;
|
|
30
|
+
export declare function getCustomComponentDisplay(component: ComponentBody<any> | null | undefined): CustomComponentDisplayMode | undefined;
|
|
31
|
+
export declare function withMarkstreamComponentDisplay<T extends ComponentBody<any>>(component: T, display: CustomComponentDisplayMode): T & {
|
|
32
|
+
markstreamDisplay: CustomComponentDisplayMode;
|
|
33
|
+
};
|
|
34
|
+
export declare function defineStreamingComponents<const T extends Record<string, ComponentBody<any>>>(components: T & StreamingComponentDefinitions<T>): T & StreamingComponentDefinitions<T>;
|
|
35
|
+
export declare function defineHtmlComponents<const T extends Record<string, ComponentBody<any>>>(components: T & HtmlComponentDefinitions<T>): T & HtmlComponentDefinitions<T>;
|
|
36
|
+
export declare function normalizeComponentMap<T>(mapping?: Record<string, T>): Record<string, T>;
|
|
37
|
+
export declare function warnComponentMapConflicts(streamingComponents: StreamingComponentMap, htmlComponents: HtmlComponentMap, warnedTags: Set<string>): void;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import type { SmoothMarkdownStreamOptions, SmoothMarkdownStreamSnapshot } from 'markstream-core';
|
|
3
|
+
export type { SmoothMarkdownStreamOptions, SmoothMarkdownStreamSnapshot };
|
|
4
|
+
export declare function useSmoothMarkdownStream(options?: SmoothMarkdownStreamOptions): {
|
|
5
|
+
enqueue: (chunk: string) => void;
|
|
6
|
+
finish: (options?: {
|
|
7
|
+
flush?: boolean;
|
|
8
|
+
}) => void;
|
|
9
|
+
flush: () => void;
|
|
10
|
+
reset: (initialMarkdown?: string) => void;
|
|
11
|
+
pause: () => void;
|
|
12
|
+
resume: () => void;
|
|
13
|
+
getSnapshot: () => SmoothMarkdownStreamSnapshot;
|
|
14
|
+
source: string;
|
|
15
|
+
visible: string;
|
|
16
|
+
done: boolean;
|
|
17
|
+
paused: boolean;
|
|
18
|
+
pendingChars: number;
|
|
19
|
+
caughtUp: boolean;
|
|
20
|
+
final: boolean;
|
|
21
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
declare const defaultMap: Record<string, string>;
|
|
3
|
+
/**
|
|
4
|
+
* Replace the entire default translation map.
|
|
5
|
+
* Consumers can call this to provide their own fallback translations (e.g. Chinese).
|
|
6
|
+
*/
|
|
7
|
+
export declare function setDefaultI18nMap(map: Record<keyof typeof defaultMap, string>): void;
|
|
8
|
+
export declare function useSafeI18n(): {
|
|
9
|
+
t: (key: string) => string;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import type { CustomComponentMap as MarkstreamCustomComponentMap } from './customComponents';
|
|
3
|
+
import type { RenderContext as MarkstreamRenderContext, RenderNodeFn as MarkstreamRenderNodeFn } from './types';
|
|
4
|
+
import './workers/katexRenderer.worker?worker';
|
|
5
|
+
import './workers/mermaidParser.worker?worker';
|
|
6
|
+
export { AdmonitionNode } from './components/AdmonitionNode/AdmonitionNode.js';
|
|
7
|
+
export { BlockquoteNode } from './components/BlockquoteNode/BlockquoteNode.js';
|
|
8
|
+
export { CheckboxNode } from './components/CheckboxNode/CheckboxNode.js';
|
|
9
|
+
export { CodeBlockNode } from './components/CodeBlockNode/CodeBlockNode.js';
|
|
10
|
+
export { CodeBlockNode as OctaneCodeBlockNode } from './components/CodeBlockNode/CodeBlockNode.js';
|
|
11
|
+
export { HtmlPreviewFrame } from './components/CodeBlockNode/HtmlPreviewFrame.js';
|
|
12
|
+
export type { HtmlPreviewFrameProps } from './components/CodeBlockNode/HtmlPreviewFrame.js';
|
|
13
|
+
export type { D2Loader } from './components/D2BlockNode/d2';
|
|
14
|
+
export { disableD2, enableD2, isD2Enabled, setD2Loader } from './components/D2BlockNode/d2';
|
|
15
|
+
export { D2BlockNode } from './components/D2BlockNode/D2BlockNode.js';
|
|
16
|
+
export { DefinitionListNode } from './components/DefinitionListNode/DefinitionListNode.js';
|
|
17
|
+
export { EmojiNode } from './components/EmojiNode/EmojiNode.js';
|
|
18
|
+
export { EmphasisNode } from './components/EmphasisNode/EmphasisNode.js';
|
|
19
|
+
export { FootnoteAnchorNode } from './components/FootnoteAnchorNode/FootnoteAnchorNode.js';
|
|
20
|
+
export { FootnoteNode } from './components/FootnoteNode/FootnoteNode.js';
|
|
21
|
+
export { FootnoteReferenceNode } from './components/FootnoteReferenceNode/FootnoteReferenceNode.js';
|
|
22
|
+
export { HardBreakNode } from './components/HardBreakNode/HardBreakNode.js';
|
|
23
|
+
export { HeadingNode } from './components/HeadingNode/HeadingNode.js';
|
|
24
|
+
export { HighlightNode } from './components/HighlightNode/HighlightNode.js';
|
|
25
|
+
export { HtmlBlockNode } from './components/HtmlBlockNode/HtmlBlockNode.js';
|
|
26
|
+
export { HtmlInlineNode } from './components/HtmlInlineNode/HtmlInlineNode.js';
|
|
27
|
+
export { ImageNode } from './components/ImageNode/ImageNode.js';
|
|
28
|
+
export { InfographicBlockNode } from './components/InfographicBlockNode/InfographicBlockNode.js';
|
|
29
|
+
export { InlineCodeNode } from './components/InlineCodeNode/InlineCodeNode.js';
|
|
30
|
+
export { InsertNode } from './components/InsertNode/InsertNode.js';
|
|
31
|
+
export { LinkNode } from './components/LinkNode/LinkNode.js';
|
|
32
|
+
export type { LinkNodeStyleProps } from './components/LinkNode/LinkNode.js';
|
|
33
|
+
export { ListItemNode } from './components/ListItemNode/ListItemNode.js';
|
|
34
|
+
export type { ListItemNodeProps } from './components/ListItemNode/ListItemNode.js';
|
|
35
|
+
export { ListNode } from './components/ListNode/ListNode.js';
|
|
36
|
+
export { MarkdownCodeBlockNode } from './components/MarkdownCodeBlockNode/MarkdownCodeBlockNode.js';
|
|
37
|
+
export type { MarkdownCodeBlockNodeProps } from './components/MarkdownCodeBlockNode/MarkdownCodeBlockNode.js';
|
|
38
|
+
export { MathBlockNode } from './components/MathBlockNode/MathBlockNode.js';
|
|
39
|
+
export { MathInlineNode } from './components/MathInlineNode/MathInlineNode.js';
|
|
40
|
+
export { MermaidBlockNode } from './components/MermaidBlockNode/MermaidBlockNode.js';
|
|
41
|
+
export { NodeRenderer } from './components/NodeRenderer.js';
|
|
42
|
+
export { default } from './components/NodeRenderer.js';
|
|
43
|
+
export { FallbackComponent } from './components/NodeRenderer/FallbackComponent.js';
|
|
44
|
+
export { ParagraphNode } from './components/ParagraphNode/ParagraphNode.js';
|
|
45
|
+
export { PreCodeNode } from './components/PreCodeNode/PreCodeNode.js';
|
|
46
|
+
export { ReferenceNode } from './components/ReferenceNode/ReferenceNode.js';
|
|
47
|
+
export { StrikethroughNode } from './components/StrikethroughNode/StrikethroughNode.js';
|
|
48
|
+
export { StrongNode } from './components/StrongNode/StrongNode.js';
|
|
49
|
+
export { SubscriptNode } from './components/SubscriptNode/SubscriptNode.js';
|
|
50
|
+
export { SuperscriptNode } from './components/SuperscriptNode/SuperscriptNode.js';
|
|
51
|
+
export { TableNode } from './components/TableNode/TableNode.js';
|
|
52
|
+
export { TextNode } from './components/TextNode/TextNode.js';
|
|
53
|
+
export { ThematicBreakNode } from './components/ThematicBreakNode/ThematicBreakNode.js';
|
|
54
|
+
export { Tooltip } from './components/Tooltip/Tooltip.js';
|
|
55
|
+
export type { TooltipPlacement, TooltipProps } from './components/Tooltip/Tooltip.js';
|
|
56
|
+
export { VmrContainerNode } from './components/VmrContainerNode/VmrContainerNode.js';
|
|
57
|
+
export { clearGlobalCustomComponents, defineHtmlComponents, defineStreamingComponents, getCustomComponentDisplay, getCustomNodeComponents, removeCustomComponents, setCustomComponents, withMarkstreamComponentDisplay, } from './customComponents';
|
|
58
|
+
export type { CustomComponentDisplayMode, HtmlComponent, HtmlComponentMap, MarkstreamCustomComponent, StreamingComponent, StreamingComponentMap, } from './customComponents';
|
|
59
|
+
export { useSmoothMarkdownStream } from './hooks/useSmoothMarkdownStream';
|
|
60
|
+
export type { SmoothMarkdownStreamOptions, SmoothMarkdownStreamSnapshot, } from './hooks/useSmoothMarkdownStream';
|
|
61
|
+
export * from './i18n/useSafeI18n';
|
|
62
|
+
export * from './renderers/renderNode.js';
|
|
63
|
+
export type { NodeRendererCodeBlockProps, NodeRendererProps } from './types';
|
|
64
|
+
export type { CodeBlockDiffAppearance, CodeBlockDiffHideUnchangedRegions, CodeBlockDiffHideUnchangedRegionsOptions, CodeBlockDiffHunkActionContext, CodeBlockDiffHunkActionKind, CodeBlockDiffHunkSide, CodeBlockDiffLineStyle, CodeBlockDiffUnchangedRegionStyle, CodeBlockMonacoLanguage, CodeBlockMonacoOptions, CodeBlockMonacoTheme, CodeBlockMonacoThemeObject, CodeBlockNodeProps, CodeBlockPreviewPayload, D2BlockNodeProps, ImageNodeProps, InfographicBlockNodeProps, LinkNodeProps, MathBlockNodeProps, MathInlineNodeProps, MermaidBlockEvent, MermaidBlockNodeProps, PreCodeNodeProps, ShikiCodeBlockProps, } from './types/component-props';
|
|
65
|
+
export type { NodeComponentProps } from './types/node-component';
|
|
66
|
+
export * from './utils/languageIcon';
|
|
67
|
+
export * from './workers/katexWorkerClient';
|
|
68
|
+
export * from './workers/mermaidWorkerClient';
|
|
69
|
+
export type CustomComponentMap = MarkstreamCustomComponentMap;
|
|
70
|
+
export type RenderContext = MarkstreamRenderContext;
|
|
71
|
+
export type RenderNodeFn = MarkstreamRenderNodeFn;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
export interface CodeBlockExtraPropsOptions {
|
|
3
|
+
omit?: readonly string[];
|
|
4
|
+
}
|
|
5
|
+
export declare function getCodeBlockExtraProps(source: unknown, options?: CodeBlockExtraPropsOptions): Record<string, unknown>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import type { ParsedNode } from 'stream-markdown-parser';
|
|
3
|
+
import type { RenderContext, RenderNodeFn } from '../types';
|
|
4
|
+
export declare const BLOCK_LEVEL_TYPES: Set<string>;
|
|
5
|
+
export declare function tokenAttrsToProps(attrs?: [string, string | null][]): Record<string, string | true> | undefined;
|
|
6
|
+
export declare function renderNodeChildren(children: ParsedNode[] | undefined, ctx: RenderContext, prefix: string, renderNode: RenderNodeFn): unknown[] | null;
|
|
7
|
+
export declare function renderInline(children: ParsedNode[] | undefined, ctx: RenderContext, prefix: string, renderNode: RenderNodeFn): unknown[] | null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import type { ParsedNode } from 'stream-markdown-parser';
|
|
3
|
+
import type { RenderContext } from '../types';
|
|
4
|
+
import * as Octane from 'octane';
|
|
5
|
+
export declare function renderNode(node: ParsedNode, key: string | number | bigint, ctx: RenderContext): Octane.OctaneNode;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
import type { DefinitionItemNode as DefinitionItemNodeType, ListItemNode as ListItemNodeType, ParsedNode, TableRowNode as TableRowNodeType } from 'stream-markdown-parser';
|
|
3
|
+
import type { HtmlPreviewFrameProps } from '../components/CodeBlockNode/HtmlPreviewFrame.js';
|
|
4
|
+
import type { MarkdownCodeBlockNodeProps } from '../components/MarkdownCodeBlockNode/MarkdownCodeBlockNode.js';
|
|
5
|
+
import type { TooltipProps } from '../components/Tooltip/Tooltip.js';
|
|
6
|
+
import type { HtmlComponentMap, StreamingComponentMap } from '../customComponents';
|
|
7
|
+
import type { NodeRendererProps, RenderContext } from '../types';
|
|
8
|
+
import type { CodeBlockNodeProps, D2BlockNodeProps, ImageNodeProps, InfographicBlockNodeProps, LinkNodeProps, MathBlockNodeProps, MathInlineNodeProps, MermaidBlockNodeProps, PreCodeNodeProps } from '../types/component-props';
|
|
9
|
+
import type { NodeComponentProps } from '../types/node-component';
|
|
10
|
+
import * as Octane from 'octane';
|
|
11
|
+
export declare function TextNode(props: NodeComponentProps<{
|
|
12
|
+
type: 'text';
|
|
13
|
+
content: string;
|
|
14
|
+
center?: boolean;
|
|
15
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
16
|
+
export declare function ParagraphNode(props: NodeComponentProps<{
|
|
17
|
+
type: 'paragraph';
|
|
18
|
+
children?: ParsedNode[];
|
|
19
|
+
}>): Octane.ElementDescriptor<{}>;
|
|
20
|
+
export declare function HeadingNode(props: NodeComponentProps<{
|
|
21
|
+
type: 'heading';
|
|
22
|
+
level?: number;
|
|
23
|
+
children?: ParsedNode[];
|
|
24
|
+
attrs?: Record<string, string | boolean>;
|
|
25
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
26
|
+
export declare function BlockquoteNode(props: NodeComponentProps<{
|
|
27
|
+
type: 'blockquote';
|
|
28
|
+
children?: ParsedNode[];
|
|
29
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
30
|
+
export declare function ListItemNode(props: NodeComponentProps<{
|
|
31
|
+
type: 'list_item';
|
|
32
|
+
children?: ParsedNode[];
|
|
33
|
+
}> & {
|
|
34
|
+
value?: number;
|
|
35
|
+
}): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
36
|
+
export declare function ListNode(props: NodeComponentProps<{
|
|
37
|
+
type: 'list';
|
|
38
|
+
ordered?: boolean;
|
|
39
|
+
start?: number;
|
|
40
|
+
items?: ListItemNodeType[];
|
|
41
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
42
|
+
export declare function TableNode(props: NodeComponentProps<{
|
|
43
|
+
type: 'table';
|
|
44
|
+
header?: TableRowNodeType;
|
|
45
|
+
rows?: TableRowNodeType[];
|
|
46
|
+
loading?: boolean;
|
|
47
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
48
|
+
export declare function DefinitionListNode(props: NodeComponentProps<{
|
|
49
|
+
type: 'definition_list';
|
|
50
|
+
items?: DefinitionItemNodeType[];
|
|
51
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
52
|
+
export declare function FootnoteNode(props: NodeComponentProps<{
|
|
53
|
+
type: 'footnote';
|
|
54
|
+
id: string;
|
|
55
|
+
children?: ParsedNode[];
|
|
56
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
57
|
+
export declare function FootnoteReferenceNode(props: NodeComponentProps<{
|
|
58
|
+
type: 'footnote_reference';
|
|
59
|
+
id: string;
|
|
60
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
61
|
+
export declare function FootnoteAnchorNode(props: NodeComponentProps<{
|
|
62
|
+
type: 'footnote_anchor';
|
|
63
|
+
id: string;
|
|
64
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
65
|
+
export declare function AdmonitionNode(props: NodeComponentProps<{
|
|
66
|
+
type: 'admonition';
|
|
67
|
+
kind?: string;
|
|
68
|
+
title?: string;
|
|
69
|
+
children?: ParsedNode[];
|
|
70
|
+
collapsible?: boolean;
|
|
71
|
+
open?: boolean;
|
|
72
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
73
|
+
export declare function CheckboxNode(props: NodeComponentProps<{
|
|
74
|
+
type: 'checkbox' | 'checkbox_input';
|
|
75
|
+
checked?: boolean;
|
|
76
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
77
|
+
export declare function EmojiNode(props: NodeComponentProps<{
|
|
78
|
+
type: 'emoji';
|
|
79
|
+
name: string;
|
|
80
|
+
markup?: string;
|
|
81
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
82
|
+
export declare function StrongNode(props: NodeComponentProps<{
|
|
83
|
+
type: 'strong';
|
|
84
|
+
children?: ParsedNode[];
|
|
85
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
86
|
+
export declare function EmphasisNode(props: NodeComponentProps<{
|
|
87
|
+
type: 'emphasis';
|
|
88
|
+
children?: ParsedNode[];
|
|
89
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
90
|
+
export declare function StrikethroughNode(props: NodeComponentProps<{
|
|
91
|
+
type: 'strikethrough';
|
|
92
|
+
children?: ParsedNode[];
|
|
93
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
94
|
+
export declare function HighlightNode(props: NodeComponentProps<{
|
|
95
|
+
type: 'highlight';
|
|
96
|
+
children?: ParsedNode[];
|
|
97
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
98
|
+
export declare function InsertNode(props: NodeComponentProps<{
|
|
99
|
+
type: 'insert';
|
|
100
|
+
children?: ParsedNode[];
|
|
101
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
102
|
+
export declare function SubscriptNode(props: NodeComponentProps<{
|
|
103
|
+
type: 'subscript';
|
|
104
|
+
children?: ParsedNode[];
|
|
105
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
106
|
+
export declare function SuperscriptNode(props: NodeComponentProps<{
|
|
107
|
+
type: 'superscript';
|
|
108
|
+
children?: ParsedNode[];
|
|
109
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
110
|
+
export declare function HardBreakNode(_props: NodeComponentProps<{
|
|
111
|
+
type: 'hardbreak';
|
|
112
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
113
|
+
export declare function ThematicBreakNode(_props?: NodeComponentProps<{
|
|
114
|
+
type: 'thematic_break';
|
|
115
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
116
|
+
export declare function InlineCodeNode(props: NodeComponentProps<{
|
|
117
|
+
type: 'inline_code';
|
|
118
|
+
code: string;
|
|
119
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
120
|
+
export declare function LinkNode(props: NodeComponentProps<LinkNodeProps['node']> & {
|
|
121
|
+
showTooltip?: boolean;
|
|
122
|
+
color?: string;
|
|
123
|
+
underlineHeight?: number;
|
|
124
|
+
underlineBottom?: number | string;
|
|
125
|
+
animationDuration?: number;
|
|
126
|
+
animationOpacity?: number;
|
|
127
|
+
animationTiming?: string;
|
|
128
|
+
animationIteration?: string | number;
|
|
129
|
+
}): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
130
|
+
export declare function ImageNode(rawProps: ImageNodeProps): import("octane/jsx-runtime").Octane.JSX.Element | null;
|
|
131
|
+
export declare function PreCodeNode({ node }: PreCodeNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
132
|
+
export declare function CodeBlockNode(props: CodeBlockNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
133
|
+
export declare function MarkdownCodeBlockNode(props: MarkdownCodeBlockNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
134
|
+
export declare function MermaidBlockNode(props: MermaidBlockNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
135
|
+
export declare function D2BlockNode(props: D2BlockNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
136
|
+
export declare function InfographicBlockNode(props: InfographicBlockNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
137
|
+
export declare function MathBlockNode({ node }: MathBlockNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
138
|
+
export declare function MathInlineNode({ node }: MathInlineNodeProps): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
139
|
+
export declare function ReferenceNode(props: NodeComponentProps<{
|
|
140
|
+
type: 'reference';
|
|
141
|
+
id: string;
|
|
142
|
+
}> & {
|
|
143
|
+
messageId?: string;
|
|
144
|
+
threadId?: string;
|
|
145
|
+
}): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
146
|
+
export declare function HtmlBlockNode(props: NodeComponentProps<{
|
|
147
|
+
type: 'html_block';
|
|
148
|
+
content?: string;
|
|
149
|
+
tag?: string;
|
|
150
|
+
attrs?: [string, string | null][] | null;
|
|
151
|
+
children?: ParsedNode[];
|
|
152
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element | Octane.ElementDescriptor<{
|
|
153
|
+
[x: string]: unknown;
|
|
154
|
+
}>;
|
|
155
|
+
export declare function HtmlInlineNode(props: NodeComponentProps<{
|
|
156
|
+
type: 'html_inline';
|
|
157
|
+
content?: string;
|
|
158
|
+
tag?: string;
|
|
159
|
+
attrs?: [string, string | null][] | null;
|
|
160
|
+
children?: ParsedNode[];
|
|
161
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element | Octane.ElementDescriptor<Record<string, import("stream-markdown-parser").HtmlPropValue>>;
|
|
162
|
+
export declare function VmrContainerNode(props: NodeComponentProps<{
|
|
163
|
+
type: 'vmr_container';
|
|
164
|
+
name: string;
|
|
165
|
+
attrs?: Record<string, string> | [string, string | null][] | null;
|
|
166
|
+
children?: ParsedNode[];
|
|
167
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
168
|
+
export declare function Tooltip(_props: TooltipProps): null;
|
|
169
|
+
export declare function HtmlPreviewFrame(_props: HtmlPreviewFrameProps): null;
|
|
170
|
+
export declare function FallbackComponent(props: NodeComponentProps<{
|
|
171
|
+
type: string;
|
|
172
|
+
}>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
173
|
+
export declare function renderNode(node: ParsedNode, key: string | number | bigint, ctx: RenderContext): Octane.OctaneNode;
|
|
174
|
+
export declare function NodeRenderer<TStreamingComponents extends StreamingComponentMap = StreamingComponentMap, THtmlComponents extends Record<string, any> = HtmlComponentMap>(props: NodeRendererProps<TStreamingComponents, THtmlComponents>): import("octane/jsx-runtime").Octane.JSX.Element;
|
|
175
|
+
export { CodeBlockNode as OctaneCodeBlockNode };
|
|
176
|
+
export default NodeRenderer;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
export type { HtmlPreviewFrameProps } from './components/CodeBlockNode/HtmlPreviewFrame.js';
|
|
3
|
+
export type { LinkNodeStyleProps } from './components/LinkNode/LinkNode.js';
|
|
4
|
+
export type { ListItemNodeProps } from './components/ListItemNode/ListItemNode.js';
|
|
5
|
+
export type { MarkdownCodeBlockNodeProps } from './components/MarkdownCodeBlockNode/MarkdownCodeBlockNode.js';
|
|
6
|
+
export type { TooltipPlacement, TooltipProps } from './components/Tooltip/Tooltip.js';
|
|
7
|
+
export { clearGlobalCustomComponents, defineHtmlComponents, defineStreamingComponents, getCustomComponentDisplay, getCustomNodeComponents, removeCustomComponents, setCustomComponents, withMarkstreamComponentDisplay, } from './customComponents';
|
|
8
|
+
export type { CustomComponentDisplayMode, HtmlComponent, HtmlComponentMap, MarkstreamCustomComponent, StreamingComponent, StreamingComponentMap, } from './customComponents';
|
|
9
|
+
export { AdmonitionNode } from './server-renderer/index.js';
|
|
10
|
+
export { BlockquoteNode } from './server-renderer/index.js';
|
|
11
|
+
export { CheckboxNode } from './server-renderer/index.js';
|
|
12
|
+
export { CodeBlockNode } from './server-renderer/index.js';
|
|
13
|
+
export { CodeBlockNode as OctaneCodeBlockNode } from './server-renderer/index.js';
|
|
14
|
+
export { HtmlPreviewFrame } from './server-renderer/index.js';
|
|
15
|
+
export { D2BlockNode } from './server-renderer/index.js';
|
|
16
|
+
export { DefinitionListNode } from './server-renderer/index.js';
|
|
17
|
+
export { EmojiNode } from './server-renderer/index.js';
|
|
18
|
+
export { EmphasisNode } from './server-renderer/index.js';
|
|
19
|
+
export { FootnoteAnchorNode } from './server-renderer/index.js';
|
|
20
|
+
export { FootnoteNode } from './server-renderer/index.js';
|
|
21
|
+
export { FootnoteReferenceNode } from './server-renderer/index.js';
|
|
22
|
+
export { HardBreakNode } from './server-renderer/index.js';
|
|
23
|
+
export { HeadingNode } from './server-renderer/index.js';
|
|
24
|
+
export { HighlightNode } from './server-renderer/index.js';
|
|
25
|
+
export { HtmlBlockNode } from './server-renderer/index.js';
|
|
26
|
+
export { HtmlInlineNode } from './server-renderer/index.js';
|
|
27
|
+
export { ImageNode } from './server-renderer/index.js';
|
|
28
|
+
export { InfographicBlockNode } from './server-renderer/index.js';
|
|
29
|
+
export { InlineCodeNode } from './server-renderer/index.js';
|
|
30
|
+
export { InsertNode } from './server-renderer/index.js';
|
|
31
|
+
export { LinkNode } from './server-renderer/index.js';
|
|
32
|
+
export { ListItemNode } from './server-renderer/index.js';
|
|
33
|
+
export { ListNode } from './server-renderer/index.js';
|
|
34
|
+
export { MarkdownCodeBlockNode } from './server-renderer/index.js';
|
|
35
|
+
export { MathBlockNode } from './server-renderer/index.js';
|
|
36
|
+
export { MathInlineNode } from './server-renderer/index.js';
|
|
37
|
+
export { MermaidBlockNode } from './server-renderer/index.js';
|
|
38
|
+
export { NodeRenderer } from './server-renderer/index.js';
|
|
39
|
+
export { default } from './server-renderer/index.js';
|
|
40
|
+
export { FallbackComponent } from './server-renderer/index.js';
|
|
41
|
+
export { ParagraphNode } from './server-renderer/index.js';
|
|
42
|
+
export { PreCodeNode } from './server-renderer/index.js';
|
|
43
|
+
export { ReferenceNode } from './server-renderer/index.js';
|
|
44
|
+
export { StrikethroughNode } from './server-renderer/index.js';
|
|
45
|
+
export { StrongNode } from './server-renderer/index.js';
|
|
46
|
+
export { SubscriptNode } from './server-renderer/index.js';
|
|
47
|
+
export { SuperscriptNode } from './server-renderer/index.js';
|
|
48
|
+
export { TableNode } from './server-renderer/index.js';
|
|
49
|
+
export { TextNode } from './server-renderer/index.js';
|
|
50
|
+
export { ThematicBreakNode } from './server-renderer/index.js';
|
|
51
|
+
export { Tooltip } from './server-renderer/index.js';
|
|
52
|
+
export { VmrContainerNode } from './server-renderer/index.js';
|
|
53
|
+
export { renderNode } from './server-renderer/index.js';
|
|
54
|
+
export type { NodeRendererCodeBlockProps, NodeRendererProps } from './types';
|
|
55
|
+
export * from './types/component-props';
|
|
56
|
+
export type { NodeComponentProps } from './types/node-component';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs for the built package.
|
|
2
|
+
export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
3
|
+
export declare function showTooltipForAnchor(anchor: HTMLElement | null, content: string, placement?: TooltipPlacement, immediate?: boolean, _origin?: {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
} | undefined, isDark?: boolean | null): void;
|
|
7
|
+
export declare function hideTooltip(immediate?: boolean): void;
|
|
8
|
+
export declare function isTooltipVisible(): boolean;
|