import { type Component, type VNode, type RendererElement } from 'vue'; import PfMenu, { type MenuItemId } from '../Menu/Menu.vue'; import { type Placement } from '../../helpers/FloatingUi.vue'; import { type OUIAProps } from '../../helpers/ouia'; import type { ComponentProps } from 'vue-component-type-helpers'; interface Props extends OUIAProps, /* @vue-ignore */ Omit, 'ouiaId' | 'ouiaSafe'> { /** Id of the default toggle */ id?: string; /** Alignment of the menu with the toggle, when the placement is top or bottom */ position?: 'left' | 'right'; /** Element or selector where to render the floating menu */ appendTo?: 'inline' | string | RendererElement | null | undefined; /** Text of the default toggle */ text?: string; /** Disables the toggle */ disabled?: boolean; /** Flag indicating the toggle should be focused after a selection. */ shouldFocusToggleOnSelect?: boolean; /** Flag indicating that the dropdown should stay open when an item is selected. */ noCloseOnSelect?: boolean; /** * Keys that close the menu, defaults to tab and escape. It is highly recommended to include Escape in the array, * while Tab may be omitted if the menu contains non-menu items that are focusable. */ openChangeKeys?: string[]; /** * Callback to override the toggle keydown behavior. By default, when the toggle has focus and the menu is open, * pressing the up/down arrow keys will focus a valid non-disabled menu item - the first item for the down arrow key * and last item for the up arrow key. */ onToggleKeydown?: (event: KeyboardEvent) => void; /** z-index of the dropdown menu */ zIndex?: number; /** Placement of the menu relative to the toggle */ placement?: Placement; /** Variant of split button toggle */ splitButton?: boolean | 'default' | 'action' | 'checkbox'; /** Variant styles of the menu toggle */ variant?: 'default' | 'plain' | 'primary' | 'plainText' | 'secondary' | 'typeahead'; /** Indicates if the dropdown menu should be scrollable */ scrollable?: boolean; /** Height of the dropdown menu */ menuHeight?: string; /** Maximum height of dropdown menu */ maxMenuHeight?: string; /** @beta Flag indicating the first menu item should be focused after opening the dropdown. */ shouldFocusFirstItemOnOpen?: boolean; /** Flag indicating that focusing the first menu item on open should scroll it into view. */ scrollOnItemFocus?: boolean; /** Time in ms to wait before focusing the first menu item on open. */ focusTimeoutDelay?: number; /** When applied, wraps the dropdown in a container with a data-ouia-component-id. The menu uses it too, without an ouiaId. */ containerOuiaId?: number | string; /** Set the value of data-ouia-safe for the container when containerOuiaId is applied. */ containerOuiaSafe?: boolean; /** Element rendered as the container when containerOuiaId is applied. */ containerComponent?: string | Component; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots any; } & { select: (event: Event, itemId: MenuItemId | null | undefined) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onSelect?: ((event: Event, itemId: MenuItemId | null | undefined) => any) | undefined; "onUpdate:open"?: ((value: boolean) => any) | undefined; }>, { ouiaSafe: boolean; placement: Placement; zIndex: number; position: "right" | "left"; openChangeKeys: string[]; focusTimeoutDelay: number; containerOuiaSafe: boolean; containerComponent: string | Component; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, { default?: (props?: Record) => VNode[]; toggle?: (props?: Record) => VNode[]; }>; type __VLS_WithSlots = T & { new (): { $slots: S; }; }; //# sourceMappingURL=Dropdown.vue.d.ts.map