'use client' import { type ButtonHTMLAttributes, type CSSProperties, type ReactNode, } from 'react' import { BUTTON_VARIANTS, type ButtonVariant, variantClassName, } from '../core/variants' import '../core/styles.css' export type ButtonProps = Omit< ButtonHTMLAttributes, 'className' | 'style' | 'children' > & { /** Switch look by name: solid | outline | soft | glow | neon | shimmer | chroma | liquid | wipe | glass. */ variant?: ButtonVariant | (string & {}) children?: ReactNode className?: string style?: CSSProperties } export function Button({ variant = 'solid', children, className, style, type = 'button', ...rest }: ButtonProps) { const classes = [variantClassName(variant), className] .filter(Boolean) .join(' ') return ( ) } export { BUTTON_VARIANTS, type ButtonVariant } export default Button