You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							57 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							57 lines
						
					
					
						
							1.7 KiB
						
					
					
				'use strict'; | 
						|
 | 
						|
exports.__esModule = true; | 
						|
exports.removeResizeListener = exports.addResizeListener = undefined; | 
						|
 | 
						|
var _resizeObserverPolyfill = require('resize-observer-polyfill'); | 
						|
 | 
						|
var _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill); | 
						|
 | 
						|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | 
						|
 | 
						|
var isServer = typeof window === 'undefined'; | 
						|
 | 
						|
/* istanbul ignore next */ | 
						|
var resizeHandler = function resizeHandler(entries) { | 
						|
  for (var _iterator = entries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | 
						|
    var _ref; | 
						|
 | 
						|
    if (_isArray) { | 
						|
      if (_i >= _iterator.length) break; | 
						|
      _ref = _iterator[_i++]; | 
						|
    } else { | 
						|
      _i = _iterator.next(); | 
						|
      if (_i.done) break; | 
						|
      _ref = _i.value; | 
						|
    } | 
						|
 | 
						|
    var entry = _ref; | 
						|
 | 
						|
    var listeners = entry.target.__resizeListeners__ || []; | 
						|
    if (listeners.length) { | 
						|
      listeners.forEach(function (fn) { | 
						|
        fn(); | 
						|
      }); | 
						|
    } | 
						|
  } | 
						|
}; | 
						|
 | 
						|
/* istanbul ignore next */ | 
						|
var addResizeListener = exports.addResizeListener = function addResizeListener(element, fn) { | 
						|
  if (isServer) return; | 
						|
  if (!element.__resizeListeners__) { | 
						|
    element.__resizeListeners__ = []; | 
						|
    element.__ro__ = new _resizeObserverPolyfill2.default(resizeHandler); | 
						|
    element.__ro__.observe(element); | 
						|
  } | 
						|
  element.__resizeListeners__.push(fn); | 
						|
}; | 
						|
 | 
						|
/* istanbul ignore next */ | 
						|
var removeResizeListener = exports.removeResizeListener = function removeResizeListener(element, fn) { | 
						|
  if (!element || !element.__resizeListeners__) return; | 
						|
  element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1); | 
						|
  if (!element.__resizeListeners__.length) { | 
						|
    element.__ro__.disconnect(); | 
						|
  } | 
						|
}; |