@coreui/react-pro
Version:
UI Components Library for React.js
44 lines (40 loc) • 2.22 kB
JavaScript
;
var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
var React = require('react');
var PropTypes = require('prop-types');
var index = require('../../_virtual/index.js');
var CProgressStackedContext = require('./CProgressStackedContext.js');
var CProgressBar = require('./CProgressBar.js');
const CProgress = React.forwardRef((_a, ref) => {
var { children, className, height, progressBarClassName, thin, value, white } = _a, rest = tslib_es6.__rest(_a, ["children", "className", "height", "progressBarClassName", "thin", "value", "white"]);
const { stacked } = React.useContext(CProgressStackedContext.CProgressStackedContext);
return (React.createElement("div", Object.assign({ className: index.default('progress', {
'progress-thin': thin,
'progress-white': white,
}, className) }, (value !== undefined && {
role: 'progressbar',
'aria-valuenow': value,
'aria-valuemin': 0,
'aria-valuemax': 100,
}), { style: Object.assign(Object.assign({}, (height ? { height: `${height}px` } : {})), (stacked ? { width: `${value}%` } : {})), ref: ref }), React.Children.toArray(children).some(
// @ts-expect-error displayName is set in the CProgressBar component
(child) => child.type && child.type.displayName === 'CProgressBar') ? (React.Children.map(children, (child) => {
// @ts-expect-error displayName is set in the CProgressBar component
if (React.isValidElement(child) && child.type.displayName === 'CProgressBar') {
return React.cloneElement(child, Object.assign(Object.assign({}, (value && { value: value })), rest));
}
return;
})) : (React.createElement(CProgressBar.CProgressBar, Object.assign({}, (progressBarClassName && { className: progressBarClassName }), { value: value }, rest), children))));
});
CProgress.propTypes = {
children: PropTypes.node,
className: PropTypes.string,
height: PropTypes.number,
progressBarClassName: PropTypes.string,
thin: PropTypes.bool,
value: PropTypes.number,
white: PropTypes.bool,
};
CProgress.displayName = 'CProgress';
exports.CProgress = CProgress;
//# sourceMappingURL=CProgress.js.map