UNPKG

@intility/bifrost-react

Version:

React library for Intility's design system, Bifrost.

33 lines (32 loc) 869 B
"use client"; import { c as _c } from "react-compiler-runtime"; import { useState } from "react"; import useIsomorphicLayoutEffect from "./useIsomorphicLayoutEffect.js"; const useMediaQuery = query => { const $ = _c(3); const [match, setMatch] = useState(); let t0; let t1; if ($[0] !== query) { t0 = () => { if (typeof matchMedia === "undefined") { return; } const mediaQueryList = matchMedia(query); setMatch(mediaQueryList.matches); const listener = e => setMatch(e.matches); mediaQueryList.addEventListener("change", listener); return () => mediaQueryList.removeEventListener("change", listener); }; t1 = [query]; $[0] = query; $[1] = t0; $[2] = t1; } else { t0 = $[1]; t1 = $[2]; } useIsomorphicLayoutEffect(t0, t1); return match; }; export default useMediaQuery;