Autocomplete
adn-ui/autocompleteFreeComponent
An input component that provides suggestions as the user types.
Live preview
live · rendered by the registry
Rendered by adn-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.awaiden.com/r/autocomplete.jsonSource
1"use client";23import "./autocomplete.css";4import { Autocomplete as BaseAutocomplete } from "@base-ui/react/autocomplete";5import type React from "react";6import { cn } from "tailwind-variants";78import { AutocompleteContext, useAutocompleteContext } from "./autocomplete.context";9import { autocompleteVariants, type AutocompleteVariants } from "./autocomplete.variants";1011export type AutocompleteProps = AutocompleteVariants &12 React.ComponentProps<typeof BaseAutocomplete.Root>;1314export function AutocompleteRoot({ children, size, variant, ...props }: AutocompleteProps) {15 const slots = autocompleteVariants({ size, variant });1617 return (18 <AutocompleteContext.Provider value={{ slots }}>19 <BaseAutocomplete.Root {...props}>{children}</BaseAutocomplete.Root>20 </AutocompleteContext.Provider>21 );22}2324export type AutocompleteInputProps = React.ComponentProps<typeof BaseAutocomplete.Input>;2526export const AutocompleteInput = ({27 className,28 children: _children,29 dangerouslySetInnerHTML: _dangerouslySetInnerHTML,30 ...props31}: AutocompleteInputProps & { children?: React.ReactNode; dangerouslySetInnerHTML?: any }) => {32 const { slots } = useAutocompleteContext();33 return <BaseAutocomplete.Input className={cn(slots.input(), className)} {...props} />;34};3536export type AutocompletePortalProps = React.ComponentProps<typeof BaseAutocomplete.Portal>;3738export const AutocompletePortal = (props: AutocompletePortalProps) => {39 return <BaseAutocomplete.Portal {...props} />;40};4142export type AutocompletePositionerProps = React.ComponentProps<typeof BaseAutocomplete.Positioner>;4344export const AutocompletePositioner = ({45 className,46 sideOffset = 4,47 ...props48}: AutocompletePositionerProps) => {49 const { slots } = useAutocompleteContext();50 return (51 <BaseAutocomplete.Positioner52 className={cn(slots.positioner(), className)}53 sideOffset={sideOffset}54 {...props}55 />56 );57};5859export type AutocompletePopupProps = React.ComponentProps<typeof BaseAutocomplete.Popup>;6061export const AutocompletePopup = ({ className, ...props }: AutocompletePopupProps) => {62 const { slots } = useAutocompleteContext();63 return <BaseAutocomplete.Popup className={cn(slots.popup(), className)} {...props} />;64};6566export type AutocompleteListProps = React.ComponentProps<typeof BaseAutocomplete.List>;6768export function AutocompleteList({ className, ...props }: AutocompleteListProps) {69 const { slots } = useAutocompleteContext();70// … truncated
What it pulls in
npm packages
Files it writes
More from adn-ui
All 46 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | adn-ui | Components | Free | 2 deps · 5 files | |
| Alert Dialogalert-dialog | adn-ui | Components | Free | 2 deps · 5 files | |
| Aspect Ratioaspect-ratio | adn-ui | Components | Free | 1 dep · 5 files | |
| Avataravatar | adn-ui | Components | Free | 2 deps · 5 files | |
| Badgebadge | adn-ui | Components | Free | 1 dep · 5 files | |
| Breadcrumbbreadcrumb | adn-ui | Components | Free | 1 dep · 5 files | |
| Buttonbutton | adn-ui | Components | Free | 1 dep · 4 files | |
| Button Groupbutton-group | adn-ui | Components | Free | 1 dep · 5 files |
