About
A search field allows a user to enter and clear a search query. Search fields can be built with <input type="search">, but these can be hard to style consistently cross browser. SearchField helps achieve accessible search fields that can be styled as needed.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Search Field [react-aria-components] to your project and fits it to your theme.
Code
How Search Field [react-aria-components] is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { SearchIcon, XIcon } from "lucide-react"
import { FieldGroup, Label } from "@/components/ui/field"
import {
SearchField,
SearchFieldClear,
SearchFieldInput,
} from "@/components/ui/searchfield"
export function SearchFieldDemo() {
return (
<SearchField className="max-w-[200px]">
<Label>Search</Label>
<FieldGroup>
<SearchIcon aria-hidden className="size-4 text-muted-foreground" />
<SearchFieldInput placeholder="Search..." />
<SearchFieldClear>
<XIcon aria-hidden className="size-4" />
</SearchFieldClear>
</FieldGroup>
</SearchField>
)
}
![Search Field [react-aria-components] preview](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=1080,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/searchfield/default/preview.png)
![Tag Group [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/tag-group/891/preview.png)
![Date Range Picker [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/date-range-picker/default/preview.png)
![Grid List [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/grid-list/default/preview.png)
![Switch [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/switch/1023/preview.png)
![Select [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/select/864/preview.png)
![Range Calendar [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/range-calendar/default/preview.png)

![Slider [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/slider/827/preview.png)