export type CollapsibleOrientation = "vertical" | "horizontal"; export interface CollapsibleProps { /** Eje de colapso. Default: "vertical" */ orientation?: CollapsibleOrientation; /** Estado inicial (uncontrolled). Default: false */ defaultOpen?: boolean; /** Estado controlado */ open?: boolean; /** Callback en modo controlado */ onOpenChange?: (open: boolean) => void; /** Deshabilita el trigger */ disabled?: boolean; children: React.ReactNode; className?: string; } export interface CollapsibleTriggerProps extends React.ButtonHTMLAttributes { children: React.ReactNode; } export interface CollapsibleContentProps { children: React.ReactNode; /** Útil cuando Collapsible.Content es flex child (ej: dentro de Card flex-col) */ className?: string; } export interface CollapsibleContextValue { isOpen: boolean; toggle: () => void; orientation: CollapsibleOrientation; disabled: boolean; }