63 lines
1 KiB
TypeScript
63 lines
1 KiB
TypeScript
// Left
|
|
export interface Item {
|
|
name: string;
|
|
type: string;
|
|
}
|
|
|
|
export interface GroupedRoutes {
|
|
tutorials: { [key: string]: Item[] };
|
|
types: { [key: string]: Item[] };
|
|
}
|
|
|
|
export interface TreeProps {
|
|
items: GroupedRoutes;
|
|
currentRoute?: string;
|
|
currentModule: string | null;
|
|
currentClass: string | null;
|
|
}
|
|
|
|
export interface NavProps {
|
|
routes: GroupedRoutes;
|
|
tree: TreeProps;
|
|
mobile: boolean;
|
|
}
|
|
|
|
// Right
|
|
export interface TOCProps {
|
|
config?: ConfigHeading[];
|
|
type?: TypeTableProps;
|
|
mobile: boolean;
|
|
}
|
|
|
|
// -- Config
|
|
export interface ConfigHeading {
|
|
slug: string;
|
|
text: string;
|
|
depth: number;
|
|
}
|
|
|
|
export interface ConfigTOC {
|
|
slug: string;
|
|
text: string;
|
|
depth: number;
|
|
subheadings: ConfigTOC[];
|
|
}
|
|
|
|
export interface ConfigTableProps {
|
|
content: {
|
|
title: string;
|
|
};
|
|
headings: ConfigHeading[];
|
|
frontmatter?: {
|
|
title: string;
|
|
description: string;
|
|
};
|
|
}
|
|
|
|
// -- Types
|
|
export interface TypeTOC {
|
|
properties: string[] | null;
|
|
functions: string[] | null;
|
|
signals: string[] | null;
|
|
variants: string[] | null;
|
|
}
|