import React, { useRef } from "react"; import { TextareaProps } from "./types"; import { useInput } from "../../hooks/useInput"; import TextareaTheme from "./TextareaTheme"; const TETextarea: React.FC = ({ className, size = "base", value, defaultValue, id, wrapperTag: WrapperTag = "div", label, onChange, children, labelRef, labelID, inputRef, onBlur, readonly = false, theme: customTheme, formWhite = false, counter = false, maxLength, ...props }) => { const theme = { ...TextareaTheme, ...customTheme }; const textareaEl = useRef(null); const inputReference = inputRef ? inputRef : textareaEl; const { labelReference, labelWidth, newValue, setWidth, setFocus, handleChange, handleBlur, inputClasses, labelClasses, notchLeadingClasses, notchMiddleClasses, notchTrailingClasses, } = useInput( textareaEl, labelRef, value, defaultValue, onBlur, onChange, counter, maxLength, theme, size, className, formWhite ); return (