UNPKG

zod-auto-form

Version:

Auto-generate typed React forms from Zod schemas

44 lines (43 loc) 4.45 kB
import { ZodFormClassed } from "zod-helper"; import type { AutoFormProps, ZodSchema } from "../../types/auto-form-type"; type VisibilityState = { hidden: boolean; disabled: boolean; }; export default function useFormData<T extends ZodSchema>({ schema, changePositionOfFields, fieldTypeOverrides, groupByZodKeys, visibilityRules, defaultValues, onSubmit, onSubmitError, onValuesChange, isRemoveNullValues, }: AutoFormProps<T> & { onValuesChange?: (values: Record<string, unknown>) => void; }): { zodFormData: ZodFormClassed<T>; formVersion: number; setFormVersion: import("react").Dispatch<import("react").SetStateAction<number>>; mergedDefaultValues: Record<string, unknown>; formSubmittedRef: import("react").RefObject<boolean>; handleSubmit: (props: { value: unknown; }) => any; appForm: import("@tanstack/form-core").FormApi<Record<string, unknown>, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, T, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, unknown> & import("@tanstack/react-form").ReactFormApi<Record<string, unknown>, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, T, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, unknown> & { AppField: import("@tanstack/react-form").FieldComponent<Record<string, unknown>, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, T, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import("@tanstack/form-core").FormAsyncValidateOrFn<Record<string, unknown>> | undefined, unknown, NoInfer<{ FieldComponent: typeof import("../../base-components/GenericFormField").default; ArrayField: typeof import("../../base-components/ArrayField").ArrayFieldForArrayOfObjects; ArrayFieldForArrayOfStrings: typeof import("../../base-components/ArrayField").ArrayFieldForArrayOfStrings; ObjectWrapper: typeof import("../../base-components/ObjectWrapper").default; ArrayWrapper: typeof import("../../base-components/ArrayWrapper").default; GroupedFieldsWrapper: typeof import("../../base-components/GroupedFieldsWrapper").default; ArrayInputFieldWrapper: typeof import("../../base-components/ArrayInputFieldWrapper").default; }>>; AppForm: import("react").ComponentType<import("react").PropsWithChildren>; }; getFieldVisibilityState: (fieldPath: string, formValues: Record<string, unknown>) => VisibilityState; isLoading: boolean; all_errors: { form: { errors: (import("@tanstack/form-core").UnwrapFormValidateOrFn<T> | undefined)[]; errorMap: import("@tanstack/form-core").FormValidationErrorMap<undefined, undefined, undefined, undefined, undefined, import("@tanstack/form-core").UnwrapFormValidateOrFn<T>, undefined, undefined>; }; fields: Record<string, { errors: import("@tanstack/form-core").ValidationError[]; errorMap: import("@tanstack/form-core").ValidationErrorMap; }>; }; }; export {};