ucc-ui
Version:
ucc-ui components library
50 lines (49 loc) • 1.52 kB
TypeScript
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 {};