'use client'; import * as React from 'react'; import { cva, type VariantProps } from '@/lib/cva'; import { Tabs as TabsPrimitive } from 'radix-ui'; import { cn } from '@/lib/utils'; import { disabledState, focusRing, iconSizing } from '@/lib/cva-presets'; const tabsListVariants = cva( cn( 'group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground', 'group-data-[orientation=horizontal]/tabs:h-9', 'group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col' ), { variants: { variant: { /** Segmented control on a filled track. */ default: 'bg-muted', /** Underlined tabs — better when the tab strip spans the full width. */ line: 'gap-1 rounded-none bg-transparent', }, }, defaultVariants: { variant: 'default', }, } ); export type TabsProps = React.ComponentProps; export interface TabsListProps extends React.ComponentProps, VariantProps {} /** * Switches between sibling panels without leaving the page. * * Tabs are for alternate views of the same subject. If the panels are separate * destinations, use links and routes so they can be shared and bookmarked. */ function Tabs({ className, orientation = 'horizontal', ...props }: TabsProps) { return ( ); } function TabsList({ className, variant = 'default', ...props }: TabsListProps) { return ( ); } function TabsTrigger({ className, ...props }: React.ComponentProps) { return ( ); } function TabsContent({ className, ...props }: React.ComponentProps) { return ( ); } export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };