React API
Public React component, hook and extension types generated from source.
QuireMarkdownProps
@quirekit/incremark-reactMITReact reader supporting static text, AI streaming and accepted parser states.
export interface QuireMarkdownProps extends MarkdownSourceInput, MarkdownRenderOptions {
readonly status?: MarkdownStatus;
readonly locale?: MarkdownLocale;
readonly className?: string;
readonly style?: CSSProperties;
readonly onError?: (failure: MarkdownReadingError) => void;
}MarkdownComponents
@quirekit/incremark-reactMITInstance-local native tag/component replacements; application components are trusted code.
export type MarkdownComponents = Readonly<Partial<Record<string, ComponentType<MarkdownComponentProps> | string>>>;MarkdownComponentProps
@quirekit/incremark-reactMITProps supplied to a custom semantic component; consume node before forwarding DOM props.
export interface MarkdownComponentProps {
readonly node: MarkdownNodeInfo;
readonly children?: ReactNode;
readonly [attribute: string]: unknown;
}MarkdownRenderOptions
@quirekit/incremark-reactMITInstance-local React rendering options over shared cache and HTML policy.
export interface MarkdownRenderOptions extends CoreOptions<ReactNode> {
readonly components?: MarkdownComponents;
}MarkdownReadingContext
@quirekit/incremark-reactMITReact reading inputs over the validated source codec.
export interface MarkdownReadingContext<Attrs extends object = Readonly<Record<string, unknown>>> extends CoreContext<ReactNode, Attrs> {
}MarkdownReadingDefinition
@quirekit/incremark-reactMITReact presentation with instance-owned asynchronous resources.
export interface MarkdownReadingDefinition<Attrs extends object = Readonly<Record<string, unknown>>, Resource = unknown> extends CoreDefinition<ReactNode, Attrs, Resource> {
}withMarkdownReading
@quirekit/incremark-reactMIT@param extension - Configured source extension; configure/extend before wrapping. @param definition - Trusted React presentation and optional abortable resource. @returns The original MSFE definition with its canonical semantic codec and React reading entry.
function withMarkdownReading<Attrs extends object = Readonly<Record<string, unknown>>, Resource = unknown>(extension: AnyExtension, definition: MarkdownReadingDefinition<Attrs, Resource>): AnyExtensionMarkdownSourceInput
@quirekit/incremark-reactMITAccepted source inputs; content and state are mutually exclusive.
export interface MarkdownSourceInput {
readonly content?: string | undefined;
readonly state?: EditorState | undefined;
readonly identity?: string | undefined;
readonly options?: MarkdownOptions | undefined;
readonly ssr?: "semantic" | "source" | undefined;
}MarkdownSourceSnapshot
@quirekit/incremark-reactMITImmutable cached external-store snapshot; unchanged inputs keep object identity.
export interface MarkdownSourceSnapshot {
readonly state: EditorState | undefined;
readonly pending: boolean;
readonly generation: number;
readonly error: MarkdownReadingError | undefined;
}useMarkdownSource
@quirekit/incremark-reactMIT@param input - Authoritative source and immutable parser configuration. @param onError - Committed parser failure observer. @returns Cached immutable source snapshot with a single cancellable parse continuation.
function useMarkdownSource(input: MarkdownSourceInput, onError?: (failure: MarkdownReadingError) => void): MarkdownSourceSnapshotMarkdownRenderer
@quirekit/incremark-reactMITReact cache owner; prepare is safe during render and commit accepts only the current attempt.
export class MarkdownRenderer extends CoreRenderer<ReactNode> {
constructor(limits?: MarkdownCacheLimits);
override get work(): Readonly<MarkdownRenderWork>;
override clear(): void;
override prepare(state: EditorState, locale: MarkdownLocale, prefix?: string, onError?: (error: MarkdownReadingError) => void, options?: MarkdownRenderOptions): MarkdownRenderFrame<ReactNode>;
override render(state: EditorState, locale: MarkdownLocale, prefix?: string, onError?: (error: MarkdownReadingError) => void, options?: MarkdownRenderOptions): ReactNode;
}renderMarkdown
@quirekit/incremark-reactMIT@param state - Accepted source. @param locale - Control language. @param prefix - Instance navigation namespace. @param onError - Isolated failure observer. @param options - Presentation policy. @returns Ordinary React projection with no retained block output.
function renderMarkdown(state: EditorState, locale: MarkdownLocale, prefix?: string, onError?: (error: MarkdownReadingError) => void, options?: MarkdownRenderOptions): ReactNode