/** * Drawer - BASIC bottom-sheet fork of Studio's `Drawer` (which is a large * Vaul-style component). Same API shape for the parts we need: Root / Trigger / * Content (overlay + sheet + drag handle) / Title / Header / Body / Footer / * Close. Surface classes ported 1:1 from Studio (tokens remapped). Slides up * from the bottom; dismisses on `Escape` and overlay click. A11y work tracked * in modal-surface.tsx. * * @example * ```tsx * import { Button, Drawer, DrawerContent, DrawerTitle, DrawerTrigger } from "veryfront/ui"; * * * * Edit profile * ; * ``` * * @module react/components/ui/drawer */ import * as React from "react"; /** Props accepted by ``. */ export interface DrawerProps { /** The trigger and content parts to compose. */ children: React.ReactNode; /** Controlled open state (pair with `onOpenChange`). */ open?: boolean; /** Initial open state when uncontrolled. */ defaultOpen?: boolean; /** Fires when the open state changes. */ onOpenChange?: (open: boolean) => void; } /** Drawer root - owns open state (via the adapter's drawer engine). */ export declare function Drawer(props: DrawerProps): React.ReactElement; /** Trigger - opens the drawer. `asChild` merges onto the child element. */ export declare function DrawerTrigger(props: React.ButtonHTMLAttributes & { asChild?: boolean; ref?: React.Ref; }): React.ReactElement; /** Props accepted by ``. */ export interface DrawerContentProps extends React.HTMLAttributes { /** React 19: ref is a regular prop, forwarded to the drawer panel. */ ref?: React.Ref; } /** Bottom sheet - overlay + sliding surface with a drag handle. */ export declare function DrawerContent({ children, className, ...props }: DrawerContentProps): React.ReactElement | null; /** Drawer title - 18px medium (Studio Heading-ish). Add `sr-only` to hide. * Registers its id with the adapter so the sheet adopts `aria-labelledby`. */ export declare function DrawerTitle({ className, id, ...props }: React.HTMLAttributes): React.ReactElement; /** Header column wrapper. */ export declare function DrawerHeader({ className, ...props }: React.HTMLAttributes): React.ReactElement; /** Scrollable body area. */ export declare function DrawerBody({ className, ...props }: React.HTMLAttributes): React.ReactElement; /** Sticky footer, full-width stacked actions. */ export declare function DrawerFooter({ className, ...props }: React.HTMLAttributes): React.ReactElement; /** Closes the drawer. `asChild` merges onto the child element. */ export declare function DrawerClose(props: React.ButtonHTMLAttributes & { asChild?: boolean; ref?: React.Ref; }): React.ReactElement; //# sourceMappingURL=drawer.d.ts.map