import type { Dispatch, SetStateAction } from 'react'; import React, { useRef } from 'react'; import { type AriaButtonOptions, useButton } from 'react-aria'; import { cn } from '~/utils/cn'; export interface ButtonProps extends AriaButtonOptions<'button'> { variant?: 'heavy' | 'light' | 'danger'; className?: string; children?: React.ReactNode; } export default function Button({ variant = 'light', ...props }: ButtonProps) { const ref = useRef(null); const { buttonProps } = useButton(props, ref); return ( ); }