Select
aqua/selectFreeComponent
The Aqua popup button: glossy capsule with a gel arrow box, menu with gel highlight.
Live preview
live · rendered by the registry
Rendered by aqua on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://aqua.duca.dev/r/select.jsonSource
1"use client"23import * as React from "react"4import * as SelectPrimitive from "@radix-ui/react-select"5import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react"67import { cn } from "@/lib/utils"89function Select({10 ...props11}: React.ComponentProps<typeof SelectPrimitive.Root>) {12 return <SelectPrimitive.Root data-slot="select" {...props} />13}1415function SelectGroup({16 ...props17}: React.ComponentProps<typeof SelectPrimitive.Group>) {18 return <SelectPrimitive.Group data-slot="select-group" {...props} />19}2021function SelectValue({22 ...props23}: React.ComponentProps<typeof SelectPrimitive.Value>) {24 return <SelectPrimitive.Value data-slot="select-value" {...props} />25}2627function SelectTrigger({28 className,29 children,30 ...props31}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {32 return (33 <SelectPrimitive.Trigger34 data-slot="select-trigger"35 className={cn(36 "flex h-8 w-fit min-w-36 select-none items-center justify-between gap-3 whitespace-nowrap rounded-md border border-[#8b909a] bg-[linear-gradient(180deg,#fdfdfe_0%,#e4e7ec_48%,#d3d7de_52%,#eceef2_100%)] py-0 pl-3 pr-1 text-[13px] text-[#33383f] shadow-[inset_0_1px_1px_rgba(255,255,255,0.9),0_1px_2px_rgba(20,60,130,0.2)] outline-none transition-[filter] [text-shadow:0_1px_0_rgba(255,255,255,0.8)] hover:brightness-103 focus-visible:ring-[3px] focus-visible:ring-[var(--aqua-ring,#6cb0f7)]/70 active:brightness-95 disabled:pointer-events-none disabled:opacity-50 [&_[data-slot=select-value]]:truncate",37 className38 )}39 {...props}40 >41 {children}42 <span className="flex h-6 w-5 shrink-0 flex-col items-center justify-center rounded-[4px] border border-[var(--aqua-edge,#1c5fb8)] bg-[linear-gradient(180deg,var(--aqua-gel-hi,#a8d0f7)_0%,var(--aqua-gel-mid,#4a90ec)_50%,var(--aqua-gel-deep,#2a6fd0)_51%,var(--aqua-gel-light,#6aabf3)_100%)] text-white shadow-[inset_0_1px_0_rgba(255,255,255,0.6)]">43 <ChevronUpIcon className="size-2.5" strokeWidth={3} />44 <ChevronDownIcon className="size-2.5" strokeWidth={3} />45 </span>46 </SelectPrimitive.Trigger>47 )48}4950function SelectContent({51 className,52 children,53 position = "popper",54 ...props55}: React.ComponentProps<typeof SelectPrimitive.Content>) {56 return (57 <SelectPrimitive.Portal>58 <SelectPrimitive.Content59 data-slot="select-content"60 position={position}61 sideOffset={4}62 className={cn(63// … truncated
What it pulls in
npm packages
Files it writes
More from aqua
All 26 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Alertalert | aqua | Components | Free | 1 dep | |
| Avataravatar | aqua | Components | Free | 1 dep | |
| Badgebadge | aqua | Components | Free | 2 deps | |
| Buttonbutton | aqua | Components | Free | 2 deps | |
| Chat Bubblechat-bubble | aqua | Components | Free | no deps | |
| Checkboxcheckbox | aqua | Components | Free | 2 deps | |
| Code Blockcode-block | aqua | Components | Free | 2 deps · 2 files | |
| Cursorcursor | aqua | Components | Free | no deps |
