(
({ children, className, height, progressBarClassName, thin, value, white, ...rest }, ref) => {
const { stacked } = useContext(CProgressStackedContext)
return (
{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, {
...(value && { value: value }),
...rest,
})
}
return
})
) : (
{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'