import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef } from 'react';
import { cv } from '../../lib/cv.js';
const input = cv('focus-visible:ring-offset-background flex w-full rounded-[var(--radius)] border bg-[var(--background)] text-[var(--foreground)] file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--muted-foreground)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50', {
    variants: {
        size: {
            sm: 'h-8 px-2.5 text-xs',
            md: 'h-9 px-3 text-sm',
            lg: 'h-10 px-4 text-base',
        },
        state: {
            default: 'border-[var(--border)]',
            invalid: 'border-[var(--destructive)] focus-visible:ring-[var(--destructive)]',
            valid: 'border-emerald-500 focus-visible:ring-emerald-500',
        },
    },
    defaultVariants: { size: 'md', state: 'default' },
});
export const Input = forwardRef(function Input({ size, state, className, ...rest }, ref) {
    return _jsx("input", { ref: ref, className: input({ size, state, class: className }), ...rest });
});
export { input as inputVariants };
//# sourceMappingURL=Input.js.map