@0xsown/vibe-code-fe 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +181 -0
- package/package.json +32 -0
- package/skills/claude-md-improver/SKILL.md +179 -0
- package/skills/claude-md-improver/references/quality-criteria.md +109 -0
- package/skills/claude-md-improver/references/templates.md +253 -0
- package/skills/claude-md-improver/references/update-guidelines.md +150 -0
- package/skills/find-skills/SKILL.md +133 -0
- package/skills/frontend-design/LICENSE.txt +177 -0
- package/skills/frontend-design/SKILL.md +42 -0
- package/skills/next-best-practices/SKILL.md +153 -0
- package/skills/next-best-practices/async-patterns.md +87 -0
- package/skills/next-best-practices/bundling.md +180 -0
- package/skills/next-best-practices/data-patterns.md +297 -0
- package/skills/next-best-practices/debug-tricks.md +105 -0
- package/skills/next-best-practices/directives.md +73 -0
- package/skills/next-best-practices/error-handling.md +227 -0
- package/skills/next-best-practices/file-conventions.md +140 -0
- package/skills/next-best-practices/font.md +245 -0
- package/skills/next-best-practices/functions.md +108 -0
- package/skills/next-best-practices/hydration-error.md +91 -0
- package/skills/next-best-practices/image.md +173 -0
- package/skills/next-best-practices/metadata.md +301 -0
- package/skills/next-best-practices/parallel-routes.md +287 -0
- package/skills/next-best-practices/route-handlers.md +146 -0
- package/skills/next-best-practices/rsc-boundaries.md +159 -0
- package/skills/next-best-practices/runtime-selection.md +39 -0
- package/skills/next-best-practices/scripts.md +141 -0
- package/skills/next-best-practices/self-hosting.md +371 -0
- package/skills/next-best-practices/suspense-boundaries.md +67 -0
- package/skills/next-cache-components/SKILL.md +411 -0
- package/skills/shadcn-ui/README.md +248 -0
- package/skills/shadcn-ui/SKILL.md +326 -0
- package/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
- package/skills/shadcn-ui/examples/data-table.tsx +313 -0
- package/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
- package/skills/shadcn-ui/resources/component-catalog.md +481 -0
- package/skills/shadcn-ui/resources/customization-guide.md +516 -0
- package/skills/shadcn-ui/resources/migration-guide.md +463 -0
- package/skills/shadcn-ui/resources/setup-guide.md +412 -0
- package/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
- package/skills/supabase-postgres-best-practices/AGENTS.md +68 -0
- package/skills/supabase-postgres-best-practices/CLAUDE.md +68 -0
- package/skills/supabase-postgres-best-practices/README.md +116 -0
- package/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/skills/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
- package/skills/tailwind-design-system/SKILL.md +874 -0
- package/skills/vercel-composition-patterns/AGENTS.md +946 -0
- package/skills/vercel-composition-patterns/README.md +60 -0
- package/skills/vercel-composition-patterns/SKILL.md +89 -0
- package/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/skills/vercel-react-best-practices/README.md +123 -0
- package/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/skills/vercel-react-native-skills/AGENTS.md +2897 -0
- package/skills/vercel-react-native-skills/README.md +165 -0
- package/skills/vercel-react-native-skills/SKILL.md +121 -0
- package/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
- package/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
- package/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
- package/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
- package/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
- package/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
- package/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
- package/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
- package/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
- package/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
- package/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
- package/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
- package/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
- package/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
- package/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
- package/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
- package/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
- package/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
- package/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
- package/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
- package/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
- package/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
- package/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
- package/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
- package/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
- package/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
- package/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
- package/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
- package/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
- package/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
- package/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
- package/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
- package/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
- package/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
- package/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
- package/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/templates/AGENTS.md +31 -0
- package/templates/CLAUDE.md +31 -0
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
# shadcn/ui Component Catalog
|
|
2
|
+
|
|
3
|
+
Complete reference of all available shadcn/ui components, organized by category.
|
|
4
|
+
|
|
5
|
+
> **Note**: This catalog lists dependencies based on **Radix UI**. If you are using **Base UI**, the `add` command will handle the correct dependencies automatically.
|
|
6
|
+
|
|
7
|
+
## Layout Components
|
|
8
|
+
|
|
9
|
+
### Accordion
|
|
10
|
+
Collapsible content sections.
|
|
11
|
+
```bash
|
|
12
|
+
npx shadcn@latest add accordion
|
|
13
|
+
```
|
|
14
|
+
**Use cases**: FAQs, settings panels, navigation menus
|
|
15
|
+
**Key props**: `type` (single/multiple), `collapsible`
|
|
16
|
+
**Dependencies**: @radix-ui/react-accordion
|
|
17
|
+
|
|
18
|
+
### Card
|
|
19
|
+
Container for grouping related content.
|
|
20
|
+
```bash
|
|
21
|
+
npx shadcn@latest add card
|
|
22
|
+
```
|
|
23
|
+
**Sub-components**: CardHeader, CardTitle, CardDescription, CardContent, CardFooter
|
|
24
|
+
**Use cases**: Product cards, profile cards, dashboard widgets
|
|
25
|
+
**Dependencies**: None
|
|
26
|
+
|
|
27
|
+
### Separator
|
|
28
|
+
Visual divider between content sections.
|
|
29
|
+
```bash
|
|
30
|
+
npx shadcn@latest add separator
|
|
31
|
+
```
|
|
32
|
+
**Props**: `orientation` (horizontal/vertical), `decorative`
|
|
33
|
+
**Dependencies**: @radix-ui/react-separator
|
|
34
|
+
|
|
35
|
+
### Tabs
|
|
36
|
+
Organize content into multiple panels, one visible at a time.
|
|
37
|
+
```bash
|
|
38
|
+
npx shadcn@latest add tabs
|
|
39
|
+
```
|
|
40
|
+
**Sub-components**: TabsList, TabsTrigger, TabsContent
|
|
41
|
+
**Use cases**: Settings pages, dashboards, multi-step forms
|
|
42
|
+
**Dependencies**: @radix-ui/react-tabs
|
|
43
|
+
|
|
44
|
+
### Collapsible
|
|
45
|
+
Show/hide content with smooth animation.
|
|
46
|
+
```bash
|
|
47
|
+
npx shadcn@latest add collapsible
|
|
48
|
+
```
|
|
49
|
+
**Props**: `open`, `onOpenChange`, `disabled`
|
|
50
|
+
**Dependencies**: @radix-ui/react-collapsible
|
|
51
|
+
|
|
52
|
+
## Form Components
|
|
53
|
+
|
|
54
|
+
### Button
|
|
55
|
+
Clickable button with variants and sizes.
|
|
56
|
+
```bash
|
|
57
|
+
npx shadcn@latest add button
|
|
58
|
+
```
|
|
59
|
+
**Variants**: default, destructive, outline, secondary, ghost, link
|
|
60
|
+
**Sizes**: default, sm, lg, icon
|
|
61
|
+
**Dependencies**: @radix-ui/react-slot
|
|
62
|
+
|
|
63
|
+
### Input
|
|
64
|
+
Text input field.
|
|
65
|
+
```bash
|
|
66
|
+
npx shadcn@latest add input
|
|
67
|
+
```
|
|
68
|
+
**Types**: text, email, password, number, tel, url
|
|
69
|
+
**Use cases**: Forms, search bars, filters
|
|
70
|
+
**Dependencies**: None
|
|
71
|
+
|
|
72
|
+
### Label
|
|
73
|
+
Accessible label for form fields.
|
|
74
|
+
```bash
|
|
75
|
+
npx shadcn@latest add label
|
|
76
|
+
```
|
|
77
|
+
**Use with**: All form inputs for accessibility
|
|
78
|
+
**Dependencies**: @radix-ui/react-label
|
|
79
|
+
|
|
80
|
+
### Textarea
|
|
81
|
+
Multi-line text input.
|
|
82
|
+
```bash
|
|
83
|
+
npx shadcn@latest add textarea
|
|
84
|
+
```
|
|
85
|
+
**Props**: `rows`, `cols`, `resize` (via className)
|
|
86
|
+
**Dependencies**: None
|
|
87
|
+
|
|
88
|
+
### Checkbox
|
|
89
|
+
Binary toggle control.
|
|
90
|
+
```bash
|
|
91
|
+
npx shadcn@latest add checkbox
|
|
92
|
+
```
|
|
93
|
+
**Props**: `checked`, `onCheckedChange`, `disabled`
|
|
94
|
+
**Dependencies**: @radix-ui/react-checkbox
|
|
95
|
+
|
|
96
|
+
### Radio Group
|
|
97
|
+
Select one option from a set.
|
|
98
|
+
```bash
|
|
99
|
+
npx shadcn@latest add radio-group
|
|
100
|
+
```
|
|
101
|
+
**Sub-components**: RadioGroupItem
|
|
102
|
+
**Dependencies**: @radix-ui/react-radio-group
|
|
103
|
+
|
|
104
|
+
### Select
|
|
105
|
+
Dropdown selection control.
|
|
106
|
+
```bash
|
|
107
|
+
npx shadcn@latest add select
|
|
108
|
+
```
|
|
109
|
+
**Sub-components**: SelectTrigger, SelectContent, SelectItem, SelectValue
|
|
110
|
+
**Use cases**: Country selectors, category filters
|
|
111
|
+
**Dependencies**: @radix-ui/react-select
|
|
112
|
+
|
|
113
|
+
### Switch
|
|
114
|
+
Binary toggle with visual feedback.
|
|
115
|
+
```bash
|
|
116
|
+
npx shadcn@latest add switch
|
|
117
|
+
```
|
|
118
|
+
**Props**: `checked`, `onCheckedChange`, `disabled`
|
|
119
|
+
**Use cases**: Settings toggles, feature flags
|
|
120
|
+
**Dependencies**: @radix-ui/react-switch
|
|
121
|
+
|
|
122
|
+
### Slider
|
|
123
|
+
Select value from a range.
|
|
124
|
+
```bash
|
|
125
|
+
npx shadcn@latest add slider
|
|
126
|
+
```
|
|
127
|
+
**Props**: `min`, `max`, `step`, `value`, `onValueChange`
|
|
128
|
+
**Use cases**: Volume controls, filters, settings
|
|
129
|
+
**Dependencies**: @radix-ui/react-slider
|
|
130
|
+
|
|
131
|
+
### Form
|
|
132
|
+
Comprehensive form component with validation.
|
|
133
|
+
```bash
|
|
134
|
+
npx shadcn@latest add form
|
|
135
|
+
```
|
|
136
|
+
**Sub-components**: FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage
|
|
137
|
+
**Best used with**: react-hook-form, zod
|
|
138
|
+
**Dependencies**: @radix-ui/react-label, @radix-ui/react-slot
|
|
139
|
+
|
|
140
|
+
## Data Display
|
|
141
|
+
|
|
142
|
+
### Table
|
|
143
|
+
Display structured data in rows and columns.
|
|
144
|
+
```bash
|
|
145
|
+
npx shadcn@latest add table
|
|
146
|
+
```
|
|
147
|
+
**Sub-components**: TableHeader, TableBody, TableHead, TableRow, TableCell, TableFooter, TableCaption
|
|
148
|
+
**Best used with**: @tanstack/react-table
|
|
149
|
+
**Dependencies**: None
|
|
150
|
+
|
|
151
|
+
### Badge
|
|
152
|
+
Highlight status or category.
|
|
153
|
+
```bash
|
|
154
|
+
npx shadcn@latest add badge
|
|
155
|
+
```
|
|
156
|
+
**Variants**: default, secondary, destructive, outline
|
|
157
|
+
**Use cases**: Status indicators, tags, notifications
|
|
158
|
+
**Dependencies**: None
|
|
159
|
+
|
|
160
|
+
### Avatar
|
|
161
|
+
Display user profile images with fallback.
|
|
162
|
+
```bash
|
|
163
|
+
npx shadcn@latest add avatar
|
|
164
|
+
```
|
|
165
|
+
**Sub-components**: AvatarImage, AvatarFallback
|
|
166
|
+
**Dependencies**: @radix-ui/react-avatar
|
|
167
|
+
|
|
168
|
+
### Progress
|
|
169
|
+
Visual indicator of task completion.
|
|
170
|
+
```bash
|
|
171
|
+
npx shadcn@latest add progress
|
|
172
|
+
```
|
|
173
|
+
**Props**: `value` (0-100)
|
|
174
|
+
**Dependencies**: @radix-ui/react-progress
|
|
175
|
+
|
|
176
|
+
### Skeleton
|
|
177
|
+
Loading placeholder with animation.
|
|
178
|
+
```bash
|
|
179
|
+
npx shadcn@latest add skeleton
|
|
180
|
+
```
|
|
181
|
+
**Use cases**: Content loading states
|
|
182
|
+
**Dependencies**: None
|
|
183
|
+
|
|
184
|
+
### Calendar
|
|
185
|
+
Date selection interface.
|
|
186
|
+
```bash
|
|
187
|
+
npx shadcn@latest add calendar
|
|
188
|
+
```
|
|
189
|
+
**Props**: `mode` (single/multiple/range), `selected`, `onSelect`
|
|
190
|
+
**Dependencies**: react-day-picker
|
|
191
|
+
|
|
192
|
+
## Overlay Components
|
|
193
|
+
|
|
194
|
+
### Dialog
|
|
195
|
+
Modal dialog overlay.
|
|
196
|
+
```bash
|
|
197
|
+
npx shadcn@latest add dialog
|
|
198
|
+
```
|
|
199
|
+
**Sub-components**: DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription
|
|
200
|
+
**Use cases**: Confirmations, forms, detailed views
|
|
201
|
+
**Dependencies**: @radix-ui/react-dialog
|
|
202
|
+
|
|
203
|
+
### Sheet
|
|
204
|
+
Side panel that slides in from edge.
|
|
205
|
+
```bash
|
|
206
|
+
npx shadcn@latest add sheet
|
|
207
|
+
```
|
|
208
|
+
**Sides**: top, right, bottom, left
|
|
209
|
+
**Sub-components**: SheetTrigger, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription
|
|
210
|
+
**Use cases**: Navigation menus, filters, settings
|
|
211
|
+
**Dependencies**: @radix-ui/react-dialog
|
|
212
|
+
|
|
213
|
+
### Popover
|
|
214
|
+
Floating content container.
|
|
215
|
+
```bash
|
|
216
|
+
npx shadcn@latest add popover
|
|
217
|
+
```
|
|
218
|
+
**Sub-components**: PopoverTrigger, PopoverContent
|
|
219
|
+
**Use cases**: Tooltips with actions, mini forms
|
|
220
|
+
**Dependencies**: @radix-ui/react-popover
|
|
221
|
+
|
|
222
|
+
### Tooltip
|
|
223
|
+
Contextual information on hover.
|
|
224
|
+
```bash
|
|
225
|
+
npx shadcn@latest add tooltip
|
|
226
|
+
```
|
|
227
|
+
**Sub-components**: TooltipProvider, TooltipTrigger, TooltipContent
|
|
228
|
+
**Props**: `side`, `sideOffset`, `delayDuration`
|
|
229
|
+
**Dependencies**: @radix-ui/react-tooltip
|
|
230
|
+
|
|
231
|
+
### Dropdown Menu
|
|
232
|
+
Context menu with actions.
|
|
233
|
+
```bash
|
|
234
|
+
npx shadcn@latest add dropdown-menu
|
|
235
|
+
```
|
|
236
|
+
**Sub-components**: DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuSeparator, DropdownMenuLabel
|
|
237
|
+
**Use cases**: Action menus, settings
|
|
238
|
+
**Dependencies**: @radix-ui/react-dropdown-menu
|
|
239
|
+
|
|
240
|
+
### Context Menu
|
|
241
|
+
Right-click menu.
|
|
242
|
+
```bash
|
|
243
|
+
npx shadcn@latest add context-menu
|
|
244
|
+
```
|
|
245
|
+
**Sub-components**: Similar to DropdownMenu
|
|
246
|
+
**Use cases**: Right-click actions, advanced UIs
|
|
247
|
+
**Dependencies**: @radix-ui/react-context-menu
|
|
248
|
+
|
|
249
|
+
### Menubar
|
|
250
|
+
Horizontal menu bar.
|
|
251
|
+
```bash
|
|
252
|
+
npx shadcn@latest add menubar
|
|
253
|
+
```
|
|
254
|
+
**Sub-components**: MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem
|
|
255
|
+
**Use cases**: Application menus (File, Edit, View)
|
|
256
|
+
**Dependencies**: @radix-ui/react-menubar
|
|
257
|
+
|
|
258
|
+
### Alert Dialog
|
|
259
|
+
Modal dialog for important confirmations.
|
|
260
|
+
```bash
|
|
261
|
+
npx shadcn@latest add alert-dialog
|
|
262
|
+
```
|
|
263
|
+
**Sub-components**: AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel
|
|
264
|
+
**Use cases**: Delete confirmations, destructive actions
|
|
265
|
+
**Dependencies**: @radix-ui/react-alert-dialog
|
|
266
|
+
|
|
267
|
+
### Hover Card
|
|
268
|
+
Content card revealed on hover.
|
|
269
|
+
```bash
|
|
270
|
+
npx shadcn@latest add hover-card
|
|
271
|
+
```
|
|
272
|
+
**Sub-components**: HoverCardTrigger, HoverCardContent
|
|
273
|
+
**Use cases**: User previews, detailed information
|
|
274
|
+
**Dependencies**: @radix-ui/react-hover-card
|
|
275
|
+
|
|
276
|
+
## Navigation
|
|
277
|
+
|
|
278
|
+
### Navigation Menu
|
|
279
|
+
Accessible navigation with dropdowns.
|
|
280
|
+
```bash
|
|
281
|
+
npx shadcn@latest add navigation-menu
|
|
282
|
+
```
|
|
283
|
+
**Sub-components**: NavigationMenuList, NavigationMenuItem, NavigationMenuTrigger, NavigationMenuContent, NavigationMenuLink
|
|
284
|
+
**Use cases**: Main site navigation
|
|
285
|
+
**Dependencies**: @radix-ui/react-navigation-menu
|
|
286
|
+
|
|
287
|
+
### Breadcrumb
|
|
288
|
+
Show current page location in hierarchy.
|
|
289
|
+
```bash
|
|
290
|
+
npx shadcn@latest add breadcrumb
|
|
291
|
+
```
|
|
292
|
+
**Sub-components**: BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator
|
|
293
|
+
**Use cases**: Multi-level navigation
|
|
294
|
+
**Dependencies**: None
|
|
295
|
+
|
|
296
|
+
### Pagination
|
|
297
|
+
Navigate through pages of content.
|
|
298
|
+
```bash
|
|
299
|
+
npx shadcn@latest add pagination
|
|
300
|
+
```
|
|
301
|
+
**Sub-components**: PaginationContent, PaginationItem, PaginationLink, PaginationPrevious, PaginationNext, PaginationEllipsis
|
|
302
|
+
**Dependencies**: None
|
|
303
|
+
|
|
304
|
+
## Feedback Components
|
|
305
|
+
|
|
306
|
+
### Alert
|
|
307
|
+
Display important messages.
|
|
308
|
+
```bash
|
|
309
|
+
npx shadcn@latest add alert
|
|
310
|
+
```
|
|
311
|
+
**Variants**: default, destructive
|
|
312
|
+
**Sub-components**: AlertTitle, AlertDescription
|
|
313
|
+
**Use cases**: Error messages, warnings, info
|
|
314
|
+
**Dependencies**: None
|
|
315
|
+
|
|
316
|
+
### Toast
|
|
317
|
+
Temporary notification message.
|
|
318
|
+
```bash
|
|
319
|
+
npx shadcn@latest add toast
|
|
320
|
+
```
|
|
321
|
+
**Props**: `title`, `description`, `action`, `variant`
|
|
322
|
+
**Usage**: Via `useToast()` hook
|
|
323
|
+
**Dependencies**: @radix-ui/react-toast
|
|
324
|
+
|
|
325
|
+
### Sonner
|
|
326
|
+
Alternative toast implementation.
|
|
327
|
+
```bash
|
|
328
|
+
npx shadcn@latest add sonner
|
|
329
|
+
```
|
|
330
|
+
**Better for**: Rich notifications, multiple toasts
|
|
331
|
+
**Dependencies**: sonner
|
|
332
|
+
|
|
333
|
+
## Command & Search
|
|
334
|
+
|
|
335
|
+
### Command
|
|
336
|
+
Command palette with search and keyboard navigation.
|
|
337
|
+
```bash
|
|
338
|
+
npx shadcn@latest add command
|
|
339
|
+
```
|
|
340
|
+
**Sub-components**: CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandSeparator
|
|
341
|
+
**Use cases**: Command palettes, search interfaces
|
|
342
|
+
**Dependencies**: cmdk
|
|
343
|
+
|
|
344
|
+
### Combobox
|
|
345
|
+
Searchable select dropdown.
|
|
346
|
+
```bash
|
|
347
|
+
npx shadcn@latest add combobox
|
|
348
|
+
```
|
|
349
|
+
**Use cases**: Autocomplete, country selectors
|
|
350
|
+
**Dependencies**: cmdk (via command)
|
|
351
|
+
|
|
352
|
+
## Utility Components
|
|
353
|
+
|
|
354
|
+
### Aspect Ratio
|
|
355
|
+
Maintain consistent width-height ratio.
|
|
356
|
+
```bash
|
|
357
|
+
npx shadcn@latest add aspect-ratio
|
|
358
|
+
```
|
|
359
|
+
**Props**: `ratio` (e.g., 16/9, 4/3)
|
|
360
|
+
**Dependencies**: @radix-ui/react-aspect-ratio
|
|
361
|
+
|
|
362
|
+
### Scroll Area
|
|
363
|
+
Custom scrollbar styling.
|
|
364
|
+
```bash
|
|
365
|
+
npx shadcn@latest add scroll-area
|
|
366
|
+
```
|
|
367
|
+
**Use cases**: Custom scrollable areas
|
|
368
|
+
**Dependencies**: @radix-ui/react-scroll-area
|
|
369
|
+
|
|
370
|
+
### Resizable
|
|
371
|
+
Resizable panel layout.
|
|
372
|
+
```bash
|
|
373
|
+
npx shadcn@latest add resizable
|
|
374
|
+
```
|
|
375
|
+
**Sub-components**: ResizablePanelGroup, ResizablePanel, ResizableHandle
|
|
376
|
+
**Use cases**: Split views, adjustable layouts
|
|
377
|
+
**Dependencies**: react-resizable-panels
|
|
378
|
+
|
|
379
|
+
## Date & Time
|
|
380
|
+
|
|
381
|
+
### Date Picker
|
|
382
|
+
Select dates with calendar popup.
|
|
383
|
+
```bash
|
|
384
|
+
npx shadcn@latest add date-picker
|
|
385
|
+
```
|
|
386
|
+
**Variants**: Single date, date range
|
|
387
|
+
**Dependencies**: react-day-picker, date-fns
|
|
388
|
+
|
|
389
|
+
## Advanced Components
|
|
390
|
+
|
|
391
|
+
### Carousel
|
|
392
|
+
Slideshow component.
|
|
393
|
+
```bash
|
|
394
|
+
npx shadcn@latest add carousel
|
|
395
|
+
```
|
|
396
|
+
**Sub-components**: CarouselContent, CarouselItem, CarouselPrevious, CarouselNext
|
|
397
|
+
**Dependencies**: embla-carousel-react
|
|
398
|
+
|
|
399
|
+
### Drawer
|
|
400
|
+
Bottom drawer for mobile interfaces.
|
|
401
|
+
```bash
|
|
402
|
+
npx shadcn@latest add drawer
|
|
403
|
+
```
|
|
404
|
+
**Best for**: Mobile-first designs
|
|
405
|
+
**Dependencies**: vaul
|
|
406
|
+
|
|
407
|
+
## Component Composition Patterns
|
|
408
|
+
|
|
409
|
+
### Form + Validation Pattern
|
|
410
|
+
```bash
|
|
411
|
+
npx shadcn@latest add form input label button
|
|
412
|
+
npm install react-hook-form zod @hookform/resolvers
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
### Data Table Pattern
|
|
416
|
+
```bash
|
|
417
|
+
npx shadcn@latest add table button dropdown-menu
|
|
418
|
+
npm install @tanstack/react-table
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### Dashboard Layout Pattern
|
|
422
|
+
```bash
|
|
423
|
+
npx shadcn@latest add card tabs badge avatar
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
### Authentication Pattern
|
|
427
|
+
```bash
|
|
428
|
+
npx shadcn@latest add card input label button tabs
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
## Quick Reference
|
|
432
|
+
|
|
433
|
+
| Component | Category | Complexity | Dependencies |
|
|
434
|
+
|-----------|----------|------------|--------------|
|
|
435
|
+
| Button | Form | Simple | radix-slot |
|
|
436
|
+
| Input | Form | Simple | None |
|
|
437
|
+
| Card | Layout | Simple | None |
|
|
438
|
+
| Dialog | Overlay | Medium | radix-dialog |
|
|
439
|
+
| Table | Data | Simple | None |
|
|
440
|
+
| Form | Form | Complex | radix-label/slot |
|
|
441
|
+
| Command | Search | Complex | cmdk |
|
|
442
|
+
| Calendar | Date | Medium | react-day-picker |
|
|
443
|
+
|
|
444
|
+
## Installation Shortcuts
|
|
445
|
+
|
|
446
|
+
Common component bundles:
|
|
447
|
+
|
|
448
|
+
```bash
|
|
449
|
+
# Essential forms
|
|
450
|
+
npx shadcn@latest add form input label button select checkbox
|
|
451
|
+
|
|
452
|
+
# Data display
|
|
453
|
+
npx shadcn@latest add table badge avatar progress skeleton
|
|
454
|
+
|
|
455
|
+
# Overlay/modal components
|
|
456
|
+
npx shadcn@latest add dialog sheet popover tooltip alert-dialog
|
|
457
|
+
|
|
458
|
+
# Navigation
|
|
459
|
+
npx shadcn@latest add navigation-menu breadcrumb pagination
|
|
460
|
+
|
|
461
|
+
# Layout
|
|
462
|
+
npx shadcn@latest add card accordion tabs separator
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
## Component Updates
|
|
466
|
+
|
|
467
|
+
To update components to the latest version:
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
# Re-add component (will prompt to overwrite)
|
|
471
|
+
npx shadcn@latest add button
|
|
472
|
+
|
|
473
|
+
# Or use diff command to see changes
|
|
474
|
+
npx shadcn@latest diff button
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
## Further Reading
|
|
478
|
+
|
|
479
|
+
- [Official Component Docs](https://ui.shadcn.com/docs/components)
|
|
480
|
+
- [Component Examples](https://ui.shadcn.com/examples)
|
|
481
|
+
- [Radix UI Primitives](https://www.radix-ui.com/primitives)
|