UNPKG

informed

Version:

A lightweight framework and utility for building powerful forms in React applications

42 lines (38 loc) 1.32 kB
import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../_virtual/_rollupPluginBabelHelpers.js'; import React from 'react'; import { Debug } from '../debug.js'; import { useForm } from '../hooks/useForm.js'; import { FieldMap } from '../fieldMap.js'; var _excluded = ["children"]; var debug = Debug('informed:Form' + '\t\t'); var Form = function Form(_ref) { var children = _ref.children, rest = _objectWithoutProperties(_ref, _excluded); debug('Render FORM'); var _useForm = useForm(_objectSpread2({ adapter: 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.createElement("form", _extends({}, userProps, { noValidate: true, onReset: formController.reset, onSubmit: formController.submitForm, onKeyDown: formController.keyDown }), getContent())); }; export { Form };