| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- "use client";
- import clsx from "clsx";
- import type { ComponentProps } from "react";
- import styles from "./index.module.scss";
- export const VARIANTS = [
- "neutral",
- "info",
- "warning",
- "error",
- "data",
- "success",
- "muted",
- ] as const;
- export const STYLES = ["filled", "outline"] as const;
- export const SIZES = ["xs", "md", "lg"] as const;
- type Props = ComponentProps<"span"> & {
- variant?: (typeof VARIANTS)[number] | undefined;
- style?: (typeof STYLES)[number] | undefined;
- size?: (typeof SIZES)[number] | undefined;
- };
- export const Badge = ({
- className,
- variant = "neutral",
- size = "md",
- style = "filled",
- children,
- ...props
- }: Props) => (
- <span
- className={clsx(styles.badge, className)}
- data-variant={variant}
- data-size={size}
- data-style={style}
- {...props}
- >
- {children}
- </span>
- );
|