All files / molecules/LinearProgress LinearProgress.jsx

66.66% Statements 6/9
100% Branches 0/0
0% Functions 0/2
66.66% Lines 6/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38                1x         1x             1x   1x             1x         1x      
import React from 'react';
import PropTypes from 'prop-types';
 
import withStyle from '../../Theme/withStyle';
import Atom from '../../atoms/Atom';
import Paper from '../../atoms/Paper';
import { getProgressStyle } from './style';
 
const getPaperProps = (height, rest) => {
  const nextCss = { ...rest.css, height };
  return { ...rest, css: nextCss };
};
 
const LinearProgress = ({ progress, height, ...rest }) => (
  <Paper clip transparent hard {...getPaperProps(height, rest)}>
    <Atom />
    <Atom css={getProgressStyle(progress)} />
  </Paper>
);
 
LinearProgress.displayName = 'LinearProgress';
 
LinearProgress.propTypes = {
  /** Completed percents */
  progress: PropTypes.number,
  /** Bar height */
  height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
};
 
LinearProgress.defaultProps = {
  progress: null,
  height: 8,
};
 
export const SimpleLinearProgress = LinearProgress;
 
export default withStyle(LinearProgress);