import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
import { forwardRef } from 'react';
import styles from './text.module.css.js';
import { Root as Slot } from '../../node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@18.2.12_react@18.2.0/node_modules/@radix-ui/react-slot/dist/index.js';

const textVariants = cva(styles.text, {
    variants: {
        variant: {
            primary: styles['text-primary'],
            secondary: styles['text-secondary'],
            tertiary: styles['text-tertiary'],
            emphasis: styles['text-emphasis'],
            accent: styles['text-accent'],
            attention: styles['text-attention'],
            danger: styles['text-danger'],
            success: styles['text-success']
        },
        size: {
            micro: styles['text-micro'],
            mini: styles['text-mini'],
            small: styles['text-small'],
            regular: styles['text-regular'],
            large: styles['text-large'],
            1: styles['text-1'],
            2: styles['text-2'],
            3: styles['text-3'],
            4: styles['text-4'],
            5: styles['text-5'],
            6: styles['text-6'],
            7: styles['text-7'],
            8: styles['text-8'],
            9: styles['text-9'],
            10: styles['text-10']
        },
        weight: {
            regular: styles['text-weight-regular'],
            medium: styles['text-weight-medium'],
            bold: styles['text-weight-bold'],
            bolder: styles['text-weight-bolder'],
            normal: styles['text-weight-normal'],
            lighter: styles['text-weight-lighter'],
            100: styles['text-weight-100'],
            200: styles['text-weight-200'],
            300: styles['text-weight-300'],
            400: styles['text-weight-400'],
            500: styles['text-weight-500'],
            600: styles['text-weight-600'],
            700: styles['text-weight-700'],
            800: styles['text-weight-800'],
            900: styles['text-weight-900']
        },
        transform: {
            capitalize: styles['text-transform-capitalize'],
            uppercase: styles['text-transform-uppercase'],
            lowercase: styles['text-transform-lowercase']
        },
        align: {
            center: styles['text-align-center'],
            start: styles['text-align-start'],
            end: styles['text-align-end'],
            justify: styles['text-align-justify']
        },
        lineClamp: {
            1: [styles['text-line-clamp'], styles['text-line-clamp-1']],
            2: [styles['text-line-clamp'], styles['text-line-clamp-2']],
            3: [styles['text-line-clamp'], styles['text-line-clamp-3']],
            4: [styles['text-line-clamp'], styles['text-line-clamp-4']],
            5: [styles['text-line-clamp'], styles['text-line-clamp-5']]
        },
        underline: {
            true: styles['text-underline']
        },
        strikeThrough: {
            true: styles['text-strike-through']
        },
        italic: {
            true: styles['text-italic']
        }
    },
    defaultVariants: {
        variant: 'primary',
        size: 'small',
        weight: 'regular'
    },
    compoundVariants: [
        {
            strikeThrough: true,
            underline: true,
            className: styles['text-italic-strike-through']
        }
    ]
});
const Text = forwardRef(({ className, size, variant, weight, transform, align, lineClamp, underline, strikeThrough, italic, as: Component = 'span', children, ...rest }, ref) => (jsxRuntimeExports.jsx(Slot, { ref: ref, className: textVariants({
        size,
        className,
        weight,
        variant,
        transform,
        align,
        lineClamp,
        underline,
        strikeThrough,
        italic
    }), ...rest, children: jsxRuntimeExports.jsx(Component, { children: children }) })));
Text.displayName = 'Text';

export { Text, textVariants };
//# sourceMappingURL=text.js.map
