brightyui
Version:
Brighty UI library
19 lines • 773 B
JavaScript
import { useEffect, useMemo, useState } from 'react';
var useMediaQuery = function (query) {
var mediaMatch = useMemo(function () {
if (typeof window !== 'undefined') {
return window.matchMedia(query);
}
}, [query]);
var _a = useState(mediaMatch === null || mediaMatch === void 0 ? void 0 : mediaMatch.matches), matches = _a[0], setMatches = _a[1];
useEffect(function () {
if (mediaMatch) {
var handler_1 = function (e) { return setMatches(e.matches); };
mediaMatch.addListener(handler_1);
return function () { return mediaMatch.removeListener(handler_1); };
}
}, [mediaMatch]);
return matches;
};
export default useMediaQuery;
//# sourceMappingURL=useMediaQuery.js.map