ff-webpage/types/field/content.ts

29 lines
733 B
TypeScript

export default interface ContentField
extends Array<
| {
type: "paragraph" | "heading" | "quote";
children: Array<TypeField>;
level?: number;
}
| {
type: "list";
format: "unordered" | "ordered";
children: Array<{ type: "list-item"; children: Array<TypeField> }>;
}
| {
type: "code";
children: Array<{ type: "list-item"; children: Array<TypeField> }>;
language: "plaintext";
}
> {}
export type TypeField = TextField | { type: "link"; url: string; children: Array<TextField> };
export type TextField = {
type: "text";
text: string;
strikethrough?: boolean;
underline?: boolean;
italic?: boolean;
bold?: boolean;
};