# shadszn/ui — Complete Documentation
> A glass-morphism design system built on Radix UI, Tailwind CSS, and Framer Motion.
## Quick Start
```bash
# 1. Initialize shadcn in your project
npx shadcn@latest init
# 2. Add the shadszn registry to components.json
# Add: "registries": { "@shadszn": { "url": "https://design.szns.dev/r" } }
# 3. Install the theme
npx shadcn@latest add @shadszn/szns-theme
# 4. Install components
npx shadcn@latest add @shadszn/button @shadszn/card @shadszn/dialog
```
## Design Tokens
### Dark Mode (Default)
- `--bg-deep: #0A0820` — Primary background
- `--bg-base: #0D0B2E` — Elevated background
- `--bg-elevated: #131142` — Highest elevation
- `--glass-bg: rgba(255, 255, 255, 0.04)` — Glass surface
- `--glass-border: rgba(255, 255, 255, 0.08)` — Glass border
- `--text-primary: rgba(255, 255, 255, 0.95)` — Primary text
- `--text-secondary: rgba(255, 255, 255, 0.65)` — Secondary text
- `--brand-navy: #19154E` — Brand navy
- `--brand-lavender: #E8E3FF` — Brand lavender
- `--brand-orange: #FF8B4B` — Brand orange
### Light Mode
- `--bg-deep: #fefcfb` — Warm white background
- `--glass-bg: rgba(25, 21, 78, 0.03)` — Navy-tinted glass
- `--text-primary: #19154E` — Navy text
## Components
### Button
`npx shadcn@latest add @shadszn/button`
Variants: primary, secondary, ghost, destructive, outline, link, orange
Sizes: default, sm, lg, icon
Features: Framer Motion whileTap animation, loading spinner, asChild support
```tsx
import { Button } from "@/components/ui/button"
```
### Card
`npx shadcn@latest add @shadszn/card`
Variants: default, interactive, elevated, featured
Compound components: Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter
```tsx
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
Dashboard
Content here
```
### Input
`npx shadcn@latest add @shadszn/input`
Glass-themed input with error state support.
```tsx
import { Input } from "@/components/ui/input"
```
### Dialog
`npx shadcn@latest add @shadszn/dialog`
Modal dialog with glass overlay and compound pattern.
```tsx
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog"
```
### Toast
`npx shadcn@latest add @shadszn/toast`
Notification toasts with useToast() hook.
```tsx
import { useToast } from "@/components/ui/toast"
const { toast } = useToast()
toast({ title: "Saved", variant: "success" })
toast({ title: "Error", description: "Something went wrong", variant: "destructive" })
```
### Badge
`npx shadcn@latest add @shadszn/badge`
Variants: default, active, maintenance, deprecated, info, warning, error, critical
### Tag
`npx shadcn@latest add @shadszn/tag`
Variants: lavender, orange, active
### Select, Tabs, Tooltip, DropdownMenu, Switch, Separator, Skeleton, Label, Textarea, ThemeToggle, FormField, TagInput
All available via `npx shadcn@latest add @shadszn/`
## Blocks
### Dashboard Layout
`npx shadcn@latest add @shadszn/dashboard-layout`
Full admin dashboard with stat cards, content grid, sidebar.
### Login Page
`npx shadcn@latest add @shadszn/login-page`
Authentication page with gradient orbs background, glass card form.
### Settings Page
`npx shadcn@latest add @shadszn/settings-page`
Tabbed settings with profile, preferences, notifications.
### Data Grid
`npx shadcn@latest add @shadszn/data-grid`
Filterable card grid with search, tags, skeleton loading.
### Detail Page
`npx shadcn@latest add @shadszn/detail-page`
Two-column detail view with metadata sidebar.
### Command Palette
`npx shadcn@latest add @shadszn/command-palette`
Cmd+K keyboard command menu.
### Navbar, Footer, Sidebar, Page Shell
Layout components available as blocks.
## Utilities
### cn()
`npx shadcn@latest add @shadszn/utils`
Class merging: `cn("base", condition && "active", className)`
### Motion Variants
`npx shadcn@latest add @shadszn/motion`
Framer Motion presets: fadeIn, fadeInUp, scaleIn, staggerContainer, hoverLift, tapScale
### useReducedMotion
`npx shadcn@latest add @shadszn/use-reduced-motion`
Detects prefers-reduced-motion preference.