react-dyn-tabs
Version:
React dynamic tabs with full API
37 lines (36 loc) • 1.32 kB
JavaScript
exports.__esModule = true;
exports["default"] = void 0;
var _elementResizeDetector = _interopRequireDefault(require("element-resize-detector"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var _default = exports["default"] = function _default() {
var resizerIns = (0, _elementResizeDetector["default"])({
strategy: 'scroll',
callOnAdd: true
});
var getRaf = function getRaf() {
var w = window;
return w.requestAnimationFrame || w.webkitRequestAnimationFrame || w.mozRequestAnimationFrame || w.oRequestAnimationFrame || w.msRequestAnimationFrame || function (callback) {
w.setTimeout(callback, 1000 / 60);
};
};
resizerIns.debncListenTo = function (el, callback) {
return resizerIns.listenTo(el, function (func, wait) {
var timeout;
return function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var later = function later() {
clearTimeout(timeout);
getRaf()(function () {
return func.apply(void 0, args);
});
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}(callback, 10));
};
return resizerIns;
};
;