brightyui
Version:
Brighty UI library
21 lines • 870 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var useMediaQuery = function (query) {
var mediaMatch = (0, react_1.useMemo)(function () {
if (typeof window !== 'undefined') {
return window.matchMedia(query);
}
}, [query]);
var _a = (0, react_1.useState)(mediaMatch === null || mediaMatch === void 0 ? void 0 : mediaMatch.matches), matches = _a[0], setMatches = _a[1];
(0, react_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;
};
exports.default = useMediaQuery;
//# sourceMappingURL=useMediaQuery.js.map