@doopage/react-ui-kit
Version:
UI-kit for DooPage project
50 lines (45 loc) • 1.91 kB
JavaScript
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);