import { DrawerRoot } from './components/drawer.root'; import { DrawerTrigger } from './components/drawer.trigger'; import { DrawerContent } from './components/drawer.content'; import { DrawerHeader } from './components/drawer.header'; import { DrawerBody } from './components/drawer.body'; import { DrawerFooter } from './components/drawer.footer'; import { DrawerTitle } from './components/drawer.title'; import { DrawerCloseTrigger } from './components/drawer.close-trigger'; /** * Drawer * ============================================================ * A foundational drawer component for overlays that require user attention. * Built for accessibility and WCAG 2.1 AA compliance. * * Features: * - Controlled and uncontrolled modes * - Customizable placement, size, and animations * - Focus management and keyboard navigation * - Click-outside and Escape key dismissal * - Portal rendering support * - Backdrop overlay with animations * * @example * ```tsx * * Open Drawer * * * Drawer Title * × * * * Drawer content goes here * * * * * * * * ``` * @see https://nimbus-documentation.vercel.app/components/feedback/drawer */ export declare const Drawer: { /** * # Drawer.Root * * The root component that provides context and state management for the drawer. * Handles accessibility and keyboard interaction. * * This component must wrap all drawer parts (Trigger, Content, etc.) and provides * the drawer open/close state and variant styling context. * * @example * ```tsx * * Open Drawer * * * Drawer Title * * Drawer content * * * ``` */ Root: { (props: import('./drawer.types').DrawerRootProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # Drawer.Trigger * * The trigger element that opens the drawer when activated. * Provides accessibility and keyboard support. * * @example * ```tsx * * Open Drawer * ... * * ``` */ Trigger: { ({ ref: forwardedRef, children, asChild, ...props }: import('./drawer.types').DrawerTriggerProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # Drawer.Content * * The main drawer content container that handles portalling, backdrop, * positioning, and content styling. * * This component creates the drawer overlay, positions the content, and provides * accessibility features like focus management and keyboard dismissal. * * @example * ```tsx * * Open Drawer * * * Title * * Content * Actions * * * ``` */ Content: { (props: import('./drawer.types').DrawerContentProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # Drawer.Header * * The header section of the drawer content. * Typically contains the title and close button. * * @example * ```tsx * * * Drawer Title * * * ... * * ``` */ Header: { (props: import('./drawer.types').DrawerHeaderProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # Drawer.Body * * The main body content section of the drawer. * Contains the primary drawer content and handles overflow/scrolling. * * @example * ```tsx * * ... * *

This is the main content of the drawer.

*
* ... *
* ``` */ Body: { (props: import('./drawer.types').DrawerBodyProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # Drawer.Footer * * The footer section of the drawer, typically containing action buttons. * Provides consistent spacing and alignment for drawer actions. * * @example * ```tsx * * ... * ... * * * * * * ``` */ Footer: { (props: import('./drawer.types').DrawerFooterProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # Drawer.Title * * The accessible title element for the drawer. * Provides proper accessibility and screen reader support. * * @example * ```tsx * * * Confirm Action * * ... * * ``` */ Title: { (props: import('./drawer.types').DrawerTitleProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # Drawer.CloseTrigger * * A button that closes the drawer when activated. * Displays an IconButton with a close (X) icon by default. * * The component automatically handles the close behavior, * so no additional onPress handler is needed. * * @example * ```tsx * * Open Drawer * * * Title * * * Content * * * ``` */ CloseTrigger: { (props: import('./drawer.types').DrawerCloseTriggerProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; }; export { DrawerRoot as _DrawerRoot, DrawerTrigger as _DrawerTrigger, DrawerContent as _DrawerContent, DrawerHeader as _DrawerHeader, DrawerBody as _DrawerBody, DrawerFooter as _DrawerFooter, DrawerTitle as _DrawerTitle, DrawerCloseTrigger as _DrawerCloseTrigger, };