diff --git a/packages/@mantine/core/src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.tsx b/packages/@mantine/core/src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.tsx index 56f0bcc9da..872b5f2314 100644 --- a/packages/@mantine/core/src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.tsx +++ b/packages/@mantine/core/src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.tsx @@ -85,6 +85,8 @@ export const Scrollbar = forwardRef((props, forw ref={composeRefs} style={{ position: 'absolute', ...scrollbarProps.style }} onPointerDown={composeEventHandlers(props.onPointerDown, (event) => { + event.preventDefault(); + const mainPointer = 0; if (event.button === mainPointer) { const element = event.target as HTMLElement; @@ -92,16 +94,20 @@ export const Scrollbar = forwardRef((props, forw rectRef.current = scrollbar!.getBoundingClientRect(); prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect; document.body.style.webkitUserSelect = 'none'; + document.body.style.pointerEvents = 'none'; handleDragScroll(event); } })} onPointerMove={composeEventHandlers(props.onPointerMove, handleDragScroll)} onPointerUp={composeEventHandlers(props.onPointerUp, (event) => { + event.preventDefault(); + const element = event.target as HTMLElement; if (element.hasPointerCapture(event.pointerId)) { element.releasePointerCapture(event.pointerId); } document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current; + document.body.style.pointerEvents = 'auto'; rectRef.current = null; })} />