import { InputHTMLAttributes, SelectHTMLAttributes, TextareaHTMLAttributes, ReactNode, forwardRef } from "react"; // Input Component export interface InputProps extends InputHTMLAttributes { label?: string; error?: string; } export const Input = forwardRef( ({ label, error, className = "", ...props }, ref) => { return (
{label && ( )} {error && (

{error}

)}
); } ); Input.displayName = "Input"; // Select Component export interface SelectProps extends SelectHTMLAttributes { label?: string; error?: string; children: ReactNode; } export const Select = forwardRef( ({ label, error, children, className = "", ...props }, ref) => { return (
{label && ( )} {error && (

{error}

)}
); } ); Select.displayName = "Select"; // Textarea Component export interface TextareaProps extends TextareaHTMLAttributes { label?: string; error?: string; } export const Textarea = forwardRef( ({ label, error, className = "", ...props }, ref) => { return (
{label && ( )}