/** * SvDrawer - an edge-anchored side sheet (right / left / top / bottom): a * backdrop, a sliding panel, and the full dialog a11y contract. Built entirely * on the shared primitives - `createFocusTrap`, `lockScroll` and * `createDismissableLayer` - so its focus, scroll-lock and Escape/backdrop * behaviour is identical to SvModal and nested overlays close top-first. * Portalled to . Controlled via `open`. * * ```svelte * *

Body

* {#snippet footer()}{/snippet} *
* ``` */ import type { Snippet } from 'svelte'; /** Edge the drawer slides from. Kept in sync with the `DrawerSide` export in * index.ts (a bare type-only module script trips the Svelte/Vite parser). */ type DrawerSide = 'right' | 'left' | 'top' | 'bottom'; type Props = { open?: boolean; onClose?: () => void; /** Edge the drawer slides from. Default 'right'. */ side?: DrawerSide; /** Panel size along its axis (width for left/right, height for top/bottom). * Any CSS length; defaults to a sensible per-axis value. */ size?: string; title?: string; closeOnBackdrop?: boolean; closeOnEsc?: boolean; /** Hide the header close (x) button. */ hideClose?: boolean; /** Render as a mobile bottom-sheet: bottom-anchored, rounded top, a grab * handle, and swipe-down-to-close. Overrides `side`. */ sheet?: boolean; /** Accessible name when there is no visible `title`. */ ariaLabel?: string; /** Fired after the close (exit) animation has finished and the drawer has * left the DOM. Use it to clear the data the drawer was showing so the * content stays put while it slides out. */ onClosed?: () => void; children?: Snippet; footer?: Snippet; }; declare const SvDrawer: import("svelte").Component; type SvDrawer = ReturnType; export default SvDrawer;