Tabs
scificn/tabsFreeComponent
Tab panels with teal active border glow.
Live preview
live · rendered by the registry
Rendered by scificn on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.scificn.dev/r/tabs.jsonSource
1import * as React from 'react'2import * as TabsPrimitive from '@radix-ui/react-tabs'3import { cn } from '@/lib/utils'45const Tabs = TabsPrimitive.Root6const TabsGroup = TabsPrimitive.List // alias78/* ── List ── */9const TabsList = React.forwardRef<10 React.ElementRef<typeof TabsPrimitive.List>,11 React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>12>(({ className, ...props }, ref) => (13 <TabsPrimitive.List14 ref={ref}15 className={cn(16 'inline-flex items-end',17 'border-b border-[var(--border)]',18 'w-full gap-0',19 className20 )}21 {...props}22 />23))24TabsList.displayName = TabsPrimitive.List.displayName2526/* ── Trigger ── */27const TabsTrigger = React.forwardRef<28 React.ElementRef<typeof TabsPrimitive.Trigger>,29 React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>30>(({ className, ...props }, ref) => (31 <TabsPrimitive.Trigger32 ref={ref}33 className={cn(34 'inline-flex items-center justify-center',35 'px-4 py-2',36 'text-[0.7rem] font-mono font-medium uppercase tracking-widest',37 'border-b-2 border-transparent',38 '-mb-px',39 'text-[var(--text-muted)]',40 'cursor-pointer',41 'outline-none',42 'transition-all duration-150',43 'hover:text-[var(--text-secondary)]',44 'data-[state=active]:text-[var(--color-green)]',45 'data-[state=active]:border-b-[var(--color-green)]',46 'data-[state=active]:[text-shadow:var(--text-glow-green)]',47 'disabled:pointer-events-none disabled:opacity-40',48 className49 )}50 {...props}51 />52))53TabsTrigger.displayName = TabsPrimitive.Trigger.displayName5455/* ── Content ── */56const TabsContent = React.forwardRef<57 React.ElementRef<typeof TabsPrimitive.Content>,58 React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>59>(({ className, ...props }, ref) => (60 <TabsPrimitive.Content61 ref={ref}62 className={cn(63 'mt-4',64 'focus-visible:outline-none',65 className66 )}67 {...props}68 />69))70TabsContent.displayName = TabsPrimitive.Content.displayName7172export { Tabs, TabsGroup, TabsList, TabsTrigger, TabsContent }
What it pulls in
npm packages
More from scificn
All 33 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Alertalert | scificn | Components | Free | 1 dep | |
| Badgebadge | scificn | Components | Free | 1 dep | |
| Bar Chartbar-chart | scificn | Components | Free | no deps | |
| Breadcrumbbreadcrumb | scificn | Components | Free | no deps | |
| Buttonbutton | scificn | Components | Free | 2 deps | |
| Cardcard | scificn | Components | Free | no deps | |
| Checkboxcheckbox | scificn | Components | Free | 1 dep | |
| Dialogdialog | scificn | Components | Free | 1 dep |
