Tabs
avail-widgets/tabsFreeComponent
UI primitive: Tabs
Install it
npx shadcn@latest add https://elements.nexus.availproject.org/r/tabs.jsonSource
1"use client";23import * as React from "react";4import * as TabsPrimitive from "@radix-ui/react-tabs";56import { cn } from "@/lib/utils";78function Tabs({9 className,10 ...props11}: React.ComponentProps<typeof TabsPrimitive.Root>) {12 return (13 <TabsPrimitive.Root14 data-slot="tabs"15 className={cn("flex flex-col gap-2", className)}16 {...props}17 />18 );19}2021function TabsList({22 className,23 ...props24}: React.ComponentProps<typeof TabsPrimitive.List>) {25 return (26 <TabsPrimitive.List27 data-slot="tabs-list"28 className={cn(29 "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",30 className31 )}32 {...props}33 />34 );35}3637function TabsTrigger({38 className,39 ...props40}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {41 return (42 <TabsPrimitive.Trigger43 data-slot="tabs-trigger"44 className={cn(45 "data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",46 className47 )}48 {...props}49 />50 );51}5253function TabsContent({54 className,55 ...props56}: React.ComponentProps<typeof TabsPrimitive.Content>) {57 return (58 <TabsPrimitive.Content59 data-slot="tabs-content"60 className={cn("flex-1 outline-none", className)}61 {...props}62 />63 );64}6566export { Tabs, TabsList, TabsTrigger, TabsContent };
What it pulls in
npm packages
Other registry items
Files it writes
More from avail-widgets
All 27 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | avail-widgets | Components | Free | 2 deps | |
| All Elementsall | avail-widgets | Components | Free | no deps | |
| Animated Spinneranimated-spinner | avail-widgets | Components | Free | no deps | |
| Badgebadge | avail-widgets | Components | Free | 2 deps | |
| Bridge Depositbridge-deposit | avail-widgets | Components | Free | 3 deps · 32 files | |
| Buttonbutton | avail-widgets | Components | Free | 2 deps | |
| Cardcard | avail-widgets | Components | Free | no deps | |
| Checkboxcheckbox | avail-widgets | Components | Free | 2 deps |
