UNPKG

@clubmed/trident-ui

Version:

Shared ClubMed React UI components

25 lines (24 loc) 1.2 kB
import { useReducer as v, useEffect as L } from "react"; import { reducer as g, getInitialState as E } from "../reducers/reducer.js"; import { QUERIES as n } from "../../../types/Devices.js"; function y({ device: l, direction: p }) { const [u, t] = v(g, { device: l, direction: p }, E); return L(() => { const a = window.matchMedia(n.SMALL), r = window.matchMedia(n.MEDIUM), s = window.matchMedia(n.LARGE), i = window.matchMedia(n.XLARGE), o = ({ matches: e }) => { t({ type: "small", payload: e }); }, c = ({ matches: e }) => { t({ type: "medium", payload: e }); }, d = ({ matches: e }) => { t({ type: "large", payload: e }); }, m = ({ matches: e }) => { t({ type: "xlarge", payload: e }); }; return a.addEventListener("change", o, { passive: !0 }), r.addEventListener("change", c, { passive: !0 }), s.addEventListener("change", d, { passive: !0 }), i.addEventListener("change", m, { passive: !0 }), () => { a.removeEventListener("change", o), r.removeEventListener("change", c), s.removeEventListener("change", d), i.removeEventListener("change", m); }; }, []), u; } export { y as useQueries }; //# sourceMappingURL=useQueries.js.map