SearchA search input component with built-in search icon and optional clear button.
The Search component provides a consistent search input experience with a built-in search icon and optional clear button functionality.
Install the component from your command line.
The
The Search component supports various states to provide visual feedback.
The Search component can include a clear button that appears when there is input value.
The Search component is built with accessibility in mind, following ARIA best practices:
The component supports keyboard navigation:
npm install @raystack/apsara
import { Search } from '@raystack/apsara/v1' <Search placeholder="Search items..." showClearButton value={searchValue} onChange={(e) => setSearchValue(e.target.value)} onClear={() => setSearchValue("")} />
Search component accepts the following props:
size: Size variant of the search input ("small"|"large", default: "large")placeholder: Placeholder text for the inputdisabled: Whether the search input is disabledshowClearButton: Shows a clear button when the input has a valuevalue: The controlled value of the inputonChange: Callback when input value changesonClear: Callback when clear button is clickedclassName: Additional CSS class names
loading...
loading...
loading...
- Container has
role="search"to identify it as a search landmark - Input has
type="search"for semantic HTML - Search icon is marked as decorative with
aria-hidden="true" - Clear button has appropriate
aria-labelfor screen readers - Keyboard navigation support for the clear button
- Input inherits
aria-labelfrom placeholder text
loading...
- Tab to focus on the search input
- Tab again to focus on the clear button (when visible)
- Enter or Space to trigger the clear button