UNPKG

@bpanel/bpanel-ui

Version:

reusable React component library used in the bpanel GUI

119 lines (92 loc) 4.07 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _utils = require('../utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Spinner = function (_PureComponent) { (0, _inherits3.default)(Spinner, _PureComponent); function Spinner() { (0, _classCallCheck3.default)(this, Spinner); return (0, _possibleConstructorReturn3.default)(this, (Spinner.__proto__ || (0, _getPrototypeOf2.default)(Spinner)).apply(this, arguments)); } (0, _createClass3.default)(Spinner, [{ key: 'render', value: function render() { var _props = this.props, _props$className = _props.className, className = _props$className === undefined ? '' : _props$className, _style = _props.style, _props$size = _props.size, size = _props$size === undefined ? '2x' : _props$size, themeColors = _props.theme.themeVariables.themeColors, error = _props.error, _props$timedOut = _props.timedOut, timedOut = _props$timedOut === undefined ? false : _props$timedOut, _props$pastDelay = _props.pastDelay, pastDelay = _props$pastDelay === undefined ? true : _props$pastDelay, otherProps = (0, _objectWithoutProperties3.default)(_props, ['className', 'style', 'size', 'theme', 'error', 'timedOut', 'pastDelay']); var style = (0, _extends3.default)({ color: themeColors.primary }, _style); var loader = void 0; if (error) { loader = _react2.default.createElement( 'div', (0, _extends3.default)({ className: 'error', style: style }, otherProps), 'There was an error loading the content', error.message ? ': ' + error.message : '' ); } else if (timedOut) { loader = _react2.default.createElement( 'div', (0, _extends3.default)({ className: 'error', style: style }, otherProps), 'Network request timed out.' ); } else if (pastDelay) { loader = _react2.default.createElement('div', (0, _extends3.default)({ className: className + ' fa fa-spinner fa-spin fa-' + size, style: style }, otherProps)); } else { loader = ''; } return _react2.default.createElement( 'div', null, loader ); } }], [{ key: 'propTypes', get: function get() { return { className: _propTypes2.default.string, style: _propTypes2.default.object, theme: _propTypes2.default.object, error: _propTypes2.default.object, pastDelay: _propTypes2.default.bool, timedOut: _propTypes2.default.bool, size: _propTypes2.default.string }; } }]); return Spinner; }(_react.PureComponent); exports.default = (0, _utils.connectTheme)(Spinner);