/**
* 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;