26 lines
881 B
TypeScript
26 lines
881 B
TypeScript
import type { InjectionKey, Ref } from 'vue';
|
|
export interface SnackbarQueueItemState {
|
|
height: number;
|
|
width: number;
|
|
}
|
|
export interface SnackbarQueueProvide {
|
|
register: (id: string) => void;
|
|
unregister: (id: string) => void;
|
|
setSize: (id: string, height: number, width: number) => void;
|
|
getOffset: (id: string) => number | null;
|
|
items: Ref<Map<string, SnackbarQueueItemState>>;
|
|
gap: Ref<number>;
|
|
lastItemSize: Ref<{
|
|
height: number;
|
|
width: number;
|
|
}>;
|
|
}
|
|
export declare const VSnackbarQueueSymbol: InjectionKey<SnackbarQueueProvide>;
|
|
export declare function useSnackbarQueue(props: {
|
|
gap: string | number;
|
|
}): SnackbarQueueProvide;
|
|
export declare function useSnackbarItem(isActive: Ref<boolean>, contentEl: () => HTMLElement | undefined): {
|
|
id: string;
|
|
offset: import("vue").ComputedRef<number | null>;
|
|
} | null;
|