UNPKG

3.52 kBJavaScriptView Raw
1import _extends from 'babel-runtime/helpers/extends';
2import _defineProperty from 'babel-runtime/helpers/defineProperty';
3import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
4import _createClass from 'babel-runtime/helpers/createClass';
5import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
6import _inherits from 'babel-runtime/helpers/inherits';
7var __rest = this && this.__rest || function (s, e) {
8 var t = {};
9 for (var p in s) {
10 if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
11 }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
12 if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
13 }return t;
14};
15import classnames from 'classnames';
16import React from 'react';
17
18var Badge = function (_React$Component) {
19 _inherits(Badge, _React$Component);
20
21 function Badge() {
22 _classCallCheck(this, Badge);
23
24 return _possibleConstructorReturn(this, (Badge.__proto__ || Object.getPrototypeOf(Badge)).apply(this, arguments));
25 }
26
27 _createClass(Badge, [{
28 key: 'render',
29 value: function render() {
30 var _classnames, _classnames2;
31
32 // tslint:disable:prefer-const
33 var _a = this.props,
34 className = _a.className,
35 prefixCls = _a.prefixCls,
36 children = _a.children,
37 text = _a.text,
38 size = _a.size,
39 overflowCount = _a.overflowCount,
40 dot = _a.dot,
41 corner = _a.corner,
42 hot = _a.hot,
43 restProps = __rest(_a, ["className", "prefixCls", "children", "text", "size", "overflowCount", "dot", "corner", "hot"]);
44 overflowCount = overflowCount;
45 text = typeof text === 'number' && text > overflowCount ? overflowCount + '+' : text;
46 // dot mode don't need text
47 if (dot) {
48 text = '';
49 }
50 var scrollNumberCls = classnames((_classnames = {}, _defineProperty(_classnames, prefixCls + '-dot', dot), _defineProperty(_classnames, prefixCls + '-dot-large', dot && size === 'large'), _defineProperty(_classnames, prefixCls + '-text', !dot && !corner), _defineProperty(_classnames, prefixCls + '-corner', corner), _defineProperty(_classnames, prefixCls + '-corner-large', corner && size === 'large'), _classnames));
51 var badgeCls = classnames(prefixCls, className, (_classnames2 = {}, _defineProperty(_classnames2, prefixCls + '-not-a-wrapper', !children), _defineProperty(_classnames2, prefixCls + '-corner-wrapper', corner), _defineProperty(_classnames2, prefixCls + '-hot', !!hot), _defineProperty(_classnames2, prefixCls + '-corner-wrapper-large', corner && size === 'large'), _classnames2));
52 return React.createElement(
53 'span',
54 { className: badgeCls },
55 children,
56 (text || dot) &&
57 // tslint:disable-next-line:jsx-no-multiline-js
58 React.createElement(
59 'sup',
60 _extends({ className: scrollNumberCls }, restProps),
61 text
62 )
63 );
64 }
65 }]);
66
67 return Badge;
68}(React.Component);
69
70export default Badge;
71
72Badge.defaultProps = {
73 prefixCls: 'am-badge',
74 size: 'small',
75 overflowCount: 99,
76 dot: false,
77 corner: false
78};
\No newline at end of file