UNPKG

tav-ui

Version:
50 lines (43 loc) 1.56 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var ResizeObserver = require('resize-observer-polyfill'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var ResizeObserver__default = /*#__PURE__*/_interopDefaultLegacy(ResizeObserver); const isServer = typeof window === "undefined"; function resizeHandler(entries) { for (const entry of entries) { const listeners = entry.target.__resizeListeners__ || []; if (listeners.length) { listeners.forEach((fn) => { fn(); }); } } } function addResizeListener(element, fn) { if (isServer) return; if (!element.__resizeListeners__) { element.__resizeListeners__ = []; element.__ro__ = new ResizeObserver__default["default"](resizeHandler); element.__ro__.observe(element); } element.__resizeListeners__.push(fn); } function removeResizeListener(element, fn) { if (!element || !element.__resizeListeners__) return; element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1); if (!element.__resizeListeners__.length) element.__ro__.disconnect(); } function triggerWindowResize() { const event = document.createEvent("HTMLEvents"); event.initEvent("resize", true, true); event.eventType = "message"; window.dispatchEvent(event); } exports.addResizeListener = addResizeListener; exports.removeResizeListener = removeResizeListener; exports.triggerWindowResize = triggerWindowResize; //# sourceMappingURL=index2.js.map