swiper
Version:
Most modern mobile touch slider and framework with hardware accelerated transitions
42 lines (37 loc) • 1.17 kB
JavaScript
import { getWindow } from 'ssr-window';
export default function getBreakpoint(breakpoints, base, containerEl) {
if (base === void 0) {
base = 'window';
}
if (!breakpoints || base === 'container' && !containerEl) return undefined;
var breakpoint = false;
var window = getWindow();
var currentWidth = base === 'window' ? window.innerWidth : containerEl.clientWidth;
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 _points$i = points[i],
point = _points$i.point,
value = _points$i.value;
if (value <= currentWidth) {
breakpoint = point;
}
}
return breakpoint || 'max';
}