import { useMemo } from 'react'; import { SourceConnector } from '../../internals/index.js'; import { useDragDropManager } from '../useDragDropManager.js'; import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect.js'; export function useDragSourceConnector(dragSourceOptions, dragPreviewOptions) { const manager = useDragDropManager(); const connector = useMemo(()=>new SourceConnector(manager.getBackend()) , [ manager ]); useIsomorphicLayoutEffect(()=>{ connector.dragSourceOptions = dragSourceOptions || null; connector.reconnect(); return ()=>connector.disconnectDragSource() ; }, [ connector, dragSourceOptions ]); useIsomorphicLayoutEffect(()=>{ connector.dragPreviewOptions = dragPreviewOptions || null; connector.reconnect(); return ()=>connector.disconnectDragPreview() ; }, [ connector, dragPreviewOptions ]); return connector; } //# sourceMappingURL=useDragSourceConnector.js.map