/** * @fileoverview Drawer — slide-in panel powered by Vaul with touch-gesture support. * @module packages/ui/components/ui/drawer * @layer core * * Self-contained implementation built on the Vaul drawer primitive. Provides * a mobile-friendly slide-up panel with drag-to-dismiss gesture, overlay * backdrop, and composable header/footer/content slots. * * @requires vaul — peer dependency. * * @component * @example * import { Drawer, DrawerTrigger, DrawerContent, DrawerHeader, DrawerTitle } from "@saasflare/ui"; * * * * * Settings * * */ import * as React from "react"; import { Drawer as DrawerPrimitive } from "vaul"; import { type SaasflareComponentProps } from "../../providers"; /** Root drawer state container; orchestrates open state and gesture context. */ declare function Drawer({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Interactive element that toggles the drawer open. Use `asChild` to wrap a custom control. */ declare function DrawerTrigger({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Portals drawer content (overlay + panel) outside the DOM hierarchy. */ declare function DrawerPortal({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Element that closes the drawer when activated. Use `asChild` to wrap a custom control. */ declare function DrawerClose({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Dimmed backdrop rendered behind the drawer panel. */ declare function DrawerOverlay({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Props for {@link DrawerContent}; adds the surface/radius/animated design-system axes. */ interface DrawerContentProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { } /** Sliding panel surface that holds the drawer body; carries the surface/radius/animated axes. */ declare function DrawerContent({ className, children, surface, radius, animated, iconWeight, ...props }: DrawerContentProps): import("react/jsx-runtime").JSX.Element; /** Vertical layout slot for the drawer's title and description. */ declare function DrawerHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** Bottom-pinned layout slot for drawer actions. */ declare function DrawerFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** Accessible heading for the drawer, announced to assistive technology. */ declare function DrawerTitle({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** Supporting descriptive text for the drawer, associated with the title for accessibility. */ declare function DrawerDescription({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, type DrawerContentProps, };