返回 presentation-ai
1 // font-step/types.ts
2 import { type Control, type UseFormSetValue } from "react-hook-form";
3
4 import { type ThemeFormValues } from "../../types";
5
6 export interface FontStepProps {
7 control: Control<ThemeFormValues>;
8 setValue: UseFormSetValue<ThemeFormValues>;
9 }
10
11 export interface FontPickerFieldProps {
12 label: string;
13 target: "heading" | "body";
14 control: Control<ThemeFormValues>;
15 setValue: UseFormSetValue<ThemeFormValues>;
16 isUploading: boolean;
17 onUpload: () => void;
18 getLocalCustomFonts: () => LocalFont[];
19 }
20
21 export interface LocalFont {
22 name: string;
23 category: string;
24 sane: string;
25 cased: string;
26 variants: string[];
27 isLocal: boolean;
28 }
29
29 lines TYPESCRIPT