codeforlife 2.10.6 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -6
- package/dist/App-3VkR-ZEZ.js +27 -0
- package/dist/App-3VkR-ZEZ.js.map +1 -0
- package/dist/App-UfeajXtp.cjs +2 -0
- package/dist/App-UfeajXtp.cjs.map +1 -0
- package/dist/Countdown-BtUbr1J_.cjs +2 -0
- package/dist/{Countdown-CyJ-01oU.cjs.map → Countdown-BtUbr1J_.cjs.map} +1 -1
- package/dist/{Countdown-BTyB1rrK.js → Countdown-DhjAmB0u.js} +9 -9
- package/dist/{Countdown-BTyB1rrK.js.map → Countdown-DhjAmB0u.js.map} +1 -1
- package/dist/{Image-CgYjq-tA.cjs → Image-CgRVUblT.cjs} +2 -2
- package/dist/{Image-CgYjq-tA.cjs.map → Image-CgRVUblT.cjs.map} +1 -1
- package/dist/{Image-C-f2ChBh.js → Image-DTOu0h-V.js} +2 -2
- package/dist/{Image-C-f2ChBh.js.map → Image-DTOu0h-V.js.map} +1 -1
- package/dist/{LinkButton-BOPjG7_2.cjs → LinkButton-Kw2brLTK.cjs} +2 -2
- package/dist/{LinkButton-BOPjG7_2.cjs.map → LinkButton-Kw2brLTK.cjs.map} +1 -1
- package/dist/{LinkButton-Bk50AHHg.js → LinkButton-sQ5jgHnX.js} +3 -3
- package/dist/{LinkButton-Bk50AHHg.js.map → LinkButton-sQ5jgHnX.js.map} +1 -1
- package/dist/{Navigate-SL_oMjPc.js → Navigate-ClPcw87e.js} +3 -3
- package/dist/{Navigate-SL_oMjPc.js.map → Navigate-ClPcw87e.js.map} +1 -1
- package/dist/Navigate-CrMwdIBB.cjs +2 -0
- package/dist/{Navigate-C_sgy8Xs.cjs.map → Navigate-CrMwdIBB.cjs.map} +1 -1
- package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
- package/dist/api/endpoints/index.cjs.js +1 -1
- package/dist/api/endpoints/index.es.js +2 -2
- package/dist/api/index.cjs.js +3 -3
- package/dist/api/index.es.js +3 -3
- package/dist/api-9cnyvZj7.cjs +2 -0
- package/dist/{api-DIgp_6Vr.cjs.map → api-9cnyvZj7.cjs.map} +1 -1
- package/dist/{api-BvUiTeR7.js → api-BFYu8ZvQ.js} +2 -2
- package/dist/{api-BvUiTeR7.js.map → api-BFYu8ZvQ.js.map} +1 -1
- package/dist/{api-CaeeoZaI.cjs → api-CAH3GT1O.cjs} +2 -2
- package/dist/{api-CaeeoZaI.cjs.map → api-CAH3GT1O.cjs.map} +1 -1
- package/dist/{auth-CQ1InCxP.js → auth-Bb8WkZGN.js} +4 -4
- package/dist/{auth-CQ1InCxP.js.map → auth-Bb8WkZGN.js.map} +1 -1
- package/dist/auth-BwpsrTko.cjs +2 -0
- package/dist/{auth-B7Vdot4N.cjs.map → auth-BwpsrTko.cjs.map} +1 -1
- package/dist/client-BK9NlSVR.js +25208 -0
- package/dist/client-BK9NlSVR.js.map +1 -0
- package/dist/client-CmAMc2Wj.cjs +251 -0
- package/dist/client-CmAMc2Wj.cjs.map +1 -0
- package/dist/components/form/index.cjs.js +1 -1
- package/dist/components/form/index.es.js +1 -1
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.cjs.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.es.js +146 -182
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/page/index.cjs.js +1 -1
- package/dist/components/page/index.es.js +1 -1
- package/dist/components/router/index.cjs.js +1 -1
- package/dist/components/router/index.es.js +2 -2
- package/dist/components/table/index.cjs.js +1 -1
- package/dist/components/table/index.es.js +1 -1
- package/dist/features/index.cjs.js +1 -1
- package/dist/features/index.cjs.js.map +1 -1
- package/dist/features/index.es.js +10 -11
- package/dist/features/index.es.js.map +1 -1
- package/dist/general-Bo6JGvKB.cjs +2 -0
- package/dist/{general-BPbbmkeX.cjs.map → general-Bo6JGvKB.cjs.map} +1 -1
- package/dist/{general-CtTJPCJn.js → general-D7Hqi3gj.js} +3 -3
- package/dist/{general-CtTJPCJn.js.map → general-D7Hqi3gj.js.map} +1 -1
- package/dist/hooks/index.cjs.js +1 -1
- package/dist/hooks/index.es.js +2 -2
- package/dist/{index-CBPn0wyX.cjs → index-5C9hpxRF.cjs} +2 -2
- package/dist/{index-CBPn0wyX.cjs.map → index-5C9hpxRF.cjs.map} +1 -1
- package/dist/{index-Dfo744Sb.js → index-B3e_XaVG.js} +2 -2
- package/dist/{index-Dfo744Sb.js.map → index-B3e_XaVG.js.map} +1 -1
- package/dist/{index-CXYppxE3.cjs → index-B89FjK7v.cjs} +2 -2
- package/dist/{index-CXYppxE3.cjs.map → index-B89FjK7v.cjs.map} +1 -1
- package/dist/{index-CI5O_yH6.js → index-BRHFlEjS.js} +37 -39
- package/dist/{index-CI5O_yH6.js.map → index-BRHFlEjS.js.map} +1 -1
- package/dist/{index-D8Gc0IWi.js → index-CHboZsxD.js} +2 -2
- package/dist/{index-D8Gc0IWi.js.map → index-CHboZsxD.js.map} +1 -1
- package/dist/index-CwC9mpb3.cjs +2 -0
- package/dist/{index-B6aNVvMr.cjs.map → index-CwC9mpb3.cjs.map} +1 -1
- package/dist/{index-DCI-3m7f.cjs → index-DuArGzQE.cjs} +3 -3
- package/dist/{index-DCI-3m7f.cjs.map → index-DuArGzQE.cjs.map} +1 -1
- package/dist/{index-DcmDxIXA.js → index-hdS8RgRc.js} +5 -5
- package/dist/{index-DcmDxIXA.js.map → index-hdS8RgRc.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.es.js +6 -6
- package/dist/{jsx-runtime-Dszzpdy0.cjs → jsx-runtime-B2pbW5Fp.cjs} +3 -3
- package/dist/{jsx-runtime-Dszzpdy0.cjs.map → jsx-runtime-B2pbW5Fp.cjs.map} +1 -1
- package/dist/{jsx-runtime-C7wFtzyj.js → jsx-runtime-lzYHhGH3.js} +15 -15
- package/dist/{jsx-runtime-C7wFtzyj.js.map → jsx-runtime-lzYHhGH3.js.map} +1 -1
- package/dist/{schemas-D3tO0rys.js → schemas-BMQZbhti.js} +2 -2
- package/dist/{schemas-D3tO0rys.js.map → schemas-BMQZbhti.js.map} +1 -1
- package/dist/{schemas-CpAWhNsP.cjs → schemas-DXX4rh8i.cjs} +2 -2
- package/dist/{schemas-CpAWhNsP.cjs.map → schemas-DXX4rh8i.cjs.map} +1 -1
- package/dist/server/App.d.ts +15 -0
- package/dist/server/entry.cjs.js +209 -0
- package/dist/server/entry.cjs.js.map +1 -0
- package/dist/server/entry.d.ts +14 -0
- package/dist/server/entry.es.js +21885 -0
- package/dist/server/entry.es.js.map +1 -0
- package/dist/server/index.cjs.js +6 -0
- package/dist/server/index.cjs.js.map +1 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/{server.es.js → server/index.es.js} +19 -17
- package/dist/server/index.es.js.map +1 -0
- package/dist/settings/index.cjs.js +1 -1
- package/dist/settings/index.cjs.js.map +1 -1
- package/dist/settings/index.d.ts +1 -2
- package/dist/settings/index.es.js +5 -5
- package/dist/settings/index.es.js.map +1 -1
- package/dist/theme/components/index.cjs.js +1 -1
- package/dist/theme/components/index.es.js +1 -1
- package/dist/theme/index.cjs.js +1 -1
- package/dist/theme/index.cjs.js.map +1 -1
- package/dist/theme/index.d.ts +1 -2
- package/dist/theme/index.es.js +5 -5
- package/dist/theme/index.es.js.map +1 -1
- package/dist/{urls-RtSTEZfW.cjs → urls-CGZI0f1w.cjs} +2 -2
- package/dist/{urls-RtSTEZfW.cjs.map → urls-CGZI0f1w.cjs.map} +1 -1
- package/dist/{urls-5m9PgoEX.js → urls-DP4a8kxP.js} +2 -2
- package/dist/{urls-5m9PgoEX.js.map → urls-DP4a8kxP.js.map} +1 -1
- package/dist/utils/api.cjs.js +1 -1
- package/dist/utils/api.es.js +2 -2
- package/dist/utils/router.cjs.js +1 -1
- package/dist/utils/router.es.js +2 -2
- package/dist/utils/test.cjs.js +1 -250
- package/dist/utils/test.cjs.js.map +1 -1
- package/dist/utils/test.es.js +20 -25223
- package/dist/utils/test.es.js.map +1 -1
- package/dist/utils/theme.cjs.js +1 -1
- package/dist/utils/theme.es.js +2 -2
- package/package.json +16 -9
- package/dist/Countdown-CyJ-01oU.cjs +0 -2
- package/dist/Navigate-C_sgy8Xs.cjs +0 -2
- package/dist/api-DIgp_6Vr.cjs +0 -2
- package/dist/auth-B7Vdot4N.cjs +0 -2
- package/dist/components/App.d.ts +0 -18
- package/dist/general-BPbbmkeX.cjs +0 -2
- package/dist/index-B6aNVvMr.cjs +0 -2
- package/dist/server.cjs.js +0 -6
- package/dist/server.cjs.js.map +0 -1
- package/dist/server.es.js.map +0 -1
- /package/dist/{server.d.ts → server/server.d.ts} +0 -0
|
@@ -1,179 +1,144 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
import { i as
|
|
3
|
-
import { L as
|
|
4
|
-
import { L as
|
|
5
|
-
import { i as
|
|
6
|
-
import { j as
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import { C as
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
import { S as _t } from "../api-BvUiTeR7.js";
|
|
18
|
-
import { u as X } from "../api-Cs4Y-WeI.js";
|
|
19
|
-
const b = ({
|
|
20
|
-
path: e,
|
|
21
|
-
routes: s,
|
|
22
|
-
header: t = /* @__PURE__ */ o.jsx(o.Fragment, {}),
|
|
23
|
-
// TODO: "header = <Header />"
|
|
24
|
-
footer: n = /* @__PURE__ */ o.jsx(o.Fragment, {}),
|
|
25
|
-
// TODO: "footer = <Footer />"
|
|
26
|
-
headerExcludePaths: r = [],
|
|
27
|
-
footerExcludePaths: i = []
|
|
28
|
-
}) => /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
29
|
-
!r.includes(e) && t,
|
|
30
|
-
/* @__PURE__ */ o.jsx(z, { children: s }),
|
|
31
|
-
!i.includes(e) && n
|
|
32
|
-
] }), Z = (e) => {
|
|
33
|
-
const { pathname: s } = q();
|
|
34
|
-
return /* @__PURE__ */ o.jsx(b, { path: s, ...e });
|
|
35
|
-
}, lt = ({
|
|
36
|
-
path: e,
|
|
37
|
-
theme: s,
|
|
38
|
-
store: t,
|
|
39
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
40
|
-
maxIdleSeconds: n = 3600,
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
|
-
maxTotalSeconds: r = 3600,
|
|
43
|
-
...i
|
|
44
|
-
}) => /* @__PURE__ */ o.jsxs(O, { theme: s, children: [
|
|
45
|
-
/* @__PURE__ */ o.jsx(E, {}),
|
|
46
|
-
/* @__PURE__ */ o.jsx(P, {
|
|
47
|
-
store: t,
|
|
48
|
-
// https://github.com/remix-run/react-router/tree/main/examples/ssr
|
|
49
|
-
children: e !== void 0 ? /* @__PURE__ */ o.jsx(S, { location: e, children: /* @__PURE__ */ o.jsx(b, { path: e, ...i }) }) : /* @__PURE__ */ o.jsx(w, { children: /* @__PURE__ */ o.jsx(Z, { ...i }) })
|
|
50
|
-
})
|
|
51
|
-
] }), mt = ({
|
|
1
|
+
import { i as lt } from "../index-BRHFlEjS.js";
|
|
2
|
+
import { i as mt } from "../index-hdS8RgRc.js";
|
|
3
|
+
import { L as ft, a as dt, b as xt, c as gt, N as ht } from "../Navigate-ClPcw87e.js";
|
|
4
|
+
import { L as Lt } from "../LinkButton-sQ5jgHnX.js";
|
|
5
|
+
import { i as vt } from "../index-B3e_XaVG.js";
|
|
6
|
+
import { j as i } from "../jsx-runtime-lzYHhGH3.js";
|
|
7
|
+
import { Tooltip as C, IconButton as R, Button as b, useScrollTrigger as w, AppBar as O, Container as S, Toolbar as $, List as E, Grid as T, Link as M, Stack as U, TablePagination as D, Box as N } from "@mui/material";
|
|
8
|
+
import k, { useEffect as B, cloneElement as _ } from "react";
|
|
9
|
+
import { wrap as A } from "../utils/general.es.js";
|
|
10
|
+
import { ContentCopy as F, Download as G } from "@mui/icons-material";
|
|
11
|
+
import { C as kt } from "../Countdown-DhjAmB0u.js";
|
|
12
|
+
import { I as Bt } from "../Image-DTOu0h-V.js";
|
|
13
|
+
import { h as V } from "../api-BFYu8ZvQ.js";
|
|
14
|
+
import { S as Ct } from "../api-BFYu8ZvQ.js";
|
|
15
|
+
import { u as Y } from "../api-Cs4Y-WeI.js";
|
|
16
|
+
const X = ({
|
|
52
17
|
open: e = !1,
|
|
53
|
-
onClick:
|
|
18
|
+
onClick: o,
|
|
54
19
|
...t
|
|
55
20
|
}) => {
|
|
56
|
-
const [
|
|
57
|
-
return
|
|
58
|
-
|
|
59
|
-
}, [e]), /* @__PURE__ */
|
|
60
|
-
|
|
21
|
+
const [r, s] = k.useState(e);
|
|
22
|
+
return k.useEffect(() => {
|
|
23
|
+
s(e);
|
|
24
|
+
}, [e]), /* @__PURE__ */ i.jsx(
|
|
25
|
+
C,
|
|
61
26
|
{
|
|
62
|
-
open:
|
|
27
|
+
open: r,
|
|
63
28
|
onMouseOver: () => {
|
|
64
|
-
|
|
29
|
+
r || s(!0);
|
|
65
30
|
},
|
|
66
31
|
onMouseLeave: () => {
|
|
67
|
-
|
|
32
|
+
s(!1);
|
|
68
33
|
},
|
|
69
|
-
onClick:
|
|
34
|
+
onClick: A(
|
|
70
35
|
{
|
|
71
36
|
after: () => {
|
|
72
|
-
|
|
37
|
+
s(!r);
|
|
73
38
|
}
|
|
74
39
|
},
|
|
75
|
-
|
|
40
|
+
o
|
|
76
41
|
),
|
|
77
42
|
...t
|
|
78
43
|
}
|
|
79
44
|
);
|
|
80
|
-
},
|
|
45
|
+
}, Z = ({
|
|
81
46
|
content: e,
|
|
82
|
-
children:
|
|
47
|
+
children: o = /* @__PURE__ */ i.jsx(F, {}),
|
|
83
48
|
...t
|
|
84
|
-
}) => /* @__PURE__ */
|
|
85
|
-
|
|
49
|
+
}) => /* @__PURE__ */ i.jsx(
|
|
50
|
+
R,
|
|
86
51
|
{
|
|
87
52
|
"data-testid": "copy-icon-button",
|
|
88
53
|
onClick: () => {
|
|
89
54
|
navigator.clipboard.writeText(e);
|
|
90
55
|
},
|
|
91
56
|
...t,
|
|
92
|
-
children:
|
|
57
|
+
children: o
|
|
93
58
|
}
|
|
94
|
-
),
|
|
59
|
+
), I = ({
|
|
95
60
|
children: e = "Download",
|
|
96
|
-
endIcon:
|
|
61
|
+
endIcon: o = /* @__PURE__ */ i.jsx(G, {}),
|
|
97
62
|
file: t,
|
|
98
|
-
...
|
|
63
|
+
...r
|
|
99
64
|
}) => {
|
|
100
|
-
let
|
|
65
|
+
let s, a;
|
|
101
66
|
if ("mimeType" in t) {
|
|
102
|
-
const { text: c, mimeType:
|
|
103
|
-
let { extension:
|
|
104
|
-
|
|
105
|
-
download:
|
|
106
|
-
href: `data:text/${
|
|
67
|
+
const { text: c, mimeType: u, name: n, charset: m = "utf-8" } = t;
|
|
68
|
+
let { extension: f } = t;
|
|
69
|
+
f || (f = "." + { plain: "txt", csv: "csv" }[u]), a = {
|
|
70
|
+
download: n + f,
|
|
71
|
+
href: `data:text/${u};charset=${m},${encodeURIComponent(c)}`
|
|
107
72
|
};
|
|
108
73
|
} else
|
|
109
|
-
|
|
74
|
+
s = URL.createObjectURL(t), a = { href: s };
|
|
110
75
|
return B(() => () => {
|
|
111
|
-
|
|
112
|
-
}, [
|
|
113
|
-
},
|
|
76
|
+
s && URL.revokeObjectURL(s);
|
|
77
|
+
}, [s]), /* @__PURE__ */ i.jsx(b, { endIcon: o, ...r, ...a, children: e });
|
|
78
|
+
}, tt = ({
|
|
114
79
|
containerProps: e,
|
|
115
|
-
toolbarProps:
|
|
80
|
+
toolbarProps: o,
|
|
116
81
|
elevation: t = 4,
|
|
117
|
-
children:
|
|
118
|
-
...
|
|
82
|
+
children: r,
|
|
83
|
+
...s
|
|
119
84
|
}) => {
|
|
120
|
-
const
|
|
85
|
+
const a = w({
|
|
121
86
|
disableHysteresis: !0,
|
|
122
87
|
threshold: 0
|
|
123
88
|
});
|
|
124
|
-
return
|
|
125
|
-
/* @__PURE__ */
|
|
89
|
+
return _(
|
|
90
|
+
/* @__PURE__ */ i.jsx(O, { elevation: t, ...s, children: /* @__PURE__ */ i.jsx(S, { ...e, children: /* @__PURE__ */ i.jsx($, { ...o, children: r }) }) }),
|
|
126
91
|
{
|
|
127
|
-
position:
|
|
92
|
+
position: a ? "fixed" : "sticky"
|
|
128
93
|
}
|
|
129
94
|
);
|
|
130
|
-
},
|
|
95
|
+
}, et = ({
|
|
131
96
|
children: e,
|
|
132
|
-
inputProps:
|
|
97
|
+
inputProps: o,
|
|
133
98
|
...t
|
|
134
|
-
}) => /* @__PURE__ */
|
|
99
|
+
}) => /* @__PURE__ */ i.jsxs(b, { component: "label", ...t, children: [
|
|
135
100
|
e,
|
|
136
|
-
/* @__PURE__ */
|
|
137
|
-
] }),
|
|
101
|
+
/* @__PURE__ */ i.jsx("input", { type: "file", hidden: !0, ...o })
|
|
102
|
+
] }), ot = ({
|
|
138
103
|
styleType: e,
|
|
139
|
-
listProps:
|
|
104
|
+
listProps: o = {},
|
|
140
105
|
pl: t = 4,
|
|
141
|
-
children:
|
|
106
|
+
children: r
|
|
142
107
|
}) => {
|
|
143
|
-
const { sx:
|
|
144
|
-
return /* @__PURE__ */
|
|
145
|
-
|
|
108
|
+
const { sx: s, ...a } = o, c = { display: "list-item" };
|
|
109
|
+
return /* @__PURE__ */ i.jsx(
|
|
110
|
+
E,
|
|
146
111
|
{
|
|
147
112
|
sx: {
|
|
148
113
|
listStyleType: e,
|
|
149
114
|
pl: t,
|
|
150
115
|
".MuiListItem-root": c,
|
|
151
116
|
".MuiListItemText-root": c,
|
|
152
|
-
...
|
|
117
|
+
...s
|
|
153
118
|
},
|
|
154
|
-
...
|
|
155
|
-
children:
|
|
119
|
+
...a,
|
|
120
|
+
children: r
|
|
156
121
|
}
|
|
157
122
|
);
|
|
158
|
-
},
|
|
123
|
+
}, st = ({
|
|
159
124
|
rows: e,
|
|
160
|
-
containerProps:
|
|
125
|
+
containerProps: o = {},
|
|
161
126
|
globalItemProps: t
|
|
162
127
|
}) => {
|
|
163
|
-
const
|
|
164
|
-
const
|
|
165
|
-
return
|
|
128
|
+
const r = Number(o.columns ?? 12), s = (u) => Math.floor(r / u), a = (u, n, m) => Math.floor(n / s(m)) * e.length + u, c = (u, n) => {
|
|
129
|
+
const m = e[0].length % s(n);
|
|
130
|
+
return m !== 0 && u === e[0].length - 1 ? (r - m * n) / 2 : 0;
|
|
166
131
|
};
|
|
167
|
-
return /* @__PURE__ */
|
|
168
|
-
(
|
|
169
|
-
|
|
132
|
+
return /* @__PURE__ */ i.jsx(T, { container: !0, ...o, children: e.map(
|
|
133
|
+
(u, n) => u.map(({ element: m, itemProps: f = {} }, l) => /* @__PURE__ */ i.jsx(
|
|
134
|
+
T,
|
|
170
135
|
{
|
|
171
136
|
order: {
|
|
172
|
-
xs:
|
|
173
|
-
sm:
|
|
174
|
-
md:
|
|
175
|
-
lg:
|
|
176
|
-
xl:
|
|
137
|
+
xs: a(n, l, t.size.xs),
|
|
138
|
+
sm: a(n, l, t.size.sm),
|
|
139
|
+
md: a(n, l, t.size.md),
|
|
140
|
+
lg: a(n, l, t.size.lg),
|
|
141
|
+
xl: a(n, l, t.size.xl)
|
|
177
142
|
},
|
|
178
143
|
offset: {
|
|
179
144
|
xs: c(l, t.size.xs),
|
|
@@ -183,126 +148,125 @@ const b = ({
|
|
|
183
148
|
xl: c(l, t.size.xl)
|
|
184
149
|
},
|
|
185
150
|
...t,
|
|
186
|
-
...
|
|
187
|
-
children:
|
|
151
|
+
...f,
|
|
152
|
+
children: m
|
|
188
153
|
},
|
|
189
|
-
`${
|
|
154
|
+
`${n}-${l}`
|
|
190
155
|
))
|
|
191
156
|
) });
|
|
192
|
-
},
|
|
157
|
+
}, it = ({
|
|
193
158
|
elementId: e,
|
|
194
|
-
options:
|
|
159
|
+
options: o,
|
|
195
160
|
...t
|
|
196
|
-
}) => /* @__PURE__ */
|
|
197
|
-
|
|
161
|
+
}) => /* @__PURE__ */ i.jsx(
|
|
162
|
+
M,
|
|
198
163
|
{
|
|
199
164
|
...t,
|
|
200
165
|
onClick: () => {
|
|
201
|
-
document.getElementById(e)?.scrollIntoView(
|
|
166
|
+
document.getElementById(e)?.scrollIntoView(o);
|
|
202
167
|
}
|
|
203
168
|
}
|
|
204
|
-
),
|
|
169
|
+
), rt = ({
|
|
205
170
|
children: e,
|
|
206
|
-
useLazyListQuery:
|
|
171
|
+
useLazyListQuery: o,
|
|
207
172
|
preferCacheValue: t,
|
|
208
|
-
filters:
|
|
209
|
-
page:
|
|
210
|
-
rowsPerPage:
|
|
173
|
+
filters: r,
|
|
174
|
+
page: s = 0,
|
|
175
|
+
rowsPerPage: a = 50,
|
|
211
176
|
rowsPerPageOptions: c = [50, 100, 150],
|
|
212
|
-
stackProps:
|
|
213
|
-
onRowsPerPageChange:
|
|
214
|
-
onPageChange:
|
|
215
|
-
...
|
|
177
|
+
stackProps: u,
|
|
178
|
+
onRowsPerPageChange: n,
|
|
179
|
+
onPageChange: m,
|
|
180
|
+
...f
|
|
216
181
|
}) => {
|
|
217
|
-
const [l,
|
|
218
|
-
page:
|
|
219
|
-
limit:
|
|
182
|
+
const [l, j] = o(), [{ limit: d, page: L, offset: g }, y] = Y({
|
|
183
|
+
page: s,
|
|
184
|
+
limit: a
|
|
220
185
|
});
|
|
221
186
|
B(
|
|
222
187
|
() => {
|
|
223
|
-
l({ limit:
|
|
188
|
+
l({ limit: d, offset: g, ...r }, t);
|
|
224
189
|
},
|
|
225
190
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
226
191
|
[
|
|
227
192
|
l,
|
|
228
|
-
|
|
229
|
-
|
|
193
|
+
d,
|
|
194
|
+
g,
|
|
230
195
|
// eslint-disable-next-line react-hooks/exhaustive-deps,@typescript-eslint/no-unsafe-assignment
|
|
231
|
-
...Object.values(
|
|
196
|
+
...Object.values(r || {}),
|
|
232
197
|
t
|
|
233
198
|
]
|
|
234
199
|
);
|
|
235
|
-
const { count:
|
|
200
|
+
const { count: v, max_limit: h } = j.data || {};
|
|
236
201
|
return h && (c = c.filter(
|
|
237
202
|
(p) => p <= h
|
|
238
|
-
)), /* @__PURE__ */
|
|
239
|
-
|
|
240
|
-
|
|
203
|
+
)), /* @__PURE__ */ i.jsxs(U, { ...u, children: [
|
|
204
|
+
V(
|
|
205
|
+
j,
|
|
241
206
|
({ data: p }) => e(p, {
|
|
242
|
-
limit:
|
|
207
|
+
limit: d,
|
|
243
208
|
page: L,
|
|
244
|
-
offset:
|
|
245
|
-
count:
|
|
209
|
+
offset: g,
|
|
210
|
+
count: v,
|
|
246
211
|
maxLimit: h
|
|
247
212
|
})
|
|
248
213
|
),
|
|
249
|
-
/* @__PURE__ */
|
|
250
|
-
|
|
214
|
+
/* @__PURE__ */ i.jsx(
|
|
215
|
+
D,
|
|
251
216
|
{
|
|
252
217
|
component: "div",
|
|
253
|
-
count:
|
|
254
|
-
rowsPerPage:
|
|
218
|
+
count: v ?? 0,
|
|
219
|
+
rowsPerPage: d,
|
|
255
220
|
onRowsPerPageChange: (p) => {
|
|
256
|
-
|
|
221
|
+
y({ limit: parseInt(p.target.value), page: 0 }), n && n(p);
|
|
257
222
|
},
|
|
258
223
|
page: L,
|
|
259
|
-
onPageChange: (p,
|
|
260
|
-
|
|
224
|
+
onPageChange: (p, x) => {
|
|
225
|
+
y(({ limit: z }) => ({ limit: z, page: x })), m && m(p, x);
|
|
261
226
|
},
|
|
262
|
-
rowsPerPageOptions: c.sort((p,
|
|
263
|
-
...
|
|
227
|
+
rowsPerPageOptions: c.sort((p, x) => p - x),
|
|
228
|
+
...f
|
|
264
229
|
}
|
|
265
230
|
)
|
|
266
231
|
] });
|
|
267
|
-
},
|
|
232
|
+
}, nt = ({
|
|
268
233
|
src: e,
|
|
269
|
-
style:
|
|
234
|
+
style: o = {},
|
|
270
235
|
...t
|
|
271
|
-
}) => /* @__PURE__ */
|
|
272
|
-
|
|
236
|
+
}) => /* @__PURE__ */ i.jsx(
|
|
237
|
+
N,
|
|
273
238
|
{
|
|
274
239
|
component: "iframe",
|
|
275
240
|
width: "100%",
|
|
276
241
|
src: e,
|
|
277
242
|
title: "YouTube video player",
|
|
278
243
|
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen",
|
|
279
|
-
style: { border: "0px", aspectRatio: "16 / 9", ...
|
|
244
|
+
style: { border: "0px", aspectRatio: "16 / 9", ...o },
|
|
280
245
|
...t
|
|
281
246
|
}
|
|
282
247
|
);
|
|
283
248
|
export {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
ft as
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
Mt as tables
|
|
249
|
+
X as ClickableTooltip,
|
|
250
|
+
Z as CopyIconButton,
|
|
251
|
+
kt as Countdown,
|
|
252
|
+
I as DownloadFileButton,
|
|
253
|
+
tt as ElevatedAppBar,
|
|
254
|
+
Bt as Image,
|
|
255
|
+
et as InputFileButton,
|
|
256
|
+
ot as ItemizedList,
|
|
257
|
+
ft as Link,
|
|
258
|
+
Lt as LinkButton,
|
|
259
|
+
dt as LinkIconButton,
|
|
260
|
+
xt as LinkListItem,
|
|
261
|
+
gt as LinkTab,
|
|
262
|
+
ht as Navigate,
|
|
263
|
+
st as OrderedGrid,
|
|
264
|
+
it as ScrollIntoViewLink,
|
|
265
|
+
Ct as SyncError,
|
|
266
|
+
rt as TablePagination,
|
|
267
|
+
nt as YouTubeVideo,
|
|
268
|
+
lt as forms,
|
|
269
|
+
mt as pages,
|
|
270
|
+
vt as tables
|
|
307
271
|
};
|
|
308
272
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/components/App.tsx","../../src/components/ClickableTooltip.tsx","../../src/components/CopyIconButton.tsx","../../src/components/DownloadFileButton.tsx","../../src/components/ElevatedAppBar.tsx","../../src/components/InputFileButton.tsx","../../src/components/ItemizedList.tsx","../../src/components/OrderedGrid.tsx","../../src/components/ScrollIntoViewLink.tsx","../../src/components/TablePagination.tsx","../../src/components/YouTubeVideo.tsx"],"sourcesContent":["import { BrowserRouter, Routes as RouterRoutes } from \"react-router\"\nimport { CssBaseline, ThemeProvider } from \"@mui/material\"\nimport { type FC, type JSX, type ReactNode } from \"react\"\nimport { Provider, type ProviderProps } from \"react-redux\"\nimport { type Action } from \"redux\"\nimport { StaticRouter } from \"react-router\"\nimport { type ThemeProviderProps } from \"@mui/material\"\n\nimport \"./App.css\"\nimport { useLocation } from \"../hooks\"\n// import { InactiveDialog, ScreenTimeDialog } from \"../features\"\n// import { useCountdown, useEventListener } from \"../hooks\"\n// import \"../scripts\"\n// import {\n// configureFreshworksWidget,\n// toggleOneTrustInfoDisplay,\n// } from \"../utils/window\"\n\nexport interface AppProps<A extends Action = Action, S = unknown> {\n path?: string\n theme: ThemeProviderProps[\"theme\"]\n store: ProviderProps<A, S>[\"store\"]\n routes: ReactNode\n header?: ReactNode\n footer?: ReactNode\n headerExcludePaths?: string[]\n footerExcludePaths?: string[]\n maxIdleSeconds?: number\n maxTotalSeconds?: number\n}\n\ntype BaseRoutesProps = Pick<\n AppProps,\n \"routes\" | \"header\" | \"footer\" | \"headerExcludePaths\" | \"footerExcludePaths\"\n>\n\nconst Routes: FC<BaseRoutesProps & { path: string }> = ({\n path,\n routes,\n header = <></>, // TODO: \"header = <Header />\"\n footer = <></>, // TODO: \"footer = <Footer />\"\n headerExcludePaths = [],\n footerExcludePaths = [],\n}) => (\n <>\n {!headerExcludePaths.includes(path) && header}\n <RouterRoutes>{routes}</RouterRoutes>\n {!footerExcludePaths.includes(path) && footer}\n </>\n)\n\nconst BrowserRoutes: FC<BaseRoutesProps> = props => {\n const { pathname } = useLocation()\n\n return <Routes path={pathname} {...props} />\n}\n\nconst App = <A extends Action = Action, S = unknown>({\n path,\n theme,\n store,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxIdleSeconds = 60 * 60,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxTotalSeconds = 60 * 60,\n ...routesProps\n}: AppProps<A, S>): JSX.Element => {\n // TODO: cannot use document during SSR\n // const root = document.getElementById(\"root\") as HTMLElement\n\n // const [idleSeconds, setIdleSeconds] = useCountdown(maxIdleSeconds)\n // const [totalSeconds, setTotalSeconds] = useCountdown(maxTotalSeconds)\n // const resetIdleSeconds = useCallback(() => {\n // setIdleSeconds(maxIdleSeconds)\n // }, [setIdleSeconds, maxIdleSeconds])\n\n // const isIdle = idleSeconds === 0\n // const tooMuchScreenTime = totalSeconds === 0\n\n // useEventListener(root, \"mousemove\", resetIdleSeconds)\n // useEventListener(root, \"keypress\", resetIdleSeconds)\n\n // React.useEffect(() => {\n // configureFreshworksWidget(\"hide\")\n // }, [])\n\n // if (import.meta.env.PROD) {\n // toggleOneTrustInfoDisplay()\n // }\n\n return (\n <ThemeProvider theme={theme}>\n <CssBaseline />\n <Provider store={store}>\n {/* <InactiveDialog open={isIdle} onClose={resetIdleSeconds} />\n <ScreenTimeDialog\n open={!isIdle && tooMuchScreenTime}\n onClose={() => {\n setTotalSeconds(maxTotalSeconds)\n }}\n /> */}\n {\n // https://github.com/remix-run/react-router/tree/main/examples/ssr\n path !== undefined ? (\n <StaticRouter location={path}>\n <Routes path={path} {...routesProps} />\n </StaticRouter>\n ) : (\n <BrowserRouter>\n <BrowserRoutes {...routesProps} />\n </BrowserRouter>\n )\n }\n </Provider>\n </ThemeProvider>\n )\n}\n\nexport default App\n\n// TODO: figure out what to do with this\n// function useOneTrustScripts(): void {\n// const oneTrustEventTypes = [\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/consent/5da42396-cb12-4493-8d04-5179033cfbad/OtAutoBlock.js\",\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js\",\n// type: \"text/javascript\",\n// charset: \"UTF-8\",\n// },\n// attrs: {\n// \"data-domain-script\": \"5da42396-cb12-4493-8d04-5179033cfbad\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/202302.1.0/otBannerSdk.js\",\n// async: true,\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// ]\n// if (oneTrustEventTypes.some(t => t === \"error\")) {\n// alert(\"OneTrust failed to load!\")\n// }\n// }\n","import { Tooltip, type TooltipProps } from \"@mui/material\"\nimport React from \"react\"\n\nimport { wrap } from \"../utils/general\"\n\nexport interface ClickableTooltipProps extends TooltipProps {}\n\nconst ClickableTooltip: React.FC<ClickableTooltipProps> = ({\n open = false,\n onClick,\n ...otherTooltipProps\n}) => {\n const [_open, _setOpen] = React.useState(open)\n\n React.useEffect(() => {\n _setOpen(open)\n }, [open])\n\n return (\n <Tooltip\n open={_open}\n onMouseOver={() => {\n if (!_open) {\n _setOpen(true)\n }\n }}\n onMouseLeave={() => {\n _setOpen(false)\n }}\n onClick={wrap(\n {\n after: () => {\n _setOpen(!_open)\n },\n },\n onClick,\n )}\n {...otherTooltipProps}\n />\n )\n}\n\nexport default ClickableTooltip\n","import { IconButton, type IconButtonProps } from \"@mui/material\"\nimport { ContentCopy as ContentCopyIcon } from \"@mui/icons-material\"\nimport type { FC } from \"react\"\n\nexport interface CopyIconButtonProps extends Omit<IconButtonProps, \"onClick\"> {\n content: string\n}\n\nconst CopyIconButton: FC<CopyIconButtonProps> = ({\n content,\n children = <ContentCopyIcon />,\n ...otherIconButtonProps\n}) => {\n return (\n <IconButton\n data-testid=\"copy-icon-button\"\n onClick={() => {\n void navigator.clipboard.writeText(content)\n }}\n {...otherIconButtonProps}\n >\n {children}\n </IconButton>\n )\n}\n\nexport default CopyIconButton\n","import { Button, type ButtonProps } from \"@mui/material\"\nimport { type FC, useEffect } from \"react\"\nimport { Download as DownloadIcon } from \"@mui/icons-material\"\n\nexport type DownloadFileButtonProps = ButtonProps & {\n file:\n | Blob\n | MediaSource\n | {\n text: string\n mimeType: \"plain\" | \"csv\"\n name: string\n charset?: string\n extension?: string\n }\n}\n\nconst DownloadFileButton: FC<DownloadFileButtonProps> = ({\n children = \"Download\",\n endIcon = <DownloadIcon />,\n file,\n ...otherButtonProps\n}) => {\n let url: undefined | string = undefined\n let anchorProps: undefined | { download?: string; href: string } = undefined\n if (\"mimeType\" in file) {\n const { text, mimeType, name, charset = \"utf-8\" } = file\n let { extension } = file\n\n if (!extension) extension = \".\" + { plain: \"txt\", csv: \"csv\" }[mimeType]\n\n anchorProps = {\n download: name + extension,\n href: `data:text/${mimeType};charset=${charset},${encodeURIComponent(text)}`,\n }\n } else {\n url = URL.createObjectURL(file)\n\n anchorProps = { href: url }\n }\n\n useEffect(() => {\n return () => {\n if (url) URL.revokeObjectURL(url)\n }\n }, [url])\n\n return (\n <Button endIcon={endIcon} {...otherButtonProps} {...anchorProps}>\n {children}\n </Button>\n )\n}\n\nexport default DownloadFileButton\n","import {\n AppBar,\n type AppBarProps,\n Container,\n type ContainerProps,\n Toolbar,\n type ToolbarProps,\n useScrollTrigger,\n} from \"@mui/material\"\nimport { type FC, cloneElement } from \"react\"\n\nexport interface ElevatedAppBarProps extends Omit<AppBarProps, \"position\"> {\n containerProps: ContainerProps\n toolbarProps?: ToolbarProps\n}\n\nconst ElevatedAppBar: FC<ElevatedAppBarProps> = ({\n containerProps,\n toolbarProps,\n elevation = 4,\n children,\n ...otherProps\n}) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 0,\n })\n\n return cloneElement(\n <AppBar elevation={elevation} {...otherProps}>\n <Container {...containerProps}>\n <Toolbar {...toolbarProps}>{children}</Toolbar>\n </Container>\n </AppBar>,\n {\n position: trigger ? \"fixed\" : \"sticky\",\n },\n )\n}\n\nexport default ElevatedAppBar\n","import { Button, type ButtonProps } from \"@mui/material\"\nimport {\n type DetailedHTMLProps,\n type FC,\n type InputHTMLAttributes,\n} from \"react\"\n\nexport interface InputFileButtonProps\n extends Omit<ButtonProps<\"label\">, \"component\"> {\n inputProps?: Omit<\n DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>,\n \"type\" | \"hidden\"\n >\n}\n\nconst InputFileButton: FC<InputFileButtonProps> = ({\n children,\n inputProps,\n ...otherButtonProps\n}) => (\n <Button component=\"label\" {...otherButtonProps}>\n {children}\n <input type=\"file\" hidden {...inputProps} />\n </Button>\n)\n\nexport default InputFileButton\n","import { type FC, type ReactElement } from \"react\"\nimport {\n List,\n type ListItem,\n type ListItemText,\n type ListProps,\n} from \"@mui/material\"\n\ntype ListItemElement =\n | ReactElement<typeof ListItem | typeof ListItemText>\n | string\n\nexport interface ItemizedListProps {\n styleType:\n | \"unset\"\n | \"initial\"\n | \"inherit\"\n | \"upper-roman\"\n | \"upper-latin\"\n | \"upper-alpha\"\n | \"square\"\n | \"none\"\n | \"lower-roman\"\n | \"lower-latin\"\n | \"lower-greek\"\n | \"lower-alpha\"\n | \"georgian\"\n | \"disc\"\n | \"decimal-leading-zero\"\n | \"decimal\"\n | \"armenian\"\n | \"circle\"\n listProps?: ListProps\n pl?: number\n children: ListItemElement | ListItemElement[]\n}\n\nconst ItemizedList: FC<ItemizedListProps> = ({\n styleType,\n listProps = {},\n pl = 4,\n children,\n}) => {\n const { sx, ...otherProps } = listProps\n const listItemProps = { display: \"list-item\" }\n\n return (\n <List\n sx={{\n listStyleType: styleType,\n pl,\n \".MuiListItem-root\": listItemProps,\n \".MuiListItemText-root\": listItemProps,\n ...sx,\n }}\n {...otherProps}\n >\n {children}\n </List>\n )\n}\n\nexport default ItemizedList\n","import { type FC, type ReactElement } from \"react\"\nimport { Grid, type GridProps } from \"@mui/material\"\n\ninterface ItemProps\n extends Omit<GridProps, \"key\" | \"order\" | \"size\" | \"offset\"> {}\n\ninterface GlobalItemProps extends ItemProps {\n size: {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n }\n}\n\nexport interface OrderedGridProps {\n rows: Array<\n Array<{\n element: ReactElement\n itemProps?: ItemProps\n }>\n >\n containerProps?: Omit<GridProps, \"container\">\n globalItemProps: GlobalItemProps\n}\n\nconst OrderedGrid: FC<OrderedGridProps> = ({\n rows,\n containerProps = {},\n globalItemProps,\n}) => {\n const columns = Number(containerProps.columns ?? 12)\n\n const getItemsPerRow = (size: number): number => Math.floor(columns / size)\n\n const getOrder = (\n rowIndex: number,\n itemIndex: number,\n size: number,\n ): number =>\n Math.floor(itemIndex / getItemsPerRow(size)) * rows.length + rowIndex\n\n const getOffset = (itemIndex: number, size: number): number => {\n const itemsOnLastRow = rows[0].length % getItemsPerRow(size)\n return itemsOnLastRow !== 0 && itemIndex === rows[0].length - 1\n ? (columns - itemsOnLastRow * size) / 2\n : 0\n }\n\n return (\n <Grid container {...containerProps}>\n {rows.map((row, rowIndex) =>\n row.map(({ element, itemProps = {} }, itemIndex) => (\n <Grid\n key={`${rowIndex}-${itemIndex}`}\n order={{\n xs: getOrder(rowIndex, itemIndex, globalItemProps.size.xs),\n sm: getOrder(rowIndex, itemIndex, globalItemProps.size.sm),\n md: getOrder(rowIndex, itemIndex, globalItemProps.size.md),\n lg: getOrder(rowIndex, itemIndex, globalItemProps.size.lg),\n xl: getOrder(rowIndex, itemIndex, globalItemProps.size.xl),\n }}\n offset={{\n xs: getOffset(itemIndex, globalItemProps.size.xs),\n sm: getOffset(itemIndex, globalItemProps.size.sm),\n md: getOffset(itemIndex, globalItemProps.size.md),\n lg: getOffset(itemIndex, globalItemProps.size.lg),\n xl: getOffset(itemIndex, globalItemProps.size.xl),\n }}\n {...globalItemProps}\n {...itemProps}\n >\n {element}\n </Grid>\n )),\n )}\n </Grid>\n )\n}\n\nexport default OrderedGrid\n","import { Link, type LinkProps } from \"@mui/material\"\nimport { type FC } from \"react\"\nexport interface ScrollIntoViewLinkProps extends Omit<LinkProps, \"onClick\"> {\n elementId: string\n options?: ScrollIntoViewOptions\n}\n\nconst ScrollIntoViewLink: FC<ScrollIntoViewLinkProps> = ({\n elementId,\n options,\n ...linkProps\n}) => (\n <Link\n {...linkProps}\n onClick={() => {\n const element = document.getElementById(elementId)\n element?.scrollIntoView(options)\n }}\n />\n)\n\nexport default ScrollIntoViewLink\n","import {\n type ElementType,\n type JSX,\n type JSXElementConstructor,\n type ReactNode,\n useEffect,\n} from \"react\"\nimport {\n TablePagination as MuiTablePagination,\n type TablePaginationProps as MuiTablePaginationProps,\n Stack,\n type StackProps,\n type TablePaginationBaseProps,\n} from \"@mui/material\"\nimport type { TypedUseLazyQuery } from \"@reduxjs/toolkit/query/react\"\n\nimport { type ListArg, type ListResult, handleResultState } from \"../utils/api\"\nimport { type Pagination, usePagination } from \"../hooks/api\"\n\nexport type TablePaginationProps<\n QueryArg extends ListArg,\n ResultType extends ListResult<any>,\n RootComponent extends\n ElementType = JSXElementConstructor<TablePaginationBaseProps>,\n AdditionalProps = {},\n> = Omit<\n MuiTablePaginationProps<RootComponent, AdditionalProps>,\n | \"component\"\n | \"count\"\n | \"rowsPerPage\"\n | \"onRowsPerPageChange\"\n | \"rowsPerPageOptions\"\n | \"page\"\n | \"onPageChange\"\n> &\n Partial<\n Pick<\n MuiTablePaginationProps<RootComponent, AdditionalProps>,\n \"onRowsPerPageChange\" | \"onPageChange\"\n >\n > & {\n children: (\n data: ResultType[\"data\"],\n pagination: Pagination & { count?: number; maxLimit?: number },\n ) => ReactNode\n useLazyListQuery: TypedUseLazyQuery<ResultType, QueryArg, any>\n preferCacheValue?: boolean\n filters?: Omit<QueryArg, \"limit\" | \"offset\">\n rowsPerPageOptions?: number[]\n stackProps?: StackProps\n page?: number\n rowsPerPage?: number\n }\n\nconst TablePagination = <\n QueryArg extends ListArg,\n ResultType extends ListResult<any>,\n RootComponent extends\n ElementType = JSXElementConstructor<TablePaginationBaseProps>,\n AdditionalProps = {},\n>({\n children,\n useLazyListQuery,\n preferCacheValue,\n filters,\n page: initialPage = 0,\n rowsPerPage: initialLimit = 50,\n rowsPerPageOptions = [50, 100, 150],\n stackProps,\n onRowsPerPageChange,\n onPageChange,\n ...tablePaginationProps\n}: TablePaginationProps<\n QueryArg,\n ResultType,\n RootComponent,\n AdditionalProps\n>): JSX.Element => {\n const [trigger, result] = useLazyListQuery()\n const [{ limit, page, offset }, setPagination] = usePagination({\n page: initialPage,\n limit: initialLimit,\n })\n\n useEffect(\n () => {\n void trigger({ limit, offset, ...filters } as QueryArg, preferCacheValue)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n trigger,\n limit,\n offset,\n // eslint-disable-next-line react-hooks/exhaustive-deps,@typescript-eslint/no-unsafe-assignment\n ...Object.values(filters || {}),\n preferCacheValue,\n ],\n )\n\n const { count, max_limit } = result.data || {}\n\n if (max_limit) {\n rowsPerPageOptions = rowsPerPageOptions.filter(\n option => option <= max_limit,\n )\n }\n\n return (\n <Stack {...stackProps}>\n {handleResultState(result, ({ data }) =>\n children(data, {\n limit,\n page,\n offset,\n count,\n maxLimit: max_limit,\n }),\n )}\n <MuiTablePagination\n component=\"div\"\n count={count ?? 0}\n rowsPerPage={limit}\n onRowsPerPageChange={event => {\n setPagination({ limit: parseInt(event.target.value), page: 0 })\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (onRowsPerPageChange) onRowsPerPageChange(event)\n }}\n page={page}\n onPageChange={(event, page) => {\n setPagination(({ limit }) => ({ limit, page }))\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (onPageChange) onPageChange(event, page)\n }}\n // ascending order\n rowsPerPageOptions={rowsPerPageOptions.sort((a, b) => a - b)}\n {...tablePaginationProps}\n />\n </Stack>\n )\n}\n\nexport default TablePagination\n","import { Box, type BoxProps } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nexport interface YouTubeVideoProps extends Omit<BoxProps, \"component\"> {\n src: string\n}\n\nconst YouTubeVideo: FC<YouTubeVideoProps> = ({\n src,\n style = {},\n ...otherProps\n}) => {\n return (\n <Box\n component=\"iframe\"\n width=\"100%\"\n src={src}\n title=\"YouTube video player\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\"\n style={{ border: \"0px\", aspectRatio: \"16 / 9\", ...style }}\n {...otherProps}\n />\n )\n}\n\nexport default YouTubeVideo\n"],"names":["Routes","path","routes","header","jsx","Fragment","footer","headerExcludePaths","footerExcludePaths","jsxs","RouterRoutes","BrowserRoutes","props","pathname","useLocation","App","theme","store","maxIdleSeconds","maxTotalSeconds","routesProps","ThemeProvider","CssBaseline","Provider","StaticRouter","BrowserRouter","ClickableTooltip","open","onClick","otherTooltipProps","_open","_setOpen","React","Tooltip","wrap","CopyIconButton","content","children","ContentCopyIcon","otherIconButtonProps","IconButton","DownloadFileButton","endIcon","DownloadIcon","file","otherButtonProps","url","anchorProps","text","mimeType","name","charset","extension","useEffect","Button","ElevatedAppBar","containerProps","toolbarProps","elevation","otherProps","trigger","useScrollTrigger","cloneElement","AppBar","Container","Toolbar","InputFileButton","inputProps","ItemizedList","styleType","listProps","pl","sx","listItemProps","List","OrderedGrid","rows","globalItemProps","columns","getItemsPerRow","size","getOrder","rowIndex","itemIndex","getOffset","itemsOnLastRow","Grid","row","element","itemProps","ScrollIntoViewLink","elementId","options","linkProps","Link","TablePagination","useLazyListQuery","preferCacheValue","filters","initialPage","initialLimit","rowsPerPageOptions","stackProps","onRowsPerPageChange","onPageChange","tablePaginationProps","result","limit","page","offset","setPagination","usePagination","count","max_limit","option","Stack","handleResultState","data","MuiTablePagination","event","a","b","YouTubeVideo","src","style","Box"],"mappings":";;;;;;;;;;;;;;;;;;AAoCA,MAAMA,IAAiD,CAAC;AAAA,EACtD,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC,IAASC,gBAAAA,EAAAA,IAAAC,EAAAA,UAAA,EAAE;AAAA;AAAA,EACX,QAAAC,IAASF,gBAAAA,EAAAA,IAAAC,EAAAA,UAAA,EAAE;AAAA;AAAA,EACX,oBAAAE,IAAqB,CAAA;AAAA,EACrB,oBAAAC,IAAqB,CAAA;AACvB,MACEC,gBAAAA,EAAAA,KAAAJ,YAAA,EACG,UAAA;AAAA,EAAA,CAACE,EAAmB,SAASN,CAAI,KAAKE;AAAA,EACvCC,gBAAAA,EAAAA,IAACM,KAAc,UAAAR,EAAA,CAAO;AAAA,EACrB,CAACM,EAAmB,SAASP,CAAI,KAAKK;AAAA,GACzC,GAGIK,IAAqC,CAAAC,MAAS;AAClD,QAAM,EAAE,UAAAC,EAAA,IAAaC,EAAA;AAErB,SAAOV,gBAAAA,EAAAA,IAACJ,GAAA,EAAO,MAAMa,GAAW,GAAGD,GAAO;AAC5C,GAEMG,KAAM,CAAyC;AAAA,EACnD,MAAAd;AAAA,EACA,OAAAe;AAAA,EACA,OAAAC;AAAA;AAAA,EAEA,gBAAAC,IAAiB;AAAA;AAAA,EAEjB,iBAAAC,IAAkB;AAAA,EAClB,GAAGC;AACL,MAyBIX,gBAAAA,OAACY,KAAc,OAAAL,GACb,UAAA;AAAA,EAAAZ,gBAAAA,EAAAA,IAACkB,GAAA,EAAY;AAAA,EACblB,gBAAAA,EAAAA,IAACmB,GAAA;AAAA,IAAS,OAAAN;AAAA;AAAA,IAUN,gBAAS,SACPb,gBAAAA,EAAAA,IAACoB,KAAa,UAAUvB,GACtB,gCAACD,GAAA,EAAO,MAAAC,GAAa,GAAGmB,GAAa,EAAA,CACvC,IAEAhB,gBAAAA,EAAAA,IAACqB,GAAA,EACC,gCAACd,GAAA,EAAe,GAAGS,GAAa,EAAA,CAClC;AAAA,EAAA,CAGN;AAAA,GACF,GC3GEM,KAAoD,CAAC;AAAA,EACzD,MAAAC,IAAO;AAAA,EACP,SAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAASL,CAAI;AAE7C,SAAAK,EAAM,UAAU,MAAM;AACpB,IAAAD,EAASJ,CAAI;AAAA,EACf,GAAG,CAACA,CAAI,CAAC,GAGPvB,gBAAAA,EAAAA;AAAAA,IAAC6B;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,aAAa,MAAM;AACjB,QAAKA,KACHC,EAAS,EAAI;AAAA,MAEjB;AAAA,MACA,cAAc,MAAM;AAClB,QAAAA,EAAS,EAAK;AAAA,MAChB;AAAA,MACA,SAASG;AAAA,QACP;AAAA,UACE,OAAO,MAAM;AACX,YAAAH,EAAS,CAACD,CAAK;AAAA,UACjB;AAAA,QAAA;AAAA,QAEFF;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV,GChCMM,KAA0C,CAAC;AAAA,EAC/C,SAAAC;AAAA,EACA,UAAAC,0BAAYC,GAAA,EAAgB;AAAA,EAC5B,GAAGC;AACL,MAEInC,gBAAAA,EAAAA;AAAAA,EAACoC;AAAA,EAAA;AAAA,IACC,eAAY;AAAA,IACZ,SAAS,MAAM;AACb,MAAK,UAAU,UAAU,UAAUJ,CAAO;AAAA,IAC5C;AAAA,IACC,GAAGG;AAAA,IAEH,UAAAF;AAAA,EAAA;AAAA,GCJDI,KAAkD,CAAC;AAAA,EACvD,UAAAJ,IAAW;AAAA,EACX,SAAAK,0BAAWC,GAAA,EAAa;AAAA,EACxB,MAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,MAAIC,GACAC;AACJ,MAAI,cAAcH,GAAM;AACtB,UAAM,EAAE,MAAAI,GAAM,UAAAC,GAAU,MAAAC,GAAM,SAAAC,IAAU,YAAYP;AACpD,QAAI,EAAE,WAAAQ,MAAcR;AAEpB,IAAKQ,MAAWA,IAAY,MAAM,EAAE,OAAO,OAAO,KAAK,MAAA,EAAQH,CAAQ,IAEvEF,IAAc;AAAA,MACZ,UAAUG,IAAOE;AAAA,MACjB,MAAM,aAAaH,CAAQ,YAAYE,CAAO,IAAI,mBAAmBH,CAAI,CAAC;AAAA,IAAA;AAAA,EAE9E;AACE,IAAAF,IAAM,IAAI,gBAAgBF,CAAI,GAE9BG,IAAc,EAAE,MAAMD,EAAA;AAGxB,SAAAO,EAAU,MACD,MAAM;AACX,IAAIP,KAAK,IAAI,gBAAgBA,CAAG;AAAA,EAClC,GACC,CAACA,CAAG,CAAC,yBAGLQ,GAAA,EAAO,SAAAZ,GAAmB,GAAGG,GAAmB,GAAGE,GACjD,UAAAV,GACH;AAEJ,GCpCMkB,KAA0C,CAAC;AAAA,EAC/C,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAArB;AAAA,EACA,GAAGsB;AACL,MAAM;AACJ,QAAMC,IAAUC,EAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EAAA,CACZ;AAED,SAAOC;AAAA,IACL1D,gBAAAA,MAAC2D,GAAA,EAAO,WAAAL,GAAuB,GAAGC,GAChC,UAAAvD,gBAAAA,EAAAA,IAAC4D,GAAA,EAAW,GAAGR,GACb,gCAACS,GAAA,EAAS,GAAGR,GAAe,UAAApB,EAAA,CAAS,GACvC,GACF;AAAA,IACA;AAAA,MACE,UAAUuB,IAAU,UAAU;AAAA,IAAA;AAAA,EAChC;AAEJ,GCvBMM,KAA4C,CAAC;AAAA,EACjD,UAAA7B;AAAA,EACA,YAAA8B;AAAA,EACA,GAAGtB;AACL,MACEpC,gBAAAA,EAAAA,KAAC6C,GAAA,EAAO,WAAU,SAAS,GAAGT,GAC3B,UAAA;AAAA,EAAAR;AAAA,wBACA,SAAA,EAAM,MAAK,QAAO,QAAM,IAAE,GAAG8B,EAAA,CAAY;AAAA,EAAA,CAC5C,GCcIC,KAAsC,CAAC;AAAA,EAC3C,WAAAC;AAAA,EACA,WAAAC,IAAY,CAAA;AAAA,EACZ,IAAAC,IAAK;AAAA,EACL,UAAAlC;AACF,MAAM;AACJ,QAAM,EAAE,IAAAmC,GAAI,GAAGb,EAAA,IAAeW,GACxBG,IAAgB,EAAE,SAAS,YAAA;AAEjC,SACErE,gBAAAA,EAAAA;AAAAA,IAACsE;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,eAAeL;AAAA,QACf,IAAAE;AAAA,QACA,qBAAqBE;AAAA,QACrB,yBAAyBA;AAAA,QACzB,GAAGD;AAAA,MAAA;AAAA,MAEJ,GAAGb;AAAA,MAEH,UAAAtB;AAAA,IAAA;AAAA,EAAA;AAGP,GCjCMsC,KAAoC,CAAC;AAAA,EACzC,MAAAC;AAAA,EACA,gBAAApB,IAAiB,CAAA;AAAA,EACjB,iBAAAqB;AACF,MAAM;AACJ,QAAMC,IAAU,OAAOtB,EAAe,WAAW,EAAE,GAE7CuB,IAAiB,CAACC,MAAyB,KAAK,MAAMF,IAAUE,CAAI,GAEpEC,IAAW,CACfC,GACAC,GACAH,MAEA,KAAK,MAAMG,IAAYJ,EAAeC,CAAI,CAAC,IAAIJ,EAAK,SAASM,GAEzDE,IAAY,CAACD,GAAmBH,MAAyB;AAC7D,UAAMK,IAAiBT,EAAK,CAAC,EAAE,SAASG,EAAeC,CAAI;AAC3D,WAAOK,MAAmB,KAAKF,MAAcP,EAAK,CAAC,EAAE,SAAS,KACzDE,IAAUO,IAAiBL,KAAQ,IACpC;AAAA,EACN;AAEA,+BACGM,GAAA,EAAK,WAAS,IAAE,GAAG9B,GACjB,UAAAoB,EAAK;AAAA,IAAI,CAACW,GAAKL,MACdK,EAAI,IAAI,CAAC,EAAE,SAAAC,GAAS,WAAAC,IAAY,CAAA,KAAMN,MACpC/E,gBAAAA,EAAAA;AAAAA,MAACkF;AAAA,MAAA;AAAA,QAEC,OAAO;AAAA,UACL,IAAIL,EAASC,GAAUC,GAAWN,EAAgB,KAAK,EAAE;AAAA,UACzD,IAAII,EAASC,GAAUC,GAAWN,EAAgB,KAAK,EAAE;AAAA,UACzD,IAAII,EAASC,GAAUC,GAAWN,EAAgB,KAAK,EAAE;AAAA,UACzD,IAAII,EAASC,GAAUC,GAAWN,EAAgB,KAAK,EAAE;AAAA,UACzD,IAAII,EAASC,GAAUC,GAAWN,EAAgB,KAAK,EAAE;AAAA,QAAA;AAAA,QAE3D,QAAQ;AAAA,UACN,IAAIO,EAAUD,GAAWN,EAAgB,KAAK,EAAE;AAAA,UAChD,IAAIO,EAAUD,GAAWN,EAAgB,KAAK,EAAE;AAAA,UAChD,IAAIO,EAAUD,GAAWN,EAAgB,KAAK,EAAE;AAAA,UAChD,IAAIO,EAAUD,GAAWN,EAAgB,KAAK,EAAE;AAAA,UAChD,IAAIO,EAAUD,GAAWN,EAAgB,KAAK,EAAE;AAAA,QAAA;AAAA,QAEjD,GAAGA;AAAA,QACH,GAAGY;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,MAlBI,GAAGN,CAAQ,IAAIC,CAAS;AAAA,IAAA,CAoBhC;AAAA,EAAA,GAEL;AAEJ,GCxEMO,KAAkD,CAAC;AAAA,EACvD,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,MACEzF,gBAAAA,EAAAA;AAAAA,EAAC0F;AAAA,EAAA;AAAA,IACE,GAAGD;AAAA,IACJ,SAAS,MAAM;AAEb,MADgB,SAAS,eAAeF,CAAS,GACxC,eAAeC,CAAO;AAAA,IACjC;AAAA,EAAA;AACF,GCoCIG,KAAkB,CAMtB;AAAA,EACA,UAAA1D;AAAA,EACA,kBAAA2D;AAAA,EACA,kBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAMC,IAAc;AAAA,EACpB,aAAaC,IAAe;AAAA,EAC5B,oBAAAC,IAAqB,CAAC,IAAI,KAAK,GAAG;AAAA,EAClC,YAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAKmB;AACjB,QAAM,CAAC7C,GAAS8C,CAAM,IAAIV,EAAA,GACpB,CAAC,EAAE,OAAAW,GAAO,MAAAC,GAAM,QAAAC,KAAUC,CAAa,IAAIC,EAAc;AAAA,IAC7D,MAAMZ;AAAA,IACN,OAAOC;AAAA,EAAA,CACR;AAED,EAAA/C;AAAA,IACE,MAAM;AACJ,MAAKO,EAAQ,EAAE,OAAA+C,GAAO,QAAAE,GAAQ,GAAGX,EAAA,GAAuBD,CAAgB;AAAA,IAC1E;AAAA;AAAA,IAEA;AAAA,MACErC;AAAA,MACA+C;AAAA,MACAE;AAAA;AAAA,MAEA,GAAG,OAAO,OAAOX,KAAW,EAAE;AAAA,MAC9BD;AAAA,IAAA;AAAA,EACF;AAGF,QAAM,EAAE,OAAAe,GAAO,WAAAC,EAAA,IAAcP,EAAO,QAAQ,CAAA;AAE5C,SAAIO,MACFZ,IAAqBA,EAAmB;AAAA,IACtC,OAAUa,KAAUD;AAAA,EAAA,IAKtBxG,gBAAAA,EAAAA,KAAC0G,GAAA,EAAO,GAAGb,GACR,UAAA;AAAA,IAAAc;AAAA,MAAkBV;AAAA,MAAQ,CAAC,EAAE,MAAAW,EAAA,MAC5BhF,EAASgF,GAAM;AAAA,QACb,OAAAV;AAAA,QACA,MAAAC;AAAA,QACA,QAAAC;AAAA,QACA,OAAAG;AAAA,QACA,UAAUC;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,IAEH7G,gBAAAA,EAAAA;AAAAA,MAACkH;AAAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAON,KAAS;AAAA,QAChB,aAAaL;AAAA,QACb,qBAAqB,CAAAY,MAAS;AAC5B,UAAAT,EAAc,EAAE,OAAO,SAASS,EAAM,OAAO,KAAK,GAAG,MAAM,GAAG,GAE1DhB,OAAyCgB,CAAK;AAAA,QACpD;AAAA,QACA,MAAAX;AAAA,QACA,cAAc,CAACW,GAAOX,MAAS;AAC7B,UAAAE,EAAc,CAAC,EAAE,OAAAH,EAAAA,OAAa,EAAE,OAAAA,GAAO,MAAAC,EAAAA,EAAO,GAE1CJ,KAAcA,EAAae,GAAOX,CAAI;AAAA,QAC5C;AAAA,QAEA,oBAAoBP,EAAmB,KAAK,CAACmB,GAAGC,MAAMD,IAAIC,CAAC;AAAA,QAC1D,GAAGhB;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAEJ,GCpIMiB,KAAsC,CAAC;AAAA,EAC3C,KAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,GAAGjE;AACL,MAEIvD,gBAAAA,EAAAA;AAAAA,EAACyH;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,OAAM;AAAA,IACN,KAAAF;AAAA,IACA,OAAM;AAAA,IACN,OAAM;AAAA,IACN,OAAO,EAAE,QAAQ,OAAO,aAAa,UAAU,GAAGC,EAAA;AAAA,IACjD,GAAGjE;AAAA,EAAA;AAAA;"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/components/ClickableTooltip.tsx","../../src/components/CopyIconButton.tsx","../../src/components/DownloadFileButton.tsx","../../src/components/ElevatedAppBar.tsx","../../src/components/InputFileButton.tsx","../../src/components/ItemizedList.tsx","../../src/components/OrderedGrid.tsx","../../src/components/ScrollIntoViewLink.tsx","../../src/components/TablePagination.tsx","../../src/components/YouTubeVideo.tsx"],"sourcesContent":["import { Tooltip, type TooltipProps } from \"@mui/material\"\nimport React from \"react\"\n\nimport { wrap } from \"../utils/general\"\n\nexport interface ClickableTooltipProps extends TooltipProps {}\n\nconst ClickableTooltip: React.FC<ClickableTooltipProps> = ({\n open = false,\n onClick,\n ...otherTooltipProps\n}) => {\n const [_open, _setOpen] = React.useState(open)\n\n React.useEffect(() => {\n _setOpen(open)\n }, [open])\n\n return (\n <Tooltip\n open={_open}\n onMouseOver={() => {\n if (!_open) {\n _setOpen(true)\n }\n }}\n onMouseLeave={() => {\n _setOpen(false)\n }}\n onClick={wrap(\n {\n after: () => {\n _setOpen(!_open)\n },\n },\n onClick,\n )}\n {...otherTooltipProps}\n />\n )\n}\n\nexport default ClickableTooltip\n","import { IconButton, type IconButtonProps } from \"@mui/material\"\nimport { ContentCopy as ContentCopyIcon } from \"@mui/icons-material\"\nimport type { FC } from \"react\"\n\nexport interface CopyIconButtonProps extends Omit<IconButtonProps, \"onClick\"> {\n content: string\n}\n\nconst CopyIconButton: FC<CopyIconButtonProps> = ({\n content,\n children = <ContentCopyIcon />,\n ...otherIconButtonProps\n}) => {\n return (\n <IconButton\n data-testid=\"copy-icon-button\"\n onClick={() => {\n void navigator.clipboard.writeText(content)\n }}\n {...otherIconButtonProps}\n >\n {children}\n </IconButton>\n )\n}\n\nexport default CopyIconButton\n","import { Button, type ButtonProps } from \"@mui/material\"\nimport { type FC, useEffect } from \"react\"\nimport { Download as DownloadIcon } from \"@mui/icons-material\"\n\nexport type DownloadFileButtonProps = ButtonProps & {\n file:\n | Blob\n | MediaSource\n | {\n text: string\n mimeType: \"plain\" | \"csv\"\n name: string\n charset?: string\n extension?: string\n }\n}\n\nconst DownloadFileButton: FC<DownloadFileButtonProps> = ({\n children = \"Download\",\n endIcon = <DownloadIcon />,\n file,\n ...otherButtonProps\n}) => {\n let url: undefined | string = undefined\n let anchorProps: undefined | { download?: string; href: string } = undefined\n if (\"mimeType\" in file) {\n const { text, mimeType, name, charset = \"utf-8\" } = file\n let { extension } = file\n\n if (!extension) extension = \".\" + { plain: \"txt\", csv: \"csv\" }[mimeType]\n\n anchorProps = {\n download: name + extension,\n href: `data:text/${mimeType};charset=${charset},${encodeURIComponent(text)}`,\n }\n } else {\n url = URL.createObjectURL(file)\n\n anchorProps = { href: url }\n }\n\n useEffect(() => {\n return () => {\n if (url) URL.revokeObjectURL(url)\n }\n }, [url])\n\n return (\n <Button endIcon={endIcon} {...otherButtonProps} {...anchorProps}>\n {children}\n </Button>\n )\n}\n\nexport default DownloadFileButton\n","import {\n AppBar,\n type AppBarProps,\n Container,\n type ContainerProps,\n Toolbar,\n type ToolbarProps,\n useScrollTrigger,\n} from \"@mui/material\"\nimport { type FC, cloneElement } from \"react\"\n\nexport interface ElevatedAppBarProps extends Omit<AppBarProps, \"position\"> {\n containerProps: ContainerProps\n toolbarProps?: ToolbarProps\n}\n\nconst ElevatedAppBar: FC<ElevatedAppBarProps> = ({\n containerProps,\n toolbarProps,\n elevation = 4,\n children,\n ...otherProps\n}) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 0,\n })\n\n return cloneElement(\n <AppBar elevation={elevation} {...otherProps}>\n <Container {...containerProps}>\n <Toolbar {...toolbarProps}>{children}</Toolbar>\n </Container>\n </AppBar>,\n {\n position: trigger ? \"fixed\" : \"sticky\",\n },\n )\n}\n\nexport default ElevatedAppBar\n","import { Button, type ButtonProps } from \"@mui/material\"\nimport {\n type DetailedHTMLProps,\n type FC,\n type InputHTMLAttributes,\n} from \"react\"\n\nexport interface InputFileButtonProps\n extends Omit<ButtonProps<\"label\">, \"component\"> {\n inputProps?: Omit<\n DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>,\n \"type\" | \"hidden\"\n >\n}\n\nconst InputFileButton: FC<InputFileButtonProps> = ({\n children,\n inputProps,\n ...otherButtonProps\n}) => (\n <Button component=\"label\" {...otherButtonProps}>\n {children}\n <input type=\"file\" hidden {...inputProps} />\n </Button>\n)\n\nexport default InputFileButton\n","import { type FC, type ReactElement } from \"react\"\nimport {\n List,\n type ListItem,\n type ListItemText,\n type ListProps,\n} from \"@mui/material\"\n\ntype ListItemElement =\n | ReactElement<typeof ListItem | typeof ListItemText>\n | string\n\nexport interface ItemizedListProps {\n styleType:\n | \"unset\"\n | \"initial\"\n | \"inherit\"\n | \"upper-roman\"\n | \"upper-latin\"\n | \"upper-alpha\"\n | \"square\"\n | \"none\"\n | \"lower-roman\"\n | \"lower-latin\"\n | \"lower-greek\"\n | \"lower-alpha\"\n | \"georgian\"\n | \"disc\"\n | \"decimal-leading-zero\"\n | \"decimal\"\n | \"armenian\"\n | \"circle\"\n listProps?: ListProps\n pl?: number\n children: ListItemElement | ListItemElement[]\n}\n\nconst ItemizedList: FC<ItemizedListProps> = ({\n styleType,\n listProps = {},\n pl = 4,\n children,\n}) => {\n const { sx, ...otherProps } = listProps\n const listItemProps = { display: \"list-item\" }\n\n return (\n <List\n sx={{\n listStyleType: styleType,\n pl,\n \".MuiListItem-root\": listItemProps,\n \".MuiListItemText-root\": listItemProps,\n ...sx,\n }}\n {...otherProps}\n >\n {children}\n </List>\n )\n}\n\nexport default ItemizedList\n","import { type FC, type ReactElement } from \"react\"\nimport { Grid, type GridProps } from \"@mui/material\"\n\ninterface ItemProps\n extends Omit<GridProps, \"key\" | \"order\" | \"size\" | \"offset\"> {}\n\ninterface GlobalItemProps extends ItemProps {\n size: {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n }\n}\n\nexport interface OrderedGridProps {\n rows: Array<\n Array<{\n element: ReactElement\n itemProps?: ItemProps\n }>\n >\n containerProps?: Omit<GridProps, \"container\">\n globalItemProps: GlobalItemProps\n}\n\nconst OrderedGrid: FC<OrderedGridProps> = ({\n rows,\n containerProps = {},\n globalItemProps,\n}) => {\n const columns = Number(containerProps.columns ?? 12)\n\n const getItemsPerRow = (size: number): number => Math.floor(columns / size)\n\n const getOrder = (\n rowIndex: number,\n itemIndex: number,\n size: number,\n ): number =>\n Math.floor(itemIndex / getItemsPerRow(size)) * rows.length + rowIndex\n\n const getOffset = (itemIndex: number, size: number): number => {\n const itemsOnLastRow = rows[0].length % getItemsPerRow(size)\n return itemsOnLastRow !== 0 && itemIndex === rows[0].length - 1\n ? (columns - itemsOnLastRow * size) / 2\n : 0\n }\n\n return (\n <Grid container {...containerProps}>\n {rows.map((row, rowIndex) =>\n row.map(({ element, itemProps = {} }, itemIndex) => (\n <Grid\n key={`${rowIndex}-${itemIndex}`}\n order={{\n xs: getOrder(rowIndex, itemIndex, globalItemProps.size.xs),\n sm: getOrder(rowIndex, itemIndex, globalItemProps.size.sm),\n md: getOrder(rowIndex, itemIndex, globalItemProps.size.md),\n lg: getOrder(rowIndex, itemIndex, globalItemProps.size.lg),\n xl: getOrder(rowIndex, itemIndex, globalItemProps.size.xl),\n }}\n offset={{\n xs: getOffset(itemIndex, globalItemProps.size.xs),\n sm: getOffset(itemIndex, globalItemProps.size.sm),\n md: getOffset(itemIndex, globalItemProps.size.md),\n lg: getOffset(itemIndex, globalItemProps.size.lg),\n xl: getOffset(itemIndex, globalItemProps.size.xl),\n }}\n {...globalItemProps}\n {...itemProps}\n >\n {element}\n </Grid>\n )),\n )}\n </Grid>\n )\n}\n\nexport default OrderedGrid\n","import { Link, type LinkProps } from \"@mui/material\"\nimport { type FC } from \"react\"\nexport interface ScrollIntoViewLinkProps extends Omit<LinkProps, \"onClick\"> {\n elementId: string\n options?: ScrollIntoViewOptions\n}\n\nconst ScrollIntoViewLink: FC<ScrollIntoViewLinkProps> = ({\n elementId,\n options,\n ...linkProps\n}) => (\n <Link\n {...linkProps}\n onClick={() => {\n const element = document.getElementById(elementId)\n element?.scrollIntoView(options)\n }}\n />\n)\n\nexport default ScrollIntoViewLink\n","import {\n type ElementType,\n type JSX,\n type JSXElementConstructor,\n type ReactNode,\n useEffect,\n} from \"react\"\nimport {\n TablePagination as MuiTablePagination,\n type TablePaginationProps as MuiTablePaginationProps,\n Stack,\n type StackProps,\n type TablePaginationBaseProps,\n} from \"@mui/material\"\nimport type { TypedUseLazyQuery } from \"@reduxjs/toolkit/query/react\"\n\nimport { type ListArg, type ListResult, handleResultState } from \"../utils/api\"\nimport { type Pagination, usePagination } from \"../hooks/api\"\n\nexport type TablePaginationProps<\n QueryArg extends ListArg,\n ResultType extends ListResult<any>,\n RootComponent extends\n ElementType = JSXElementConstructor<TablePaginationBaseProps>,\n AdditionalProps = {},\n> = Omit<\n MuiTablePaginationProps<RootComponent, AdditionalProps>,\n | \"component\"\n | \"count\"\n | \"rowsPerPage\"\n | \"onRowsPerPageChange\"\n | \"rowsPerPageOptions\"\n | \"page\"\n | \"onPageChange\"\n> &\n Partial<\n Pick<\n MuiTablePaginationProps<RootComponent, AdditionalProps>,\n \"onRowsPerPageChange\" | \"onPageChange\"\n >\n > & {\n children: (\n data: ResultType[\"data\"],\n pagination: Pagination & { count?: number; maxLimit?: number },\n ) => ReactNode\n useLazyListQuery: TypedUseLazyQuery<ResultType, QueryArg, any>\n preferCacheValue?: boolean\n filters?: Omit<QueryArg, \"limit\" | \"offset\">\n rowsPerPageOptions?: number[]\n stackProps?: StackProps\n page?: number\n rowsPerPage?: number\n }\n\nconst TablePagination = <\n QueryArg extends ListArg,\n ResultType extends ListResult<any>,\n RootComponent extends\n ElementType = JSXElementConstructor<TablePaginationBaseProps>,\n AdditionalProps = {},\n>({\n children,\n useLazyListQuery,\n preferCacheValue,\n filters,\n page: initialPage = 0,\n rowsPerPage: initialLimit = 50,\n rowsPerPageOptions = [50, 100, 150],\n stackProps,\n onRowsPerPageChange,\n onPageChange,\n ...tablePaginationProps\n}: TablePaginationProps<\n QueryArg,\n ResultType,\n RootComponent,\n AdditionalProps\n>): JSX.Element => {\n const [trigger, result] = useLazyListQuery()\n const [{ limit, page, offset }, setPagination] = usePagination({\n page: initialPage,\n limit: initialLimit,\n })\n\n useEffect(\n () => {\n void trigger({ limit, offset, ...filters } as QueryArg, preferCacheValue)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n trigger,\n limit,\n offset,\n // eslint-disable-next-line react-hooks/exhaustive-deps,@typescript-eslint/no-unsafe-assignment\n ...Object.values(filters || {}),\n preferCacheValue,\n ],\n )\n\n const { count, max_limit } = result.data || {}\n\n if (max_limit) {\n rowsPerPageOptions = rowsPerPageOptions.filter(\n option => option <= max_limit,\n )\n }\n\n return (\n <Stack {...stackProps}>\n {handleResultState(result, ({ data }) =>\n children(data, {\n limit,\n page,\n offset,\n count,\n maxLimit: max_limit,\n }),\n )}\n <MuiTablePagination\n component=\"div\"\n count={count ?? 0}\n rowsPerPage={limit}\n onRowsPerPageChange={event => {\n setPagination({ limit: parseInt(event.target.value), page: 0 })\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (onRowsPerPageChange) onRowsPerPageChange(event)\n }}\n page={page}\n onPageChange={(event, page) => {\n setPagination(({ limit }) => ({ limit, page }))\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (onPageChange) onPageChange(event, page)\n }}\n // ascending order\n rowsPerPageOptions={rowsPerPageOptions.sort((a, b) => a - b)}\n {...tablePaginationProps}\n />\n </Stack>\n )\n}\n\nexport default TablePagination\n","import { Box, type BoxProps } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nexport interface YouTubeVideoProps extends Omit<BoxProps, \"component\"> {\n src: string\n}\n\nconst YouTubeVideo: FC<YouTubeVideoProps> = ({\n src,\n style = {},\n ...otherProps\n}) => {\n return (\n <Box\n component=\"iframe\"\n width=\"100%\"\n src={src}\n title=\"YouTube video player\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\"\n style={{ border: \"0px\", aspectRatio: \"16 / 9\", ...style }}\n {...otherProps}\n />\n )\n}\n\nexport default YouTubeVideo\n"],"names":["ClickableTooltip","open","onClick","otherTooltipProps","_open","_setOpen","React","jsx","Tooltip","wrap","CopyIconButton","content","children","ContentCopyIcon","otherIconButtonProps","IconButton","DownloadFileButton","endIcon","DownloadIcon","file","otherButtonProps","url","anchorProps","text","mimeType","name","charset","extension","useEffect","Button","ElevatedAppBar","containerProps","toolbarProps","elevation","otherProps","trigger","useScrollTrigger","cloneElement","AppBar","Container","Toolbar","InputFileButton","inputProps","jsxs","ItemizedList","styleType","listProps","pl","sx","listItemProps","List","OrderedGrid","rows","globalItemProps","columns","getItemsPerRow","size","getOrder","rowIndex","itemIndex","getOffset","itemsOnLastRow","Grid","row","element","itemProps","ScrollIntoViewLink","elementId","options","linkProps","Link","TablePagination","useLazyListQuery","preferCacheValue","filters","initialPage","initialLimit","rowsPerPageOptions","stackProps","onRowsPerPageChange","onPageChange","tablePaginationProps","result","limit","page","offset","setPagination","usePagination","count","max_limit","option","Stack","handleResultState","data","MuiTablePagination","event","a","b","YouTubeVideo","src","style","Box"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../index-5C9hpxRF.cjs");exports.Banner=e.Banner;exports.Notification=e.Notification;exports.Page=e.Page;exports.Section=e.Section;exports.TabBar=e.TabBar;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../Navigate-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../Navigate-CrMwdIBB.cjs"),n=require("../../LinkButton-Kw2brLTK.cjs");exports.Link=t.Link;exports.LinkIconButton=t.LinkIconButton;exports.LinkListItem=t.LinkListItem;exports.LinkTab=t.LinkTab;exports.Navigate=t.Navigate;exports.LinkButton=n.LinkButton;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as n, a as L, b as i, c as o, N as s } from "../../Navigate-
|
|
2
|
-
import { L as e } from "../../LinkButton-
|
|
1
|
+
import { L as n, a as L, b as i, c as o, N as s } from "../../Navigate-ClPcw87e.js";
|
|
2
|
+
import { L as e } from "../../LinkButton-sQ5jgHnX.js";
|
|
3
3
|
export {
|
|
4
4
|
n as Link,
|
|
5
5
|
e as LinkButton,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../index-CwC9mpb3.cjs"),t=require("@mui/material");exports.CellStack=e.CellStack;exports.Table=e.Table;Object.defineProperty(exports,"BodyRow",{enumerable:!0,get:()=>t.TableRow});Object.defineProperty(exports,"Cell",{enumerable:!0,get:()=>t.TableCell});
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|