@llamaindex/ui
Version:
A comprehensive UI component library built with React, TypeScript, and Tailwind CSS for LlamaIndex applications
67 lines (64 loc) • 1.96 kB
JavaScript
import { cn } from './chunk-MG2ARK3A.mjs';
import { __objRest, __spreadProps, __spreadValues } from './chunk-FWCSY2DS.mjs';
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
import { jsxs, jsx } from 'react/jsx-runtime';
function ScrollArea(_a) {
var _b = _a, {
className,
children
} = _b, props = __objRest(_b, [
"className",
"children"
]);
return /* @__PURE__ */ jsxs(
ScrollAreaPrimitive.Root,
__spreadProps(__spreadValues({
"data-slot": "scroll-area",
className: cn("relative", className)
}, props), {
children: [
/* @__PURE__ */ jsx(
ScrollAreaPrimitive.Viewport,
{
"data-slot": "scroll-area-viewport",
className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
children
}
),
/* @__PURE__ */ jsx(ScrollBar, {}),
/* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
]
})
);
}
function ScrollBar(_a) {
var _b = _a, {
className,
orientation = "vertical"
} = _b, props = __objRest(_b, [
"className",
"orientation"
]);
return /* @__PURE__ */ jsx(
ScrollAreaPrimitive.ScrollAreaScrollbar,
__spreadProps(__spreadValues({
"data-slot": "scroll-area-scrollbar",
orientation,
className: cn(
"flex touch-none p-px transition-colors select-none",
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
className
)
}, props), {
children: /* @__PURE__ */ jsx(
ScrollAreaPrimitive.ScrollAreaThumb,
{
"data-slot": "scroll-area-thumb",
className: "bg-border relative flex-1 rounded-full"
}
)
})
);
}
export { ScrollArea, ScrollBar };