28 lines
630 B
TypeScript
28 lines
630 B
TypeScript
import Chip, { type ChipProps } from "@mui/material/Chip";
|
|
|
|
type StatusChipProps = Omit<ChipProps, "color"> & {
|
|
color?: "default" | "success" | "error" | "warning" | "info";
|
|
};
|
|
|
|
/** Semantic status chip. Pass onClick to make it a clickable toggle. */
|
|
export default function StatusChip({
|
|
color = "default",
|
|
size = "small",
|
|
onClick,
|
|
sx,
|
|
...props
|
|
}: StatusChipProps) {
|
|
return (
|
|
<Chip
|
|
color={color}
|
|
size={size}
|
|
onClick={onClick}
|
|
sx={[
|
|
{ fontWeight: 600, ...(onClick ? { cursor: "pointer" } : {}) },
|
|
...(Array.isArray(sx) ? sx : [sx]),
|
|
]}
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|