import { FocusTrap } from "@a11y/focus-trap"; import { TemplateResult } from "lit-element"; import { Backdrop } from "../backdrop/backdrop"; import { IOverlayBehaviorBaseProperties, IOverlayBehaviorProperties, OverlayBehavior } from "../behavior/overlay/overlay-behavior"; import { AriaRole } from "../util/aria"; /** * Available sizes of the dialog. */ export declare enum DialogSize { SMALL = "small", MEDIUM = "medium", LARGE = "large", AUTO = "auto", FULLSCREEN = "fullscreen" } /** * Base properties of the dialog. These base properties are used when showing a dialog. */ export interface IDialogBaseProperties extends IOverlayBehaviorBaseProperties { size?: DialogSize; scrollable: boolean; } /** * Properties of the dialog. */ export interface IDialogProperties extends IDialogBaseProperties, IOverlayBehaviorProperties { role: AriaRole; } /** * Configuration used when showing a dialog. */ export interface IDialogConfig extends Partial { } /** * Default configuration when showing a dialog. */ export declare const defaultDialogConfig: IDialogConfig; /** * Highly interruptive messages. * @slot header - Header content. * @slot content - Body content. * @slot footer - Footer content. * @slot - Default content. * @cssprop --dialog-elevation - Box shadow * @cssprop --dialog-bg - Background * @cssprop --dialog-color - Color * @cssprop --dialog-border-radius - Border radius * @cssprop --dialog-width - Default width * @cssprop --dialog-height - Default height * @cssprop --dialog-width-s - Small width * @cssprop --dialog-height-s - Small height * @cssprop --dialog-width-m - Medium width * @cssprop --dialog-height-m - Medium height * @cssprop --dialog-width-l - Large width * @cssprop --dialog-height-l - Large height * @cssprop --dialog-width-fullscreen - Fullscreen width * @cssprop --dialog-height-fullscreen - Fullscreen height * @cssprop --dialog-min-width - Minimum width * @cssprop --dialog-min-height - Minimum height * @cssprop --dialog-max-width - Maximum width * @cssprop --dialog-max-height - Maximum height * @cssprop --dialog-width-auto - Width when auto * @cssprop --dialog-height-auto - Height when auto * @cssprop --dialog-scrollable-border - Border when scrollable * @cssprop --dialog-header-padding - Padding of the header slot * @cssprop --dialog-header-padding-scrollable - Padding of the header slot when scrollable * @cssprop --dialog-content-padding - Padding of the content slot * @cssprop --dialog-footer-padding - Padding of the footer slot */ export declare class Dialog extends OverlayBehavior> implements IDialogProperties { static styles: import("lit-element").CSSResult[]; /** * Size of the dialog. * @attr */ size?: DialogSize; /** * Makes the dialog scrollable. * @attr */ scrollable: boolean; /** * Role of the dialog. * @attr */ role: AriaRole; /** * Dialog element. */ protected $dialog: FocusTrap; /** * Backdrop element. */ protected $backdrop: Backdrop; /** * Focus trap element. */ protected get $focusTrap(): FocusTrap; /** * Animates the dialog in. */ protected animateIn(): void; /** * Animates the dialog out. * @param result */ protected animateOut(result?: R): void; render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { "wl-dialog": Dialog; } }