import React, { forwardRef, HTMLAttributes, ReactNode } from 'react' import PropTypes from 'prop-types' import { CCard, CCardBody, CCardFooter } from '../card' import { colorPropType } from '../../props' import type { Colors } from '../../types' export interface CWidgetStatsFProps 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 /** * Footer node for your component. */ footer?: string | ReactNode /** * Icon node for your component. */ icon?: string | ReactNode /** * Set padding of your component. */ padding?: boolean /** * Title node for your component. */ title?: string | ReactNode /** * Value node for your component. */ value?: string | number | ReactNode } export const CWidgetStatsF = forwardRef( ({ className, color, footer, icon, padding = true, title, value, ...rest }, ref) => { return (
{icon}
{value}
{title}
{footer && {footer}}
) } ) CWidgetStatsF.propTypes = { className: PropTypes.string, color: colorPropType, footer: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), padding: PropTypes.bool, title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.number]), } CWidgetStatsF.displayName = 'CWidgetStatsF'