UNPKG

radix-vue

Version:

Vue port for Radix UI Primitives.

122 lines (121 loc) 4.03 kB
import type { Ref } from 'vue'; import type { PrimitiveProps } from '../Primitive'; import type { Direction, Orientation } from './utils'; export interface NavigationMenuRootProps extends PrimitiveProps { modelValue?: string; defaultValue?: string; dir?: Direction; orientation?: Orientation; /** * The duration from when the pointer enters the trigger until the tooltip gets opened. * @defaultValue 200 */ delayDuration?: number; /** * How much time a user has to enter another trigger without incurring a delay again. * @defaultValue 300 */ skipDelayDuration?: number; } export type NavigationMenuRootEmits = { 'update:modelValue': [value: string]; }; export interface NavigationMenuContext { isRootMenu: boolean; modelValue: Ref<string>; previousValue: Ref<string>; baseId: string; dir: Ref<Direction>; orientation: Orientation; rootNavigationMenu: Ref<HTMLElement | undefined>; indicatorTrack: Ref<HTMLElement | undefined>; onIndicatorTrackChange(indicatorTrack: HTMLElement | undefined): void; viewport: Ref<HTMLElement | undefined>; onViewportChange(viewport: HTMLElement | undefined): void; onTriggerEnter(itemValue: string): void; onTriggerLeave(): void; onContentEnter(itemValue: string): void; onContentLeave(): void; onItemSelect(itemValue: string): void; onItemDismiss(): void; } export declare const injectNavigationMenuContext: <T extends NavigationMenuContext | null | undefined = NavigationMenuContext>(fallback?: T | undefined) => T extends null ? NavigationMenuContext | null : NavigationMenuContext, provideNavigationMenuContext: (contextValue: NavigationMenuContext) => NavigationMenuContext; declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{ dir: { type: import("vue").PropType<Direction>; }; asChild: { type: import("vue").PropType<boolean>; }; as: { type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>; default: string; }; defaultValue: { type: import("vue").PropType<string>; }; orientation: { type: import("vue").PropType<Orientation>; default: string; }; modelValue: { type: import("vue").PropType<string>; default: undefined; }; delayDuration: { type: import("vue").PropType<number>; default: number; }; skipDelayDuration: { type: import("vue").PropType<number>; default: number; }; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:modelValue": (value: string) => void; }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ dir: { type: import("vue").PropType<Direction>; }; asChild: { type: import("vue").PropType<boolean>; }; as: { type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>; default: string; }; defaultValue: { type: import("vue").PropType<string>; }; orientation: { type: import("vue").PropType<Orientation>; default: string; }; modelValue: { type: import("vue").PropType<string>; default: undefined; }; delayDuration: { type: import("vue").PropType<number>; default: number; }; skipDelayDuration: { type: import("vue").PropType<number>; default: number; }; }>> & { "onUpdate:modelValue"?: ((value: string) => any) | undefined; }, { as: import('../Primitive').AsTag | import("vue").Component; orientation: Orientation; modelValue: string; delayDuration: number; skipDelayDuration: number; }, {}>, { default?(_: {}): any; }>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };