@cran/vue.use
Version:
Cranberry Vue Use Utilities
12 lines (11 loc) • 463 B
JavaScript
import { eager } from "@cran/vue.ref";
import { useCounter } from "../state/useCounter";
import { useEventListener } from "./useEventListener";
export function useActiveElement() {
const { counter, incr, } = useCounter(1);
useEventListener(window, "focus", incr, { capture: true, });
useEventListener(window, "blur", incr, { capture: true, });
return eager(function onChange() {
return (counter.value && document.activeElement);
});
}