UNPKG

@cosva-lab/form-builder

Version:
55 lines (53 loc) 1.81 kB
const require_runtime = require('./_virtual/_rolldown/runtime.cjs'); const require_Inputs = require('./Inputs.cjs'); let react = require("react"); react = require_runtime.__toESM(react); let react_is = require("react-is"); react_is = require_runtime.__toESM(react_is); let mobx_react = require("mobx-react"); //#region src/FieldRender.tsx const FieldRenderObserver = ({ component, propsForm }) => { let FieldComponent = component; try { FieldComponent = (0, mobx_react.observer)(component); } catch (error) {} return /* @__PURE__ */ react.default.createElement(FieldComponent, propsForm); }; var FieldRender = class extends react.default.PureComponent { constructor(..._args) { super(..._args); this.onChangeField = (e, callback) => { const { onChangeField } = this.props; onChangeField === null || onChangeField === void 0 || onChangeField(e, callback); }; } render() { const { field, globalProps } = this.props; const { component: Component, render, type } = field; const propsForm = { field, globalProps, onChangeField: this.onChangeField }; const formInput = /* @__PURE__ */ react.default.createElement(require_Inputs.default, propsForm); if (render) return render({ children: formInput, props: propsForm }); if (type === "component") { if (Component) Component.displayName = `[fields.${field.name.toString()}].component`; if (react.default.isValidElement(Component)) return /* @__PURE__ */ react.default.createElement(Component.type, { ...Component.props, ...propsForm }); if (react_is.isValidElementType(Component)) return /* @__PURE__ */ react.default.createElement(FieldRenderObserver, { component: Component, propsForm }); return null; } return formInput; } }; //#endregion exports.default = FieldRender;