Select
tdds/selectFreeComponent
Styled select dropdown
Install it
npx shadcn@latest add https://raw.githubusercontent.com/gjohnsx/ttb-label-verification/main/tdds-registry/public/r/select.jsonSource
1"use client"23import * as React from "react"4import { Select as SelectPrimitive } from "radix-ui"56import { cn } from "@/lib/utils"7import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react"89function Select({10 ...props11}: React.ComponentProps<typeof SelectPrimitive.Root>) {12 return <SelectPrimitive.Root data-slot="select" {...props} />13}1415function SelectGroup({16 className,17 ...props18}: React.ComponentProps<typeof SelectPrimitive.Group>) {19 return (20 <SelectPrimitive.Group21 data-slot="select-group"22 className={cn("p-0", className)}23 {...props}24 />25 )26}2728function SelectValue({29 ...props30}: React.ComponentProps<typeof SelectPrimitive.Value>) {31 return <SelectPrimitive.Value data-slot="select-value" {...props} />32}3334function SelectTrigger({35 className,36 size = "default",37 children,38 ...props39}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {40 size?: "sm" | "default"41}) {42 return (43 <SelectPrimitive.Trigger44 data-slot="select-trigger"45 data-size={size}46 className={cn(47 "border-treasury-base-darkest data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-none border bg-transparent py-2 pr-3 pl-3 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-10 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-5 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",48 className49 )}50 {...props}51 >52 {children}53 <SelectPrimitive.Icon asChild>54 <ChevronDownIcon className="text-treasury-primary size-5 pointer-events-none" />55 </SelectPrimitive.Icon>56 </SelectPrimitive.Trigger>57 )58}5960function SelectContent({61 className,62 children,63 position = "popper",64 align = "start",65 sideOffset = -1,66 ...props67}: React.ComponentProps<typeof SelectPrimitive.Content>) {68 return (69 <SelectPrimitive.Portal>70 <SelectPrimitive.Content71// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from tdds
All 43 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | tdds | Components | Free | 2 deps | |
| Alertalert | tdds | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | tdds | Components | Free | 1 dep | |
| Avataravatar | tdds | Components | Free | 1 dep | |
| Badgebadge | tdds | Components | Free | 1 dep | |
| Breadcrumbbreadcrumb | tdds | Components | Free | 2 deps | |
| Buttonbutton | tdds | Components | Free | 2 deps | |
| Button Groupbutton-group | tdds | Components | Free | 1 dep |
