{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "hooks-dropdownlistbox",
  "type": "registry:ui",
  "title": "DropdownListBox",
  "dependencies": [
    "react-aria-components",
    "lucide-react"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "components/ui/DropdownListBox.tsx",
      "type": "registry:ui",
      "content": "'use client';\nimport {\n  ListBox,\n  ListBoxItem,\n  type ListBoxItemProps,\n  type ListBoxProps\n} from 'react-aria-components/ListBox';\nimport {composeRenderProps} from 'react-aria-components/composeRenderProps';\nimport {Text} from 'react-aria-components/Text';\nimport {Check} from 'lucide-react';\n\nexport function DropdownListBox<T>(props: ListBoxProps<T>) {\n  return <ListBox {...props} className=\"dropdown-listbox\" />;\n}\n\nexport function DropdownItem(props: ListBoxItemProps) {\n  let textValue =\n    props.textValue || (typeof props.children === 'string' ? props.children : undefined);\n\n  return (\n    <ListBoxItem {...props} textValue={textValue} className=\"dropdown-item\">\n      {composeRenderProps(props.children, (children, {isSelected}) => (\n        <>\n          {isSelected && <Check />}\n          {typeof children === 'string' ? <Text slot=\"label\">{children}</Text> : children}\n        </>\n      ))}\n    </ListBoxItem>\n  );\n}\n"
    }
  ]
}
