Aurora MultiSelect
aurora-dinglebear-ai/aurora-multi-selectUnverifiedComponent
Aurora MultiSelect — Claude Design parity.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/dinglebear-ai/aurora/main/aurora-multi-select.jsonSource
1"use client"23import * as React from "react"4import { Check, ChevronDown, X } from "lucide-react"5import { cn } from "@/lib/utils"6import { Button } from "./button"78// ─── Types ────────────────────────────────────────────────────────────────────910export interface MultiSelectOption {11 value: string12 label: React.ReactNode13 disabled?: boolean14}1516export interface MultiSelectProps17 extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {18 options: MultiSelectOption[]19 value?: string[]20 defaultValue?: string[]21 onValueChange?: (value: string[]) => void22 open?: boolean23 defaultOpen?: boolean24 onOpenChange?: (open: boolean) => void25 placeholder?: string26 disabled?: boolean27}2829// ─── Chip (selected value) ──────────────────────────────────────────────────3031interface MultiSelectChipProps {32 label: React.ReactNode33 onRemove?: () => void34 disabled?: boolean35}3637const MultiSelectChip = ({ ref, label, onRemove, disabled }: MultiSelectChipProps & { ref?: React.Ref<HTMLSpanElement> }) => (38 <span39 ref={ref}40 className={cn(41 "inline-flex items-center gap-1.5",42 "rounded-[10px] py-1 pl-2.5 pr-1.5",43 "border border-[color-mix(in_srgb,var(--aurora-accent-primary)_45%,transparent)]",44 "bg-[color-mix(in_srgb,var(--aurora-accent-primary)_12%,transparent)]",45 "text-[var(--aurora-text-primary)]"46 )}47 style={{48 fontFamily: "var(--aurora-font-sans)",49 fontSize: "var(--aurora-type-control)",50 fontWeight: "var(--aurora-weight-ui)",51 letterSpacing: "var(--aurora-letter-ui)",52 lineHeight: "var(--aurora-line-dense)",53 }}54 >55 <span className="truncate">{label}</span>56 {onRemove ? (57 <Button58 type="button"59 variant="plain"60 size="unstyled"61 disabled={disabled}62 aria-label="Remove"63 onClick={(event) => {64 event.stopPropagation()65 onRemove()66 }}67 onKeyDown={(event) => event.stopPropagation()}68 className={cn(69 "flex h-4 w-4 shrink-0 items-center justify-center rounded-[6px]",70 "text-[var(--aurora-text-muted)] transition-colors duration-100",71// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from aurora
All 176 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Aurora Accordionaurora-accordion | aurora | Components | Unverified | 2 deps | |
| Aurora Alert Dialogaurora-alert-dialog | aurora | Components | Unverified | 2 deps | |
| Aurora Aspect Ratioaurora-aspect-ratio | aurora | Components | Unverified | no deps | |
| Aurora Avataraurora-avatar | aurora | Components | Unverified | 1 dep | |
| Aurora Badgeaurora-badge | aurora | Components | Unverified | 2 deps | |
| Aurora Banneraurora-banner | aurora | Components | Unverified | 1 dep | |
| Aurora Breadcrumbaurora-breadcrumb | aurora | Components | Unverified | 2 deps | |
| Aurora Buttonaurora-button | aurora | Components | Unverified | 2 deps |
