import { AnchorHTMLAttributes, ButtonHTMLAttributes } from 'react';

export const selectVariants = ['default', 'minimal'] as const;
export type SelectVariant = typeof selectVariants[number];

export const selectSizes = ['sm', 'md'] as const;
export type SelectSize = typeof selectSizes[number];

export type SelectProps = {
  variant?: SelectVariant;
  sizing?: SelectSize;
};

export const buttonVariants = ['primary', 'secondary'] as const;
export type ButtonVariant = typeof buttonVariants[number];

export const buttonColors = ['brand', 'product', 'plant'] as const;
export type ButtonColor = typeof buttonColors[number];

export const buttonSizes = ['sm', 'md'] as const;
export type ButtonSize = typeof buttonSizes[number];

export type ButtonProps = {
  as?: 'button' | 'a';
  variant?: ButtonVariant;
  color?: ButtonColor;
  size?: ButtonSize;
  disabled?: boolean;
  className?: string;
  block?: boolean;
};

export type ButtonSpecificProps = Omit<
  ButtonHTMLAttributes<HTMLButtonElement>,
  'color'
>;
export type AnchorSpecificProps = Omit<
  AnchorHTMLAttributes<HTMLAnchorElement>,
  'color'
>;
