UNPKG

@doopage/react-ui-kit

Version:
50 lines (45 loc) 1.91 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; import React, { memo } from 'react'; import MuiChip from "@material-ui/core/Chip"; import Tooltip from "@material-ui/core/Tooltip"; import Zoom from "@material-ui/core/Zoom"; import classNames from 'classnames'; import useStyles from './styles'; import { isThemeColor } from '../utils/constants'; export var isCustomColor = function (color) { if (!color) return false; return !isThemeColor(color); }; var Chip = function (props) { var _classNames; var classes = useStyles(props); var helperText = props.helperText, hide = props.hide, label = props.label, _props$color = props.color, color = _props$color === void 0 ? 'gray' : _props$color, children = props.children, className = props.className, _props$size = props.size, size = _props$size === void 0 ? 'small' : _props$size, outlined = props.outlined, square = props.square, rest = _objectWithoutPropertiesLoose(props, ["helperText", "hide", "label", "color", "children", "className", "size", "outlined", "square"]); if (hide) return null; var customClass = classNames(className, classes.root, (_classNames = {}, _classNames[classes[isCustomColor(color) ? 'customColor' : color]] = true, _classNames[classes.outlined] = outlined, _classNames[classes.square] = square, _classNames)); var chipCom = /*#__PURE__*/React.createElement(MuiChip, _extends({ variant: outlined ? 'outlined' : 'default' }, rest, { label: label || children, className: customClass, size: size })); if (helperText) chipCom = /*#__PURE__*/React.createElement(Tooltip, { TransitionComponent: Zoom, title: helperText, placement: 'bottom' }, chipCom); return chipCom; }; export default /*#__PURE__*/memo(Chip);