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