import { LitElement } from 'lit'; import { DrawerPlacements } from './constants/DrawerConstants.js'; import '../icon-button/arc-icon-button.js'; import '../ph-icon/x/ph-icon-x.js'; /** * @slot default - The drawer's content. * @slot label - The drawer's label. * @slot footer - The drawer's footer. * * @event arc-show - Emitted when the drawer opens. * @event arc-after-show - Emitted after the drawer opens and all animations are complete. * @event arc-hide - Emitted when the drawer closes. * @event arc-after-hide - Emitted after the drawer closes and all animations are complete. * @event arc-initial-focus - Emitted when the drawer opens and the panel gains focus. Calling event.preventDefault() will prevent focus and allow you to set it on a different element in the drawer, such as an input or button. * @event arc-request-close - Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing the escape key. Calling event.preventDefault() will prevent the drawer from closing. Avoid using this unless closing the drawer will result in destructive behavior such as data loss. * * @cssproperty --size - The preferred size of the drawer. This will be applied to either the width or height depending on its placement. * * @ssr - True */ export default class ArcDrawer extends LitElement { /** @internal */ static tag: string; static styles: import("lit").CSSResult[]; /** @internal */ drawer: HTMLElement; /** @internal */ panel: HTMLElement; /** @internal */ overlay: HTMLElement; /** @internal - Reference to the Modal class. */ private modal; /** @internal - Reference to the HTMLElement slotted to the 'trigger' slot. */ private originalTrigger; /** Indicates whether the drawer is open. This can be used instead of the show/hide methods. */ open: boolean; /** By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of its parent element, set this prop and add position: relative to the parent. */ contained: boolean; /** The direction from which the drawer will open. */ placement: DrawerPlacements; /** The drawer label. Required for proper accessibility. Alternatively, the label slot can be used. */ label: string; handleOpenChange(): Promise; connectedCallback(): void; firstUpdated(): void; disconnectedCallback(): void; show(): Promise | undefined; hide(): Promise | undefined; private _requestClose; _handleKeyDown(event: KeyboardEvent): void; protected render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'arc-drawer': ArcDrawer; } }