UNPKG

@vs-form/vs-form

Version:

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

41 lines (36 loc) 1.63 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); var Tooltip = _interopDefault(require('@material-ui/core/Tooltip')); var classNames = _interopDefault(require('classnames')); var Icon = _interopDefault(require('@material-ui/core/Icon')); var SvgIcon = _interopDefault(require('@material-ui/core/SvgIcon')); const BaseIcon = (props) => { let ic; if (props['icon']) { const p = props; const { tooltip, tooltipProps, icon, ...other } = p; const cl = classNames('mdi', 'mdi-' + icon, p.className); ic = React.createElement(Icon, Object.assign({}, other, { className: cl })); } else if (props['svg']) { const p = props; const { tooltip, tooltipProps, svg, ...other } = p; ic = (React.createElement(SvgIcon, Object.assign({}, other), React.createElement("path", { d: p.svg }))); } else if (props['component']) { const p = props; const { tooltip, tooltipProps, component, ...other } = p; ic = (React.createElement(SvgIcon, Object.assign({}, other, { component: p.component }))); } if (ic) { return props.tooltip ? React.createElement(Tooltip, Object.assign({ title: props.tooltip }, props.tooltipProps), React.createElement("span", null, ic)) : ic; } else { return React.createElement("div", null, "Icon: property icon, svg or component must be provided"); } }; exports.BaseIcon = BaseIcon;