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

import { twJoin } from '@/utils'

export const rootStyles = cva(
	twJoin({
		display: 'inline-block',
		visual: 'bg-gray-200',
		animation: 'animate-pulse',
		//
		dark: 'dark:bg-dark-gray-800'
	}),
	{
		variants: {
			circle: {
				true: 'rounded-full!'
			},
			size: {
				sm: 'rounded-sm',
				md: 'rounded-md'
			}
		},
		defaultVariants: {
			circle: false,
			size: 'md'
		}
	}
)

export type RootStylesProps = VariantProps<typeof rootStyles>
