@llamaindex/ui
Version:
A comprehensive UI component library built with React, TypeScript, and Tailwind CSS for LlamaIndex applications
69 lines (66 loc) • 2.35 kB
JavaScript
import { cn } from './chunk-MG2ARK3A.mjs';
import { __objRest, __spreadValues, __spreadProps } from './chunk-FWCSY2DS.mjs';
import * as AccordionPrimitive from '@radix-ui/react-accordion';
import { ChevronDownIcon } from 'lucide-react';
import { jsx, jsxs } from 'react/jsx-runtime';
function Accordion(_a) {
var props = __objRest(_a, []);
return /* @__PURE__ */ jsx(AccordionPrimitive.Root, __spreadValues({ "data-slot": "accordion" }, props));
}
function AccordionItem(_a) {
var _b = _a, {
className
} = _b, props = __objRest(_b, [
"className"
]);
return /* @__PURE__ */ jsx(
AccordionPrimitive.Item,
__spreadValues({
"data-slot": "accordion-item",
className: cn("border-b last:border-b-0", className)
}, props)
);
}
function AccordionTrigger(_a) {
var _b = _a, {
className,
children
} = _b, props = __objRest(_b, [
"className",
"children"
]);
return /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
AccordionPrimitive.Trigger,
__spreadProps(__spreadValues({
"data-slot": "accordion-trigger",
className: cn(
"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
className
)
}, props), {
children: [
children,
/* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })
]
})
) });
}
function AccordionContent(_a) {
var _b = _a, {
className,
children
} = _b, props = __objRest(_b, [
"className",
"children"
]);
return /* @__PURE__ */ jsx(
AccordionPrimitive.Content,
__spreadProps(__spreadValues({
"data-slot": "accordion-content",
className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"
}, props), {
children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
})
);
}
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };