mirror of
https://github.com/agam778/MS-365-Electron.git
synced 2026-02-17 09:02:10 +00:00
151 lines
4.7 KiB
JavaScript
151 lines
4.7 KiB
JavaScript
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
|
var breakpoints = (function () {
|
|
"use strict";
|
|
function e(e) {
|
|
t.init(e);
|
|
}
|
|
var t = {
|
|
list: null,
|
|
media: {},
|
|
events: [],
|
|
init: function (e) {
|
|
(t.list = e),
|
|
window.addEventListener("resize", t.poll),
|
|
window.addEventListener("orientationchange", t.poll),
|
|
window.addEventListener("load", t.poll),
|
|
window.addEventListener("fullscreenchange", t.poll);
|
|
},
|
|
active: function (e) {
|
|
var n, a, s, i, r, d, c;
|
|
if (!(e in t.media)) {
|
|
if (
|
|
(">=" == e.substr(0, 2)
|
|
? ((a = "gte"), (n = e.substr(2)))
|
|
: "<=" == e.substr(0, 2)
|
|
? ((a = "lte"), (n = e.substr(2)))
|
|
: ">" == e.substr(0, 1)
|
|
? ((a = "gt"), (n = e.substr(1)))
|
|
: "<" == e.substr(0, 1)
|
|
? ((a = "lt"), (n = e.substr(1)))
|
|
: "!" == e.substr(0, 1)
|
|
? ((a = "not"), (n = e.substr(1)))
|
|
: ((a = "eq"), (n = e)),
|
|
n && n in t.list)
|
|
)
|
|
if (((i = t.list[n]), Array.isArray(i))) {
|
|
if (((r = parseInt(i[0])), (d = parseInt(i[1])), isNaN(r))) {
|
|
if (isNaN(d)) return;
|
|
c = i[1].substr(String(d).length);
|
|
} else c = i[0].substr(String(r).length);
|
|
if (isNaN(r))
|
|
switch (a) {
|
|
case "gte":
|
|
s = "screen";
|
|
break;
|
|
case "lte":
|
|
s = "screen and (max-width: " + d + c + ")";
|
|
break;
|
|
case "gt":
|
|
s = "screen and (min-width: " + (d + 1) + c + ")";
|
|
break;
|
|
case "lt":
|
|
s = "screen and (max-width: -1px)";
|
|
break;
|
|
case "not":
|
|
s = "screen and (min-width: " + (d + 1) + c + ")";
|
|
break;
|
|
default:
|
|
s = "screen and (max-width: " + d + c + ")";
|
|
}
|
|
else if (isNaN(d))
|
|
switch (a) {
|
|
case "gte":
|
|
s = "screen and (min-width: " + r + c + ")";
|
|
break;
|
|
case "lte":
|
|
s = "screen";
|
|
break;
|
|
case "gt":
|
|
s = "screen and (max-width: -1px)";
|
|
break;
|
|
case "lt":
|
|
s = "screen and (max-width: " + (r - 1) + c + ")";
|
|
break;
|
|
case "not":
|
|
s = "screen and (max-width: " + (r - 1) + c + ")";
|
|
break;
|
|
default:
|
|
s = "screen and (min-width: " + r + c + ")";
|
|
}
|
|
else
|
|
switch (a) {
|
|
case "gte":
|
|
s = "screen and (min-width: " + r + c + ")";
|
|
break;
|
|
case "lte":
|
|
s = "screen and (max-width: " + d + c + ")";
|
|
break;
|
|
case "gt":
|
|
s = "screen and (min-width: " + (d + 1) + c + ")";
|
|
break;
|
|
case "lt":
|
|
s = "screen and (max-width: " + (r - 1) + c + ")";
|
|
break;
|
|
case "not":
|
|
s =
|
|
"screen and (max-width: " +
|
|
(r - 1) +
|
|
c +
|
|
"), screen and (min-width: " +
|
|
(d + 1) +
|
|
c +
|
|
")";
|
|
break;
|
|
default:
|
|
s =
|
|
"screen and (min-width: " +
|
|
r +
|
|
c +
|
|
") and (max-width: " +
|
|
d +
|
|
c +
|
|
")";
|
|
}
|
|
} else s = "(" == i.charAt(0) ? "screen and " + i : i;
|
|
t.media[e] = !!s && s;
|
|
}
|
|
return t.media[e] !== !1 && window.matchMedia(t.media[e]).matches;
|
|
},
|
|
on: function (e, n) {
|
|
t.events.push({ query: e, handler: n, state: !1 }), t.active(e) && n();
|
|
},
|
|
poll: function () {
|
|
var e, n;
|
|
for (e = 0; e < t.events.length; e++)
|
|
(n = t.events[e]),
|
|
t.active(n.query)
|
|
? n.state || ((n.state = !0), n.handler())
|
|
: n.state && (n.state = !1);
|
|
},
|
|
};
|
|
return (
|
|
(e._ = t),
|
|
(e.on = function (e, n) {
|
|
t.on(e, n);
|
|
}),
|
|
(e.active = function (e) {
|
|
return t.active(e);
|
|
}),
|
|
e
|
|
);
|
|
})();
|
|
!(function (e, t) {
|
|
"function" == typeof define && define.amd
|
|
? define([], t)
|
|
: "object" == typeof exports
|
|
? (module.exports = t())
|
|
: (e.breakpoints = t());
|
|
})(this, function () {
|
|
return breakpoints;
|
|
});
|