@hoosei/voxweave-react
Version:
A customizable and interactive voice UI component for React applications
66 lines (65 loc) • 1.8 kB
JavaScript
var p = function(r) {
return r.tagName === "TEXTAREA";
}, w = function(r, e) {
if (!(r instanceof Element))
return !1;
var l = window.getComputedStyle(r);
return (
// not-not-scrollable
l[e] !== "hidden" && // contains scroll inside self
!(l.overflowY === l.overflowX && !p(r) && l[e] === "visible")
);
}, y = function(r) {
return w(r, "overflowY");
}, H = function(r) {
return w(r, "overflowX");
}, N = function(r, e) {
var l = e.ownerDocument, t = e;
do {
typeof ShadowRoot < "u" && t instanceof ShadowRoot && (t = t.host);
var v = g(r, t);
if (v) {
var n = b(r, t), a = n[1], o = n[2];
if (a > o)
return !0;
}
t = t.parentNode;
} while (t && t !== l.body);
return !1;
}, B = function(r) {
var e = r.scrollTop, l = r.scrollHeight, t = r.clientHeight;
return [
e,
l,
t
];
}, V = function(r) {
var e = r.scrollLeft, l = r.scrollWidth, t = r.clientWidth;
return [
e,
l,
t
];
}, g = function(r, e) {
return r === "v" ? y(e) : H(e);
}, b = function(r, e) {
return r === "v" ? B(e) : V(e);
}, D = function(r, e) {
return r === "h" && e === "rtl" ? -1 : 1;
}, W = function(r, e, l, t, v) {
var n = D(r, window.getComputedStyle(e).direction), a = n * t, o = l.target, f = e.contains(o), c = !1, s = a > 0, d = 0, h = 0;
do {
var i = b(r, o), u = i[0], m = i[1], C = i[2], S = m - C - n * u;
(u || S) && g(r, o) && (d += S, h += u), o = o.parentNode.host || o.parentNode;
} while (
// portaled content
!f && o !== document.body || // self content
f && (e.contains(o) || e === o)
);
return (s && Math.abs(d) < 1 || !s && Math.abs(h) < 1) && (c = !0), c;
};
export {
W as handleScroll,
N as locationCouldBeScrolled
};
//# sourceMappingURL=index85.js.map