"use client"; import { forwardRef, type AnchorHTMLAttributes, type ButtonHTMLAttributes, type ReactNode, } from "react"; import { Spinner } from "./Spinner.tsx"; export type ButtonVariant = "solid" | "ghost" | "inverse"; export type ButtonSize = "md" | "sm"; const SIZES: Record = { md: { padding: "26px 28px", fontSize: 11 }, sm: { padding: "12px 18px", fontSize: 10 }, }; function Arrow() { return ( ); } export interface ButtonProps extends ButtonHTMLAttributes { variant?: ButtonVariant; size?: ButtonSize; loading?: boolean; arrow?: boolean; } export const Button = forwardRef( function Button( { variant = "solid", size = "md", loading = false, arrow = true, className = "", children, disabled, style, type = "button", ...props }, ref, ) { return ( ); }, ); export interface ButtonLinkProps extends AnchorHTMLAttributes { variant?: ButtonVariant; size?: ButtonSize; arrow?: boolean; label?: string; children: ReactNode; } export function ButtonLink({ variant = "solid", size = "md", arrow = true, label, className = "", children, style, ...props }: ButtonLinkProps) { return ( {children} {arrow && } ); }