@fesjs/fes-design
Version:
fes-design for PC
53 lines (52 loc) • 1.5 kB
TypeScript
import { type ComputedRef, type Ref, type SetupContext } from 'vue';
export declare const UPDATE_MODEL_EVENT = "update:modelValue";
export declare const DRAG_START_EVENT = "dragstart";
export declare const DRAG_END_EVENT = "dragend";
export type BeforeDragEnd = (drag: {
item: unknown;
index: number;
list: unknown[];
resultList: unknown[];
}, drop: {
item: unknown;
index: number;
list: unknown[];
resultList: unknown[];
}) => Promise<boolean> | boolean;
type PropsRef = ComputedRef<{
list: unknown[];
droppable: boolean;
disabled: boolean;
beforeDragend?: BeforeDragEnd;
isDirective?: boolean;
}>;
export declare class DraggableItem {
draggable: unknown;
first: {
x: number;
y: number;
};
last: {
x: number;
y: number;
};
style: {
transition: string;
transform: string;
opacity: unknown;
};
elStyle: Record<string, unknown>;
setDraggable(draggable?: boolean): void;
setOpacity(opacity?: number): void;
}
export declare const useDraggable: (containerRef: Ref<Element | undefined>, propsRef: PropsRef, ctx?: SetupContext) => {
onAnimationEnd: () => void;
onDragover: (event: DragEvent) => void;
onDragstart: (event: Event) => void;
onDragend: (event: Event) => Promise<void>;
draggableItems: DraggableItem[];
nextTickQueue: (() => void)[];
onMousemove: (event: MouseEvent) => void;
onUpdated: () => void;
};
export {};