@undermuz/use-form
Version:
React library for build forms
74 lines (72 loc) • 2.73 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/useForm/useFormControl.ts
var useFormControl_exports = {};
__export(useFormControl_exports, {
useFormControl: () => useFormControl
});
module.exports = __toCommonJS(useFormControl_exports);
var import_reducer = require("./reducer.cjs");
var import_react = require("react");
var import_helpers = require("./helpers.cjs");
var useFormControl = (props, store, dispatch) => {
const setValues = (0, import_helpers.useSetValues)(props, store, dispatch);
const getValues = (0, import_react.useCallback)(() => {
return store.getState().values;
}, []);
const setTouched = (0, import_helpers.useSetTouched)(props, store, dispatch);
const setTests = (0, import_helpers.useSetTests)(props, store, dispatch);
const setValidate = (0, import_helpers.useSetValidate)(props, store, dispatch);
const setErrors = (0, import_helpers.useSetErrors)(props, store, dispatch);
const setCustomErrors = (0, import_helpers.useSetCustomErrors)(props, store, dispatch);
const setCustomErrorByName = (0, import_helpers.useSetCustomErrorByName)(props, store, dispatch);
const setValue = (0, import_helpers.useSetFieldValue)(props, store, dispatch);
const setTouchedByName = (0, import_helpers.useSetFieldTouched)(props, store, dispatch);
const validate = (0, import_helpers.useValidate)(props, store, dispatch);
const send = (0, import_react.useCallback)((api) => {
return new Promise((onResolve, onReject) => {
dispatch({
type: import_reducer.FORM_ACTIONS.SEND_FORM,
payload: {
api,
onResolve,
onReject
}
});
});
}, []);
return {
send,
validate,
setValue,
getValues,
setTouchedByName,
setTouched,
setValues,
setTests,
setValidate,
setErrors,
setCustomErrors,
setCustomErrorByName
};
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
useFormControl
});