infinity-forge
Version:
35 lines • 1.45 kB
JavaScript
;
//@ts-nocheck
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = getBreakpoint;
var window_1 = require("../../ssr-window/window.js");
function getBreakpoint(breakpoints, base, containerEl) {
if (base === void 0) { base = 'window'; }
if (!breakpoints || (base === 'container' && !containerEl))
return undefined;
var breakpoint = false;
var window = (0, window_1.getWindow)();
var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;
var points = Object.keys(breakpoints).map(function (point) {
if (typeof point === 'string' && point.indexOf('@') === 0) {
var minRatio = parseFloat(point.substr(1));
var value = currentHeight * minRatio;
return { value: value, point: point };
}
return { value: point, point: point };
});
points.sort(function (a, b) { return parseInt(a.value, 10) - parseInt(b.value, 10); });
for (var i = 0; i < points.length; i += 1) {
var _a = points[i], point = _a.point, value = _a.value;
if (base === 'window') {
if (window.matchMedia("(min-width: ".concat(value, "px)")).matches) {
breakpoint = point;
}
}
else if (value <= containerEl.clientWidth) {
breakpoint = point;
}
}
return breakpoint || 'max';
}
//# sourceMappingURL=getBreakpoint.js.map