"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";