import React, { forwardRef, HTMLAttributes, ReactNode } from 'react' import PropTypes from 'prop-types' import { CCard, CCardBody } from '../card' import { CProgress, CProgressProps } from '../progress/CProgress' import { colorPropType } from '../../props' import type { Colors } from '../../types' export interface CWidgetStatsBProps extends Omit, 'title'> { /** * A string of all className you want applied to the base component. */ className?: string /** * Sets the color context of the component to one of CoreUI’s themed colors. * * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string */ color?: Colors /** * Colors have been inverted from their default dark shade. */ inverse?: boolean /** * Sets the color context of the progress bar to one of CoreUI’s themed colors. * * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string */ progress?: CProgressProps /** * Title node for your component. */ title?: string | ReactNode /** * Helper text for your component. */ text?: string /** * Value node for your component. */ value?: string | number | ReactNode } export const CWidgetStatsB = forwardRef( ({ className, color, inverse, progress, text, title, value, ...rest }, ref) => { return ( {value &&
{value}
} {title &&
{title}
} {text && ( {text} )}
) } ) CWidgetStatsB.propTypes = { className: PropTypes.string, color: colorPropType, inverse: PropTypes.bool, progress: PropTypes.object, text: PropTypes.string, title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]), } CWidgetStatsB.displayName = 'CWidgetCWidgetStatsB'