{"version":3,"file":"Textarea.cjs","names":[],"sources":["../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import { forwardRef, useId } from \"react\";\nimport type { TextareaHTMLAttributes } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Textarea.module.css\";\n\nexport interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {\n    label?: string;\n    helperText?: string;\n    error?: string;\n    wrapperClassName?: string;\n}\n\n/**\n * Multi-line text input. Mirrors the {@link Input} API for label/helper/error.\n */\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(function Textarea(\n    { label, helperText, error, wrapperClassName, className, id, required, ...props },\n    ref,\n) {\n    const generatedId = useId();\n    const textareaId = id ?? generatedId;\n\n    return (\n        <div className={cn(styles.wrapper, error && styles.error, wrapperClassName)}>\n            {label && (\n                <label htmlFor={textareaId} className={styles.label}>\n                    {label}\n                    {required && <span className={styles.required}>*</span>}\n                </label>\n            )}\n            <textarea\n                ref={ref}\n                id={textareaId}\n                aria-invalid={!!error}\n                required={required}\n                className={cn(styles.textarea, className)}\n                {...props}\n            />\n            {error ? (\n                <span className={styles.errorText}>{error}</span>\n            ) : helperText ? (\n                <span className={styles.helper}>{helperText}</span>\n            ) : null}\n        </div>\n    );\n});\n"],"mappings":"+HAeA,IAAa,GAAA,EAAW,EAAA,WAAA,CAA+C,SACnE,CAAE,QAAO,aAAY,QAAO,mBAAkB,YAAW,KAAI,WAAU,GAAG,GAC1E,EACF,CACE,IAAM,GAAA,EAAc,EAAA,MAAA,CAAM,EACpB,EAAa,GAAM,EAEzB,OACI,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,GAAG,EAAA,QAAO,QAAS,GAAS,EAAA,QAAO,MAAO,CAAgB,EAA1E,SAAA,CACK,IACG,EAAA,EAAA,KAAA,CAAC,QAAD,CAAO,QAAS,EAAY,UAAW,EAAA,QAAO,MAA9C,SAAA,CACK,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,SAAU,SAAA,GAAO,CAAA,CACnD,KAEX,EAAA,EAAA,IAAA,CAAC,WAAD,CACS,MACL,GAAI,EACJ,eAAc,CAAC,CAAC,EACN,WACV,UAAW,EAAA,GAAG,EAAA,QAAO,SAAU,CAAS,EACxC,GAAI,CACP,CAAA,EACA,GACG,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,UAAY,SAAA,CAAY,CAAA,EAChD,GACA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,OAAS,SAAA,CAAiB,CAAA,EAClD,IACH,GAEb,CAAC"}