{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "select",
"title": "Select",
"description": "Displays a list of options with classic embossed trigger",
"dependencies": [
"@base-ui/react",
"@phosphor-icons/react"
],
"registryDependencies": [
"utils"
],
"files": [
{
"path": "registry/new-york/ui/select.tsx",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\"\n\nimport { cn } from \"@/lib/utils\"\nimport { CaretDown, Check, CaretUp } from \"@phosphor-icons/react\"\n\nconst Select = SelectPrimitive.Root\n\nfunction SelectGroup({ className, ...props }: SelectPrimitive.Group.Props) {\n return (\n \n )\n}\n\nfunction SelectValue({ className, ...props }: SelectPrimitive.Value.Props) {\n return (\n \n )\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: SelectPrimitive.Trigger.Props & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n \n {children}\n \n }\n />\n \n )\n}\n\nfunction SelectContent({\n className,\n children,\n side = \"bottom\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n alignItemWithTrigger = true,\n ...props\n}: SelectPrimitive.Popup.Props &\n Pick<\n SelectPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"alignItemWithTrigger\"\n >) {\n return (\n \n \n \n \n {children}\n \n \n \n \n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: SelectPrimitive.GroupLabel.Props) {\n return (\n \n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: SelectPrimitive.Item.Props) {\n return (\n \n \n {children}\n \n \n }\n >\n \n \n \n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: SelectPrimitive.Separator.Props) {\n return (\n \n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n \n \n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n \n \n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n",
"type": "registry:ui"
}
],
"css": {
"@layer components": ".select-classic {\n --btn-classic-bg: var(--background);\n position: relative;\n z-index: 0;\n background-image: linear-gradient(to bottom, transparent 50%, oklch(0 0 0 / 0.02));\n box-shadow: inset 0 1px 0 0 oklch(1 0 0 / 0.6), 0 1px 2px 0 oklch(0 0 0 / 0.05), 0 0 0 1px var(--border);\n}\n.select-classic::after {\n content: '';\n position: absolute;\n border-radius: inherit;\n pointer-events: none;\n inset: 0;\n z-index: -1;\n border: 1px solid transparent;\n background-clip: content-box;\n background-color: inherit;\n background-image: linear-gradient(oklch(0 0 0 / 0.01), transparent 40%, oklch(1 0 0 / 0.04));\n box-shadow: inset 0 2px 3px -1px oklch(1 0 0 / 0.3);\n}"
},
"type": "registry:ui"
}