"use strict";
exports.__esModule = true;
exports.useMatchMedia = void 0;
var tslib_1 = require("tslib");
var react_1 = require("react");
var utils_1 = require("./utils");
/**
 * Хук для медиа запросов.
 * @param query media выражение или кастомный запрос из `mq.json`, например `--mobile`.
 */
var useMatchMedia = function (query) {
    var _a = (0, tslib_1.__read)((0, react_1.useState)(false), 2), matches = _a[0], setMatches = _a[1];
    (0, react_1.useEffect)(function () {
        var mql = (0, utils_1.getMatchMedia)(query);
        var handleMatchChange = function () { return setMatches(mql.matches); };
        mql.addListener(handleMatchChange);
        handleMatchChange();
        return function () {
            mql.removeListener(handleMatchChange);
            (0, utils_1.releaseMatchMedia)(query);
        };
    }, [query]);
    return [matches];
};
exports.useMatchMedia = useMatchMedia;
