import { cva } from 'class-variance-authority' import { config as typographyConfig, withTypography, } from '../Typography/variants' import { deepmerge } from 'deepmerge-ts' import styles from './textLink.module.css' export const config = { variants: { theme: { Primary: styles['theme-primary'], Inverted: styles['theme-inverted'], InteractiveDefault: styles['theme-interactive-default'], }, }, defaultVariants: { theme: 'Primary', }, } as const const textLinkConfig = { variants: { ...config.variants, typography: typographyConfig.variants.variant, }, defaultVariants: { ...config.defaultVariants, typography: 'Link/md', }, } as const export const variants = cva(styles.textLink, withTypography(textLinkConfig)) export function withTextLink(config: T) { return deepmerge(textLinkConfig, config) }