import enquire from 'enquire.js/dist/enquire';
export var MediaQueriesBpMin;
(function (MediaQueriesBpMin) {
    MediaQueriesBpMin["XL"] = "(min-width: 1600px)";
    MediaQueriesBpMin["L"] = "(min-width: 1200px)";
    MediaQueriesBpMin["M"] = "(min-width: 1024px)";
    MediaQueriesBpMin["S"] = "(min-width: 768px)";
    MediaQueriesBpMin["XS"] = "(min-width: 480px)";
    MediaQueriesBpMin["FROM_DESKTOP"] = "(min-width: 1600px)";
    MediaQueriesBpMin["FROM_LAPTOP"] = "(min-width: 1200px)";
    MediaQueriesBpMin["FROM_TABLET_LANDSCAPE"] = "(min-width: 1024px)";
    MediaQueriesBpMin["FROM_TABLET_PORTRAIT"] = "(min-width: 768px)";
    MediaQueriesBpMin["FROM_PHONE_PORTRAIT"] = "(min-width: 480px)";
})(MediaQueriesBpMin || (MediaQueriesBpMin = {}));
export var MediaQueriesBpMax;
(function (MediaQueriesBpMax) {
    MediaQueriesBpMax["XL"] = "(max-width: 1599px)";
    MediaQueriesBpMax["L"] = "(max-width: 1199px)";
    MediaQueriesBpMax["M"] = "(max-width: 1023px)";
    MediaQueriesBpMax["S"] = "(max-width: 767px)";
    MediaQueriesBpMax["XS"] = "(max-width: 479px)";
    MediaQueriesBpMax["LESS_THAN_DESKTOP"] = "(max-width: 1599px)";
    MediaQueriesBpMax["LESS_THAN_LAPTOP"] = "(max-width: 1199px)";
    MediaQueriesBpMax["LESS_THAN_TABLET_LANDSCAPE"] = "(max-width: 1023px)";
    MediaQueriesBpMax["LESS_THAN_TABLET_PORTRAIT"] = "(max-width: 767px)";
    MediaQueriesBpMax["LESS_THAN_PHONE_PORTRAIT"] = "(max-width: 479px)";
})(MediaQueriesBpMax || (MediaQueriesBpMax = {}));
export var MediaQueriesBp;
(function (MediaQueriesBp) {
    MediaQueriesBp["L"] = "(min-width: 1024px) and (max-width:1599px)";
    MediaQueriesBp["M"] = "(min-width: 768px) and (max-width: 1023px)";
    MediaQueriesBp["S"] = "(min-width: 480px) and (max-width: 767px)";
})(MediaQueriesBp || (MediaQueriesBp = {}));
var MediaQueries = /** @class */ (function () {
    function MediaQueries() {
        var _this = this;
        this.state = {
            isMqMinXL: false,
            isMqMinL: false,
            isMqMinM: false,
            isMqMinS: false,
            isMqMinXS: false,
            isMqMaxXL: false,
            isMqMaxL: false,
            isMqMaxM: false,
            isMqMaxS: false,
            isMqMaxXS: false,
            isMqS: false,
            isMqM: false,
            isMqL: false
        };
        this.register(MediaQueriesBpMin.XL, function () { return _this.state.isMqMinXL = true; }, function () { return _this.state.isMqMinXL = false; });
        this.register(MediaQueriesBpMin.L, function () { return _this.state.isMqMinL = true; }, function () { return _this.state.isMqMinL = false; });
        this.register(MediaQueriesBpMin.M, function () { return _this.state.isMqMinM = true; }, function () { return _this.state.isMqMinM = false; });
        this.register(MediaQueriesBpMin.S, function () { return _this.state.isMqMinS = true; }, function () { return _this.state.isMqMinS = false; });
        this.register(MediaQueriesBpMin.XS, function () { return _this.state.isMqMinXS = true; }, function () { return _this.state.isMqMinXS = false; });
        this.register(MediaQueriesBpMax.XL, function () { return _this.state.isMqMaxXL = true; }, function () { return _this.state.isMqMaxXL = false; });
        this.register(MediaQueriesBpMax.L, function () { return _this.state.isMqMaxL = true; }, function () { return _this.state.isMqMaxL = false; });
        this.register(MediaQueriesBpMax.M, function () { return _this.state.isMqMaxM = true; }, function () { return _this.state.isMqMaxM = false; });
        this.register(MediaQueriesBpMax.S, function () { return _this.state.isMqMaxS = true; }, function () { return _this.state.isMqMaxS = false; });
        this.register(MediaQueriesBpMax.XS, function () { return _this.state.isMqMaxXS = true; }, function () { return _this.state.isMqMaxXS = false; });
        this.register(MediaQueriesBp.S, function () { return _this.state.isMqS = true; }, function () { return _this.state.isMqS = false; });
        this.register(MediaQueriesBp.M, function () { return _this.state.isMqM = true; }, function () { return _this.state.isMqM = false; });
        this.register(MediaQueriesBp.L, function () { return _this.state.isMqL = true; }, function () { return _this.state.isMqL = false; });
    }
    MediaQueries.prototype.register = function (breakingPoint, match, unmatch) {
        var obj = {
            match: function () { return match(); },
            unmatch: function () { return unmatch(); }
        };
        enquire.register(breakingPoint, obj);
    };
    return MediaQueries;
}());
export { MediaQueries };
var MediaQueriesPlugin = {
    install: function (v) {
        var mediaQueries = new MediaQueries();
        (v.prototype).$mq = mediaQueries;
    }
};
export default MediaQueriesPlugin;
//# sourceMappingURL=media-queries.js.map