UNPKG

radix-vue

Version:

Vue port for Radix UI Primitives.

88 lines (87 loc) 3.42 kB
import type { PrimitiveProps } from '../Primitive'; import type { FocusOutsideEvent, PointerDownOutsideEvent } from './utils'; export interface DismissableLayerProps extends PrimitiveProps { /** * When `true`, hover/focus/click interactions will be disabled on elements outside * the `DismissableLayer`. Users will need to click twice on outside elements to * interact with them: once to close the `DismissableLayer`, and again to trigger the element. */ disableOutsidePointerEvents?: boolean; } export type DismissableLayerEmits = { /** * Event handler called when the escape key is down. * Can be prevented. */ 'escapeKeyDown': [event: KeyboardEvent]; /** * Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`. * Can be prevented. */ 'pointerDownOutside': [event: PointerDownOutsideEvent]; /** * Event handler called when the focus moves outside of the `DismissableLayer`. * Can be prevented. */ 'focusOutside': [event: FocusOutsideEvent]; /** * Event handler called when an interaction happens outside the `DismissableLayer`. * Specifically, when a `pointerdown` event happens outside or focus moves outside of it. * Can be prevented. */ 'interactOutside': [event: PointerDownOutsideEvent | FocusOutsideEvent]; /** * Handler called when the `DismissableLayer` should be dismissed */ 'dismiss': []; }; export declare const context: { layersRoot: Set<HTMLElement>; layersWithOutsidePointerEventsDisabled: Set<HTMLElement>; branches: Set<HTMLElement>; }; declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{ asChild: { type: import("vue").PropType<boolean>; }; as: { type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>; }; disableOutsidePointerEvents: { type: import("vue").PropType<boolean>; default: boolean; }; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { escapeKeyDown: (event: KeyboardEvent) => void; pointerDownOutside: (event: PointerDownOutsideEvent) => void; focusOutside: (event: FocusOutsideEvent) => void; interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => void; dismiss: () => void; }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: import("vue").PropType<boolean>; }; as: { type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>; }; disableOutsidePointerEvents: { type: import("vue").PropType<boolean>; default: boolean; }; }>> & { onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined; onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined; onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined; onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined; onDismiss?: (() => any) | undefined; }, { disableOutsidePointerEvents: boolean; }, {}>, { default?(_: {}): any; }>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };