29 lines
536 B
TypeScript
29 lines
536 B
TypeScript
import { ReactNode } from "react";
|
|
|
|
export type ContentType =
|
|
| 'paragraph'
|
|
| 'code'
|
|
| 'callout'
|
|
| 'list'
|
|
| 'ordered-list'
|
|
| 'subheading'
|
|
| 'collapsible'
|
|
| 'diagram';
|
|
|
|
export interface ContentBlock {
|
|
type: ContentType;
|
|
content: string | string[] | { title: string; body: ContentBlock[] };
|
|
variant?: 'warning' | 'info' | 'success' | 'tip';
|
|
language?: string;
|
|
}
|
|
|
|
export interface SectionData {
|
|
id: string;
|
|
title: string;
|
|
blocks: ContentBlock[];
|
|
}
|
|
|
|
export interface NavItem {
|
|
id: string;
|
|
label: string;
|
|
} |