{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "baseui-autocomplete", "description": "A Base UI autocomplete component", "dependencies": ["lucide-react", "@base-ui/react"], "registryDependencies": ["@craftdotui/utils"], "files": [ { "path": "packages/baseui/components/autocomplete/index.tsx", "content": "\"use client\";\n\nimport type * as React from \"react\";\nimport { Search, X, ChevronsUpDown } from \"lucide-react\";\nimport { Autocomplete as AutocompletePrimitive } from \"@base-ui/react/autocomplete\";\nimport { cn } from \"@/lib/utils\";\n\n/* -------------------------------------------------------------------------- */\n/* Autocomplete */\n/* -------------------------------------------------------------------------- */\n\nconst Autocomplete = AutocompletePrimitive.Root;\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteInput */\n/* -------------------------------------------------------------------------- */\n\ninterface AutocompleteInputProps extends AutocompletePrimitive.Input.Props {\n\tshowClear?: boolean;\n\tshowTrigger?: boolean;\n\tstartAddon?: React.ReactNode;\n}\n\nfunction AutocompleteInput({\n\tclassName,\n\tshowClear = false,\n\tshowTrigger = false,\n\tstartAddon = null,\n\t...props\n}: AutocompleteInputProps) {\n\treturn (\n\t\t
\n\t\t\t{startAddon && (\n\t\t\t\t
\n\t\t\t\t\t{startAddon}\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t\n\n\t\t\t
\n\t\t\t\t{showClear && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{showTrigger && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t
\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteTrigger */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteTrigger({\n\tclassName,\n\t...props\n}: AutocompletePrimitive.Trigger.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteClear */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteClear({\n\tclassName,\n\t...props\n}: AutocompletePrimitive.Clear.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteIcon */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteIcon({\n\tclassName,\n\t...props\n}: AutocompletePrimitive.Icon.Props) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompletePopup */\n/* -------------------------------------------------------------------------- */\n\ninterface AutocompletePopupProps extends AutocompletePrimitive.Popup.Props {\n\tsideOffset?: number;\n\thasBackdrop?: boolean;\n\tclassName?: string;\n\tchildren?: React.ReactNode;\n}\n\nfunction AutocompletePopup({\n\tclassName,\n\tchildren,\n\tsideOffset = 4,\n\thasBackdrop = false,\n\t...props\n}: AutocompletePopupProps) {\n\treturn (\n\t\t\n\t\t\t{hasBackdrop && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteList */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteList({\n\tclassName,\n\tchildren,\n\t...props\n}: AutocompletePrimitive.List.Props) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteItem */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteItem({\n\tclassName,\n\tchildren,\n\t...props\n}: AutocompletePrimitive.Item.Props) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteEmpty */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteEmpty({\n\tclassName,\n\tchildren,\n\t...props\n}: AutocompletePrimitive.Empty.Props) {\n\treturn (\n\t\t\n\t\t\t{children ?? \"No results found.\"}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteSeparator */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteSeparator({\n\tclassName,\n\t...props\n}: AutocompletePrimitive.Separator.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteGroup */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteGroup({\n\tclassName,\n\tchildren,\n\t...props\n}: AutocompletePrimitive.Group.Props) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteGroupLabel */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteGroupLabel({\n\tclassName,\n\tchildren,\n\t...props\n}: AutocompletePrimitive.GroupLabel.Props) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteCollection */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteCollection({\n\t...props\n}: AutocompletePrimitive.Collection.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* AutocompleteStatus */\n/* -------------------------------------------------------------------------- */\n\nfunction AutocompleteStatus({\n\tclassName,\n\tchildren,\n\t...props\n}: AutocompletePrimitive.Status.Props) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Export */\n/* -------------------------------------------------------------------------- */\n\nexport {\n\tAutocomplete,\n\tAutocompleteInput,\n\tAutocompleteTrigger,\n\tAutocompleteClear,\n\tAutocompleteIcon,\n\tAutocompletePopup,\n\tAutocompleteList,\n\tAutocompleteItem,\n\tAutocompleteEmpty,\n\tAutocompleteSeparator,\n\tAutocompleteGroup,\n\tAutocompleteGroupLabel,\n\tAutocompleteStatus,\n\tAutocompleteCollection,\n};\n", "type": "registry:component", "target": "components/baseui/components/autocomplete.tsx" } ], "type": "registry:component" }