fk-react-ui-components
Version:
Step 1 : Create a file in [ Seeds / Plants / Trees ] <br> Step 2 : It should export an Object with component name and story Component [Refer other components] <br> Step 3 : Story Component should return a react component <br> Step 3 : Created file should
70 lines (53 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _polished = require('polished');
var _colorCodes = require('../colorCodes');
var _styledComponents = require('styled-components');
var _styles = require('./styles');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var calculateCompletedPercentage = function calculateCompletedPercentage(currentCount, totalCount) {
return parseInt(currentCount * 100) / parseInt(totalCount) + '%';
};
var ProgressBar = function ProgressBar(_ref) {
var height = _ref.height,
children = _ref.children,
progressBarColor = _ref.progressBarColor,
currentCount = _ref.currentCount,
totalCount = _ref.totalCount,
theme = _ref.theme;
var completedPercent = calculateCompletedPercentage(currentCount, totalCount);
return _react2.default.createElement(
_styles.ProgressBarContainer,
{ height: height },
_react2.default.createElement(_styles.CompletedProgress, {
width: completedPercent,
height: height,
progressBarColor: progressBarColor || (0, _polished.rgba)(theme.states.success, theme.lightenColors.lighter)
}),
_react2.default.createElement(
_styles.ChildrenContainer,
null,
children
)
);
};
ProgressBar.propTypes = {
currentCount: _propTypes2.default.number.isRequired,
totalCount: _propTypes2.default.number.isRequired,
children: _propTypes2.default.node,
height: _propTypes2.default.number,
progressBarColor: _propTypes2.default.string
};
ProgressBar.defaultProps = {
children: undefined,
height: 30,
theme: _extends({}, _colorCodes.guidelineColors)
};
exports.default = (0, _styledComponents.withTheme)(ProgressBar);