@ariakit/react-core
Version:
Ariakit React core
24 lines (21 loc) • 617 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) {
const previousMouseDownRef = useRef();
useEffect(() => {
if (!enabled) {
previousMouseDownRef.current = null;
return;
}
const onMouseDown = (event) => {
previousMouseDownRef.current = event.target;
};
return addGlobalEventListener("mousedown", onMouseDown, true);
}, [enabled]);
return previousMouseDownRef;
}
export {
usePreviousMouseDownRef
};