Textarea
Examples
By default, Textarea is not resizeable. However, you can use overrides as in the example above to supply minimum and maximum dimensions for the component. This will allow users to resize the Textarea within the boundaries you define.
As with many of our components, there is also an uncontrolled version, StatefulTextarea, which manages its own state.
Overrides
Additionally, you can fully customize any part of the Textarea through the overrides prop. The Textarea consists of multiple subcomponents that are listed bellow and you can override each one of them. To help you identify the names of these subcomponents, you can highlight them through this selector:
Note: You should always use longhand CSS properties. Mixing shorthands and longhands will lead into strange behaviors!
API
Textarea API
"aria-label" nullable string required
Sets aria-label attribute.
"aria-labelledby" nullable string required
Sets aria-labelledby attribute.
"aria-describedby" nullable string required
Sets aria-describedby attribute.
adjoined $Keys<typeof ADJOINED> required
Defines styles for inputs that are grouped with other controls.
$Keys{ none: "none", left: "left", right: "right", both: "both" }autoComplete string required
Determines if browser should provide value suggestions.
autoFocus boolean = false
If true the input will be focused on the first mount.
disabled boolean = false
Renders component in 'disabled' state.
error boolean = false
Renders component in 'error' state.
positive boolean
Renders component in 'positive' state.
pattern nullable string required
A regex that is used to validate the value of the input on form submission.
id string required
Id attribute value to be added to the input element and as a label's for attribute value.
"data-baseweb" string
inputMode string required
A hint as to the type of data that might be entered by the user while editing the element or its contents.
inputRef ElementRef<*>
A ref to access an input element.
ElementRef*name string = ""
onBlur function = () => undefined
SyntheticFocusEvent<T> => mixedonChange function = () => undefined
SyntheticInputEvent<T> => mixedonKeyDown function = () => undefined
SyntheticKeyboardEvent<T> => mixedonKeyPress function = () => undefined
SyntheticKeyboardEvent<T> => mixedonKeyUp function = () => undefined
SyntheticKeyboardEvent<T> => mixedonFocus function = () => undefined
SyntheticFocusEvent<T> => mixedclearable boolean required
If true, adds a clear value icon button to the end of the input container.
overrides object = {}
InputContainer { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*Input { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*Before { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*After { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*ClearIcon { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*ClearIconContainer { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*MaskToggleButton { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*MaskToggleShowIcon { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*MaskToggleHideIcon { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*placeholder string = ""
required boolean = false
Renders component in 'required' state.
size $Keys<typeof SIZE> =
Renders component in provided size.
$Keys{ default: "default", compact: "compact", large: "large" }type string required
Input type attribute.
value string = ""
Input value attribute.
rows number
rows number = 3
Sets the size and number of visible text lines of the texarea element.
Textarea exports
You can import this module like so:
import {Textarea} from 'baseui/textarea'
It exports the following components or utility functions:
- Textarea
- StatefulTextarea
- StatefulContainer
- StyledTextareaContainer
- StyledTextarea
- STATE_CHANGE_TYPE
- SIZE