# shadcn/ui — Design & Layout Design tokens, spacing, icons, responsive layouts, and performance tips for shadcn/ui dashboards. --- ## Design Tips ### Color Schemes Use semantic color tokens: - `bg-background` / `text-foreground` — Main background and text - `bg-card` / `text-card-foreground` — Card surfaces - `bg-primary` / `text-primary-foreground` — Primary actions - `bg-destructive` — Destructive actions (delete, etc.) - `bg-muted` / `text-muted-foreground` — Subtle UI elements ### Spacing Use consistent spacing: - `space-y-4` / `gap-4` — Between related items - `space-y-6` / `gap-6` — Between sections - `p-4` / `p-6` — Card padding - `p-8` — Page padding ### Icons Use `lucide-react` for consistent icons: ```typescript import { Home, Users, Settings, Plus, Edit, Trash, Search } from "lucide-react"; ; ``` --- ## Responsive Design ### Grid Layouts ```typescript // 1 column on mobile, 2 on tablet, 4 on desktop
{/* cards */}
// 1 column on mobile, 3 on desktop
{/* cards */}
``` ### Hide on Mobile ```typescript // Hide text on mobile, show on desktop Dashboard // Different layout on mobile
{/* content */}
``` --- ## Performance Tips 1. **Lazy load dialogs** — Only render dialog content when open 2. **Virtualize long lists** — Use libraries like `react-window` 3. **Skeleton loaders** — Always show loading states 4. **Optimistic updates** — Update UI before server confirms 5. **Debounce search** — Don't query on every keystroke --- **Remember**: Always test your components in both light and dark mode, and on different screen sizes. --- For more, see: - **Installation**: `SHADCN_INSTALLATION.md` - **Dashboard patterns**: `SHADCN_DASHBOARD_PATTERNS.md` - **Main guide index**: `SHADCN_COMPONENTS_GUIDE.md`