TextArea
StableMulti-line text input with configurable line count and disabled state.
Installation
npm install @xaui/native
Import
import { TextArea } from '@xaui/native/input'
Basic Usage
Minimal example showing the component with its default configuration.
import { TextArea } from '@xaui/native/input'export function Example() {return <TextArea />}
Basic TextArea
A simple multi-line text input.
import { TextArea } from '@xaui/native/input'export function BasicExample() {return <TextArea label="Notes" placeholder="Write something..." />}
Controlled TextArea
Manage the value with React state.
import { useState } from 'react'import { TextArea } from '@xaui/native/input'export function ControlledExample() {const [value, setValue] = useState('')return (<TextArealabel="Description"value={value}onValueChange={setValue}numberOfLines={6}/>)}
Variants
All available visual styles.
import { TextArea } from '@xaui/native/input'import { Column } from '@xaui/native/view'export function VariantsExample() {return (<Column gap={8}><TextArea variant="colored" label="Colored" /><TextArea variant="light" label="Light" /><TextArea variant="bordered" label="Bordered" /><TextArea variant="underlined" label="Underlined" /></Column>)}
With Validation
Display an error message when content is invalid.
import { TextArea } from '@xaui/native/input'export function ValidationExample() {return (<TextArealabel="Bio"isInvaliderrorMessage="Bio cannot be empty"description="Tell us about yourself"/>)}
Disabled and Read-Only
Non-editable states.
import { TextArea } from '@xaui/native/input'import { Column } from '@xaui/native/view'export function StatesExample() {return (<Column gap={10}><TextArea label="Disabled" defaultValue="Cannot edit" isDisabled /><TextArea label="Read-only" value="Visible but locked" isReadOnly /></Column>)}