"use client"; import * as React from "react"; import { Button } from "@/components/ui/button"; import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@/components/ui/collapsible"; import { cn } from "@/lib/utils"; export function BlockWrapper({ className, children, autoOpen, ...props }: React.HTMLAttributes & { autoOpen?: boolean; }) { const ref = React.useRef(null); const [isOpened, setIsOpened] = React.useState(false); React.useEffect(() => { if (ref.current && autoOpen) { const height = ref.current.scrollHeight; // NOTE: max-h-48 in tw equals 192px (48 * 4px) if (height <= 192) { setIsOpened(true); } } }, [autoOpen]); return (
{children} {!isOpened ? (
) : null}
); }