UNPKG

@ooopenlab/quiz-form-fields

Version:

Form field type definitions and components for SuperQuiz modules

53 lines (46 loc) 1.2 kB
export interface BaseFormFieldProps { label?: string; value?: any; onChange?: (value: any) => void; required?: boolean; disabled?: boolean; error?: string; placeholder?: string; className?: string; } export interface TextInputProps extends BaseFormFieldProps { type?: 'text' | 'email' | 'password' | 'url'; maxLength?: number; minLength?: number; } export interface TextareaProps extends BaseFormFieldProps { rows?: number; maxLength?: number; autoResize?: boolean; } export interface SelectProps extends BaseFormFieldProps { options: Array<{ label: string; value: any; }>; multiple?: boolean; } export interface NumberInputProps extends BaseFormFieldProps { min?: number; max?: number; step?: number; } export interface ColorPickerProps extends BaseFormFieldProps { format?: 'hex' | 'rgb' | 'hsl'; presets?: string[]; } export interface ImageUploaderProps extends BaseFormFieldProps { accept?: string; maxSize?: number; // in bytes maxFiles?: number; preview?: boolean; } export interface RichTextEditorProps extends BaseFormFieldProps { toolbar?: string[]; height?: number; }