UNPKG

radix-vue

Version:

Vue port for Radix UI Primitives.

69 lines (68 loc) 2.4 kB
import type { Ref } from 'vue'; import type { Direction } from './utils'; export interface MenuContext { open: Ref<boolean>; onOpenChange(open: boolean): void; content: Ref<HTMLElement | undefined>; onContentChange(content: HTMLElement | undefined): void; } export interface MenuRootContext { onClose(): void; dir: Ref<Direction>; isUsingKeyboardRef: Ref<boolean>; modal: Ref<boolean>; } export interface MenuProps { open?: boolean; onOpenChange?(open: boolean): void; dir?: Direction; modal?: boolean; } export declare const injectMenuContext: <T extends MenuContext | null | undefined = MenuContext>(fallback?: T | undefined) => T extends null ? MenuContext | null : MenuContext, provideMenuContext: (contextValue: MenuContext) => MenuContext; export declare const injectMenuRootContext: <T extends MenuRootContext | null | undefined = MenuRootContext>(fallback?: T | undefined) => T extends null ? MenuRootContext | null : MenuRootContext, provideMenuRootContext: (contextValue: MenuRootContext) => MenuRootContext; declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{ dir: { type: import("vue").PropType<Direction>; }; open: { type: import("vue").PropType<boolean>; default: boolean; }; onOpenChange: { type: import("vue").PropType<(open: boolean) => void>; }; modal: { type: import("vue").PropType<boolean>; default: boolean; }; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:open": (payload: boolean) => void; }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ dir: { type: import("vue").PropType<Direction>; }; open: { type: import("vue").PropType<boolean>; default: boolean; }; onOpenChange: { type: import("vue").PropType<(open: boolean) => void>; }; modal: { type: import("vue").PropType<boolean>; default: boolean; }; }>> & { "onUpdate:open"?: ((payload: boolean) => any) | undefined; }, { open: boolean; modal: boolean; }, {}>, { default?(_: {}): any; }>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };