UNPKG

@llamaindex/ui

Version:

A comprehensive UI component library built with React, TypeScript, and Tailwind CSS for LlamaIndex applications

100 lines (97 loc) 2.93 kB
import { cn } from './chunk-MG2ARK3A.mjs'; import { __objRest, __spreadValues } from './chunk-4AMAFZLZ.mjs'; import * as TabsPrimitive from '@radix-ui/react-tabs'; import { cva } from 'class-variance-authority'; import { jsx } from 'react/jsx-runtime'; function Tabs(_a) { var _b = _a, { className } = _b, props = __objRest(_b, [ "className" ]); return /* @__PURE__ */ jsx( TabsPrimitive.Root, __spreadValues({ "data-slot": "tabs", className: cn("flex flex-col gap-2", className) }, props) ); } var tabsListVariants = cva( "inline-flex w-fit items-center justify-center rounded-lg bg-muted text-muted-foreground", { variants: { size: { default: "h-9 p-[3px]", xs: "h-7 p-[2px]", sm: "h-8 p-[2px]", lg: "h-10 p-1" } }, defaultVariants: { size: "default" } } ); function TabsList(_a) { var _b = _a, { className, size } = _b, props = __objRest(_b, [ "className", "size" ]); return /* @__PURE__ */ jsx( TabsPrimitive.List, __spreadValues({ "data-slot": "tabs-list", className: cn(tabsListVariants({ size }), className) }, props) ); } var tabsTriggerVariants = cva( "focus-visible:ring-ring/50 dark:data-[state=active]:bg-input/30 inline-flex flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent font-medium text-muted-foreground transition-[color,box-shadow] hover:cursor-pointer focus-visible:border-ring focus-visible:outline-1 focus-visible:outline-ring focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm dark:text-muted-foreground dark:data-[state=active]:border-input dark:data-[state=active]:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", { variants: { size: { default: "h-[calc(100%-1px)] px-2 py-1 text-sm", sm: "h-[calc(100%-1px)] px-1.5 py-0.5 text-xs", lg: "h-[calc(100%-1px)] px-3 py-1.5 text-sm" } }, defaultVariants: { size: "default" } } ); function TabsTrigger(_a) { var _b = _a, { className, size } = _b, props = __objRest(_b, [ "className", "size" ]); return /* @__PURE__ */ jsx( TabsPrimitive.Trigger, __spreadValues({ "data-slot": "tabs-trigger", className: cn(tabsTriggerVariants({ size }), className) }, props) ); } function TabsContent(_a) { var _b = _a, { className } = _b, props = __objRest(_b, [ "className" ]); return /* @__PURE__ */ jsx( TabsPrimitive.Content, __spreadValues({ "data-slot": "tabs-content", className: cn("flex-1 outline-none", className) }, props) ); } export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants, tabsTriggerVariants };