@ariakit/react-core
Version:
Ariakit React core
24 lines (21 loc) • 642 B
JavaScript
"use client";
// src/dialog/utils/use-previous-mouse-down-ref.ts
import { addGlobalEventListener } from "@ariakit/core/utils/events";
import { useEffect, useRef } from "react";
function usePreviousMouseDownRef(enabled, scope) {
const previousMouseDownRef = useRef(null);
useEffect(() => {
if (!enabled) {
previousMouseDownRef.current = null;
return;
}
const onMouseDown = (event) => {
previousMouseDownRef.current = event.target;
};
return addGlobalEventListener("mousedown", onMouseDown, true, scope);
}, [enabled, scope]);
return previousMouseDownRef;
}
export {
usePreviousMouseDownRef
};