UNPKG

@fesjs/fes-design

Version:
53 lines (52 loc) 1.5 kB
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 {};