@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
588 lines (587 loc) • 10.7 kB
JavaScript
import { useRef as E, useState as F, useCallback as P, useMemo as Q, useEffect as X } from "react";
const Y = {
À: "A",
Á: "A",
Â: "A",
Ã: "A",
Ä: "A",
Å: "A",
Ấ: "A",
Ắ: "A",
Ẳ: "A",
Ẵ: "A",
Ặ: "A",
Æ: "AE",
Ầ: "A",
Ằ: "A",
Ȃ: "A",
Ç: "C",
Ḉ: "C",
È: "E",
É: "E",
Ê: "E",
Ë: "E",
Ế: "E",
Ḗ: "E",
Ề: "E",
Ḕ: "E",
Ḝ: "E",
Ȇ: "E",
Ì: "I",
Í: "I",
Î: "I",
Ï: "I",
Ḯ: "I",
Ȋ: "I",
Ð: "D",
Ñ: "N",
Ò: "O",
Ó: "O",
Ô: "O",
Õ: "O",
Ö: "O",
Ø: "O",
Ố: "O",
Ṍ: "O",
Ṓ: "O",
Ȏ: "O",
Ù: "U",
Ú: "U",
Û: "U",
Ü: "U",
Ý: "Y",
à: "a",
á: "a",
â: "a",
ã: "a",
ä: "a",
å: "a",
ấ: "a",
ắ: "a",
ẳ: "a",
ẵ: "a",
ặ: "a",
æ: "ae",
ầ: "a",
ằ: "a",
ȃ: "a",
ç: "c",
ḉ: "c",
è: "e",
é: "e",
ê: "e",
ë: "e",
ế: "e",
ḗ: "e",
ề: "e",
ḕ: "e",
ḝ: "e",
ȇ: "e",
ì: "i",
í: "i",
î: "i",
ï: "i",
ḯ: "i",
ȋ: "i",
ð: "d",
ñ: "n",
ò: "o",
ó: "o",
ô: "o",
õ: "o",
ö: "o",
ø: "o",
ố: "o",
ṍ: "o",
ṓ: "o",
ȏ: "o",
ù: "u",
ú: "u",
û: "u",
ü: "u",
ý: "y",
ÿ: "y",
Ā: "A",
ā: "a",
Ă: "A",
ă: "a",
Ą: "A",
ą: "a",
Ć: "C",
ć: "c",
Ĉ: "C",
ĉ: "c",
Ċ: "C",
ċ: "c",
Č: "C",
č: "c",
C̆: "C",
c̆: "c",
Ď: "D",
ď: "d",
Đ: "D",
đ: "d",
Ē: "E",
ē: "e",
Ĕ: "E",
ĕ: "e",
Ė: "E",
ė: "e",
Ę: "E",
ę: "e",
Ě: "E",
ě: "e",
Ĝ: "G",
Ǵ: "G",
ĝ: "g",
ǵ: "g",
Ğ: "G",
ğ: "g",
Ġ: "G",
ġ: "g",
Ģ: "G",
ģ: "g",
Ĥ: "H",
ĥ: "h",
Ħ: "H",
ħ: "h",
Ḫ: "H",
ḫ: "h",
Ĩ: "I",
ĩ: "i",
Ī: "I",
ī: "i",
Ĭ: "I",
ĭ: "i",
Į: "I",
į: "i",
İ: "I",
ı: "i",
IJ: "IJ",
ij: "ij",
Ĵ: "J",
ĵ: "j",
Ķ: "K",
ķ: "k",
Ḱ: "K",
ḱ: "k",
K̆: "K",
k̆: "k",
Ĺ: "L",
ĺ: "l",
Ļ: "L",
ļ: "l",
Ľ: "L",
ľ: "l",
Ŀ: "L",
ŀ: "l",
Ł: "l",
ł: "l",
Ḿ: "M",
ḿ: "m",
M̆: "M",
m̆: "m",
Ń: "N",
ń: "n",
Ņ: "N",
ņ: "n",
Ň: "N",
ň: "n",
ʼn: "n",
N̆: "N",
n̆: "n",
Ō: "O",
ō: "o",
Ŏ: "O",
ŏ: "o",
Ő: "O",
ő: "o",
Œ: "OE",
œ: "oe",
P̆: "P",
p̆: "p",
Ŕ: "R",
ŕ: "r",
Ŗ: "R",
ŗ: "r",
Ř: "R",
ř: "r",
R̆: "R",
r̆: "r",
Ȓ: "R",
ȓ: "r",
Ś: "S",
ś: "s",
Ŝ: "S",
ŝ: "s",
Ş: "S",
Ș: "S",
ș: "s",
ş: "s",
Š: "S",
š: "s",
Ţ: "T",
ţ: "t",
ț: "t",
Ț: "T",
Ť: "T",
ť: "t",
Ŧ: "T",
ŧ: "t",
T̆: "T",
t̆: "t",
Ũ: "U",
ũ: "u",
Ū: "U",
ū: "u",
Ŭ: "U",
ŭ: "u",
Ů: "U",
ů: "u",
Ű: "U",
ű: "u",
Ų: "U",
ų: "u",
Ȗ: "U",
ȗ: "u",
V̆: "V",
v̆: "v",
Ŵ: "W",
ŵ: "w",
Ẃ: "W",
ẃ: "w",
X̆: "X",
x̆: "x",
Ŷ: "Y",
ŷ: "y",
Ÿ: "Y",
Y̆: "Y",
y̆: "y",
Ź: "Z",
ź: "z",
Ż: "Z",
ż: "z",
Ž: "Z",
ž: "z",
ſ: "s",
ƒ: "f",
Ơ: "O",
ơ: "o",
Ư: "U",
ư: "u",
Ǎ: "A",
ǎ: "a",
Ǐ: "I",
ǐ: "i",
Ǒ: "O",
ǒ: "o",
Ǔ: "U",
ǔ: "u",
Ǖ: "U",
ǖ: "u",
Ǘ: "U",
ǘ: "u",
Ǚ: "U",
ǚ: "u",
Ǜ: "U",
ǜ: "u",
Ứ: "U",
ứ: "u",
Ṹ: "U",
ṹ: "u",
Ǻ: "A",
ǻ: "a",
Ǽ: "AE",
ǽ: "ae",
Ǿ: "O",
ǿ: "o",
Þ: "TH",
þ: "th",
Ṕ: "P",
ṕ: "p",
Ṥ: "S",
ṥ: "s",
X́: "X",
x́: "x",
Ѓ: "Г",
ѓ: "г",
Ќ: "К",
ќ: "к",
A̋: "A",
a̋: "a",
E̋: "E",
e̋: "e",
I̋: "I",
i̋: "i",
Ǹ: "N",
ǹ: "n",
Ồ: "O",
ồ: "o",
Ṑ: "O",
ṑ: "o",
Ừ: "U",
ừ: "u",
Ẁ: "W",
ẁ: "w",
Ỳ: "Y",
ỳ: "y",
Ȁ: "A",
ȁ: "a",
Ȅ: "E",
ȅ: "e",
Ȉ: "I",
ȉ: "i",
Ȍ: "O",
ȍ: "o",
Ȑ: "R",
ȑ: "r",
Ȕ: "U",
ȕ: "u",
B̌: "B",
b̌: "b",
Č̣: "C",
č̣: "c",
Ê̌: "E",
ê̌: "e",
F̌: "F",
f̌: "f",
Ǧ: "G",
ǧ: "g",
Ȟ: "H",
ȟ: "h",
J̌: "J",
ǰ: "j",
Ǩ: "K",
ǩ: "k",
M̌: "M",
m̌: "m",
P̌: "P",
p̌: "p",
Q̌: "Q",
q̌: "q",
Ř̩: "R",
ř̩: "r",
Ṧ: "S",
ṧ: "s",
V̌: "V",
v̌: "v",
W̌: "W",
w̌: "w",
X̌: "X",
x̌: "x",
Y̌: "Y",
y̌: "y",
A̧: "A",
a̧: "a",
B̧: "B",
b̧: "b",
Ḑ: "D",
ḑ: "d",
Ȩ: "E",
ȩ: "e",
Ɛ̧: "E",
ɛ̧: "e",
Ḩ: "H",
ḩ: "h",
I̧: "I",
i̧: "i",
Ɨ̧: "I",
ɨ̧: "i",
M̧: "M",
m̧: "m",
O̧: "O",
o̧: "o",
Q̧: "Q",
q̧: "q",
U̧: "U",
u̧: "u",
X̧: "X",
x̧: "x",
Z̧: "Z",
z̧: "z"
}, B = Object.keys(Y).join("|"), G = new RegExp(B, "g");
function J(e) {
return e.replace(G, (r) => Y[r]);
}
const A = {
CASE_SENSITIVE_EQUAL: 7,
EQUAL: 6,
STARTS_WITH: 5,
WORD_STARTS_WITH: 4,
CONTAINS: 3,
ACRONYM: 2,
MATCHES: 1,
NO_MATCH: 0
};
function tr(e, r, n) {
var u;
if (n = n || {}, n.threshold = (u = n.threshold) != null ? u : A.MATCHES, !n.accessors) {
const a = L(e, r, n);
return {
// ends up being duplicate of 'item' in matches but consistent
rankedValue: e,
rank: a,
accessorIndex: -1,
accessorThreshold: n.threshold,
passed: a >= n.threshold
};
}
const d = Z(e, n.accessors), c = {
rankedValue: e,
rank: A.NO_MATCH,
accessorIndex: -1,
accessorThreshold: n.threshold,
passed: !1
};
for (let a = 0; a < d.length; a++) {
const o = d[a];
let t = L(o.itemValue, r, n);
const {
minRanking: l,
maxRanking: s,
threshold: f = n.threshold
} = o.attributes;
t < l && t >= A.MATCHES ? t = l : t > s && (t = s), t = Math.min(t, s), t >= f && t > c.rank && (c.rank = t, c.passed = !0, c.accessorIndex = a, c.accessorThreshold = f, c.rankedValue = o.itemValue);
}
return c;
}
function L(e, r, n) {
return e = R(e, n), r = R(r, n), r.length > e.length ? A.NO_MATCH : e === r ? A.CASE_SENSITIVE_EQUAL : (e = e.toLowerCase(), r = r.toLowerCase(), e === r ? A.EQUAL : e.startsWith(r) ? A.STARTS_WITH : e.includes(` ${r}`) ? A.WORD_STARTS_WITH : e.includes(r) ? A.CONTAINS : r.length === 1 ? A.NO_MATCH : K(e).includes(r) ? A.ACRONYM : q(e, r));
}
function K(e) {
let r = "";
return e.split(" ").forEach((u) => {
u.split("-").forEach((c) => {
r += c.substr(0, 1);
});
}), r;
}
function q(e, r) {
let n = 0, u = 0;
function d(t, l, s) {
for (let f = s, y = l.length; f < y; f++)
if (l[f] === t)
return n += 1, f + 1;
return -1;
}
function c(t) {
const l = 1 / t, s = n / r.length;
return A.MATCHES + s * l;
}
const a = d(r[0], e, 0);
if (a < 0)
return A.NO_MATCH;
u = a;
for (let t = 1, l = r.length; t < l; t++) {
const s = r[t];
if (u = d(s, e, u), !(u > -1))
return A.NO_MATCH;
}
const o = u - a;
return c(o);
}
function R(e, r) {
let {
keepDiacritics: n
} = r;
return e = `${e}`, n || (e = J(e)), e;
}
function z(e, r) {
let n = r;
typeof r == "object" && (n = r.accessor);
const u = n(e);
return u == null ? [] : Array.isArray(u) ? u : [String(u)];
}
function Z(e, r) {
const n = [];
for (let u = 0, d = r.length; u < d; u++) {
const c = r[u], a = $(c), o = z(e, c);
for (let t = 0, l = o.length; t < l; t++)
n.push({
itemValue: o[t],
attributes: a
});
}
return n;
}
const D = {
maxRanking: 1 / 0,
minRanking: -1 / 0
};
function $(e) {
return typeof e == "function" ? D : {
...D,
...e
};
}
function rr(e, r, n, u) {
var d = this, c = E(null), a = E(0), o = E(0), t = E(null), l = E([]), s = E(), f = E(), y = E(e), I = E(!0), O = E(), S = E();
y.current = e;
var b = typeof window < "u", g = !r && r !== 0 && b;
if (typeof e != "function") throw new TypeError("Expected a function");
r = +r || 0;
var x = !!(n = n || {}).leading, H = !("trailing" in n) || !!n.trailing, U = !!n.flushOnExit && H, v = "maxWait" in n, V = "debounceOnServer" in n && !!n.debounceOnServer, N = v ? Math.max(+n.maxWait || 0, r) : null, _ = Q(function() {
var m = function(i) {
var h = l.current, C = s.current;
return l.current = s.current = null, a.current = i, o.current = o.current || i, f.current = y.current.apply(C, h);
}, M = function(i, h) {
g && cancelAnimationFrame(t.current), t.current = g ? requestAnimationFrame(i) : setTimeout(i, h);
}, k = function(i) {
if (!I.current) return !1;
var h = i - c.current;
return !c.current || h >= r || h < 0 || v && i - a.current >= N;
}, W = function(i) {
return t.current = null, H && l.current ? m(i) : (l.current = s.current = null, f.current);
}, w = function i() {
var h = Date.now();
if (x && o.current === a.current && j(), k(h)) return W(h);
if (I.current) {
var C = r - (h - c.current), p = v ? Math.min(C, N - (h - a.current)) : C;
M(i, p);
}
}, j = function() {
u && u({});
}, T = function() {
if (b || V) {
var i, h = Date.now(), C = k(h);
if (l.current = [].slice.call(arguments), s.current = d, c.current = h, U && !O.current && (O.current = function() {
var p;
((p = global.document) == null ? void 0 : p.visibilityState) === "hidden" && S.current.flush();
}, (i = global.document) == null || i.addEventListener == null || i.addEventListener("visibilitychange", O.current)), C) {
if (!t.current && I.current) return a.current = c.current, M(w, r), x ? m(c.current) : f.current;
if (v) return M(w, r), m(c.current);
}
return t.current || M(w, r), f.current;
}
};
return T.cancel = function() {
var i = t.current;
i && (g ? cancelAnimationFrame(t.current) : clearTimeout(t.current)), a.current = 0, l.current = c.current = s.current = t.current = null, i && u && u({});
}, T.isPending = function() {
return !!t.current;
}, T.flush = function() {
return t.current ? W(Date.now()) : f.current;
}, T;
}, [x, v, r, N, H, U, g, b, V, u]);
return S.current = _, X(function() {
return I.current = !0, function() {
var m;
U && S.current.flush(), O.current && ((m = global.document) == null || m.removeEventListener == null || m.removeEventListener("visibilitychange", O.current), O.current = null), I.current = !1;
};
}, [U]), _;
}
function er(e, r) {
return e === r;
}
function ur(e, r, n) {
var u = er, d = E(e), c = F({})[1], a = rr(P(function(t) {
d.current = t, c({});
}, [c]), r, n, c), o = E(e);
return u(o.current, e) || (a(e), o.current = e), [d.current, a];
}
export {
A as a,
rr as c,
ur as l,
tr as r
};