informed
Version:
A lightweight framework and utility for building powerful forms in React applications
35 lines (27 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
var React = require('react');
var useFormController = require('../hooks/useFormController.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var FormComponents = function FormComponents(_ref) {
var components = _ref.components;
// Get the field map off the forms context
var _useFormController = 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__default["default"].createElement(Component, _rollupPluginBabelHelpers["extends"]({
key: "ui-comp-".concat(i)
}, props));
});
};
exports.FormComponents = FormComponents;