Select
edgecom/selectFreeComponent
The Edgecom Select component.
Live preview
live · rendered by the registry
Rendered by edgecom on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://design.edgecom.ai/r/select.jsonSource
1"use client"23import * as React from "react"4import { Select as SelectPrimitive } from "@base-ui/react/select"56import { cn } from "@/lib/utils"7import { ChevronDownIcon, ChevronUpIcon } from "lucide-react"89const Select = SelectPrimitive.Root1011function SelectGroup({ className, ...props }: SelectPrimitive.Group.Props) {12 return (13 <SelectPrimitive.Group14 data-slot="select-group"15 className={cn("scroll-my-1 flex flex-col gap-0.5", className)}16 {...props}17 />18 )19}2021function SelectValue({ className, ...props }: SelectPrimitive.Value.Props) {22 return (23 <SelectPrimitive.Value24 data-slot="select-value"25 className={cn("flex flex-1 text-left", className)}26 {...props}27 />28 )29}3031function SelectTrigger({32 className,33 size = "default",34 children,35 ...props36}: SelectPrimitive.Trigger.Props & {37 size?: "sm" | "default"38}) {39 return (40 <SelectPrimitive.Trigger41 data-slot="select-trigger"42 data-size={size}43 className={cn(44 "flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",45 className46 )}47 {...props}48 >49 {children}50 <SelectPrimitive.Icon51 render={52 <ChevronDownIcon className="pointer-events-none size-4 text-muted-foreground" />53 }54 />55 </SelectPrimitive.Trigger>56 )57}5859function SelectContent({60 className,61 children,62 side = "bottom",63 sideOffset = 4,64 align = "start",65 alignOffset = 0,66 alignItemWithTrigger = false,67 ...props68}: SelectPrimitive.Popup.Props &69 Pick<70 SelectPrimitive.Positioner.Props,71 "align" | "alignOffset" | "side" | "sideOffset" | "alignItemWithTrigger"72 >) {73 return (74// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from edgecom
All 66 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | edgecom | Components | Free | 2 deps | |
| Alertalert | edgecom | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | edgecom | Components | Free | 1 dep | |
| Avataravatar | edgecom | Components | Free | 1 dep | |
| Badgebadge | edgecom | Components | Free | 2 deps | |
| Bannerbanner | edgecom | Components | Free | 1 dep | |
| Breadcrumbbreadcrumb | edgecom | Components | Free | 2 deps | |
| Buttonbutton | edgecom | Components | Free | 2 deps |
