import { LitElement, PropertyValues } from 'lit'; import '../Button/Button'; /** * CTT Modal Web Component * * A modal dialog component that provides an overlay interface for displaying content. * Features focus trapping, keyboard navigation, overlay click handling, and smooth animations. * * @element ctt-modal * * @slot title - Modal title content * @slot content - Main modal content * @slot footer - Modal footer with action buttons * * @csspart overlay - The modal overlay/backdrop * @csspart dialog - The modal dialog container * @csspart header - The modal header section * @csspart content - The modal content section * @csspart footer - The modal footer section * @csspart close - The close button * * @fires ctt-modal-open - Dispatched when modal opens * @fires ctt-modal-close - Dispatched when modal closes * @fires ctt-modal-overlay-click - Dispatched when overlay is clicked * @fires ctt-modal-dismiss - Dispatched when modal is closed via close button (X) or overlay click * * @example * ```html * *

Confirm Action

*

Are you sure you want to proceed?

*
* Cancel * Confirm *
*
* ``` */ declare global { interface HTMLElementTagNameMap { 'ctt-modal': CttModal; } } export declare class CttModal extends LitElement { static styles: import("lit").CSSResult; /** * Controls modal visibility */ open: boolean; /** * Modal size variant */ size: 'sm' | 'md' | 'lg' | 'full-screen'; /** * Whether the modal can be dismissed via close button, overlay click, or escape key */ dismissable: boolean; /** * Eyebrow text displayed above the main title */ eyebrow: string; /** * ID of the element that describes the modal. * By default, it uses an auto-generated ID for the modal content section. */ ariaDescribedBy: string; private _previousActiveElement; private _focusableElements; constructor(); connectedCallback(): void; disconnectedCallback(): void; updated(changedProperties: PropertyValues): void; /** * Opens the modal */ show(): void; /** * Closes the modal */ close(): void; private _addGlobalEventListeners; private _removeGlobalEventListeners; private _handleOpen; private _handleClose; private _setupFocusTrap; private _focusFirstElement; private _restoreFocus; private _handleKeyDown; private _getDeepActiveElement; private _handleTabKey; private _handleOverlayClick; private _handleCloseClick; render(): import("lit-html").TemplateResult<1>; }