UNPKG

ucc-ui

Version:

ucc-ui components library

50 lines (49 loc) 1.52 kB
import { Ref } from 'vue'; interface UseResizeOptions { el: string | HTMLElement | Ref<HTMLElement | null>; angleWidth?: number; barSize?: number; barZIndex?: number; minHeight?: number; minWidth?: number; resizing?: (width: number, height: number) => void; end?: (width: number, height: number) => void; } type ResizeType = typeof ResizeClasses[keyof typeof ResizeClasses]; interface UseResizeReturn { width: Readonly<Ref<number>>; height: Readonly<Ref<number>>; left: Readonly<Ref<number>>; top: Readonly<Ref<number>>; startX: Readonly<Ref<number>>; startY: Readonly<Ref<number>>; startWidth: Readonly<Ref<number>>; startHeight: Readonly<Ref<number>>; resizeType: Readonly<Ref<ResizeType>>; } declare const ResizeClasses: { [key: string]: string; }; /** * * @param opts * @param opts.el 需要调整大小的元素 * @param opts.angleWidth 对角控制条的宽度 * @param opts.barSize 控制条的大小 * @param opts.barZIndex 控制条的z-index * @param opts.minWidth 最小宽度 * @param opts.minHeight 最小高度 * @param opts.resizing 调整大小时触发的事件 * @param opts.end 调整大小时触发的事件 * @description 用于调整元素的大小 * @example * ```ts * const { width, height, left, top, startX, startY, startWidth, startHeight, resizeType } = useResize({ * el: '#app', * }) * ``` * * @returns */ export default function useResize(opts: UseResizeOptions): UseResizeReturn; export {};