40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
// SPDX-License-Identifier: AGPL-3.0-only
|
|
// Copyright 2026-present the Unsloth AI Inc. team. All rights reserved. See /studio/LICENSE.AGPL-3.0
|
|
|
|
import { cn } from "@/lib/utils";
|
|
import { Collapsible as CollapsiblePrimitive } from "radix-ui";
|
|
|
|
function Collapsible({
|
|
...props
|
|
}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {
|
|
return <CollapsiblePrimitive.Root data-slot="collapsible" {...props} />;
|
|
}
|
|
|
|
function CollapsibleTrigger({
|
|
...props
|
|
}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {
|
|
return (
|
|
<CollapsiblePrimitive.CollapsibleTrigger
|
|
data-slot="collapsible-trigger"
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|
|
|
|
function CollapsibleContent({
|
|
className,
|
|
...props
|
|
}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {
|
|
return (
|
|
<CollapsiblePrimitive.CollapsibleContent
|
|
data-slot="collapsible-content"
|
|
className={cn(
|
|
"overflow-hidden data-[state=open]:animate-collapsible-down data-[state=closed]:animate-collapsible-up [--duration:150ms]",
|
|
className,
|
|
)}
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|