UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

88 lines (87 loc) 3.31 kB
import { Event, EventEmitter } from "../../stencil-public-runtime"; import { VNode } from "../../stencil-public-runtime"; import { EffectivePlacement, LogicalPlacement, OverlayPositioning } from "../../utils/floating-ui"; import { LoadableComponent } from "../../utils/loadable"; import { Scale } from "../interfaces"; /** * @slot - A slot for adding `calcite-action`s. * @slot trigger - A slot for adding a `calcite-action` to trigger opening the menu. * @slot tooltip - A slot for adding an tooltip for the menu. */ export declare class ActionMenu implements LoadableComponent { componentWillLoad(): void; componentDidLoad(): void; disconnectedCallback(): void; /** * When `true`, the component is expanded. */ expanded: boolean; expandedHandler(): void; /** * Defines the available placements that can be used when a flip occurs. */ flipPlacements: EffectivePlacement[]; /** * Specifies the text string for the component. */ label: string; /** * When `true`, the component is open. */ open: boolean; openHandler(open: boolean): void; /** * Determines the type of positioning to use for the overlaid content. * * Using `"absolute"` will work for most cases. The component will be positioned inside of overflowing parent containers and will affect the container's layout. * `"fixed"` should be used to escape an overflowing parent container, or when the reference element's `position` CSS property is `"fixed"`. * */ overlayPositioning: OverlayPositioning; /** * Determines where the component will be positioned relative to the `referenceElement`. */ placement: LogicalPlacement; /** * Specifies the size of the component's trigger `calcite-action`. */ scale: Scale; /** * Emits when the `open` property is toggled. * */ calciteActionMenuOpen: EventEmitter<void>; closeCalciteActionMenuOnClick(event: PointerEvent): void; el: HTMLCalciteActionMenuElement; menuButtonEl: HTMLCalciteActionElement; slottedMenuButtonEl: HTMLCalciteActionElement; defaultMenuButtonEl: HTMLCalciteActionElement; actionElements: HTMLCalciteActionElement[]; guid: string; menuId: string; menuButtonId: string; tooltipEl: HTMLCalciteTooltipElement; activeMenuItemIndex: number; activeMenuItemIndexHandler(): void; /** Sets focus on the component. */ setFocus(): Promise<void>; connectMenuButtonEl: () => void; disconnectMenuButtonEl: () => void; setMenuButtonEl: (event: Event) => void; setDefaultMenuButtonEl: (el: HTMLCalciteActionElement) => void; renderMenuButton(): VNode; renderMenuItems(): VNode; render(): VNode; handleCalciteActionClick: () => void; menuButtonClick: (event: PointerEvent) => void; updateTooltip: (event: Event) => void; setTooltipReferenceElement: () => void; updateAction: (action: HTMLCalciteActionElement, index: number) => void; updateActions: (actions: HTMLCalciteActionElement[]) => void; handleDefaultSlotChange: (event: Event) => void; isValidKey(key: string, supportedKeys: string[]): boolean; menuButtonKeyDown: (event: KeyboardEvent) => void; handleActionNavigation: (event: KeyboardEvent, key: string, actions: HTMLCalciteActionElement[]) => void; toggleOpenEnd: () => void; toggleOpen: (value?: boolean) => void; }