import React, { DetailedHTMLProps, HTMLAttributes } from "react";
import classNames from "./lib/classNames";
export interface CustomTagProps {
variant?: "default" | "primary" | "danger" | "warning" | "success";
}
export interface TagProps
extends DetailedHTMLProps, HTMLSpanElement>,
CustomTagProps {}
export function getTagStyles({ variant = "default" }: CustomTagProps) {
const tagStyles = {
base: "inline-flex items-center px-2 py-1 rounded text-sm border",
variant: {
default: "bg-gray-100 text-gray-800 border-gray-200",
primary: "bg-indigo-100 text-indigo-800 border-indigo-200",
warning: "bg-yellow-100 text-yellow-800 border-yellow-300",
success: "bg-green-100 text-green-800 border-green-200",
danger: "bg-red-100 text-red-800 border-red-200",
},
};
return classNames(tagStyles.base, tagStyles.variant[variant]);
}
export default function Tag({
className,
children,
variant,
...rest
}: TagProps) {
return (
{children}
);
}