UNPKG

3.72 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 _progressLine = require('./progress-line');
37
38var _progressLine2 = _interopRequireDefault(_progressLine);
39
40var _progressCircle = require('./progress-circle');
41
42var _progressCircle2 = _interopRequireDefault(_progressCircle);
43
44function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
46/**
47 * Progress
48 */
49var Progress = (_temp = _class = function (_Component) {
50 (0, _inherits3.default)(Progress, _Component);
51
52 function Progress() {
53 (0, _classCallCheck3.default)(this, Progress);
54 return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));
55 }
56
57 Progress.prototype.render = function render() {
58 var _props = this.props,
59 shape = _props.shape,
60 hasBorder = _props.hasBorder,
61 others = (0, _objectWithoutProperties3.default)(_props, ['shape', 'hasBorder']);
62
63 return shape === 'circle' ? _react2.default.createElement(_progressCircle2.default, others) : _react2.default.createElement(_progressLine2.default, (0, _extends3.default)({}, others, { hasBorder: hasBorder }));
64 };
65
66 return Progress;
67}(_react.Component), _class.propTypes = {
68 prefix: _propTypes2.default.string,
69 /**
70 * 形态
71 */
72 shape: _propTypes2.default.oneOf(['circle', 'line']),
73 /**
74 * 尺寸
75 */
76 size: _propTypes2.default.oneOf(['small', 'medium', 'large']),
77 /**
78 * 所占百分比
79 */
80 percent: _propTypes2.default.number,
81 /**
82 * 进度状态, 显示优先级: color > progressive > state
83 */
84 state: _propTypes2.default.oneOf(['normal', 'success', 'error']),
85 /**
86 * 是否为色彩阶段变化模式, 显示优先级: color > progressive > state
87 */
88 progressive: _propTypes2.default.bool,
89 /**
90 * 是否添加 Border(只适用于 Line Progress)
91 */
92 hasBorder: _propTypes2.default.bool,
93 /**
94 * 文本渲染函数
95 * @param {Number} percent 当前的进度信息
96 * @param {Object} option 额外的参数
97 * @property {Boolean} option.rtl 是否在rtl 模式下渲染
98 * @return {ReactNode} 返回文本节点
99 */
100 textRender: _propTypes2.default.func,
101 /**
102 * 进度条颜色, 显示优先级: color > progressive > state
103 */
104 color: _propTypes2.default.string,
105 /**
106 * 背景色
107 */
108 backgroundColor: _propTypes2.default.string,
109 rtl: _propTypes2.default.bool
110}, _class.defaultProps = {
111 prefix: 'next-',
112 shape: 'line',
113 state: 'normal',
114 size: 'medium',
115 percent: 0,
116 progressive: false,
117 hasBorder: false,
118 textRender: function textRender(percent) {
119 return Math.floor(percent) + '%';
120 }
121}, _class.contextTypes = {
122 prefix: _propTypes2.default.string
123}, _temp);
124Progress.displayName = 'Progress';
125exports.default = Progress;
126module.exports = exports['default'];
\No newline at end of file