@eslamdevui/ui
Version:
A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.
28 lines (27 loc) • 839 B
TypeScript
import type { Ref } from 'vue';
export type UseResizableProps = {
id?: string;
side?: 'left' | 'right';
minSize?: number;
maxSize?: number;
defaultSize?: number;
resizable?: boolean;
collapsible?: boolean;
collapsedSize?: number;
storage?: 'cookie' | 'local';
storageKey?: string;
persistent?: boolean;
unit?: '%' | 'rem' | 'px';
};
export type UseResizableReturn = {
el: Ref<HTMLElement | null>;
size: Ref<number>;
isDragging: Ref<boolean>;
isCollapsed: Ref<boolean>;
onMouseDown: (e: MouseEvent) => void;
onTouchStart: (e: TouchEvent) => void;
collapse: (value?: boolean) => void;
};
export declare const useResizable: (key: string, options?: Ref<UseResizableProps> | UseResizableProps, { collapsed }?: {
collapsed?: Ref<boolean>;
}) => UseResizableReturn;