UNPKG

vue3-dnd

Version:

Drag and Drop for Vue Composition API

27 lines (26 loc) 1.08 kB
import { useRegisteredDropTarget } from "./useRegisteredDropTarget.js"; import { useOptionalFactory } from "../useOptionalFactory.js"; import { useDropTargetMonitor } from "./useDropTargetMonitor.js"; import { useDropTargetConnector } from "./useDropTargetConnector.js"; import { useCollectedProps } from "../useCollectedProps"; import { useConnectDropTarget } from "./connectors"; import { computed, unref } from "vue-demi"; /** * useDropTarget Hook * @param specArg The drop target specification (object or function, function preferred) */ export function useDrop(specArg) { var spec = useOptionalFactory(specArg); var monitor = useDropTargetMonitor(); var connector = useDropTargetConnector(computed(function() { return unref(spec).options; })); useRegisteredDropTarget(spec, monitor, connector); return [ useCollectedProps(computed(function() { return unref(spec).collect || function() { return {}; }; }), monitor, connector), useConnectDropTarget(connector, spec), ]; }