/** * Modal - An accessible dialog component * * Features: * - Native dialog element for accessibility * - Backdrop click to close (optional) * - Escape key to close * - Focus trap * - Multiple sizes * - Custom header/footer via snippets * - Material 3 styling */ import type { Snippet } from 'svelte'; /** Props for Modal component */ export interface Props { /** Whether the modal is open */ open?: boolean; /** Callback when modal requests to close */ onClose?: () => void; /** Modal title */ title?: string; /** Modal size variant */ size?: 'sm' | 'md' | 'lg' | 'xl' | 'full'; /** Placement: center (default), start, or end for full-height drawers */ placement?: 'center' | 'start' | 'end'; /** Whether clicking backdrop closes modal */ closeOnBackdrop?: boolean; /** Whether pressing Escape closes modal */ closeOnEscape?: boolean; /** Show close button */ showClose?: boolean; /** Custom header snippet */ header?: Snippet; /** Custom footer snippet */ footer?: Snippet; /** Main content */ children?: Snippet; /** ARIA label for the dialog */ ariaLabel?: string; /** ARIA described by ID */ ariaDescribedBy?: string; } declare const Modal: import("svelte").Component; type Modal = ReturnType; export default Modal; //# sourceMappingURL=Modal.svelte.d.ts.map