"use client"; import { type ButtonHTMLAttributes, forwardRef } from "react"; import { cn } from "@/lib/utils"; type Variant = "primary" | "secondary" | "ghost" | "outline-light"; type Size = "sm" | "md" | "lg"; interface ButtonProps extends ButtonHTMLAttributes { variant?: Variant; size?: Size; shimmer?: boolean; as?: "button"; } const variants: Record = { primary: "bg-[var(--color-moy-gold)] text-[var(--color-moy-dark)] hover:bg-[var(--color-moy-gold-light)] font-bold shadow-[var(--shadow-gold)] hover:shadow-[var(--shadow-gold-lg)]", secondary: "border border-[var(--color-moy-gold)] text-[var(--color-moy-gold)] hover:bg-[var(--color-moy-gold)] hover:text-[var(--color-moy-dark)] font-medium", ghost: "text-[var(--color-moy-gold)] hover:bg-[var(--color-moy-gold-faint)] font-medium", "outline-light": "border border-white/50 text-white hover:border-white hover:bg-white/10 font-medium", }; const sizes: Record = { sm: "px-5 py-2 text-[11px] tracking-[0.15em]", md: "px-8 py-3.5 text-[11px] tracking-[0.18em]", lg: "px-10 py-4 text-[11px] tracking-[0.2em]", }; export const Button = forwardRef( ({ className, variant = "primary", size = "md", shimmer = false, children, ...props }, ref) => ( ) ); Button.displayName = "Button";