import React, { forwardRef, useId } from 'react'; import { cn } from '@/utils/utils'; const sizeStyles = { sm: "px-3 py-1.5 text-xs", md: "px-4 py-2.5 text-sm", }; export interface InputProps extends React.InputHTMLAttributes { label?: string; error?: string; sizeVariant?: keyof typeof sizeStyles; // Gestion de la taille leftIcon?: React.ReactNode; // Icône optionnelle intégrée à gauche rightIcon?: React.ReactNode; // Icône optionnelle intégrée à droite } export const Input = forwardRef( ({ className, label, error, id, sizeVariant = 'md', leftIcon, rightIcon, ...props }, ref) => { const autoId = useId(); const inputId = id || autoId; return (
{label && ( )}
{/* Icône à gauche */} {leftIcon && ( {leftIcon} )} {/* Icône à droite */} {rightIcon && ( {rightIcon} )}
{error &&

{error}

}
); } ); Input.displayName = "Input";