UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

70 lines 3.92 kB
import { rpx2vw4style as __rpx2vw__ } from "@alifd/babel-runtime-jsx-style-transform"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import { __rest } from "tslib"; import React, { createElement, forwardRef } from "react"; import classNames from 'classnames'; import View from '../view'; import CreateChildren from './create-children'; import { isString } from '../utils'; var Tag = function Tag(props, ref) { var _props$prefix = props.prefix, prefix = _props$prefix === void 0 ? 'mt-' : _props$prefix, _props$size = props.size, size = _props$size === void 0 ? 'medium' : _props$size, _props$type = props.type, type = _props$type === void 0 ? 'normal' : _props$type, _props$disabled = props.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, _props$onClick = props.onClick, onClick = _props$onClick === void 0 ? function () {} : _props$onClick, _props$style = props.style, style = _props$style === void 0 ? {} : _props$style, children = props.children, color = props.color, textColorProp = props.textColor, className = props.className, others = __rest(props, ["prefix", "size", "type", "disabled", "onClick", "style", "children", "color", "textColor", "className"]); var textCls = "".concat(prefix, "tag-font--").concat(size); var iconCls = "".concat(prefix, "tag-font--").concat(size); var classes = { textCls: textCls, iconCls: iconCls }; var cssType = type === 'normal' ? 'outline' : 'solid'; var tagCls = classNames(className, "".concat(prefix, "tag"), "".concat(prefix, "tag--").concat(size), "".concat(prefix, "tag--readonly-").concat(size), "".concat(prefix, "tag--normal-").concat(cssType), _defineProperty({}, "".concat(prefix, "tag--normal-").concat(cssType, "-disabled"), disabled)); var handleClick = function handleClick(e) { if (disabled) { return; } if (onClick) { onClick(e); } }; var textColor = textColorProp; if (isString(color) && !textColor) { if (type === 'primary') { textColor = '#fff'; } else { textColor = color; } } var newStyle = Object.assign(Object.assign(Object.assign({}, isString(color) && type === 'primary' ? { backgroundColor: color } : { borderColor: color }), isString(textColor) ? { color: textColor } : null), style); return /*#__PURE__*/React.createElement(View, _extends({}, others, { ref: ref, className: tagCls, onClick: handleClick, style: __rpx2vw__(newStyle) }), CreateChildren(children, classes, prefix, size)); }; Tag.displayName = 'Tag'; export default /*#__PURE__*/forwardRef(Tag);