/**
 * Shared button variant and size definitions
 * Used by both vanilla JS and React implementations
 * @countermeasure/web-components/primitives/button
 */

/** All supported button visual variants */
export type ButtonVariant =
  | 'primary'
  | 'secondary'
  | 'outline'
  | 'ghost'
  | 'destructive'
  | 'link'
  | 'glass'
  | 'glass-primary'

/** Mapping from canonical variant names to the CVA/CSS variant name */
export const VARIANT_ALIAS: Record<string, ButtonVariant> = {
  default: 'primary',
}

/** All supported button sizes */
export type ButtonSize = 'sm' | 'md' | 'lg' | 'icon' | 'icon-sm' | 'icon-lg'
