UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

44 lines (40 loc) 2.37 kB
'use strict'; 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 CProgressStacked = require('./CProgressStacked.js'); var CProgressBar = require('./CProgressBar.js'); var CProgress = React.forwardRef(function (_a, ref) { var children = _a.children, className = _a.className, height = _a.height, progressBarClassName = _a.progressBarClassName, thin = _a.thin, value = _a.value, white = _a.white, rest = tslib_es6.__rest(_a, ["children", "className", "height", "progressBarClassName", "thin", "value", "white"]); var stacked = React.useContext(CProgressStacked.CProgressStackedContext).stacked; return (React.createElement("div", tslib_es6.__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: tslib_es6.__assign(tslib_es6.__assign({}, (height ? { height: "".concat(height, "px") } : {})), (stacked ? { width: "".concat(value, "%") } : {})), ref: ref }), React.Children.toArray(children).some( // @ts-expect-error displayName is set in the CProgressBar component function (child) { return child.type && child.type.displayName === 'CProgressBar'; }) ? (React.Children.map(children, function (child) { // @ts-expect-error displayName is set in the CProgressBar component if (React.isValidElement(child) && child.type.displayName === 'CProgressBar') { return React.cloneElement(child, tslib_es6.__assign(tslib_es6.__assign({}, (value && { value: value })), rest)); } return; })) : (React.createElement(CProgressBar.CProgressBar, tslib_es6.__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