informed
Version:
A lightweight framework and utility for building powerful forms in React applications
50 lines (42 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
var React = require('react');
var debug$1 = require('../debug.js');
var useForm = require('../hooks/useForm.js');
var fieldMap = require('../fieldMap.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var _excluded = ["children"];
var debug = debug$1.Debug('informed:Form' + '\t\t');
var Form = function Form(_ref) {
var children = _ref.children,
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
debug('Render FORM');
var _useForm = useForm.useForm(_rollupPluginBabelHelpers.objectSpread2({
adapter: fieldMap.FieldMap
}, rest)),
formApi = _useForm.formApi,
formController = _useForm.formController,
formState = _useForm.formState,
render = _useForm.render,
userProps = _useForm.userProps;
var getContent = function getContent() {
var props = {
formState: formState,
formApi: formApi
};
if (typeof children === 'function') {
return children(props);
}
return children;
};
/* --- Render Content --- */
return render( /*#__PURE__*/React__default["default"].createElement("form", _rollupPluginBabelHelpers["extends"]({}, userProps, {
noValidate: true,
onReset: formController.reset,
onSubmit: formController.submitForm,
onKeyDown: formController.keyDown
}), getContent()));
};
exports.Form = Form;