modo-mobile
Version:
A mobile UI toolkit, based on React
71 lines (62 loc) • 2.75 kB
JavaScript
import _defineProperty from 'babel-runtime/helpers/defineProperty';
import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
import _createClass from 'babel-runtime/helpers/createClass';
import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
import _inherits from 'babel-runtime/helpers/inherits';
import * as React from 'react';
import classnames from 'classnames';
import Icon from '../icon';
import Carousel from './carousel';
var ActivityIndicator = function (_React$PureComponent) {
_inherits(ActivityIndicator, _React$PureComponent);
function ActivityIndicator() {
_classCallCheck(this, ActivityIndicator);
return _possibleConstructorReturn(this, (ActivityIndicator.__proto__ || Object.getPrototypeOf(ActivityIndicator)).apply(this, arguments));
}
_createClass(ActivityIndicator, [{
key: 'render',
value: function render() {
var _classnames;
var _props = this.props,
_props$prefixCls = _props.prefixCls,
prefixCls = _props$prefixCls === undefined ? 'm-activity-indicator' : _props$prefixCls,
type = _props.type,
_props$size = _props.size,
size = _props$size === undefined ? 16 : _props$size,
_props$color = _props.color,
color = _props$color === undefined ? '#1e9eff' : _props$color,
vertical = _props.vertical,
children = _props.children;
var node = void 0;
switch (type) {
case 'carousel':
node = React.createElement(Carousel, { size: size, color: color, prefixCls: prefixCls });
break;
default:
node = React.createElement(Icon, { type: 'loading', style: { color: color, fontSize: size } });
break;
}
var wrapCls = classnames((_classnames = {}, _defineProperty(_classnames, prefixCls, true), _defineProperty(_classnames, prefixCls + '-vertical', vertical), _classnames));
return React.createElement(
'div',
{ className: wrapCls },
React.createElement(
'div',
{ className: prefixCls + '-loading' },
node
),
React.createElement(
'div',
{ className: prefixCls + '-text' },
children
)
);
}
}]);
return ActivityIndicator;
}(React.PureComponent);
export default ActivityIndicator;
ActivityIndicator.defaultProps = {
type: 'roller',
vertical: false
};