UNPKG

overlayscrollbars

Version:

A javascript scrollbar plugin that hides the native scrollbars, provides custom styleable overlay scrollbars, and preserves the native functionality and feel.

2,015 lines 79.9 kB
/*! * OverlayScrollbars * Version: 2.11.3 * * Copyright (c) Rene Haas | KingSora. * https://github.com/KingSora * * Released under the MIT license. */ var OverlayScrollbarsGlobal = function(r) { "use strict"; var e = function createCache(r, e) { var a = r.i, n = r.v, t = r.o; var i = a; var v; var o = function cacheUpdateContextual(r, e) { var a = i; var o = r; var u = e || (n ? !n(a, o) : a !== o); if (u || t) { i = o; v = a; } return [ i, u, v ]; }; var u = function cacheUpdateIsolated(r) { return o(e(i, v), r); }; var c = function getCurrentCache(r) { return [ i, !!r, v ]; }; return [ e ? u : o, c ]; }; var a = typeof window !== "undefined" && typeof HTMLElement !== "undefined" && !!window.document; var n = a ? window : {}; var t = Math.max; var i = Math.min; var v = Math.round; var o = Math.abs; var u = Math.sign; var c = n.cancelAnimationFrame; var f = n.requestAnimationFrame; var l = n.setTimeout; var s = n.clearTimeout; var d = function getApi(r) { return typeof n[r] !== "undefined" ? n[r] : void 0; }; var p = d("MutationObserver"); var _ = d("IntersectionObserver"); var g = d("ResizeObserver"); var h = d("ScrollTimeline"); var b = function isUndefined(r) { return r === void 0; }; var m = function isNull(r) { return r === null; }; var S = function type(r) { return b(r) || m(r) ? "" + r : Object.prototype.toString.call(r).replace(/^\[object (.+)\]$/, "$1").toLowerCase(); }; var y = function isNumber(r) { return typeof r === "number"; }; var w = function isString(r) { return typeof r === "string"; }; var O = function isBoolean(r) { return typeof r === "boolean"; }; var C = function isFunction(r) { return typeof r === "function"; }; var x = function isArray(r) { return Array.isArray(r); }; var E = function isObject(r) { return typeof r === "object" && !x(r) && !m(r); }; var A = function isArrayLike(r) { var e = !!r && r.length; var a = y(e) && e > -1 && e % 1 == 0; return x(r) || !C(r) && a ? e > 0 && E(r) ? e - 1 in r : true : false; }; var T = function isPlainObject(r) { return !!r && r.constructor === Object; }; var H = function isHTMLElement(r) { return r instanceof HTMLElement; }; var P = function isElement(r) { return r instanceof Element; }; var D = function animationCurrentTime() { return performance.now(); }; var z = function animateNumber(r, e, a, n, i) { var v = 0; var o = D(); var u = t(0, a); var l = function frame(a) { var c = D(); var s = c - o; var d = s >= u; var p = a ? 1 : 1 - (t(0, o + u - c) / u || 0); var _ = (e - r) * (C(i) ? i(p, p * u, 0, 1, u) : p) + r; var g = d || p === 1; if (n) { n(_, p, g); } v = g ? 0 : f((function() { return l(); })); }; l(); return function(r) { c(v); if (r) { l(r); } }; }; function each(r, e) { if (A(r)) { for (var a = 0; a < r.length; a++) { if (e(r[a], a, r) === false) { break; } } } else if (r) { each(Object.keys(r), (function(a) { return e(r[a], a, r); })); } return r; } var M = function inArray(r, e) { return r.indexOf(e) >= 0; }; var I = function concat(r, e) { return r.concat(e); }; var L = function push(r, e, a) { if (!w(e) && A(e)) { Array.prototype.push.apply(r, e); } else { r.push(e); } return r; }; var k = function from(r) { return Array.from(r || []); }; var V = function createOrKeepArray(r) { if (x(r)) { return r; } return !w(r) && A(r) ? k(r) : [ r ]; }; var R = function isEmptyArray(r) { return !!r && !r.length; }; var F = function deduplicateArray(r) { return k(new Set(r)); }; var N = function runEachAndClear(r, e, a) { var n = function runFn(r) { return r ? r.apply(void 0, e || []) : true; }; each(r, n); if (!a) { r.length = 0; } }; var j = "paddingTop"; var q = "paddingRight"; var U = "paddingLeft"; var B = "paddingBottom"; var Y = "marginLeft"; var W = "marginRight"; var X = "marginBottom"; var Z = "overflowX"; var G = "overflowY"; var $ = "width"; var J = "height"; var K = "visible"; var Q = "hidden"; var rr = "scroll"; var er = function capitalizeFirstLetter(r) { var e = String(r || ""); return e ? e[0].toUpperCase() + e.slice(1) : ""; }; var ar = function equal(r, e, a, n) { if (r && e) { var t = true; each(a, (function(a) { var n = r[a]; var i = e[a]; if (n !== i) { t = false; } })); return t; } return false; }; var nr = function equalWH(r, e) { return ar(r, e, [ "w", "h" ]); }; var tr = function equalXY(r, e) { return ar(r, e, [ "x", "y" ]); }; var ir = function equalTRBL(r, e) { return ar(r, e, [ "t", "r", "b", "l" ]); }; var vr = function bind(r) { for (var e = arguments.length, a = new Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++) { a[n - 1] = arguments[n]; } return r.bind.apply(r, [ 0 ].concat(a)); }; var or = function selfClearTimeout(r) { var e; var a = r ? l : f; var n = r ? s : c; return [ function(t) { n(e); e = a((function() { return t(); }), C(r) ? r() : r); }, function() { return n(e); } ]; }; var ur = function getDebouncer(r) { var e = C(r) ? r() : r; if (y(e)) { var a = e ? l : f; var n = e ? s : c; return function(r) { var t = a((function() { return r(); }), e); return function() { n(t); }; }; } return e && e.u; }; var cr = function debounce(r, e) { var a = e || {}, n = a.p, t = a._, i = a.m, v = a.S; var o; var u; var c; var f; var l; var s = function invokeFunctionToDebounce(e) { if (u) { u(); } if (o) { o(); } l = u = o = c = void 0; r.apply(this, e); }; var d = function mergeParms(r) { return v && c ? v(c, r) : r; }; var p = function flush() { if (u) { s(d(f) || f); } }; var _ = function debouncedFn() { var r = k(arguments); var e = ur(n); if (e) { var a = ur(t); var v = d(r); var _ = v || r; var g = s.bind(0, _); if (u) { u(); } if (i && !l) { g(); l = true; u = e((function() { return l = void 0; })); } else { u = e(g); if (a && !o) { o = a(p); } } c = f = _; } else { s(r); } }; _.O = p; return _; }; var fr = function hasOwnProperty(r, e) { return Object.prototype.hasOwnProperty.call(r, e); }; var lr = function keys(r) { return r ? Object.keys(r) : []; }; var sr = function assignDeep(r, e, a, n, t, i, v) { var o = [ e, a, n, t, i, v ]; if ((typeof r !== "object" || m(r)) && !C(r)) { r = {}; } each(o, (function(e) { each(e, (function(a, n) { var t = e[n]; if (r === t) { return true; } var i = x(t); if (t && T(t)) { var v = r[n]; var o = v; if (i && !x(v)) { o = []; } else if (!i && !T(v)) { o = {}; } r[n] = sr(o, t); } else { r[n] = i ? t.slice() : t; } })); })); return r; }; var dr = function removeUndefinedProperties(r, e) { return each(sr({}, r), (function(r, e, a) { if (r === void 0) { delete a[e]; } else if (r && T(r)) { a[e] = dr(r); } })); }; var pr = function isEmptyObject(r) { return !lr(r).length; }; var _r = function noop() {}; var gr = function capNumber(r, e, a) { return t(r, i(e, a)); }; var hr = function getDomTokensArray(r) { return F((x(r) ? r : (r || "").split(" ")).filter((function(r) { return r; }))); }; var br = function getAttr(r, e) { return r && r.getAttribute(e); }; var mr = function hasAttr(r, e) { return r && r.hasAttribute(e); }; var Sr = function setAttrs(r, e, a) { each(hr(e), (function(e) { if (r) { r.setAttribute(e, String(a || "")); } })); }; var yr = function removeAttrs(r, e) { each(hr(e), (function(e) { return r && r.removeAttribute(e); })); }; var wr = function domTokenListAttr(r, e) { var a = hr(br(r, e)); var n = vr(Sr, r, e); var t = function domTokenListOperation(r, e) { var n = new Set(a); each(hr(r), (function(r) { n[e](r); })); return k(n).join(" "); }; return { C: function _remove(r) { return n(t(r, "delete")); }, A: function _add(r) { return n(t(r, "add")); }, T: function _has(r) { var e = hr(r); return e.reduce((function(r, e) { return r && a.includes(e); }), e.length > 0); } }; }; var Or = function removeAttrClass(r, e, a) { wr(r, e).C(a); return vr(Cr, r, e, a); }; var Cr = function addAttrClass(r, e, a) { wr(r, e).A(a); return vr(Or, r, e, a); }; var xr = function addRemoveAttrClass(r, e, a, n) { return (n ? Cr : Or)(r, e, a); }; var Er = function hasAttrClass(r, e, a) { return wr(r, e).T(a); }; var Ar = function createDomTokenListClass(r) { return wr(r, "class"); }; var Tr = function removeClass(r, e) { Ar(r).C(e); }; var Hr = function addClass(r, e) { Ar(r).A(e); return vr(Tr, r, e); }; var Pr = function find(r, e) { var a = e ? P(e) && e : document; return a ? k(a.querySelectorAll(r)) : []; }; var Dr = function findFirst(r, e) { var a = e ? P(e) && e : document; return a && a.querySelector(r); }; var zr = function is(r, e) { return P(r) && r.matches(e); }; var Mr = function isBodyElement(r) { return zr(r, "body"); }; var Ir = function contents(r) { return r ? k(r.childNodes) : []; }; var Lr = function parent(r) { return r && r.parentElement; }; var kr = function closest(r, e) { return P(r) && r.closest(e); }; var Vr = function getFocusedElement(r) { return document.activeElement; }; var Rr = function liesBetween(r, e, a) { var n = kr(r, e); var t = r && Dr(a, n); var i = kr(t, e) === n; return n && t ? n === r || t === r || i && kr(kr(r, a), e) !== n : false; }; var Fr = function removeElements(r) { each(V(r), (function(r) { var e = Lr(r); if (r && e) { e.removeChild(r); } })); }; var Nr = function appendChildren(r, e) { return vr(Fr, r && e && each(V(e), (function(e) { if (e) { r.appendChild(e); } }))); }; var jr; var qr = function getTrustedTypePolicy() { return jr; }; var Ur = function setTrustedTypePolicy(r) { jr = r; }; var Br = function createDiv(r) { var e = document.createElement("div"); Sr(e, "class", r); return e; }; var Yr = function createDOM(r) { var e = Br(); var a = qr(); var n = r.trim(); e.innerHTML = a ? a.createHTML(n) : n; return each(Ir(e), (function(r) { return Fr(r); })); }; var Wr = function getCSSVal(r, e) { return r.getPropertyValue(e) || r[e] || ""; }; var Xr = function validFiniteNumber(r) { var e = r || 0; return isFinite(e) ? e : 0; }; var Zr = function parseToZeroOrNumber(r) { return Xr(parseFloat(r || "")); }; var Gr = function roundCssNumber(r) { return Math.round(r * 1e4) / 1e4; }; var $r = function numberToCssPx(r) { return Gr(Xr(r)) + "px"; }; function setStyles(r, e) { r && e && each(e, (function(e, a) { try { var n = r.style; var t = m(e) || O(e) ? "" : y(e) ? $r(e) : e; if (a.indexOf("--") === 0) { n.setProperty(a, t); } else { n[a] = t; } } catch (i) {} })); } function getStyles(r, e, a) { var t = w(e); var i = t ? "" : {}; if (r) { var v = n.getComputedStyle(r, a) || r.style; i = t ? Wr(v, e) : k(e).reduce((function(r, e) { r[e] = Wr(v, e); return r; }), i); } return i; } var Jr = function topRightBottomLeft(r, e, a) { var n = e ? e + "-" : ""; var t = a ? "-" + a : ""; var i = n + "top" + t; var v = n + "right" + t; var o = n + "bottom" + t; var u = n + "left" + t; var c = getStyles(r, [ i, v, o, u ]); return { t: Zr(c[i]), r: Zr(c[v]), b: Zr(c[o]), l: Zr(c[u]) }; }; var Kr = function getTrasformTranslateValue(r, e) { return "translate" + (E(r) ? "(" + r.x + "," + r.y + ")" : (e ? "X" : "Y") + "(" + r + ")"); }; var Qr = function elementHasDimensions(r) { return !!(r.offsetWidth || r.offsetHeight || r.getClientRects().length); }; var re = { w: 0, h: 0 }; var ee = function getElmWidthHeightProperty(r, e) { return e ? { w: e[r + "Width"], h: e[r + "Height"] } : re; }; var ae = function getWindowSize(r) { return ee("inner", r || n); }; var ne = vr(ee, "offset"); var te = vr(ee, "client"); var ie = vr(ee, "scroll"); var ve = function getFractionalSize(r) { var e = parseFloat(getStyles(r, $)) || 0; var a = parseFloat(getStyles(r, J)) || 0; return { w: e - v(e), h: a - v(a) }; }; var oe = function getBoundingClientRect(r) { return r.getBoundingClientRect(); }; var ue = function hasDimensions(r) { return !!r && Qr(r); }; var ce = function domRectHasDimensions(r) { return !!(r && (r[J] || r[$])); }; var fe = function domRectAppeared(r, e) { var a = ce(r); var n = ce(e); return !n && a; }; var le = function removeEventListener(r, e, a, n) { each(hr(e), (function(e) { if (r) { r.removeEventListener(e, a, n); } })); }; var se = function addEventListener(r, e, a, n) { var t; var i = (t = n && n.H) != null ? t : true; var v = n && n.P || false; var o = n && n.D || false; var u = { passive: i, capture: v }; return vr(N, hr(e).map((function(e) { var n = o ? function(t) { le(r, e, n, v); if (a) { a(t); } } : a; if (r) { r.addEventListener(e, n, u); } return vr(le, r, e, n, v); }))); }; var de = function stopPropagation(r) { return r.stopPropagation(); }; var pe = function preventDefault(r) { return r.preventDefault(); }; var _e = function stopAndPrevent(r) { return de(r) || pe(r); }; var ge = function scrollElementTo(r, e) { var a = y(e) ? { x: e, y: e } : e || {}, n = a.x, t = a.y; y(n) && (r.scrollLeft = n); y(t) && (r.scrollTop = t); }; var he = function getElementScroll(r) { return { x: r.scrollLeft, y: r.scrollTop }; }; var be = function getZeroScrollCoordinates() { return { M: { x: 0, y: 0 }, I: { x: 0, y: 0 } }; }; var me = function sanitizeScrollCoordinates(r, e) { var a = r.M, n = r.I; var t = e.w, i = e.h; var v = function sanitizeAxis(r, e, a) { var n = u(r) * a; var t = u(e) * a; if (n === t) { var i = o(r); var v = o(e); t = i > v ? 0 : t; n = i < v ? 0 : n; } n = n === t ? 0 : n; return [ n + 0, t + 0 ]; }; var c = v(a.x, n.x, t), f = c[0], l = c[1]; var s = v(a.y, n.y, i), d = s[0], p = s[1]; return { M: { x: f, y: d }, I: { x: l, y: p } }; }; var Se = function isDefaultDirectionScrollCoordinates(r) { var e = r.M, a = r.I; var n = function getAxis(r, e) { return r === 0 && r <= e; }; return { x: n(e.x, a.x), y: n(e.y, a.y) }; }; var ye = function getScrollCoordinatesPercent(r, e) { var a = r.M, n = r.I; var t = function getAxis(r, e, a) { return gr(0, 1, (r - a) / (r - e) || 0); }; return { x: t(a.x, n.x, e.x), y: t(a.y, n.y, e.y) }; }; var we = function focusElement(r) { if (r && r.focus) { r.focus({ preventScroll: true }); } }; var Oe = function manageListener(r, e) { each(V(e), r); }; var Ce = function createEventListenerHub(r) { var e = new Map; var a = function removeEvent(r, a) { if (r) { var n = e.get(r); Oe((function(r) { if (n) { n[r ? "delete" : "clear"](r); } }), a); } else { e.forEach((function(r) { r.clear(); })); e.clear(); } }; var n = function addEvent(r, t) { if (w(r)) { var i = e.get(r) || new Set; e.set(r, i); Oe((function(r) { if (C(r)) { i.add(r); } }), t); return vr(a, r, t); } if (O(t) && t) { a(); } var v = lr(r); var o = []; each(v, (function(e) { var a = r[e]; if (a) { L(o, n(e, a)); } })); return vr(N, o); }; var t = function triggerEvent(r, a) { each(k(e.get(r)), (function(r) { if (a && !R(a)) { r.apply(0, a); } else { r(); } })); }; n(r || {}); return [ n, a, t ]; }; var xe = {}; var Ee = {}; var Ae = function addPlugins(r) { each(r, (function(r) { return each(r, (function(e, a) { xe[a] = r[a]; })); })); }; var Te = function registerPluginModuleInstances(r, e, a) { return lr(r).map((function(n) { var t = r[n], i = t.static, v = t.instance; var o = a || [], u = o[0], c = o[1], f = o[2]; var l = a ? v : i; if (l) { var s = a ? l(u, c, e) : l(e); return (f || Ee)[n] = s; } })); }; var He = function getStaticPluginModuleInstance(r) { return Ee[r]; }; function getDefaultExportFromCjs(r) { return r && r.L && Object.prototype.hasOwnProperty.call(r, "default") ? r["default"] : r; } var Pe = { exports: {} }; (function(r) { function _extends() { return r.exports = _extends = Object.assign ? Object.assign.bind() : function(r) { for (var e = 1; e < arguments.length; e++) { var a = arguments[e]; for (var n in a) { ({}).hasOwnProperty.call(a, n) && (r[n] = a[n]); } } return r; }, r.exports.L = true, r.exports["default"] = r.exports, _extends.apply(null, arguments); } r.exports = _extends, r.exports.L = true, r.exports["default"] = r.exports; })(Pe); var De = Pe.exports; var ze = /*@__PURE__*/ getDefaultExportFromCjs(De); var Me = { boolean: "__TPL_boolean_TYPE__", number: "__TPL_number_TYPE__", string: "__TPL_string_TYPE__", array: "__TPL_array_TYPE__", object: "__TPL_object_TYPE__", function: "__TPL_function_TYPE__", null: "__TPL_null_TYPE__" }; var Ie = function validateRecursive(r, e, a, n) { var t = {}; var i = ze({}, e); var v = lr(r).filter((function(r) { return fr(e, r); })); each(v, (function(v) { var o = e[v]; var u = r[v]; var c = T(u); var f = n ? n + "." : ""; if (c && T(o)) { var l = Ie(u, o, a, f + v), s = l[0], d = l[1]; t[v] = s; i[v] = d; each([ i, t ], (function(r) { if (pr(r[v])) { delete r[v]; } })); } else if (!c) { var p = false; var _ = []; var g = []; var h = S(o); var m = V(u); each(m, (function(r) { var e; each(Me, (function(a, n) { if (a === r) { e = n; } })); var a = b(e); if (a && w(o)) { var n = r.split(" "); p = !!n.find((function(r) { return r === o; })); L(_, n); } else { p = Me[h] === r; } L(g, a ? Me.string : e); return !p; })); if (p) { t[v] = o; } else if (a) { console.warn('The option "' + f + v + "\" wasn't set, because it doesn't accept the type [ " + h.toUpperCase() + ' ] with the value of "' + o + '".\r\n' + "Accepted types are: [ " + g.join(", ").toUpperCase() + " ].\r\n" + (_.length > 0 ? "\r\nValid strings are: [ " + _.join(", ") + " ]." : "")); } delete i[v]; } })); return [ t, i ]; }; var Le = function validateOptions(r, e, a) { return Ie(r, e, a); }; var ke = "__osOptionsValidationPlugin"; /* @__PURE__ */ (function(r) { return r = {}, r[ke] = { static: function _static() { var r = Me.number; var e = Me.boolean; var a = [ Me.array, Me.null ]; var n = "hidden scroll visible visible-hidden"; var t = "visible hidden auto"; var i = "never scroll leavemove"; var v = [ e, Me.string ]; var o = { paddingAbsolute: e, showNativeOverlaidScrollbars: e, update: { elementEvents: a, attributes: a, debounce: [ Me.number, Me.array, Me.null ], ignoreMutation: [ Me.function, Me.null ] }, overflow: { x: n, y: n }, scrollbars: { theme: [ Me.string, Me.null ], visibility: t, autoHide: i, autoHideDelay: r, autoHideSuspend: e, dragScroll: e, clickScroll: v, pointers: [ Me.array, Me.null ] } }; return function(r, e) { var a = Le(o, r, e), n = a[0], t = a[1]; return ze({}, t, n); }; } }, r; })(); var Ve = "data-overlayscrollbars"; var Re = "os-environment"; var Fe = Re + "-scrollbar-hidden"; var Ne = Ve + "-initialize"; var je = "noClipping"; var qe = Ve + "-body"; var Ue = Ve; var Be = "host"; var Ye = Ve + "-viewport"; var We = Z; var Xe = G; var Ze = "arrange"; var Ge = "measuring"; var $e = "scrolling"; var Je = "scrollbarHidden"; var Ke = "noContent"; var Qe = Ve + "-padding"; var ra = Ve + "-content"; var ea = "os-size-observer"; var aa = ea + "-appear"; var na = ea + "-listener"; var ta = na + "-scroll"; var ia = na + "-item"; var va = ia + "-final"; var oa = "os-trinsic-observer"; var ua = "os-theme-none"; var ca = "os-scrollbar"; var fa = ca + "-rtl"; var la = ca + "-horizontal"; var sa = ca + "-vertical"; var da = ca + "-track"; var pa = ca + "-handle"; var _a = ca + "-visible"; var ga = ca + "-cornerless"; var ha = ca + "-interaction"; var ba = ca + "-unusable"; var ma = ca + "-auto-hide"; var Sa = ma + "-hidden"; var ya = ca + "-wheel"; var wa = da + "-interactive"; var Oa = pa + "-interactive"; var Ca = "__osSizeObserverPlugin"; var xa = /* @__PURE__ */ function(r) { return r = {}, r[Ca] = { static: function _static() { return function(r, e, a) { var n; var t = 3333333; var i = "scroll"; var v = Yr('<div class="' + ia + '" dir="ltr"><div class="' + ia + '"><div class="' + va + '"></div></div><div class="' + ia + '"><div class="' + va + '" style="width: 200%; height: 200%"></div></div></div>'); var o = v[0]; var u = o.lastChild; var l = o.firstChild; var s = l == null ? void 0 : l.firstChild; var d = ne(o); var p = d; var _ = false; var g; var h = function reset() { ge(l, t); ge(u, t); }; var b = function onResized(r) { g = 0; if (_) { d = p; e(r === true); } }; var m = function onScroll(r) { p = ne(o); _ = !r || !nr(p, d); if (r) { de(r); if (_ && !g) { c(g); g = f(b); } } else { b(r === false); } h(); }; var S = [ Nr(r, v), se(l, i, m), se(u, i, m) ]; Hr(r, ta); setStyles(s, (n = {}, n[$] = t, n[J] = t, n)); f(h); return [ a ? vr(m, false) : h, S ]; }; } }, r; }(); var Ea = function getShowNativeOverlaidScrollbars(r, e) { var a = e.k; var n = r("showNativeOverlaidScrollbars"), t = n[0], i = n[1]; return [ t && a.x && a.y, i ]; }; var Aa = function overflowIsVisible(r) { return r.indexOf(K) === 0; }; var Ta = function overflowBehaviorToOverflowStyle(r) { return r.replace(K + "-", ""); }; var Ha = function overflowCssValueToOverflowStyle(r, e) { if (r === "auto") { return e ? rr : Q; } var a = r || Q; return [ Q, rr, K ].includes(a) ? a : Q; }; var Pa = function getElementOverflowStyle(r, e) { var a = getStyles(r, [ Z, G ]), n = a.overflowX, t = a.overflowY; return { x: Ha(n, e.x), y: Ha(t, e.y) }; }; var Da = "__osScrollbarsHidingPlugin"; var za = /* @__PURE__ */ function(r) { return r = {}, r[Da] = { static: function _static() { return { V: function _viewportArrangement(r, e, a, n, t) { var i = r.R, v = r.F; var o = n.N, u = n.k, c = n.j; var f = !i && !o && (u.x || u.y); var l = Ea(t, n), s = l[0]; var d = function _getViewportOverflowHideOffset(r) { var e = o || s ? 0 : 42; var a = function getHideOffsetPerAxis(r, a, n) { var t = r ? e : n; var i = a && !o ? t : 0; var v = r && !!e; return [ i, v ]; }; var n = a(u.x, r.x === rr, c.x), t = n[0], i = n[1]; var v = a(u.y, r.y === rr, c.y), f = v[0], l = v[1]; return { q: { x: t, y: f }, U: { x: i, y: l } }; }; var p = function _hideNativeScrollbars(r) { if (!i) { var n; var t = a.B; var v = sr({}, (n = {}, n[W] = 0, n[X] = 0, n[Y] = 0, n)); var o = d(r), u = o.q, c = o.U; var l = c.x, s = c.y; var p = u.x, _ = u.y; var g = e.Y; var h = t ? Y : W; var b = t ? U : q; var m = g[h]; var S = g[X]; var y = g[b]; var w = g[B]; v[$] = "calc(100% + " + (_ + m * -1) + "px)"; v[h] = -_ + m; v[X] = -p + S; if (f) { v[b] = y + (s ? _ : 0); v[B] = w + (l ? p : 0); } return v; } }; var _ = function _arrangeViewport(r, n, t) { if (f) { var i = e.Y; var o = d(r), u = o.q, c = o.U; var l = c.x, s = c.y; var p = u.x, _ = u.y; var g = a.B; var h = g ? q : U; var b = i[h]; var m = i.paddingTop; var S = n.w + t.w; var y = n.h + t.h; var w = { w: _ && s ? _ + S - b + "px" : "", h: p && l ? p + y - m + "px" : "" }; setStyles(v, { "--os-vaw": w.w, "--os-vah": w.h }); } return f; }; var g = function _undoViewportArrange() { if (f) { var r = e.W, a = e.Y; var n = Pa(v, r); var t = d(n), i = t.U; var o = i.x, u = i.y; var c = {}; var l = function assignProps(r) { return each(r, (function(r) { c[r] = a[r]; })); }; if (o) { l([ X, j, B ]); } if (u) { l([ Y, W, U, q ]); } var s = getStyles(v, lr(c)); var _ = Or(v, Ye, Ze); setStyles(v, c); return function() { setStyles(v, sr({}, s, p(n))); _(); }; } return _r; }; return { X: _, Z: g, G: p }; } }; } }, r; }(); var Ma = "__osClickScrollPlugin"; var Ia = /* @__PURE__ */ function(r) { return r = {}, r[Ma] = { static: function _static() { return function(r, e, a, n) { var t = false; var i = _r; var v = 133; var o = 222; var u = or(v), c = u[0], f = u[1]; var l = Math.sign(e); var s = a * l; var d = s / 2; var p = function easing(r) { return 1 - (1 - r) * (1 - r); }; var _ = function easedEndPressAnimation(e, a) { return z(e, a, o, r, p); }; var g = function linearPressAnimation(a, n) { return z(a, e - s, v * n, (function(a, n, t) { r(a); if (t) { i = _(a, e); } })); }; var h = z(0, s, o, (function(v, o, u) { r(v); if (u) { n(t); if (!t) { var f = e - v; var p = Math.sign(f - d) === l; if (p) { c((function() { var r = f - s; var n = Math.sign(r) === l; i = n ? g(v, Math.abs(r) / a) : _(v, e); })); } } } }), p); return function(r) { t = true; if (r) { h(); } f(); i(); }; }; } }, r; }(); var La = function opsStringify(r) { return JSON.stringify(r, (function(r, e) { if (C(e)) { throw 0; } return e; })); }; var ka = function getPropByPath(r, e) { return r ? ("" + e).split(".").reduce((function(r, e) { return r && fr(r, e) ? r[e] : void 0; }), r) : void 0; }; var Va = { paddingAbsolute: false, showNativeOverlaidScrollbars: false, update: { elementEvents: [ [ "img", "load" ] ], debounce: [ 0, 33 ], attributes: null, ignoreMutation: null }, overflow: { x: "scroll", y: "scroll" }, scrollbars: { theme: "os-theme-dark", visibility: "auto", autoHide: "never", autoHideDelay: 1300, autoHideSuspend: false, dragScroll: true, clickScroll: false, pointers: [ "mouse", "touch", "pen" ] } }; var Ra = function getOptionsDiff(r, e) { var a = {}; var n = I(lr(e), lr(r)); each(n, (function(n) { var t = r[n]; var i = e[n]; if (E(t) && E(i)) { sr(a[n] = {}, Ra(t, i)); if (pr(a[n])) { delete a[n]; } } else if (fr(e, n) && i !== t) { var v = true; if (x(t) || x(i)) { try { if (La(t) === La(i)) { v = false; } } catch (o) {} } if (v) { a[n] = i; } } })); return a; }; var Fa = function createOptionCheck(r, e, a) { return function(n) { return [ ka(r, n), a || ka(e, n) !== void 0 ]; }; }; var Na; var ja = function getNonce() { return Na; }; var qa = function setNonce(r) { Na = r; }; var Ua; var Ba = function createEnvironment() { var r = function getNativeScrollbarSize(r, e, a) { Nr(document.body, r); Nr(document.body, r); var n = te(r); var t = ne(r); var i = ve(e); if (a) { Fr(r); } return { x: t.h - n.h + i.h, y: t.w - n.w + i.w }; }; var a = function getNativeScrollbarsHiding(r) { var e = false; var a = Hr(r, Fe); try { e = getStyles(r, "scrollbar-width") === "none" || getStyles(r, "display", "::-webkit-scrollbar") === "none"; } catch (n) {} a(); return e; }; var t = "." + Re + "{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}." + Re + " div{width:200%;height:200%;margin:10px 0}." + Fe + "{scrollbar-width:none!important}." + Fe + "::-webkit-scrollbar,." + Fe + "::-webkit-scrollbar-corner{appearance:none!important;display:none!important;width:0!important;height:0!important}"; var i = Yr('<div class="' + Re + '"><div></div><style>' + t + "</style></div>"); var v = i[0]; var o = v.firstChild; var u = v.lastChild; var c = ja(); if (c) { u.nonce = c; } var f = Ce(), l = f[0], s = f[2]; var d = e({ i: r(v, o), v: tr }, vr(r, v, o, true)), p = d[0], _ = d[1]; var g = _(), b = g[0]; var m = a(v); var S = { x: b.x === 0, y: b.y === 0 }; var y = { elements: { host: null, padding: !m, viewport: function viewport(r) { return m && Mr(r) && r; }, content: false }, scrollbars: { slot: true }, cancel: { nativeScrollbarsOverlaid: false, body: null } }; var w = sr({}, Va); var O = vr(sr, {}, w); var x = vr(sr, {}, y); var E = { j: b, k: S, N: m, $: !!h, J: vr(l, "r"), K: x, rr: function _setDefaultInitialization(r) { return sr(y, r) && x(); }, er: O, ar: function _setDefaultOptions(r) { return sr(w, r) && O(); }, nr: sr({}, y), tr: sr({}, w) }; yr(v, "style"); Fr(v); se(n, "resize", (function() { s("r", []); })); if (C(n.matchMedia) && !m && (!S.x || !S.y)) { var A = function addZoomListener(r) { var e = n.matchMedia("(resolution: " + n.devicePixelRatio + "dppx)"); se(e, "change", (function() { r(); A(r); }), { D: true }); }; A((function() { var r = p(), e = r[0], a = r[1]; sr(E.j, e); s("r", [ a ]); })); } return E; }; var Ya = function getEnvironment() { if (!Ua) { Ua = Ba(); } return Ua; }; var Wa = function createEventContentChange(r, e, a) { var n = false; var t = a ? new WeakMap : false; var i = function destroy() { n = true; }; var v = function updateElements(i) { if (t && a) { var v = a.map((function(e) { var a = e || [], n = a[0], t = a[1]; var v = t && n ? (i || Pr)(n, r) : []; return [ v, t ]; })); each(v, (function(a) { return each(a[0], (function(i) { var v = a[1]; var o = t.get(i) || []; var u = r.contains(i); if (u && v) { var c = se(i, v, (function(r) { if (n) { c(); t.delete(i); } else { e(r); } })); t.set(i, L(o, c)); } else { N(o); t.delete(i); } })); })); } }; v(); return [ i, v ]; }; var Xa = function createDOMObserver(r, e, a, n) { var t = false; var i = n || {}, v = i.ir, o = i.vr, u = i.ur, c = i.cr, f = i.lr, l = i.sr; var s = cr((function() { return t && a(true); }), { p: 33, _: 99 }); var d = Wa(r, s, u), _ = d[0], g = d[1]; var h = v || []; var b = o || []; var m = I(h, b); var S = function observerCallback(t, i) { if (!R(i)) { var v = f || _r; var o = l || _r; var u = []; var s = []; var d = false; var p = false; each(i, (function(a) { var t = a.attributeName, i = a.target, f = a.type, l = a.oldValue, _ = a.addedNodes, g = a.removedNodes; var h = f === "attributes"; var m = f === "childList"; var S = r === i; var y = h && t; var O = y && br(i, t || ""); var C = w(O) ? O : null; var x = y && l !== C; var E = M(b, t) && x; if (e && (m || !S)) { var A = h && x; var T = A && c && zr(i, c); var H = T ? !v(i, t, l, C) : !h || A; var P = H && !o(a, !!T, r, n); each(_, (function(r) { return L(u, r); })); each(g, (function(r) { return L(u, r); })); p = p || P; } if (!e && S && x && !v(i, t, l, C)) { L(s, t); d = d || E; } })); g((function(r) { return F(u).reduce((function(e, a) { L(e, Pr(r, a)); return zr(a, r) ? L(e, a) : e; }), []); })); if (e) { if (!t && p) { a(false); } return [ false ]; } if (!R(s) || d) { var _ = [ F(s), d ]; if (!t) { a.apply(0, _); } return _; } } }; var y = new p(vr(S, false)); return [ function() { y.observe(r, { attributes: true, attributeOldValue: true, attributeFilter: m, subtree: e, childList: e, characterData: e }); t = true; return function() { if (t) { _(); y.disconnect(); t = false; } }; }, function() { if (t) { s.O(); return S(true, y.takeRecords()); } } ]; }; var Za = null; var Ga = function createSizeObserver(r, a, n) { var t = n || {}, i = t.dr; var v = He(Ca); var o = e({ i: false, o: true }), u = o[0]; return function() { var e = []; var n = Yr('<div class="' + ea + '"><div class="' + na + '"></div></div>'); var t = n[0]; var o = t.firstChild; var c = function onSizeChangedCallbackProxy(r) { var e = x(r) && !R(r); var n = false; var t = false; if (e) { var i = r[0]; var v = u(i.contentRect), o = v[0], c = v[2]; var f = ce(o); t = fe(o, c); n = !t && !f; } else { t = r === true; } if (!n) { a({ pr: true, dr: t }); } }; if (g) { if (!O(Za)) { var f = new g(_r); f.observe(r, { get box() { Za = true; } }); Za = Za || false; f.disconnect(); } var l = cr(c, { p: 0, _: 0 }); var s = function resizeObserverCallback(r) { return l(r); }; var d = new g(s); d.observe(Za ? r : o); L(e, [ function() { d.disconnect(); }, !Za && Nr(r, t) ]); if (Za) { var p = new g(s); p.observe(r, { box: "border-box" }); L(e, (function() { return p.disconnect(); })); } } else if (v) { var _ = v(o, c, i), h = _[0], b = _[1]; L(e, I([ Hr(t, aa), se(t, "animationstart", h), Nr(r, t) ], b)); } else { return _r; } return vr(N, e); }; }; var $a = function createTrinsicObserver(r, a) { var n; var t = function isHeightIntrinsic(r) { return r.h === 0 || r.isIntersecting || r.intersectionRatio > 0; }; var i = Br(oa); var v = e({ i: false }), o = v[0]; var u = function triggerOnTrinsicChangedCallback(r, e) { if (r) { var n = o(t(r)); var i = n[1]; return i && !e && a(n) && [ n ]; } }; var c = function intersectionObserverCallback(r, e) { return u(e.pop(), r); }; return [ function() { var e = []; if (_) { n = new _(vr(c, false), { root: r }); n.observe(i); L(e, (function() { n.disconnect(); })); } else { var a = function onSizeChanged() { var r = ne(i); u(r); }; L(e, Ga(i, a)()); a(); } return vr(N, L(e, Nr(r, i))); }, function() { return n && c(true, n.takeRecords()); } ]; }; var Ja = function createObserversSetup(r, a, n, t) { var i; var v; var o; var u; var c; var f; var l = "[" + Ue + "]"; var s = "[" + Ye + "]"; var d = [ "id", "class", "style", "open", "wrap", "cols", "rows" ]; var p = r._r, _ = r.gr, h = r.F, b = r.hr, m = r.br, S = r.R, w = r.mr, O = r.Sr, E = r.yr, A = r.wr; var T = function getDirectionIsRTL(r) { return getStyles(r, "direction") === "rtl"; }; var H = { Or: false, B: T(p) }; var P = Ya(); var D = He(Da); var z = e({ v: nr, i: { w: 0, h: 0 } }, (function() { var e = D && D.V(r, a, H, P, n).Z; var t = w && S; var i = !t && Er(_, Ue, je); var v = !S && O(Ze); var o = v && he(b); var u = o && A(); var c = E(Ge, i); var f = v && e && e(); var l = ie(h); var s = ve(h); if (f) { f(); } ge(b, o); if (u) { u(); } if (i) { c(); } return { w: l.w + s.w, h: l.h + s.h }; })), M = z[0]; var L = cr(t, { p: function _debounceTiming() { return i; }, _: function _maxDebounceTiming() { return v; }, S: function _mergeParams(r, e) { var a = r[0]; var n = e[0]; return [ I(lr(a), lr(n)).reduce((function(r, e) { r[e] = a[e] || n[e]; return r; }), {}) ]; } }); var k = function setDirection(r) { var e = T(p); sr(r, { Cr: f !== e }); sr(H, { B: e }); f = e; }; var V = function onTrinsicChanged(r, e) { var a = r[0], n = r[1]; var i = { Er: n }; sr(H, { Or: a }); if (!e) { t(i); } return i; }; var R = function onSizeChanged(r) { var e = r.pr, a = r.dr; var n = e && !a; var i = !n && P.N ? L : t; var v = { pr: e || a, dr: a }; k(v); i(v); }; var F = function onContentMutation(r, e) { var a = M(), n = a[1]; var i = { Ar: n }; k(i); var v = r ? t : L; if (n && !e) { v(i); } return i; }; var N = function onHostMutation(r, e, a) { var n = { Tr: e }; k(n); if (e && !a) { L(n); } return n; }; var j = m ? $a(_, V) : [], q = j[0], U = j[1]; var B = !S && Ga(_, R, { dr: true }); var Y = Xa(_, false, N, { vr: d, ir: d }), W = Y[0], X = Y[1]; var Z = S && g && new g((function(r) { var e = r[r.length - 1].contentRect; R({ pr: true, dr: fe(e, c) }); c = e; })); var G = cr((function() { var r = M(), e = r[1]; t({ Ar: e }); }), { p: 222, m: true }); return [ function() { if (Z) { Z.observe(_); } var r = B && B(); var e = q && q(); var a = W(); var n = P.J((function(r) { if (r) { L({ Hr: r }); } else { G(); } })); return function() { if (Z) { Z.disconnect(); } if (r) { r(); } if (e) { e(); } if (u) { u(); } a(); n(); }; }, function(r) { var e = r.Pr, a = r.Dr, n = r.zr; var t = {}; var c = e("update.ignoreMutation"), f = c[0]; var p = e("update.attributes"), _ = p[0], g = p[1]; var b = e("update.elementEvents"), w = b[0], O = b[1]; var E = e("update.debounce"), A = E[0], T = E[1]; var H = O || g; var P = a || n; var D = function ignoreMutationFromOptions(r) { return C(f) && f(r); }; if (H) { if (o) { o(); } if (u) { u(); } var z = Xa(m || h, true, F, { ir: I(d, _ || []), ur: w, cr: l, sr: function _ignoreContentChange(r, e) { var a = r.target, n = r.attributeName; var t = !e && n && !S ? Rr(a, l, s) : false; return t || !!kr(a, "." + ca) || !!D(r); } }), M = z[0], R = z[1]; u = M(); o = R; } if (T) { L.O(); if (x(A)) { var j = A[0]; var q = A[1]; i = y(j) && j; v = y(q) && q; } else if (y(A)) { i = A; v = false; } else { i = false; v = false; } } if (P) { var B = X(); var Y = U && U(); var W = o && o(); if (B) { sr(t, N(B[0], B[1], P)); } if (Y) { sr(t, V(Y[0], P)); } if (W) { sr(t, F(W[0], P)); } } k(t); return t; }, H ]; }; var Ka = function resolveInitialization(r, e) { return C(e) ? e.apply(0, r) : e; }; var Qa = function staticInitializationElement(r, e, a, n) { var t = b(n) ? a : n; var i = Ka(r, t); return i || e.apply(0, r); }; var rn = function dynamicInitializationElement(r, e, a, n) { var t = b(n) ? a : n; var i = Ka(r, t); return !!i && (H(i) ? i : e.apply(0, r)); }; var en = function cancelInitialization(r, e) { var a = e || {}, n = a.nativeScrollbarsOverlaid, t = a.body; var i = Ya(), v = i.k, o = i.N, u = i.K; var c = u().cancel, f = c.nativeScrollbarsOverlaid, l = c.body; var s = n != null ? n : f; var d = b(t) ? l : t; var p = (v.x || v.y) && s; var _ = r && (m(d) ? !o : d); return !!p || !!_; }; var an = function createScrollbarsSetupElements(r, e, a, n) { var t = "--os-viewport-percent"; var i = "--os-scroll-percent"; var v = "--os-scroll-direction"; var o = Ya(), u = o.K; var c = u(), f = c.scrollbars; var l = f.slot; var s = e._r, d = e.gr, p = e.F, _ = e.Mr, g = e.hr, b = e.mr, m = e.R; var S = _ ? {} : r, y = S.scrollbars; var w = y || {}, C = w.slot; var x = []; var E = []; var A = []; var T = rn([ s, d, p ], (function() { return m && b ? s : d; }), l, C); var H = function initScrollTimeline(r) { if (h) { var e = null; var n = []; var t = new h({ source: g, axis: r }); var i = function cancelAnimation() { if (e) { e.cancel(); } e = null; }; var v = function _setScrollPercentAnimation(v) { var o = a.Ir; var u = Se(o)[r]; var c = r === "x"; var f = [ Kr(0, c), Kr("calc(100cq" + (c ? "w" : "h") + " + -100%)", c) ]; var l = u ? f : f.reverse(); if (n[0] === l[0] && n[1] === l[1]) { return i; } i(); n = l; e = v.Lr.animate({ clear: [ "left" ], transform: l }, { timeline: t }); return i; }; return { kr: v }; } }; var P = { x: H("x"), y: H("y") }; var D = function getViewportPercent() { var r = a.Vr, e = a.Rr; var n = function getAxisValue(r, e) { return gr(0, 1, r / (r + e) || 0); }; return { x: n(e.x, r.x), y: n(e.y, r.y) }; }; var z = function scrollbarStructureAddRemoveClass(r, e, a) { var n = a ? Hr : Tr; each(r, (function(r) { n(r.Fr, e); })); }; var M = function scrollbarStyle(r, e) { each(r, (function(r) { var a = e(r), n = a[0], t = a[1]; setStyles(n, t); })); }; var I = function scrollbarsAddRemoveClass(r, e, a) { var n = O(a); var t = n ? a : true; var i = n ? !a : true; if (t) { z(E, r, e); } if (i) { z(A, r, e); } }; var k = function refreshScrollbarsHandleLength() { var r = D(); var e = fun