@realsee/dnalogel
Version:
291 lines (290 loc) • 10.4 kB
JavaScript
var _ = function() {
if (typeof Map != "undefined")
return Map;
function e(t, n) {
var r = -1;
return t.some(function(i, o) {
return i[0] === n ? (r = o, !0) : !1;
}), r;
}
return (
/** @class */
function() {
function t() {
this.__entries__ = [];
}
return Object.defineProperty(t.prototype, "size", {
/**
* @returns {boolean}
*/
get: function() {
return this.__entries__.length;
},
enumerable: !0,
configurable: !0
}), t.prototype.get = function(n) {
var r = e(this.__entries__, n), i = this.__entries__[r];
return i && i[1];
}, t.prototype.set = function(n, r) {
var i = e(this.__entries__, n);
~i ? this.__entries__[i][1] = r : this.__entries__.push([n, r]);
}, t.prototype.delete = function(n) {
var r = this.__entries__, i = e(r, n);
~i && r.splice(i, 1);
}, t.prototype.has = function(n) {
return !!~e(this.__entries__, n);
}, t.prototype.clear = function() {
this.__entries__.splice(0);
}, t.prototype.forEach = function(n, r) {
r === void 0 && (r = null);
for (var i = 0, o = this.__entries__; i < o.length; i++) {
var s = o[i];
n.call(r, s[1], s[0]);
}
}, t;
}()
);
}(), v = typeof window != "undefined" && typeof document != "undefined" && window.document === document, f = function() {
return typeof global != "undefined" && global.Math === Math ? global : typeof self != "undefined" && self.Math === Math ? self : typeof window != "undefined" && window.Math === Math ? window : Function("return this")();
}(), O = function() {
return typeof requestAnimationFrame == "function" ? requestAnimationFrame.bind(f) : function(e) {
return setTimeout(function() {
return e(Date.now());
}, 1e3 / 60);
};
}(), E = 2;
function R(e, t) {
var n = !1, r = !1, i = 0;
function o() {
n && (n = !1, e()), r && a();
}
function s() {
O(o);
}
function a() {
var u = Date.now();
if (n) {
if (u - i < E)
return;
r = !0;
} else
n = !0, r = !1, setTimeout(s, t);
i = u;
}
return a;
}
var M = 20, x = ["top", "right", "bottom", "left", "width", "height", "size", "weight"], A = typeof MutationObserver != "undefined", z = (
/** @class */
function() {
function e() {
this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = R(this.refresh.bind(this), M);
}
return e.prototype.addObserver = function(t) {
~this.observers_.indexOf(t) || this.observers_.push(t), this.connected_ || this.connect_();
}, e.prototype.removeObserver = function(t) {
var n = this.observers_, r = n.indexOf(t);
~r && n.splice(r, 1), !n.length && this.connected_ && this.disconnect_();
}, e.prototype.refresh = function() {
var t = this.updateObservers_();
t && this.refresh();
}, e.prototype.updateObservers_ = function() {
var t = this.observers_.filter(function(n) {
return n.gatherActive(), n.hasActive();
});
return t.forEach(function(n) {
return n.broadcastActive();
}), t.length > 0;
}, e.prototype.connect_ = function() {
!v || this.connected_ || (document.addEventListener("transitionend", this.onTransitionEnd_), window.addEventListener("resize", this.refresh), A ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {
attributes: !0,
childList: !0,
characterData: !0,
subtree: !0
})) : (document.addEventListener("DOMSubtreeModified", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0);
}, e.prototype.disconnect_ = function() {
!v || !this.connected_ || (document.removeEventListener("transitionend", this.onTransitionEnd_), window.removeEventListener("resize", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener("DOMSubtreeModified", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1);
}, e.prototype.onTransitionEnd_ = function(t) {
var n = t.propertyName, r = n === void 0 ? "" : n, i = x.some(function(o) {
return !!~r.indexOf(o);
});
i && this.refresh();
}, e.getInstance = function() {
return this.instance_ || (this.instance_ = new e()), this.instance_;
}, e.instance_ = null, e;
}()
), m = function(e, t) {
for (var n = 0, r = Object.keys(t); n < r.length; n++) {
var i = r[n];
Object.defineProperty(e, i, {
value: t[i],
enumerable: !1,
writable: !1,
configurable: !0
});
}
return e;
}, c = function(e) {
var t = e && e.ownerDocument && e.ownerDocument.defaultView;
return t || f;
}, y = d(0, 0, 0, 0);
function h(e) {
return parseFloat(e) || 0;
}
function b(e) {
for (var t = [], n = 1; n < arguments.length; n++)
t[n - 1] = arguments[n];
return t.reduce(function(r, i) {
var o = e["border-" + i + "-width"];
return r + h(o);
}, 0);
}
function T(e) {
for (var t = ["top", "right", "bottom", "left"], n = {}, r = 0, i = t; r < i.length; r++) {
var o = i[r], s = e["padding-" + o];
n[o] = h(s);
}
return n;
}
function C(e) {
var t = e.getBBox();
return d(0, 0, t.width, t.height);
}
function S(e) {
var t = e.clientWidth, n = e.clientHeight;
if (!t && !n)
return y;
var r = c(e).getComputedStyle(e), i = T(r), o = i.left + i.right, s = i.top + i.bottom, a = h(r.width), u = h(r.height);
if (r.boxSizing === "border-box" && (Math.round(a + o) !== t && (a -= b(r, "left", "right") + o), Math.round(u + s) !== n && (u -= b(r, "top", "bottom") + s)), !G(e)) {
var l = Math.round(a + o) - t, p = Math.round(u + s) - n;
Math.abs(l) !== 1 && (a -= l), Math.abs(p) !== 1 && (u -= p);
}
return d(i.left, i.top, a, u);
}
var D = function() {
return typeof SVGGraphicsElement != "undefined" ? function(e) {
return e instanceof c(e).SVGGraphicsElement;
} : function(e) {
return e instanceof c(e).SVGElement && typeof e.getBBox == "function";
};
}();
function G(e) {
return e === c(e).document.documentElement;
}
function L(e) {
return v ? D(e) ? C(e) : S(e) : y;
}
function P(e) {
var t = e.x, n = e.y, r = e.width, i = e.height, o = typeof DOMRectReadOnly != "undefined" ? DOMRectReadOnly : Object, s = Object.create(o.prototype);
return m(s, {
x: t,
y: n,
width: r,
height: i,
top: n,
right: t + r,
bottom: i + n,
left: t
}), s;
}
function d(e, t, n, r) {
return { x: e, y: t, width: n, height: r };
}
var W = (
/** @class */
function() {
function e(t) {
this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = d(0, 0, 0, 0), this.target = t;
}
return e.prototype.isActive = function() {
var t = L(this.target);
return this.contentRect_ = t, t.width !== this.broadcastWidth || t.height !== this.broadcastHeight;
}, e.prototype.broadcastRect = function() {
var t = this.contentRect_;
return this.broadcastWidth = t.width, this.broadcastHeight = t.height, t;
}, e;
}()
), j = (
/** @class */
function() {
function e(t, n) {
var r = P(n);
m(this, { target: t, contentRect: r });
}
return e;
}()
), F = (
/** @class */
function() {
function e(t, n, r) {
if (this.activeObservations_ = [], this.observations_ = new _(), typeof t != "function")
throw new TypeError("The callback provided as parameter 1 is not a function.");
this.callback_ = t, this.controller_ = n, this.callbackCtx_ = r;
}
return e.prototype.observe = function(t) {
if (!arguments.length)
throw new TypeError("1 argument required, but only 0 present.");
if (!(typeof Element == "undefined" || !(Element instanceof Object))) {
if (!(t instanceof c(t).Element))
throw new TypeError('parameter 1 is not of type "Element".');
var n = this.observations_;
n.has(t) || (n.set(t, new W(t)), this.controller_.addObserver(this), this.controller_.refresh());
}
}, e.prototype.unobserve = function(t) {
if (!arguments.length)
throw new TypeError("1 argument required, but only 0 present.");
if (!(typeof Element == "undefined" || !(Element instanceof Object))) {
if (!(t instanceof c(t).Element))
throw new TypeError('parameter 1 is not of type "Element".');
var n = this.observations_;
n.has(t) && (n.delete(t), n.size || this.controller_.removeObserver(this));
}
}, e.prototype.disconnect = function() {
this.clearActive(), this.observations_.clear(), this.controller_.removeObserver(this);
}, e.prototype.gatherActive = function() {
var t = this;
this.clearActive(), this.observations_.forEach(function(n) {
n.isActive() && t.activeObservations_.push(n);
});
}, e.prototype.broadcastActive = function() {
if (this.hasActive()) {
var t = this.callbackCtx_, n = this.activeObservations_.map(function(r) {
return new j(r.target, r.broadcastRect());
});
this.callback_.call(t, n, t), this.clearActive();
}
}, e.prototype.clearActive = function() {
this.activeObservations_.splice(0);
}, e.prototype.hasActive = function() {
return this.activeObservations_.length > 0;
}, e;
}()
), g = typeof WeakMap != "undefined" ? /* @__PURE__ */ new WeakMap() : new _(), w = (
/** @class */
function() {
function e(t) {
if (!(this instanceof e))
throw new TypeError("Cannot call a class as a function.");
if (!arguments.length)
throw new TypeError("1 argument required, but only 0 present.");
var n = z.getInstance(), r = new F(t, n, this);
g.set(this, r);
}
return e;
}()
);
[
"observe",
"unobserve",
"disconnect"
].forEach(function(e) {
w.prototype[e] = function() {
var t;
return (t = g.get(this))[e].apply(t, arguments);
};
});
var H = function() {
return typeof f.ResizeObserver != "undefined" ? f.ResizeObserver : w;
}();
export {
H as index
};