// @design-system: domain/DealCTA

import { cva } from 'class-variance-authority';

/** Buy button CVA variants */
export const buyButtonVariants = cva(
  'inline-flex items-center justify-center gap-1.5 rounded-lg font-medium transition-colors focus-visible:ring-brand-primary-500 focus-visible:ring-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',
  {
    variants: {
      size: {
        sm: 'h-8 px-2 text-xs',
        md: 'h-10 px-3 text-sm',
        lg: 'h-12 w-full px-4 text-base',
      },
      soldOut: {
        true: 'bg-neutral-200 text-neutral-500',
        false:
          'bg-brand-primary-600 text-brand-on-primary hover:bg-brand-primary-700 active:bg-brand-primary-800',
      },
    },
    defaultVariants: {
      size: 'md',
      soldOut: false,
    },
  },
);

/** Add-to-cart button CVA variants */
export const addButtonVariants = cva(
  'inline-flex items-center justify-center gap-1.5 rounded-lg font-medium transition-colors focus-visible:ring-brand-primary-500 focus-visible:ring-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',
  {
    variants: {
      size: {
        sm: 'h-8 px-2 text-xs',
        md: 'h-10 px-3 text-sm',
        lg: 'h-12 px-4 text-base',
      },
    },
    defaultVariants: {
      size: 'md',
    },
  },
);
