UNPKG

yuang-framework-ui-pc

Version:

yuang-framework-ui-pc Library

114 lines (112 loc) 3.24 kB
import { Ref } from 'vue'; /** * useTimer 返回结果 */ export type UseTimerResult = [ (callback?: () => void, timeout?: number) => void, () => void, Ref<boolean> ]; /** * 定时器 * @param ms 等待时间 * @param cb 执行方法 */ export declare function useTimer(ms?: number | (() => number), cb?: () => void): UseTimerResult; /** * useMediaQuery 返回结果 */ export type UseMediaQueryResult = [MediaQueryList, () => void, () => void]; /** * 媒体查询 * @param query 媒体查询字符串 * @param onChange 改变回调 */ export declare function useMediaQuery(query: string, onChange?: () => void): UseMediaQueryResult; /** * 窗口事件监听 * @param event 事件 * @param listener 回调 */ export declare function useWindowListener(event: string | EventListenerOrEventListenerObject, listener?: EventListenerOrEventListenerObject): void; /** * 折叠展开动画 */ export declare function useCollapseAnim(): { handleBeforeEnter: (el: HTMLElement) => void; handleEnter: (el: HTMLElement) => void; handleAfterEnter: (el: HTMLElement) => void; handleBeforeLeave: (el: HTMLElement) => void; handleLeave: (el: HTMLElement) => void; handleAfterLeave: (el: HTMLElement) => void; }; /** * 鼠标滚轮事件回调方法参数 */ export interface UseMousewheelCallbackParam { /** 事件对象 */ e: MouseEvent; /** 方向 */ direction: 'up' | 'down'; } /** * 鼠标滚轮事件 * @param cb 回调 */ export declare function useMousewheel(cb?: (p: UseMousewheelCallbackParam) => void): { handleMousewheel: (e: MouseEvent) => void; handleFirefoxMousewheel: (e: MouseEvent) => void; bindMousewheel: (el: HTMLElement) => void; unbindMousewheel: (el: HTMLElement) => void; }; /** * 触摸事件回调参数 */ export interface UseTouchEventCallbackParam<T> { /** 事件对象 */ e: T; /** 开始横向位置 */ startX: number | null; /** 开始纵向位置 */ startY: number | null; /** 横向移动距离 */ distanceX?: number | null; /** 纵向移动距离 */ distanceY?: number | null; } /** * 触摸事件参数 */ export interface UseTouchEventOption<T> { /** 触摸开始的回调 */ start?: (param: UseTouchEventCallbackParam<T>) => void; /** 触摸移动的回调 */ move?: (param: UseTouchEventCallbackParam<T>) => void; /** 触摸结束的回调 */ end?: (param: UseTouchEventCallbackParam<T>) => void; /** touchmove 事件参数 */ touchmoveOptions?: any; } /** * 触摸事件 * @param option 参数 */ export declare function useTouchEvent(option?: UseTouchEventOption<TouchEvent>): { handleTouchStart: (e: TouchEvent) => void; handleTouchMove: (e: TouchEvent) => void; handleTouchEnd: (e: TouchEvent) => void; bindTouchEvent: (el: HTMLElement) => void; unbindTouchEvent: (el: HTMLElement) => void; }; /** * 移动事件对象 */ export type MoveEvent = MouseEvent | TouchEvent; /** * 鼠标移动事件或触摸移动事件 * @param option 参数 */ export declare function useMoveEvent(option?: UseTouchEventOption<MoveEvent>): { handleMousedown: (e: MouseEvent) => void; handleTouchstart: (e: TouchEvent) => void; };