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

import styles from './icon.module.css'

export const iconVariantConfig = {
  variants: {
    color: {
      'Icon/Default': styles.iconDefault,
      'Icon/Intense': styles.iconIntense,
      'Icon/Accent': styles.iconAccent,
      'Icon/Inverted': styles.iconInverted,

      'Icon/Interactive/Default': styles.iconInteractiveDefault,
      'Icon/Interactive/Secondary': styles.iconInteractiveSecondary,
      'Icon/Interactive/Accent': styles.iconInteractiveAccent,
      'Icon/Interactive/Disabled': styles.iconInteractiveDisabled,
      'Icon/Interactive/Placeholder': styles.iconInteractivePlaceholder,

      'Icon/Feedback/Information': styles.iconFeedbackInformation,
      'Icon/Feedback/Success': styles.iconFeedbackSuccess,
      'Icon/Feedback/Warning': styles.iconFeedbackWarning,
      'Icon/Feedback/Neutral': styles.iconFeedbackNeutral,
      'Icon/Feedback/Error': styles.iconFeedbackError,

      CurrentColor: styles.currentColor,
    },
  },
  defaultVariants: {
    color: 'Icon/Default',
  },
} as const

export const iconVariants = cva(styles.icon, iconVariantConfig)
