Glass Tabs
washiveil/glass-tabsFreeComponent
Pill tab list on a glass ground with a ruri active tab, built on Radix Tabs.
Install it
npx shadcn@latest add https://washiveil.alexchih.com/r/glass-tabs.jsonSource
1'use client'23import * as React from 'react'4import { Tabs as TabsPrimitive } from 'radix-ui'56import { cn } from '@/lib/utils'78const GlassTabs = TabsPrimitive.Root910const GlassTabsList = React.forwardRef<11 React.ComponentRef<typeof TabsPrimitive.List>,12 React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>13>(({ className, ...props }, ref) => (14 <TabsPrimitive.List15 ref={ref}16 className={cn(17 'inline-flex items-center gap-1 rounded-full border border-muted bg-muted p-1 backdrop-blur',18 className,19 )}20 {...props}21 />22))23GlassTabsList.displayName = TabsPrimitive.List.displayName2425const GlassTabsTrigger = React.forwardRef<26 React.ComponentRef<typeof TabsPrimitive.Trigger>,27 React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>28>(({ className, ...props }, ref) => (29 <TabsPrimitive.Trigger30 ref={ref}31 className={cn(32 'rounded-full px-3.5 py-1.5 text-sm text-muted-foreground dark:text-body transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background data-[state=active]:bg-ruri data-[state=active]:font-medium data-[state=active]:text-white dark:data-[state=active]:bg-ruri-soft dark:data-[state=active]:text-deep',33 className,34 )}35 {...props}36 />37))38GlassTabsTrigger.displayName = TabsPrimitive.Trigger.displayName3940const GlassTabsContent = React.forwardRef<41 React.ComponentRef<typeof TabsPrimitive.Content>,42 React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>43>(({ className, ...props }, ref) => (44 <TabsPrimitive.Content45 ref={ref}46 className={cn(47 'mt-4 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background',48 className,49 )}50 {...props}51 />52))53GlassTabsContent.displayName = TabsPrimitive.Content.displayName5455export { GlassTabs, GlassTabsList, GlassTabsTrigger, GlassTabsContent }
What it pulls in
npm packages
Other registry items
Files it writes
More from washiveil
All 58 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Ambient Fieldambient-field | washiveil | Components | Free | no deps | |
| Chipchip | washiveil | Components | Free | 1 dep | |
| Code Badgecode-badge | washiveil | Components | Free | no deps | |
| Glass Accordionglass-accordion | washiveil | Components | Free | 2 deps | |
| Glass Alertglass-alert | washiveil | Components | Free | 1 dep | |
| Glass Alert Dialogglass-alert-dialog | washiveil | Components | Free | 1 dep | |
| Glass Aspect Ratioglass-aspect-ratio | washiveil | Components | Free | 1 dep | |
| Glass Avatarglass-avatar | washiveil | Components | Free | 1 dep |
