@clubmed/trident-ui
Version:
Shared ClubMed React UI components
25 lines (24 loc) • 1.2 kB
JavaScript
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