@vs-form/vs-form
Version:
A schema-based form generator component for React using material-ui
67 lines (64 loc) • 1.99 kB
JavaScript
import { Component, createElement } from 'react';
import 'lodash/capitalize';
import 'lodash/cloneDeep';
import 'lodash/get';
import 'lodash/has';
import 'lodash/isArray';
import 'lodash/isDate';
import 'lodash/isBoolean';
import 'lodash/isEmpty';
import 'lodash/isFunction';
import 'lodash/isInteger';
import 'lodash/isNull';
import 'lodash/isNumber';
import 'lodash/isObject';
import 'lodash/isPlainObject';
import 'lodash/isRegExp';
import 'lodash/isString';
import 'lodash/isUndefined';
import 'lodash/merge';
import 'lodash/set';
import 'lodash/toInteger';
import 'lodash/toNumber';
import 'lodash/trimEnd';
import 'lodash/uniq';
import 'lodash/debounce';
import 'lodash/throttle';
import './chunk-68362596.js';
import 'classnames';
import IconButton from '@material-ui/core/IconButton';
import './chunk-7293e165.js';
import { a as VsButtonBase } from './chunk-177890aa.js';
const styles = {
icon: {
fontSize: '1em',
paddingRight: '5px'
}
};
class VsIconButton extends Component {
constructor(props) {
super(props);
this.buttonProps = {};
this.IconProps = {};
this.renderComp = (_p) => {
const Icon = this.comp.iconComp;
return (createElement(IconButton, Object.assign({}, this.buttonProps), Icon && createElement(Icon, Object.assign({}, this.IconProps))));
};
this.initProps();
}
get comp() { return this.props.comp; }
render() {
return (createElement(VsButtonBase, { comp: this.comp, schemaManager: this.props.schemaManager, buttonProps: this.buttonProps, IconProps: this.IconProps, classes: this.props.classes }, this.renderComp));
}
initProps() {
const { IconProps, ...buttonProps } = this.comp.props;
if (buttonProps) {
this.buttonProps = buttonProps;
}
if (IconProps) {
this.IconProps = IconProps;
}
}
}
export default VsIconButton;
export { styles };