combobox
neobrutalism/comboboxFreeComponent
neobrutalism publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by neobrutalism on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://neobrutalism.com/r/combobox.jsonSource
1"use client"23import * as React from "react"4import { Combobox as ComboboxPrimitive } from "@base-ui/react/combobox"5import { CheckIcon, ChevronDownIcon, XIcon } from "lucide-react"67import { cn } from "@/lib/utils"8import { Button } from "@/components/ui/button"9import {10 InputGroup,11 InputGroupAddon,12 InputGroupButton,13 InputGroupInput,14} from "@/components/ui/input-group"1516const Combobox = ComboboxPrimitive.Root1718function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {19 return <ComboboxPrimitive.Value data-slot="combobox-value" {...props} />20}2122function ComboboxTrigger({23 className,24 children,25 ...props26}: ComboboxPrimitive.Trigger.Props) {27 return (28 <ComboboxPrimitive.Trigger29 data-slot="combobox-trigger"30 className={cn("[&_svg:not([class*='size-'])]:size-4", className)}31 {...props}32 >33 {children}34 <ChevronDownIcon className="pointer-events-none size-4 text-muted-foreground" />35 </ComboboxPrimitive.Trigger>36 )37}3839function ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {40 return (41 <ComboboxPrimitive.Clear42 data-slot="combobox-clear"43 render={<InputGroupButton variant="ghost" size="icon-xs" />}44 className={cn(className)}45 {...props}46 >47 <XIcon className="pointer-events-none" />48 </ComboboxPrimitive.Clear>49 )50}5152function ComboboxInput({53 className,54 children,55 disabled = false,56 showTrigger = true,57 showClear = false,58 ...props59}: ComboboxPrimitive.Input.Props & {60 showTrigger?: boolean61 showClear?: boolean62}) {63 return (64 <InputGroup className={cn("w-auto", className)}>65 <ComboboxPrimitive.Input66 render={<InputGroupInput disabled={disabled} />}67 {...props}68 />69 <InputGroupAddon align="inline-end">70 {showTrigger && (71 <InputGroupButton72 size="icon-xs"73 variant="ghost"74 render={<ComboboxTrigger />}75 data-slot="input-group-button"76 className="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent"77 disabled={disabled}78 />79 )}80 {showClear && <ComboboxClear disabled={disabled} />}81 </InputGroupAddon>82 {children}83 </InputGroup>84 )85}8687function ComboboxContent({88 className,89 side = "bottom",90 sideOffset = 6,91 align = "start",92 alignOffset = 0,93 anchor,94 ...props95}: ComboboxPrimitive.Popup.Props &96 Pick<97 ComboboxPrimitive.Positioner.Props,98// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from neobrutalism
All 54 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | neobrutalism | Components | Free | 2 deps | |
| alertalert | neobrutalism | Components | Free | 2 deps | |
| alert-dialogalert-dialog | neobrutalism | Components | Free | 1 dep | |
| aspect-ratioaspect-ratio | neobrutalism | Components | Free | 1 dep | |
| avataravatar | neobrutalism | Components | Free | 1 dep | |
| badgebadge | neobrutalism | Components | Free | 2 deps | |
| breadcrumbbreadcrumb | neobrutalism | Components | Free | 2 deps | |
| buttonbutton | neobrutalism | Components | Free | 2 deps |
