UNPKG

informed

Version:

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

27 lines (23 loc) 1.04 kB
import { extends as _extends } from '../_virtual/_rollupPluginBabelHelpers.js'; import React from 'react'; import { useFormController } from '../hooks/useFormController.js'; var FormComponents = function FormComponents(_ref) { var components = _ref.components; // Get the field map off the forms context var _useFormController = useFormController(), fieldMap = _useFormController.fieldMap, getOptions = _useFormController.getOptions; // Grab the schema var options = getOptions(); if (!components) return null; return components.map(function (comp, i) { var _fieldMap$componentTy; var componentType = comp['ui:control'], props = comp['ui:props']; var Component = (_fieldMap$componentTy = fieldMap[componentType]) !== null && _fieldMap$componentTy !== void 0 ? _fieldMap$componentTy : options.components ? options.components[componentType] : null; return /*#__PURE__*/React.createElement(Component, _extends({ key: "ui-comp-".concat(i) }, props)); }); }; export { FormComponents };