fumadocs-ui
Version:
The Radix UI version of Fumadocs UI
27 lines (24 loc) • 966 B
JavaScript
'use client';
import { cn } from "@fumadocs/ui/cn";
import { jsx } from "react/jsx-runtime";
import { forwardRef, useEffect, useState } from "react";
import * as Primitive from "@radix-ui/react-collapsible";
//#region src/components/ui/collapsible.tsx
const Collapsible = Primitive.Root;
const CollapsibleTrigger = Primitive.CollapsibleTrigger;
const CollapsibleContent = forwardRef(({ children, ...props }, ref) => {
const [mounted, setMounted] = useState(false);
useEffect(() => {
setMounted(true);
}, []);
return /* @__PURE__ */ jsx(Primitive.CollapsibleContent, {
ref,
...props,
className: cn("overflow-hidden", mounted && "data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down", props.className),
children
});
});
CollapsibleContent.displayName = Primitive.CollapsibleContent.displayName;
//#endregion
export { Collapsible, CollapsibleContent, CollapsibleTrigger };
//# sourceMappingURL=collapsible.js.map