Autocomplete
basecn/autocompleteFreeComponent
An input that suggests options as you type.
Live preview
live · rendered by the registry
Rendered by basecn on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://basecn.dev/r/autocomplete.jsonSource
1import { XIcon } from "lucide-react";2import { Autocomplete as AutocompletePrimitive } from "@base-ui/react/autocomplete";34import { cn } from "@/lib/utils";5import { Button } from "@/registry/components/ui/button";6import { Input } from "@/registry/components/ui/input";78const Autocomplete = AutocompletePrimitive.Root;910function AutocompleteInput(props: AutocompletePrimitive.Input.Props) {11 return (12 <AutocompletePrimitive.Input13 data-slot="autocomplete-input"14 render={<Input />}15 {...props}16 />17 );18}1920function AutocompletePopup({21 className,22 ...props23}: AutocompletePrimitive.Popup.Props) {24 return (25 <AutocompletePrimitive.Popup26 data-slot="autocomplete-popup"27 className={cn(28 "w-(--anchor-width) max-h-[min(var(--available-height),23rem)] max-w-(--available-width) overflow-y-auto scroll-pt-2 scroll-pb-2 overscroll-contain rounded-md bg-popover text-popover-foreground shadow-md outline-1 outline-border dark:shadow-none",29 className30 )}31 {...props}32 />33 );34}3536function AutocompletePositioner({37 className,38 ...props39}: AutocompletePrimitive.Positioner.Props) {40 return (41 <AutocompletePrimitive.Portal>42 <AutocompletePrimitive.Positioner43 data-slot="autocomplete-positioner"44 className={cn("z-50", className)}45 {...props}46 />47 </AutocompletePrimitive.Portal>48 );49}5051function AutocompleteList({52 className,53 ...props54}: AutocompletePrimitive.List.Props) {55 return (56 <AutocompletePrimitive.List57 data-slot="autocomplete-list"58 className={cn("not-empty:p-1.5", className)}59 {...props}60 />61 );62}6364function AutocompleteEmpty({65 className,66 ...props67}: AutocompletePrimitive.Empty.Props) {68 return (69 <AutocompletePrimitive.Empty70 data-slot="autocomplete-empty"71 className={cn(72 "flex items-center justify-center text-muted-foreground text-sm not-empty:py-3",73 className74 )}75 {...props}76 />77 );78}7980function AutocompleteItem({81 className,82 ...props83}: AutocompletePrimitive.Item.Props) {84 return (85 <AutocompletePrimitive.Item86 data-slot="autocomplete-item"87 className={cn(88 "py-1.5 px-3 text-sm rounded-md data-highlighted:bg-accent data-highlighted:text-accent-foreground",89 className90 )}91 {...props}92 />93 );94}9596function AutocompleteGroup({97 className,98 ...props99}: AutocompletePrimitive.Group.Props) {100 return (101 <AutocompletePrimitive.Group102// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from basecn
All 56 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | basecn | Components | Free | 2 deps | |
| Alertalert | basecn | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | basecn | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | basecn | Components | Free | no deps | |
| Avataravatar | basecn | Components | Free | 1 dep | |
| Badgebadge | basecn | Components | Free | 2 deps | |
| Breadcrumbbreadcrumb | basecn | Components | Free | 2 deps | |
| Buttonbutton | basecn | Components | Free | 2 deps |
