UNPKG

@vs-form/vs-form

Version:

A schema-based form generator component for React using material-ui

71 lines (66 loc) 2.35 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); require('lodash/capitalize'); require('lodash/cloneDeep'); require('lodash/get'); require('lodash/has'); require('lodash/isArray'); require('lodash/isDate'); require('lodash/isBoolean'); require('lodash/isEmpty'); require('lodash/isFunction'); require('lodash/isInteger'); require('lodash/isNull'); require('lodash/isNumber'); require('lodash/isObject'); require('lodash/isPlainObject'); require('lodash/isRegExp'); require('lodash/isString'); var isUndefined = _interopDefault(require('lodash/isUndefined')); require('lodash/merge'); require('lodash/set'); require('lodash/toInteger'); require('lodash/toNumber'); require('lodash/trimEnd'); require('lodash/uniq'); require('lodash/debounce'); require('lodash/throttle'); require('@material-ui/core/Typography'); var __chunk_7 = require('./chunk-819d0a62.js'); class Form extends React.Component { constructor(props) { super(props); this.PanelProps = {}; this.HeaderTypographyProps = {}; this.FormTag = ({ children }) => { if (!this.props.schemaManager.componentIsInSubschema(this.comp)) { return React.createElement("form", Object.assign({}, this.PanelProps), children); } else { return React.createElement("div", Object.assign({}, this.PanelProps), children); } }; this.initProps(); } get comp() { return this.props.comp; } render() { return (React.createElement(this.FormTag, null, this.comp.label ? React.createElement(__chunk_7.Text, Object.assign({ text: this.comp.label }, this.HeaderTypographyProps)) : null, this.props.children)); } initProps() { const { HeaderTypographyProps, ...PanelProps } = this.comp.props; if (PanelProps) { this.PanelProps = PanelProps; } if (HeaderTypographyProps) { this.HeaderTypographyProps = HeaderTypographyProps; } if (isUndefined(this.HeaderTypographyProps.variant)) { this.HeaderTypographyProps.variant = 'h6'; } } } exports.default = Form;