vuestic-ui
Version:
Vue 3 UI Framework
19 lines (18 loc) • 804 B
TypeScript
import { Ref } from 'vue';
type MaybeRef<T> = Ref<T> | T;
type UseEventEventName = keyof GlobalEventHandlersEventMap | string[];
type UseEventEvent<N extends UseEventEventName, D> = N extends keyof GlobalEventHandlersEventMap ? GlobalEventHandlersEventMap[N] : D;
/**
* SSR safety listen to target event.
* @param target by default window
* @param event if string, listener will be fully typed. If array of string, you need to type event manually.
*
*
* @example
* ```ts
* useEvent('resize': (e) => {})
* useEvent(['mousedown', 'mouseup', 'mousemove'], (e) => {})
* ```
*/
export declare const useEvent: <N extends UseEventEventName, E extends Event>(event: N, listener: (this: GlobalEventHandlers, event: UseEventEvent<N, E>) => any, target?: MaybeRef<unknown> | boolean) => void;
export {};