import React from "react"; import CollapsibleContent, { CollapsibleContentProps } from "../content/CollapsibleContent.js"; import CollapsibleTrigger, { CollapsibleTriggerProps } from "../trigger/CollapsibleTrigger.js"; interface CollapsibleProps extends React.HTMLAttributes { /** * The open state of the collapsible when it is initially rendered. Use when you do not need to control its open state. */ defaultOpen?: boolean; /** * The controlled open state of the collapsible. Must be used in conjunction with onOpenChange. */ open?: boolean; /** * Event handler called when the open state of the collapsible changes. */ onOpenChange?: (open: boolean) => void; /** * Render the collapsible content lazily. This means that the content will not be rendered until the collapsible is open. * @default false */ lazy?: boolean; } interface CollapsibleComponent extends React.ForwardRefExoticComponent> { /** * @see 🏷️ {@link CollapsibleTriggerProps} */ Trigger: typeof CollapsibleTrigger; /** * @see 🏷️ {@link CollapsibleContentProps} */ Content: typeof CollapsibleContent; } /** * Collapsible is a component that allows you to toggle visibility of content. * * @example * ```jsx * * Trigger * * Lorem ipsum dolor sit amet consectetur adipisicing elit. Recusandae * corporis maxime aliquam, voluptates nobis numquam, non odit optio * architecto iure laborum possimus! Quibusdam sit ullam, consequatur sunt * tempore optio aliquid! * * * ``` * * @example With asChild * ```jsx * * * * * * *
lorem ipsum
*
*
*
* ``` */ export declare const Collapsible: CollapsibleComponent; export default Collapsible; export { CollapsibleTrigger, CollapsibleContent }; export type { CollapsibleProps, CollapsibleTriggerProps, CollapsibleContentProps, };