informed
Version:
A lightweight framework and utility for building powerful forms in React applications
40 lines (32 loc) • 1.3 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');
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 FormProvider = function FormProvider(_ref) {
var children = _ref.children,
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
debug('Render Form Provider');
var _useForm = useForm.useForm(rest),
formApi = _useForm.formApi,
formState = _useForm.formState,
render = _useForm.render;
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(React__default["default"].Fragment, null, getContent()));
};
exports.FormProvider = FormProvider;