@eccenca/gui-elements
Version:
Collection of low-level GUI elements like Buttons, Icons or Alerts. Also includes core styles for those elements.
45 lines (41 loc) • 1.12 kB
JSX
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import ReactMDLSpinner from 'react-mdl/lib/Spinner';
const Spinner = props => {
const {
className,
appearGlobal,
appearInline,
appearLocal,
...otherProps
} = props;
const classes = classNames(
{
'mdl-spinner--global':
appearGlobal === true
&& appearInline === false
&& appearLocal === false,
'mdl-spinner--inline': appearInline === true,
'mdl-spinner--local': appearLocal === true,
},
className
);
return (
<ReactMDLSpinner singleColor className={classes} {...otherProps} />
);
};
Spinner.displayName = 'Spinner';
// define property types
Spinner.propTypes = {
appearGlobal: PropTypes.bool,
appearInline: PropTypes.bool,
appearLocal: PropTypes.bool,
className: PropTypes.string,
};
Spinner.defaultProps = {
appearGlobal: true,
appearInline: false,
appearLocal: false,
};
export default Spinner;