/* QQQ - Low-code Application Framework for Engineers. * Copyright (C) 2021-2022. Kingsrook, LLC * 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States * contact@kingsrook.com * https://github.com/Kingsrook/ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ import Box from "@mui/material/Box"; import {FC, forwardRef, useContext} from "react"; import QContext from "QContext"; import MDTypography from "qqq/components/legacy/MDTypography"; // declaring props types for MDBadgeDot interface Props { variant?: "gradient" | "contained"; color?: string; 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) => { const {accentColor} = useContext(QContext); 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", "custom1", "custom2", "custom3", "custom4", "custom5" ]; const colorValues = { "primary": "#e91e63", "secondary": "#7b809a", "info": accentColor, "success": "#4CAF50", "warning": "#fb8c00", "error": "#F44335", "light": "#f0f2f5", "dark": "#344767", "custom1": "#8c28c2", "custom2": "#ffe120", "custom3": "#000000", "custom4": "#747474", "custom5": "#ffcefa" } as any; return ( {badgeContent} ); } ); // Declaring default props for MDBadgeDot MDBadgeDot.defaultProps = { variant: "contained", color: "info", size: "xs", font: {}, }; export default MDBadgeDot;