{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "mc-combobox",
  "title": "MicroClub Combobox",
  "description": "A searchable dropdown with autocomplete functionality for MicroClub UI",
  "dependencies": [
    "@base-ui/react",
    "lucide-react"
  ],
  "files": [
    {
      "path": "registry/ui/mc-combobox.tsx",
      "content": "'use client';\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react';\nimport { CheckIcon, ChevronsUpDown, SearchIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nconst McCombobox = ComboboxPrimitive.Root;\n\nfunction McComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n  return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />;\n}\n\nfunction McComboboxTrigger({\n  className,\n  placeholder,\n  ...props\n}: ComboboxPrimitive.Trigger.Props & { placeholder?: string }) {\n  return (\n    <ComboboxPrimitive.Trigger\n      data-slot=\"combobox-trigger\"\n      className={cn(\n        'min-w-50 min-h-9 px-3 py-2 rounded-md ring-1 ring-inset ring-border shadow-xs flex justify-between items-center bg-input text-foreground paragraph-sm font-medium',\n        className\n      )}\n      {...props}\n    >\n      <McComboboxValue placeholder={placeholder} />\n      <ChevronsUpDown className=\"size-4 text-foreground\" />\n    </ComboboxPrimitive.Trigger>\n  );\n}\n\nfunction McComboboxSearch({\n  className,\n  placeholder,\n  ...props\n}: ComboboxPrimitive.Input.Props & { placeholder?: string }) {\n  return (\n    <div className=\"flex items-center border-b px-3 h-fit w-full gap-2\" data-slot=\"combobox-search\">\n      <SearchIcon className=\"text-muted-foreground size-4\" />\n      <ComboboxPrimitive.Input\n        className={cn(\n          'flex h-10 w-full rounded-md bg-transparent py-3 outline-none paragraph-sm placeholder:text-muted-foreground',\n          className\n        )}\n        placeholder={placeholder}\n        {...props}\n      />\n    </div>\n  );\n}\n\nfunction McComboboxContent({\n  className,\n  side = 'bottom',\n  sideOffset = 8,\n  align = 'start',\n  ...props\n}: ComboboxPrimitive.Popup.Props &\n  Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset'>) {\n  return (\n    <ComboboxPrimitive.Portal>\n      <ComboboxPrimitive.Positioner\n        side={side}\n        sideOffset={sideOffset}\n        align={align}\n        className=\"isolate z-50\"\n      >\n        <ComboboxPrimitive.Popup\n          data-slot=\"combobox-content\"\n          className={cn(\n            'w-[var(--anchor-width)] flex flex-col rounded-md ring-1 ring-inset ring-border bg-card-background shadow-md',\n            className\n          )}\n          {...props}\n        />\n      </ComboboxPrimitive.Positioner>\n    </ComboboxPrimitive.Portal>\n  );\n}\n\nfunction McComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {\n  return (\n    <ComboboxPrimitive.List\n      data-slot=\"combobox-list\"\n      className={cn('p-1 h-fit w-full', className)}\n      {...props}\n    />\n  );\n}\n\nfunction McComboboxItem({ className, children, ...props }: ComboboxPrimitive.Item.Props) {\n  return (\n    <ComboboxPrimitive.Item\n      data-slot=\"combobox-item\"\n      className={cn(\n        'relative flex w-full rounded py-1.5 px-2 gap-2 justify-between paragraph-sm items-center',\n        'data-highlighted:bg-accent data-highlighted:text-accent-foreground',\n        className\n      )}\n      {...props}\n    >\n      {children}\n      <ComboboxPrimitive.ItemIndicator>\n        <CheckIcon className=\"size-4 text-accent-foreground\" />\n      </ComboboxPrimitive.ItemIndicator>\n    </ComboboxPrimitive.Item>\n  );\n}\n\nexport {\n  McCombobox,\n  McComboboxTrigger,\n  McComboboxSearch,\n  McComboboxContent,\n  McComboboxList,\n  McComboboxItem,\n  McComboboxValue,\n};\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}