UNPKG

5.18 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4exports.default = undefined;
5
6var _extends2 = require('babel-runtime/helpers/extends');
7
8var _extends3 = _interopRequireDefault(_extends2);
9
10var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
11
12var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
13
14var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
15
16var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
17
18var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
19
20var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
21
22var _inherits2 = require('babel-runtime/helpers/inherits');
23
24var _inherits3 = _interopRequireDefault(_inherits2);
25
26var _class, _temp;
27
28var _react = require('react');
29
30var _react2 = _interopRequireDefault(_react);
31
32var _propTypes = require('prop-types');
33
34var _propTypes2 = _interopRequireDefault(_propTypes);
35
36var _classnames = require('classnames');
37
38var _classnames2 = _interopRequireDefault(_classnames);
39
40function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
42var Line = (_temp = _class = function (_React$PureComponent) {
43 (0, _inherits3.default)(Line, _React$PureComponent);
44
45 function Line() {
46 (0, _classCallCheck3.default)(this, Line);
47 return (0, _possibleConstructorReturn3.default)(this, _React$PureComponent.apply(this, arguments));
48 }
49
50 Line.prototype.render = function render() {
51 var _classNames, _classNames2;
52
53 var _props = this.props,
54 prefix = _props.prefix,
55 size = _props.size,
56 state = _props.state,
57 color = _props.color,
58 percent = _props.percent,
59 progressive = _props.progressive,
60 hasBorder = _props.hasBorder,
61 textRender = _props.textRender,
62 className = _props.className,
63 rtl = _props.rtl,
64 backgroundColor = _props.backgroundColor,
65 others = (0, _objectWithoutProperties3.default)(_props, ['prefix', 'size', 'state', 'color', 'percent', 'progressive', 'hasBorder', 'textRender', 'className', 'rtl', 'backgroundColor']);
66
67
68 var suffixText = textRender(percent, { rtl: rtl });
69
70 var wrapCls = (0, _classnames2.default)((_classNames = {}, _classNames[prefix + 'progress-line'] = true, _classNames[prefix + 'progress-line-show-info'] = suffixText, _classNames[prefix + 'progress-line-show-border'] = hasBorder, _classNames['' + (prefix + size)] = size, _classNames[className] = className, _classNames));
71 var lineCls = (0, _classnames2.default)((_classNames2 = {}, _classNames2[prefix + 'progress-line-overlay'] = true, _classNames2[prefix + 'progress-line-overlay-' + state] = !color && !progressive && state, _classNames2[prefix + 'progress-line-overlay-started'] = !color && progressive && percent <= 30, _classNames2[prefix + 'progress-line-overlay-middle'] = !color && progressive && percent > 30 && percent < 80, _classNames2[prefix + 'progress-line-overlay-finishing'] = !color && progressive && percent >= 80, _classNames2));
72
73 var lineStyle = {
74 width: (percent > 100 ? 100 : percent < 0 ? 0 : percent) + '%',
75 backgroundColor: color
76 };
77 var underlayStyle = { backgroundColor: backgroundColor };
78
79 return _react2.default.createElement(
80 'div',
81 (0, _extends3.default)({
82 dir: rtl ? 'rtl' : undefined,
83 role: 'progressbar',
84 'aria-valuenow': percent,
85 'aria-valuemin': '0',
86 'aria-valuemax': '100',
87 className: wrapCls
88 }, others),
89 _react2.default.createElement(
90 'div',
91 { className: prefix + 'progress-line-container' },
92 _react2.default.createElement(
93 'div',
94 {
95 className: prefix + 'progress-line-underlay',
96 style: underlayStyle
97 },
98 _react2.default.createElement('div', { className: lineCls, style: lineStyle })
99 )
100 ),
101 suffixText ? _react2.default.createElement(
102 'div',
103 { className: prefix + 'progress-line-text' },
104 suffixText
105 ) : null
106 );
107 };
108
109 return Line;
110}(_react2.default.PureComponent), _class.propTypes = {
111 size: _propTypes2.default.oneOf(['small', 'medium', 'large']),
112 percent: _propTypes2.default.number,
113 state: _propTypes2.default.oneOf(['normal', 'success', 'error']),
114 progressive: _propTypes2.default.bool,
115 hasBorder: _propTypes2.default.bool,
116 textRender: _propTypes2.default.func,
117 color: _propTypes2.default.string,
118 backgroundColor: _propTypes2.default.string,
119 rtl: _propTypes2.default.bool,
120 prefix: _propTypes2.default.string,
121 className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object])
122}, _temp);
123exports.default = Line;
124module.exports = exports['default'];
\No newline at end of file