wcz-test 6.24.14 → 6.25.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/dist/ApprovalStatus-lESbUD_x.js +1 -0
- package/dist/ApprovalStatus-lESbUD_x.js.map +1 -0
- package/dist/DialogsContext-2Yy6yhzQ.js +1 -0
- package/dist/DialogsContext-2Yy6yhzQ.js.map +1 -0
- package/dist/DialogsHooks-DWkC9zAf.js +1 -0
- package/dist/DialogsHooks-DWkC9zAf.js.map +1 -0
- package/dist/FileHooks-CltSzAf8.js +300 -0
- package/dist/FileHooks-CltSzAf8.js.map +1 -0
- package/dist/FileMeta-Bzeo3ie9.js +1 -0
- package/dist/FileMeta-Bzeo3ie9.js.map +1 -0
- package/dist/RouterListItemButton-C_SG0uka.js +1 -0
- package/dist/RouterListItemButton-C_SG0uka.js.map +1 -0
- package/dist/components.js +2 -1
- package/dist/components.js.map +1 -0
- package/dist/env-4ZoUrNqp.js +1 -0
- package/dist/env-4ZoUrNqp.js.map +1 -0
- package/dist/hooks.js +1 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.js +334 -331
- package/dist/index.js.map +1 -0
- package/dist/models.js +1 -0
- package/dist/models.js.map +1 -0
- package/dist/queries.js +2 -1
- package/dist/queries.js.map +1 -0
- package/dist/queryClient--EvGPhnh.js +1 -0
- package/dist/queryClient--EvGPhnh.js.map +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -0
- package/dist/session-7yb0BETM.js +1 -0
- package/dist/session-7yb0BETM.js.map +1 -0
- package/dist/utils-CZraUjBd.js +1 -0
- package/dist/utils-CZraUjBd.js.map +1 -0
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -0
- package/dist/vite.js +12 -11
- package/dist/vite.js.map +1 -0
- package/package.json +9 -10
- package/dist/FileHooks-kGkVKOf9.js +0 -2694
- package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalStatus-lESbUD_x.js","sources":["../src/models/approval/ApprovalStepResult.ts","../src/models/approval/ApprovalStatus.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const ApprovalStepResult = z.enum([\n \"NotAvailable\",\n \"FutureApproval\",\n \"WaitingForApproval\",\n \"Approved\",\n \"Rejected\",\n \"Skipped\",\n \"Withdrawn\",\n \"Cancelled\"\n]);","import z from \"zod\";\n\nexport const ApprovalStatus = z.enum([\n \"WaitingForApproval\",\n \"Approved\",\n \"PartiallyApproved\",\n \"Rejected\",\n \"Withdrawn\",\n \"Cancelled\"\n]);"],"names":["ApprovalStepResult","z","enum","ApprovalStatus"],"mappings":";AAEO,MAAMA,IAAqBC,EAAEC,KAAK,CACrC,gBACA,kBACA,sBACA,YACA,YACA,WACA,aACA,WAAW,CACd,GCTYC,IAAiBF,EAAEC,KAAK,CACjC,sBACA,YACA,qBACA,YACA,aACA,WAAW,CACd;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogsContext-2Yy6yhzQ.js","sources":["../src/contexts/DialogsContext.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport type { CloseDialog, OpenDialog } from \"../hooks/DialogsHooks\";\n\nexport interface DialogsContextValue {\n open: OpenDialog;\n close: CloseDialog;\n}\n\nexport const DialogsContext = createContext<DialogsContextValue>({} as DialogsContextValue);"],"names":["DialogsContext","createContext"],"mappings":";AAQO,MAAMA,IAAiBC,EAAmC,CAAA,CAAyB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogsHooks-DWkC9zAf.js","sources":["../src/hooks/DialogsHooks.tsx"],"sourcesContent":["import { Button, Dialog, DialogActions, DialogContent, DialogTitle, useEventCallback } from \"@mui/material\";\nimport { useContext } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { DialogsContext } from \"../contexts/DialogsContext\";\nimport type { ReactNode } from \"react\";\n\nexport interface OpenDialogOptions<TResult> {\n onClose?: (result: TResult) => Promise<void>;\n}\n\nexport interface AlertOptions {\n title?: ReactNode;\n}\n\nexport interface ConfirmOptions {\n title?: ReactNode;\n cancelText?: ReactNode;\n}\n\nexport interface DialogProps<TPayload = undefined, TResult = void> {\n payload: TPayload;\n open: boolean;\n onClose: (result: TResult) => Promise<void>;\n}\n\nexport type OpenAlertDialog = (message: ReactNode, options?: AlertOptions) => Promise<void>;\n\nexport type OpenConfirmDialog = (message: ReactNode, options?: ConfirmOptions) => Promise<boolean>;\n\nexport type DialogComponent<TPayload, TResult> = React.ComponentType<DialogProps<TPayload, TResult>>;\n\nexport interface OpenDialog {\n <TPayload extends undefined, TResult>(Component: DialogComponent<TPayload, TResult>, payload?: TPayload, options?: OpenDialogOptions<TResult>): Promise<TResult>;\n <TPayload, TResult>(Component: DialogComponent<TPayload, TResult>, payload: TPayload, options?: OpenDialogOptions<TResult>): Promise<TResult>;\n}\n\nexport type CloseDialog = <TResult>(dialog: Promise<TResult>, result: TResult) => Promise<TResult>;\n\nexport interface AlertDialogPayload extends AlertOptions {\n message: ReactNode;\n}\n\nexport type AlertDialogProps = DialogProps<AlertDialogPayload, void>\n\nexport function AlertDialog({ open, payload, onClose }: Readonly<AlertDialogProps>) {\n const { t } = useTranslation();\n\n return (\n <Dialog maxWidth=\"xs\" fullWidth open={open} onClose={() => onClose()} disableRestoreFocus>\n <DialogTitle>{payload.title ?? t(\"Layout.Dialog.Alert\")}</DialogTitle>\n <DialogContent>{payload.message}</DialogContent>\n <DialogActions>\n <Button onClick={() => onClose()} autoFocus>\n {t(\"Layout.Dialog.Confirm\")}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport interface ConfirmDialogPayload extends ConfirmOptions {\n message: ReactNode;\n}\n\nexport type ConfirmDialogProps = DialogProps<ConfirmDialogPayload, boolean>\n\nexport function ConfirmDialog({ open, payload, onClose }: Readonly<ConfirmDialogProps>) {\n const { t } = useTranslation();\n\n return (\n <Dialog maxWidth=\"xs\" fullWidth open={open} onClose={() => onClose(false)} disableRestoreFocus>\n <DialogTitle>{payload.title ?? t(\"Layout.Dialog.Confirm\")}</DialogTitle>\n <DialogContent>{payload.message}</DialogContent>\n <DialogActions>\n <Button onClick={() => onClose(false)}>\n {payload.cancelText ?? t(\"Layout.Dialog.Cancel\")}\n </Button>\n <Button onClick={() => onClose(true)} autoFocus>\n {t(\"Layout.Dialog.Confirm\")}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\ninterface DialogHook {\n alert: OpenAlertDialog;\n confirm: OpenConfirmDialog;\n open: OpenDialog;\n close: CloseDialog;\n}\n\nexport function useDialogs(): DialogHook {\n const { open, close } = useContext(DialogsContext);\n\n const alert = useEventCallback<OpenAlertDialog>((message, { ...options } = {}) =>\n open(AlertDialog, { ...options, message }),\n );\n\n const confirm = useEventCallback<OpenConfirmDialog>((message, { ...options } = {}) =>\n open(ConfirmDialog, { ...options, message }),\n );\n\n return { alert, confirm, open, close };\n}\n"],"names":["AlertDialog","t0","$","_c","open","payload","onClose","t","useTranslation","t1","t2","title","t3","jsx","DialogTitle","t4","message","DialogContent","t5","t6","t7","DialogActions","Button","t8","Dialog","ConfirmDialog","cancelText","t9","t10","t11","t12","useDialogs","close","useContext","DialogsContext","options","undefined","alert","useEventCallback","message_0","options_0","confirm"],"mappings":"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"}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { c as d } from "react/compiler-runtime";
|
|
2
|
+
import { useQuery as T, useMutation as N, useQueryClient as _ } from "@tanstack/react-query";
|
|
3
|
+
import g from "file-saver";
|
|
4
|
+
import { useState as I } from "react";
|
|
5
|
+
import { Upload as P } from "tus-js-client";
|
|
6
|
+
import { uuidv7 as w } from "uuidv7";
|
|
7
|
+
import h from "zod";
|
|
8
|
+
import { F as U } from "./FileMeta-Bzeo3ie9.js";
|
|
9
|
+
import { t as R, h as p } from "./utils-CZraUjBd.js";
|
|
10
|
+
import { c as v } from "./env-4ZoUrNqp.js";
|
|
11
|
+
const l = "file", $ = 1e3 * 60 * 60, m = R(v.VITE_APP_TITLE);
|
|
12
|
+
h.object({
|
|
13
|
+
appName: h.string().min(1).max(255).default(m).optional(),
|
|
14
|
+
subId: h.uuid()
|
|
15
|
+
});
|
|
16
|
+
const se = (t, n) => {
|
|
17
|
+
const e = d(12);
|
|
18
|
+
let a;
|
|
19
|
+
e[0] !== t.appName || e[1] !== t.subId ? (a = new URLSearchParams(), a.append("appName", t.appName ?? m), a.append("subId", t.subId), e[0] = t.appName, e[1] = t.subId, e[2] = a) : a = e[2];
|
|
20
|
+
const u = t.appName ?? m;
|
|
21
|
+
let i;
|
|
22
|
+
e[3] !== t.subId || e[4] !== u ? (i = [l, "meta", u, t.subId], e[3] = t.subId, e[4] = u, e[5] = i) : i = e[5];
|
|
23
|
+
let r;
|
|
24
|
+
e[6] !== a ? (r = (c) => {
|
|
25
|
+
const {
|
|
26
|
+
signal: o
|
|
27
|
+
} = c;
|
|
28
|
+
return p.request({
|
|
29
|
+
url: `/${l}/v1/meta?${a.toString()}`,
|
|
30
|
+
method: "GET",
|
|
31
|
+
signal: o
|
|
32
|
+
}).then(L);
|
|
33
|
+
}, e[6] = a, e[7] = r) : r = e[7];
|
|
34
|
+
let s;
|
|
35
|
+
return e[8] !== n || e[9] !== i || e[10] !== r ? (s = {
|
|
36
|
+
...n,
|
|
37
|
+
queryKey: i,
|
|
38
|
+
queryFn: r,
|
|
39
|
+
staleTime: $,
|
|
40
|
+
gcTime: $,
|
|
41
|
+
refetchOnWindowFocus: !1
|
|
42
|
+
}, e[8] = n, e[9] = i, e[10] = r, e[11] = s) : s = e[11], T(s);
|
|
43
|
+
};
|
|
44
|
+
h.object({
|
|
45
|
+
appName: h.string().min(1).max(255).default(m).optional(),
|
|
46
|
+
meta: U.nullish()
|
|
47
|
+
});
|
|
48
|
+
const ie = (t, n) => {
|
|
49
|
+
const e = d(13);
|
|
50
|
+
let a;
|
|
51
|
+
e[0] !== t.appName || e[1] !== t.meta?.id ? (a = new URLSearchParams(), a.append("appName", t.appName ?? m), a.append("id", t.meta?.id ?? ""), e[0] = t.appName, e[1] = t.meta?.id, e[2] = a) : a = e[2];
|
|
52
|
+
const u = t.appName ?? m, i = t.meta?.id;
|
|
53
|
+
let r;
|
|
54
|
+
e[3] !== u || e[4] !== i ? (r = [l, "thumbnail", u, i], e[3] = u, e[4] = i, e[5] = r) : r = e[5];
|
|
55
|
+
let s;
|
|
56
|
+
e[6] !== a ? (s = (f) => {
|
|
57
|
+
const {
|
|
58
|
+
signal: b
|
|
59
|
+
} = f;
|
|
60
|
+
return p.request({
|
|
61
|
+
url: `/${l}/v1/thumbnail?${a.toString()}`,
|
|
62
|
+
method: "GET",
|
|
63
|
+
signal: b,
|
|
64
|
+
responseType: "blob"
|
|
65
|
+
}).then(x);
|
|
66
|
+
}, e[6] = a, e[7] = s) : s = e[7];
|
|
67
|
+
const c = !!t.meta && n?.enabled !== !1;
|
|
68
|
+
let o;
|
|
69
|
+
return e[8] !== n || e[9] !== r || e[10] !== s || e[11] !== c ? (o = {
|
|
70
|
+
...n,
|
|
71
|
+
queryKey: r,
|
|
72
|
+
queryFn: s,
|
|
73
|
+
select: K,
|
|
74
|
+
staleTime: $,
|
|
75
|
+
gcTime: $,
|
|
76
|
+
refetchOnWindowFocus: !1,
|
|
77
|
+
enabled: c
|
|
78
|
+
}, e[8] = n, e[9] = r, e[10] = s, e[11] = c, e[12] = o) : o = e[12], T(o);
|
|
79
|
+
};
|
|
80
|
+
h.object({
|
|
81
|
+
appName: h.string().min(1).max(255).default(m).optional(),
|
|
82
|
+
meta: U.nullish()
|
|
83
|
+
});
|
|
84
|
+
const le = (t, n) => {
|
|
85
|
+
const e = d(13);
|
|
86
|
+
let a;
|
|
87
|
+
e[0] !== t.appName || e[1] !== t.meta?.id ? (a = new URLSearchParams(), a.append("appName", t.appName ?? m), a.append("id", t.meta?.id ?? ""), e[0] = t.appName, e[1] = t.meta?.id, e[2] = a) : a = e[2];
|
|
88
|
+
const u = t.appName ?? m, i = t.meta?.id;
|
|
89
|
+
let r;
|
|
90
|
+
e[3] !== u || e[4] !== i ? (r = [l, u, i], e[3] = u, e[4] = i, e[5] = r) : r = e[5];
|
|
91
|
+
let s;
|
|
92
|
+
e[6] !== a ? (s = (f) => {
|
|
93
|
+
const {
|
|
94
|
+
signal: b
|
|
95
|
+
} = f;
|
|
96
|
+
return p.request({
|
|
97
|
+
url: `/${l}/v1?${a.toString()}`,
|
|
98
|
+
method: "GET",
|
|
99
|
+
signal: b,
|
|
100
|
+
responseType: "blob"
|
|
101
|
+
}).then(O);
|
|
102
|
+
}, e[6] = a, e[7] = s) : s = e[7];
|
|
103
|
+
const c = !!t.meta && n?.enabled !== !1;
|
|
104
|
+
let o;
|
|
105
|
+
return e[8] !== n || e[9] !== r || e[10] !== s || e[11] !== c ? (o = {
|
|
106
|
+
...n,
|
|
107
|
+
queryKey: r,
|
|
108
|
+
queryFn: s,
|
|
109
|
+
select: C,
|
|
110
|
+
staleTime: $,
|
|
111
|
+
gcTime: $,
|
|
112
|
+
refetchOnWindowFocus: !1,
|
|
113
|
+
enabled: c
|
|
114
|
+
}, e[8] = n, e[9] = r, e[10] = s, e[11] = c, e[12] = o) : o = e[12], T(o);
|
|
115
|
+
}, oe = (t) => {
|
|
116
|
+
const n = d(2);
|
|
117
|
+
let e;
|
|
118
|
+
return n[0] !== t ? (e = {
|
|
119
|
+
...t,
|
|
120
|
+
mutationFn: A,
|
|
121
|
+
onSuccess: Q
|
|
122
|
+
}, n[0] = t, n[1] = e) : e = n[1], N(e);
|
|
123
|
+
}, me = (t) => {
|
|
124
|
+
const n = d(2);
|
|
125
|
+
let e;
|
|
126
|
+
return n[0] !== t ? (e = {
|
|
127
|
+
...t,
|
|
128
|
+
mutationFn: D,
|
|
129
|
+
onSuccess: M
|
|
130
|
+
}, n[0] = t, n[1] = e) : e = n[1], N(e);
|
|
131
|
+
}, ce = (t) => {
|
|
132
|
+
const n = d(5), e = _();
|
|
133
|
+
let a;
|
|
134
|
+
n[0] !== e ? (a = () => e.invalidateQueries({
|
|
135
|
+
queryKey: [l, "meta"],
|
|
136
|
+
exact: !1
|
|
137
|
+
}), n[0] = e, n[1] = a) : a = n[1];
|
|
138
|
+
let u;
|
|
139
|
+
return n[2] !== t || n[3] !== a ? (u = {
|
|
140
|
+
...t,
|
|
141
|
+
mutationFn: W,
|
|
142
|
+
onSettled: a
|
|
143
|
+
}, n[2] = t, n[3] = a, n[4] = u) : u = n[4], N(u);
|
|
144
|
+
}, de = (t) => {
|
|
145
|
+
const n = d(5), e = _();
|
|
146
|
+
let a;
|
|
147
|
+
n[0] !== e ? (a = () => e.invalidateQueries({
|
|
148
|
+
queryKey: [l, "meta"],
|
|
149
|
+
exact: !1
|
|
150
|
+
}), n[0] = e, n[1] = a) : a = n[1];
|
|
151
|
+
let u;
|
|
152
|
+
return n[2] !== t || n[3] !== a ? (u = {
|
|
153
|
+
...t,
|
|
154
|
+
mutationFn: H,
|
|
155
|
+
onSettled: a
|
|
156
|
+
}, n[2] = t, n[3] = a, n[4] = u) : u = n[4], N(u);
|
|
157
|
+
}, fe = (t) => {
|
|
158
|
+
const n = d(5), e = _();
|
|
159
|
+
let a;
|
|
160
|
+
n[0] !== e ? (a = () => e.invalidateQueries({
|
|
161
|
+
queryKey: [l, "meta"],
|
|
162
|
+
exact: !1
|
|
163
|
+
}), n[0] = e, n[1] = a) : a = n[1];
|
|
164
|
+
let u;
|
|
165
|
+
return n[2] !== t || n[3] !== a ? (u = {
|
|
166
|
+
...t,
|
|
167
|
+
mutationFn: k,
|
|
168
|
+
onSettled: a
|
|
169
|
+
}, n[2] = t, n[3] = a, n[4] = u) : u = n[4], N(u);
|
|
170
|
+
}, pe = (t) => {
|
|
171
|
+
const n = d(8), {
|
|
172
|
+
subId: e,
|
|
173
|
+
onSuccess: a,
|
|
174
|
+
onError: u
|
|
175
|
+
} = t, [i, r] = I(0), s = _();
|
|
176
|
+
let c;
|
|
177
|
+
n[0] !== u || n[1] !== a || n[2] !== s || n[3] !== e ? (c = async (b) => {
|
|
178
|
+
if (!e)
|
|
179
|
+
throw new Error("subId is required for file upload");
|
|
180
|
+
const y = {
|
|
181
|
+
id: w(),
|
|
182
|
+
appName: m,
|
|
183
|
+
subId: e,
|
|
184
|
+
fileName: b.name
|
|
185
|
+
}, E = new P(b, {
|
|
186
|
+
endpoint: `${v.VITE_API_URL}/${l}/v1/upload`,
|
|
187
|
+
chunkSize: 1048576,
|
|
188
|
+
metadata: {
|
|
189
|
+
id: y.id,
|
|
190
|
+
appName: y.appName,
|
|
191
|
+
subId: y.subId,
|
|
192
|
+
fileName: y.fileName,
|
|
193
|
+
fileExtension: b.type
|
|
194
|
+
},
|
|
195
|
+
headers: {
|
|
196
|
+
Authorization: "Bearer YOUR_ACCESS_TOKEN_HERE"
|
|
197
|
+
},
|
|
198
|
+
onError: (q) => {
|
|
199
|
+
r(0), u?.(q);
|
|
200
|
+
},
|
|
201
|
+
onProgress: (q, S) => {
|
|
202
|
+
r(q / S * 100);
|
|
203
|
+
},
|
|
204
|
+
onSuccess: () => {
|
|
205
|
+
r(0), s.invalidateQueries({
|
|
206
|
+
queryKey: [l, "meta", e],
|
|
207
|
+
exact: !1
|
|
208
|
+
}), a?.(y);
|
|
209
|
+
}
|
|
210
|
+
}), F = await E.findPreviousUploads();
|
|
211
|
+
F.length > 0 && E.resumeFromPreviousUpload(F[0]), E.start();
|
|
212
|
+
}, n[0] = u, n[1] = a, n[2] = s, n[3] = e, n[4] = c) : c = n[4];
|
|
213
|
+
const o = c;
|
|
214
|
+
let f;
|
|
215
|
+
return n[5] !== o || n[6] !== i ? (f = {
|
|
216
|
+
mutate: o,
|
|
217
|
+
progress: i
|
|
218
|
+
}, n[5] = o, n[6] = i, n[7] = f) : f = n[7], f;
|
|
219
|
+
};
|
|
220
|
+
function L(t) {
|
|
221
|
+
return t.data;
|
|
222
|
+
}
|
|
223
|
+
function x(t) {
|
|
224
|
+
return t.data;
|
|
225
|
+
}
|
|
226
|
+
function K(t) {
|
|
227
|
+
return URL.createObjectURL(t);
|
|
228
|
+
}
|
|
229
|
+
function O(t) {
|
|
230
|
+
return t.data;
|
|
231
|
+
}
|
|
232
|
+
function C(t) {
|
|
233
|
+
return URL.createObjectURL(t);
|
|
234
|
+
}
|
|
235
|
+
function G(t) {
|
|
236
|
+
return t.data;
|
|
237
|
+
}
|
|
238
|
+
function A(t) {
|
|
239
|
+
return p.request({
|
|
240
|
+
url: `/${l}/v1/download?appName=${m}&id=${t.id}`,
|
|
241
|
+
method: "GET",
|
|
242
|
+
responseType: "blob"
|
|
243
|
+
}).then(G);
|
|
244
|
+
}
|
|
245
|
+
function Q(t, n) {
|
|
246
|
+
return g(t, `${n.fileName}.${n.fileExtension}`);
|
|
247
|
+
}
|
|
248
|
+
function j(t) {
|
|
249
|
+
return t.data;
|
|
250
|
+
}
|
|
251
|
+
function D(t) {
|
|
252
|
+
return p.request({
|
|
253
|
+
url: `/${l}/v1?appName=${m}&id=${t.id}`,
|
|
254
|
+
method: "GET",
|
|
255
|
+
responseType: "blob"
|
|
256
|
+
}).then(j);
|
|
257
|
+
}
|
|
258
|
+
function M(t) {
|
|
259
|
+
window.open(URL.createObjectURL(t));
|
|
260
|
+
}
|
|
261
|
+
function z(t) {
|
|
262
|
+
return t.data;
|
|
263
|
+
}
|
|
264
|
+
function W(t) {
|
|
265
|
+
return p.request({
|
|
266
|
+
url: `/${l}/v1/meta?appName=${m}&id=${t.id}`,
|
|
267
|
+
method: "PUT",
|
|
268
|
+
data: t
|
|
269
|
+
}).then(z);
|
|
270
|
+
}
|
|
271
|
+
function Y(t) {
|
|
272
|
+
return t.data;
|
|
273
|
+
}
|
|
274
|
+
function H(t) {
|
|
275
|
+
return p.request({
|
|
276
|
+
url: `/${l}/v1?appName=${m}&id=${t.id}`,
|
|
277
|
+
method: "DELETE"
|
|
278
|
+
}).then(Y);
|
|
279
|
+
}
|
|
280
|
+
function V(t) {
|
|
281
|
+
return t.data;
|
|
282
|
+
}
|
|
283
|
+
function k(t) {
|
|
284
|
+
return p.request({
|
|
285
|
+
url: `/${l}/v1?appName=${m}&subId=${t}`,
|
|
286
|
+
method: "DELETE"
|
|
287
|
+
}).then(V);
|
|
288
|
+
}
|
|
289
|
+
export {
|
|
290
|
+
ie as a,
|
|
291
|
+
le as b,
|
|
292
|
+
oe as c,
|
|
293
|
+
me as d,
|
|
294
|
+
ce as e,
|
|
295
|
+
de as f,
|
|
296
|
+
fe as g,
|
|
297
|
+
pe as h,
|
|
298
|
+
se as u
|
|
299
|
+
};
|
|
300
|
+
//# sourceMappingURL=FileHooks-CltSzAf8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileHooks-CltSzAf8.js","sources":["../src/queries/FileHooks.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport saveAs from \"file-saver\";\r\nimport { useState } from \"react\";\r\nimport { Upload as TusUpload } from \"tus-js-client\";\r\nimport { uuidv7 } from \"uuidv7\";\r\nimport z from \"zod\";\r\nimport type { DetailedError } from \"tus-js-client\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"file\";\r\nconst HOUR = 1000 * 60 * 60;\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, \"queryKey\" | \"queryFn\" | \"select\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, \"mutationFn\" | \"onSettled\">;\r\ntype BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, \"mutationFn\" | \"onSuccess\">;\r\ntype BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetFileMetasParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n subId: z.uuid(),\r\n});\r\n\r\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\r\n\r\nexport const useGetFileMetas = (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"subId\", params.subId);\r\n\r\n return useQuery<Array<FileMeta>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\r\n queryFn: ({ signal }) => httpClient.request<Array<FileMeta>>({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileThumbnailParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\r\n\r\nexport const useGetFileThumbnail = (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const GetFileParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\r\n\r\nexport const useGetFile = (params: GetFileParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const useDownloadFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)\r\n });\r\n};\r\n\r\nexport const useOpenFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<Blob>({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }).then(request => request.data),\r\n onSuccess: data => { window.open(URL.createObjectURL(data)); }\r\n });\r\n};\r\n\r\nexport const useUpdateFileMeta = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<FileMeta>({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\nexport const useDeleteFile = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request<FileMeta>({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\r\n });\r\n};\r\n\r\nexport const useDeleteFiles = (options?: BaseStringMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<string, Error, string>({\r\n ...options,\r\n mutationFn: subId => httpClient.request<string>({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\ninterface UseUploadFileProps {\r\n subId: OptionalId;\r\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\r\n onError?: (error: Error | DetailedError) => void;\r\n}\r\n\r\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\r\n const [progress, setProgress] = useState<number>(0);\r\n const queryClient = useQueryClient();\r\n\r\n const mutate = async (file: File) => {\r\n if (!subId) throw new Error(\"subId is required for file upload\");\r\n\r\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\r\n id: uuidv7(),\r\n appName: APP_NAME,\r\n subId: subId,\r\n fileName: file.name,\r\n };\r\n\r\n const accessToken = \"YOUR_ACCESS_TOKEN_HERE\"; // Replace with actual token retrieval logic\r\n\r\n const upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_API_URL}/${QUERY_KEY}/v1/upload`,\r\n chunkSize: 1_048_576, // 1 MB\r\n metadata: {\r\n id: metadata.id,\r\n appName: metadata.appName,\r\n subId: metadata.subId,\r\n fileName: metadata.fileName,\r\n fileExtension: file.type\r\n },\r\n headers: { \"Authorization\": `Bearer ${accessToken}` },\r\n onError: (error) => {\r\n setProgress(0);\r\n onError?.(error);\r\n },\r\n onProgress: (bytesUploaded, bytesTotal) => {\r\n setProgress((bytesUploaded / bytesTotal) * 100);\r\n },\r\n onSuccess: () => {\r\n setProgress(0);\r\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\r\n onSuccess?.(metadata);\r\n },\r\n });\r\n\r\n const previousUploads = await upload.findPreviousUploads();\r\n if (previousUploads.length > 0) {\r\n upload.resumeFromPreviousUpload(previousUploads[0]);\r\n }\r\n\r\n upload.start();\r\n };\r\n\r\n return { mutate, progress };\r\n};\r\n"],"names":["QUERY_KEY","HOUR","APP_NAME","toKebabCase","clientEnv","VITE_APP_TITLE","z","object","appName","string","min","max","default","optional","subId","uuid","useGetFileMetas","params","options","$","_c","queryParams","URLSearchParams","append","t0","t1","t2","t3","signal","httpClient","request","url","toString","method","then","_temp","queryKey","queryFn","staleTime","gcTime","refetchOnWindowFocus","useQuery","meta","FileMetaSchema","nullish","useGetFileThumbnail","id","t4","responseType","_temp2","enabled","t5","select","_temp3","useGetFile","_temp4","_temp5","useDownloadFile","mutationFn","_temp7","onSuccess","_temp8","useMutation","useOpenFile","_temp0","_temp1","useUpdateFileMeta","queryClient","useQueryClient","invalidateQueries","exact","_temp11","onSettled","useDeleteFile","_temp13","useDeleteFiles","_temp15","useUploadFile","onError","progress","setProgress","useState","file","Error","metadata","uuidv7","fileName","name","upload","TusUpload","endpoint","VITE_API_URL","chunkSize","fileExtension","type","headers","error","onProgress","bytesUploaded","bytesTotal","previousUploads","findPreviousUploads","length","resumeFromPreviousUpload","start","mutate","data","URL","createObjectURL","_temp6","variables","saveAs","_temp9","window","open","_temp10","_temp12","_temp14"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileMeta-Bzeo3ie9.js","sources":["../src/models/file/FileMeta.ts"],"sourcesContent":["import * as z from \"zod\";\n\nexport const FileMetaSchema = z.object({\n id: z.uuid(),\n subId: z.uuid(),\n appName: z.string().trim().min(1).max(255),\n fileName: z.string().trim().min(1).max(255),\n fileExtension: z.string().trim().min(1).max(255),\n fileSize: z.number().min(0),\n mediaSubType: z.string().trim().min(1).max(255),\n mediaType: z.string().trim().min(1).max(255),\n mimeType: z.string().trim().min(1).max(255),\n createdBy: z.string().trim().min(1).max(255),\n createdDate: z.date(),\n});\n\nexport type FileMeta = z.infer<typeof FileMetaSchema>;\n"],"names":["FileMetaSchema","z","object","id","uuid","subId","appName","string","trim","min","max","fileName","fileExtension","fileSize","number","mediaSubType","mediaType","mimeType","createdBy","createdDate","date"],"mappings":";AAEO,MAAMA,IAAiBC,EAAEC,OAAO;AAAA,EACnCC,IAAIF,EAAEG,KAAAA;AAAAA,EACNC,OAAOJ,EAAEG,KAAAA;AAAAA,EACTE,SAASL,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EACzCC,UAAUV,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC1CE,eAAeX,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC/CG,UAAUZ,EAAEa,SAASL,IAAI,CAAC;AAAA,EAC1BM,cAAcd,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC9CM,WAAWf,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC3CO,UAAUhB,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC1CQ,WAAWjB,EAAEM,OAAAA,EAASC,KAAAA,EAAOC,IAAI,CAAC,EAAEC,IAAI,GAAG;AAAA,EAC3CS,aAAalB,EAAEmB,KAAAA;AACnB,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterListItemButton-C_SG0uka.js","sources":["../src/components/router/RouterListItemButton.tsx"],"sourcesContent":["import { ListItemButton } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { ListItemButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, ListItemButtonProps<\"a\">>(function ButtonComponent(props, reference) {\n return <ListItemButton ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterListItemButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\n"],"names":["Component","React","forwardRef","props","reference","$","_c","t0","ListItemButton","CreatedComponent","createLink","RouterListItemButton","jsx"],"mappings":";;;;;AAMA,MAAMA,IAAYC,EAAMC,WAAwD,SAAAC,GAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,SAAAF,EAAA,CAAA,MAAAF,KAAAE,SAAAD,KACrEG,sBAACC,GAAA,EAAoBJ,KAAAA,GAAqB,WAAA,KAAG,GAAKD,GAAK,GAAIE,OAAAF,GAAAE,OAAAD,GAAAC,OAAAE,KAAAA,IAAAF,EAAA,CAAA,GAA3DE;AAA2D,CACrE,GAEKE,IAAmBC,EAAWV,CAAS,GAEhCW,IAAwDR,CAAAA,MAAA;AAAA,QAAAE,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,SAAAF,SAAAF,KAC1DI,IAAA,gBAAAK,EAACH,GAAA,EAAgB,GAAKN,EAAAA,CAAK,GAAIE,OAAAF,GAAAE,OAAAE,KAAAA,IAAAF,EAAA,CAAA,GAA/BE;AAA+B;"}
|
package/dist/components.js
CHANGED
|
@@ -11,7 +11,7 @@ import { useInView as Re } from "react-intersection-observer";
|
|
|
11
11
|
import Me from "@mui/icons-material/Delete";
|
|
12
12
|
import ke from "@mui/icons-material/FileDownload";
|
|
13
13
|
import { u as Ae } from "./DialogsHooks-DWkC9zAf.js";
|
|
14
|
-
import { c as le, f as Ee, a as Be, d as me, b as Ne, u as Pe } from "./FileHooks-
|
|
14
|
+
import { c as le, f as Ee, a as Be, d as me, b as Ne, u as Pe } from "./FileHooks-CltSzAf8.js";
|
|
15
15
|
import Ve from "@mui/icons-material/AttachFile";
|
|
16
16
|
import Ge from "@mui/icons-material/Image";
|
|
17
17
|
import He from "@mui/icons-material/SmartDisplay";
|
|
@@ -678,3 +678,4 @@ export {
|
|
|
678
678
|
Gt as RouterTab,
|
|
679
679
|
je as TypographyWithIcon
|
|
680
680
|
};
|
|
681
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../src/components/core/TypographyWithIcon.tsx","../src/components/core/Fullscreen.tsx","../src/components/file/Dropzone.tsx","../src/contexts/FileContext.ts","../src/components/file/fileViewer/common/ActionsMenu.tsx","../src/components/file/fileViewer/FileViewerGrid.tsx","../src/components/file/fileViewer/FileViewerList.tsx","../src/components/file/fileViewer/ImageViewer.tsx","../src/components/file/FileViewer.tsx","../src/components/data-grid/ChipInputCell.tsx","../src/components/data-grid/EditableColumnHeader.tsx","../src/components/router/RouterButton.tsx","../src/components/router/RouterGridActionsCellItem.tsx","../src/components/router/RouterIconButton.tsx","../src/components/router/RouterLink.tsx","../src/components/router/RouterTab.tsx","../src/components/router/RouterNotFound.tsx","../src/components/router/RouterError.tsx"],"sourcesContent":["import { Stack, Typography } from \"@mui/material\";\nimport type { SxProps, Theme, TypographyProps } from \"@mui/material\";\n\ninterface TypographyWithIconProps extends TypographyProps {\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nexport const TypographyWithIcon: React.FC<TypographyWithIconProps> = ({ startIcon, endIcon, children, sx, ...props }) => {\n const iconSx: SxProps<Theme> = {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n lineHeight: 0,\n \"& > svg\": {\n display: \"block\",\n },\n };\n\n return (\n <Typography\n component=\"span\"\n sx={{\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"middle\",\n ...sx,\n }}\n gap={1}\n {...props}\n >\n {startIcon && (\n <Stack component=\"span\" sx={iconSx}>\n {startIcon}\n </Stack>\n )}\n <Stack component=\"span\" sx={{ display: \"inline\", lineHeight: \"inherit\" }}>\n {children}\n </Stack>\n {endIcon && (\n <Stack component=\"span\" sx={iconSx}>\n {endIcon}\n </Stack>\n )}\n </Typography>\n );\n};","import { Box } from \"@mui/material\";\nimport { useEffect, useEffectEvent, useRef, useState } from \"react\";\nimport type { BoxProps } from \"@mui/material\";\nimport type { FC } from \"react\";\n\nexport const Fullscreen: FC<BoxProps> = ({ children, sx, ...props }) => {\n const reference = useRef<HTMLDivElement | null>(null);\n const [height, setHeight] = useState<number>();\n\n const recompute = useEffectEvent(() => {\n if (!reference.current) return;\n const top = Math.ceil(reference.current.getBoundingClientRect().top);\n const avail = Math.max(0, window.innerHeight - top);\n setHeight(avail);\n });\n\n useEffect(() => {\n const element = reference.current;\n if (!element) return;\n\n recompute();\n\n window.addEventListener(\"resize\", recompute);\n\n const ro = new ResizeObserver(recompute);\n ro.observe(document.documentElement);\n ro.observe(document.body);\n ro.observe(element);\n\n return () => {\n window.removeEventListener(\"resize\", recompute);\n ro.disconnect();\n };\n }, []);\n\n return (\n <Box\n ref={reference}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n minHeight: 0,\n width: \"100%\",\n overflow: \"auto\",\n ...sx,\n }}\n height={height}\n {...props}\n >\n {children}\n </Box>\n );\n};","import CloudUpload from \"@mui/icons-material/CloudUpload\";\nimport { Paper, Typography, useTheme } from \"@mui/material\";\nimport { useDropzone } from \"react-dropzone\";\nimport { useTranslation } from \"react-i18next\";\nimport type { SxProps, Theme} from \"@mui/material\";\nimport type { CSSProperties, FC } from \"react\";\nimport type { DropzoneOptions} from \"react-dropzone\";\n\nconst baseStyle: CSSProperties = {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n padding: \"20px\",\n borderWidth: 2,\n borderRadius: 2,\n borderStyle: \"dashed\",\n outline: \"none\",\n transition: \"border .24s ease-in-out\",\n cursor: \"pointer\",\n};\n\ninterface DropzoneProps extends DropzoneOptions {\n sx?: SxProps<Theme>;\n}\n\nexport const Dropzone: FC<DropzoneProps> = ({ sx, ...props }) => {\n const { getRootProps, getInputProps, isFocused, isDragAccept, isDragReject, } = useDropzone(props);\n const { t } = useTranslation();\n const theme = useTheme();\n\n const style = {\n ...baseStyle,\n ...(isFocused ? { borderColor: theme.palette.primary.main } : {}),\n ...(isDragAccept ? { borderColor: theme.palette.success.main } : {}),\n ...(isDragReject ? { borderColor: theme.palette.error.main } : {})\n };\n\n return (\n <Paper variant=\"outlined\" {...getRootProps({ style })} sx={sx}>\n <input {...getInputProps()} style={{ display: \"none\" }} />\n <CloudUpload />\n <Typography>{t(\"Layout.File.DragSomeFilesHereOrClickToSelectThem\")}</Typography>\n </Paper>\n );\n};","import { createContext, useContext } from \"react\";\r\nimport type { FileMeta } from \"../models/file/FileMeta\";\r\nimport type { FileActions } from \"~/models/file/FileActions\";\r\n\r\nexport interface FileContextValue {\r\n fileMetas: Array<FileMeta>;\r\n onDelete?: (params: { remainingFileMetas: Array<FileMeta>; deletedFileMeta: FileMeta }) => void;\r\n actions?: FileActions;\r\n setImageId: (imageId: string) => void;\r\n};\r\n\r\nexport const FileContext = createContext<FileContextValue | null>(null);\r\n\r\nexport const useFile = () => {\r\n const context = useContext(FileContext);\r\n if (!context) {\r\n throw new Error(\"FileViewer components must be used within FileViewer\");\r\n }\r\n return context;\r\n};","import Delete from \"@mui/icons-material/Delete\";\r\nimport FileDownload from \"@mui/icons-material/FileDownload\";\r\nimport { List, ListItemButton, ListItemIcon, ListItemText, Menu } from \"@mui/material\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport type { FC } from \"react\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { useFile } from \"~/contexts/FileContext\";\r\nimport { useDialogs } from \"~/hooks/DialogsHooks\";\r\nimport { useDeleteFile, useDownloadFile } from \"~/queries/FileHooks\";\r\n\r\ninterface ActionsMenuProps {\r\n meta: FileMeta;\r\n menu: { mouseX: number; mouseY: number } | null;\r\n setMenu: (menu: { mouseX: number; mouseY: number } | null) => void;\r\n}\r\n\r\nexport const ActionsMenu: FC<ActionsMenuProps> = ({ meta, menu, setMenu }) => {\r\n const { t } = useTranslation();\r\n const { fileMetas, onDelete, actions } = useFile();\r\n const { confirm } = useDialogs();\r\n\r\n const handleMenuClose = () => { setMenu(null); };\r\n\r\n const { mutate: download, isPending: isDownloading } = useDownloadFile();\r\n const { mutate: deleteFile, isPending: isDeleting } = useDeleteFile();\r\n\r\n const handleOnDownload = () => {\r\n handleMenuClose();\r\n download(meta);\r\n };\r\n\r\n const handleOnDelete = async () => {\r\n if (!await confirm(t(\"Layout.File.AreYouSureYouWantToDelete\", { fileName: meta.fileName })))\r\n return;\r\n\r\n deleteFile(meta);\r\n handleMenuClose();\r\n\r\n if (onDelete) {\r\n const remainingFileMetas: Array<FileMeta> = fileMetas.filter(m => m.id !== meta.id);\r\n onDelete({ remainingFileMetas, deletedFileMeta: meta });\r\n }\r\n };\r\n\r\n return (\r\n <Menu open={menu !== null} onClose={handleMenuClose} anchorReference=\"anchorPosition\" variant=\"menu\"\r\n anchorPosition={menu === null ? undefined : { top: menu.mouseY, left: menu.mouseX }}>\r\n <List disablePadding>\r\n {actions?.download !== false &&\r\n <ListItemButton onClick={handleOnDownload} disabled={isDownloading}>\r\n <ListItemIcon>\r\n <FileDownload />\r\n </ListItemIcon>\r\n <ListItemText>{t(\"Layout.File.Download\")}</ListItemText>\r\n </ListItemButton>\r\n }\r\n {actions?.delete !== false &&\r\n <ListItemButton onClick={handleOnDelete} disabled={isDeleting}>\r\n <ListItemIcon>\r\n <Delete />\r\n </ListItemIcon>\r\n <ListItemText>{t(\"Layout.File.Delete\")}</ListItemText>\r\n </ListItemButton>\r\n }\r\n </List>\r\n </Menu>\r\n );\r\n};\r\n","import MoreVert from \"@mui/icons-material/MoreVert\";\r\nimport { Box, IconButton, ImageListItem, ImageListItemBar, Stack, Tooltip } from \"@mui/material\";\r\nimport { grey } from \"@mui/material/colors\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport { useInView } from \"react-intersection-observer\";\r\nimport { ActionsMenu } from \"./common/ActionsMenu\";\r\nimport type { SxProps, Theme } from \"@mui/material\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { useFile } from \"~/contexts/FileContext\";\r\nimport { useDownloadFile, useGetFileThumbnail, useOpenFile } from \"~/queries/FileHooks\";\r\n\r\nconst IMAGE_SIZE = 150;\r\n\r\ntype FileViewerGridItemBar = \"hidden\" | \"always\" | \"onMouseEnter\";\r\n\r\nexport interface FileViewerGridProps {\r\n size?: number;\r\n itemBar?: FileViewerGridItemBar;\r\n sx?: SxProps<Theme>;\r\n}\r\n\r\nexport const FileViewerGrid: React.FC<FileViewerGridProps> = ({ sx, size, itemBar }) => {\r\n const { fileMetas } = useFile();\r\n\r\n return (\r\n <Stack direction=\"row\" spacing={1} sx={{ overflow: \"auto\", ...sx }}>\r\n {fileMetas.map(fileMeta => (\r\n <GridFileViewerItem\r\n key={fileMeta.id}\r\n meta={fileMeta}\r\n size={size}\r\n itemBar={itemBar}\r\n />\r\n ))}\r\n </Stack>\r\n );\r\n};\r\n\r\ninterface GridFileViewerItemProps {\r\n meta: FileMeta;\r\n size?: number;\r\n itemBar?: FileViewerGridItemBar;\r\n}\r\n\r\nexport const GridFileViewerItem: React.FC<GridFileViewerItemProps> = ({ meta, size, itemBar }) => {\r\n const { setImageId, actions } = useFile();\r\n const [showItemBar, setShowItemBar] = useState<boolean>(itemBar === \"always\");\r\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number; } | null>(null);\r\n const { ref, inView } = useInView();\r\n\r\n useEffect(() => {\r\n setShowItemBar(itemBar === \"always\");\r\n }, [itemBar]);\r\n\r\n const { data: source } = useGetFileThumbnail({ meta }, { enabled: inView });\r\n\r\n const handleOnMouseEnter = () => setShowItemBar(true);\r\n const handleOnMouseLeave = () => itemBar !== \"always\" && setShowItemBar(false);\r\n\r\n const openMenu = (event: React.MouseEvent) => {\r\n setMenu(menu === null ? { mouseX: event.clientX, mouseY: event.clientY, } : null);\r\n setTimeout(() => setShowItemBar(true));\r\n };\r\n\r\n const { mutate: openFile } = useOpenFile();\r\n const { mutate: download } = useDownloadFile();\r\n\r\n const onClick = () => {\r\n switch (meta.mediaType) {\r\n case \"image\": { return setImageId(meta.id); }\r\n case \"application\": { return openFile(meta); }\r\n case \"video\": { return openFile(meta); }\r\n default: { return download(meta); }\r\n }\r\n };\r\n\r\n return (\r\n <Fragment>\r\n <ImageListItem sx={{ width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }} onMouseEnter={handleOnMouseEnter} onMouseLeave={handleOnMouseLeave} ref={ref}>\r\n <Box\r\n component=\"img\"\r\n src={source}\r\n loading=\"lazy\"\r\n alt={\"thumbnail-\" + meta.id}\r\n onClick={onClick}\r\n sx={{ cursor: \"pointer\", objectFit: \"contain\", width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }}\r\n />\r\n {(itemBar !== \"hidden\" && showItemBar) &&\r\n <ImageListItemBar\r\n title={\r\n <Tooltip title={meta.fileName}>\r\n <Box>\r\n {meta.fileName}\r\n </Box>\r\n </Tooltip>\r\n }\r\n actionIcon={\r\n (actions?.download !== false || actions.delete !== false) &&\r\n <IconButton sx={{ color: grey[100] }} onClick={openMenu}>\r\n <MoreVert />\r\n </IconButton>\r\n }\r\n />\r\n }\r\n </ImageListItem>\r\n\r\n {(actions?.download !== false || actions.delete !== false) && <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />}\r\n </Fragment>\r\n );\r\n};\r\n","import AttachFile from \"@mui/icons-material/AttachFile\";\r\nimport Image from \"@mui/icons-material/Image\";\r\nimport MoreVert from \"@mui/icons-material/MoreVert\";\r\nimport SmartDisplay from \"@mui/icons-material/SmartDisplay\";\r\nimport { IconButton, List, ListItemButton, ListItemIcon, ListItemText } from \"@mui/material\";\r\nimport { Fragment, useState } from \"react\";\r\nimport { ActionsMenu } from \"./common/ActionsMenu\";\r\nimport type { FC } from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { useFile } from \"~/contexts/FileContext\";\r\nimport { useDownloadFile, useOpenFile } from \"~/queries/FileHooks\";\r\n\r\nexport interface FileViewerListProps {\r\n sx?: SxProps<Theme>;\r\n}\r\n\r\nexport const FileViewerList: FC<FileViewerListProps> = ({ sx }) => {\r\n const { fileMetas } = useFile();\r\n\r\n return (\r\n <List dense sx={sx}>\r\n {fileMetas.map(fileMeta =>\r\n <ListFileViewerItem\r\n key={fileMeta.id}\r\n meta={fileMeta}\r\n />\r\n )}\r\n </List>\r\n );\r\n};\r\n\r\ninterface ListFileViewerItemProps {\r\n meta: FileMeta;\r\n}\r\n\r\nexport const ListFileViewerItem: React.FC<ListFileViewerItemProps> = ({ meta }) => {\r\n const { setImageId, actions } = useFile();\r\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number; } | null>(null);\r\n\r\n const openMenu = (event: React.MouseEvent) => {\r\n event.stopPropagation();\r\n setMenu(menu === null ? { mouseX: event.clientX, mouseY: event.clientY, } : null);\r\n };\r\n\r\n const { mutate: openFile } = useOpenFile();\r\n const { mutate: download } = useDownloadFile();\r\n\r\n const onClick = () => {\r\n switch (meta.mediaType) {\r\n case \"image\": { return setImageId(meta.id); }\r\n case \"application\": { return openFile(meta); }\r\n case \"video\": { return openFile(meta); }\r\n default: { return download(meta); }\r\n }\r\n };\r\n\r\n const icon = () => {\r\n switch (meta.mediaType) {\r\n case \"image\": {\r\n return <Image />;\r\n }\r\n case \"video\": {\r\n return <SmartDisplay />;\r\n }\r\n default: {\r\n return <AttachFile />;\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <Fragment>\r\n <ListItemButton key={meta.id} onClick={onClick}>\r\n <ListItemIcon>\r\n {icon()}\r\n </ListItemIcon>\r\n <ListItemText primary={`${meta.fileName}.${meta.fileExtension}`} />\r\n {(actions?.download !== false || actions.delete !== false) &&\r\n <IconButton edge=\"end\" onClick={openMenu}>\r\n <MoreVert />\r\n </IconButton>\r\n }\r\n </ListItemButton>\r\n\r\n {(actions?.download !== false || actions.delete !== false) && <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />}\r\n </Fragment>\r\n );\r\n};\r\n","import Close from \"@mui/icons-material/Close\";\r\nimport { Box, Dialog, Fab } from \"@mui/material\";\r\nimport React, { useEffect } from \"react\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { useFile } from \"~/contexts/FileContext\";\r\nimport { useGetFile } from \"~/queries/FileHooks\";\r\n\r\ninterface ImageViewerProps {\r\n metaId: string;\r\n}\r\n\r\nexport const ImageViewer: React.FC<ImageViewerProps> = ({ metaId }) => {\r\n const { fileMetas, setImageId } = useFile();\r\n\r\n const meta = fileMetas.find(m => m.id === metaId)!;\r\n\r\n const { data: source } = useGetFile({ meta });\r\n\r\n useEffect(() => {\r\n if (metaId)\r\n globalThis.addEventListener(\"keydown\", handleOnKeydown);\r\n\r\n return () => { globalThis.removeEventListener(\"keydown\", handleOnKeydown); };\r\n }, [metaId]);\r\n\r\n const handleOnKeydown = (event: KeyboardEvent) => {\r\n const images: Array<FileMeta> = fileMetas.filter(m => m.mediaType === \"image\");\r\n const imageIndex: number = images.findIndex(m => m.id === metaId);\r\n\r\n switch (event.key) {\r\n case \"ArrowLeft\": {\r\n return handleOnArrowLeft(images, imageIndex);\r\n }\r\n case \"ArrowRight\": {\r\n return handleOnArrowRight(images, imageIndex);\r\n }\r\n case \"Backspace\":\r\n case \"Escape\": {\r\n event.preventDefault();\r\n return onClose();\r\n }\r\n }\r\n };\r\n\r\n const handleOnArrowLeft = (images: Array<FileMeta>, index: number) => {\r\n if (index > 0) {\r\n const previousFile: FileMeta = images[index - 1];\r\n setImageId(previousFile.id);\r\n }\r\n };\r\n\r\n const handleOnArrowRight = (images: Array<FileMeta>, index: number) => {\r\n if (index < images.length - 1) {\r\n const nextFile: FileMeta = images[index + 1];\r\n setImageId(nextFile.id);\r\n }\r\n };\r\n\r\n const onClose = () => setImageId(\"\");\r\n\r\n if (!metaId) return null;\r\n\r\n return (\r\n <Dialog open onClose={onClose} maxWidth=\"xl\">\r\n <Box component=\"img\" src={source} alt={metaId} sx={{ maxWidth: \"100vw\", maxHeight: { xs: \"calc(100vh - 56px)\", sm: \"calc(100vh - 64px)\" } }} />\r\n\r\n <Fab size=\"medium\" onClick={onClose} sx={{ position: \"fixed\", top: 8, right: 8 }}>\r\n <Close />\r\n </Fab>\r\n </Dialog>\r\n );\r\n};\r\n","import { useState } from \"react\";\r\nimport { FileViewerGrid } from \"./fileViewer/FileViewerGrid\";\r\nimport { FileViewerList } from \"./fileViewer/FileViewerList\";\r\nimport { ImageViewer } from \"./fileViewer/ImageViewer\";\r\nimport type { FileViewerGridProps } from \"./fileViewer/FileViewerGrid\";\r\nimport type { ComponentType, FC, ReactNode } from \"react\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport type { FileActions } from \"~/models/file/FileActions\";\r\nimport type { FileViewerListProps } from \"./fileViewer/FileViewerList\";\r\nimport { FileContext } from \"~/contexts/FileContext\";\r\nimport { useGetFileMetas } from \"~/queries/FileHooks\";\r\n\r\ninterface FileViewerComponent {\r\n Grid: ComponentType<FileViewerGridProps>;\r\n List: ComponentType<FileViewerListProps>;\r\n}\r\n\r\ninterface FileViewerProps {\r\n subId: string;\r\n onDelete?: (params: { remainingFileMetas: Array<FileMeta>; deletedFileMeta: FileMeta }) => void;\r\n actions?: FileActions;\r\n children: (component: FileViewerComponent) => ReactNode;\r\n}\r\n\r\nexport const FileViewer: FC<FileViewerProps> = ({ subId, onDelete, actions, children }) => {\r\n const { data: fileMetas = [] } = useGetFileMetas({ subId }, { enabled: !!subId });\r\n const [imageId, setImageId] = useState<string>(\"\");\r\n\r\n const components: FileViewerComponent = { Grid: FileViewerGrid, List: FileViewerList };\r\n\r\n if (fileMetas.length === 0) return null;\r\n\r\n return (\r\n <FileContext.Provider value={{ fileMetas, onDelete, actions, setImageId }}>\r\n {children(components)}\r\n <ImageViewer metaId={imageId} />\r\n </FileContext.Provider>\r\n );\r\n};\r\n","import { Chip, Stack } from \"@mui/material\";\nimport type { ChipProps} from \"@mui/material\";\nimport type { GridRenderCellParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\n\nconst isArray = (value: any) => Array.isArray(value);\n\ninterface ChipInputCellProps<T extends GridValidRowModel> {\n params: GridRenderCellParams<T>;\n slotProps?: ChipProps;\n getLabel?: (object: T) => string | number;\n}\n\nexport const ChipInputCell = <T extends GridValidRowModel>({ params, slotProps, getLabel }: ChipInputCellProps<T>) => {\n if (!params.value) return null;\n\n const getLabelValue = (value: any) => {\n if (getLabel) return getLabel(value);\n return value;\n };\n\n if (isArray(params.value))\n return (\n <Stack direction=\"row\" alignItems=\"center\" gap={1} sx={{ overflowX: \"auto\", height: \"100%\", width: params.colDef.computedWidth }}>\n {params.value.map((value: any, index) =>\n <Chip key={`${index + 1}-chip-input-cell`} label={getLabelValue(value)} {...slotProps} />\n )}\n </Stack>\n );\n\n return <Chip label={getLabelValue(params.value)} {...slotProps} />;\n};","import Edit from \"@mui/icons-material/Edit\";\nimport { TypographyWithIcon } from \"../core/TypographyWithIcon\";\nimport type { GridColumnHeaderParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\n\nexport const EditableColumnHeader = <T extends GridValidRowModel>({ colDef }: GridColumnHeaderParams<T>) => {\n return <TypographyWithIcon endIcon={<Edit color=\"disabled\" fontSize=\"small\" />} variant=\"body2\" className=\"MuiDataGrid-columnHeaderTitle\">{colDef.headerName}</TypographyWithIcon>;\n};","import { Button } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { ButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, ButtonProps<\"a\">>(function ButtonComponent(props, reference) {\n return <Button ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { GridActionsCellItem } from \"@mui/x-data-grid-premium\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { GridActionsCellItemProps } from \"@mui/x-data-grid-premium\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLButtonElement, GridActionsCellItemProps>(\n function GridActionsCellItemComponent(props, reference) {\n return <GridActionsCellItem ref={reference} component=\"a\" {...props} />;\n }\n) as React.ForwardRefExoticComponent<GridActionsCellItemProps & React.RefAttributes<HTMLButtonElement>>;\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterGridActionsCellItem: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { IconButton } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { IconButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, IconButtonProps<\"a\">>(function IconButtonComponent(props, reference) {\n return <IconButton ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterIconButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Link } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { LinkProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, LinkProps>(function LinkComponent(props, reference) {\n return <Link ref={reference} {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterLink: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Tab } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { TabProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, TabProps<\"a\">>(function TabComponent(props, reference) {\n return <Tab ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterTab: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Box, Divider, Typography } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\n\nexport function RouterNotFound() {\n const { t } = useTranslation();\n\n return (\n <Box height=\"100vh\" display=\"flex\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\" textAlign=\"center\" px={2} >\n <Box display=\"flex\" alignItems=\"center\" mb={4}>\n <Typography variant=\"h3\" component=\"span\" fontWeight={500} sx={{ lineHeight: 1 }}>404</Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">{t(\"Layout.ThisPageCouldNotBeFound\")}</Typography>\n </Box>\n </Box>\n );\n}\n","import { Box, Divider, Typography } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { ErrorComponentProps } from \"@tanstack/react-router\";\n\ninterface RouterErrorProps {\n error: ErrorComponentProps[\"error\"];\n}\n\nexport const RouterError: FC<RouterErrorProps> = ({ error }) => {\n\n return (\n <Box height=\"100vh\" display=\"flex\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\" textAlign=\"center\" px={2} >\n <Box display=\"flex\" alignItems=\"center\" mb={4}>\n <Typography variant=\"h3\" component=\"span\" fontWeight={500} sx={{ lineHeight: 1 }}>{error.name || \"500\"}</Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">{error.message}</Typography>\n </Box>\n </Box>\n );\n};\n"],"names":["TypographyWithIcon","t0","$","_c","children","endIcon","props","startIcon","sx","t1","Symbol","for","display","alignItems","justifyContent","flexShrink","lineHeight","iconSx","t2","verticalAlign","t3","jsx","Stack","t4","t5","t6","t7","jsxs","Typography","Fullscreen","reference","useRef","height","setHeight","useState","current","top","Math","ceil","getBoundingClientRect","avail","max","window","innerHeight","recompute","useEffectEvent","element","addEventListener","ro","ResizeObserver","observe","document","documentElement","body","removeEventListener","disconnect","useEffect","flexDirection","minHeight","width","overflow","Box","baseStyle","flex","padding","borderWidth","borderRadius","borderStyle","outline","transition","cursor","Dropzone","getRootProps","getInputProps","isFocused","isDragAccept","isDragReject","useDropzone","t","useTranslation","theme","useTheme","T0","style","borderColor","palette","primary","main","success","error","Paper","CloudUpload","t8","t9","FileContext","createContext","useFile","context","useContext","Error","ActionsMenu","meta","menu","setMenu","fileMetas","onDelete","actions","confirm","useDialogs","handleMenuClose","mutate","download","isPending","isDownloading","useDownloadFile","deleteFile","isDeleting","useDeleteFile","handleOnDownload","fileName","remainingFileMetas","filter","m","id","deletedFileMeta","handleOnDelete","undefined","mouseY","left","mouseX","ListItemButton","ListItemIcon","FileDownload","ListItemText","delete","Delete","List","Menu","IMAGE_SIZE","FileViewerGrid","size","itemBar","fileMeta","GridFileViewerItem","map","setImageId","showItemBar","setShowItemBar","ref","inView","useInView","enabled","data","source","useGetFileThumbnail","handleOnMouseEnter","handleOnMouseLeave","event","clientX","clientY","setTimeout","openMenu","openFile","useOpenFile","mediaType","onClick","t10","t11","t12","t13","t14","t15","objectFit","t16","t17","ImageListItemBar","Tooltip","IconButton","color","grey","MoreVert","t18","ImageListItem","t19","t20","Fragment","FileViewerList","_temp","ListFileViewerItem","stopPropagation","Image","SmartDisplay","AttachFile","icon","fileExtension","ImageViewer","metaId","find","useGetFile","globalThis","handleOnKeydown","images","imageIndex","findIndex","key","handleOnArrowLeft","handleOnArrowRight","preventDefault","onClose","index","previousFile","length","nextFile","Dialog","maxWidth","maxHeight","xs","sm","Fab","position","right","Close","FileViewer","subId","useGetFileMetas","imageId","bb0","components","Grid","Provider","isArray","value","Array","ChipInputCell","params","slotProps","getLabel","getLabelValue","colDef","computedWidth","overflowX","value_0","Chip","EditableColumnHeader","Edit","headerName","Component","React","forwardRef","Button","CreatedComponent","createLink","RouterButton","GridActionsCellItem","RouterGridActionsCellItem","RouterIconButton","Link","RouterLink","Tab","RouterTab","RouterNotFound","Divider","mx","RouterError","name","message"],"mappings":"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"}
|
package/dist/env-4ZoUrNqp.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-4ZoUrNqp.js","sources":["../src/env.ts"],"sourcesContent":["import { createEnv } from \"@t3-oss/env-core\";\r\nimport { z } from \"zod\";\r\n\r\nexport const clientEnv = createEnv({\r\n clientPrefix: \"VITE_\",\r\n client: {\r\n VITE_APP_TITLE: z.string(),\r\n VITE_MUI_LICENSE_KEY: z.string(),\r\n VITE_API_URL: z.url(),\r\n },\r\n runtimeEnv: import.meta.env,\r\n emptyStringAsUndefined: true,\r\n});\r\n\r\nexport const serverEnv = createEnv({\r\n server: {\r\n NODE_ENV: z.enum([\"development\", \"testing\", \"staging\", \"production\"]),\r\n MICROSOFT_TENANT_ID: z.string(),\r\n MICROSOFT_CLIENT_ID: z.string(),\r\n MICROSOFT_CLIENT_SECRET: z.string(),\r\n MICROSOFT_REDIRECT_URI: z.url(),\r\n SESSION_SECRET: z.string(),\r\n },\r\n runtimeEnv: process.env,\r\n emptyStringAsUndefined: true,\r\n});\r\n"],"names":["clientEnv","createEnv","clientPrefix","client","VITE_APP_TITLE","z","string","VITE_MUI_LICENSE_KEY","VITE_API_URL","url","runtimeEnv","import","emptyStringAsUndefined","serverEnv","server","NODE_ENV","enum","MICROSOFT_TENANT_ID","MICROSOFT_CLIENT_ID","MICROSOFT_CLIENT_SECRET","MICROSOFT_REDIRECT_URI","SESSION_SECRET","process","env"],"mappings":";;gkBAGaA,IAAYC,EAAU;AAAA,EAC/BC,cAAc;AAAA,EACdC,QAAQ;AAAA,IACJC,gBAAgBC,EAAEC,OAAAA;AAAAA,IAClBC,sBAAsBF,EAAEC,OAAAA;AAAAA,IACxBE,cAAcH,EAAEI,IAAAA;AAAAA,EAAI;AAAA,EAExBC,YAAYC;AAAAA,EACZC,wBAAwB;AAC5B,CAAC,GAEYC,IAAYZ,EAAU;AAAA,EAC/Ba,QAAQ;AAAA,IACJC,UAAUV,EAAEW,KAAK,CAAC,eAAe,WAAW,WAAW,YAAY,CAAC;AAAA,IACpEC,qBAAqBZ,EAAEC,OAAAA;AAAAA,IACvBY,qBAAqBb,EAAEC,OAAAA;AAAAA,IACvBa,yBAAyBd,EAAEC,OAAAA;AAAAA,IAC3Bc,wBAAwBf,EAAEI,IAAAA;AAAAA,IAC1BY,gBAAgBhB,EAAEC,OAAAA;AAAAA,EAAO;AAAA,EAE7BI,YAAYY,QAAQC;AAAAA,EACpBX,wBAAwB;AAC5B,CAAC;"}
|
package/dist/hooks.js
CHANGED