Select
glasswave/selectFreeComponent
Select dropdown for options.
Live preview
live · rendered by the registry
Rendered by glasswave on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://glasswave.denizisik.com/r/select.jsonSource
1"use client";23import * as RadixSelect from "@radix-ui/react-select";4import { Check, ChevronDown, ChevronUp } from "lucide-react";5import { forwardRef } from "react";6import { cn } from "@/lib/utils";7import { focusRing, glass } from "@/lib/glass";89export const Select = RadixSelect.Root;1011export const SelectTrigger = forwardRef<12 HTMLButtonElement,13 React.ComponentPropsWithoutRef<typeof RadixSelect.Trigger>14>(({ className, children, ...props }, ref) => (15 <RadixSelect.Trigger16 ref={ref}17 className={cn(18 glass,19 focusRing,20 "group text-left w-full px-4 py-2 rounded-full inline-flex items-center justify-between gap-2",21 className,22 )}23 {...props}24 >25 {children}26 <RadixSelect.Icon asChild>27 <ChevronDown28 className="size-4 shrink-0 opacity-60 transition-transform duration-200 group-data-[state=open]:rotate-180"29 aria-hidden30 />31 </RadixSelect.Icon>32 </RadixSelect.Trigger>33));34SelectTrigger.displayName = "SelectTrigger";3536export const SelectValue = RadixSelect.Value;3738const SelectScrollUpButton = forwardRef<39 HTMLDivElement,40 React.ComponentPropsWithoutRef<typeof RadixSelect.ScrollUpButton>41>(({ className, ...props }, ref) => (42 <RadixSelect.ScrollUpButton43 ref={ref}44 className={cn(45 "flex h-7 w-full shrink-0 cursor-default items-center justify-center border-b border-black/[0.08] dark:border-white/10 bg-black/[0.03] dark:bg-white/[0.04] text-current/70",46 "[&[data-state=hidden]]:hidden",47 className,48 )}49 {...props}50 >51 <ChevronUp className="size-4" aria-hidden />52 </RadixSelect.ScrollUpButton>53));54SelectScrollUpButton.displayName = RadixSelect.ScrollUpButton.displayName;5556const SelectScrollDownButton = forwardRef<57 HTMLDivElement,58 React.ComponentPropsWithoutRef<typeof RadixSelect.ScrollDownButton>59>(({ className, ...props }, ref) => (60 <RadixSelect.ScrollDownButton61 ref={ref}62 className={cn(63 "flex h-7 w-full shrink-0 cursor-default items-center justify-center border-t border-black/[0.08] dark:border-white/10 bg-black/[0.03] dark:bg-white/[0.04] text-current/70",64 "[&[data-state=hidden]]:hidden",65 className,66 )}67 {...props}68 >69 <ChevronDown className="size-4" aria-hidden />70 </RadixSelect.ScrollDownButton>71));72SelectScrollDownButton.displayName = RadixSelect.ScrollDownButton.displayName;7374export const SelectContent = forwardRef<75 HTMLDivElement,76 React.ComponentPropsWithoutRef<typeof RadixSelect.Content>77>(78 (79 {80// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from glasswave
All 60 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | glasswave | Components | Free | 2 deps | |
| Alertalert | glasswave | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | glasswave | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | glasswave | Components | Free | 1 dep | |
| Avataravatar | glasswave | Components | Free | 1 dep | |
| Badgebadge | glasswave | Components | Free | 1 dep | |
| Breadcrumbbreadcrumb | glasswave | Components | Free | 2 deps | |
| Buttonbutton | glasswave | Components | Free | 2 deps |
