"use client" import * as React from "react" type ControllableDetailsProps = Omit, "open" | "onToggle"> & { open?: boolean defaultOpen?: boolean onOpenChange?: (open: boolean) => void } function ControllableDetails({ open, defaultOpen = false, onOpenChange, children, ...props }: ControllableDetailsProps) { const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen) const isControlled = open !== undefined return (
{ const nextOpen = event.currentTarget.open if (!isControlled) setUncontrolledOpen(nextOpen) onOpenChange?.(nextOpen) }} > {children}
) } export { ControllableDetails } export type { ControllableDetailsProps }