Components
Loading preview...
HeroUI v3 SearchField — search input with clear button: descriptions, required, validation, disabled, controlled, custom icons, full width, variants and form usage.
npx shadcn@latest add https://21st.dev/r/hero_ui/heroui-search-fieldimport { Description, Label } from "@heroui/react"
import { SearchField } from "@/components/ui/heroui-search-field"
export default function CustomIcons() {
return (
<div className="flex flex-col gap-4">
<SearchField name="search-custom">
<Label>Search (Custom Icons)</Label>
<SearchField.Group>
<SearchField.SearchIcon>
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path
clipRule="evenodd"
d="M12.5 4c0 .174-.071.513-.885.888S9.538 5.5 8 5.5s-2.799-.237-3.615-.612C3.57 4.513 3.5 4.174 3.5 4s.071-.513.885-.888S6.462 2.5 8 2.5s2.799.237 3.615.612c.814.375.885.714.885.888m-1.448 2.66C10.158 6.888 9.115 7 8 7s-2.158-.113-3.052-.34l1.98 2.905c.21.308.322.672.322 1.044v3.37q.088.02.25.021c.422 0 .749-.14.95-.316c.185-.162.3-.38.3-.684v-2.39c0-.373.112-.737.322-1.045zM8 1c3.314 0 6 1 6 3a3.24 3.24 0 0 1-.563 1.826l-3.125 4.584a.35.35 0 0 0-.062.2V13c0 1.5-1.25 2.5-2.75 2.5s-1.75-1-1.75-1v-3.89a.35.35 0 0 0-.061-.2L2.563 5.826A3.24 3.24 0 0 1 2 4c0-2 2.686-3 6-3m-.88 12.936q-.015-.008-.013-.01z"
fill="currentColor"
fillRule="evenodd"
/>
</svg>
</SearchField.SearchIcon>
<SearchField.Input className="w-[280px]" placeholder="Search..." />
<SearchField.ClearButton>
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path
clipRule="evenodd"
d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14M6.53 5.47a.75.75 0 0 0-1.06 1.06L6.94 8L5.47 9.47a.75.75 0 1 0 1.06 1.06L8 9.06l1.47 1.47a.75.75 0 1 0 1.06-1.06L9.06 8l1.47-1.47a.75.75 0 1 0-1.06-1.06L8 6.94z"
fill="currentColor"
fillRule="evenodd"
/>
</svg>
</SearchField.ClearButton>
</SearchField.Group>
<Description>Custom icon children</Description>
</SearchField>
</div>
)
}