informed
Version:
A lightweight framework and utility for building powerful forms in React applications
32 lines (28 loc) • 969 B
JavaScript
import { objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';
import React from 'react';
import { Debug } from '../debug.js';
import { useForm } from '../hooks/useForm.js';
var _excluded = ["children"];
var debug = Debug('informed:Form' + '\t\t');
var FormProvider = function FormProvider(_ref) {
var children = _ref.children,
rest = _objectWithoutProperties(_ref, _excluded);
debug('Render Form Provider');
var _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.createElement(React.Fragment, null, getContent()));
};
export { FormProvider };