import { FC, forwardRef } from "react" // ThreeD Garden components import MDBox from "~/components/mui/MDBox" import MDTypography from "~/components/mui/MDTypography" // declaring props types for MDBadgeDot interface Props { variant?: "gradient" | "contained" color?: | "primary" | "secondary" | "info" | "success" | "warning" | "error" | "light" | "dark" size?: "xs" | "sm" | "md" | "lg" badgeContent: string font?: | { color: string weight: string } | any [key: string]: any } const MDBadgeDot: FC = forwardRef( ({ variant, color, size, badgeContent, font = {}, ...rest }, ref) => { let finalSize let fontSize: any let padding if (size === "sm") { finalSize = "0.5rem" fontSize = "caption" padding = "0.45em 0.775em" } else if (size === "lg") { finalSize = "0.625rem" fontSize = "body2" padding = "0.85em 1.375em" } else if (size === "md") { finalSize = "0.5rem" fontSize = "button" padding = "0.65em 1em" } else { finalSize = "0.375rem" fontSize = "caption" padding = "0.45em 0.775em" } const validColors = [ "primary", "secondary", "info", "success", "warning", "error", "light", "dark", ] const validColorIndex = validColors.findIndex((el) => el === color) return ( {badgeContent} ) } ) // Declaring default props for MDBadgeDot MDBadgeDot.defaultProps = { variant: "contained", color: "info", size: "xs", font: {}, } export default MDBadgeDot