diff --git a/packages/shared-ui/src/dnd/drag-source.ts b/packages/shared-ui/src/dnd/drag-source.ts index 5a806130a..4e5b903eb 100644 --- a/packages/shared-ui/src/dnd/drag-source.ts +++ b/packages/shared-ui/src/dnd/drag-source.ts @@ -108,6 +108,15 @@ export function dragSource(node: HTMLElement, options: DragSourceOptions) { }) ); endDrag(); + // Block the click event that fires after pointerup — prevents + // opening detail views when dropping an item. + const blocker = (ev: Event) => { + ev.stopPropagation(); + ev.preventDefault(); + }; + node.addEventListener('click', blocker, { capture: true, once: true }); + // Safety: remove blocker after a tick in case click doesn't fire + setTimeout(() => node.removeEventListener('click', blocker, { capture: true }), 0); } cleanup(); }