import { type VariantProps, cva } from 'class-variance-authority'

import { twJoin } from '@/utils'

export const rootStyles = cva(
	twJoin({
		text: 'text-gray-800 whitespace-pre-line',
		//
		dark: 'dark:text-dark-gray-300'
	}),
	{
		variants: {
			weight: {
				normal: 'font-normal',
				medium: 'font-medium',
				semibold: 'font-semibold',
				bold: 'font-bold'
			},
			size: {
				sm: 'text-sm',
				md: 'text-base',
				lg: 'text-lg'
			}
		},
		defaultVariants: {
			weight: 'normal',
			size: 'md'
		}
	}
)

export type RootStylesProps = VariantProps<typeof rootStyles>
