{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "select", "type": "registry:ui", "dependencies": ["@ark-ui/react", "lucide-react"], "files": [ { "path": "./src/components/ui/select.tsx", "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { type HTMLArkProps, ark } from \"@ark-ui/react/factory\"\nimport { Portal } from \"@ark-ui/react/portal\"\nimport { Select as SelectPrimitive, selectAnatomy } from \"@ark-ui/react/select\"\nimport { CheckIcon, ChevronDownIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst parts = selectAnatomy.extendWith(\"separator\").build()\n\nconst SelectComponent = React.forwardRef(\n (\n props: SelectPrimitive.RootProps,\n ref: React.Ref\n ) => \n)\nSelectComponent.displayName = \"Select\"\nconst Select = SelectComponent as (\n props: SelectPrimitive.RootProps &\n React.RefAttributes>\n) => React.JSX.Element\n\nconst SelectClearTrigger = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.ClearTriggerProps\n>(({ className, ...props }, ref) => (\n \n))\nSelectClearTrigger.displayName = \"SelectClearTrigger\"\n\nconst SelectContent = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.ContentProps\n>(({ className, ...props }, ref) => (\n \n \n \n \n \n))\nSelectContent.displayName = \"SelectContent\"\n\nconst SelectContext = SelectPrimitive.Context\n\nconst SelectControl = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.ControlProps\n>(({ className, ...props }, ref) => (\n \n))\nSelectControl.displayName = \"SelectControl\"\n\nconst SelectIndicator = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.IndicatorProps\n>((props, ref) => (\n \n \n \n))\nSelectIndicator.displayName = \"SelectIndicator\"\n\nconst SelectItem = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.ItemProps\n>(({ className, children, ...props }, ref) => (\n \n \n \n \n \n \n {children}\n \n))\nSelectItem.displayName = \"SelectItem\"\n\nconst SelectItemContext = SelectPrimitive.ItemContext\n\nconst SelectItemGroup = SelectPrimitive.ItemGroup\n\nconst SelectItemGroupLabel = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.ItemGroupLabelProps\n>(({ className, ...props }, ref) => (\n \n))\nSelectItemGroupLabel.displayName = \"SelectItemGroupLabel\"\n\nconst SelectItemText = SelectPrimitive.ItemText\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.LabelProps\n>(({ className, ...props }, ref) => (\n \n))\nSelectLabel.displayName = \"SelectLabel\"\n\nconst SelectList = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.ListProps\n>(({ className, ...props }, ref) => (\n \n))\nSelectList.displayName = \"SelectList\"\n\nconst SelectRootProvider = SelectPrimitive.RootProvider\n\nconst SelectSeparator = React.forwardRef>(\n ({ className, ...props }, ref) => (\n \n )\n)\nSelectSeparator.displayName = \"SelectSeparator\"\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef,\n SelectPrimitive.TriggerProps\n>(({ className, ...props }, ref) => (\n \n))\nSelectTrigger.displayName = \"SelectTrigger\"\n\nconst SelectValueText = SelectPrimitive.ValueText\n\nexport {\n Select,\n SelectClearTrigger,\n SelectContent,\n SelectContext,\n SelectControl,\n SelectIndicator,\n SelectItem,\n SelectItemContext,\n SelectItemGroup,\n SelectItemGroupLabel,\n SelectItemText,\n SelectLabel,\n SelectList,\n SelectRootProvider,\n SelectSeparator,\n SelectTrigger,\n SelectValueText,\n}\n\nexport {\n createListCollection,\n useSelect,\n type CollectionItem,\n type ListCollection,\n type SelectHighlightChangeDetails,\n type SelectOpenChangeDetails,\n type SelectValueChangeDetails,\n} from \"@ark-ui/react/select\"\n", "type": "registry:ui" } ] }