@react-formless/core
Version:
Data-driven react forms library written in typescript
74 lines • 4.31 kB
JavaScript
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
;