yzsd
Version:
a niubi UI component
102 lines (101 loc) • 6.01 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _classnames = _interopRequireDefault(require("classnames"));
var _omit = _interopRequireDefault(require("rc-util/lib/omit"));
var _tagCheckable = _interopRequireDefault(require("./tag-checkable"));
var _react = _interopRequireWildcard(require("react"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var __rest = void 0 && (void 0).__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
var tuple = function tuple() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return args;
};
var PresetColorTypes = tuple('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');
var PresetStatusColorTypes = tuple('success', 'processing', 'error', 'default', 'warning');
var PresetColorRegex = new RegExp("^(".concat(PresetColorTypes.join('|'), ")(-inverse)?$"));
var PresetStatusColorRegex = new RegExp("^(".concat(PresetStatusColorTypes.join('|'), ")$"));
var InternalTag = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _classNames;
var _props$prefixCls = props.prefixCls,
customizePrefixCls = _props$prefixCls === void 0 ? 'yzs-tag' : _props$prefixCls,
className = props.className,
style = props.style,
children = props.children,
icon = props.icon,
color = props.color,
onClose = props.onClose,
closeIcon = props.closeIcon,
_props$closable = props.closable,
closable = _props$closable === void 0 ? false : _props$closable,
rest = __rest(props, ["prefixCls", "className", "style", "children", "icon", "color", "onClose", "closeIcon", "closable"]);
var _useState = (0, _react.useState)(true),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
visible = _useState2[0],
setVisible = _useState2[1];
_react["default"].useEffect(function () {
if ('visible' in rest) {
setVisible(rest.visible);
}
}, [rest.visible]);
var isPresetColor = function isPresetColor() {
if (!color) {
return false;
}
return PresetColorRegex.test(color) || PresetStatusColorRegex.test(color);
};
var tagStyle = (0, _extends2["default"])({
backgroundColor: color && !isPresetColor() ? color : undefined
}, style);
var tagClassName = (0, _classnames["default"])(customizePrefixCls, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, "".concat(customizePrefixCls, "-").concat(color), color), (0, _defineProperty2["default"])(_classNames, "".concat(customizePrefixCls, "-has-color"), color), (0, _defineProperty2["default"])(_classNames, "".concat(customizePrefixCls, "-hidden"), !visible), _classNames), className);
var handleCloseClick = function handleCloseClick(e) {
e.stopPropagation();
onClose === null || onClose === void 0 ? void 0 : onClose(e);
if (e.defaultPrevented) {
return;
}
if (!('visible' in rest)) {
setVisible(false);
}
};
var renderCloseIcon = function renderCloseIcon() {
if (closable) {
return closeIcon ? /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(customizePrefixCls, "-close-icon"),
onClick: handleCloseClick
}, closeIcon) : /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(customizePrefixCls, "-close-icon"),
onClick: handleCloseClick
}, 'x');
}
};
var tagProps = (0, _omit["default"])(rest, ['visible']);
var iconNode = icon || null;
var kids = iconNode ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconNode, /*#__PURE__*/_react["default"].createElement("span", null, children)) : children;
var tagNode = /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, tagProps, {
ref: ref,
className: tagClassName,
style: tagStyle
}), kids, renderCloseIcon());
return tagNode;
});
InternalTag.CheckableTag = _tagCheckable["default"];
var _default = InternalTag;
exports["default"] = _default;