react-formal
Version:
Classy HTML form management for React
35 lines • 1.39 kB
JavaScript
import Field, { useMergedEventHandlers } from './Field';
import FieldArray from './FieldArray';
import FormComponent, { getter, setter } from './Form';
import Submit from './Submit';
import Message from './Message';
import NestedForm from './NestedForm';
import Summary from './Summary';
import config from './config';
import useField, { ValidateStrategies, splitFieldProps } from './useField';
import useFormValues from './useFormValues';
import useForm from './useForm';
import useFieldArray from './useFieldArray';
import errToJSON from './utils/errToJSON';
import useFormSubmit from './useFormSubmit';
import useErrors from './useErrors';
import useTouched from './useTouched';
import Reset from './Reset';
import useFormReset from './useFormReset';
const setDefaults = (defaults = {}) => {
Object.assign(config, defaults);
};
const toFormErrors = err => {
if (!err || err.name !== 'ValidationError') throw new Error('`toErrors()` only works with ValidationErrors.');
return errToJSON(err);
};
const formStatics = {
Field,
FieldArray,
Message,
Submit,
Reset,
Summary
};
export { formStatics, NestedForm, useField, useMergedEventHandlers, useFieldArray, useFormSubmit, useFormReset, useFormValues, useForm, useErrors, useTouched, splitFieldProps, ValidateStrategies, setDefaults, toFormErrors, getter, setter };
export default Object.assign(FormComponent, formStatics);