π§© ΠΠ°ΡΠ°Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² shadcn/ui
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° β ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅Π΅ΡΡΡΠ°. ΠΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊ Π²
src/components/ui/; Π΄Π°Π»ΡΡΠ΅ ΡΡΠΎ Π²Π°Ρ ΠΊΠΎΠ΄. ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊ
Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ: npx shadcn@latest view button.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ°Π·Ρ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ:
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Dialog ΠΏΠΎΠ΄ΡΡΠ½Π΅Ρ Button, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π΅ΡΡ Π½Π΅Ρ.ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
| ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ | ΠΠΎΠΌΠ°Π½Π΄Π° | Π§ΡΠΎ ΡΡΠΎ | ΠΠ΄Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ |
|---|---|---|---|
| Accordion | npx shadcn@latest add accordion | Π Π°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠ΅ΠΊΡΠΈΠΈ | FAQ, Π΄Π»ΠΈΠ½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ |
| Alert | npx shadcn@latest add alert | Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΡΠΎΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ | ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠ°ΡΡΡΡ |
| Alert Dialog | npx shadcn@latest add alert-dialog | ΠΠΈΠ°Π»ΠΎΠ³, ΡΡΠ΅Π±ΡΡΡΠΈΠΉ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° | ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ |
| Avatar | npx shadcn@latest add avatar | ΠΠ²Π°ΡΠ°Ρ Ρ Π·Π°ΠΏΠ°ΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ | ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ |
| Badge | npx shadcn@latest add badge | ΠΠ΅ΡΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ | ΡΡΠ°ΡΡΡΡ, ΡΡΡΡΡΠΈΠΊΠΈ |
| Breadcrumb | npx shadcn@latest add breadcrumb | Π₯Π»Π΅Π±Π½ΡΠ΅ ΠΊΡΠΎΡΠΊΠΈ | Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π² Π³Π»ΡΠ±ΠΎΠΊΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ |
| Button | npx shadcn@latest add button | ΠΠ½ΠΎΠΏΠΊΠ° Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ | Π²Π΅Π·Π΄Π΅ |
| Calendar | npx shadcn@latest add calendar | ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ | ΡΠΈΠ»ΡΡΡΡ, Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ |
| Card | npx shadcn@latest add card | ΠΠ°ΡΡΠΎΡΠΊΠ° ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² | Π±Π»ΠΎΠΊΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° |
| Carousel | npx shadcn@latest add carousel | ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ Π»Π΅Π½ΡΠ° | Π³Π°Π»Π΅ΡΠ΅ΠΈ |
| Chart | npx shadcn@latest add chart | ΠΠ±ΡΡΡΠΊΠΈ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π½Π° ΡΠΎΠΊΠ΅Π½Π°Ρ ΡΠ΅ΠΌΡ | Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° |
| Checkbox | npx shadcn@latest add checkbox | Π§Π΅ΠΊΠ±ΠΎΠΊΡ | ΡΠΎΡΠΌΡ, ΡΠΈΠ»ΡΡΡΡ |
| Collapsible | npx shadcn@latest add collapsible | Π‘Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ | Π΄Π΅ΡΠ°Π»ΠΈ Π·Π°ΠΏΠΈΡΠΈ |
| Command | npx shadcn@latest add command | ΠΠ°Π»ΠΈΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ | Π±ΡΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ, βK |
| Dialog | npx shadcn@latest add dialog | ΠΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ | ΡΠΎΡΠΌΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ |
| Drawer | npx shadcn@latest add drawer | ΠΠ°Π½Π΅Π»Ρ ΡΠ½ΠΈΠ·Ρ | ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ |
| Dropdown Menu | npx shadcn@latest add dropdown-menu | ΠΡΠΏΠ°Π΄Π°ΡΡΠ΅Π΅ ΠΌΠ΅Π½Ρ | Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠΎΡΠΈΠ»Ρ |
| Field | npx shadcn@latest add field | ΠΠ±Π²ΡΠ·ΠΊΠ° ΠΏΠΎΠ»Ρ ΡΠΎΡΠΌΡ | Π²ΡΠ΅ ΡΠΎΡΠΌΡ |
| Hover Card | npx shadcn@latest add hover-card | ΠΠ°ΡΡΠΎΡΠΊΠ° ΠΏΠΎ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ | ΠΏΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ |
| Input | npx shadcn@latest add input | Π’Π΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ | ΡΠΎΡΠΌΡ |
| Input OTP | npx shadcn@latest add input-otp | ΠΠ²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° | Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ |
| Label | npx shadcn@latest add label | ΠΠΎΠ΄ΠΏΠΈΡΡ ΠΏΠΎΠ»Ρ | ΡΠΎΡΠΌΡ |
| Menubar | npx shadcn@latest add menubar | Π‘ΡΡΠΎΠΊΠ° ΠΌΠ΅Π½Ρ | ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ |
| Navigation Menu | npx shadcn@latest add navigation-menu | ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ | ΡΠ°ΠΏΠΊΠ° ΡΠ°ΠΉΡΠ° |
| Pagination | npx shadcn@latest add pagination | ΠΠΎΡΡΡΠ°Π½ΠΈΡΠ½Π°Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ | ΡΠΏΠΈΡΠΊΠΈ, ΡΠ°Π±Π»ΠΈΡΡ |
| Popover | npx shadcn@latest add popover | ΠΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠΉ Π±Π»ΠΎΠΊ | ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ |
| Progress | npx shadcn@latest add progress | ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ | Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Π»ΠΈΠΌΠΈΡΡ |
| Radio Group | npx shadcn@latest add radio-group | ΠΡΡΠΏΠΏΠ° ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ | Π²ΡΠ±ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° |
| Resizable | npx shadcn@latest add resizable | ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ | ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ, IDE-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΊΡΠ°Π½Ρ |
| Scroll Area | npx shadcn@latest add scroll-area | Π‘Π²ΠΎΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ | ΡΠΏΠΈΡΠΊΠΈ Π² ΠΏΠ°Π½Π΅Π»ΡΡ |
| Select | npx shadcn@latest add select | ΠΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ | ΡΠΎΡΠΌΡ |
| Separator | npx shadcn@latest add separator | Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ | ΠΌΠ΅Π½Ρ, ΠΊΠ°ΡΡΠΎΡΠΊΠΈ |
| Sheet | npx shadcn@latest add sheet | ΠΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ | ΡΠΈΠ»ΡΡΡΡ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ |
| Sidebar | npx shadcn@latest add sidebar | ΠΠΎΡΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠΊΠ°Ρ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ | Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ |
| Skeleton | npx shadcn@latest add skeleton | ΠΠ°Π³Π»ΡΡΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ | Π»ΡΠ±ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ |
| Slider | npx shadcn@latest add slider | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ | Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ, Π³ΡΠΎΠΌΠΊΠΎΡΡΡ |
| Sonner | npx shadcn@latest add sonner | ΠΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ | ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ |
| Switch | npx shadcn@latest add switch | ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ | Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ |
| Table | npx shadcn@latest add table | Π’Π°Π±Π»ΠΈΡΠ° | ΡΠΏΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ |
| Tabs | npx shadcn@latest add tabs | ΠΠΊΠ»Π°Π΄ΠΊΠΈ | ΡΠ°Π·Π΄Π΅Π»Ρ ΡΠΊΡΠ°Π½Π° |
| Textarea | npx shadcn@latest add textarea | ΠΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ | ΡΠΎΡΠΌΡ |
| Toggle | npx shadcn@latest add toggle | ΠΠ½ΠΎΠΏΠΊΠ°-ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ | ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² |
| Tooltip | npx shadcn@latest add tooltip | ΠΠΎΡΠΎΡΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° | ΠΈΠΊΠΎΠ½ΠΊΠΈ-ΠΊΠ½ΠΎΠΏΠΊΠΈ |
β οΈ ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: ΡΠΎΡΡΠ°Π²
ΡΠ΅Π΅ΡΡΡΠ° ΠΏΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ β
npx shadcn@latest search
ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π» Components Π½Π° ui.shadcn.com.Π§ΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄ Π·Π°Π΄Π°ΡΡ
| ΠΠ°Π΄Π°ΡΠ° | ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ |
|---|---|
| ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ | AlertDialog |
| ΠΠΎΡΠΎΡΠΊΠ°Ρ ΡΠΎΡΠΌΠ° ΠΏΠΎΠ²Π΅ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ | Dialog |
| Π€ΠΈΠ»ΡΡΡΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ | Sheet ΠΈΠ»ΠΈ Drawer |
| ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π΄ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠΏΠΈΡΠΊΠ° | DropdownMenu |
| ΠΡΠ±ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° | Select |
| ΠΡΠ±ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· 2β4 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² | RadioGroup ΠΈΠ»ΠΈ Tabs |
| ΠΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ | Switch |
| ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠΊΠΎΠ½ΠΊΠ΅ | Tooltip |
| Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ | Sonner |
| ΠΠ°Π½Π½ΡΠ΅ Π΅ΡΡ Π³ΡΡΠ·ΡΡΡΡ | Skeleton |
| ΠΠ°ΡΠΊΠ°Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π° | Sidebar |
| ΠΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ | Command |
ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ±ΡΠ°Π½Ρ Π½Π° ΡΠ΅Ρ ΠΆΠ΅ ΡΠΎΠΊΠ΅Π½Π°Ρ ΡΠ΅ΠΌΡ, ΡΡΠΎ ΠΈ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
Badge
Badge outline
Card
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅
<div class="space-y-4">
<div class="flex flex-wrap items-center gap-2">
<button class="inline-flex h-8 items-center justify-center rounded-lg bg-primary px-2.5 text-sm font-medium text-primary-foreground">Button</button>
<span class="inline-flex h-5 items-center rounded-4xl bg-primary px-2 text-xs font-medium text-primary-foreground">Badge</span>
<span class="inline-flex h-5 items-center rounded-4xl border border-border px-2 text-xs font-medium">Badge outline</span>
<div class="size-8 rounded-full bg-muted"></div>
</div>
<div class="rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-border">
<div class="grid gap-1 px-4"><p class="text-base font-medium">Card</p><p class="text-muted-foreground">ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅</p></div>
<div class="mt-3 flex justify-end gap-2 border-t border-border px-4 pt-3">
<button class="inline-flex h-8 items-center justify-center rounded-lg px-2.5 text-sm font-medium hover:bg-muted">ΠΡΠΌΠ΅Π½Π°</button>
<button class="inline-flex h-8 items-center justify-center rounded-lg bg-primary px-2.5 text-sm font-medium text-primary-foreground">ΠΠ</button>
</div>
</div>
<div class="flex flex-col gap-1.5">
<label class="text-sm font-medium" for="ref-input">Input ΠΈ Label</label>
<input id="ref-input" placeholder="ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" class="h-8 w-full max-w-sm rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50">
</div>
<div class="space-y-2">
<div class="h-4 w-40 animate-pulse rounded-md bg-muted"></div>
<div class="h-4 w-full max-w-sm animate-pulse rounded-md bg-muted"></div>
</div>
</div>