@baseplate-dev/ui-components
Version:
Shared UI component library
23 lines • 1.84 kB
JavaScript
'use client';
import { jsx as _jsx } from "react/jsx-runtime";
import { Tabs as TabsPrimitive } from 'radix-ui';
import { cn } from '#src/utils/index.js';
/**
* A set of layered sections of content—known as tab panels—that are displayed one at a time.
*
* https://ui.shadcn.com/docs/components/tabs
*/
function Tabs({ className, ...props }) {
return (_jsx(TabsPrimitive.Root, { "data-slot": "tabs", className: cn('flex flex-col gap-2', className), ...props }));
}
function TabsList({ className, ...props }) {
return (_jsx(TabsPrimitive.List, { "data-slot": "tabs-list", className: cn('inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground', className), ...props }));
}
function TabsTrigger({ className, ...props }) {
return (_jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", className: cn("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 text-foreground transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:shadow-sm dark:text-muted-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
}
function TabsContent({ className, ...props }) {
return (_jsx(TabsPrimitive.Content, { "data-slot": "tabs-content", className: cn('flex-1 outline-none', className), ...props }));
}
export { Tabs, TabsContent, TabsList, TabsTrigger };
//# sourceMappingURL=tabs.js.map