add scrollbars to public elements

This commit is contained in:
Rene Haas
2022-07-28 16:57:46 +02:00
parent 2c711ed7ef
commit 45a97dc502
11 changed files with 417 additions and 356 deletions
+6
View File
@@ -360,6 +360,12 @@ html.os-viewport-scrollbar-hidden::-webkit-scrollbar-corner,
visibility: hidden !important; visibility: hidden !important;
background: transparent !important; } background: transparent !important; }
html.os-viewport-scrollbar-hidden,
html.os-viewport-scrollbar-hidden > body[data-overlayscrollbars] {
box-sizing: border-box;
width: 100%;
height: 100%; }
[data-overlayscrollbars], [data-overlayscrollbars],
.os-padding { .os-padding {
position: relative; } position: relative; }
+175 -175
View File
@@ -370,9 +370,9 @@ const a = jsAPI("IntersectionObserver");
const u = jsAPI("ResizeObserver"); const u = jsAPI("ResizeObserver");
const f = jsAPI("cancelAnimationFrame"); const d = jsAPI("cancelAnimationFrame");
const d = jsAPI("requestAnimationFrame"); const f = jsAPI("requestAnimationFrame");
const _ = window.setTimeout; const _ = window.setTimeout;
@@ -457,8 +457,8 @@ const debounce = (t, n) => {
if (l) { if (l) {
const r = isFunction(i) ? i() : i; const r = isFunction(i) ? i() : i;
const l = isNumber(r) && r >= 0; const l = isNumber(r) && r >= 0;
const u = n > 0 ? _ : d; const u = n > 0 ? _ : f;
const g = n > 0 ? h : f; const g = n > 0 ? h : d;
const v = mergeParms(t); const v = mergeParms(t);
const w = v || t; const w = v || t;
const p = a.bind(0, w); const p = a.bind(0, w);
@@ -862,9 +862,9 @@ const ut = "never scroll leavemove";
} }
}); });
const ft = "__osOptionsValidationPlugin"; const dt = "__osOptionsValidationPlugin";
const dt = 3333333; const ft = 3333333;
const _t = "scroll"; const _t = "scroll";
@@ -885,10 +885,10 @@ const gt = {
let u = false; let u = false;
let _; let _;
const reset = () => { const reset = () => {
scrollLeft(r, dt); scrollLeft(r, ft);
scrollTop(r, dt); scrollTop(r, ft);
scrollLeft(c, dt); scrollLeft(c, ft);
scrollTop(c, dt); scrollTop(c, ft);
}; };
const onResized = t => { const onResized = t => {
_ = 0; _ = 0;
@@ -903,8 +903,8 @@ const gt = {
if (t) { if (t) {
stopPropagation(t); stopPropagation(t);
if (u && !_) { if (u && !_) {
f(_); d(_);
_ = d(onResized); _ = f(onResized);
} }
} else { } else {
onResized(false === t); onResized(false === t);
@@ -913,10 +913,10 @@ const gt = {
}; };
const h = push([], [ on(r, _t, onScroll), on(c, _t, onScroll) ]); const h = push([], [ on(r, _t, onScroll), on(c, _t, onScroll) ]);
style(i, { style(i, {
width: dt, width: ft,
height: dt height: ft
}); });
d(reset); f(reset);
return [ o ? onScroll.bind(0, false) : reset, h ]; return [ o ? onScroll.bind(0, false) : reset, h ];
} }
} }
@@ -957,16 +957,16 @@ const yt = {
if (t) { if (t) {
const {P: t} = e(); const {P: t} = e();
const {D: l, M: a} = n; const {D: l, M: a} = n;
const {x: u, y: f} = a; const {x: u, y: d} = a;
const {x: d, y: _} = l; const {x: f, y: _} = l;
const h = i ? "paddingRight" : "paddingLeft"; const h = i ? "paddingRight" : "paddingLeft";
const g = t[h]; const g = t[h];
const v = t.paddingTop; const v = t.paddingTop;
const w = c.w + r.w; const w = c.w + r.w;
const p = c.h + r.h; const p = c.h + r.h;
const b = { const b = {
w: _ && f ? `${_ + w - g}px` : "", w: _ && d ? `${_ + w - g}px` : "",
h: d && u ? `${d + p - v}px` : "" h: f && u ? `${f + p - v}px` : ""
}; };
if (s) { if (s) {
const {sheet: t} = s; const {sheet: t} = s;
@@ -994,13 +994,13 @@ const yt = {
if (t) { if (t) {
const a = l || c(s); const a = l || c(s);
const {P: u} = e(); const {P: u} = e();
const {M: f} = a; const {M: d} = a;
const {x: d, y: _} = f; const {x: f, y: _} = d;
const h = {}; const h = {};
const assignProps = t => each(t.split(" "), (t => { const assignProps = t => each(t.split(" "), (t => {
h[t] = u[t]; h[t] = u[t];
})); }));
if (d) { if (f) {
assignProps("marginBottom paddingTop paddingBottom"); assignProps("marginBottom paddingTop paddingBottom");
} }
if (_) { if (_) {
@@ -1047,9 +1047,9 @@ const yt = {
}; };
const a = getWindowDPR(); const a = getWindowDPR();
const u = i.w > 2 && i.h > 2; const u = i.w > 2 && i.h > 2;
const f = !diffBiggerThanOne(l.w, l.h); const d = !diffBiggerThanOne(l.w, l.h);
const d = a !== n && a > 0; const f = a !== n && a > 0;
const _ = u && f && d; const _ = u && d && f;
if (_) { if (_) {
const [t, n] = s(); const [t, n] = s();
assignDeep(o.k, t); assignDeep(o.k, t);
@@ -1136,7 +1136,7 @@ const createEnvironment = () => {
x: 0 === l.x, x: 0 === l.x,
y: 0 === l.y y: 0 === l.y
}; };
const f = { const d = {
host: null, host: null,
padding: !a, padding: !a,
viewport: t => a && t === t.ownerDocument.body && t, viewport: t => a && t === t.ownerDocument.body && t,
@@ -1147,7 +1147,7 @@ const createEnvironment = () => {
body: null body: null
} }
}; };
const d = assignDeep({}, ot); const f = assignDeep({}, ot);
const _ = { const _ = {
k: l, k: l,
I: u, I: u,
@@ -1156,16 +1156,16 @@ const createEnvironment = () => {
B: getRtlScrollBehavior(o, s), B: getRtlScrollBehavior(o, s),
V: getFlexboxGlue(o, s), V: getFlexboxGlue(o, s),
j: t => e("_", t), j: t => e("_", t),
Y: assignDeep.bind(0, {}, f), Y: assignDeep.bind(0, {}, d),
q(t) { q(t) {
assignDeep(f, t);
},
F: assignDeep.bind(0, {}, d),
G(t) {
assignDeep(d, t); assignDeep(d, t);
}, },
N: assignDeep({}, f), F: assignDeep.bind(0, {}, f),
U: assignDeep({}, d) G(t) {
assignDeep(f, t);
},
N: assignDeep({}, d),
U: assignDeep({}, f)
}; };
removeAttr(o, "style"); removeAttr(o, "style");
removeElements(o); removeElements(o);
@@ -1207,10 +1207,10 @@ const cancelInitialization = (t, n) => {
const {Y: r, I: i} = getEnvironment(); const {Y: r, I: i} = getEnvironment();
const {nativeScrollbarsOverlaid: l, body: a} = r().cancel; const {nativeScrollbarsOverlaid: l, body: a} = r().cancel;
const u = null != o ? o : l; const u = null != o ? o : l;
const f = isUndefined(s) ? a : s; const d = isUndefined(s) ? a : s;
const d = (i.x || i.y) && u; const f = (i.x || i.y) && u;
const _ = e && (isNull(f) ? !c : f); const _ = e && (isNull(d) ? !c : d);
return !!d || !!_; return !!f || !!_;
}; };
const St = createDiv.bind(0, ""); const St = createDiv.bind(0, "");
@@ -1232,9 +1232,9 @@ const createStructureSetupElements = t => {
const c = e && e.A; const c = e && e.A;
const {host: r, viewport: i, padding: l, content: a} = o(); const {host: r, viewport: i, padding: l, content: a} = o();
const u = isHTMLElement(t); const u = isHTMLElement(t);
const f = u ? {} : t; const d = u ? {} : t;
const {host: d, padding: _, viewport: h, content: g} = f; const {host: f, padding: _, viewport: h, content: g} = d;
const v = u ? t : f.target; const v = u ? t : d.target;
const w = is(v, "textarea"); const w = is(v, "textarea");
const p = v.ownerDocument; const p = v.ownerDocument;
const b = v === p.body; const b = v === p.body;
@@ -1245,7 +1245,7 @@ const createStructureSetupElements = t => {
const A = O === v; const A = O === v;
const T = { const T = {
J: v, J: v,
K: w ? m(St, r, d) : v, K: w ? m(St, r, f) : v,
Z: O, Z: O,
tt: !A && S(St, l, _), tt: !A && S(St, l, _),
nt: !A && S(St, a, g), nt: !A && S(St, a, g),
@@ -1259,7 +1259,7 @@ const createStructureSetupElements = t => {
lt: u, lt: u,
X: A, X: A,
ut: (t, n) => A ? hasAttrClass(O, x, n) : hasClass(O, t), ut: (t, n) => A ? hasAttrClass(O, x, n) : hasClass(O, t),
ft: (t, n, o) => A ? attrClass(O, x, n, o) : (o ? addClass : removeClass)(O, t) dt: (t, n, o) => A ? attrClass(O, x, n, o) : (o ? addClass : removeClass)(O, t)
}; };
const E = keys(T).reduce(((t, n) => { const E = keys(T).reduce(((t, n) => {
const o = T[n]; const o = T[n];
@@ -1322,7 +1322,7 @@ const createTrinsicUpdateSegment = (t, n) => {
const [s] = n; const [s] = n;
return t => { return t => {
const {V: n} = getEnvironment(); const {V: n} = getEnvironment();
const {dt: e} = s(); const {ft: e} = s();
const {_t: c} = t; const {_t: c} = t;
const r = (o || !n) && c; const r = (o || !n) && c;
if (r) { if (r) {
@@ -1345,18 +1345,18 @@ const createPaddingUpdateSegment = (t, n) => {
o: topRightBottomLeft() o: topRightBottomLeft()
}, topRightBottomLeft.bind(0, e, "padding", "")); }, topRightBottomLeft.bind(0, e, "padding", ""));
return (t, n, e) => { return (t, n, e) => {
let [u, f] = a(e); let [u, d] = a(e);
const {T: d, V: _} = getEnvironment(); const {T: f, V: _} = getEnvironment();
const {vt: h} = o(); const {vt: h} = o();
const {ht: g, gt: v, wt: w} = t; const {ht: g, gt: v, wt: w} = t;
const [p, b] = n("paddingAbsolute"); const [p, b] = n("paddingAbsolute");
const y = !_ && v; const y = !_ && v;
if (g || f || y) { if (g || d || y) {
[u, f] = l(e); [u, d] = l(e);
} }
const m = !i && (b || w || f); const m = !i && (b || w || d);
if (m) { if (m) {
const t = !p || !c && !d; const t = !p || !c && !f;
const n = u.r + u.l; const n = u.r + u.l;
const o = u.t + u.b; const o = u.t + u.b;
const e = { const e = {
@@ -1432,10 +1432,10 @@ const overflowIsVisible = t => 0 === t.indexOf(Ct);
const createOverflowUpdateSegment = (t, n) => { const createOverflowUpdateSegment = (t, n) => {
const [o, s] = n; const [o, s] = n;
const {K: e, tt: c, Z: r, ot: i, X: l, ft: a} = t; const {K: e, tt: c, Z: r, ot: i, X: l, dt: a} = t;
const {k: u, V: f, T: d, I: _} = getEnvironment(); const {k: u, V: d, T: f, I: _} = getEnvironment();
const h = getPlugins()[bt]; const h = getPlugins()[bt];
const g = !l && !d && (_.x || _.y); const g = !l && !f && (_.x || _.y);
const [v, w] = createCache(Tt, fractionalSize.bind(0, r)); const [v, w] = createCache(Tt, fractionalSize.bind(0, r));
const [p, b] = createCache(Tt, scrollSize.bind(0, r)); const [p, b] = createCache(Tt, scrollSize.bind(0, r));
const [y, m] = createCache(Tt); const [y, m] = createCache(Tt);
@@ -1451,26 +1451,26 @@ const createOverflowUpdateSegment = (t, n) => {
const l = fractionalSize(e); const l = fractionalSize(e);
const a = clientSize(e); const a = clientSize(e);
const u = "content-box" === style(r, "boxSizing"); const u = "content-box" === style(r, "boxSizing");
const f = n || u ? s.b + s.t : 0; const d = n || u ? s.b + s.t : 0;
const d = !(_.x && u); const f = !(_.x && u);
style(r, { style(r, {
height: a.h + l.h + (c.x && d ? i.x : 0) - f height: a.h + l.h + (c.x && f ? i.x : 0) - d
}); });
} }
}; };
const getViewportOverflowState = (t, n) => { const getViewportOverflowState = (t, n) => {
const o = !d && !t ? At : 0; const o = !f && !t ? At : 0;
const getStatePerAxis = (t, s, e) => { const getStatePerAxis = (t, s, e) => {
const c = style(r, t); const c = style(r, t);
const i = n ? n[t] : c; const i = n ? n[t] : c;
const l = "scroll" === i; const l = "scroll" === i;
const a = s ? o : e; const a = s ? o : e;
const u = l && !d ? a : 0; const u = l && !f ? a : 0;
const f = s && !!o; const d = s && !!o;
return [ c, l, u, f ]; return [ c, l, u, d ];
}; };
const [s, e, c, i] = getStatePerAxis("overflowX", _.x, u.x); const [s, e, c, i] = getStatePerAxis("overflowX", _.x, u.x);
const [l, a, f, h] = getStatePerAxis("overflowY", _.y, u.y); const [l, a, d, h] = getStatePerAxis("overflowY", _.y, u.y);
return { return {
xt: { xt: {
x: s, x: s,
@@ -1482,7 +1482,7 @@ const createOverflowUpdateSegment = (t, n) => {
}, },
D: { D: {
x: c, x: c,
y: f y: d
}, },
M: { M: {
x: i, x: i,
@@ -1506,29 +1506,29 @@ const createOverflowUpdateSegment = (t, n) => {
const {D: c, M: r} = t; const {D: c, M: r} = t;
const {x: i, y: l} = r; const {x: i, y: l} = r;
const {x: a, y: u} = c; const {x: a, y: u} = c;
const {P: f} = o(); const {P: d} = o();
const d = n ? "marginLeft" : "marginRight"; const f = n ? "marginLeft" : "marginRight";
const _ = n ? "paddingLeft" : "paddingRight"; const _ = n ? "paddingLeft" : "paddingRight";
const h = f[d]; const h = d[f];
const g = f.marginBottom; const g = d.marginBottom;
const v = f[_]; const v = d[_];
const w = f.paddingBottom; const w = d.paddingBottom;
e.width = `calc(100% + ${u + -1 * h}px)`; e.width = `calc(100% + ${u + -1 * h}px)`;
e[d] = -u + h; e[f] = -u + h;
e.marginBottom = -a + g; e.marginBottom = -a + g;
if (s) { if (s) {
e[_] = v + (l ? u : 0); e[_] = v + (l ? u : 0);
e.paddingBottom = w + (i ? a : 0); e.paddingBottom = w + (i ? a : 0);
} }
}; };
const [z, E] = h ? h.H(g, f, r, i, o, getViewportOverflowState, hideNativeScrollbars) : [ () => g, () => [ noop ] ]; const [z, E] = h ? h.H(g, d, r, i, o, getViewportOverflowState, hideNativeScrollbars) : [ () => g, () => [ noop ] ];
return (t, n, i) => { return (t, n, i) => {
const {ht: u, $t: h, gt: g, yt: L, _t: D, wt: M} = t; const {ht: u, $t: h, gt: g, yt: L, _t: D, wt: M} = t;
const {dt: R, vt: k} = o(); const {ft: R, vt: k} = o();
const [B, V] = n("showNativeOverlaidScrollbars"); const [B, V] = n("showNativeOverlaidScrollbars");
const [j, Y] = n("overflow"); const [j, Y] = n("overflow");
const q = B && _.x && _.y; const q = B && _.x && _.y;
const F = !l && !f && (u || g || h || V || D); const F = !l && !d && (u || g || h || V || D);
const G = overflowIsVisible(j.x); const G = overflowIsVisible(j.x);
const N = overflowIsVisible(j.y); const N = overflowIsVisible(j.y);
const U = G || N; const U = G || N;
@@ -1537,7 +1537,7 @@ const createOverflowUpdateSegment = (t, n) => {
let J = m(i); let J = m(i);
let K = T(i); let K = T(i);
let Z; let Z;
if (V && d) { if (V && f) {
a(H, A, !q); a(H, A, !q);
} }
if (F) { if (F) {
@@ -1553,22 +1553,22 @@ const createOverflowUpdateSegment = (t, n) => {
const [e, c] = X = p(i); const [e, c] = X = p(i);
const l = clientSize(r); const l = clientSize(r);
let u = e; let u = e;
let f = l; let d = l;
t(); t();
if ((c || s || V) && n && !q && z(n, e, o, k)) { if ((c || s || V) && n && !q && z(n, e, o, k)) {
f = clientSize(r); d = clientSize(r);
u = scrollSize(r); u = scrollSize(r);
} }
const d = { const f = {
w: $t(xt(e.w, u.w) + o.w), w: $t(xt(e.w, u.w) + o.w),
h: $t(xt(e.h, u.h) + o.h) h: $t(xt(e.h, u.h) + o.h)
}; };
const _ = { const _ = {
w: $t(f.w + $t(l.w - e.w) + o.w), w: $t(d.w + $t(l.w - e.w) + o.w),
h: $t(f.h + $t(l.h - e.h) + o.h) h: $t(d.h + $t(l.h - e.h) + o.h)
}; };
K = S(_); K = S(_);
J = y(getOverflowAmount(d, _), i); J = y(getOverflowAmount(f, _), i);
} }
const [Q, tt] = K; const [Q, tt] = K;
const [nt, ot] = J; const [nt, ot] = J;
@@ -1640,7 +1640,7 @@ const prepareUpdateHints = (t, n, o) => {
}; };
const createStructureSetupUpdate = (t, n) => { const createStructureSetupUpdate = (t, n) => {
const {Z: o, ft: s} = t; const {Z: o, dt: s} = t;
const {T: e, I: c, V: r} = getEnvironment(); const {T: e, I: c, V: r} = getEnvironment();
const i = !e && (c.x || c.y); const i = !e && (c.x || c.y);
const l = [ createTrinsicUpdateSegment(t, n), createPaddingUpdateSegment(t, n), createOverflowUpdateSegment(t, n) ]; const l = [ createTrinsicUpdateSegment(t, n), createPaddingUpdateSegment(t, n), createOverflowUpdateSegment(t, n) ];
@@ -1658,16 +1658,16 @@ const createStructureSetupUpdate = (t, n) => {
}, n), {}, e); }, n), {}, e);
const a = i || !r; const a = i || !r;
const u = a && scrollLeft(o); const u = a && scrollLeft(o);
const f = a && scrollTop(o); const d = a && scrollTop(o);
s("", T, true); s("", T, true);
let d = c; let f = c;
each(l, (n => { each(l, (n => {
d = prepareUpdateHints(d, n(d, t, !!e) || {}, e); f = prepareUpdateHints(f, n(f, t, !!e) || {}, e);
})); }));
scrollLeft(o, u); scrollLeft(o, u);
scrollTop(o, f); scrollTop(o, d);
s("", T); s("", T);
return d; return f;
}; };
}; };
@@ -1682,8 +1682,8 @@ const createSizeObserver = (t, n, o) => {
const i = createDOM(`<div class="${D}"><div class="${R}"></div></div>`); const i = createDOM(`<div class="${D}"><div class="${R}"></div></div>`);
const l = i[0]; const l = i[0];
const a = l.firstChild; const a = l.firstChild;
const f = directionIsRTL.bind(0, t); const d = directionIsRTL.bind(0, t);
const [d] = createCache({ const [f] = createCache({
o: void 0, o: void 0,
_: true, _: true,
u: (t, n) => !(!t || !domRectHasDimensions(t) && domRectHasDimensions(n)) u: (t, n) => !(!t || !domRectHasDimensions(t) && domRectHasDimensions(n))
@@ -1695,7 +1695,7 @@ const createSizeObserver = (t, n, o) => {
let i = false; let i = false;
let a = true; let a = true;
if (o) { if (o) {
const [n, , o] = d(t.pop().contentRect); const [n, , o] = f(t.pop().contentRect);
const s = domRectHasDimensions(n); const s = domRectHasDimensions(n);
const e = domRectHasDimensions(o); const e = domRectHasDimensions(o);
c = !o || !s; c = !o || !s;
@@ -1738,8 +1738,8 @@ const createSizeObserver = (t, n, o) => {
} }
if (s) { if (s) {
const [t] = createCache({ const [t] = createCache({
o: !f() o: !d()
}, f); }, d);
push(_, on(l, "scroll", (n => { push(_, on(l, "scroll", (n => {
const o = t(); const o = t();
const [s, e] = o; const [s, e] = o;
@@ -1869,8 +1869,8 @@ const createEventContentChange = (t, n, o) => {
const createDOMObserver = (t, n, o, s) => { const createDOMObserver = (t, n, o, s) => {
let e = false; let e = false;
const {Pt: c, Dt: r, Mt: i, Rt: a, kt: u, Bt: f} = s || {}; const {Pt: c, Dt: r, Mt: i, Rt: a, kt: u, Bt: d} = s || {};
const d = debounce((() => { const f = debounce((() => {
if (e) { if (e) {
o(true); o(true);
} }
@@ -1878,43 +1878,43 @@ const createDOMObserver = (t, n, o, s) => {
g: 33, g: 33,
v: 99 v: 99
}); });
const [_, h] = createEventContentChange(t, d, i); const [_, h] = createEventContentChange(t, f, i);
const g = c || []; const g = c || [];
const v = r || []; const v = r || [];
const w = g.concat(v); const w = g.concat(v);
const observerCallback = (e, c) => { const observerCallback = (e, c) => {
const r = u || noop; const r = u || noop;
const i = f || noop; const i = d || noop;
const l = []; const l = [];
const d = []; const f = [];
let _ = false; let _ = false;
let g = false; let g = false;
let w = false; let w = false;
each(e, (o => { each(e, (o => {
const {attributeName: e, target: c, type: u, oldValue: f, addedNodes: h} = o; const {attributeName: e, target: c, type: u, oldValue: d, addedNodes: h} = o;
const p = "attributes" === u; const p = "attributes" === u;
const b = "childList" === u; const b = "childList" === u;
const y = t === c; const y = t === c;
const m = p && isString(e) ? attr(c, e) : 0; const m = p && isString(e) ? attr(c, e) : 0;
const S = 0 !== m && f !== m; const S = 0 !== m && d !== m;
const x = indexOf(v, e) > -1 && S; const x = indexOf(v, e) > -1 && S;
if (n && !y) { if (n && !y) {
const n = !p; const n = !p;
const l = p && x; const l = p && x;
const u = l && a && is(c, a); const u = l && a && is(c, a);
const _ = u ? !r(c, e, f, m) : n || l; const _ = u ? !r(c, e, d, m) : n || l;
const v = _ && !i(o, !!u, t, s); const v = _ && !i(o, !!u, t, s);
push(d, h); push(f, h);
g = g || v; g = g || v;
w = w || b; w = w || b;
} }
if (!n && y && S && !r(c, e, f, m)) { if (!n && y && S && !r(c, e, d, m)) {
push(l, e); push(l, e);
_ = _ || x; _ = _ || x;
} }
})); }));
if (w && !isEmptyArray(d)) { if (w && !isEmptyArray(f)) {
h((t => d.reduce(((n, o) => { h((t => f.reduce(((n, o) => {
push(n, find(t, o)); push(n, find(t, o));
return is(o, t) ? push(n, o) : n; return is(o, t) ? push(n, o) : n;
}), []))); }), [])));
@@ -1946,7 +1946,7 @@ const createDOMObserver = (t, n, o, s) => {
} }
}, () => { }, () => {
if (e) { if (e) {
d.m(); f.m();
const t = p.takeRecords(); const t = p.takeRecords();
return !isEmptyArray(t) && observerCallback(t, true); return !isEmptyArray(t) && observerCallback(t, true);
} }
@@ -1968,7 +1968,7 @@ const createStructureSetupObservers = (t, n, o) => {
let e; let e;
let c; let c;
const [, r] = n; const [, r] = n;
const {K: i, Z: l, nt: a, it: f, X: d, ut: _, ft: h} = t; const {K: i, Z: l, nt: a, it: d, X: f, ut: _, dt: h} = t;
const {V: g} = getEnvironment(); const {V: g} = getEnvironment();
const [v] = createCache({ const [v] = createCache({
u: equalWH, u: equalWH,
@@ -1997,7 +1997,7 @@ const createStructureSetupObservers = (t, n, o) => {
h: c.h + e.h + r.h h: c.h + e.h + r.h
}; };
})); }));
const w = f ? Pt : Dt.concat(Pt); const w = d ? Pt : Dt.concat(Pt);
const p = debounce(o, { const p = debounce(o, {
g: () => s, g: () => s,
v: () => e, v: () => e,
@@ -2028,7 +2028,7 @@ const createStructureSetupObservers = (t, n, o) => {
_t: e _t: e
}; };
r({ r({
dt: s ft: s
}); });
!n && o(c); !n && o(c);
return c; return c;
@@ -2065,13 +2065,13 @@ const createStructureSetupObservers = (t, n, o) => {
}; };
if (n) { if (n) {
!o && p(s); !o && p(s);
} else if (!d) { } else if (!f) {
updateViewportAttrsFromHost(t); updateViewportAttrsFromHost(t);
} }
return s; return s;
}; };
const [b, y, m] = a || !g ? createTrinsicObserver(i, onTrinsicChanged) : [ noop, noop, noop ]; const [b, y, m] = a || !g ? createTrinsicObserver(i, onTrinsicChanged) : [ noop, noop, noop ];
const [S, x] = !d ? createSizeObserver(i, onSizeChanged, { const [S, x] = !f ? createSizeObserver(i, onSizeChanged, {
Lt: true, Lt: true,
Et: true Et: true
}) : [ noop, noop ]; }) : [ noop, noop ];
@@ -2079,7 +2079,7 @@ const createStructureSetupObservers = (t, n, o) => {
Dt: Dt, Dt: Dt,
Pt: Dt.concat(Ht) Pt: Dt.concat(Ht)
}); });
const A = d && u && new u(onSizeChanged.bind(0, { const A = f && u && new u(onSizeChanged.bind(0, {
ht: true ht: true
})); }));
A && A.observe(i); A && A.observe(i);
@@ -2112,7 +2112,7 @@ const createStructureSetupObservers = (t, n, o) => {
const [n] = t("updating.ignoreMutation"); const [n] = t("updating.ignoreMutation");
const [o, r] = t("updating.attributes"); const [o, r] = t("updating.attributes");
const [i, u] = t("updating.elementEvents"); const [i, u] = t("updating.elementEvents");
const [f, d] = t("updating.debounce"); const [d, f] = t("updating.debounce");
const _ = u || r; const _ = u || r;
const ignoreMutationFromOptions = t => isFunction(n) && n(t); const ignoreMutationFromOptions = t => isFunction(n) && n(t);
if (_) { if (_) {
@@ -2132,15 +2132,15 @@ const createStructureSetupObservers = (t, n, o) => {
} }
}); });
} }
if (d) { if (f) {
p.m(); p.m();
if (isArray(f)) { if (isArray(d)) {
const t = f[0]; const t = d[0];
const n = f[1]; const n = d[1];
s = isNumber(t) ? t : false; s = isNumber(t) ? t : false;
e = isNumber(n) ? n : false; e = isNumber(n) ? n : false;
} else if (isNumber(f)) { } else if (isNumber(d)) {
s = f; s = d;
e = false; e = false;
} else { } else {
s = false; s = false;
@@ -2182,7 +2182,7 @@ const Rt = {
x: false, x: false,
y: false y: false
}, },
dt: false, ft: false,
vt: false vt: false
}; };
@@ -2192,15 +2192,15 @@ const createStructureSetup = (t, n) => {
const [e, c, r] = createEventListenerHub(); const [e, c, r] = createEventListenerHub();
const [i] = s; const [i] = s;
const [l, a, u] = createStructureSetupElements(t); const [l, a, u] = createStructureSetupElements(t);
const f = createStructureSetupUpdate(l, s); const d = createStructureSetupUpdate(l, s);
const triggerUpdateEvent = (t, n, o) => { const triggerUpdateEvent = (t, n, o) => {
const s = keys(t).some((n => t[n])); const s = keys(t).some((n => t[n]));
if (s || !isEmptyObject(n) || o) { if (s || !isEmptyObject(n) || o) {
r("u", [ t, n, o ]); r("u", [ t, n, o ]);
} }
}; };
const [d, _, h, g] = createStructureSetupObservers(l, s, (t => { const [f, _, h, g] = createStructureSetupObservers(l, s, (t => {
triggerUpdateEvent(f(o, t), {}, false); triggerUpdateEvent(d(o, t), {}, false);
})); }));
const v = i.bind(0); const v = i.bind(0);
v.Vt = t => { v.Vt = t => {
@@ -2214,19 +2214,19 @@ const createStructureSetup = (t, n) => {
return [ (t, o) => { return [ (t, o) => {
const s = createOptionCheck(n, t, o); const s = createOptionCheck(n, t, o);
g(s); g(s);
triggerUpdateEvent(f(s, h(), o), t, !!o); triggerUpdateEvent(d(s, h(), o), t, !!o);
}, v, () => { }, v, () => {
c(); c();
d(); f();
u(); u();
} ]; } ];
}; };
const {round: kt} = Math; const {round: kt} = Math;
const getPageOffset = t => ({ const getClientOffset = t => ({
x: t.pageX, x: t.clientX,
y: t.pageY y: t.clientY
}); });
const getScale = t => { const getScale = t => {
@@ -2256,14 +2256,14 @@ const createDragScrollingEvents = (t, n, o, s, e, c) => {
const {B: r} = getEnvironment(); const {B: r} = getEnvironment();
const {qt: i, Ft: l, Gt: a} = o; const {qt: i, Ft: l, Gt: a} = o;
const u = `scroll${c ? "Left" : "Top"}`; const u = `scroll${c ? "Left" : "Top"}`;
const f = `${c ? "x" : "y"}`; const d = `${c ? "x" : "y"}`;
const d = `${c ? "w" : "h"}`; const f = `${c ? "w" : "h"}`;
const createOnPointerMoveHandler = (t, n, o) => _ => { const createOnPointerMoveHandler = (t, n, o) => _ => {
const {Ot: h} = e(); const {Ot: h} = e();
const g = (getPageOffset(_)[f] - n) * o; const g = (getClientOffset(_)[d] - n) * o;
const v = offsetSize(l)[d] - offsetSize(i)[d]; const v = offsetSize(l)[f] - offsetSize(i)[f];
const w = g / v; const w = g / v;
const p = w * h[f]; const p = w * h[d];
const b = directionIsRTL(a); const b = directionIsRTL(a);
const y = b && c ? r.n || r.i ? 1 : -1 : 1; const y = b && c ? r.n || r.i ? 1 : -1 : 1;
s[u] = t + p * y; s[u] = t + p * y;
@@ -2273,7 +2273,7 @@ const createDragScrollingEvents = (t, n, o, s, e, c) => {
const t = on(n, "selectstart", (t => preventDefault(t)), { const t = on(n, "selectstart", (t => preventDefault(t)), {
S: false S: false
}); });
const e = on(i, "pointermove", createOnPointerMoveHandler(s[u] || 0, getPageOffset(o)[f], 1 / getScale(s)[f])); const e = on(i, "pointermove", createOnPointerMoveHandler(s[u] || 0, getClientOffset(o)[d], 1 / getScale(s)[d]));
on(i, "pointerup", (n => { on(i, "pointerup", (n => {
t(); t();
e(); e();
@@ -2295,7 +2295,7 @@ const createScrollbarsSetupEvents = (t, n) => (o, s, e, c, r) => {
})), createRootClickStopPropagationEvents(i, e), createDragScrollingEvents(t, e, o, c, n, r) ]); })), createRootClickStopPropagationEvents(i, e), createDragScrollingEvents(t, e, o, c, n, r) ]);
}; };
const {min: Bt, max: Vt, abs: jt} = Math; const {min: Bt, max: Vt, abs: jt, round: Yt} = Math;
const getScrollbarHandleLengthRatio = (t, n, o, s) => { const getScrollbarHandleLengthRatio = (t, n, o, s) => {
if (s) { if (s) {
@@ -2316,11 +2316,11 @@ const getScrollbarHandleOffsetRatio = (t, n, o, s, e, c) => {
const i = c ? "x" : "y"; const i = c ? "x" : "y";
const l = c ? "Left" : "Top"; const l = c ? "Left" : "Top";
const {Ot: a} = s; const {Ot: a} = s;
const u = Math.floor(a[i]); const u = Yt(a[i]);
const f = jt(o[`scroll${l}`]); const d = jt(o[`scroll${l}`]);
const d = c && e; const f = c && e;
const _ = r.i ? f : u - f; const _ = r.i ? d : u - d;
const h = d ? _ : f; const h = f ? _ : d;
const g = Bt(1, h / u); const g = Bt(1, h / u);
const v = getScrollbarHandleLengthRatio(t, n, c); const v = getScrollbarHandleLengthRatio(t, n, c);
return 1 / v * (1 - v) * g; return 1 / v * (1 - v) * g;
@@ -2330,8 +2330,8 @@ const createScrollbarsSetupElements = (t, n, o) => {
const {Y: s} = getEnvironment(); const {Y: s} = getEnvironment();
const {scrollbarsSlot: e} = s(); const {scrollbarsSlot: e} = s();
const {rt: c, J: r, K: i, Z: l, lt: a, st: u} = n; const {rt: c, J: r, K: i, Z: l, lt: a, st: u} = n;
const {scrollbarsSlot: f} = a ? {} : t; const {scrollbarsSlot: d} = a ? {} : t;
const d = dynamicInitializationElement([ r, i, l ], (() => i), e, f); const f = dynamicInitializationElement([ r, i, l ], (() => i), e, d);
const scrollbarStructureAddRemoveClass = (t, n, o) => { const scrollbarStructureAddRemoveClass = (t, n, o) => {
const s = o ? addClass : removeClass; const s = o ? addClass : removeClass;
each(t, (t => { each(t, (t => {
@@ -2348,7 +2348,7 @@ const createScrollbarsSetupElements = (t, n, o) => {
scrollbarsHandleStyle(t, (t => { scrollbarsHandleStyle(t, (t => {
const {qt: s, Ft: e} = t; const {qt: s, Ft: e} = t;
return [ s, { return [ s, {
[o ? "width" : "height"]: `${(100 * getScrollbarHandleLengthRatio(s, e, o, n)).toFixed(3)}%` [o ? "width" : "height"]: `${(100 * getScrollbarHandleLengthRatio(s, e, o, n)).toFixed(5)}%`
} ]; } ];
})); }));
}; };
@@ -2359,7 +2359,7 @@ const createScrollbarsSetupElements = (t, n, o) => {
const i = getScrollbarHandleOffsetRatio(e, c, u, n, directionIsRTL(r), o); const i = getScrollbarHandleOffsetRatio(e, c, u, n, directionIsRTL(r), o);
const l = i === i; const l = i === i;
return [ e, { return [ e, {
transform: l ? `translate${s}(${(100 * i).toFixed(3)}%)` : "" transform: l ? `translate${s}(${(100 * i).toFixed(5)}%)` : ""
} ]; } ];
})); }));
}; };
@@ -2402,8 +2402,8 @@ const createScrollbarsSetupElements = (t, n, o) => {
const w = generateScrollbarDOM.bind(0, true); const w = generateScrollbarDOM.bind(0, true);
const p = generateScrollbarDOM.bind(0, false); const p = generateScrollbarDOM.bind(0, false);
const appendElements = () => { const appendElements = () => {
appendChildren(d, g[0].Gt); appendChildren(f, g[0].Gt);
appendChildren(d, v[0].Gt); appendChildren(f, v[0].Gt);
_((() => { _((() => {
scrollbarsAddRemoveClass(J); scrollbarsAddRemoveClass(J);
}), 300); }), 300);
@@ -2429,8 +2429,8 @@ const createScrollbarsSetupElements = (t, n, o) => {
const createSelfCancelTimeout = t => { const createSelfCancelTimeout = t => {
let n; let n;
const o = t ? _ : d; const o = t ? _ : f;
const s = t ? h : f; const s = t ? h : d;
return [ e => { return [ e => {
s(n); s(n);
n = o(e, isFunction(t) ? t() : t); n = o(e, isFunction(t) ? t() : t);
@@ -2446,7 +2446,7 @@ const createScrollbarsSetup = (t, n, o) => {
let l = 0; let l = 0;
const a = createState({}); const a = createState({});
const [u] = a; const [u] = a;
const [f, d] = createSelfCancelTimeout(); const [d, f] = createSelfCancelTimeout();
const [_, h] = createSelfCancelTimeout(); const [_, h] = createSelfCancelTimeout();
const [g, v] = createSelfCancelTimeout(100); const [g, v] = createSelfCancelTimeout(100);
const [w, p] = createSelfCancelTimeout(100); const [w, p] = createSelfCancelTimeout(100);
@@ -2480,13 +2480,13 @@ const createScrollbarsSetup = (t, n, o) => {
r = e; r = e;
r && manageScrollbarsAutoHide(true); r && manageScrollbarsAutoHide(true);
}; };
const R = [ v, y, p, h, d, x, on($, "mouseover", onHostMouseEnter, { const R = [ v, y, p, h, f, x, on($, "pointerover", onHostMouseEnter, {
C: true C: true
}), on($, "mouseenter", onHostMouseEnter), on($, "mouseleave", (() => { }), on($, "pointerenter", onHostMouseEnter), on($, "pointerleave", (() => {
r = false; r = false;
e && manageScrollbarsAutoHide(false); e && manageScrollbarsAutoHide(false);
})), on($, "mousemove", (() => { })), on($, "pointermove", (() => {
s && f((() => { s && d((() => {
v(); v();
manageScrollbarsAutoHide(true); manageScrollbarsAutoHide(true);
w((() => { w((() => {
@@ -2508,7 +2508,7 @@ const createScrollbarsSetup = (t, n, o) => {
k.Yt = m; k.Yt = m;
k.jt = S; k.jt = S;
return [ (t, r, a) => { return [ (t, r, a) => {
const {It: u, zt: f, Tt: d, wt: _} = a; const {It: u, zt: d, Tt: f, wt: _} = a;
const h = createOptionCheck(n, t, r); const h = createOptionCheck(n, t, r);
const g = o(); const g = o();
const {Ot: v, xt: w, vt: p} = g; const {Ot: v, xt: w, vt: p} = g;
@@ -2517,9 +2517,9 @@ const createScrollbarsSetup = (t, n, o) => {
const [x, $] = h("scrollbars.autoHide"); const [x, $] = h("scrollbars.autoHide");
const [C] = h("scrollbars.autoHideDelay"); const [C] = h("scrollbars.autoHideDelay");
const [O, A] = h("scrollbars.dragScroll"); const [O, A] = h("scrollbars.dragScroll");
const [T, I] = h("scrollbars.clickScroll"); const [T, z] = h("scrollbars.clickScroll");
const z = u || f || _; const E = u || d || _;
const E = d || S; const D = f || S;
const setScrollbarVisibility = (t, n) => { const setScrollbarVisibility = (t, n) => {
const o = "visible" === m || "auto" === m && "scroll" === t; const o = "visible" === m || "auto" === m && "scroll" === t;
L(W, o, n); L(W, o, n);
@@ -2540,40 +2540,40 @@ const createScrollbarsSetup = (t, n, o) => {
if (A) { if (A) {
L(nt, O); L(nt, O);
} }
if (I) { if (z) {
L(tt, T); L(tt, T);
} }
if (E) { if (D) {
const t = setScrollbarVisibility(w.x, true); const t = setScrollbarVisibility(w.x, true);
const n = setScrollbarVisibility(w.y, false); const n = setScrollbarVisibility(w.y, false);
const o = t && n; const o = t && n;
L(X, !o); L(X, !o);
} }
if (z) { if (E) {
H(g); H(g);
P(g); P(g);
L(Z, !v.x, true); L(Z, !v.x, true);
L(Z, !v.y, false); L(Z, !v.y, false);
L(q, p); L(q, p && !I);
} }
}, k, runEachAndClear.bind(0, R) ]; }, k, runEachAndClear.bind(0, R) ];
}; };
const Yt = new Set; const qt = new Set;
const qt = new WeakMap; const Ft = new WeakMap;
const addInstance = (t, n) => { const addInstance = (t, n) => {
qt.set(t, n); Ft.set(t, n);
Yt.add(t); qt.add(t);
}; };
const removeInstance = t => { const removeInstance = t => {
Ft.delete(t);
qt.delete(t); qt.delete(t);
Yt.delete(t);
}; };
const getInstance = t => qt.get(t); const getInstance = t => Ft.get(t);
const OverlayScrollbars = (t, n, o) => { const OverlayScrollbars = (t, n, o) => {
let s = false; let s = false;
@@ -2585,16 +2585,16 @@ const OverlayScrollbars = (t, n, o) => {
if (a) { if (a) {
return a; return a;
} }
const u = r[ft]; const u = r[dt];
const validateOptions = t => { const validateOptions = t => {
const n = t || {}; const n = t || {};
const o = u && u.O; const o = u && u.O;
return o ? o(n, true) : n; return o ? o(n, true) : n;
}; };
const f = assignDeep({}, e(), validateOptions(n)); const d = assignDeep({}, e(), validateOptions(n));
const [d, _, h] = createEventListenerHub(o); const [f, _, h] = createEventListenerHub(o);
const [g, v, w] = createStructureSetup(t, f); const [g, v, w] = createStructureSetup(t, d);
const [p, b, y] = createScrollbarsSetup(t, f, v); const [p, b, y] = createScrollbarsSetup(t, d, v);
const update = (t, n) => { const update = (t, n) => {
g(t, !!n); g(t, !!n);
}; };
@@ -2611,15 +2611,15 @@ const OverlayScrollbars = (t, n, o) => {
const S = { const S = {
options(t) { options(t) {
if (t) { if (t) {
const n = getOptionsDiff(f, validateOptions(t)); const n = getOptionsDiff(d, validateOptions(t));
if (!isEmptyObject(n)) { if (!isEmptyObject(n)) {
assignDeep(f, n); assignDeep(d, n);
update(n); update(n);
} }
} }
return assignDeep({}, f); return assignDeep({}, d);
}, },
on: d, on: f,
off: (t, n) => { off: (t, n) => {
t && n && _(t, n); t && n && _(t, n);
}, },
@@ -2692,7 +2692,7 @@ const OverlayScrollbars = (t, n, o) => {
OverlayScrollbars.plugin = addPlugin; OverlayScrollbars.plugin = addPlugin;
OverlayScrollbars.env = () => { OverlayScrollbars.env = () => {
const {k: t, I: n, T: o, B: s, V: e, L: c, N: r, U: i, Y: l, q: a, F: u, G: f} = getEnvironment(); const {k: t, I: n, T: o, B: s, V: e, L: c, N: r, U: i, Y: l, q: a, F: u, G: d} = getEnvironment();
return assignDeep({}, { return assignDeep({}, {
scrollbarsSize: t, scrollbarsSize: t,
scrollbarsOverlaid: n, scrollbarsOverlaid: n,
@@ -2705,7 +2705,7 @@ OverlayScrollbars.env = () => {
getDefaultInitialization: l, getDefaultInitialization: l,
setDefaultInitialization: a, setDefaultInitialization: a,
getDefaultOptions: u, getDefaultOptions: u,
setDefaultOptions: f setDefaultOptions: d
}); });
}; };
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+146 -146
View File
@@ -24,15 +24,15 @@
var t = e ? "" : {}; var t = e ? "" : {};
if (r) { if (r) {
var i = window.getComputedStyle(r, null); var i = window.getComputedStyle(r, null);
t = e ? Pr(r, i, a) : a.reduce((function(a, e) { t = e ? Ar(r, i, a) : a.reduce((function(a, e) {
a[e] = Pr(r, i, e); a[e] = Ar(r, i, e);
return a; return a;
}), t); }), t);
} }
return t; return t;
} }
r && each(E(a), (function(e) { r && each(E(a), (function(e) {
return Ar(r, e, a[e]); return Pr(r, e, a[e]);
})); }));
} }
function getDefaultExportFromCjs(r) { function getDefaultExportFromCjs(r) {
@@ -158,7 +158,7 @@
var E = function keys(r) { var E = function keys(r) {
return r ? Object.keys(r) : []; return r ? Object.keys(r) : [];
}; };
var P = function assignDeep(r, a, e, n, t, i, v) { var A = function assignDeep(r, a, e, n, t, i, v) {
var u = [ a, e, n, t, i, v ]; var u = [ a, e, n, t, i, v ];
if (("object" !== typeof r || o(r)) && !s(r)) { if (("object" !== typeof r || o(r)) && !s(r)) {
r = {}; r = {};
@@ -186,7 +186,7 @@
})); }));
return r; return r;
}; };
var A = function isEmptyObject(r) { var P = function isEmptyObject(r) {
for (var a in r) { for (var a in r) {
return false; return false;
} }
@@ -496,10 +496,10 @@
var Er = function adaptCSSVal(r, a) { var Er = function adaptCSSVal(r, a) {
return !Or[r.toLowerCase()] && f(a) ? a + "px" : a; return !Or[r.toLowerCase()] && f(a) ? a + "px" : a;
}; };
var Pr = function getCSSVal(r, a, e) { var Ar = function getCSSVal(r, a, e) {
return null != a ? a[e] || a.getPropertyValue(e) : r.style[e]; return null != a ? a[e] || a.getPropertyValue(e) : r.style[e];
}; };
var Ar = function setCSSVal(r, a, e) { var Pr = function setCSSVal(r, a, e) {
try { try {
var n = r.style; var n = r.style;
if (!v(n[a])) { if (!v(n[a])) {
@@ -593,7 +593,7 @@
var i = kr(); var i = kr();
var v = null != (t = i && n && n.C) ? t : i; var v = null != (t = i && n && n.C) ? t : i;
var o = n && n.O || false; var o = n && n.O || false;
var u = n && n.P || false; var u = n && n.A || false;
var f = []; var f = [];
var l = i ? { var l = i ? {
passive: v, passive: v,
@@ -685,7 +685,7 @@
return [ function() { return [ function() {
return a; return a;
}, function(r) { }, function(r) {
a = P({}, a, r); a = A({}, a, r);
} ]; } ];
}; };
var Kr = "os-environment"; var Kr = "os-environment";
@@ -717,8 +717,8 @@
var Oa = ma + "-track"; var Oa = ma + "-track";
var xa = ma + "-handle"; var xa = ma + "-handle";
var Ea = ma + "-visible"; var Ea = ma + "-visible";
var Pa = ma + "-cornerless"; var Aa = ma + "-cornerless";
var Aa = ma + "-transitionless"; var Pa = ma + "-transitionless";
var Ta = ma + "-interaction"; var Ta = ma + "-interaction";
var za = ma + "-unusable"; var za = ma + "-unusable";
var La = ma + "-auto-hidden"; var La = ma + "-auto-hidden";
@@ -762,7 +762,7 @@
var t = r[n]; var t = r[n];
var i = a[n]; var i = a[n];
if (g(t) && g(i)) { if (g(t) && g(i)) {
P(e[n] = {}, getOptionsDiff(t, i)); A(e[n] = {}, getOptionsDiff(t, i));
} else if (x(a, n) && i !== t) { } else if (x(a, n) && i !== t) {
var v = true; var v = true;
if (d(t) || d(i)) { if (d(t) || d(i)) {
@@ -781,7 +781,7 @@
}; };
var Va = {}; var Va = {};
var ja = function getPlugins() { var ja = function getPlugins() {
return P({}, Va); return A({}, Va);
}; };
var ka = function addPlugin(r) { var ka = function addPlugin(r) {
each(d(r) ? r : [ r ], (function(r) { each(d(r) ? r : [ r ], (function(r) {
@@ -836,7 +836,7 @@
t[o] = w; t[o] = w;
i[o] = b; i[o] = b;
each([ i, t ], (function(r) { each([ i, t ], (function(r) {
if (A(r[o])) { if (P(r[o])) {
delete r[o]; delete r[o];
} }
})); }));
@@ -911,7 +911,7 @@
}; };
var Qa = "__osOptionsValidationPlugin"; var Qa = "__osOptionsValidationPlugin";
Ya = {}, Ya[Qa] = { Ya = {}, Ya[Qa] = {
A: function _(r, a) { P: function _(r, a) {
var e = Na(Ka, r, a), n = e[0], t = e[1]; var e = Na(Ka, r, a), n = e[0], t = e[1];
return Fa({}, t, n); return Fa({}, t, n);
} }
@@ -921,7 +921,7 @@
var ee = "scroll"; var ee = "scroll";
var ne = "__osSizeObserverPlugin"; var ne = "__osSizeObserverPlugin";
var te = (re = {}, re[ne] = { var te = (re = {}, re[ne] = {
A: function _(r, a, e) { P: function _(r, a, e) {
var n = $('<div class="' + _a + '" dir="ltr"><div class="' + _a + '"><div class="' + wa + '"></div></div><div class="' + _a + '"><div class="' + wa + '" style="width: 200%; height: 200%"></div></div></div>'); var n = $('<div class="' + _a + '" dir="ltr"><div class="' + _a + '"><div class="' + wa + '"></div></div><div class="' + _a + '"><div class="' + wa + '" style="width: 200%; height: 200%"></div></div></div>');
Y(r, n); Y(r, n);
pr(r, pa); pr(r, pa);
@@ -1096,7 +1096,7 @@
var d = l && c && s; var d = l && c && s;
if (d) { if (d) {
var g = n(), h = g[0], p = g[1]; var g = n(), h = g[0], p = g[1];
P(e.k, h); A(e.k, h);
if (p) { if (p) {
t(); t();
} }
@@ -1186,7 +1186,7 @@
body: null body: null
} }
}; };
var w = P({}, Ra); var w = A({}, Ra);
var b = { var b = {
k: d, k: d,
D: h, D: h,
@@ -1197,16 +1197,16 @@
q: function _addListener(r) { q: function _addListener(r) {
return o("_", r); return o("_", r);
}, },
U: P.bind(0, {}, p), U: A.bind(0, {}, p),
N: function _setDefaultInitialization(r) { N: function _setDefaultInitialization(r) {
P(p, r); A(p, r);
}, },
Y: P.bind(0, {}, w), Y: A.bind(0, {}, w),
W: function _setDefaultOptions(r) { W: function _setDefaultOptions(r) {
P(w, r); A(w, r);
}, },
G: P({}, p), G: A({}, p),
X: P({}, w) X: A({}, w)
}; };
H(t, "style"); H(t, "style");
X(t); X(t);
@@ -1259,7 +1259,7 @@
z(r, aa, a); z(r, aa, a);
return H.bind(0, r, aa); return H.bind(0, r, aa);
}; };
var Pe = function createStructureSetupElements(r) { var Ae = function createStructureSetupElements(r) {
var a = be(); var a = be();
var e = a.U, n = a.L; var e = a.U, n = a.L;
var t = ja()[ce]; var t = ja()[ce];
@@ -1272,21 +1272,21 @@
var S = k(b, "textarea"); var S = k(b, "textarea");
var C = b.ownerDocument; var C = b.ownerDocument;
var x = b === C.body; var x = b === C.body;
var P = C.defaultView; var A = C.defaultView;
var A = ye.bind(0, [ b ]); var P = ye.bind(0, [ b ]);
var T = Se.bind(0, [ b ]); var T = Se.bind(0, [ b ]);
var z = A(Oe, u, h); var z = P(Oe, u, h);
var M = z === b; var M = z === b;
var R = { var R = {
J: b, J: b,
K: S ? A(Oe, o, d) : b, K: S ? P(Oe, o, d) : b,
rr: z, rr: z,
ar: !M && T(Oe, f, g), ar: !M && T(Oe, f, g),
er: !M && T(Oe, l, p), er: !M && T(Oe, l, p),
nr: !M && !n && i && i(a), nr: !M && !n && i && i(a),
tr: x ? C.documentElement : z, tr: x ? C.documentElement : z,
ir: x ? C : z, ir: x ? C : z,
vr: P, vr: A,
ur: C, ur: C,
lr: S, lr: S,
Z: x, Z: x,
@@ -1358,7 +1358,7 @@
}; };
return [ R, ar, O.bind(0, J) ]; return [ R, ar, O.bind(0, J) ];
}; };
var Ae = function createTrinsicUpdateSegment(r, a) { var Pe = function createTrinsicUpdateSegment(r, a) {
var e = r.er; var e = r.er;
var n = a[0]; var n = a[0];
return function(r) { return function(r) {
@@ -1396,8 +1396,8 @@
f = E[0]; f = E[0];
s = E[1]; s = E[1];
} }
var A = !u && (O || y || s); var P = !u && (O || y || s);
if (A) { if (P) {
var T = !C || !v && !g; var T = !C || !v && !g;
var z = f.r + f.l; var z = f.r + f.l;
var L = f.t + f.b; var L = f.t + f.b;
@@ -1421,11 +1421,11 @@
t({ t({
ar: f, ar: f,
mr: !T, mr: !T,
R: v ? H : P({}, D, H) R: v ? H : A({}, D, H)
}); });
} }
return { return {
yr: A yr: P
}; };
}; };
}; };
@@ -1473,8 +1473,8 @@
var w = !f && !g && (h.x || h.y); var w = !f && !g && (h.x || h.y);
var b = a(Re, Ir.bind(0, o)), m = b[0], y = b[1]; var b = a(Re, Ir.bind(0, o)), m = b[0], y = b[1];
var S = a(Re, Rr.bind(0, o)), C = S[0], O = S[1]; var S = a(Re, Rr.bind(0, o)), C = S[0], O = S[1];
var x = a(Re), E = x[0], P = x[1]; var x = a(Re), E = x[0], A = x[1];
var A = a(Re), T = A[0], D = A[1]; var P = a(Re), T = P[0], D = P[1];
var H = a(Ie), M = H[0]; var H = a(Ie), M = H[0];
var R = function fixFlexboxGlue(r, a) { var R = function fixFlexboxGlue(r, a) {
style(o, { style(o, {
@@ -1563,7 +1563,7 @@
} ], B = k[0], F = k[1]; } ], B = k[0], F = k[1];
return function(r, a, e) { return function(r, a, e) {
var u = r.pr, c = r.Or, s = r._r, p = r.yr, w = r.hr, b = r.br; var u = r.pr, c = r.Or, s = r._r, p = r.yr, w = r.hr, b = r.br;
var S = n(), x = S.gr, A = S.wr; var S = n(), x = S.gr, P = S.wr;
var H = a("showNativeOverlaidScrollbars"), k = H[0], q = H[1]; var H = a("showNativeOverlaidScrollbars"), k = H[0], q = H[1];
var U = a("overflow"), N = U[0], Y = U[1]; var U = a("overflow"), N = U[0], Y = U[1];
var W = k && h.x && h.y; var W = k && h.x && h.y;
@@ -1573,7 +1573,7 @@
var $ = X || Z; var $ = X || Z;
var J = y(e); var J = y(e);
var K = O(e); var K = O(e);
var Q = P(e); var Q = A(e);
var rr = D(e); var rr = D(e);
var ar; var ar;
if (q && g) { if (q && g) {
@@ -1587,14 +1587,14 @@
if ($) { if ($) {
l(sa, ta, false); l(sa, ta, false);
} }
var er = F(W, A, ar), nr = er[0], tr = er[1]; var er = F(W, P, ar), nr = er[0], tr = er[1];
var ir = J = m(e), vr = ir[0], or = ir[1]; var ir = J = m(e), vr = ir[0], or = ir[1];
var ur = K = C(e), fr = ur[0], lr = ur[1]; var ur = K = C(e), fr = ur[0], lr = ur[1];
var cr = Mr(o); var cr = Mr(o);
var sr = fr; var sr = fr;
var dr = cr; var dr = cr;
nr(); nr();
if ((lr || or || q) && tr && !W && B(tr, fr, vr, A)) { if ((lr || or || q) && tr && !W && B(tr, fr, vr, P)) {
dr = Mr(o); dr = Mr(o);
sr = Rr(o); sr = Rr(o);
} }
@@ -1612,13 +1612,13 @@
var pr = rr, _r = pr[0], wr = pr[1]; var pr = rr, _r = pr[0], wr = pr[1];
var br = Q, mr = br[0], yr = br[1]; var br = Q, mr = br[0], yr = br[1];
var Sr = K, Cr = Sr[0], Or = Sr[1]; var Sr = K, Cr = Sr[0], Or = Sr[1];
var xr = J, Er = xr[0], Pr = xr[1]; var xr = J, Er = xr[0], Ar = xr[1];
var Ar = { var Pr = {
x: mr.w > 0, x: mr.w > 0,
y: mr.h > 0 y: mr.h > 0
}; };
var Tr = X && Z && (Ar.x || Ar.y) || X && Ar.x && !Ar.y || Z && Ar.y && !Ar.x; var Tr = X && Z && (Pr.x || Pr.y) || X && Pr.x && !Pr.y || Z && Pr.y && !Pr.x;
if (p || b || Pr || Or || wr || yr || Y || q || G) { if (p || b || Ar || Or || wr || yr || Y || q || G) {
var zr = { var zr = {
marginRight: 0, marginRight: 0,
marginBottom: 0, marginBottom: 0,
@@ -1627,10 +1627,10 @@
overflowY: "", overflowY: "",
overflowX: "" overflowX: ""
}; };
var Lr = V(W, Ar, N, zr); var Lr = V(W, Pr, N, zr);
var Dr = B(Lr, Cr, Er, A); var Dr = B(Lr, Cr, Er, P);
if (!f) { if (!f) {
j(Lr, A, Dr, zr); j(Lr, P, Dr, zr);
} }
if (G) { if (G) {
R(Lr, x); R(Lr, x);
@@ -1652,11 +1652,11 @@
x: _r.w, x: _r.w,
y: _r.h y: _r.h
}, },
Pr: { Ar: {
x: mr.w, x: mr.w,
y: mr.h y: mr.h
}, },
Ar: Ar Pr: Pr
}); });
return { return {
Tr: Vr, Tr: Vr,
@@ -1680,9 +1680,9 @@
var e = r.rr, n = r.dr; var e = r.rr, n = r.dr;
var t = be(), i = t.L, v = t.D, o = t.F; var t = be(), i = t.L, v = t.D, o = t.F;
var u = !i && (v.x || v.y); var u = !i && (v.x || v.y);
var f = [ Ae(r, a), Te(r, a), Be(r, a) ]; var f = [ Pe(r, a), Te(r, a), Be(r, a) ];
return function(r, a, t) { return function(r, a, t) {
var i = Fe(P({ var i = Fe(A({
pr: false, pr: false,
yr: false, yr: false,
br: false, br: false,
@@ -1770,7 +1770,7 @@
e.disconnect(); e.disconnect();
})); }));
} else if (f) { } else if (f) {
var n = f.A(w, C, u), t = n[0], i = n[1]; var n = f.P(w, C, u), t = n[0], i = n[1];
E = t; E = t;
y(x, i); y(x, i);
} }
@@ -1796,7 +1796,7 @@
if (E) { if (E) {
pr(p, ga); pr(p, ga);
y(x, qr(p, "animationstart", E, { y(x, qr(p, "animationstart", E, {
P: !!or A: !!or
})); }));
} }
Y(r, p); Y(r, p);
@@ -1937,12 +1937,12 @@
var O = r === i; var O = r === i;
var x = S && l(t) ? z(i, t) : 0; var x = S && l(t) ? z(i, t) : 0;
var E = 0 !== x && s !== x; var E = 0 !== x && s !== x;
var P = m(b, t) > -1 && E; var A = m(b, t) > -1 && E;
if (a && !O) { if (a && !O) {
var A = !S; var P = !S;
var T = S && P; var T = S && A;
var L = T && f && k(i, f); var L = T && f && k(i, f);
var D = L ? !v(i, t, s, x) : A || T; var D = L ? !v(i, t, s, x) : P || T;
var H = D && !o(e, !!L, r, n); var H = D && !o(e, !!L, r, n);
y(d, p); y(d, p);
h = h || H; h = h || H;
@@ -1950,7 +1950,7 @@
} }
if (!a && O && E && !v(i, t, s, x)) { if (!a && O && E && !v(i, t, s, x)) {
y(u, t); y(u, t);
g = g || P; g = g || A;
} }
})); }));
if (w && !C(d)) { if (w && !C(d)) {
@@ -2035,7 +2035,7 @@
h: i.h + t.h + v.h h: i.h + t.h + v.h
}; };
})), x = O[0]; })), x = O[0];
var A = h ? Qe : rn.concat(Qe); var P = h ? Qe : rn.concat(Qe);
var T = Cr(n, { var T = Cr(n, {
p: function _timeout() { p: function _timeout() {
return t; return t;
@@ -2142,13 +2142,13 @@
var e = N(); var e = N();
var n = v && v[1](); var n = v && v[1]();
if (a) { if (a) {
P(r, j.apply(0, y(a, true))); A(r, j.apply(0, y(a, true)));
} }
if (e) { if (e) {
P(r, D.apply(0, y(e, true))); A(r, D.apply(0, y(e, true)));
} }
if (n) { if (n) {
P(r, V.apply(0, y(n, true))); A(r, V.apply(0, y(n, true)));
} }
return r; return r;
}, function(r) { }, function(r) {
@@ -2166,8 +2166,8 @@
v[0](); v[0]();
} }
v = Ze(g || c, true, V, { v = Ze(g || c, true, V, {
Ir: A.concat(o || []), Ir: P.concat(o || []),
Rr: A.concat(o || []), Rr: P.concat(o || []),
Vr: h, Vr: h,
jr: $e, jr: $e,
Br: function _ignoreContentChange(r, a) { Br: function _ignoreContentChange(r, a) {
@@ -2216,12 +2216,12 @@
paddingLeft: 0 paddingLeft: 0
}, },
Er: en, Er: en,
Pr: en, Ar: en,
Cr: { Cr: {
x: "hidden", x: "hidden",
y: "hidden" y: "hidden"
}, },
Ar: { Pr: {
x: false, x: false,
y: false y: false
}, },
@@ -2233,13 +2233,13 @@
var n = Jr(nn); var n = Jr(nn);
var t = Xr(), i = t[0], v = t[1], o = t[2]; var t = Xr(), i = t[0], v = t[1], o = t[2];
var u = n[0]; var u = n[0];
var f = Pe(r), l = f[0], c = f[1], s = f[2]; var f = Ae(r), l = f[0], c = f[1], s = f[2];
var d = qe(l, n); var d = qe(l, n);
var g = function triggerUpdateEvent(r, a, e) { var g = function triggerUpdateEvent(r, a, e) {
var n = E(r).some((function(a) { var n = E(r).some((function(a) {
return r[a]; return r[a];
})); }));
if (n || !A(a) || e) { if (n || !P(a) || e) {
o("u", [ r, a, e ]); o("u", [ r, a, e ]);
} }
}; };
@@ -2266,10 +2266,10 @@
} ]; } ];
}; };
var vn = Math.round; var vn = Math.round;
var un = function getPageOffset(r) { var un = function getClientOffset(r) {
return { return {
x: r.pageX, x: r.clientX,
y: r.pageY y: r.clientY
}; };
}; };
var fn = function getScale(r) { var fn = function getScale(r) {
@@ -2288,7 +2288,7 @@
}; };
var cn = function createRootClickStopPropagationEvents(r, a) { var cn = function createRootClickStopPropagationEvents(r, a) {
return qr(r, "mousedown", qr.bind(0, a, "click", Ur, { return qr(r, "mousedown", qr.bind(0, a, "click", Ur, {
P: true, A: true,
O: true O: true
}), { }), {
O: true O: true
@@ -2302,7 +2302,7 @@
var d = i ? "w" : "h"; var d = i ? "w" : "h";
var g = function createOnPointerMoveHandler(r, a, e) { var g = function createOnPointerMoveHandler(r, a, e) {
return function(v) { return function(v) {
var g = t(), h = g.Pr; var g = t(), h = g.Ar;
var p = (un(v)[s] - a) * e; var p = (un(v)[s] - a) * e;
var w = Hr(f)[d] - Hr(u)[d]; var w = Hr(f)[d] - Hr(u)[d];
var b = p / w; var b = p / w;
@@ -2325,7 +2325,7 @@
i(); i();
u.releasePointerCapture(r.pointerId); u.releasePointerCapture(r.pointerId);
}), { }), {
P: true A: true
}); });
u.setPointerCapture(e.pointerId); u.setPointerCapture(e.pointerId);
} }
@@ -2341,11 +2341,11 @@
})), cn(o, t), sn(r, t, e, i, a, v) ]); })), cn(o, t), sn(r, t, e, i, a, v) ]);
}; };
}; };
var gn = Math.min, hn = Math.max, pn = Math.abs; var gn = Math.min, hn = Math.max, pn = Math.abs, _n = Math.round;
var _n = function getScrollbarHandleLengthRatio(r, a, e, n) { var wn = function getScrollbarHandleLengthRatio(r, a, e, n) {
if (n) { if (n) {
var t = e ? "x" : "y"; var t = e ? "x" : "y";
var i = n.Pr, v = n.Er; var i = n.Ar, v = n.Er;
var o = v[t]; var o = v[t];
var u = i[t]; var u = i[t];
return hn(0, gn(1, o / (o + u))); return hn(0, gn(1, o / (o + u)));
@@ -2355,21 +2355,21 @@
var c = Hr(a)[f]; var c = Hr(a)[f];
return hn(0, gn(1, l / c)); return hn(0, gn(1, l / c));
}; };
var wn = function getScrollbarHandleOffsetRatio(r, a, e, n, t, i) { var bn = function getScrollbarHandleOffsetRatio(r, a, e, n, t, i) {
var v = be(), o = v.B; var v = be(), o = v.B;
var u = i ? "x" : "y"; var u = i ? "x" : "y";
var f = i ? "Left" : "Top"; var f = i ? "Left" : "Top";
var l = n.Pr; var l = n.Ar;
var c = Math.floor(l[u]); var c = _n(l[u]);
var s = pn(e["scroll" + f]); var s = pn(e["scroll" + f]);
var d = i && t; var d = i && t;
var g = o.i ? s : c - s; var g = o.i ? s : c - s;
var h = d ? g : s; var h = d ? g : s;
var p = gn(1, h / c); var p = gn(1, h / c);
var w = _n(r, a, i); var w = wn(r, a, i);
return 1 / w * (1 - w) * p; return 1 / w * (1 - w) * p;
}; };
var bn = function createScrollbarsSetupElements(r, a, e) { var mn = function createScrollbarsSetupElements(r, a, e) {
var n = be(), t = n.U; var n = be(), t = n.U;
var i = t(), v = i.scrollbarsSlot; var i = t(), v = i.scrollbarsSlot;
var o = a.ur, u = a.J, f = a.K, l = a.rr, s = a.cr, d = a.tr; var o = a.ur, u = a.J, f = a.K, l = a.rr, s = a.cr, d = a.tr;
@@ -2393,7 +2393,7 @@
b(r, (function(r) { b(r, (function(r) {
var n; var n;
var t = r.Nr, i = r.Yr; var t = r.Nr, i = r.Yr;
return [ t, (n = {}, n[e ? "width" : "height"] = (100 * _n(t, i, e, a)).toFixed(3) + "%", return [ t, (n = {}, n[e ? "width" : "height"] = (100 * wn(t, i, e, a)).toFixed(5) + "%",
n) ]; n) ];
})); }));
}; };
@@ -2401,35 +2401,35 @@
var n = e ? "X" : "Y"; var n = e ? "X" : "Y";
b(r, (function(r) { b(r, (function(r) {
var t = r.Nr, i = r.Yr, v = r.Wr; var t = r.Nr, i = r.Yr, v = r.Wr;
var o = wn(t, i, d, a, Tr(v), e); var o = bn(t, i, d, a, Tr(v), e);
var u = o === o; var u = o === o;
return [ t, { return [ t, {
transform: u ? "translate" + n + "(" + (100 * o).toFixed(3) + "%)" : "" transform: u ? "translate" + n + "(" + (100 * o).toFixed(5) + "%)" : ""
} ]; } ];
})); }));
}; };
var x = []; var x = [];
var E = []; var E = [];
var P = []; var A = [];
var A = function scrollbarsAddRemoveClass(r, a, e) { var P = function scrollbarsAddRemoveClass(r, a, e) {
var n = c(e); var n = c(e);
var t = n ? e : true; var t = n ? e : true;
var i = n ? !e : true; var i = n ? !e : true;
t && w(E, r, a); t && w(E, r, a);
i && w(P, r, a); i && w(A, r, a);
}; };
var T = function refreshScrollbarsHandleLength(r) { var T = function refreshScrollbarsHandleLength(r) {
m(E, r, true); m(E, r, true);
m(P, r); m(A, r);
}; };
var z = function refreshScrollbarsHandleOffset(r) { var z = function refreshScrollbarsHandleOffset(r) {
S(E, r, true); S(E, r, true);
S(P, r); S(A, r);
}; };
var L = function generateScrollbarDOM(r) { var L = function generateScrollbarDOM(r) {
var a = r ? Sa : Ca; var a = r ? Sa : Ca;
var n = r ? E : P; var n = r ? E : A;
var t = C(n) ? Aa : ""; var t = C(n) ? Pa : "";
var i = Z(ma + " " + a + " " + t); var i = Z(ma + " " + a + " " + t);
var v = Z(Oa); var v = Z(Oa);
var u = Z(xa); var u = Z(xa);
@@ -2441,16 +2441,16 @@
Y(i, v); Y(i, v);
Y(v, u); Y(v, u);
y(n, f); y(n, f);
y(x, [ X.bind(0, i), e(f, A, o, d, r) ]); y(x, [ X.bind(0, i), e(f, P, o, d, r) ]);
return f; return f;
}; };
var D = L.bind(0, true); var D = L.bind(0, true);
var H = L.bind(0, false); var H = L.bind(0, false);
var M = function appendElements() { var M = function appendElements() {
Y(p, E[0].Wr); Y(p, E[0].Wr);
Y(p, P[0].Wr); Y(p, A[0].Wr);
lr((function() { lr((function() {
A(Aa); P(Pa);
}), 300); }), 300);
}; };
D(); D();
@@ -2458,20 +2458,20 @@
return [ { return [ {
Gr: T, Gr: T,
Xr: z, Xr: z,
Zr: A, Zr: P,
$r: { $r: {
Jr: E, Jr: E,
Kr: D, Kr: D,
Qr: b.bind(0, E) Qr: b.bind(0, E)
}, },
ra: { ra: {
Jr: P, Jr: A,
Kr: H, Kr: H,
Qr: b.bind(0, P) Qr: b.bind(0, A)
} }
}, M, O.bind(0, x) ]; }, M, O.bind(0, x) ];
}; };
var mn = function createSelfCancelTimeout(r) { var yn = function createSelfCancelTimeout(r) {
var a; var a;
var e = r ? lr : fr; var e = r ? lr : fr;
var n = r ? cr : ur; var n = r ? cr : ur;
@@ -2482,7 +2482,7 @@
return n(a); return n(a);
} ]; } ];
}; };
var yn = function createScrollbarsSetup(r, a, e) { var Sn = function createScrollbarsSetup(r, a, e) {
var n; var n;
var t; var t;
var i; var i;
@@ -2491,14 +2491,14 @@
var u = 0; var u = 0;
var f = Jr({}); var f = Jr({});
var l = f[0]; var l = f[0];
var c = mn(), s = c[0], d = c[1]; var c = yn(), s = c[0], d = c[1];
var g = mn(), h = g[0], p = g[1]; var g = yn(), h = g[0], p = g[1];
var w = mn(100), b = w[0], m = w[1]; var w = yn(100), b = w[0], m = w[1];
var y = mn(100), S = y[0], C = y[1]; var y = yn(100), S = y[0], C = y[1];
var x = mn((function() { var x = yn((function() {
return u; return u;
})), E = x[0], P = x[1]; })), E = x[0], A = x[1];
var A = bn(r, e.Ur, dn(a, e)), T = A[0], z = A[1], L = A[2]; var P = mn(r, e.Ur, dn(a, e)), T = P[0], z = P[1], L = P[2];
var D = e.Ur, H = D.K, I = D.rr, V = D.tr, j = D.ir, k = D.$, B = D.Z; var D = e.Ur, H = D.K, I = D.rr, V = D.tr, j = D.ir, k = D.$, B = D.Z;
var q = T.$r, U = T.ra, N = T.Zr, Y = T.Gr, W = T.Xr; var q = T.$r, U = T.ra, N = T.Zr, Y = T.Gr, W = T.Xr;
var G = q.Qr; var G = q.Qr;
@@ -2511,7 +2511,7 @@
} ]; } ];
}; };
var $ = function manageScrollbarsAutoHide(r, a) { var $ = function manageScrollbarsAutoHide(r, a) {
P(); A();
if (r) { if (r) {
N(La); N(La);
} else { } else {
@@ -2529,12 +2529,12 @@
v = t; v = t;
v && $(true); v && $(true);
}; };
var K = [ m, P, C, p, d, L, qr(H, "mouseover", J, { var K = [ m, A, C, p, d, L, qr(H, "pointerover", J, {
P: true A: true
}), qr(H, "mouseenter", J), qr(H, "mouseleave", (function() { }), qr(H, "pointerenter", J), qr(H, "pointerleave", (function() {
v = false; v = false;
t && $(false); t && $(false);
})), qr(H, "mousemove", (function() { })), qr(H, "pointermove", (function() {
n && s((function() { n && s((function() {
m(); m();
$(true); $(true);
@@ -2560,10 +2560,10 @@
var l = f.zr, c = f.Lr, s = f.Tr, d = f.br; var l = f.zr, c = f.Lr, s = f.Tr, d = f.br;
var g = $r(a, r, v); var g = $r(a, r, v);
var h = e(); var h = e();
var p = h.Pr, w = h.Cr, b = h.wr; var p = h.Ar, w = h.Cr, b = h.wr;
var m = g("scrollbars.theme"), y = m[0], S = m[1]; var m = g("scrollbars.theme"), y = m[0], S = m[1];
var C = g("scrollbars.visibility"), O = C[0], x = C[1]; var C = g("scrollbars.visibility"), O = C[0], x = C[1];
var E = g("scrollbars.autoHide"), P = E[0], A = E[1]; var E = g("scrollbars.autoHide"), A = E[0], P = E[1];
var T = g("scrollbars.autoHideDelay"), z = T[0]; var T = g("scrollbars.autoHideDelay"), z = T[0];
var L = g("scrollbars.dragScroll"), D = L[0], H = L[1]; var L = g("scrollbars.dragScroll"), D = L[0], H = L[1];
var M = g("scrollbars.clickScroll"), R = M[0], I = M[1]; var M = g("scrollbars.clickScroll"), R = M[0], I = M[1];
@@ -2580,10 +2580,10 @@
N(y, true); N(y, true);
o = y; o = y;
} }
if (A) { if (P) {
n = "move" === P; n = "move" === A;
t = "leave" === P; t = "leave" === A;
i = "never" !== P; i = "never" !== A;
$(!i, true); $(!i, true);
} }
if (H) { if (H) {
@@ -2593,32 +2593,32 @@
N(Da, R); N(Da, R);
} }
if (j) { if (j) {
var B = k(w.x, true); var F = k(w.x, true);
var F = k(w.y, false); var q = k(w.y, false);
var q = B && F; var U = F && q;
N(Pa, !q); N(Aa, !U);
} }
if (V) { if (V) {
Y(h); Y(h);
W(h); W(h);
N(za, !p.x, true); N(za, !p.x, true);
N(za, !p.y, false); N(za, !p.y, false);
N(ya, b); N(ya, b && !B);
} }
}, Q, O.bind(0, K) ]; }, Q, O.bind(0, K) ];
}; };
var Sn = new Set; var Cn = new Set;
var Cn = new WeakMap; var On = new WeakMap;
var On = function addInstance(r, a) { var xn = function addInstance(r, a) {
Cn.set(r, a); On.set(r, a);
Sn.add(r); Cn.add(r);
}; };
var xn = function removeInstance(r) { var En = function removeInstance(r) {
On.delete(r);
Cn.delete(r); Cn.delete(r);
Sn.delete(r);
}; };
var En = function getInstance(r) { var An = function getInstance(r) {
return Cn.get(r); return On.get(r);
}; };
var Pn = function OverlayScrollbars(r, a, e) { var Pn = function OverlayScrollbars(r, a, e) {
var n = false; var n = false;
@@ -2626,26 +2626,26 @@
var o = ja(); var o = ja();
var u = w(r); var u = w(r);
var f = u ? r : r.target; var f = u ? r : r.target;
var l = En(f); var l = An(f);
if (l) { if (l) {
return l; return l;
} }
var c = o[Qa]; var c = o[Qa];
var d = function validateOptions(r) { var d = function validateOptions(r) {
var a = r || {}; var a = r || {};
var e = c && c.A; var e = c && c.P;
return e ? e(a, true) : a; return e ? e(a, true) : a;
}; };
var g = P({}, i(), d(a)); var g = A({}, i(), d(a));
var h = Xr(e), p = h[0], b = h[1], m = h[2]; var h = Xr(e), p = h[0], b = h[1], m = h[2];
var y = tn(r, g), S = y[0], C = y[1], O = y[2]; var y = tn(r, g), S = y[0], C = y[1], O = y[2];
var x = yn(r, g, C), T = x[0], z = x[1], L = x[2]; var x = Sn(r, g, C), T = x[0], z = x[1], L = x[2];
var D = function update(r, a) { var D = function update(r, a) {
S(r, !!a); S(r, !!a);
}; };
var H = v(D.bind(0, {}, true)); var H = v(D.bind(0, {}, true));
var M = function destroy(r) { var M = function destroy(r) {
xn(f); En(f);
H(); H();
L(); L();
O(); O();
@@ -2657,20 +2657,20 @@
options: function options(r) { options: function options(r) {
if (r) { if (r) {
var a = Ia(g, d(r)); var a = Ia(g, d(r));
if (!A(a)) { if (!P(a)) {
P(g, a); A(g, a);
D(a); D(a);
} }
} }
return P({}, g); return A({}, g);
}, },
on: p, on: p,
off: function off(r, a) { off: function off(r, a) {
r && a && b(r, a); r && a && b(r, a);
}, },
state: function state() { state: function state() {
var r = C(), a = r.Er, e = r.Pr, t = r.Cr, i = r.Ar, v = r.ar, o = r.mr, u = r.wr; var r = C(), a = r.Er, e = r.Ar, t = r.Cr, i = r.Pr, v = r.ar, o = r.mr, u = r.wr;
return P({}, { return A({}, {
overflowEdge: a, overflowEdge: a,
overflowAmount: e, overflowAmount: e,
overflowStyle: t, overflowStyle: t,
@@ -2683,7 +2683,7 @@
}, },
elements: function elements() { elements: function elements() {
var r = C.Ur, a = r.J, e = r.K, n = r.ar, t = r.rr, i = r.er; var r = C.Ur, a = r.J, e = r.K, n = r.ar, t = r.rr, i = r.er;
return P({}, { return A({}, {
target: a, target: a,
host: e, host: e,
padding: n || t, padding: n || t,
@@ -2712,7 +2712,7 @@
} }
C.qr(); C.qr();
z.qr(); z.qr();
On(f, R); xn(f, R);
m("initialized", [ R ]); m("initialized", [ R ]);
C.Fr((function(r, a, e) { C.Fr((function(r, a, e) {
var n = r.pr, t = r.br, i = r.hr, v = r.zr, o = r.Lr, u = r.Tr, f = r._r, l = r.Or; var n = r.pr, t = r.br, i = r.hr, v = r.zr, o = r.Lr, u = r.Tr, f = r._r, l = r.Or;
@@ -2736,7 +2736,7 @@
Pn.plugin = ka; Pn.plugin = ka;
Pn.env = function() { Pn.env = function() {
var r = be(), a = r.k, e = r.D, n = r.L, t = r.B, i = r.F, v = r.H, o = r.G, u = r.X, f = r.U, l = r.N, c = r.Y, s = r.W; var r = be(), a = r.k, e = r.D, n = r.L, t = r.B, i = r.F, v = r.H, o = r.G, u = r.X, f = r.U, l = r.N, c = r.Y, s = r.W;
return P({}, { return A({}, {
scrollbarsSize: a, scrollbarsSize: a,
scrollbarsOverlaid: e, scrollbarsOverlaid: e,
scrollbarsHiding: n, scrollbarsHiding: n,
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -26,6 +26,10 @@ import type {
InitialEventListeners as GeneralInitialEventListeners, InitialEventListeners as GeneralInitialEventListeners,
EventListener as GeneralEventListener, EventListener as GeneralEventListener,
} from 'support/eventListeners'; } from 'support/eventListeners';
import {
ScrollbarsSetupElement,
ScrollbarStructure,
} from 'setups/scrollbarsSetup/scrollbarsSetup.elements';
export interface OverlayScrollbarsStatic { export interface OverlayScrollbarsStatic {
( (
@@ -65,12 +69,26 @@ export interface State {
destroyed: boolean; destroyed: boolean;
} }
export interface ScrollbarElements {
scrollbar: HTMLElement;
track: HTMLElement;
handle: HTMLElement;
}
export interface CloneableScrollbarElements extends ScrollbarElements {
clone(): ScrollbarElements;
}
export interface Elements { export interface Elements {
target: HTMLElement; target: HTMLElement;
host: HTMLElement; host: HTMLElement;
padding: HTMLElement; padding: HTMLElement;
viewport: HTMLElement; viewport: HTMLElement;
content: HTMLElement; content: HTMLElement;
scrollOffsetElement: HTMLElement;
scrollEventElement: HTMLElement | Document;
scrollbarHorizontal: CloneableScrollbarElements;
scrollbarVertical: CloneableScrollbarElements;
} }
export interface OnUpdatedEventListenerArgs { export interface OnUpdatedEventListenerArgs {
@@ -231,7 +249,40 @@ export const OverlayScrollbars: OverlayScrollbarsStatic = (
); );
}, },
elements() { elements() {
const { _target, _host, _padding, _viewport, _content } = structureState._elements; const {
_target,
_host,
_padding,
_viewport,
_content,
_scrollOffsetElement,
_scrollEventElement,
} = structureState._elements;
const { _horizontal, _vertical } = scrollbarsState._elements;
const translateScrollbarStructure = (
scrollbarStructure: ScrollbarStructure
): ScrollbarElements => {
const { _handle, _track, _scrollbar } = scrollbarStructure;
return {
scrollbar: _scrollbar,
track: _track,
handle: _handle,
};
};
const translateScrollbarsSetupElement = (
scrollbarsSetupElement: ScrollbarsSetupElement
): CloneableScrollbarElements => {
const { _scrollbarStructures, _clone } = scrollbarsSetupElement;
const translatedStructure = translateScrollbarStructure(_scrollbarStructures[0]);
return assignDeep({}, translatedStructure, {
clone: () => {
const result = translateScrollbarStructure(_clone());
updateScrollbars({}, true, {});
return result;
},
});
};
return assignDeep( return assignDeep(
{}, {},
{ {
@@ -240,6 +291,10 @@ export const OverlayScrollbars: OverlayScrollbarsStatic = (
padding: _padding || _viewport, padding: _padding || _viewport,
viewport: _viewport, viewport: _viewport,
content: _content || _viewport, content: _content || _viewport,
scrollOffsetElement: _scrollOffsetElement,
scrollEventElement: _scrollEventElement,
scrollbarHorizontal: translateScrollbarsSetupElement(_horizontal),
scrollbarVertical: translateScrollbarsSetupElement(_vertical),
} }
); );
}, },
@@ -2,7 +2,8 @@ import { offsetSize } from 'support';
import { getEnvironment } from 'environment'; import { getEnvironment } from 'environment';
import type { StructureSetupState } from 'setups'; import type { StructureSetupState } from 'setups';
const { min, max, abs } = Math; const { min, max, abs, round } = Math;
export const getScrollbarHandleLengthRatio = ( export const getScrollbarHandleLengthRatio = (
scrollbarHandle: HTMLElement, scrollbarHandle: HTMLElement,
scrollbarTrack: HTMLElement, scrollbarTrack: HTMLElement,
@@ -22,6 +23,7 @@ export const getScrollbarHandleLengthRatio = (
const trackSize = offsetSize(scrollbarTrack)[axis]; const trackSize = offsetSize(scrollbarTrack)[axis];
return max(0, min(1, handleSize / trackSize)); return max(0, min(1, handleSize / trackSize));
}; };
export const getScrollbarHandleOffsetRatio = ( export const getScrollbarHandleOffsetRatio = (
scrollbarHandle: HTMLElement, scrollbarHandle: HTMLElement,
scrollbarTrack: HTMLElement, scrollbarTrack: HTMLElement,
@@ -34,7 +36,7 @@ export const getScrollbarHandleOffsetRatio = (
const axis = isHorizontal ? 'x' : 'y'; const axis = isHorizontal ? 'x' : 'y';
const scrollLeftTop = isHorizontal ? 'Left' : 'Top'; const scrollLeftTop = isHorizontal ? 'Left' : 'Top';
const { _overflowAmount } = structureSetupState; const { _overflowAmount } = structureSetupState;
const scrollPositionMax = Math.floor(_overflowAmount[axis]); const scrollPositionMax = round(_overflowAmount[axis]);
const scrollPosition = abs(scrollOffsetElement[`scroll${scrollLeftTop}`]); const scrollPosition = abs(scrollOffsetElement[`scroll${scrollLeftTop}`]);
const handleRTL = isHorizontal && isRTL; const handleRTL = isHorizontal && isRTL;
const rtlNormalizedScrollPosition = _rtlScrollBehavior.i const rtlNormalizedScrollPosition = _rtlScrollBehavior.i
@@ -5,6 +5,7 @@ export interface WH<T = number> {
h: T; h: T;
} }
const { round } = Math;
const elementHasDimensions = (elm: HTMLElement): boolean => const elementHasDimensions = (elm: HTMLElement): boolean =>
!!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length); !!(elm.offsetWidth || elm.offsetHeight || elm.getClientRects().length);
const zeroObj: WH = { const zeroObj: WH = {
@@ -62,10 +63,10 @@ export const scrollSize = (elm: HTMLElement | false | null | undefined): WH =>
*/ */
export const fractionalSize = (elm: HTMLElement | false | null | undefined): WH => { export const fractionalSize = (elm: HTMLElement | false | null | undefined): WH => {
const cssHeight = parseFloat(style(elm, 'height')) || 0; const cssHeight = parseFloat(style(elm, 'height')) || 0;
const cssWidth = parseFloat(style(elm, 'height')) || 0; const cssWidth = parseFloat(style(elm, 'width')) || 0;
return { return {
w: cssWidth - Math.round(cssWidth), w: cssWidth - round(cssWidth),
h: cssHeight - Math.round(cssHeight), h: cssHeight - round(cssHeight),
}; };
}; };
@@ -15,37 +15,34 @@ const before = (
preferredAnchor: Node | false | null | undefined, preferredAnchor: Node | false | null | undefined,
insertedElms: NodeCollection insertedElms: NodeCollection
): void => { ): void => {
if (insertedElms) { if (insertedElms && parentElm) {
let anchor: Node | false | null | undefined = preferredAnchor; let anchor: Node | false | null | undefined = preferredAnchor;
let fragment: DocumentFragment | Node | null | undefined; let fragment: DocumentFragment | Node | null | undefined;
// parent must be defined if (isArrayLike(insertedElms)) {
if (parentElm) { fragment = document.createDocumentFragment();
if (isArrayLike(insertedElms)) {
fragment = document.createDocumentFragment();
// append all insertedElms to the fragment and if one of these is the anchor, change the anchor // append all insertedElms to the fragment and if one of these is the anchor, change the anchor
each(insertedElms, (insertedElm) => { each(insertedElms, (insertedElm) => {
if (insertedElm === anchor) { if (insertedElm === anchor) {
anchor = insertedElm.previousSibling; anchor = insertedElm.previousSibling;
}
fragment!.appendChild(insertedElm);
});
} else {
fragment = insertedElms;
}
// if the preferred anchor isn't null set it to a valid anchor
if (preferredAnchor) {
if (!anchor) {
anchor = parentElm.firstChild;
} else if (anchor !== preferredAnchor) {
anchor = anchor.nextSibling;
} }
} fragment!.appendChild(insertedElm);
});
parentElm.insertBefore(fragment, anchor || null); } else {
fragment = insertedElms;
} }
// if the preferred anchor isn't null set it to a valid anchor
if (preferredAnchor) {
if (!anchor) {
anchor = parentElm.firstChild;
} else if (anchor !== preferredAnchor) {
anchor = anchor.nextSibling;
}
}
parentElm.insertBefore(fragment, anchor || null);
} }
}; };