Search Input
tetra-ui/search-inputFreeComponent
An input component that allows users to search for content.
Live preview
live · rendered by the registry
Rendered by tetra-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://tetra-ui.com/r/search-input.jsonSource
1import { cn } from "@/lib/utils";2import { SearchIcon } from "./icons";3import {4 Input,5 InputAddon,6 type InputAddonChildren,7 InputAddonIcon,8 InputPressable,9 type InputProps,10 useInputAddons,11 useInputFocusState,12} from "./input";1314// Types15export type SearchInputProps = InputProps & {16 onFocus?: () => void;17 onBlur?: () => void;18 disabled?: boolean;19 children?: InputAddonChildren;20};2122// Components23export const SearchInput = ({24 onFocus,25 onBlur,26 disabled,27 children,28 accessibilityRole = "search",29 ...props30}: SearchInputProps) => {31 const { isFocused, internalRef, handleFocus, handleBlur, handlePress } =32 useInputFocusState({ onBlur, onFocus });3334 const { startAddons, endAddons, pressableClassName } =35 useInputAddons(children);3637 return (38 <InputPressable39 className={cn(40 pressableClassName,41 "min-h-11 bg-input/40 py-1 pl-0 active:bg-input dark:active:bg-input"42 )}43 disabled={disabled}44 focused={isFocused}45 onPress={handlePress}46 >47 <InputAddon align="inline-start">48 <InputAddonIcon>49 <SearchIcon />50 </InputAddonIcon>51 </InputAddon>5253 {startAddons}5455 <Input56 {...props}57 accessibilityRole={accessibilityRole}58 className={cn("shrink", props.className)}59 disabled={disabled}60 onBlur={handleBlur}61 onFocus={handleFocus}62 ref={internalRef}63 />6465 {endAddons}66 </InputPressable>67 );68};
What it pulls in
Other registry items
Files it writes
More from tetra-ui
All 41 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | tetra-ui | Components | Free | 1 dep | |
| Action Inputaction-input | tetra-ui | Components | Free | no deps | |
| Alertalert | tetra-ui | Components | Free | no deps | |
| Avataravatar | tetra-ui | Components | Free | no deps | |
| Badgebadge | tetra-ui | Components | Free | no deps | |
| Bottom Sheetbottom-sheet | tetra-ui | Components | Free | 4 deps · 7 files | |
| Buttonbutton | tetra-ui | Components | Free | no deps | |
| Cardcard | tetra-ui | Components | Free | no deps |
