Autocomplete
BetaInput-driven suggestions list with selectable options.
Installation
npm install @xaui/native
Import
import { Autocomplete, AutocompleteItem } from '@xaui/native/autocomplete'
Basic Usage
Minimal example showing the component with its default configuration.
import { Autocomplete } from '@xaui/native/autocomplete'export function Example() {return <Autocomplete />}
Basic Autocomplete
Autocomplete with a list of items.
import { Autocomplete, AutocompleteItem } from '@xaui/native/autocomplete'export function BasicExample() {return (<Autocomplete label="Search framework" placeholder="Type to search"><AutocompleteItem value="react" label="React" /><AutocompleteItem value="vue" label="Vue" /><AutocompleteItem value="angular" label="Angular" /><AutocompleteItem value="svelte" label="Svelte" /></Autocomplete>)}
Controlled Selection
Track the selected value with state.
import { useState } from 'react'import { Autocomplete, AutocompleteItem } from '@xaui/native/autocomplete'const fruits = [{ value: 'apple', label: 'Apple' },{ value: 'banana', label: 'Banana' },{ value: 'cherry', label: 'Cherry' },]export function ControlledExample() {const [selected, setSelected] = useState<string | null>(null)return (<Autocompletelabel="Select a fruit"onSelectionChange={setSelected}>{fruits.map(fruit => (<AutocompleteItem key={fruit.value} value={fruit.value} label={fruit.label} />))}</Autocomplete>)}
With Description & Error
Provide helper text and validation feedback.
import { Autocomplete, AutocompleteItem } from '@xaui/native/autocomplete'export function ValidationExample() {return (<Autocompletelabel="Country"description="Select your country of residence"errorMessage="Country is required"isInvalid><AutocompleteItem value="fr" label="France" /><AutocompleteItem value="us" label="United States" /><AutocompleteItem value="uk" label="United Kingdom" /></Autocomplete>)}
Items with Description
Show secondary text inside each item.
import { Autocomplete, AutocompleteItem } from '@xaui/native/autocomplete'export function ItemDescriptionExample() {return (<Autocomplete label="Select role"><AutocompleteItemvalue="admin"label="Admin"description="Full access to all resources"/><AutocompleteItemvalue="editor"label="Editor"description="Can edit content, cannot manage users"/><AutocompleteItemvalue="viewer"label="Viewer"description="Read-only access"isDisabled/></Autocomplete>)}
Allows Custom Value
Let users type values not present in the list.
import { Autocomplete, AutocompleteItem } from '@xaui/native/autocomplete'export function CustomValueExample() {return (<Autocomplete label="Tag" allowsCustomValue placeholder="Choose or create a tag"><AutocompleteItem value="design" label="Design" /><AutocompleteItem value="engineering" label="Engineering" /><AutocompleteItem value="marketing" label="Marketing" /></Autocomplete>)}