UNPKG

@react-formless/core

Version:
74 lines 4.31 kB
"use strict"; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.useFormHook = exports.plainHtmlElementRenderMap = exports.plainHtmlRenderMap = exports.FormItemView = exports.getElementsRenderMap = exports.FormView = exports.StyledFormView = exports.toResult = exports.getExtInputProps = exports.getInputProps = exports.toInputState = exports.toFormState = exports.guards = exports.validators = void 0; var React = require("react"); var forms_1 = require("./forms"); var utils_1 = require("@react-formless/utils"); Object.defineProperty(exports, "validators", { enumerable: true, get: function () { return utils_1.validators; } }); Object.defineProperty(exports, "guards", { enumerable: true, get: function () { return utils_1.guards; } }); var forms_2 = require("./forms"); Object.defineProperty(exports, "toFormState", { enumerable: true, get: function () { return forms_2.toFormState; } }); Object.defineProperty(exports, "toInputState", { enumerable: true, get: function () { return forms_2.toInputState; } }); Object.defineProperty(exports, "getInputProps", { enumerable: true, get: function () { return forms_2.getInputProps; } }); Object.defineProperty(exports, "getExtInputProps", { enumerable: true, get: function () { return forms_2.getExtInputProps; } }); Object.defineProperty(exports, "toResult", { enumerable: true, get: function () { return forms_2.toResult; } }); var StyledFormView_1 = require("./components/StyledFormView"); Object.defineProperty(exports, "StyledFormView", { enumerable: true, get: function () { return StyledFormView_1.StyledFormView; } }); var FormView_1 = require("./components/FormView"); Object.defineProperty(exports, "FormView", { enumerable: true, get: function () { return FormView_1.FormView; } }); Object.defineProperty(exports, "getElementsRenderMap", { enumerable: true, get: function () { return FormView_1.getElementsRenderMap; } }); Object.defineProperty(exports, "FormItemView", { enumerable: true, get: function () { return FormView_1.FormItemView; } }); var PlainHtmlRenderMap_1 = require("./components/PlainHtmlRenderMap"); Object.defineProperty(exports, "plainHtmlRenderMap", { enumerable: true, get: function () { return PlainHtmlRenderMap_1.plainHtmlRenderMap; } }); Object.defineProperty(exports, "plainHtmlElementRenderMap", { enumerable: true, get: function () { return PlainHtmlRenderMap_1.plainHtmlElementRenderMap; } }); exports.useFormHook = function (_a) { var schema = _a.schema, p = __rest(_a, ["schema"]); var _b = React.useState(forms_1.toFormState(schema, (p.initialValue || {}))), state = _b[0], setState = _b[1]; var _c = React.useState(false), touched = _c[0], setTouched = _c[1]; var _d = React.useState(false), submitted = _d[0], setSubmitted = _d[1]; var result = forms_1.toResult(schema, state); var handleSubmit = function (e) { e === null || e === void 0 ? void 0 : e.preventDefault(); setSubmitted(true); if (!touched) setTouched(true); if (result.type === "Err") setState(forms_1.validateForm(schema, state)); else if (p.onSubmit) p.onSubmit(result.value); }; var resetState = function () { setState(forms_1.toFormState(schema, p.initialValue)); setTouched(false); setSubmitted(false); }; return { handleSubmit: handleSubmit, result: result, formViewProps: { state: state, setState: function (s) { if (!touched) setTouched(true); setState(s); }, schema: schema }, resetState: resetState, submitted: submitted, touched: touched, active: forms_1.isFormActive(schema, state) }; }; //# sourceMappingURL=index.js.map