@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
37 lines • 1.54 kB
TypeScript
import * as React from 'react';
import type { Code, ContentLoadingProps, ContentProps } from "../CodeHighlighter/types.js";
import { DemoGlobalData } from "../createDemoData/types.js";
type CreateDemoMeta = {
name?: string;
slug?: string;
displayName?: string;
variantType?: string;
skipPrecompute?: boolean;
precompute?: Code;
CodeExternalsProvider?: React.ComponentType<{
children: React.ReactNode;
}>;
};
type AbstractCreateDemoOptions<T extends {}> = {
DemoContent: React.ComponentType<ContentProps<T>>;
DemoContentLoading?: React.ComponentType<ContentLoadingProps<T>>;
DemoTitle?: React.ComponentType<{
slug?: string;
children?: string;
}>;
controlled?: boolean;
demoGlobalData?: DemoGlobalData[];
variantTypes?: Record<string, string>;
};
export declare function abstractCreateDemo<T extends {}>(options: AbstractCreateDemoOptions<T>, url: string, variants: {
[key: string]: React.ComponentType;
}, meta: CreateDemoMeta | undefined): React.ComponentType<T> & {
Title: React.ComponentType;
};
export declare function createDemoFactory<T extends {}>(options: AbstractCreateDemoOptions<T>): (url: string, component: React.ComponentType, meta?: CreateDemoMeta) => React.ComponentType<T> & {
Title: React.ComponentType;
};
export declare function createDemoWithVariantsFactory<T extends {}>(options: AbstractCreateDemoOptions<T>): (url: string, variants: Record<string, React.ComponentType>, meta?: CreateDemoMeta) => React.ComponentType<T> & {
Title: React.ComponentType;
};
export {};