diff --git a/.version b/.version index 686bba9a..7422eeba 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -v4.4.0 \ No newline at end of file +v4.5.0 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 156f5422..db95e81c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Change Log +## [v4.5.0](https://github.com/auth0/react-native-auth0/tree/v4.5.0) (2025-04-17) + +[Full Changelog](https://github.com/auth0/react-native-auth0/compare/v4.4.0...v4.5.0) + +**Added** + +- Update dependencies and enhance webAuth methods to support HTTPS [\#1125](https://github.com/auth0/react-native-auth0/pull/1125) ([subhankarmaiti](https://github.com/subhankarmaiti)) +- feat: add optional timeout prop to Auth0Provider for authentication requests [\#1124](https://github.com/auth0/react-native-auth0/pull/1124) ([subhankarmaiti](https://github.com/subhankarmaiti)) +- Updated Readme recommending App links [\#1094](https://github.com/auth0/react-native-auth0/pull/1094) ([pmathew92](https://github.com/pmathew92)) + +**Fixed** + +- Added deviceCredentialFallback default value [\#1098](https://github.com/auth0/react-native-auth0/pull/1098) ([subhankarmaiti](https://github.com/subhankarmaiti)) + +**Security** + +- fix: TypeDoc configuration and update dependencies [\#1139](https://github.com/auth0/react-native-auth0/pull/1139) ([subhankarmaiti](https://github.com/subhankarmaiti)) +- React Native Bob Builder config update for expo [\#1137](https://github.com/auth0/react-native-auth0/pull/1137) ([subhankarmaiti](https://github.com/subhankarmaiti)) +- Dependency version upgrades [\#1113](https://github.com/auth0/react-native-auth0/pull/1113) ([subhankarmaiti](https://github.com/subhankarmaiti)) +- Dependency and config update as per react-native-builder-bob [\#1097](https://github.com/auth0/react-native-auth0/pull/1097) ([subhankarmaiti](https://github.com/subhankarmaiti)) + ## [v4.4.0](https://github.com/auth0/react-native-auth0/tree/v4.4.0) (2025-02-19) [Full Changelog](https://github.com/auth0/react-native-auth0/compare/v4.3.0...v4.4.0) diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js new file mode 100644 index 00000000..9b539efa --- /dev/null +++ b/docs/assets/hierarchy.js @@ -0,0 +1,2 @@ +window.hierarchyData = + 'eJyNj8FqwzAQRP9lzkrqCMs2uiWlh57bW/BB2BssIktFWkNL8L8XN9i4pSE5LezO8N5eEEPgBH3MKyVkUdYCkU6OGrbBJ+gLZKam4U1P0Hi3PYWBX2IMEQJn61vonawEhuig0TiTEqWndW7bce8grjdocGo3U3FzXYwCsihXjINJdB/w9UFpu0TvMASazro2koc+ykzVE7TMV9D9wF32HDzTJ796pngyDS0CUhWzgJ2Ps8O/zZs+S336O6/UH4U3Nvw49if9AOr3+2Vej+P4Dc50qC0='; diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index 4f181dba..46cbe9e9 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -7,32 +7,22 @@ --dark-hl-2: #9cdcfe; --light-hl-3: #a31515; --dark-hl-3: #ce9178; - --light-hl-4: #008000; - --dark-hl-4: #6a9955; - --light-hl-5: #0000ff; - --dark-hl-5: #569cd6; - --light-hl-6: #000000ff; - --dark-hl-6: #d4d4d4; - --light-hl-7: #800000; - --dark-hl-7: #808080; - --light-hl-8: #800000; - --dark-hl-8: #569cd6; - --light-hl-9: #e50000; - --dark-hl-9: #9cdcfe; - --light-hl-10: #0000ff; - --dark-hl-10: #ce9178; - --light-hl-11: #af00db; - --dark-hl-11: #c586c0; - --light-hl-12: #267f99; - --dark-hl-12: #4ec9b0; - --light-hl-13: #795e26; - --dark-hl-13: #dcdcaa; - --light-hl-14: #0451a5; - --dark-hl-14: #9cdcfe; - --light-hl-15: #cd3131; - --dark-hl-15: #f44747; - --light-hl-16: #0070c1; - --dark-hl-16: #4fc1ff; + --light-hl-4: #0451a5; + --dark-hl-4: #9cdcfe; + --light-hl-5: #cd3131; + --dark-hl-5: #f44747; + --light-hl-6: #af00db; + --dark-hl-6: #c586c0; + --light-hl-7: #0000ff; + --dark-hl-7: #569cd6; + --light-hl-8: #0070c1; + --dark-hl-8: #4fc1ff; + --light-hl-9: #008000; + --dark-hl-9: #6a9955; + --light-hl-10: #795e26; + --dark-hl-10: #dcdcaa; + --light-hl-11: #267f99; + --dark-hl-11: #4ec9b0; --light-code-background: #ffffff; --dark-code-background: #1e1e1e; } @@ -51,11 +41,6 @@ --hl-9: var(--light-hl-9); --hl-10: var(--light-hl-10); --hl-11: var(--light-hl-11); - --hl-12: var(--light-hl-12); - --hl-13: var(--light-hl-13); - --hl-14: var(--light-hl-14); - --hl-15: var(--light-hl-15); - --hl-16: var(--light-hl-16); --code-background: var(--light-code-background); } } @@ -74,11 +59,6 @@ --hl-9: var(--dark-hl-9); --hl-10: var(--dark-hl-10); --hl-11: var(--dark-hl-11); - --hl-12: var(--dark-hl-12); - --hl-13: var(--dark-hl-13); - --hl-14: var(--dark-hl-14); - --hl-15: var(--dark-hl-15); - --hl-16: var(--dark-hl-16); --code-background: var(--dark-code-background); } } @@ -96,11 +76,6 @@ --hl-9: var(--light-hl-9); --hl-10: var(--light-hl-10); --hl-11: var(--light-hl-11); - --hl-12: var(--light-hl-12); - --hl-13: var(--light-hl-13); - --hl-14: var(--light-hl-14); - --hl-15: var(--light-hl-15); - --hl-16: var(--light-hl-16); --code-background: var(--light-code-background); } @@ -117,11 +92,6 @@ --hl-9: var(--dark-hl-9); --hl-10: var(--dark-hl-10); --hl-11: var(--dark-hl-11); - --hl-12: var(--dark-hl-12); - --hl-13: var(--dark-hl-13); - --hl-14: var(--dark-hl-14); - --hl-15: var(--dark-hl-15); - --hl-16: var(--dark-hl-16); --code-background: var(--dark-code-background); } @@ -161,21 +131,6 @@ .hl-11 { color: var(--hl-11); } -.hl-12 { - color: var(--hl-12); -} -.hl-13 { - color: var(--hl-13); -} -.hl-14 { - color: var(--hl-14); -} -.hl-15 { - color: var(--hl-15); -} -.hl-16 { - color: var(--hl-16); -} pre, code { background: var(--code-background); diff --git a/docs/assets/icons.js b/docs/assets/icons.js index 0d1c044c..20caa56f 100644 --- a/docs/assets/icons.js +++ b/docs/assets/icons.js @@ -1,20 +1,21 @@ -(function (svg) { - svg.innerHTML = ``; - svg.style.display = 'none'; - if (location.protocol === 'file:') { +(function () { + addIcons(); + function addIcons() { if (document.readyState === 'loading') - document.addEventListener('DOMContentLoaded', updateUseElements); - else updateUseElements(); - function updateUseElements() { - document.querySelectorAll('use').forEach((el) => { - if (el.getAttribute('href').includes('#icon-')) { - el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); - } - }); - } + return document.addEventListener('DOMContentLoaded', addIcons); + const svg = document.body.appendChild( + document.createElementNS('http://www.w3.org/2000/svg', 'svg') + ); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = 'none'; + if (location.protocol === 'file:') updateUseElements(); } -})( - document.body.appendChild( - document.createElementNS('http://www.w3.org/2000/svg', 'svg') - ) -); + + function updateUseElements() { + document.querySelectorAll('use').forEach((el) => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } +})(); diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg index 7dead611..50ad5799 100644 --- a/docs/assets/icons.svg +++ b/docs/assets/icons.svg @@ -1 +1 @@ - \ No newline at end of file +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js index 623d0d17..187af7cf 100644 --- a/docs/assets/main.js +++ b/docs/assets/main.js @@ -1,36 +1,71 @@ 'use strict'; -'use strict'; +window.translations = { + copy: 'Copy', + copied: 'Copied!', + normally_hidden: + 'This member is normally hidden due to your filter settings.', + hierarchy_expand: 'Expand', + hierarchy_collapse: 'Collapse', + folder: 'Folder', + search_index_not_available: 'The search index is not available', + search_no_results_found_for_0: 'No results found for {0}', + kind_1: 'Project', + kind_2: 'Module', + kind_4: 'Namespace', + kind_8: 'Enumeration', + kind_16: 'Enumeration Member', + kind_32: 'Variable', + kind_64: 'Function', + kind_128: 'Class', + kind_256: 'Interface', + kind_512: 'Constructor', + kind_1024: 'Property', + kind_2048: 'Method', + kind_4096: 'Call Signature', + kind_8192: 'Index Signature', + kind_16384: 'Constructor Signature', + kind_32768: 'Parameter', + kind_65536: 'Type Literal', + kind_131072: 'Type Parameter', + kind_262144: 'Accessor', + kind_524288: 'Get Signature', + kind_1048576: 'Set Signature', + kind_2097152: 'Type Alias', + kind_4194304: 'Reference', + kind_8388608: 'Document', +}; +('use strict'); (() => { - var Ce = Object.create; - var ne = Object.defineProperty; - var Pe = Object.getOwnPropertyDescriptor; - var Oe = Object.getOwnPropertyNames; - var _e = Object.getPrototypeOf, - Re = Object.prototype.hasOwnProperty; - var Me = (t, e) => () => ( + var Je = Object.create; + var he = Object.defineProperty; + var Ke = Object.getOwnPropertyDescriptor; + var Ge = Object.getOwnPropertyNames; + var Xe = Object.getPrototypeOf, + Ye = Object.prototype.hasOwnProperty; + var Ze = (t, e) => () => ( e || t((e = { exports: {} }).exports, e), e.exports ); - var Fe = (t, e, n, r) => { + var et = (t, e, n, r) => { if ((e && typeof e == 'object') || typeof e == 'function') - for (let i of Oe(e)) - !Re.call(t, i) && + for (let i of Ge(e)) + !Ye.call(t, i) && i !== n && - ne(t, i, { + he(t, i, { get: () => e[i], - enumerable: !(r = Pe(e, i)) || r.enumerable, + enumerable: !(r = Ke(e, i)) || r.enumerable, }); return t; }; - var De = (t, e, n) => ( - (n = t != null ? Ce(_e(t)) : {}), - Fe( + var tt = (t, e, n) => ( + (n = t != null ? Je(Xe(t)) : {}), + et( e || !t || !t.__esModule - ? ne(n, 'default', { value: t, enumerable: !0 }) + ? he(n, 'default', { value: t, enumerable: !0 }) : n, t ) ); - var ae = Me((se, oe) => { + var ye = Ze((me, ge) => { (function () { var t = function (e) { var n = new t.Builder(); @@ -149,10 +184,10 @@ return e === t.Set.complete ? t.Set.complete : e === t.Set.empty - ? this - : new t.Set( - Object.keys(this.elements).concat(Object.keys(e.elements)) - ); + ? this + : new t.Set( + Object.keys(this.elements).concat(Object.keys(e.elements)) + ); }), (t.idf = function (e, n) { var r = 0; @@ -182,9 +217,9 @@ (t.tokenizer = function (e, n) { if (e == null || e == null) return []; if (Array.isArray(e)) - return e.map(function (y) { + return e.map(function (f) { return new t.Token( - t.utils.asString(y).toLowerCase(), + t.utils.asString(f).toLowerCase(), t.utils.clone(n) ); }); @@ -197,12 +232,12 @@ o <= i; o++ ) { - var l = r.charAt(o), - u = o - a; - if (l.match(t.tokenizer.separator) || o == i) { - if (u > 0) { + var c = r.charAt(o), + l = o - a; + if (c.match(t.tokenizer.separator) || o == i) { + if (l > 0) { var d = t.utils.clone(n) || {}; - (d.position = [a, u]), + (d.position = [a, l]), (d.index = s.length), s.push(new t.Token(r.slice(a, o), d)); } @@ -270,7 +305,7 @@ var a = i(e[o], o, e); if (!(a == null || a === '')) if (Array.isArray(a)) - for (var l = 0; l < a.length; l++) s.push(a[l]); + for (var c = 0; c < a.length; c++) s.push(a[c]); else s.push(a); } e = s; @@ -339,19 +374,19 @@ s = r.length, o = i.length, a = 0, + c = 0, l = 0, - u = 0, d = 0; - u < s && d < o; + l < s && d < o; ) - (a = r[u]), - (l = i[d]), - a < l - ? (u += 2) - : a > l - ? (d += 2) - : a == l && ((n += r[u + 1] * i[d + 1]), (u += 2), (d += 2)); + (a = r[l]), + (c = i[d]), + a < c + ? (l += 2) + : a > c + ? (d += 2) + : a == c && ((n += r[l + 1] * i[d + 1]), (l += 2), (d += 2)); return n; }), (t.Vector.prototype.similarity = function (e) { @@ -407,100 +442,100 @@ s = r + '[^aeiouy]*', o = i + '[aeiou]*', a = '^(' + s + ')?' + o + s, - l = '^(' + s + ')?' + o + s + '(' + o + ')?$', - u = '^(' + s + ')?' + o + s + o + s, + c = '^(' + s + ')?' + o + s + '(' + o + ')?$', + l = '^(' + s + ')?' + o + s + o + s, d = '^(' + s + ')?' + i, - y = new RegExp(a), - p = new RegExp(u), - b = new RegExp(l), - g = new RegExp(d), - L = /^(.+?)(ss|i)es$/, - f = /^(.+?)([^s])s$/, - m = /^(.+?)eed$/, - S = /^(.+?)(ed|ing)$/, - w = /.$/, - k = /(at|bl|iz)$/, - _ = new RegExp('([^aeiouylsz])\\1$'), - B = new RegExp('^' + s + i + '[^aeiouwxy]$'), - A = /^(.+?[^aeiou])y$/, - j = + f = new RegExp(a), + p = new RegExp(l), + v = new RegExp(c), + x = new RegExp(d), + w = /^(.+?)(ss|i)es$/, + m = /^(.+?)([^s])s$/, + g = /^(.+?)eed$/, + T = /^(.+?)(ed|ing)$/, + L = /.$/, + C = /(at|bl|iz)$/, + M = new RegExp('([^aeiouylsz])\\1$'), + j = new RegExp('^' + s + i + '[^aeiouwxy]$'), + N = /^(.+?[^aeiou])y$/, + q = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/, - $ = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/, - V = + W = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/, + B = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/, - q = /^(.+?)(s|t)(ion)$/, - C = /^(.+?)e$/, - z = /ll$/, - W = new RegExp('^' + s + i + '[^aeiouwxy]$'), - N = function (c) { - var v, P, T, h, x, O, M; - if (c.length < 3) return c; + z = /^(.+?)(s|t)(ion)$/, + _ = /^(.+?)e$/, + U = /ll$/, + J = new RegExp('^' + s + i + '[^aeiouwxy]$'), + V = function (u) { + var y, P, k, h, E, Q, H; + if (u.length < 3) return u; if ( - ((T = c.substr(0, 1)), - T == 'y' && (c = T.toUpperCase() + c.substr(1)), - (h = L), - (x = f), - h.test(c) - ? (c = c.replace(h, '$1$2')) - : x.test(c) && (c = c.replace(x, '$1$2')), - (h = m), - (x = S), - h.test(c)) + ((k = u.substr(0, 1)), + k == 'y' && (u = k.toUpperCase() + u.substr(1)), + (h = w), + (E = m), + h.test(u) + ? (u = u.replace(h, '$1$2')) + : E.test(u) && (u = u.replace(E, '$1$2')), + (h = g), + (E = T), + h.test(u)) ) { - var E = h.exec(c); - (h = y), h.test(E[1]) && ((h = w), (c = c.replace(h, ''))); - } else if (x.test(c)) { - var E = x.exec(c); - (v = E[1]), - (x = g), - x.test(v) && - ((c = v), - (x = k), - (O = _), - (M = B), - x.test(c) - ? (c = c + 'e') - : O.test(c) - ? ((h = w), (c = c.replace(h, ''))) - : M.test(c) && (c = c + 'e')); + var b = h.exec(u); + (h = f), h.test(b[1]) && ((h = L), (u = u.replace(h, ''))); + } else if (E.test(u)) { + var b = E.exec(u); + (y = b[1]), + (E = x), + E.test(y) && + ((u = y), + (E = C), + (Q = M), + (H = j), + E.test(u) + ? (u = u + 'e') + : Q.test(u) + ? ((h = L), (u = u.replace(h, ''))) + : H.test(u) && (u = u + 'e')); } - if (((h = A), h.test(c))) { - var E = h.exec(c); - (v = E[1]), (c = v + 'i'); + if (((h = N), h.test(u))) { + var b = h.exec(u); + (y = b[1]), (u = y + 'i'); } - if (((h = j), h.test(c))) { - var E = h.exec(c); - (v = E[1]), (P = E[2]), (h = y), h.test(v) && (c = v + e[P]); + if (((h = q), h.test(u))) { + var b = h.exec(u); + (y = b[1]), (P = b[2]), (h = f), h.test(y) && (u = y + e[P]); } - if (((h = $), h.test(c))) { - var E = h.exec(c); - (v = E[1]), (P = E[2]), (h = y), h.test(v) && (c = v + n[P]); + if (((h = W), h.test(u))) { + var b = h.exec(u); + (y = b[1]), (P = b[2]), (h = f), h.test(y) && (u = y + n[P]); } - if (((h = V), (x = q), h.test(c))) { - var E = h.exec(c); - (v = E[1]), (h = p), h.test(v) && (c = v); - } else if (x.test(c)) { - var E = x.exec(c); - (v = E[1] + E[2]), (x = p), x.test(v) && (c = v); + if (((h = B), (E = z), h.test(u))) { + var b = h.exec(u); + (y = b[1]), (h = p), h.test(y) && (u = y); + } else if (E.test(u)) { + var b = E.exec(u); + (y = b[1] + b[2]), (E = p), E.test(y) && (u = y); } - if (((h = C), h.test(c))) { - var E = h.exec(c); - (v = E[1]), + if (((h = _), h.test(u))) { + var b = h.exec(u); + (y = b[1]), (h = p), - (x = b), - (O = W), - (h.test(v) || (x.test(v) && !O.test(v))) && (c = v); + (E = v), + (Q = J), + (h.test(y) || (E.test(y) && !Q.test(y))) && (u = y); } return ( - (h = z), - (x = p), - h.test(c) && x.test(c) && ((h = w), (c = c.replace(h, ''))), - T == 'y' && (c = T.toLowerCase() + c.substr(1)), - c + (h = U), + (E = p), + h.test(u) && E.test(u) && ((h = L), (u = u.replace(h, ''))), + k == 'y' && (u = k.toLowerCase() + u.substr(1)), + u ); }; - return function (R) { - return R.update(N); + return function (A) { + return A.update(V); }; })()), t.Pipeline.registerFunction(t.stemmer, 'stemmer'); @@ -683,15 +718,15 @@ }); } if (s.editsRemaining != 0) { - if ('*' in s.node.edges) var l = s.node.edges['*']; + if ('*' in s.node.edges) var c = s.node.edges['*']; else { - var l = new t.TokenSet(); - s.node.edges['*'] = l; + var c = new t.TokenSet(); + s.node.edges['*'] = c; } if ( - (s.str.length == 0 && (l.final = !0), + (s.str.length == 0 && (c.final = !0), i.push({ - node: l, + node: c, editsRemaining: s.editsRemaining - 1, str: s.str, }), @@ -704,25 +739,25 @@ s.str.length == 1 && (s.node.final = !0), s.str.length >= 1) ) { - if ('*' in s.node.edges) var u = s.node.edges['*']; + if ('*' in s.node.edges) var l = s.node.edges['*']; else { - var u = new t.TokenSet(); - s.node.edges['*'] = u; + var l = new t.TokenSet(); + s.node.edges['*'] = l; } - s.str.length == 1 && (u.final = !0), + s.str.length == 1 && (l.final = !0), i.push({ - node: u, + node: l, editsRemaining: s.editsRemaining - 1, str: s.str.slice(1), }); } if (s.str.length > 1) { var d = s.str.charAt(0), - y = s.str.charAt(1), + f = s.str.charAt(1), p; - y in s.node.edges - ? (p = s.node.edges[y]) - : ((p = new t.TokenSet()), (s.node.edges[y] = p)), + f in s.node.edges + ? (p = s.node.edges[f]) + : ((p = new t.TokenSet()), (s.node.edges[f] = p)), s.str.length == 1 && (p.final = !0), i.push({ node: p, @@ -744,8 +779,8 @@ a = i == s - 1; if (o == '*') (n.edges[o] = n), (n.final = a); else { - var l = new t.TokenSet(); - (l.final = a), (n.edges[o] = l), (n = l); + var c = new t.TokenSet(); + (c.final = a), (n.edges[o] = c), (n = c); } } return r; @@ -792,24 +827,24 @@ var s = Object.keys(r.qNode.edges), o = s.length, a = Object.keys(r.node.edges), - l = a.length, - u = 0; - u < o; - u++ + c = a.length, + l = 0; + l < o; + l++ ) - for (var d = s[u], y = 0; y < l; y++) { - var p = a[y]; + for (var d = s[l], f = 0; f < c; f++) { + var p = a[f]; if (p == d || d == '*') { - var b = r.node.edges[p], - g = r.qNode.edges[d], - L = b.final && g.final, - f = void 0; + var v = r.node.edges[p], + x = r.qNode.edges[d], + w = v.final && x.final, + m = void 0; p in r.output.edges - ? ((f = r.output.edges[p]), (f.final = f.final || L)) - : ((f = new t.TokenSet()), - (f.final = L), - (r.output.edges[p] = f)), - i.push({ qNode: g, output: f, node: b }); + ? ((m = r.output.edges[p]), (m.final = m.final || w)) + : ((m = new t.TokenSet()), + (m.final = w), + (r.output.edges[p] = m)), + i.push({ qNode: x, output: m, node: v }); } } } @@ -881,113 +916,113 @@ s = Object.create(null), o = Object.create(null), a = Object.create(null), - l = 0; - l < this.fields.length; - l++ + c = 0; + c < this.fields.length; + c++ ) - i[this.fields[l]] = new t.Vector(); + i[this.fields[c]] = new t.Vector(); e.call(n, n); - for (var l = 0; l < n.clauses.length; l++) { - var u = n.clauses[l], + for (var c = 0; c < n.clauses.length; c++) { + var l = n.clauses[c], d = null, - y = t.Set.empty; - u.usePipeline - ? (d = this.pipeline.runString(u.term, { fields: u.fields })) - : (d = [u.term]); + f = t.Set.empty; + l.usePipeline + ? (d = this.pipeline.runString(l.term, { fields: l.fields })) + : (d = [l.term]); for (var p = 0; p < d.length; p++) { - var b = d[p]; - u.term = b; - var g = t.TokenSet.fromClause(u), - L = this.tokenSet.intersect(g).toArray(); - if (L.length === 0 && u.presence === t.Query.presence.REQUIRED) { - for (var f = 0; f < u.fields.length; f++) { - var m = u.fields[f]; - o[m] = t.Set.empty; + var v = d[p]; + l.term = v; + var x = t.TokenSet.fromClause(l), + w = this.tokenSet.intersect(x).toArray(); + if (w.length === 0 && l.presence === t.Query.presence.REQUIRED) { + for (var m = 0; m < l.fields.length; m++) { + var g = l.fields[m]; + o[g] = t.Set.empty; } break; } - for (var S = 0; S < L.length; S++) + for (var T = 0; T < w.length; T++) for ( - var w = L[S], k = this.invertedIndex[w], _ = k._index, f = 0; - f < u.fields.length; - f++ + var L = w[T], C = this.invertedIndex[L], M = C._index, m = 0; + m < l.fields.length; + m++ ) { - var m = u.fields[f], - B = k[m], - A = Object.keys(B), - j = w + '/' + m, - $ = new t.Set(A); + var g = l.fields[m], + j = C[g], + N = Object.keys(j), + q = L + '/' + g, + W = new t.Set(N); if ( - (u.presence == t.Query.presence.REQUIRED && - ((y = y.union($)), - o[m] === void 0 && (o[m] = t.Set.complete)), - u.presence == t.Query.presence.PROHIBITED) + (l.presence == t.Query.presence.REQUIRED && + ((f = f.union(W)), + o[g] === void 0 && (o[g] = t.Set.complete)), + l.presence == t.Query.presence.PROHIBITED) ) { - a[m] === void 0 && (a[m] = t.Set.empty), - (a[m] = a[m].union($)); + a[g] === void 0 && (a[g] = t.Set.empty), + (a[g] = a[g].union(W)); continue; } if ( - (i[m].upsert(_, u.boost, function (Qe, Ie) { - return Qe + Ie; + (i[g].upsert(M, l.boost, function (ze, Ue) { + return ze + Ue; }), - !s[j]) + !s[q]) ) { - for (var V = 0; V < A.length; V++) { - var q = A[V], - C = new t.FieldRef(q, m), - z = B[q], - W; - (W = r[C]) === void 0 - ? (r[C] = new t.MatchData(w, m, z)) - : W.add(w, m, z); + for (var B = 0; B < N.length; B++) { + var z = N[B], + _ = new t.FieldRef(z, g), + U = j[z], + J; + (J = r[_]) === void 0 + ? (r[_] = new t.MatchData(L, g, U)) + : J.add(L, g, U); } - s[j] = !0; + s[q] = !0; } } } - if (u.presence === t.Query.presence.REQUIRED) - for (var f = 0; f < u.fields.length; f++) { - var m = u.fields[f]; - o[m] = o[m].intersect(y); + if (l.presence === t.Query.presence.REQUIRED) + for (var m = 0; m < l.fields.length; m++) { + var g = l.fields[m]; + o[g] = o[g].intersect(f); } } for ( - var N = t.Set.complete, R = t.Set.empty, l = 0; - l < this.fields.length; - l++ + var V = t.Set.complete, A = t.Set.empty, c = 0; + c < this.fields.length; + c++ ) { - var m = this.fields[l]; - o[m] && (N = N.intersect(o[m])), a[m] && (R = R.union(a[m])); + var g = this.fields[c]; + o[g] && (V = V.intersect(o[g])), a[g] && (A = A.union(a[g])); } - var c = Object.keys(r), - v = [], + var u = Object.keys(r), + y = [], P = Object.create(null); if (n.isNegated()) { - c = Object.keys(this.fieldVectors); - for (var l = 0; l < c.length; l++) { - var C = c[l], - T = t.FieldRef.fromString(C); - r[C] = new t.MatchData(); + u = Object.keys(this.fieldVectors); + for (var c = 0; c < u.length; c++) { + var _ = u[c], + k = t.FieldRef.fromString(_); + r[_] = new t.MatchData(); } } - for (var l = 0; l < c.length; l++) { - var T = t.FieldRef.fromString(c[l]), - h = T.docRef; - if (N.contains(h) && !R.contains(h)) { - var x = this.fieldVectors[T], - O = i[T.fieldName].similarity(x), - M; - if ((M = P[h]) !== void 0) - (M.score += O), M.matchData.combine(r[T]); + for (var c = 0; c < u.length; c++) { + var k = t.FieldRef.fromString(u[c]), + h = k.docRef; + if (V.contains(h) && !A.contains(h)) { + var E = this.fieldVectors[k], + Q = i[k.fieldName].similarity(E), + H; + if ((H = P[h]) !== void 0) + (H.score += Q), H.matchData.combine(r[k]); else { - var E = { ref: h, score: O, matchData: r[T] }; - (P[h] = E), v.push(E); + var b = { ref: h, score: Q, matchData: r[k] }; + (P[h] = b), y.push(b); } } } - return v.sort(function (Te, ke) { - return ke.score - Te.score; + return y.sort(function (qe, We) { + return We.score - qe.score; }); }), (t.Index.prototype.toJSON = function () { @@ -1014,7 +1049,7 @@ s = Object.create(null), o = e.invertedIndex, a = new t.TokenSet.Builder(), - l = t.Pipeline.load(e.pipeline); + c = t.Pipeline.load(e.pipeline); e.version != t.version && t.utils.warn( "Version mismatch when loading serialised index. Current version of lunr '" + @@ -1023,17 +1058,17 @@ e.version + "'" ); - for (var u = 0; u < i.length; u++) { - var d = i[u], - y = d[0], + for (var l = 0; l < i.length; l++) { + var d = i[l], + f = d[0], p = d[1]; - r[y] = new t.Vector(p); + r[f] = new t.Vector(p); } - for (var u = 0; u < o.length; u++) { - var d = o[u], - b = d[0], - g = d[1]; - a.insert(b), (s[b] = g); + for (var l = 0; l < o.length; l++) { + var d = o[l], + v = d[0], + x = d[1]; + a.insert(v), (s[v] = x); } return ( a.finish(), @@ -1041,7 +1076,7 @@ (n.fieldVectors = r), (n.invertedIndex = s), (n.tokenSet = a.root), - (n.pipeline = l), + (n.pipeline = c), new t.Index(n) ); }); @@ -1084,35 +1119,35 @@ for (var s = 0; s < i.length; s++) { var o = i[s], a = this._fields[o].extractor, - l = a ? a(e) : e[o], - u = this.tokenizer(l, { fields: [o] }), - d = this.pipeline.run(u), - y = new t.FieldRef(r, o), + c = a ? a(e) : e[o], + l = this.tokenizer(c, { fields: [o] }), + d = this.pipeline.run(l), + f = new t.FieldRef(r, o), p = Object.create(null); - (this.fieldTermFrequencies[y] = p), - (this.fieldLengths[y] = 0), - (this.fieldLengths[y] += d.length); - for (var b = 0; b < d.length; b++) { - var g = d[b]; + (this.fieldTermFrequencies[f] = p), + (this.fieldLengths[f] = 0), + (this.fieldLengths[f] += d.length); + for (var v = 0; v < d.length; v++) { + var x = d[v]; if ( - (p[g] == null && (p[g] = 0), - (p[g] += 1), - this.invertedIndex[g] == null) + (p[x] == null && (p[x] = 0), + (p[x] += 1), + this.invertedIndex[x] == null) ) { - var L = Object.create(null); - (L._index = this.termIndex), (this.termIndex += 1); - for (var f = 0; f < i.length; f++) - L[i[f]] = Object.create(null); - this.invertedIndex[g] = L; + var w = Object.create(null); + (w._index = this.termIndex), (this.termIndex += 1); + for (var m = 0; m < i.length; m++) + w[i[m]] = Object.create(null); + this.invertedIndex[x] = w; } - this.invertedIndex[g][o][r] == null && - (this.invertedIndex[g][o][r] = Object.create(null)); - for (var m = 0; m < this.metadataWhitelist.length; m++) { - var S = this.metadataWhitelist[m], - w = g.metadata[S]; - this.invertedIndex[g][o][r][S] == null && - (this.invertedIndex[g][o][r][S] = []), - this.invertedIndex[g][o][r][S].push(w); + this.invertedIndex[x][o][r] == null && + (this.invertedIndex[x][o][r] = Object.create(null)); + for (var g = 0; g < this.metadataWhitelist.length; g++) { + var T = this.metadataWhitelist[g], + L = x.metadata[T]; + this.invertedIndex[x][o][r][T] == null && + (this.invertedIndex[x][o][r][T] = []), + this.invertedIndex[x][o][r][T].push(L); } } } @@ -1134,9 +1169,9 @@ r[a] || (r[a] = 0), (r[a] += this.fieldLengths[o]); } - for (var l = Object.keys(this._fields), s = 0; s < l.length; s++) { - var u = l[s]; - r[u] = r[u] / i[u]; + for (var c = Object.keys(this._fields), s = 0; s < c.length; s++) { + var l = c[s]; + r[l] = r[l] / i[l]; } this.averageFieldLength = r; }), @@ -1153,38 +1188,38 @@ for ( var o = t.FieldRef.fromString(n[s]), a = o.fieldName, - l = this.fieldLengths[o], - u = new t.Vector(), + c = this.fieldLengths[o], + l = new t.Vector(), d = this.fieldTermFrequencies[o], - y = Object.keys(d), - p = y.length, - b = this._fields[a].boost || 1, - g = this._documents[o.docRef].boost || 1, - L = 0; - L < p; - L++ + f = Object.keys(d), + p = f.length, + v = this._fields[a].boost || 1, + x = this._documents[o.docRef].boost || 1, + w = 0; + w < p; + w++ ) { - var f = y[L], - m = d[f], - S = this.invertedIndex[f]._index, - w, - k, - _; - i[f] === void 0 - ? ((w = t.idf(this.invertedIndex[f], this.documentCount)), - (i[f] = w)) - : (w = i[f]), - (k = - (w * ((this._k1 + 1) * m)) / + var m = f[w], + g = d[m], + T = this.invertedIndex[m]._index, + L, + C, + M; + i[m] === void 0 + ? ((L = t.idf(this.invertedIndex[m], this.documentCount)), + (i[m] = L)) + : (L = i[m]), + (C = + (L * ((this._k1 + 1) * g)) / (this._k1 * - (1 - this._b + this._b * (l / this.averageFieldLength[a])) + - m)), - (k *= b), - (k *= g), - (_ = Math.round(k * 1e3) / 1e3), - u.insert(S, _); + (1 - this._b + this._b * (c / this.averageFieldLength[a])) + + g)), + (C *= v), + (C *= x), + (M = Math.round(C * 1e3) / 1e3), + l.insert(T, M); } - e[o] = u; + e[o] = l; } this.fieldVectors = e; }), @@ -1233,11 +1268,11 @@ (this.metadata[i] = Object.create(null)); for (var o = 0; o < s.length; o++) { var a = s[o], - l = Object.keys(e.metadata[i][a]); + c = Object.keys(e.metadata[i][a]); this.metadata[i][a] == null && (this.metadata[i][a] = Object.create(null)); - for (var u = 0; u < l.length; u++) { - var d = l[u]; + for (var l = 0; l < c.length; l++) { + var d = c[l]; this.metadata[i][a][d] == null ? (this.metadata[i][a][d] = e.metadata[i][a][d]) : (this.metadata[i][a][d] = this.metadata[i][a][d].concat( @@ -1631,21 +1666,93 @@ (function (e, n) { typeof define == 'function' && define.amd ? define(n) - : typeof se == 'object' - ? (oe.exports = n()) - : (e.lunr = n()); + : typeof me == 'object' + ? (ge.exports = n()) + : (e.lunr = n()); })(this, function () { return t; }); })(); }); - var re = []; - function G(t, e) { - re.push({ selector: e, constructor: t }); + var O, + G = { + getItem() { + return null; + }, + setItem() {}, + }, + K; + try { + (K = localStorage), (O = K); + } catch { + (K = G), (O = G); + } + var S = { + getItem: (t) => O.getItem(t), + setItem: (t, e) => O.setItem(t, e), + disableWritingLocalStorage() { + O = G; + }, + disable() { + localStorage.clear(), (O = G); + }, + enable() { + O = K; + }, + }; + window.TypeDoc ||= { + disableWritingLocalStorage() { + S.disableWritingLocalStorage(); + }, + disableLocalStorage: () => { + S.disable(); + }, + enableLocalStorage: () => { + S.enable(); + }, + }; + window.translations ||= { + copy: 'Copy', + copied: 'Copied!', + normally_hidden: + 'This member is normally hidden due to your filter settings.', + hierarchy_expand: 'Expand', + hierarchy_collapse: 'Collapse', + search_index_not_available: 'The search index is not available', + search_no_results_found_for_0: 'No results found for {0}', + folder: 'Folder', + kind_1: 'Project', + kind_2: 'Module', + kind_4: 'Namespace', + kind_8: 'Enumeration', + kind_16: 'Enumeration Member', + kind_32: 'Variable', + kind_64: 'Function', + kind_128: 'Class', + kind_256: 'Interface', + kind_512: 'Constructor', + kind_1024: 'Property', + kind_2048: 'Method', + kind_4096: 'Call Signature', + kind_8192: 'Index Signature', + kind_16384: 'Constructor Signature', + kind_32768: 'Parameter', + kind_65536: 'Type Literal', + kind_131072: 'Type Parameter', + kind_262144: 'Accessor', + kind_524288: 'Get Signature', + kind_1048576: 'Set Signature', + kind_2097152: 'Type Alias', + kind_4194304: 'Reference', + kind_8388608: 'Document', + }; + var pe = []; + function Y(t, e) { + pe.push({ selector: e, constructor: t }); } - var U = class { + var X = class { + alwaysVisibleMember = null; constructor() { - this.alwaysVisibleMember = null; this.createComponents(document.body), this.ensureFocusedElementVisible(), this.listenForCodeCopies(), @@ -1658,7 +1765,7 @@ this.scrollToHash()); } createComponents(e) { - re.forEach((n) => { + pe.forEach((n) => { e.querySelectorAll(n.selector).forEach((r) => { r.dataset.hasInstance || (new n.constructor({ el: r, app: this }), @@ -1671,15 +1778,13 @@ } showPage() { document.body.style.display && - (console.log('Show page'), - document.body.style.removeProperty('display'), + (document.body.style.removeProperty('display'), this.ensureFocusedElementVisible(), this.updateIndexVisibility(), this.scrollToHash()); } scrollToHash() { if (location.hash) { - console.log('Scorlling'); let e = document.getElementById(location.hash.substring(1)); if (!e) return; e.scrollIntoView({ behavior: 'instant', block: 'start' }); @@ -1690,11 +1795,12 @@ n = e?.parentElement; for (; n && !n.classList.contains('.tsd-navigation'); ) n instanceof HTMLDetailsElement && (n.open = !0), (n = n.parentElement); - if (e && !e.checkVisibility()) { + if (e && !nt(e)) { let r = e.getBoundingClientRect().top - document.documentElement.clientHeight / 4; - document.querySelector('.site-menu').scrollTop = r; + (document.querySelector('.site-menu').scrollTop = r), + (document.querySelector('.col-sidebar').scrollTop = r); } } updateIndexVisibility() { @@ -1723,14 +1829,19 @@ if (!e) return; let n = e.parentElement; for (; n && n.tagName !== 'SECTION'; ) n = n.parentElement; - if (n && n.offsetParent == null) { + if (!n) return; + let r = n.offsetParent == null, + i = n; + for (; i !== document.body; ) + i instanceof HTMLDetailsElement && (i.open = !0), (i = i.parentElement); + if (n.offsetParent == null) { (this.alwaysVisibleMember = n), n.classList.add('always-visible'); - let r = document.createElement('p'); - r.classList.add('warning'), - (r.textContent = - 'This member is normally hidden due to your filter settings.'), - n.prepend(r); + let s = document.createElement('p'); + s.classList.add('warning'), + (s.textContent = window.translations.normally_hidden), + n.prepend(s); } + r && e.scrollIntoView(); } listenForCodeCopies() { document.querySelectorAll('pre > button').forEach((e) => { @@ -1740,170 +1851,295 @@ navigator.clipboard.writeText( e.previousElementSibling.innerText.trim() ), - (e.textContent = 'Copied!'), + (e.textContent = window.translations.copied), e.classList.add('visible'), clearTimeout(n), (n = setTimeout(() => { e.classList.remove('visible'), (n = setTimeout(() => { - e.textContent = 'Copy'; + e.textContent = window.translations.copy; }, 100)); }, 1e3)); }); }); } }; - var ie = (t, e = 100) => { + function nt(t) { + let e = t.getBoundingClientRect(), + n = Math.max(document.documentElement.clientHeight, window.innerHeight); + return !(e.bottom < 0 || e.top - n >= 0); + } + var fe = (t, e = 100) => { let n; return () => { clearTimeout(n), (n = setTimeout(() => t(), e)); }; }; - var de = De(ae()); - async function le(t, e) { - if (!window.searchData) return; - let n = await fetch(window.searchData), - r = new Blob([await n.arrayBuffer()]) + var Ie = tt(ye(), 1); + async function R(t) { + let e = Uint8Array.from(atob(t), (s) => s.charCodeAt(0)), + r = new Blob([e]) .stream() - .pipeThrough(new DecompressionStream('gzip')), - i = await new Response(r).json(); - (t.data = i), - (t.index = de.Index.load(i.index)), - e.classList.remove('loading'), - e.classList.add('ready'); + .pipeThrough(new DecompressionStream('deflate')), + i = await new Response(r).text(); + return JSON.parse(i); } - function he() { - let t = document.getElementById('tsd-search'); - if (!t) return; - let e = { base: t.dataset.base + '/' }, - n = document.getElementById('tsd-search-script'); - t.classList.add('loading'), - n && - (n.addEventListener('error', () => { - t.classList.remove('loading'), t.classList.add('failure'); - }), - n.addEventListener('load', () => { - le(e, t); - }), - le(e, t)); - let r = document.querySelector('#tsd-search input'), - i = document.querySelector('#tsd-search .results'); - if (!r || !i) - throw new Error( - 'The input field or the result list wrapper was not found' - ); - let s = !1; - i.addEventListener('mousedown', () => (s = !0)), - i.addEventListener('mouseup', () => { - (s = !1), t.classList.remove('has-focus'); - }), - r.addEventListener('focus', () => t.classList.add('has-focus')), - r.addEventListener('blur', () => { - s || ((s = !1), t.classList.remove('has-focus')); - }), - Ae(t, i, r, e); + var Z = 'closing', + ae = 'tsd-overlay'; + function rt() { + let t = Math.abs(window.innerWidth - document.documentElement.clientWidth); + (document.body.style.overflow = 'hidden'), + (document.body.style.paddingRight = `${t}px`); } - function Ae(t, e, n, r) { - n.addEventListener( - 'input', - ie(() => { - Ve(t, e, n, r); - }, 200) - ); - let i = !1; - n.addEventListener('keydown', (s) => { - (i = !0), - s.key == 'Enter' - ? Ne(e, n) - : s.key == 'Escape' - ? n.blur() - : s.key == 'ArrowUp' - ? ue(e, -1) - : s.key === 'ArrowDown' - ? ue(e, 1) - : (i = !1); + function it() { + document.body.style.removeProperty('overflow'), + document.body.style.removeProperty('padding-right'); + } + function xe(t, e) { + t.addEventListener('animationend', () => { + t.classList.contains(Z) && + (t.classList.remove(Z), + document.getElementById(ae)?.remove(), + t.close(), + it()); }), - n.addEventListener('keypress', (s) => { - i && s.preventDefault(); + t.addEventListener('cancel', (n) => { + n.preventDefault(), ve(t); + }), + e?.closeOnClick && + document.addEventListener( + 'click', + (n) => { + t.open && !t.contains(n.target) && ve(t); + }, + !0 + ); + } + function Ee(t) { + if (t.open) return; + let e = document.createElement('div'); + (e.id = ae), document.body.appendChild(e), t.showModal(), rt(); + } + function ve(t) { + if (!t.open) return; + document.getElementById(ae)?.classList.add(Z), t.classList.add(Z); + } + var I = class { + el; + app; + constructor(e) { + (this.el = e.el), (this.app = e.app); + } + }; + var be = document.head.appendChild(document.createElement('style')); + be.dataset.for = 'filters'; + var le = {}; + function we(t) { + for (let e of t.split(/\s+/)) if (le.hasOwnProperty(e) && !le[e]) return !0; + return !1; + } + var ee = class extends I { + key; + value; + constructor(e) { + super(e), + (this.key = `filter-${this.el.name}`), + (this.value = this.el.checked), + this.el.addEventListener('change', () => { + this.setLocalStorage(this.el.checked); + }), + this.setLocalStorage(this.fromLocalStorage()), + (be.innerHTML += `html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`), + this.app.updateIndexVisibility(); + } + fromLocalStorage() { + let e = S.getItem(this.key); + return e ? e === 'true' : this.el.checked; + } + setLocalStorage(e) { + S.setItem(this.key, e.toString()), + (this.value = e), + this.handleValueChange(); + } + handleValueChange() { + (this.el.checked = this.value), + document.documentElement.classList.toggle(this.key, this.value), + (le[`tsd-is-${this.el.name}`] = this.value), + this.app.filterChanged(), + this.app.updateIndexVisibility(); + } + }; + var Le = 0; + async function Se(t, e) { + if (!window.searchData) return; + let n = await R(window.searchData); + (t.data = n), (t.index = Ie.Index.load(n.index)), (e.innerHTML = ''); + } + function _e() { + let t = document.getElementById('tsd-search-trigger'), + e = document.getElementById('tsd-search'), + n = document.getElementById('tsd-search-input'), + r = document.getElementById('tsd-search-results'), + i = document.getElementById('tsd-search-script'), + s = document.getElementById('tsd-search-status'); + if (!(t && e && n && r && i && s)) + throw new Error('Search controls missing'); + let o = { base: document.documentElement.dataset.base }; + o.base.endsWith('/') || (o.base += '/'), + i.addEventListener('error', () => { + let a = window.translations.search_index_not_available; + Pe(s, a); }), - document.body.addEventListener('keydown', (s) => { - s.altKey || - s.ctrlKey || - s.metaKey || - (!n.matches(':focus') && - s.key === '/' && - (n.focus(), s.preventDefault())); + i.addEventListener('load', () => { + Se(o, s); + }), + Se(o, s), + st({ trigger: t, searchEl: e, results: r, field: n, status: s }, o); + } + function st(t, e) { + let { field: n, results: r, searchEl: i, status: s, trigger: o } = t; + xe(i, { closeOnClick: !0 }); + function a() { + Ee(i), n.setSelectionRange(0, n.value.length); + } + o.addEventListener('click', a), + n.addEventListener( + 'input', + fe(() => { + ot(r, n, s, e); + }, 200) + ), + n.addEventListener('keydown', (l) => { + if (r.childElementCount === 0 || l.ctrlKey || l.metaKey || l.altKey) + return; + let d = n.getAttribute('aria-activedescendant'), + f = d ? document.getElementById(d) : null; + if (f) { + let p = !1, + v = !1; + switch (l.key) { + case 'Home': + case 'End': + case 'ArrowLeft': + case 'ArrowRight': + v = !0; + break; + case 'ArrowDown': + case 'ArrowUp': + p = l.shiftKey; + break; + } + (p || v) && ke(n); + } + if (!l.shiftKey) + switch (l.key) { + case 'Enter': + f?.querySelector('a')?.click(); + break; + case 'ArrowUp': + Te(r, n, f, -1), l.preventDefault(); + break; + case 'ArrowDown': + Te(r, n, f, 1), l.preventDefault(); + break; + } + }); + function c() { + ke(n); + } + n.addEventListener('change', c), + n.addEventListener('blur', c), + n.addEventListener('click', c), + document.body.addEventListener('keydown', (l) => { + if (l.altKey || l.metaKey || l.shiftKey) return; + let d = l.ctrlKey && l.key === 'k', + f = !l.ctrlKey && !ct() && l.key === '/'; + (d || f) && (l.preventDefault(), a()); }); } - function Ve(t, e, n, r) { + function ot(t, e, n, r) { if (!r.index || !r.data) return; - e.textContent = ''; - let i = n.value.trim(), + (t.innerHTML = ''), (n.innerHTML = ''), (Le += 1); + let i = e.value.trim(), s; if (i) { - let o = i + let a = i .split(' ') - .map((a) => (a.length ? `*${a}*` : '')) + .map((c) => (c.length ? `*${c}*` : '')) .join(' '); - s = r.index.search(o); + s = r.index.search(a).filter(({ ref: c }) => { + let l = r.data.rows[Number(c)].classes; + return !l || !we(l); + }); } else s = []; - for (let o = 0; o < s.length; o++) { - let a = s[o], - l = r.data.rows[Number(a.ref)], - u = 1; - l.name.toLowerCase().startsWith(i.toLowerCase()) && - (u *= 1 + 1 / (1 + Math.abs(l.name.length - i.length))), - (a.score *= u); + if (s.length === 0 && i) { + let a = window.translations.search_no_results_found_for_0.replace( + '{0}', + ` "${te(i)}" ` + ); + Pe(n, a); + return; } - if (s.length === 0) { - let o = document.createElement('li'); - o.classList.add('no-results'); - let a = document.createElement('span'); - (a.textContent = 'No results found'), o.appendChild(a), e.appendChild(o); + for (let a = 0; a < s.length; a++) { + let c = s[a], + l = r.data.rows[Number(c.ref)], + d = 1; + l.name.toLowerCase().startsWith(i.toLowerCase()) && + (d *= 10 / (1 + Math.abs(l.name.length - i.length))), + (c.score *= d); } - s.sort((o, a) => a.score - o.score); - for (let o = 0, a = Math.min(10, s.length); o < a; o++) { - let l = r.data.rows[Number(s[o].ref)], - u = ``, - d = ce(l.name, i); + s.sort((a, c) => c.score - a.score); + let o = Math.min(10, s.length); + for (let a = 0; a < o; a++) { + let c = r.data.rows[Number(s[a].ref)], + d = ``, + f = Ce(c.name, i); globalThis.DEBUG_SEARCH_WEIGHTS && - (d += ` (score: ${s[o].score.toFixed(2)})`), - l.parent && - (d = ` - ${ce(l.parent, i)}.${d}`); - let y = document.createElement('li'); - y.classList.value = l.classes ?? ''; - let p = document.createElement('a'); - (p.href = r.base + l.url), - (p.innerHTML = u + d), - y.append(p), - e.appendChild(y); + (f += ` (score: ${s[a].score.toFixed(2)})`), + c.parent && + (f = ` + ${Ce(c.parent, i)}.${f}`); + let p = document.createElement('li'); + (p.id = `tsd-search:${Le}-${a}`), + (p.role = 'option'), + (p.ariaSelected = 'false'), + (p.classList.value = c.classes ?? ''); + let v = document.createElement('a'); + (v.tabIndex = -1), + (v.href = r.base + c.url), + (v.innerHTML = d + `${f}`), + p.append(v), + t.appendChild(p); } } - function ue(t, e) { - let n = t.querySelector('.current'); - if (!n) - (n = t.querySelector(e == 1 ? 'li:first-child' : 'li:last-child')), - n && n.classList.add('current'); - else { - let r = n; - if (e === 1) - do r = r.nextElementSibling ?? void 0; - while (r instanceof HTMLElement && r.offsetParent == null); - else - do r = r.previousElementSibling ?? void 0; - while (r instanceof HTMLElement && r.offsetParent == null); - r && (n.classList.remove('current'), r.classList.add('current')); + function Te(t, e, n, r) { + let i; + if ( + (r === 1 + ? (i = n?.nextElementSibling || t.firstElementChild) + : (i = n?.previousElementSibling || t.lastElementChild), + i !== n) + ) { + if (!i || i.role !== 'option') { + console.error('Option missing'); + return; + } + (i.ariaSelected = 'true'), + i.scrollIntoView({ behavior: 'smooth', block: 'nearest' }), + e.setAttribute('aria-activedescendant', i.id), + n?.setAttribute('aria-selected', 'false'); } } - function Ne(t, e) { - let n = t.querySelector('.current'); - if ((n || (n = t.querySelector('li:first-child')), n)) { - let r = n.querySelector('a'); - r && (window.location.href = r.href), e.blur(); - } + function ke(t) { + let e = t.getAttribute('aria-activedescendant'); + (e ? document.getElementById(e) : null)?.setAttribute( + 'aria-selected', + 'false' + ), + t.setAttribute('aria-activedescendant', ''); } - function ce(t, e) { + function Ce(t, e) { if (e === '') return t; let n = t.toLocaleLowerCase(), r = e.toLocaleLowerCase(), @@ -1911,68 +2147,92 @@ s = 0, o = n.indexOf(r); for (; o != -1; ) - i.push(K(t.substring(s, o)), `${K(t.substring(o, o + r.length))}`), + i.push( + te(t.substring(s, o)), + `${te(t.substring(o, o + r.length))}` + ), (s = o + r.length), (o = n.indexOf(r, s)); - return i.push(K(t.substring(s))), i.join(''); + return i.push(te(t.substring(s))), i.join(''); } - var He = { + var at = { '&': '&', '<': '<', '>': '>', "'": ''', '"': '"', }; - function K(t) { - return t.replace(/[&<>"'"]/g, (e) => He[e]); + function te(t) { + return t.replace(/[&<>"'"]/g, (e) => at[e]); } - var I = class { - constructor(e) { - (this.el = e.el), (this.app = e.app); - } - }; - var F = 'mousedown', - fe = 'mousemove', - H = 'mouseup', - J = { x: 0, y: 0 }, - pe = !1, - ee = !1, - Be = !1, - D = !1, - me = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( + function Pe(t, e) { + t.innerHTML = e ? `
${e}
` : ''; + } + var lt = [ + 'button', + 'checkbox', + 'file', + 'hidden', + 'image', + 'radio', + 'range', + 'reset', + 'submit', + ]; + function ct() { + let t = document.activeElement; + return t + ? t.isContentEditable || + t.tagName === 'TEXTAREA' || + t.tagName === 'SEARCH' + ? !0 + : t.tagName === 'INPUT' && !lt.includes(t.type) + : !1; + } + var D = 'mousedown', + Oe = 'mousemove', + $ = 'mouseup', + ne = { x: 0, y: 0 }, + Qe = !1, + ce = !1, + ut = !1, + F = !1, + Me = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ); - document.documentElement.classList.add(me ? 'is-mobile' : 'not-mobile'); - me && + document.documentElement.classList.add(Me ? 'is-mobile' : 'not-mobile'); + Me && 'ontouchstart' in document.documentElement && - ((Be = !0), (F = 'touchstart'), (fe = 'touchmove'), (H = 'touchend')); - document.addEventListener(F, (t) => { - (ee = !0), (D = !1); - let e = F == 'touchstart' ? t.targetTouches[0] : t; - (J.y = e.pageY || 0), (J.x = e.pageX || 0); + ((ut = !0), (D = 'touchstart'), (Oe = 'touchmove'), ($ = 'touchend')); + document.addEventListener(D, (t) => { + (ce = !0), (F = !1); + let e = D == 'touchstart' ? t.targetTouches[0] : t; + (ne.y = e.pageY || 0), (ne.x = e.pageX || 0); }); - document.addEventListener(fe, (t) => { - if (ee && !D) { - let e = F == 'touchstart' ? t.targetTouches[0] : t, - n = J.x - (e.pageX || 0), - r = J.y - (e.pageY || 0); - D = Math.sqrt(n * n + r * r) > 10; + document.addEventListener(Oe, (t) => { + if (ce && !F) { + let e = D == 'touchstart' ? t.targetTouches[0] : t, + n = ne.x - (e.pageX || 0), + r = ne.y - (e.pageY || 0); + F = Math.sqrt(n * n + r * r) > 10; } }); - document.addEventListener(H, () => { - ee = !1; + document.addEventListener($, () => { + ce = !1; }); document.addEventListener('click', (t) => { - pe && (t.preventDefault(), t.stopImmediatePropagation(), (pe = !1)); + Qe && (t.preventDefault(), t.stopImmediatePropagation(), (Qe = !1)); }); - var X = class extends I { + var re = class extends I { + active; + className; constructor(e) { super(e), (this.className = this.el.dataset.toggle || ''), - this.el.addEventListener(H, (n) => this.onPointerUp(n)), + this.el.addEventListener($, (n) => this.onPointerUp(n)), this.el.addEventListener('click', (n) => n.preventDefault()), - document.addEventListener(F, (n) => this.onDocumentPointerDown(n)), - document.addEventListener(H, (n) => this.onDocumentPointerUp(n)); + document.addEventListener(D, (n) => this.onDocumentPointerDown(n)), + document.addEventListener($, (n) => this.onDocumentPointerUp(n)); } setActive(e) { if (this.active == e) return; @@ -1984,7 +2244,7 @@ setTimeout(() => document.documentElement.classList.remove(n), 500); } onPointerUp(e) { - D || (this.setActive(!0), e.preventDefault()); + F || (this.setActive(!0), e.preventDefault()); } onDocumentPointerDown(e) { if (this.active) { @@ -1993,7 +2253,7 @@ } } onDocumentPointerUp(e) { - if (!D && this.active && e.target.closest('.col-sidebar')) { + if (!F && this.active && e.target.closest('.col-sidebar')) { let n = e.target.closest('a'); if (n) { let r = window.location.href; @@ -2004,142 +2264,265 @@ } } }; - var te; - try { - te = localStorage; - } catch { - te = { - getItem() { - return null; - }, - setItem() {}, + var ue = new Map(), + de = class { + open; + accordions = []; + key; + constructor(e, n) { + (this.key = e), (this.open = n); + } + add(e) { + this.accordions.push(e), + (e.open = this.open), + e.addEventListener('toggle', () => { + this.toggle(e.open); + }); + } + toggle(e) { + for (let n of this.accordions) n.open = e; + S.setItem(this.key, e.toString()); + } + }, + ie = class extends I { + constructor(e) { + super(e); + let n = this.el.querySelector('summary'), + r = n.querySelector('a'); + r && + r.addEventListener('click', () => { + location.assign(r.href); + }); + let i = `tsd-accordion-${n.dataset.key ?? n.textContent.trim().replace(/\s+/g, '-').toLowerCase()}`, + s; + if (ue.has(i)) s = ue.get(i); + else { + let o = S.getItem(i), + a = o ? o === 'true' : this.el.open; + (s = new de(i, a)), ue.set(i, s); + } + s.add(this.el); + } }; - } - var Q = te; - var ye = document.head.appendChild(document.createElement('style')); - ye.dataset.for = 'filters'; - var Y = class extends I { - constructor(e) { - super(e), - (this.key = `filter-${this.el.name}`), - (this.value = this.el.checked), - this.el.addEventListener('change', () => { - this.setLocalStorage(this.el.checked); - }), - this.setLocalStorage(this.fromLocalStorage()), - (ye.innerHTML += `html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`), - this.app.updateIndexVisibility(); - } - fromLocalStorage() { - let e = Q.getItem(this.key); - return e ? e === 'true' : this.el.checked; - } - setLocalStorage(e) { - Q.setItem(this.key, e.toString()), - (this.value = e), - this.handleValueChange(); - } - handleValueChange() { - (this.el.checked = this.value), - document.documentElement.classList.toggle(this.key, this.value), - this.app.filterChanged(), - this.app.updateIndexVisibility(); - } - }; - var Z = class extends I { - constructor(e) { - super(e), - (this.summary = this.el.querySelector('.tsd-accordion-summary')), - (this.icon = this.summary.querySelector('svg')), - (this.key = `tsd-accordion-${ - this.summary.dataset.key ?? - this.summary.textContent.trim().replace(/\s+/g, '-').toLowerCase() - }`); - let n = Q.getItem(this.key); - (this.el.open = n ? n === 'true' : this.el.open), - this.el.addEventListener('toggle', () => this.update()); - let r = this.summary.querySelector('a'); - r && - r.addEventListener('click', () => { - location.assign(r.href); - }), - this.update(); - } - update() { - (this.icon.style.transform = `rotate(${this.el.open ? 0 : -90}deg)`), - Q.setItem(this.key, this.el.open.toString()); - } - }; - function ge(t) { - let e = Q.getItem('tsd-theme') || 'os'; + function He(t) { + let e = S.getItem('tsd-theme') || 'os'; (t.value = e), - ve(e), + Ae(e), t.addEventListener('change', () => { - Q.setItem('tsd-theme', t.value), ve(t.value); + S.setItem('tsd-theme', t.value), Ae(t.value); }); } - function ve(t) { + function Ae(t) { document.documentElement.dataset.theme = t; } - var Le; - function be() { + var se; + function Fe() { let t = document.getElementById('tsd-nav-script'); - t && (t.addEventListener('load', xe), xe()); + t && (t.addEventListener('load', Re), Re()); } - async function xe() { + async function Re() { let t = document.getElementById('tsd-nav-container'); if (!t || !window.navigationData) return; - let n = await (await fetch(window.navigationData)).arrayBuffer(), - r = new Blob([n]).stream().pipeThrough(new DecompressionStream('gzip')), - i = await new Response(r).json(); - (Le = t.dataset.base + '/'), (t.innerHTML = ''); - for (let s of i) we(s, t, []); + let e = await R(window.navigationData); + (se = document.documentElement.dataset.base), + se.endsWith('/') || (se += '/'), + (t.innerHTML = ''); + for (let n of e) Ne(n, t, []); window.app.createComponents(t), window.app.showPage(), window.app.ensureActivePageVisible(); } - function we(t, e, n) { + function Ne(t, e, n) { let r = e.appendChild(document.createElement('li')); if (t.children) { let i = [...n, t.text], s = r.appendChild(document.createElement('details')); - (s.className = t.class - ? `${t.class} tsd-index-accordion` - : 'tsd-index-accordion'), - (s.dataset.key = i.join('$')); + s.className = t.class ? `${t.class} tsd-accordion` : 'tsd-accordion'; let o = s.appendChild(document.createElement('summary')); (o.className = 'tsd-accordion-summary'), + (o.dataset.key = i.join('$')), (o.innerHTML = ''), - Ee(t, o); + De(t, o); let a = s.appendChild(document.createElement('div')); a.className = 'tsd-accordion-details'; - let l = a.appendChild(document.createElement('ul')); - l.className = 'tsd-nested-navigation'; - for (let u of t.children) we(u, l, i); - } else Ee(t, r, t.class); + let c = a.appendChild(document.createElement('ul')); + c.className = 'tsd-nested-navigation'; + for (let l of t.children) Ne(l, c, i); + } else De(t, r, t.class); } - function Ee(t, e, n) { + function De(t, e, n) { if (t.path) { let r = e.appendChild(document.createElement('a')); - (r.href = Le + t.path), + if ( + ((r.href = se + t.path), n && (r.className = n), - location.pathname === r.pathname && r.classList.add('current'), - t.kind && - (r.innerHTML = ``), + location.pathname === r.pathname && + !r.href.includes('#') && + (r.classList.add('current'), (r.ariaCurrent = 'page')), + t.kind) + ) { + let i = window.translations[`kind_${t.kind}`].replaceAll('"', '"'); + r.innerHTML = ``; + } + r.appendChild(document.createElement('span')).textContent = t.text; + } else { + let r = e.appendChild(document.createElement('span')), + i = window.translations.folder.replaceAll('"', '"'); + (r.innerHTML = ``), (r.appendChild(document.createElement('span')).textContent = t.text); - } else e.appendChild(document.createElement('span')).textContent = t.text; + } + } + var oe = document.documentElement.dataset.base; + oe.endsWith('/') || (oe += '/'); + function Ve() { + document.querySelector('.tsd-full-hierarchy') + ? dt() + : document.querySelector('.tsd-hierarchy') && ht(); + } + function dt() { + document.addEventListener('click', (r) => { + let i = r.target; + for (; i.parentElement && i.parentElement.tagName != 'LI'; ) + i = i.parentElement; + i.dataset.dropdown && + (i.dataset.dropdown = String(i.dataset.dropdown !== 'true')); + }); + let t = new Map(), + e = new Set(); + for (let r of document.querySelectorAll( + '.tsd-full-hierarchy [data-refl]' + )) { + let i = r.querySelector('ul'); + t.has(r.dataset.refl) + ? e.add(r.dataset.refl) + : i && t.set(r.dataset.refl, i); + } + for (let r of e) n(r); + function n(r) { + let i = t.get(r).cloneNode(!0); + i.querySelectorAll('[id]').forEach((s) => { + s.removeAttribute('id'); + }), + i.querySelectorAll('[data-dropdown]').forEach((s) => { + s.dataset.dropdown = 'false'; + }); + for (let s of document.querySelectorAll(`[data-refl="${r}"]`)) { + let o = mt(), + a = s.querySelector('ul'); + s.insertBefore(o, a), + (o.dataset.dropdown = String(!!a)), + a || s.appendChild(i.cloneNode(!0)); + } + } + } + function ht() { + let t = document.getElementById('tsd-hierarchy-script'); + t && (t.addEventListener('load', Be), Be()); + } + async function Be() { + let t = document.querySelector('.tsd-panel.tsd-hierarchy:has(h4 a)'); + if (!t || !window.hierarchyData) return; + let e = +t.dataset.refl, + n = await R(window.hierarchyData), + r = t.querySelector('ul'), + i = document.createElement('ul'); + if ( + (i.classList.add('tsd-hierarchy'), + pt(i, n, e), + r.querySelectorAll('li').length == i.querySelectorAll('li').length) + ) + return; + let s = document.createElement('span'); + s.classList.add('tsd-hierarchy-toggle'), + (s.textContent = window.translations.hierarchy_expand), + t.querySelector('h4 a')?.insertAdjacentElement('afterend', s), + s.insertAdjacentText('beforebegin', ', '), + s.addEventListener('click', () => { + s.textContent === window.translations.hierarchy_expand + ? (r.insertAdjacentElement('afterend', i), + r.remove(), + (s.textContent = window.translations.hierarchy_collapse)) + : (i.insertAdjacentElement('afterend', r), + i.remove(), + (s.textContent = window.translations.hierarchy_expand)); + }); + } + function pt(t, e, n) { + let r = e.roots.filter((i) => ft(e, i, n)); + for (let i of r) t.appendChild($e(e, i, n)); + } + function $e(t, e, n, r = new Set()) { + if (r.has(e)) return; + r.add(e); + let i = t.reflections[e], + s = document.createElement('li'); + if ((s.classList.add('tsd-hierarchy-item'), e === n)) { + let o = s.appendChild(document.createElement('span')); + (o.textContent = i.name), o.classList.add('tsd-hierarchy-target'); + } else { + for (let a of i.uniqueNameParents || []) { + let c = t.reflections[a], + l = s.appendChild(document.createElement('a')); + (l.textContent = c.name), + (l.href = oe + c.url), + (l.className = c.class + ' tsd-signature-type'), + s.append(document.createTextNode('.')); + } + let o = s.appendChild(document.createElement('a')); + (o.textContent = t.reflections[e].name), + (o.href = oe + i.url), + (o.className = i.class + ' tsd-signature-type'); + } + if (i.children) { + let o = s.appendChild(document.createElement('ul')); + o.classList.add('tsd-hierarchy'); + for (let a of i.children) { + let c = $e(t, a, n, r); + c && o.appendChild(c); + } + } + return r.delete(e), s; + } + function ft(t, e, n) { + if (e === n) return !0; + let r = new Set(), + i = [t.reflections[e]]; + for (; i.length; ) { + let s = i.pop(); + if (!r.has(s)) { + r.add(s); + for (let o of s.children || []) { + if (o === n) return !0; + i.push(t.reflections[o]); + } + } + } + return !1; + } + function mt() { + let t = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + return ( + t.setAttribute('width', '20'), + t.setAttribute('height', '20'), + t.setAttribute('viewBox', '0 0 24 24'), + t.setAttribute('fill', 'none'), + (t.innerHTML = ''), + t + ); } - G(X, 'a[data-toggle]'); - G(Z, '.tsd-index-accordion'); - G(Y, '.tsd-filter-item input[type=checkbox]'); - var Se = document.getElementById('tsd-theme'); - Se && ge(Se); - var je = new U(); - Object.defineProperty(window, 'app', { value: je }); - he(); - be(); + Y(re, 'a[data-toggle]'); + Y(ie, '.tsd-accordion'); + Y(ee, '.tsd-filter-item input[type=checkbox]'); + var je = document.getElementById('tsd-theme'); + je && He(je); + var gt = new X(); + Object.defineProperty(window, 'app', { value: gt }); + _e(); + Fe(); + Ve(); + 'virtualKeyboard' in navigator && + (navigator.virtualKeyboard.overlaysContent = !0); })(); /*! Bundled license information: diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index f19f9c50..4a9dd4fa 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1,2 +1,2 @@ window.navigationData = - 'data:application/octet-stream;base64,H4sIAAAAAAAAE52XUW/aMBDHv0ue0aBo7TreBkJTpTIQoetD1Qc3OYhVx0a2Q8umfffZESQhOGfDC1Jy//v9jX0+Oy9/Iw2fOhpFq/0WVNSLtkRn5jEXacFA9cvXXzKdMxN7pzyNRsNelGSUpRJ4NHqpAD8Kk1jlJ4woVeXb2CnkZnj/r1fljomCqZRCdgEqAUaZSEiBa0qYmhFONtCJO1di3CcFUnWhyiCW/Qxv2NQcwhjBxgcTwe3jg/mVa5JAzaPHV83ZPtO31vD2rmUQa6J90FLjAw2WoLaCqwZMW0JzcEdJizX4/u3mdtjgrYBBDlru3awq7Oa8NkiPIiHMettlT4imgj/CDlgNBl7kqt+lO3W4x8mxlmaiNvsA+FHazY/Jmkj6m8KHXVIpGAO5kKAM40DYM2g7BSV1e65oDqLQXVuyEcXqNoU1KZg+BxwCvpoXkv6BJ8nmWztk5SxOhw4r0AkDImNQyggxrEMXil0QSUxRnrSMDnItReESTInYPoOOuK3CkNPPJCN8A79MMewgFonphBgc0YfYhKADcD9B+2bhVILBHHsRA3fLcZMN5c9UZ9OcUHSGncog9Hw+DgLXujDsahGGrXRB2CUkYgdyPxEpWhZYQpBRPIuD+LXOgzUdz9OL2iIMODP9j5o0LeQkI6Y9e7YJosdsFqbhfgiZLoGwHOO7hCFgc0dUQQWOJVxi5FnXbjluopPM11vaIgy4hLU5bbOVeAe0rTh0OFaBPv5FnHsuxME7MwSc2FBgKDtDD3wtMFhLg+EO9+PyjMeQDl0o1nNiu6WeE/v4edG+uDZCvsuvc8vPx13Xa4/8Sje7h8YmhfLNhcaOzKvGsFpcZFzLr3G7xCrUxxZ7m2ff+fLKL6WFFDuaNgHrgidlefdPBKe0u68NUKGglLoYx9hZ+ut/FYlmXxsQAAA='; + 'eJydl8tu2zAQRf9Fa6N5oElT72ojKAIktWE5zSLIYiKNLCIUaZAjJ27Rfy8o2NbD0pDOMpoz5yrUkJKf/0aEHxSNo+V2jTYaRWugPBpHhU5Lifasuvwlp0JGo+hNqDQaX46iJBcyNaii8fNB8KOkvO5PJFh76He1tuTi8ubf6NA7AYu3xmgzJDgAnGVqMEVFAqR9AAUrHNQdk5z30aKxQ6qqyHU/4Su3NLsyZ3D186lW7s87RWgySLD2if2l5mof8Z1neHXdCYgJyCetGJ/ofIF2rZVtyMgZmje3Rzqu8+/fLq4uG74lSiyQzLbfdSj3e14apnudgHTZ7rEnQEKre9ygrMWoysKeDXHthBveHJMBwtU2QL5Hh/0xZGDEb4Hv7pEaLSWauUGLinaGrcRuUlDTcGaKGZSSjmd2V+CmdSkK1CUNbedG1Tfz2og/+GjkbO1u2fYOZw/HDehUIpgYrRVacdoeLlQ7BwMFUuvIGDDXKCs3CITunGHvuEtxytuPJAe1wl9AYoOxTgSwq8zwITEh6gDdTyTfKrQRTtazFznxMM6HrIR6EpTfFiDYFe4lg9Sz2SRIXHNh2uU8THvggrQLTPQGzXaqU3YsuIagoPghDvLXnEerS/KcRV2IEz6UkkQGCWkzzUFK9GwThudi5mDtuzapRGuD5pBrOCXIs/zDeEjIAkEWIfomyIspyX1nSxfihAvMDNp8qd+QPVZ6OF5rkfb/HO89BnnxRr+xA9giOJVboTuVaU7WYTjd7vu4esdzyh4uVOt5Y/ejnjf2/udF98O1UfJ9/PZu+dlk6PPag38yzW3OiVCpUKsTg3s6P3UPy/lJwTX+mbRTokJz3LB3fe6ar6/6pTQ3eiPSpiArVVKN91kLaNuuvzZEpcUK7XPsa0ftL/8BSB6new=='; diff --git a/docs/assets/search.js b/docs/assets/search.js index 68dda025..5b8c90d0 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1,2 +1,2 @@ window.searchData = - 'data:application/octet-stream;base64,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'; + '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'; diff --git a/docs/assets/style.css b/docs/assets/style.css index bcb7d05c..973d4371 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -1,99 +1,282 @@ -:root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-icon-background: var(--light-color-background); - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - --light-color-link: #1f70c2; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: var(--light-color-ts-variable); - --light-color-ts-method: var(--light-color-ts-function); - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var(--light-color-ts-constructor); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: var(--light-color-ts-property); - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - --dark-color-link: #00aff4; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: var(--dark-color-ts-variable); - --dark-color-ts-method: var(--dark-color-ts-function); - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: var(--dark-color-ts-property); - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; -} +@layer typedoc { + :root { + --dim-toolbar-contents-height: 2.5rem; + --dim-toolbar-border-bottom-width: 1px; + --dim-header-height: calc( + var(--dim-toolbar-border-bottom-width) + + var(--dim-toolbar-contents-height) + ); + + /* 0rem For mobile; unit is required for calculation in `calc` */ + --dim-container-main-margin-y: 0rem; + + --dim-footer-height: 3.5rem; + + --modal-animation-duration: 0.2s; + } + + :root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ + --light-color-background-active: #d6d8da; + --light-color-background-warning: #e6e600; + --light-color-warning-text: #222; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-background-active); + --light-color-text: #222; + --light-color-contrast-text: #000; + --light-color-text-aside: #5e5e5e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: #9f5f30; + --light-color-ts-method: #be3989; + --light-color-ts-reference: #ff4d82; + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: #c73c3c; + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-color-alert-note: #0969d9; + --light-color-alert-tip: #1a7f37; + --light-color-alert-important: #8250df; + --light-color-alert-warning: #9a6700; + --light-color-alert-caution: #cf222e; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + } -@media (prefers-color-scheme: light) { :root { + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ + --dark-color-background-active: #5d5d6a; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: var(--dark-color-background-active); + --dark-color-text: #f5f5f5; + --dark-color-contrast-text: #ffffff; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: #ff6060; + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-color-alert-note: #0969d9; + --dark-color-alert-tip: #1a7f37; + --dark-color-alert-important: #8250df; + --dark-color-alert-warning: #9a6700; + --dark-color-alert-caution: #cf222e; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; + } + + @media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-active: var(--light-color-background-active); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-contrast-text: var(--light-color-contrast-text); + --color-text-aside: var(--light-color-text-aside); + + --color-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --color-alert-note: var(--light-color-alert-note); + --color-alert-tip: var(--light-color-alert-tip); + --color-alert-important: var(--light-color-alert-important); + --color-alert-warning: var(--light-color-alert-warning); + --color-alert-caution: var(--light-color-alert-caution); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } + } + + @media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-active: var(--dark-color-background-active); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-contrast-text: var(--dark-color-contrast-text); + --color-text-aside: var(--dark-color-text-aside); + + --color-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --color-alert-note: var(--dark-color-alert-note); + --color-alert-tip: var(--dark-color-alert-tip); + --color-alert-important: var(--dark-color-alert-important); + --color-alert-warning: var(--dark-color-alert-warning); + --color-alert-caution: var(--dark-color-alert-caution); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } + } + + :root[data-theme='light'] { --color-background: var(--light-color-background); --color-background-secondary: var(--light-color-background-secondary); + --color-background-active: var(--light-color-background-active); --color-background-warning: var(--light-color-background-warning); --color-warning-text: var(--light-color-warning-text); --color-icon-background: var(--light-color-icon-background); --color-accent: var(--light-color-accent); --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); + --color-contrast-text: var(--light-color-contrast-text); --color-text-aside: var(--light-color-text-aside); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-enum: var(--light-color-ts-enum); @@ -105,6 +288,7 @@ --color-ts-constructor: var(--light-color-ts-constructor); --color-ts-property: var(--light-color-ts-property); --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); --color-ts-call-signature: var(--light-color-ts-call-signature); --color-ts-index-signature: var(--light-color-ts-index-signature); --color-ts-constructor-signature: var( @@ -116,26 +300,40 @@ --color-ts-get-signature: var(--light-color-ts-get-signature); --color-ts-set-signature: var(--light-color-ts-set-signature); --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --color-note: var(--light-color-note); + --color-tip: var(--light-color-tip); + --color-important: var(--light-color-important); + --color-warning: var(--light-color-warning); + --color-caution: var(--light-color-caution); --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); } -} -@media (prefers-color-scheme: dark) { - :root { + :root[data-theme='dark'] { --color-background: var(--dark-color-background); --color-background-secondary: var(--dark-color-background-secondary); + --color-background-active: var(--dark-color-background-active); --color-background-warning: var(--dark-color-background-warning); --color-warning-text: var(--dark-color-warning-text); --color-icon-background: var(--dark-color-icon-background); --color-accent: var(--dark-color-accent); --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); + --color-contrast-text: var(--dark-color-contrast-text); --color-text-aside: var(--dark-color-text-aside); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-enum: var(--dark-color-ts-enum); @@ -147,6 +345,7 @@ --color-ts-constructor: var(--dark-color-ts-constructor); --color-ts-property: var(--dark-color-ts-property); --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); --color-ts-call-signature: var(--dark-color-ts-call-signature); --color-ts-index-signature: var(--dark-color-ts-index-signature); --color-ts-constructor-signature: var( @@ -158,1249 +357,1267 @@ --color-ts-get-signature: var(--dark-color-ts-get-signature); --color-ts-set-signature: var(--dark-color-ts-set-signature); --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --color-note: var(--dark-color-note); + --color-tip: var(--dark-color-tip); + --color-important: var(--dark-color-important); + --color-warning: var(--dark-color-warning); + --color-caution: var(--dark-color-caution); --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } -} - -html { - color-scheme: var(--color-scheme); -} -body { - margin: 0; -} + html { + color-scheme: var(--color-scheme); + @media (prefers-reduced-motion: no-preference) { + scroll-behavior: smooth; + } + } -:root[data-theme='light'] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var(--light-color-ts-constructor-signature); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); -} + *:focus-visible, + .tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); + } -:root[data-theme='dark'] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var(--dark-color-ts-constructor-signature); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); -} + .always-visible, + .always-visible .tsd-signatures { + display: inherit !important; + } -.always-visible, -.always-visible .tsd-signatures { - display: inherit !important; -} + h1, + h2, + h3, + h4, + h5, + h6 { + line-height: 1.2; + } -h1, -h2, -h3, -h4, -h5, -h6 { - line-height: 1.2; -} + h1 { + font-size: 1.875rem; + margin: 0.67rem 0; + } -h1 > a:not(.link), -h2 > a:not(.link), -h3 > a:not(.link), -h4 > a:not(.link), -h5 > a:not(.link), -h6 > a:not(.link) { - text-decoration: none; - color: var(--color-text); -} + h2 { + font-size: 1.5rem; + margin: 0.83rem 0; + } -h1 { - font-size: 1.875rem; - margin: 0.67rem 0; -} + h3 { + font-size: 1.25rem; + margin: 1rem 0; + } -h2 { - font-size: 1.5rem; - margin: 0.83rem 0; -} + h4 { + font-size: 1.05rem; + margin: 1.33rem 0; + } -h3 { - font-size: 1.25rem; - margin: 1rem 0; -} + h5 { + font-size: 1rem; + margin: 1.5rem 0; + } -h4 { - font-size: 1.05rem; - margin: 1.33rem 0; -} + h6 { + font-size: 0.875rem; + margin: 2.33rem 0; + } -h5 { - font-size: 1rem; - margin: 1.5rem 0; -} + dl, + menu, + ol, + ul { + margin: 1em 0; + } -h6 { - font-size: 0.875rem; - margin: 2.33rem 0; -} + dd { + margin: 0 0 0 34px; + } -.uppercase { - text-transform: uppercase; -} + .container { + max-width: 1700px; + padding: 0 2rem; + } -dl, -menu, -ol, -ul { - margin: 1em 0; -} + /* Footer */ + footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: var(--dim-footer-height); + } + footer > p { + margin: 0 1em; + } -dd { - margin: 0 0 0 40px; -} + .container-main { + margin: var(--dim-container-main-margin-y) auto; + /* toolbar, footer, margin */ + min-height: calc( + 100svh - var(--dim-header-height) - var(--dim-footer-height) - 2 * + var(--dim-container-main-margin-y) + ); + } -.container { - max-width: 1700px; - padding: 0 2rem; -} + @keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + @keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } + } + @keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } + } + @keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } + } + body { + background: var(--color-background); + font-family: + -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, + Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'; + font-size: 16px; + color: var(--color-text); + margin: 0; + } -/* Footer */ -footer { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; -} -.tsd-generator { - margin: 0 1em; -} + a { + color: var(--color-link); + text-decoration: none; + } + a:hover { + text-decoration: underline; + } + a.external[target='_blank'] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; + } + a.tsd-anchor-link { + color: var(--color-text); + } + :target { + scroll-margin-block: calc(var(--dim-header-height) + 0.5rem); + } -.container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); -} + code, + pre { + font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; + } -@keyframes fade-in { - from { + pre { + position: relative; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); + margin-bottom: 8px; + } + pre code { + padding: 0; + font-size: 100%; + } + pre > button { + position: absolute; + top: 10px; + right: 10px; opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; } - to { + pre:hover > button, + pre > button.visible, + pre > button:focus-visible { opacity: 1; } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; + + blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; } - to { - opacity: 0; + + img { + max-width: 100%; } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; + + * { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); } - 33% { - opacity: 0; + + *::-webkit-scrollbar { + width: 0.75rem; } - 100% { - opacity: 1; + + *::-webkit-scrollbar-track { + background: var(--color-icon-background); } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; + + *::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); } - 66% { - opacity: 0; + + dialog { + border: none; + outline: none; + padding: 0; + background-color: var(--color-background); } - 100% { - opacity: 0; + dialog::backdrop { + display: none; } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); + #tsd-overlay { + background-color: rgba(0, 0, 0, 0.5); + position: fixed; + z-index: 9999; + top: 0; + left: 0; + right: 0; + bottom: 0; + animation: fade-in var(--modal-animation-duration) forwards; } - to { - transform: translate(0, 0); + #tsd-overlay.closing { + animation-name: fade-out; } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; + + .tsd-typography { + line-height: 1.333em; } - to { - transform: translate(100%, 0); + .tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; + } + .tsd-typography .tsd-index-panel h3, + .tsd-index-panel .tsd-typography h3, + .tsd-typography h4, + .tsd-typography h5, + .tsd-typography h6 { + font-size: 1em; + } + .tsd-typography h5, + .tsd-typography h6 { + font-weight: normal; + } + .tsd-typography p, + .tsd-typography ul, + .tsd-typography ol { + margin: 1em 0; + } + .tsd-typography table { + border-collapse: collapse; + border: none; + } + .tsd-typography td, + .tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); + } + .tsd-typography thead, + .tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); } -} -body { - background: var(--color-background); - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', - Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'; - font-size: 16px; - color: var(--color-text); -} -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target='_blank'] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} + .tsd-alert { + padding: 8px 16px; + margin-bottom: 16px; + border-left: 0.25em solid var(--alert-color); + } + .tsd-alert blockquote > :last-child, + .tsd-alert > :last-child { + margin-bottom: 0; + } + .tsd-alert-title { + color: var(--alert-color); + display: inline-flex; + align-items: center; + } + .tsd-alert-title span { + margin-left: 4px; + } -code, -pre { - font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; -} + .tsd-alert-note { + --alert-color: var(--color-alert-note); + } + .tsd-alert-tip { + --alert-color: var(--color-alert-tip); + } + .tsd-alert-important { + --alert-color: var(--color-alert-important); + } + .tsd-alert-warning { + --alert-color: var(--color-alert-warning); + } + .tsd-alert-caution { + --alert-color: var(--color-alert-caution); + } -pre { - position: relative; - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); -} -pre code { - padding: 0; - font-size: 100%; -} -pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; -} -pre:hover > button, -pre > button.visible { - opacity: 1; -} + .tsd-breadcrumb { + margin: 0; + margin-top: 1rem; + padding: 0; + color: var(--color-text-aside); + } + .tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; + } + .tsd-breadcrumb a:hover { + text-decoration: underline; + } + .tsd-breadcrumb li { + display: inline; + } + .tsd-breadcrumb li:after { + content: ' / '; + } -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} + .tsd-comment-tags { + display: flex; + flex-direction: column; + } + dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; + } + dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; + } + dl.tsd-comment-tag-group dd { + margin: 0; + } + code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; + } + h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; + } -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h4, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} -.tsd-typography table { - border-collapse: collapse; - border: none; -} -.tsd-typography td, -.tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); -} -.tsd-typography thead, -.tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); -} + dl.tsd-comment-tag-group dd:before, + dl.tsd-comment-tag-group dd:after { + content: ' '; + } + dl.tsd-comment-tag-group dd pre, + dl.tsd-comment-tag-group dd:after { + clear: both; + } + dl.tsd-comment-tag-group p { + margin: 0; + } -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: ' / '; -} + .tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; + } + .tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; + } -.tsd-comment-tags { - display: flex; - flex-direction: column; -} -dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; -} -dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; -} -dl.tsd-comment-tag-group dd { - margin: 0; -} -code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; -} -h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; -} + .tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; + } + .tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; + } + .tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + } + .tsd-filter-input input[type='checkbox'] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; + } + .tsd-filter-input input[type='checkbox']:disabled { + pointer-events: none; + } + .tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; + } + .tsd-filter-input input[type='checkbox']:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); + } + .tsd-checkbox-background { + fill: var(--color-accent); + } + input[type='checkbox']:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); + } + .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; + } + .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); + } -dl.tsd-comment-tag-group dd:before, -dl.tsd-comment-tag-group dd:after { - content: ' '; -} -dl.tsd-comment-tag-group dd pre, -dl.tsd-comment-tag-group dd:after { - clear: both; -} -dl.tsd-comment-tag-group p { - margin: 0; -} + .settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; + } -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} + .tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; + } -.tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; -} -.tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; -} -.tsd-filter-input { - display: flex; - width: fit-content; - width: -moz-fit-content; - align-items: center; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - cursor: pointer; -} -.tsd-filter-input input[type='checkbox'] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; -} -.tsd-filter-input input[type='checkbox']:disabled { - pointer-events: none; -} -.tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; -} -.tsd-filter-input input[type='checkbox']:focus + svg { - transform: scale(0.95); -} -.tsd-filter-input input[type='checkbox']:focus:not(:focus-visible) + svg { - transform: scale(1); -} -.tsd-checkbox-background { - fill: var(--color-accent); -} -input[type='checkbox']:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); -} + .tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; + } -.tsd-theme-toggle { - padding-top: 0.75rem; -} -.tsd-theme-toggle > h4 { - display: inline; - vertical-align: middle; - margin-right: 0.75rem; -} + .tsd-hierarchy h4 label:hover span { + text-decoration: underline; + } -.tsd-hierarchy { - list-style: square; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} + .tsd-hierarchy { + list-style: square; + margin: 0; + } + .tsd-hierarchy-target { + font-weight: bold; + } + .tsd-hierarchy-toggle { + color: var(--color-link); + cursor: pointer; + } -.tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); -} -.tsd-full-hierarchy, -.tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; -} -.tsd-full-hierarchy ul { - padding-left: 1.5rem; -} -.tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} + .tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); + } + .tsd-full-hierarchy, + .tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; + } + .tsd-full-hierarchy ul { + padding-left: 1.5rem; + } + .tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); + } + .tsd-full-hierarchy svg[data-dropdown] { + cursor: pointer; + } + .tsd-full-hierarchy svg[data-dropdown='false'] { + transform: rotate(-90deg); + } + .tsd-full-hierarchy svg[data-dropdown='false'] ~ ul { + display: none; + } -.tsd-panel-group.tsd-index-group { - margin-bottom: 0; -} -.tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; -} -@media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); + .tsd-panel-group.tsd-index-group { + margin-bottom: 0; } -} -@media (max-width: 768px) { .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; + } + @media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } + } + @media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } + } + .tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; } -} -.tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} -.tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; -} + .tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; + } -.tsd-anchor { - position: relative; - top: -100px; -} + .tsd-anchor { + position: relative; + top: -100px; + } -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} + .tsd-member { + position: relative; + } + .tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; + } -.tsd-navigation.settings { - margin: 1rem 0; -} -.tsd-navigation > a, -.tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; -} -.tsd-navigation a, -.tsd-navigation summary > span, -.tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; -} -.tsd-navigation a.current, -.tsd-page-navigation a.current { - background: var(--color-active-menu-item); -} -.tsd-navigation a:hover, -.tsd-page-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul, -.tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li, -.tsd-page-navigation li { - padding: 0; - max-width: 100%; -} -.tsd-nested-navigation { - margin-left: 3rem; -} -.tsd-nested-navigation > li > details { - margin-left: -1.5rem; -} -.tsd-small-nested-navigation { - margin-left: 1.5rem; -} -.tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; -} - -.tsd-page-navigation ul { - padding-left: 1.75rem; -} - -#tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; -} -#tsd-sidebar-links a:last-of-type { - margin-bottom: 0; -} - -a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} -.tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ -} -.tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ -} -.tsd-accordion-summary, -.tsd-accordion-summary a { - user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - - cursor: pointer; -} -.tsd-accordion-summary a { - width: calc(100% - 1.5rem); -} -.tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} -.tsd-index-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; -} -.tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; -} -.tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; -} - -.tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; -} -.tsd-kind-icon path { - transform-origin: center; - transform: scale(1.1); -} -.tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; -} - -.tsd-panel { - margin-bottom: 2.5rem; -} -.tsd-panel.tsd-member { - margin-bottom: 4rem; -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; -} - -.tsd-panel-group { - margin: 4rem 0; -} -.tsd-panel-group.tsd-index-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group details { - margin: 2rem 0; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title, -#tsd-toolbar-links a { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - background-color: var(--color-background); - line-height: initial; - padding: 4px; -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current:not(.no-results), -#tsd-search .results li:hover:not(.no-results) { - background-color: var(--color-accent); -} -#tsd-search .results a { - display: flex; - align-items: center; - padding: 0.25rem; - box-sizing: border-box; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-accent); -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title, -#tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -#tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; -} -#tsd-toolbar-links a { - margin-left: 1.5rem; -} -#tsd-toolbar-links a:hover { - text-decoration: underline; -} - -.tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; - font-size: 14px; - overflow-x: auto; -} - -.tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; -} - -.tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; -} -.tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; -} - -ul.tsd-parameter-list, -ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameter-list > li.tsd-parameter-signature, -ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameter-list h5, -ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -.tsd-sources { - margin-top: 1rem; - font-size: 0.875em; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; -} -.tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; -} -.tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} -.tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} - -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -input[type='checkbox'] + .tsd-widget:before { - background-position: -120px 0; -} -input[type='checkbox']:checked + .tsd-widget:before { - background-position: -160px 0; -} - -img { - max-width: 100%; -} - -.tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - vertical-align: middle; - color: var(--color-text); -} - -.tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; -} - -.tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; -} - -.deprecated { - text-decoration: line-through !important; -} - -.warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); -} + .tsd-navigation.settings { + margin: 0; + margin-bottom: 1rem; + } + .tsd-navigation > a, + .tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; + } + .tsd-navigation a, + .tsd-navigation summary > span, + .tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; + } + .tsd-navigation a.current, + .tsd-page-navigation a.current { + background: var(--color-active-menu-item); + color: var(--color-contrast-text); + } + .tsd-navigation a:hover, + .tsd-page-navigation a:hover { + text-decoration: underline; + } + .tsd-navigation ul, + .tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; + } + .tsd-navigation li, + .tsd-page-navigation li { + padding: 0; + max-width: 100%; + } + .tsd-navigation .tsd-nav-link { + display: none; + } + .tsd-nested-navigation { + margin-left: 3rem; + } + .tsd-nested-navigation > li > details { + margin-left: -1.5rem; + } + .tsd-small-nested-navigation { + margin-left: 1.5rem; + } + .tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; + } -.tsd-kind-project { - color: var(--color-ts-project); -} -.tsd-kind-module { - color: var(--color-ts-module); -} -.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-kind-enum-member { - color: var(--color-ts-enum-member); -} -.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-kind-constructor { - color: var(--color-ts-constructor); -} -.tsd-kind-property { - color: var(--color-ts-property); -} -.tsd-kind-method { - color: var(--color-ts-method); -} -.tsd-kind-call-signature { - color: var(--color-ts-call-signature); -} -.tsd-kind-index-signature { - color: var(--color-ts-index-signature); -} -.tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); -} -.tsd-kind-parameter { - color: var(--color-ts-parameter); -} -.tsd-kind-type-literal { - color: var(--color-ts-type-literal); -} -.tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); -} -.tsd-kind-accessor { - color: var(--color-ts-accessor); -} -.tsd-kind-get-signature { - color: var(--color-ts-get-signature); -} -.tsd-kind-set-signature { - color: var(--color-ts-set-signature); -} -.tsd-kind-type-alias { - color: var(--color-ts-type-alias); -} + .tsd-page-navigation-section > summary { + padding: 0.25rem; + } + .tsd-page-navigation-section > summary > svg { + margin-right: 0.25rem; + } + .tsd-page-navigation-section > div { + margin-left: 30px; + } + .tsd-page-navigation ul { + padding-left: 1.75rem; + } -/* if we have a kind icon, don't color the text by kind */ -.tsd-kind-icon ~ span { - color: var(--color-text); -} + #tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; + } + #tsd-sidebar-links a:last-of-type { + margin-bottom: 0; + } -* { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); -} + a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); + } + .tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ + display: flex; + align-items: center; + gap: 0.25rem; + box-sizing: border-box; + } + .tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ + } + .tsd-accordion-summary, + .tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; + } + .tsd-accordion-summary a { + width: calc(100% - 1.5rem); + } + .tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; + } + /* + * We need to be careful to target the arrow indicating whether the accordion + * is open, but not any other SVGs included in the details element. + */ + .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child { + transform: rotate(-90deg); + } + .tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; + } + .tsd-index-summary { + margin-top: 1.5rem; + margin-bottom: 0.75rem; + display: flex; + align-content: center; + } -*::-webkit-scrollbar { - width: 0.75rem; -} + .tsd-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; + } + .tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; + } -*::-webkit-scrollbar-track { - background: var(--color-icon-background); -} + .tsd-panel { + margin-bottom: 2.5rem; + } + .tsd-panel.tsd-member { + margin-bottom: 4rem; + } + .tsd-panel:empty { + display: none; + } + .tsd-panel > h1, + .tsd-panel > h2, + .tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; + } + .tsd-panel > h1.tsd-before-signature, + .tsd-panel > h2.tsd-before-signature, + .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; + } -*::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); -} + .tsd-panel-group { + margin: 2rem 0; + } + .tsd-panel-group.tsd-index-group { + margin: 2rem 0; + } + .tsd-panel-group.tsd-index-group details { + margin: 2rem 0; + } + .tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; + } -/* mobile */ -@media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; + #tsd-search[open] { + animation: fade-in var(--modal-animation-duration) ease-out forwards; + } + #tsd-search[open].closing { + animation-name: fade-out; } - .container-main { + /* Avoid setting `display` on closed dialog */ + #tsd-search[open] { display: flex; + flex-direction: column; + padding: 1rem; + width: 32rem; + max-width: 90vw; + max-height: calc(100vh - env(keyboard-inset-height, 0px) - 25vh); + /* Anchor dialog to top */ + margin-top: 10vh; + border-radius: 6px; + will-change: max-height; } - html .col-content { - float: none; - max-width: 100%; + #tsd-search-input { + box-sizing: border-box; width: 100%; + padding: 0 0.625rem; /* 10px */ + outline: 0; + border: 2px solid var(--color-accent); + background-color: transparent; + color: var(--color-text); + border-radius: 4px; + height: 2.5rem; + flex: 0 0 auto; + font-size: 0.875rem; + transition: + border-color 0.2s, + background-color 0.2s; + } + #tsd-search-input:focus-visible { + background-color: var(--color-background-active); + border-color: transparent; + color: var(--color-contrast-text); } - html .col-sidebar { - position: fixed !important; + #tsd-search-input::placeholder { + color: inherit; + opacity: 0.8; + } + #tsd-search-results { + margin: 0; + padding: 0; + list-style: none; + flex: 1 1 auto; + display: flex; + flex-direction: column; overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; + } + #tsd-search-results:not(:empty) { + margin-top: 0.5rem; + } + #tsd-search-results > li { background-color: var(--color-background); - transform: translate(100%, 0); + line-height: 1.5; + box-sizing: border-box; + border-radius: 4px; } - html .col-sidebar > *:last-child { - padding-bottom: 20px; + #tsd-search-results > li:nth-child(even) { + background-color: var(--color-background-secondary); } - html .overlay { - content: ''; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; + #tsd-search-results > li:is(:hover, [aria-selected='true']) { + background-color: var(--color-background-active); + color: var(--color-contrast-text); + } + /* It's important that this takes full size of parent `li`, to capture a click on `li` */ + #tsd-search-results > li > a { + display: flex; + align-items: center; + padding: 0.5rem 0.25rem; + box-sizing: border-box; + width: 100%; + } + #tsd-search-results > li > a > .text { + flex: 1 1 auto; + min-width: 0; + overflow-wrap: anywhere; + } + #tsd-search-results > li > a .parent { + color: var(--color-text-aside); + } + #tsd-search-results > li > a mark { + color: inherit; + background-color: inherit; + font-weight: bold; + } + #tsd-search-status { + flex: 1; + display: grid; + place-content: center; + text-align: center; + overflow-wrap: anywhere; + } + #tsd-search-status:not(:empty) { + min-height: 6rem; } - .to-has-menu .overlay { - animation: fade-in 0.4s; + .tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; + font-size: 14px; + overflow-x: auto; } - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; + .tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; } - .from-has-menu .overlay { - animation: fade-out 0.4s; + .tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; } - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; + .tsd-signature-type { + font-style: italic; + font-weight: normal; } - .has-menu body { - overflow: hidden; + .tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; } - .has-menu .overlay { - visibility: visible; + .tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); + .tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; + } + .tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; + } + .tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; + } + + ul.tsd-parameter-list, + ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; + } + ul.tsd-parameter-list > li.tsd-parameter-signature, + ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; + } + ul.tsd-parameter-list h5, + ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; + } + .tsd-sources { + margin-top: 1rem; + font-size: 0.875em; + } + .tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; + } + .tsd-sources ul { + list-style: none; + padding: 0; + } + + .tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: var(--dim-toolbar-border-bottom-width) var(--color-accent) + solid; + transition: transform 0.3s ease-in-out; + } + .tsd-page-toolbar a { + color: var(--color-text); + } + .tsd-toolbar-contents { display: flex; - flex-direction: column; + align-items: center; + height: var(--dim-toolbar-contents-height); + margin: 0 auto; + } + .tsd-toolbar-contents > .title { + font-weight: bold; + margin-right: auto; + } + #tsd-toolbar-links { + display: flex; + align-items: center; gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; + margin-right: 1rem; } - .has-menu .tsd-navigation { - max-height: 100%; + + .tsd-widget { + box-sizing: border-box; + display: inline-block; + opacity: 0.8; + height: 2.5rem; + width: 2.5rem; + transition: + opacity 0.1s, + background-color 0.1s; + text-align: center; + cursor: pointer; + border: none; + background-color: transparent; + } + .tsd-widget:hover { + opacity: 0.9; + } + .tsd-widget:active { + opacity: 1; + background-color: var(--color-accent); + } + #tsd-toolbar-menu-trigger { + display: none; } -} -/* one sidebar */ -@media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: 'sidebar content'; - margin: 2rem auto; + .tsd-member-summary-name { + display: inline-flex; + align-items: center; + padding: 0.25rem; + text-decoration: none; } - .col-sidebar { - grid-area: sidebar; + .tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + color: var(--color-text); + vertical-align: middle; } - .col-content { - grid-area: content; - padding: 0 1rem; + + .tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; } -} -@media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; + + .tsd-member-summary-name:hover > .tsd-anchor-icon svg, + .tsd-anchor-link:hover > .tsd-anchor-icon svg, + .tsd-anchor-icon:focus-visible svg { + visibility: visible; } - .site-menu { - margin-top: 1rem; + + .deprecated { + text-decoration: line-through !important; } -} -/* two sidebars */ -@media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); - grid-template-areas: 'sidebar content toc'; + .warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); } - .col-sidebar { - display: contents; + .tsd-kind-project { + color: var(--color-ts-project); + } + .tsd-kind-module { + color: var(--color-ts-module); + } + .tsd-kind-namespace { + color: var(--color-ts-namespace); + } + .tsd-kind-enum { + color: var(--color-ts-enum); + } + .tsd-kind-enum-member { + color: var(--color-ts-enum-member); + } + .tsd-kind-variable { + color: var(--color-ts-variable); + } + .tsd-kind-function { + color: var(--color-ts-function); + } + .tsd-kind-class { + color: var(--color-ts-class); + } + .tsd-kind-interface { + color: var(--color-ts-interface); + } + .tsd-kind-constructor { + color: var(--color-ts-constructor); + } + .tsd-kind-property { + color: var(--color-ts-property); + } + .tsd-kind-method { + color: var(--color-ts-method); + } + .tsd-kind-reference { + color: var(--color-ts-reference); + } + .tsd-kind-call-signature { + color: var(--color-ts-call-signature); + } + .tsd-kind-index-signature { + color: var(--color-ts-index-signature); + } + .tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); + } + .tsd-kind-parameter { + color: var(--color-ts-parameter); + } + .tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); + } + .tsd-kind-accessor { + color: var(--color-ts-accessor); + } + .tsd-kind-get-signature { + color: var(--color-ts-get-signature); + } + .tsd-kind-set-signature { + color: var(--color-ts-set-signature); + } + .tsd-kind-type-alias { + color: var(--color-ts-type-alias); } - .page-menu { - grid-area: toc; - padding-left: 1rem; + /* if we have a kind icon, don't color the text by kind */ + .tsd-kind-icon ~ span { + color: var(--color-text); } - .site-menu { - grid-area: sidebar; + + /* mobile */ + @media (max-width: 769px) { + #tsd-toolbar-menu-trigger { + display: inline-block; + /* temporary fix to vertically align, for compatibility */ + line-height: 2.5; + } + #tsd-toolbar-links { + display: none; + } + + .container-main { + display: flex; + } + .col-content { + float: none; + max-width: 100%; + width: 100%; + } + .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + .col-sidebar > *:last-child { + padding-bottom: 20px; + } + .overlay { + content: ''; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } } - .site-menu { - margin-top: 1rem 0; + /* one sidebar */ + @media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: 'sidebar content'; + --dim-container-main-margin-y: 2rem; + } + + .tsd-breadcrumb { + margin-top: 0; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } + } + @media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc( + 100vh - var(--dim-header-height) - var(--dim-footer-height) - 2 * + var(--dim-container-main-margin-y) + ); + overflow: auto; + position: sticky; + top: calc(var(--dim-header-height) + var(--dim-container-main-margin-y)); + } + .site-menu { + margin-top: 1rem; + } } - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; + /* two sidebars */ + @media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: 'sidebar content toc'; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 0rem; + } + + .page-menu, + .site-menu { + max-height: calc( + 100vh - var(--dim-header-height) - var(--dim-footer-height) - 2 * + var(--dim-container-main-margin-y) + ); + overflow: auto; + position: sticky; + top: calc(var(--dim-header-height) + var(--dim-container-main-margin-y)); + } } } diff --git a/docs/classes/TimeoutError.html b/docs/classes/TimeoutError.html index 6b629e21..99d9333b 100644 --- a/docs/classes/TimeoutError.html +++ b/docs/classes/TimeoutError.html @@ -1,5 +1,5 @@ - - + + @@ -12,6 +12,11 @@ +
-
-
-
+

- Hierarchy (view fullView Summary)

    -
  • +
  • BaseError
      -
    • TimeoutError
    • +
    • + TimeoutError +
@@ -87,7 +113,7 @@

  • Defined in utils/fetchWithTimeout.ts:3
  • @@ -95,28 +121,29 @@

    -
    +
    - + + +
    Index

    Constructors

    - + constructor @@ -125,10 +152,12 @@

    Constructors

    Properties

    - + type @@ -138,237 +167,239 @@

    Properties

    -
    -

    Constructors

    -
    - - -

    +
    +
    +

    Parameters

    +
      +
    • + msg: + string +
    • +
    +
    +

    + Returns + TimeoutError - - - - - - - -
    -

    Properties

    -
    - - -
    - type: - string -
    -

    + +
    - + - + +
    + + +

    Properties

    +
    +
    +
    + +
    + type: + string +
    + +
    +
    +
    +
    +
    +

    Creates a new user using the options provided.

    +
    +
    +

    Parameters

    + +
    +

    + Returns Promise<Partial<User>> +

    +

    + An instance of <a href="../types/User.html" + class="tsd-kind-type-alias">User</a>. +

    +
    + +
    + + + +
    + + -
    -
    - - -
    +
    +
    +

    + Exchanges a code obtained via + /authorize (w/PKCE) for the user's tokens +

    +
    +
    +

    Parameters

    + +
    +

    + Returns Promise<Credentials> +

    +

    + A prominse for a populated instance of <a + href="../types/Credentials.html" + class="tsd-kind-type-alias">Credentials</a>. +

    +
    + +
    + +
    + + + +
    +
    -
    - - -
    +
    +
    -
    - - -
    +
    + + - -

    - Returns Promise<Credentials> -

    -

    - A populated instance of - Credentials. -

    -
    - - - -
    -
    - - - +
    +
    + + - -

    - Returns Promise<Credentials> -

    -

    - A populated instance of - Credentials. -

    -
    - - - -
    -
    - - - +
    +
    + + - -

    - Returns string -

    -

    A URL to the logout endpoint with specified parameters

    -
    -

    See

    -

    - https://auth0.com/docs/api/authentication#logout -

    -
    - - - -
    -
    - - - +
    +
    +
    -
    - - - +
    +
    + + -
    -
    - - - +
    +
    + + -
    -
    - - - +
    +
    + + -
    -
    - - - +
    +
    + + +
    +
    + + -
    -
    - - - +
    +
    +
    -
    - - -
    +
    +
    -
    - - -
    +
    + + +
    +
    + + +
    - +