zod-auto-form
Version:
Auto-generate typed React forms from Zod schemas
40 lines (39 loc) • 2.01 kB
TypeScript
import type { ArrayBooleanType, ArrayDateType, ArrayInputFieldWrapperType, ArrayNumberType, ArrayStringType, ArrayWrapperType, CheckboxType, DateTimePickerType, FormComponentType, GroupedFieldsWrapperType, MultiSelectType, NumberInputType, ObjectWrapperType, RadioGroupType, SelectType, SubmitButtonType, SwitchType, TextAreaType, TextInputType } from "./base-components";
/** Text input field (single-line) */
export type TextInput = TextInputType;
/** Checkbox input (true/false) */
export type CheckboxInput = CheckboxType;
/** Dropdown input (single select) */
export type SelectInput = SelectType;
/** Multi-select dropdown (select multiple options) */
export type MultiSelectInput = MultiSelectType;
/** Radio group (select one from multiple options) */
export type RadioGroupInput = RadioGroupType;
/** Numeric input field */
export type NumberInput = NumberInputType;
/** Switch toggle (boolean input with toggle UI) */
export type SwitchInput = SwitchType;
/** Text area field (multi-line input) */
export type TextAreaInput = TextAreaType;
/** Date and time picker input */
export type DateTimeInput = DateTimePickerType;
/** Wraps nested object fields */
export type ObjectWrapper = ObjectWrapperType;
/** Wraps array of fields */
export type ArrayWrapper = ArrayWrapperType;
/** Groups multiple fields under a label or section */
export type GroupedFieldsWrapper = GroupedFieldsWrapperType;
/** Main form container component */
export type FormComponent = FormComponentType;
/** Submit button for triggering form submit */
export type SubmitButton = SubmitButtonType;
/** Wraps array of fields */
export type ArrayInputFieldWrapper = ArrayInputFieldWrapperType;
/** String input field for array */
export type ArrayStringInput = ArrayStringType;
/** Number input field for array */
export type ArrayNumberInput = ArrayNumberType;
/** Boolean input field for array */
export type ArrayBooleanInput = ArrayBooleanType;
/** Date input field for array */
export type ArrayDateInput = ArrayDateType;