33 lines
778 B
TypeScript
33 lines
778 B
TypeScript
import { cva } from 'class-variance-authority'
|
|
|
|
import { withTypography } from '../Typography/variants'
|
|
|
|
import styles from './button.module.css'
|
|
|
|
export const config = {
|
|
variants: {
|
|
variant: {
|
|
Primary: styles['variant-primary'],
|
|
Secondary: styles['variant-secondary'],
|
|
Tertiary: styles['variant-tertiary'],
|
|
Text: styles['variant-text'],
|
|
},
|
|
color: {
|
|
Primary: styles['color-primary'],
|
|
Inverted: styles['color-inverted'],
|
|
},
|
|
size: {
|
|
Small: styles['size-small'],
|
|
Medium: styles['size-medium'],
|
|
Large: styles['size-large'],
|
|
},
|
|
},
|
|
defaultVariants: {
|
|
variant: 'Primary',
|
|
color: 'Primary',
|
|
size: 'Large',
|
|
},
|
|
} as const
|
|
|
|
export const variants = cva(styles.button, withTypography(config))
|