UNPKG

swiper

Version:

Most modern mobile touch slider and framework with hardware accelerated transitions

45 lines (40 loc) 1.24 kB
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 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 (base === 'window') { if (window.matchMedia("(min-width: " + value + "px)").matches) { breakpoint = point; } } else if (value <= containerEl.clientWidth) { breakpoint = point; } } return breakpoint || 'max'; }