@llamaindex/ui
Version:
A comprehensive UI component library built with React, TypeScript, and Tailwind CSS for LlamaIndex applications
127 lines (121 loc) • 3.94 kB
JavaScript
;
var chunkHK7TFVDA_js = require('./chunk-HK7TFVDA.js');
var chunk4E3IDRQJ_js = require('./chunk-4E3IDRQJ.js');
var TabsPrimitive = require('@radix-ui/react-tabs');
var classVarianceAuthority = require('class-variance-authority');
var jsxRuntime = require('react/jsx-runtime');
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
function Tabs(_a) {
var _b = _a, {
className
} = _b, props = chunk4E3IDRQJ_js.__objRest(_b, [
"className"
]);
return /* @__PURE__ */ jsxRuntime.jsx(
TabsPrimitive__namespace.Root,
chunk4E3IDRQJ_js.__spreadValues({
"data-slot": "tabs",
className: chunkHK7TFVDA_js.cn("flex flex-col gap-2", className)
}, props)
);
}
var tabsListVariants = classVarianceAuthority.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 = chunk4E3IDRQJ_js.__objRest(_b, [
"className",
"size"
]);
return /* @__PURE__ */ jsxRuntime.jsx(
TabsPrimitive__namespace.List,
chunk4E3IDRQJ_js.__spreadValues({
"data-slot": "tabs-list",
className: chunkHK7TFVDA_js.cn(tabsListVariants({ size }), className)
}, props)
);
}
var tabsTriggerVariants = classVarianceAuthority.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 = chunk4E3IDRQJ_js.__objRest(_b, [
"className",
"size"
]);
return /* @__PURE__ */ jsxRuntime.jsx(
TabsPrimitive__namespace.Trigger,
chunk4E3IDRQJ_js.__spreadValues({
"data-slot": "tabs-trigger",
className: chunkHK7TFVDA_js.cn(tabsTriggerVariants({ size }), className)
}, props)
);
}
function TabsContent(_a) {
var _b = _a, {
className
} = _b, props = chunk4E3IDRQJ_js.__objRest(_b, [
"className"
]);
return /* @__PURE__ */ jsxRuntime.jsx(
TabsPrimitive__namespace.Content,
chunk4E3IDRQJ_js.__spreadValues({
"data-slot": "tabs-content",
className: chunkHK7TFVDA_js.cn("flex-1 outline-none", className)
}, props)
);
}
exports.Tabs = Tabs;
exports.TabsContent = TabsContent;
exports.TabsList = TabsList;
exports.TabsTrigger = TabsTrigger;
exports.tabsListVariants = tabsListVariants;
exports.tabsTriggerVariants = tabsTriggerVariants;