import { cn } from "../../utils/cn.mjs";
import { inputVariants } from "../Input/Input.mjs";
import { jsx } from "react/jsx-runtime";

//#region src/components/TextArea/TextArea.tsx
/**
* TextArea Component
*
* A flexible textarea component that extends the standard HTML textarea with
* design system styling variants, validation states, and consistent visual appearance.
*
* ## Features
* - **Variant Support**: Multiple visual states (default, error, success, warning)
* - **Validation Styling**: Optional validation feedback styling
* - **Resize Control**: Disabled by default for consistent layout
* - **Design System Integration**: Uses shared input variants for consistency
* - **Accessibility**: Maintains all standard textarea accessibility features
*
* ## Use Cases
* - Multi-line text input forms
* - Comment and message composition
* - Description and content fields
* - Feedback and review forms
* - Code snippet input (when combined with monospace styling)
*
* @example
* ```tsx
* // Basic textarea
* <TextArea
*   placeholder="Enter your thoughts..."
*   rows={4}
* />
*
* // Controlled with validation
* const [content, setContent] = useState('');
* const hasError = content.length < 10;
*
* <TextArea
*   value={content}
*   onChange={(e) => setContent(e.target.value)}
*   variant={hasError ? InputVariant.ERROR : InputVariant.SUCCESS}
*   validationStyleEnabled={true}
*   placeholder="Minimum 10 characters required"
*   className="min-h-[100px]"
* />
* ```
*/
const TextArea = ({ className, variant, validationStyleEnabled = false, ...props }) => /* @__PURE__ */ jsx("textarea", {
	className: cn("resize-none", inputVariants({
		variant,
		validationStyleEnabled: validationStyleEnabled ? "enabled" : "disabled",
		className
	})),
	...props
});

//#endregion
export { TextArea };
//# sourceMappingURL=TextArea.mjs.map