import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime'; import { Q2OptionListCustomEvent } from "../../components"; import type { ActionSheetListCloseData, ActionSheetData, ActionSheetListData, ActionSheetMessageData, ActionSheetSelectedOption, ActionSheetListOption, ActionSheetListOptgroup } from 'q2-tecton-common/lib/types/action-sheet'; /** * @name Action Sheet * @category Display * @summary Use for presenting a modal sheet. */ export declare class Q2ActionSheet implements ComponentInterface { closeButtonElement: HTMLQ2BtnElement; contentElement: HTMLDivElement; dialogElement: HTMLDialogElement; doneButtonElement: HTMLQ2BtnElement; initialSelectedOptions: ActionSheetSelectedOption[]; maxHeight: number; minHeight: number; optionListElement: HTMLQ2OptionListElement; selectedOptions: { values: ActionSheetSelectedOption[]; value: string; }; hostElement: HTMLElement; isScrollable: boolean; renderStatus: 'is-open' | 'is-closing' | 'is-opening'; data: ActionSheetData; hideClose: boolean; title: string; /** * Emitted when the action sheet is closed. * @deprecated Use 'tctClose' instead */ close: EventEmitter; /** * Emitted when the component has finished rendering. * @private */ ready: EventEmitter; /** * Emitted when the action sheet is closed. */ tctClose: EventEmitter; disconnectedCallback(): void; componentDidLoad(): void; hide(data?: ActionSheetListCloseData): Promise; show(): Promise; focusContent(): void; /** * Focuses the last visible (non-hidden, non-disabled) option in the option list. * Uses the async getOptions() method, but is invoked after preventDefault() has * already been called synchronously by the caller. */ focusLastVisibleOption: () => Promise; generateOptgroup: (option: ActionSheetListOptgroup) => HTMLQ2OptgroupElement; generateOption: (option: ActionSheetListOption) => HTMLQ2OptionElement; /** * Handles keyboard navigation within the action sheet dialog. * Manages Tab navigation between options and action buttons (close/done). * Allows Tab to exit to browser chrome when reaching boundaries. * * NOTE: This handler is intentionally synchronous. `event.preventDefault()` * must be called before the browser processes the Tab key (i.e., during the * synchronous portion of the keydown event). Introducing an `await` here * allows the browser to shift focus before preventDefault runs, which causes * Tab from the close button to escape the dialog instead of cycling back to * the options. * @param event - The keyboard event. */ handleDialogKeydown: (event: KeyboardEvent) => void; hidePostHook(): void; onCancel: (event: Event) => void; onClick: (event: MouseEvent) => void; onListChange: (event: Q2OptionListCustomEvent<{ value: string; values: ActionSheetSelectedOption[]; }>) => void; onListDone: () => void; onListPopoverStateChange: (event: Q2OptionListCustomEvent<{ open: boolean; action: "close" | "select" | "open"; }>) => void; showPreHook(): void; storeInitialValues(): void; updateDialogMinMaxHeight(): void; renderList: ({ data }: { data: ActionSheetListData; }) => any; renderMessage: ({ data }: { data: ActionSheetMessageData; }) => any; renderSlot: () => any; render(): any; }