UNPKG

radix-vue

Version:

Vue port for Radix UI Primitives.

88 lines (87 loc) 2.87 kB
import type { Ref } from 'vue'; import type { SwipeDirection } from './utils'; type ToastProviderContext = { label: Ref<string>; duration: Ref<number>; swipeDirection: Ref<SwipeDirection>; swipeThreshold: Ref<number>; toastCount: Ref<number>; viewport: Ref<HTMLElement | undefined>; onViewportChange(viewport: HTMLElement): void; onToastAdd(): void; onToastRemove(): void; isFocusedToastEscapeKeyDownRef: Ref<boolean>; isClosePausedRef: Ref<boolean>; }; export interface ToastProviderProps { /** * An author-localized label for each toast. Used to help screen reader users * associate the interruption with a toast. * @defaultValue 'Notification' */ label?: string; /** * Time in milliseconds that each toast should remain visible for. * @defaultValue 5000 */ duration?: number; /** * Direction of pointer swipe that should close the toast. * @defaultValue 'right' */ swipeDirection?: SwipeDirection; /** * Distance in pixels that the swipe must pass before a close is triggered. * @defaultValue 50 */ swipeThreshold?: number; } export declare const injectToastProviderContext: <T extends ToastProviderContext | null | undefined = ToastProviderContext>(fallback?: T | undefined) => T extends null ? ToastProviderContext | null : ToastProviderContext, provideToastProviderContext: (contextValue: ToastProviderContext) => ToastProviderContext; declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{ label: { type: import("vue").PropType<string>; default: string; }; duration: { type: import("vue").PropType<number>; default: number; }; swipeDirection: { type: import("vue").PropType<SwipeDirection>; default: string; }; swipeThreshold: { type: import("vue").PropType<number>; default: number; }; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ label: { type: import("vue").PropType<string>; default: string; }; duration: { type: import("vue").PropType<number>; default: number; }; swipeDirection: { type: import("vue").PropType<SwipeDirection>; default: string; }; swipeThreshold: { type: import("vue").PropType<number>; default: number; }; }>>, { label: string; duration: number; swipeDirection: SwipeDirection; swipeThreshold: number; }, {}>, { default?(_: {}): any; }>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };