UNPKG

@zohodesk/components

Version:

In this Package, we Provide Some Basic Components to Build Web App

63 lines (54 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.windowResizeObserver = void 0; var _utils = require("./utils/"); var windowResizeObserver = function () { var listeners = []; var size = { height: 0, width: 0 }; var breackPoint = null; function handleResize() { var newSize = { height: window.innerHeight, width: window.innerWidth }; size = newSize; var newBreackPoint = (0, _utils.defaultMatcher)(size); if (newBreackPoint !== breackPoint) { breackPoint = newBreackPoint; listeners.forEach(function (listener) { return listener(newBreackPoint); }); } } function addResizeListener() { window.addEventListener('resize', handleResize); handleResize(); } function removeResizeListener() { window.removeEventListener('resize', handleResize); } return { observe: function observe(listener) { listeners.push(listener); listener.length === 1 && addResizeListener(); }, getBreackPoint: function getBreackPoint() { return breackPoint; }, getSize: function getSize() { return size; }, unobserve: function unobserve(listener) { listeners = listeners.filter(function (l) { return l !== listener; }); listener.length === 0 && removeResizeListener(); } }; }(); exports.windowResizeObserver = windowResizeObserver;