diff --git a/package.json b/package.json index b53f45d..b0c2e97 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@jason/ui-kit", - "version": "0.2.0", - "description": "Shared design foundation \u2014 branded tokens, Tailwind preset, shadcn-style components, motion, app shell + marketing blocks. Guarded by Impeccable.", + "version": "0.3.0", + "description": "Shared design foundation — branded tokens, Tailwind preset, shadcn-style components, motion, app shell + marketing blocks. Guarded by Impeccable.", "type": "module", "license": "MIT", "author": "Jason ", @@ -45,6 +45,7 @@ "dependencies": { "@radix-ui/react-dialog": "^1.1.4", "@radix-ui/react-dropdown-menu": "^2.1.4", + "@radix-ui/react-select": "^2.3.3", "@radix-ui/react-slot": "^1.1.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", @@ -65,8 +66,8 @@ "impeccable": "^3.2.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "tsup": "^8.3.5", "tailwindcss": "^3.4.17", + "tsup": "^8.3.5", "typescript": "^5.7.2" } } diff --git a/src/components/select.tsx b/src/components/select.tsx index 5e6541f..110543d 100755 --- a/src/components/select.tsx +++ b/src/components/select.tsx @@ -1,27 +1,129 @@ import * as React from "react"; +import * as RS from "@radix-ui/react-select"; +import { Check, ChevronDown } from "lucide-react"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "../lib/cn"; +/** + * Themed Select — a drop-in for a native setX(e.target.value)}> + * + * + * + * + * Radix forbids empty-string item values, but apps use