mal-ui 0.1.3

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.
Files changed (82) hide show
  1. package/README.md +244 -0
  2. package/dist/carousel/extensions.d.ts +1 -0
  3. package/dist/carousel/index.d.ts +2 -0
  4. package/dist/carousel/index.js +424 -0
  5. package/dist/carousel/index.js.map +15 -0
  6. package/dist/charts/extensions.d.ts +1 -0
  7. package/dist/charts/index.d.ts +2 -0
  8. package/dist/charts/index.js +3499 -0
  9. package/dist/charts/index.js.map +53 -0
  10. package/dist/chunks/index-3ffbn0gc.js +29976 -0
  11. package/dist/chunks/index-3ffbn0gc.js.map +637 -0
  12. package/dist/chunks/index-6b5mapr4.js +2 -0
  13. package/dist/chunks/index-6b5mapr4.js.map +9 -0
  14. package/dist/chunks/index-6tm93gww.js +38 -0
  15. package/dist/chunks/index-6tm93gww.js.map +10 -0
  16. package/dist/chunks/index-cg10ezdx.js +2 -0
  17. package/dist/chunks/index-cg10ezdx.js.map +9 -0
  18. package/dist/chunks/index-mc01z7m9.js +48 -0
  19. package/dist/chunks/index-mc01z7m9.js.map +9 -0
  20. package/dist/chunks/index-rz8zh7g4.js +5015 -0
  21. package/dist/chunks/index-rz8zh7g4.js.map +113 -0
  22. package/dist/chunks/index-syjq3515.js +4893 -0
  23. package/dist/chunks/index-syjq3515.js.map +101 -0
  24. package/dist/chunks/index-w9ekv5h5.js +733 -0
  25. package/dist/chunks/index-w9ekv5h5.js.map +17 -0
  26. package/dist/code-highlight/extensions.d.ts +1 -0
  27. package/dist/code-highlight/index.d.ts +2 -0
  28. package/dist/code-highlight/index.js +1685 -0
  29. package/dist/code-highlight/index.js.map +25 -0
  30. package/dist/core/extensions.d.ts +2 -0
  31. package/dist/core/index.d.ts +2 -0
  32. package/dist/core/index.js +844 -0
  33. package/dist/core/index.js.map +9 -0
  34. package/dist/dates/extensions.d.ts +1 -0
  35. package/dist/dates/index.d.ts +2 -0
  36. package/dist/dates/index.js +107 -0
  37. package/dist/dates/index.js.map +9 -0
  38. package/dist/dropzone/extensions.d.ts +1 -0
  39. package/dist/dropzone/index.d.ts +2 -0
  40. package/dist/dropzone/index.js +2681 -0
  41. package/dist/dropzone/index.js.map +21 -0
  42. package/dist/form/extensions.d.ts +1 -0
  43. package/dist/form/index.d.ts +2 -0
  44. package/dist/form/index.js +1605 -0
  45. package/dist/form/index.js.map +51 -0
  46. package/dist/hooks/extensions.d.ts +1 -0
  47. package/dist/hooks/index.d.ts +2 -0
  48. package/dist/hooks/index.js +214 -0
  49. package/dist/hooks/index.js.map +9 -0
  50. package/dist/index.d.ts +2 -0
  51. package/dist/index.js +1052 -0
  52. package/dist/index.js.map +9 -0
  53. package/dist/modals/extensions.d.ts +1 -0
  54. package/dist/modals/index.d.ts +2 -0
  55. package/dist/modals/index.js +387 -0
  56. package/dist/modals/index.js.map +15 -0
  57. package/dist/notifications/extensions.d.ts +1 -0
  58. package/dist/notifications/index.d.ts +2 -0
  59. package/dist/notifications/index.js +1122 -0
  60. package/dist/notifications/index.js.map +28 -0
  61. package/dist/nprogress/extensions.d.ts +1 -0
  62. package/dist/nprogress/index.d.ts +2 -0
  63. package/dist/nprogress/index.js +207 -0
  64. package/dist/nprogress/index.js.map +12 -0
  65. package/dist/schedule/extensions.d.ts +1 -0
  66. package/dist/schedule/index.d.ts +2 -0
  67. package/dist/schedule/index.js +8569 -0
  68. package/dist/schedule/index.js.map +135 -0
  69. package/dist/spotlight/extensions.d.ts +1 -0
  70. package/dist/spotlight/index.d.ts +2 -0
  71. package/dist/spotlight/index.js +666 -0
  72. package/dist/spotlight/index.js.map +24 -0
  73. package/dist/styles.css +1 -0
  74. package/dist/theme/index.d.ts +13 -0
  75. package/dist/theme/index.js +202 -0
  76. package/dist/theme/index.js.map +11 -0
  77. package/dist/theme/tokens.d.ts +65 -0
  78. package/dist/tiptap/extensions.d.ts +1 -0
  79. package/dist/tiptap/index.d.ts +2 -0
  80. package/dist/tiptap/index.js +1549 -0
  81. package/dist/tiptap/index.js.map +25 -0
  82. package/package.json +163 -0
@@ -0,0 +1,2681 @@
1
+ "use client";
2
+ import {
3
+ require_prop_types
4
+ } from "../chunks/index-w9ekv5h5.js";
5
+ import {
6
+ Box,
7
+ LoadingOverlay,
8
+ OptionalPortal,
9
+ __awaiter,
10
+ createSafeContext,
11
+ createVarsResolver,
12
+ factory,
13
+ getDefaultZIndex,
14
+ getRadius,
15
+ isElement,
16
+ useProps,
17
+ useResolvedStylesApi,
18
+ useStyles
19
+ } from "../chunks/index-3ffbn0gc.js";
20
+ import {
21
+ assignRef,
22
+ upperFirst,
23
+ useDisclosure
24
+ } from "../chunks/index-syjq3515.js";
25
+ import {
26
+ __commonJS,
27
+ __toESM
28
+ } from "../chunks/index-mc01z7m9.js";
29
+
30
+ // node_modules/attr-accept/dist/es/index.js
31
+ var require_es = __commonJS((exports) => {
32
+ exports.__esModule = true;
33
+ exports.default = function(file, acceptedFiles) {
34
+ if (file && acceptedFiles) {
35
+ var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(",");
36
+ if (acceptedFilesArray.length === 0) {
37
+ return true;
38
+ }
39
+ var fileName = file.name || "";
40
+ var mimeType = (file.type || "").toLowerCase();
41
+ var baseMimeType = mimeType.replace(/\/.*$/, "");
42
+ return acceptedFilesArray.some(function(type) {
43
+ var validType = type.trim().toLowerCase();
44
+ if (validType.charAt(0) === ".") {
45
+ return fileName.toLowerCase().endsWith(validType);
46
+ } else if (validType.endsWith("/*")) {
47
+ return baseMimeType === validType.replace(/\/.*$/, "");
48
+ }
49
+ return mimeType === validType;
50
+ });
51
+ }
52
+ return true;
53
+ };
54
+ });
55
+
56
+ // node_modules/@mantine/dropzone/esm/Dropzone.context.mjs
57
+
58
+ var [DropzoneProvider, useDropzoneContext] = createSafeContext("Dropzone component was not found in tree");
59
+
60
+ // node_modules/@mantine/dropzone/esm/DropzoneStatus.mjs
61
+ import { cloneElement } from "react";
62
+ import { jsx } from "react/jsx-runtime";
63
+
64
+ function createDropzoneStatus(status) {
65
+ const Component = (props) => {
66
+ const { children, ...others } = useProps(`Dropzone${upperFirst(status)}`, {}, props);
67
+ const ctx = useDropzoneContext();
68
+ const _children = isElement(children) ? children : /* @__PURE__ */ jsx("span", { children });
69
+ if (ctx[status])
70
+ return cloneElement(_children, others);
71
+ return null;
72
+ };
73
+ Component.displayName = `@mantine/dropzone/${upperFirst(status)}`;
74
+ return Component;
75
+ }
76
+ var DropzoneAccept = createDropzoneStatus("accept");
77
+ var DropzoneReject = createDropzoneStatus("reject");
78
+ var DropzoneIdle = createDropzoneStatus("idle");
79
+
80
+ // node_modules/@mantine/dropzone/esm/Dropzone.module.mjs
81
+
82
+ var Dropzone_module_default = {
83
+ root: "m_d46a4834",
84
+ inner: "m_b85f7144",
85
+ fullScreen: "m_96f6e9ad",
86
+ dropzone: "m_7946116d"
87
+ };
88
+
89
+ // node_modules/react-dropzone/dist/es/index.js
90
+ var import_prop_types = __toESM(require_prop_types(), 1);
91
+ import React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from "react";
92
+
93
+ // node_modules/file-selector/dist/es2015/file.js
94
+ var COMMON_MIME_TYPES = new Map([
95
+ ["1km", "application/vnd.1000minds.decision-model+xml"],
96
+ ["3dml", "text/vnd.in3d.3dml"],
97
+ ["3ds", "image/x-3ds"],
98
+ ["3g2", "video/3gpp2"],
99
+ ["3gp", "video/3gp"],
100
+ ["3gpp", "video/3gpp"],
101
+ ["3mf", "model/3mf"],
102
+ ["7z", "application/x-7z-compressed"],
103
+ ["7zip", "application/x-7z-compressed"],
104
+ ["123", "application/vnd.lotus-1-2-3"],
105
+ ["aab", "application/x-authorware-bin"],
106
+ ["aac", "audio/x-acc"],
107
+ ["aam", "application/x-authorware-map"],
108
+ ["aas", "application/x-authorware-seg"],
109
+ ["abw", "application/x-abiword"],
110
+ ["ac", "application/vnd.nokia.n-gage.ac+xml"],
111
+ ["ac3", "audio/ac3"],
112
+ ["acc", "application/vnd.americandynamics.acc"],
113
+ ["ace", "application/x-ace-compressed"],
114
+ ["acu", "application/vnd.acucobol"],
115
+ ["acutc", "application/vnd.acucorp"],
116
+ ["adp", "audio/adpcm"],
117
+ ["aep", "application/vnd.audiograph"],
118
+ ["afm", "application/x-font-type1"],
119
+ ["afp", "application/vnd.ibm.modcap"],
120
+ ["ahead", "application/vnd.ahead.space"],
121
+ ["ai", "application/pdf"],
122
+ ["aif", "audio/x-aiff"],
123
+ ["aifc", "audio/x-aiff"],
124
+ ["aiff", "audio/x-aiff"],
125
+ ["air", "application/vnd.adobe.air-application-installer-package+zip"],
126
+ ["ait", "application/vnd.dvb.ait"],
127
+ ["ami", "application/vnd.amiga.ami"],
128
+ ["amr", "audio/amr"],
129
+ ["apk", "application/vnd.android.package-archive"],
130
+ ["apng", "image/apng"],
131
+ ["appcache", "text/cache-manifest"],
132
+ ["application", "application/x-ms-application"],
133
+ ["apr", "application/vnd.lotus-approach"],
134
+ ["arc", "application/x-freearc"],
135
+ ["arj", "application/x-arj"],
136
+ ["asc", "application/pgp-signature"],
137
+ ["asf", "video/x-ms-asf"],
138
+ ["asm", "text/x-asm"],
139
+ ["aso", "application/vnd.accpac.simply.aso"],
140
+ ["asx", "video/x-ms-asf"],
141
+ ["atc", "application/vnd.acucorp"],
142
+ ["atom", "application/atom+xml"],
143
+ ["atomcat", "application/atomcat+xml"],
144
+ ["atomdeleted", "application/atomdeleted+xml"],
145
+ ["atomsvc", "application/atomsvc+xml"],
146
+ ["atx", "application/vnd.antix.game-component"],
147
+ ["au", "audio/x-au"],
148
+ ["avi", "video/x-msvideo"],
149
+ ["avif", "image/avif"],
150
+ ["aw", "application/applixware"],
151
+ ["azf", "application/vnd.airzip.filesecure.azf"],
152
+ ["azs", "application/vnd.airzip.filesecure.azs"],
153
+ ["azv", "image/vnd.airzip.accelerator.azv"],
154
+ ["azw", "application/vnd.amazon.ebook"],
155
+ ["b16", "image/vnd.pco.b16"],
156
+ ["bat", "application/x-msdownload"],
157
+ ["bcpio", "application/x-bcpio"],
158
+ ["bdf", "application/x-font-bdf"],
159
+ ["bdm", "application/vnd.syncml.dm+wbxml"],
160
+ ["bdoc", "application/x-bdoc"],
161
+ ["bed", "application/vnd.realvnc.bed"],
162
+ ["bh2", "application/vnd.fujitsu.oasysprs"],
163
+ ["bin", "application/octet-stream"],
164
+ ["blb", "application/x-blorb"],
165
+ ["blorb", "application/x-blorb"],
166
+ ["bmi", "application/vnd.bmi"],
167
+ ["bmml", "application/vnd.balsamiq.bmml+xml"],
168
+ ["bmp", "image/bmp"],
169
+ ["book", "application/vnd.framemaker"],
170
+ ["box", "application/vnd.previewsystems.box"],
171
+ ["boz", "application/x-bzip2"],
172
+ ["bpk", "application/octet-stream"],
173
+ ["bpmn", "application/octet-stream"],
174
+ ["bsp", "model/vnd.valve.source.compiled-map"],
175
+ ["btif", "image/prs.btif"],
176
+ ["buffer", "application/octet-stream"],
177
+ ["bz", "application/x-bzip"],
178
+ ["bz2", "application/x-bzip2"],
179
+ ["c", "text/x-c"],
180
+ ["c4d", "application/vnd.clonk.c4group"],
181
+ ["c4f", "application/vnd.clonk.c4group"],
182
+ ["c4g", "application/vnd.clonk.c4group"],
183
+ ["c4p", "application/vnd.clonk.c4group"],
184
+ ["c4u", "application/vnd.clonk.c4group"],
185
+ ["c11amc", "application/vnd.cluetrust.cartomobile-config"],
186
+ ["c11amz", "application/vnd.cluetrust.cartomobile-config-pkg"],
187
+ ["cab", "application/vnd.ms-cab-compressed"],
188
+ ["caf", "audio/x-caf"],
189
+ ["cap", "application/vnd.tcpdump.pcap"],
190
+ ["car", "application/vnd.curl.car"],
191
+ ["cat", "application/vnd.ms-pki.seccat"],
192
+ ["cb7", "application/x-cbr"],
193
+ ["cba", "application/x-cbr"],
194
+ ["cbr", "application/x-cbr"],
195
+ ["cbt", "application/x-cbr"],
196
+ ["cbz", "application/x-cbr"],
197
+ ["cc", "text/x-c"],
198
+ ["cco", "application/x-cocoa"],
199
+ ["cct", "application/x-director"],
200
+ ["ccxml", "application/ccxml+xml"],
201
+ ["cdbcmsg", "application/vnd.contact.cmsg"],
202
+ ["cda", "application/x-cdf"],
203
+ ["cdf", "application/x-netcdf"],
204
+ ["cdfx", "application/cdfx+xml"],
205
+ ["cdkey", "application/vnd.mediastation.cdkey"],
206
+ ["cdmia", "application/cdmi-capability"],
207
+ ["cdmic", "application/cdmi-container"],
208
+ ["cdmid", "application/cdmi-domain"],
209
+ ["cdmio", "application/cdmi-object"],
210
+ ["cdmiq", "application/cdmi-queue"],
211
+ ["cdr", "application/cdr"],
212
+ ["cdx", "chemical/x-cdx"],
213
+ ["cdxml", "application/vnd.chemdraw+xml"],
214
+ ["cdy", "application/vnd.cinderella"],
215
+ ["cer", "application/pkix-cert"],
216
+ ["cfs", "application/x-cfs-compressed"],
217
+ ["cgm", "image/cgm"],
218
+ ["chat", "application/x-chat"],
219
+ ["chm", "application/vnd.ms-htmlhelp"],
220
+ ["chrt", "application/vnd.kde.kchart"],
221
+ ["cif", "chemical/x-cif"],
222
+ ["cii", "application/vnd.anser-web-certificate-issue-initiation"],
223
+ ["cil", "application/vnd.ms-artgalry"],
224
+ ["cjs", "application/node"],
225
+ ["cla", "application/vnd.claymore"],
226
+ ["class", "application/octet-stream"],
227
+ ["clkk", "application/vnd.crick.clicker.keyboard"],
228
+ ["clkp", "application/vnd.crick.clicker.palette"],
229
+ ["clkt", "application/vnd.crick.clicker.template"],
230
+ ["clkw", "application/vnd.crick.clicker.wordbank"],
231
+ ["clkx", "application/vnd.crick.clicker"],
232
+ ["clp", "application/x-msclip"],
233
+ ["cmc", "application/vnd.cosmocaller"],
234
+ ["cmdf", "chemical/x-cmdf"],
235
+ ["cml", "chemical/x-cml"],
236
+ ["cmp", "application/vnd.yellowriver-custom-menu"],
237
+ ["cmx", "image/x-cmx"],
238
+ ["cod", "application/vnd.rim.cod"],
239
+ ["coffee", "text/coffeescript"],
240
+ ["com", "application/x-msdownload"],
241
+ ["conf", "text/plain"],
242
+ ["cpio", "application/x-cpio"],
243
+ ["cpp", "text/x-c"],
244
+ ["cpt", "application/mac-compactpro"],
245
+ ["crd", "application/x-mscardfile"],
246
+ ["crl", "application/pkix-crl"],
247
+ ["crt", "application/x-x509-ca-cert"],
248
+ ["crx", "application/x-chrome-extension"],
249
+ ["cryptonote", "application/vnd.rig.cryptonote"],
250
+ ["csh", "application/x-csh"],
251
+ ["csl", "application/vnd.citationstyles.style+xml"],
252
+ ["csml", "chemical/x-csml"],
253
+ ["csp", "application/vnd.commonspace"],
254
+ ["csr", "application/octet-stream"],
255
+ ["css", "text/css"],
256
+ ["cst", "application/x-director"],
257
+ ["csv", "text/csv"],
258
+ ["cu", "application/cu-seeme"],
259
+ ["curl", "text/vnd.curl"],
260
+ ["cww", "application/prs.cww"],
261
+ ["cxt", "application/x-director"],
262
+ ["cxx", "text/x-c"],
263
+ ["dae", "model/vnd.collada+xml"],
264
+ ["daf", "application/vnd.mobius.daf"],
265
+ ["dart", "application/vnd.dart"],
266
+ ["dataless", "application/vnd.fdsn.seed"],
267
+ ["davmount", "application/davmount+xml"],
268
+ ["dbf", "application/vnd.dbf"],
269
+ ["dbk", "application/docbook+xml"],
270
+ ["dcr", "application/x-director"],
271
+ ["dcurl", "text/vnd.curl.dcurl"],
272
+ ["dd2", "application/vnd.oma.dd2+xml"],
273
+ ["ddd", "application/vnd.fujixerox.ddd"],
274
+ ["ddf", "application/vnd.syncml.dmddf+xml"],
275
+ ["dds", "image/vnd.ms-dds"],
276
+ ["deb", "application/x-debian-package"],
277
+ ["def", "text/plain"],
278
+ ["deploy", "application/octet-stream"],
279
+ ["der", "application/x-x509-ca-cert"],
280
+ ["dfac", "application/vnd.dreamfactory"],
281
+ ["dgc", "application/x-dgc-compressed"],
282
+ ["dic", "text/x-c"],
283
+ ["dir", "application/x-director"],
284
+ ["dis", "application/vnd.mobius.dis"],
285
+ ["disposition-notification", "message/disposition-notification"],
286
+ ["dist", "application/octet-stream"],
287
+ ["distz", "application/octet-stream"],
288
+ ["djv", "image/vnd.djvu"],
289
+ ["djvu", "image/vnd.djvu"],
290
+ ["dll", "application/octet-stream"],
291
+ ["dmg", "application/x-apple-diskimage"],
292
+ ["dmn", "application/octet-stream"],
293
+ ["dmp", "application/vnd.tcpdump.pcap"],
294
+ ["dms", "application/octet-stream"],
295
+ ["dna", "application/vnd.dna"],
296
+ ["doc", "application/msword"],
297
+ ["docm", "application/vnd.ms-word.template.macroEnabled.12"],
298
+ ["docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
299
+ ["dot", "application/msword"],
300
+ ["dotm", "application/vnd.ms-word.template.macroEnabled.12"],
301
+ ["dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"],
302
+ ["dp", "application/vnd.osgi.dp"],
303
+ ["dpg", "application/vnd.dpgraph"],
304
+ ["dra", "audio/vnd.dra"],
305
+ ["drle", "image/dicom-rle"],
306
+ ["dsc", "text/prs.lines.tag"],
307
+ ["dssc", "application/dssc+der"],
308
+ ["dtb", "application/x-dtbook+xml"],
309
+ ["dtd", "application/xml-dtd"],
310
+ ["dts", "audio/vnd.dts"],
311
+ ["dtshd", "audio/vnd.dts.hd"],
312
+ ["dump", "application/octet-stream"],
313
+ ["dvb", "video/vnd.dvb.file"],
314
+ ["dvi", "application/x-dvi"],
315
+ ["dwd", "application/atsc-dwd+xml"],
316
+ ["dwf", "model/vnd.dwf"],
317
+ ["dwg", "image/vnd.dwg"],
318
+ ["dxf", "image/vnd.dxf"],
319
+ ["dxp", "application/vnd.spotfire.dxp"],
320
+ ["dxr", "application/x-director"],
321
+ ["ear", "application/java-archive"],
322
+ ["ecelp4800", "audio/vnd.nuera.ecelp4800"],
323
+ ["ecelp7470", "audio/vnd.nuera.ecelp7470"],
324
+ ["ecelp9600", "audio/vnd.nuera.ecelp9600"],
325
+ ["ecma", "application/ecmascript"],
326
+ ["edm", "application/vnd.novadigm.edm"],
327
+ ["edx", "application/vnd.novadigm.edx"],
328
+ ["efif", "application/vnd.picsel"],
329
+ ["ei6", "application/vnd.pg.osasli"],
330
+ ["elc", "application/octet-stream"],
331
+ ["emf", "image/emf"],
332
+ ["eml", "message/rfc822"],
333
+ ["emma", "application/emma+xml"],
334
+ ["emotionml", "application/emotionml+xml"],
335
+ ["emz", "application/x-msmetafile"],
336
+ ["eol", "audio/vnd.digital-winds"],
337
+ ["eot", "application/vnd.ms-fontobject"],
338
+ ["eps", "application/postscript"],
339
+ ["epub", "application/epub+zip"],
340
+ ["es", "application/ecmascript"],
341
+ ["es3", "application/vnd.eszigno3+xml"],
342
+ ["esa", "application/vnd.osgi.subsystem"],
343
+ ["esf", "application/vnd.epson.esf"],
344
+ ["et3", "application/vnd.eszigno3+xml"],
345
+ ["etx", "text/x-setext"],
346
+ ["eva", "application/x-eva"],
347
+ ["evy", "application/x-envoy"],
348
+ ["exe", "application/octet-stream"],
349
+ ["exi", "application/exi"],
350
+ ["exp", "application/express"],
351
+ ["exr", "image/aces"],
352
+ ["ext", "application/vnd.novadigm.ext"],
353
+ ["ez", "application/andrew-inset"],
354
+ ["ez2", "application/vnd.ezpix-album"],
355
+ ["ez3", "application/vnd.ezpix-package"],
356
+ ["f", "text/x-fortran"],
357
+ ["f4v", "video/mp4"],
358
+ ["f77", "text/x-fortran"],
359
+ ["f90", "text/x-fortran"],
360
+ ["fbs", "image/vnd.fastbidsheet"],
361
+ ["fcdt", "application/vnd.adobe.formscentral.fcdt"],
362
+ ["fcs", "application/vnd.isac.fcs"],
363
+ ["fdf", "application/vnd.fdf"],
364
+ ["fdt", "application/fdt+xml"],
365
+ ["fe_launch", "application/vnd.denovo.fcselayout-link"],
366
+ ["fg5", "application/vnd.fujitsu.oasysgp"],
367
+ ["fgd", "application/x-director"],
368
+ ["fh", "image/x-freehand"],
369
+ ["fh4", "image/x-freehand"],
370
+ ["fh5", "image/x-freehand"],
371
+ ["fh7", "image/x-freehand"],
372
+ ["fhc", "image/x-freehand"],
373
+ ["fig", "application/x-xfig"],
374
+ ["fits", "image/fits"],
375
+ ["flac", "audio/x-flac"],
376
+ ["fli", "video/x-fli"],
377
+ ["flo", "application/vnd.micrografx.flo"],
378
+ ["flv", "video/x-flv"],
379
+ ["flw", "application/vnd.kde.kivio"],
380
+ ["flx", "text/vnd.fmi.flexstor"],
381
+ ["fly", "text/vnd.fly"],
382
+ ["fm", "application/vnd.framemaker"],
383
+ ["fnc", "application/vnd.frogans.fnc"],
384
+ ["fo", "application/vnd.software602.filler.form+xml"],
385
+ ["for", "text/x-fortran"],
386
+ ["fpx", "image/vnd.fpx"],
387
+ ["frame", "application/vnd.framemaker"],
388
+ ["fsc", "application/vnd.fsc.weblaunch"],
389
+ ["fst", "image/vnd.fst"],
390
+ ["ftc", "application/vnd.fluxtime.clip"],
391
+ ["fti", "application/vnd.anser-web-funds-transfer-initiation"],
392
+ ["fvt", "video/vnd.fvt"],
393
+ ["fxp", "application/vnd.adobe.fxp"],
394
+ ["fxpl", "application/vnd.adobe.fxp"],
395
+ ["fzs", "application/vnd.fuzzysheet"],
396
+ ["g2w", "application/vnd.geoplan"],
397
+ ["g3", "image/g3fax"],
398
+ ["g3w", "application/vnd.geospace"],
399
+ ["gac", "application/vnd.groove-account"],
400
+ ["gam", "application/x-tads"],
401
+ ["gbr", "application/rpki-ghostbusters"],
402
+ ["gca", "application/x-gca-compressed"],
403
+ ["gdl", "model/vnd.gdl"],
404
+ ["gdoc", "application/vnd.google-apps.document"],
405
+ ["geo", "application/vnd.dynageo"],
406
+ ["geojson", "application/geo+json"],
407
+ ["gex", "application/vnd.geometry-explorer"],
408
+ ["ggb", "application/vnd.geogebra.file"],
409
+ ["ggt", "application/vnd.geogebra.tool"],
410
+ ["ghf", "application/vnd.groove-help"],
411
+ ["gif", "image/gif"],
412
+ ["gim", "application/vnd.groove-identity-message"],
413
+ ["glb", "model/gltf-binary"],
414
+ ["gltf", "model/gltf+json"],
415
+ ["gml", "application/gml+xml"],
416
+ ["gmx", "application/vnd.gmx"],
417
+ ["gnumeric", "application/x-gnumeric"],
418
+ ["gpg", "application/gpg-keys"],
419
+ ["gph", "application/vnd.flographit"],
420
+ ["gpx", "application/gpx+xml"],
421
+ ["gqf", "application/vnd.grafeq"],
422
+ ["gqs", "application/vnd.grafeq"],
423
+ ["gram", "application/srgs"],
424
+ ["gramps", "application/x-gramps-xml"],
425
+ ["gre", "application/vnd.geometry-explorer"],
426
+ ["grv", "application/vnd.groove-injector"],
427
+ ["grxml", "application/srgs+xml"],
428
+ ["gsf", "application/x-font-ghostscript"],
429
+ ["gsheet", "application/vnd.google-apps.spreadsheet"],
430
+ ["gslides", "application/vnd.google-apps.presentation"],
431
+ ["gtar", "application/x-gtar"],
432
+ ["gtm", "application/vnd.groove-tool-message"],
433
+ ["gtw", "model/vnd.gtw"],
434
+ ["gv", "text/vnd.graphviz"],
435
+ ["gxf", "application/gxf"],
436
+ ["gxt", "application/vnd.geonext"],
437
+ ["gz", "application/gzip"],
438
+ ["gzip", "application/gzip"],
439
+ ["h", "text/x-c"],
440
+ ["h261", "video/h261"],
441
+ ["h263", "video/h263"],
442
+ ["h264", "video/h264"],
443
+ ["hal", "application/vnd.hal+xml"],
444
+ ["hbci", "application/vnd.hbci"],
445
+ ["hbs", "text/x-handlebars-template"],
446
+ ["hdd", "application/x-virtualbox-hdd"],
447
+ ["hdf", "application/x-hdf"],
448
+ ["heic", "image/heic"],
449
+ ["heics", "image/heic-sequence"],
450
+ ["heif", "image/heif"],
451
+ ["heifs", "image/heif-sequence"],
452
+ ["hej2", "image/hej2k"],
453
+ ["held", "application/atsc-held+xml"],
454
+ ["hh", "text/x-c"],
455
+ ["hjson", "application/hjson"],
456
+ ["hlp", "application/winhlp"],
457
+ ["hpgl", "application/vnd.hp-hpgl"],
458
+ ["hpid", "application/vnd.hp-hpid"],
459
+ ["hps", "application/vnd.hp-hps"],
460
+ ["hqx", "application/mac-binhex40"],
461
+ ["hsj2", "image/hsj2"],
462
+ ["htc", "text/x-component"],
463
+ ["htke", "application/vnd.kenameaapp"],
464
+ ["htm", "text/html"],
465
+ ["html", "text/html"],
466
+ ["hvd", "application/vnd.yamaha.hv-dic"],
467
+ ["hvp", "application/vnd.yamaha.hv-voice"],
468
+ ["hvs", "application/vnd.yamaha.hv-script"],
469
+ ["i2g", "application/vnd.intergeo"],
470
+ ["icc", "application/vnd.iccprofile"],
471
+ ["ice", "x-conference/x-cooltalk"],
472
+ ["icm", "application/vnd.iccprofile"],
473
+ ["ico", "image/x-icon"],
474
+ ["ics", "text/calendar"],
475
+ ["ief", "image/ief"],
476
+ ["ifb", "text/calendar"],
477
+ ["ifm", "application/vnd.shana.informed.formdata"],
478
+ ["iges", "model/iges"],
479
+ ["igl", "application/vnd.igloader"],
480
+ ["igm", "application/vnd.insors.igm"],
481
+ ["igs", "model/iges"],
482
+ ["igx", "application/vnd.micrografx.igx"],
483
+ ["iif", "application/vnd.shana.informed.interchange"],
484
+ ["img", "application/octet-stream"],
485
+ ["imp", "application/vnd.accpac.simply.imp"],
486
+ ["ims", "application/vnd.ms-ims"],
487
+ ["in", "text/plain"],
488
+ ["ini", "text/plain"],
489
+ ["ink", "application/inkml+xml"],
490
+ ["inkml", "application/inkml+xml"],
491
+ ["install", "application/x-install-instructions"],
492
+ ["iota", "application/vnd.astraea-software.iota"],
493
+ ["ipfix", "application/ipfix"],
494
+ ["ipk", "application/vnd.shana.informed.package"],
495
+ ["irm", "application/vnd.ibm.rights-management"],
496
+ ["irp", "application/vnd.irepository.package+xml"],
497
+ ["iso", "application/x-iso9660-image"],
498
+ ["itp", "application/vnd.shana.informed.formtemplate"],
499
+ ["its", "application/its+xml"],
500
+ ["ivp", "application/vnd.immervision-ivp"],
501
+ ["ivu", "application/vnd.immervision-ivu"],
502
+ ["jad", "text/vnd.sun.j2me.app-descriptor"],
503
+ ["jade", "text/jade"],
504
+ ["jam", "application/vnd.jam"],
505
+ ["jar", "application/java-archive"],
506
+ ["jardiff", "application/x-java-archive-diff"],
507
+ ["java", "text/x-java-source"],
508
+ ["jhc", "image/jphc"],
509
+ ["jisp", "application/vnd.jisp"],
510
+ ["jls", "image/jls"],
511
+ ["jlt", "application/vnd.hp-jlyt"],
512
+ ["jng", "image/x-jng"],
513
+ ["jnlp", "application/x-java-jnlp-file"],
514
+ ["joda", "application/vnd.joost.joda-archive"],
515
+ ["jp2", "image/jp2"],
516
+ ["jpe", "image/jpeg"],
517
+ ["jpeg", "image/jpeg"],
518
+ ["jpf", "image/jpx"],
519
+ ["jpg", "image/jpeg"],
520
+ ["jpg2", "image/jp2"],
521
+ ["jpgm", "video/jpm"],
522
+ ["jpgv", "video/jpeg"],
523
+ ["jph", "image/jph"],
524
+ ["jpm", "video/jpm"],
525
+ ["jpx", "image/jpx"],
526
+ ["js", "application/javascript"],
527
+ ["json", "application/json"],
528
+ ["json5", "application/json5"],
529
+ ["jsonld", "application/ld+json"],
530
+ ["jsonl", "application/jsonl"],
531
+ ["jsonml", "application/jsonml+json"],
532
+ ["jsx", "text/jsx"],
533
+ ["jxr", "image/jxr"],
534
+ ["jxra", "image/jxra"],
535
+ ["jxrs", "image/jxrs"],
536
+ ["jxs", "image/jxs"],
537
+ ["jxsc", "image/jxsc"],
538
+ ["jxsi", "image/jxsi"],
539
+ ["jxss", "image/jxss"],
540
+ ["kar", "audio/midi"],
541
+ ["karbon", "application/vnd.kde.karbon"],
542
+ ["kdb", "application/octet-stream"],
543
+ ["kdbx", "application/x-keepass2"],
544
+ ["key", "application/x-iwork-keynote-sffkey"],
545
+ ["kfo", "application/vnd.kde.kformula"],
546
+ ["kia", "application/vnd.kidspiration"],
547
+ ["kml", "application/vnd.google-earth.kml+xml"],
548
+ ["kmz", "application/vnd.google-earth.kmz"],
549
+ ["kne", "application/vnd.kinar"],
550
+ ["knp", "application/vnd.kinar"],
551
+ ["kon", "application/vnd.kde.kontour"],
552
+ ["kpr", "application/vnd.kde.kpresenter"],
553
+ ["kpt", "application/vnd.kde.kpresenter"],
554
+ ["kpxx", "application/vnd.ds-keypoint"],
555
+ ["ksp", "application/vnd.kde.kspread"],
556
+ ["ktr", "application/vnd.kahootz"],
557
+ ["ktx", "image/ktx"],
558
+ ["ktx2", "image/ktx2"],
559
+ ["ktz", "application/vnd.kahootz"],
560
+ ["kwd", "application/vnd.kde.kword"],
561
+ ["kwt", "application/vnd.kde.kword"],
562
+ ["lasxml", "application/vnd.las.las+xml"],
563
+ ["latex", "application/x-latex"],
564
+ ["lbd", "application/vnd.llamagraphics.life-balance.desktop"],
565
+ ["lbe", "application/vnd.llamagraphics.life-balance.exchange+xml"],
566
+ ["les", "application/vnd.hhe.lesson-player"],
567
+ ["less", "text/less"],
568
+ ["lgr", "application/lgr+xml"],
569
+ ["lha", "application/octet-stream"],
570
+ ["link66", "application/vnd.route66.link66+xml"],
571
+ ["list", "text/plain"],
572
+ ["list3820", "application/vnd.ibm.modcap"],
573
+ ["listafp", "application/vnd.ibm.modcap"],
574
+ ["litcoffee", "text/coffeescript"],
575
+ ["lnk", "application/x-ms-shortcut"],
576
+ ["log", "text/plain"],
577
+ ["lostxml", "application/lost+xml"],
578
+ ["lrf", "application/octet-stream"],
579
+ ["lrm", "application/vnd.ms-lrm"],
580
+ ["ltf", "application/vnd.frogans.ltf"],
581
+ ["lua", "text/x-lua"],
582
+ ["luac", "application/x-lua-bytecode"],
583
+ ["lvp", "audio/vnd.lucent.voice"],
584
+ ["lwp", "application/vnd.lotus-wordpro"],
585
+ ["lzh", "application/octet-stream"],
586
+ ["m1v", "video/mpeg"],
587
+ ["m2a", "audio/mpeg"],
588
+ ["m2v", "video/mpeg"],
589
+ ["m3a", "audio/mpeg"],
590
+ ["m3u", "text/plain"],
591
+ ["m3u8", "application/vnd.apple.mpegurl"],
592
+ ["m4a", "audio/x-m4a"],
593
+ ["m4p", "application/mp4"],
594
+ ["m4s", "video/iso.segment"],
595
+ ["m4u", "application/vnd.mpegurl"],
596
+ ["m4v", "video/x-m4v"],
597
+ ["m13", "application/x-msmediaview"],
598
+ ["m14", "application/x-msmediaview"],
599
+ ["m21", "application/mp21"],
600
+ ["ma", "application/mathematica"],
601
+ ["mads", "application/mads+xml"],
602
+ ["maei", "application/mmt-aei+xml"],
603
+ ["mag", "application/vnd.ecowin.chart"],
604
+ ["maker", "application/vnd.framemaker"],
605
+ ["man", "text/troff"],
606
+ ["manifest", "text/cache-manifest"],
607
+ ["map", "application/json"],
608
+ ["mar", "application/octet-stream"],
609
+ ["markdown", "text/markdown"],
610
+ ["mathml", "application/mathml+xml"],
611
+ ["mb", "application/mathematica"],
612
+ ["mbk", "application/vnd.mobius.mbk"],
613
+ ["mbox", "application/mbox"],
614
+ ["mc1", "application/vnd.medcalcdata"],
615
+ ["mcd", "application/vnd.mcd"],
616
+ ["mcurl", "text/vnd.curl.mcurl"],
617
+ ["md", "text/markdown"],
618
+ ["mdb", "application/x-msaccess"],
619
+ ["mdi", "image/vnd.ms-modi"],
620
+ ["mdx", "text/mdx"],
621
+ ["me", "text/troff"],
622
+ ["mesh", "model/mesh"],
623
+ ["meta4", "application/metalink4+xml"],
624
+ ["metalink", "application/metalink+xml"],
625
+ ["mets", "application/mets+xml"],
626
+ ["mfm", "application/vnd.mfmp"],
627
+ ["mft", "application/rpki-manifest"],
628
+ ["mgp", "application/vnd.osgeo.mapguide.package"],
629
+ ["mgz", "application/vnd.proteus.magazine"],
630
+ ["mid", "audio/midi"],
631
+ ["midi", "audio/midi"],
632
+ ["mie", "application/x-mie"],
633
+ ["mif", "application/vnd.mif"],
634
+ ["mime", "message/rfc822"],
635
+ ["mj2", "video/mj2"],
636
+ ["mjp2", "video/mj2"],
637
+ ["mjs", "application/javascript"],
638
+ ["mk3d", "video/x-matroska"],
639
+ ["mka", "audio/x-matroska"],
640
+ ["mkd", "text/x-markdown"],
641
+ ["mks", "video/x-matroska"],
642
+ ["mkv", "video/x-matroska"],
643
+ ["mlp", "application/vnd.dolby.mlp"],
644
+ ["mmd", "application/vnd.chipnuts.karaoke-mmd"],
645
+ ["mmf", "application/vnd.smaf"],
646
+ ["mml", "text/mathml"],
647
+ ["mmr", "image/vnd.fujixerox.edmics-mmr"],
648
+ ["mng", "video/x-mng"],
649
+ ["mny", "application/x-msmoney"],
650
+ ["mobi", "application/x-mobipocket-ebook"],
651
+ ["mods", "application/mods+xml"],
652
+ ["mov", "video/quicktime"],
653
+ ["movie", "video/x-sgi-movie"],
654
+ ["mp2", "audio/mpeg"],
655
+ ["mp2a", "audio/mpeg"],
656
+ ["mp3", "audio/mpeg"],
657
+ ["mp4", "video/mp4"],
658
+ ["mp4a", "audio/mp4"],
659
+ ["mp4s", "application/mp4"],
660
+ ["mp4v", "video/mp4"],
661
+ ["mp21", "application/mp21"],
662
+ ["mpc", "application/vnd.mophun.certificate"],
663
+ ["mpd", "application/dash+xml"],
664
+ ["mpe", "video/mpeg"],
665
+ ["mpeg", "video/mpeg"],
666
+ ["mpg", "video/mpeg"],
667
+ ["mpg4", "video/mp4"],
668
+ ["mpga", "audio/mpeg"],
669
+ ["mpkg", "application/vnd.apple.installer+xml"],
670
+ ["mpm", "application/vnd.blueice.multipass"],
671
+ ["mpn", "application/vnd.mophun.application"],
672
+ ["mpp", "application/vnd.ms-project"],
673
+ ["mpt", "application/vnd.ms-project"],
674
+ ["mpy", "application/vnd.ibm.minipay"],
675
+ ["mqy", "application/vnd.mobius.mqy"],
676
+ ["mrc", "application/marc"],
677
+ ["mrcx", "application/marcxml+xml"],
678
+ ["ms", "text/troff"],
679
+ ["mscml", "application/mediaservercontrol+xml"],
680
+ ["mseed", "application/vnd.fdsn.mseed"],
681
+ ["mseq", "application/vnd.mseq"],
682
+ ["msf", "application/vnd.epson.msf"],
683
+ ["msg", "application/vnd.ms-outlook"],
684
+ ["msh", "model/mesh"],
685
+ ["msi", "application/x-msdownload"],
686
+ ["msl", "application/vnd.mobius.msl"],
687
+ ["msm", "application/octet-stream"],
688
+ ["msp", "application/octet-stream"],
689
+ ["msty", "application/vnd.muvee.style"],
690
+ ["mtl", "model/mtl"],
691
+ ["mts", "model/vnd.mts"],
692
+ ["mus", "application/vnd.musician"],
693
+ ["musd", "application/mmt-usd+xml"],
694
+ ["musicxml", "application/vnd.recordare.musicxml+xml"],
695
+ ["mvb", "application/x-msmediaview"],
696
+ ["mvt", "application/vnd.mapbox-vector-tile"],
697
+ ["mwf", "application/vnd.mfer"],
698
+ ["mxf", "application/mxf"],
699
+ ["mxl", "application/vnd.recordare.musicxml"],
700
+ ["mxmf", "audio/mobile-xmf"],
701
+ ["mxml", "application/xv+xml"],
702
+ ["mxs", "application/vnd.triscape.mxs"],
703
+ ["mxu", "video/vnd.mpegurl"],
704
+ ["n-gage", "application/vnd.nokia.n-gage.symbian.install"],
705
+ ["n3", "text/n3"],
706
+ ["nb", "application/mathematica"],
707
+ ["nbp", "application/vnd.wolfram.player"],
708
+ ["nc", "application/x-netcdf"],
709
+ ["ncx", "application/x-dtbncx+xml"],
710
+ ["nfo", "text/x-nfo"],
711
+ ["ngdat", "application/vnd.nokia.n-gage.data"],
712
+ ["nitf", "application/vnd.nitf"],
713
+ ["nlu", "application/vnd.neurolanguage.nlu"],
714
+ ["nml", "application/vnd.enliven"],
715
+ ["nnd", "application/vnd.noblenet-directory"],
716
+ ["nns", "application/vnd.noblenet-sealer"],
717
+ ["nnw", "application/vnd.noblenet-web"],
718
+ ["npx", "image/vnd.net-fpx"],
719
+ ["nq", "application/n-quads"],
720
+ ["nsc", "application/x-conference"],
721
+ ["nsf", "application/vnd.lotus-notes"],
722
+ ["nt", "application/n-triples"],
723
+ ["ntf", "application/vnd.nitf"],
724
+ ["numbers", "application/x-iwork-numbers-sffnumbers"],
725
+ ["nzb", "application/x-nzb"],
726
+ ["oa2", "application/vnd.fujitsu.oasys2"],
727
+ ["oa3", "application/vnd.fujitsu.oasys3"],
728
+ ["oas", "application/vnd.fujitsu.oasys"],
729
+ ["obd", "application/x-msbinder"],
730
+ ["obgx", "application/vnd.openblox.game+xml"],
731
+ ["obj", "model/obj"],
732
+ ["oda", "application/oda"],
733
+ ["odb", "application/vnd.oasis.opendocument.database"],
734
+ ["odc", "application/vnd.oasis.opendocument.chart"],
735
+ ["odf", "application/vnd.oasis.opendocument.formula"],
736
+ ["odft", "application/vnd.oasis.opendocument.formula-template"],
737
+ ["odg", "application/vnd.oasis.opendocument.graphics"],
738
+ ["odi", "application/vnd.oasis.opendocument.image"],
739
+ ["odm", "application/vnd.oasis.opendocument.text-master"],
740
+ ["odp", "application/vnd.oasis.opendocument.presentation"],
741
+ ["ods", "application/vnd.oasis.opendocument.spreadsheet"],
742
+ ["odt", "application/vnd.oasis.opendocument.text"],
743
+ ["oga", "audio/ogg"],
744
+ ["ogex", "model/vnd.opengex"],
745
+ ["ogg", "audio/ogg"],
746
+ ["ogv", "video/ogg"],
747
+ ["ogx", "application/ogg"],
748
+ ["omdoc", "application/omdoc+xml"],
749
+ ["onepkg", "application/onenote"],
750
+ ["onetmp", "application/onenote"],
751
+ ["onetoc", "application/onenote"],
752
+ ["onetoc2", "application/onenote"],
753
+ ["opf", "application/oebps-package+xml"],
754
+ ["opml", "text/x-opml"],
755
+ ["oprc", "application/vnd.palm"],
756
+ ["opus", "audio/ogg"],
757
+ ["org", "text/x-org"],
758
+ ["osf", "application/vnd.yamaha.openscoreformat"],
759
+ ["osfpvg", "application/vnd.yamaha.openscoreformat.osfpvg+xml"],
760
+ ["osm", "application/vnd.openstreetmap.data+xml"],
761
+ ["otc", "application/vnd.oasis.opendocument.chart-template"],
762
+ ["otf", "font/otf"],
763
+ ["otg", "application/vnd.oasis.opendocument.graphics-template"],
764
+ ["oth", "application/vnd.oasis.opendocument.text-web"],
765
+ ["oti", "application/vnd.oasis.opendocument.image-template"],
766
+ ["otp", "application/vnd.oasis.opendocument.presentation-template"],
767
+ ["ots", "application/vnd.oasis.opendocument.spreadsheet-template"],
768
+ ["ott", "application/vnd.oasis.opendocument.text-template"],
769
+ ["ova", "application/x-virtualbox-ova"],
770
+ ["ovf", "application/x-virtualbox-ovf"],
771
+ ["owl", "application/rdf+xml"],
772
+ ["oxps", "application/oxps"],
773
+ ["oxt", "application/vnd.openofficeorg.extension"],
774
+ ["p", "text/x-pascal"],
775
+ ["p7a", "application/x-pkcs7-signature"],
776
+ ["p7b", "application/x-pkcs7-certificates"],
777
+ ["p7c", "application/pkcs7-mime"],
778
+ ["p7m", "application/pkcs7-mime"],
779
+ ["p7r", "application/x-pkcs7-certreqresp"],
780
+ ["p7s", "application/pkcs7-signature"],
781
+ ["p8", "application/pkcs8"],
782
+ ["p10", "application/x-pkcs10"],
783
+ ["p12", "application/x-pkcs12"],
784
+ ["pac", "application/x-ns-proxy-autoconfig"],
785
+ ["pages", "application/x-iwork-pages-sffpages"],
786
+ ["pas", "text/x-pascal"],
787
+ ["paw", "application/vnd.pawaafile"],
788
+ ["pbd", "application/vnd.powerbuilder6"],
789
+ ["pbm", "image/x-portable-bitmap"],
790
+ ["pcap", "application/vnd.tcpdump.pcap"],
791
+ ["pcf", "application/x-font-pcf"],
792
+ ["pcl", "application/vnd.hp-pcl"],
793
+ ["pclxl", "application/vnd.hp-pclxl"],
794
+ ["pct", "image/x-pict"],
795
+ ["pcurl", "application/vnd.curl.pcurl"],
796
+ ["pcx", "image/x-pcx"],
797
+ ["pdb", "application/x-pilot"],
798
+ ["pde", "text/x-processing"],
799
+ ["pdf", "application/pdf"],
800
+ ["pem", "application/x-x509-user-cert"],
801
+ ["pfa", "application/x-font-type1"],
802
+ ["pfb", "application/x-font-type1"],
803
+ ["pfm", "application/x-font-type1"],
804
+ ["pfr", "application/font-tdpfr"],
805
+ ["pfx", "application/x-pkcs12"],
806
+ ["pgm", "image/x-portable-graymap"],
807
+ ["pgn", "application/x-chess-pgn"],
808
+ ["pgp", "application/pgp"],
809
+ ["php", "application/x-httpd-php"],
810
+ ["php3", "application/x-httpd-php"],
811
+ ["php4", "application/x-httpd-php"],
812
+ ["phps", "application/x-httpd-php-source"],
813
+ ["phtml", "application/x-httpd-php"],
814
+ ["pic", "image/x-pict"],
815
+ ["pkg", "application/octet-stream"],
816
+ ["pki", "application/pkixcmp"],
817
+ ["pkipath", "application/pkix-pkipath"],
818
+ ["pkpass", "application/vnd.apple.pkpass"],
819
+ ["pl", "application/x-perl"],
820
+ ["plb", "application/vnd.3gpp.pic-bw-large"],
821
+ ["plc", "application/vnd.mobius.plc"],
822
+ ["plf", "application/vnd.pocketlearn"],
823
+ ["pls", "application/pls+xml"],
824
+ ["pm", "application/x-perl"],
825
+ ["pml", "application/vnd.ctc-posml"],
826
+ ["png", "image/png"],
827
+ ["pnm", "image/x-portable-anymap"],
828
+ ["portpkg", "application/vnd.macports.portpkg"],
829
+ ["pot", "application/vnd.ms-powerpoint"],
830
+ ["potm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"],
831
+ ["potx", "application/vnd.openxmlformats-officedocument.presentationml.template"],
832
+ ["ppa", "application/vnd.ms-powerpoint"],
833
+ ["ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12"],
834
+ ["ppd", "application/vnd.cups-ppd"],
835
+ ["ppm", "image/x-portable-pixmap"],
836
+ ["pps", "application/vnd.ms-powerpoint"],
837
+ ["ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],
838
+ ["ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"],
839
+ ["ppt", "application/powerpoint"],
840
+ ["pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"],
841
+ ["pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"],
842
+ ["pqa", "application/vnd.palm"],
843
+ ["prc", "application/x-pilot"],
844
+ ["pre", "application/vnd.lotus-freelance"],
845
+ ["prf", "application/pics-rules"],
846
+ ["provx", "application/provenance+xml"],
847
+ ["ps", "application/postscript"],
848
+ ["psb", "application/vnd.3gpp.pic-bw-small"],
849
+ ["psd", "application/x-photoshop"],
850
+ ["psf", "application/x-font-linux-psf"],
851
+ ["pskcxml", "application/pskc+xml"],
852
+ ["pti", "image/prs.pti"],
853
+ ["ptid", "application/vnd.pvi.ptid1"],
854
+ ["pub", "application/x-mspublisher"],
855
+ ["pvb", "application/vnd.3gpp.pic-bw-var"],
856
+ ["pwn", "application/vnd.3m.post-it-notes"],
857
+ ["pya", "audio/vnd.ms-playready.media.pya"],
858
+ ["pyv", "video/vnd.ms-playready.media.pyv"],
859
+ ["qam", "application/vnd.epson.quickanime"],
860
+ ["qbo", "application/vnd.intu.qbo"],
861
+ ["qfx", "application/vnd.intu.qfx"],
862
+ ["qps", "application/vnd.publishare-delta-tree"],
863
+ ["qt", "video/quicktime"],
864
+ ["qwd", "application/vnd.quark.quarkxpress"],
865
+ ["qwt", "application/vnd.quark.quarkxpress"],
866
+ ["qxb", "application/vnd.quark.quarkxpress"],
867
+ ["qxd", "application/vnd.quark.quarkxpress"],
868
+ ["qxl", "application/vnd.quark.quarkxpress"],
869
+ ["qxt", "application/vnd.quark.quarkxpress"],
870
+ ["ra", "audio/x-realaudio"],
871
+ ["ram", "audio/x-pn-realaudio"],
872
+ ["raml", "application/raml+yaml"],
873
+ ["rapd", "application/route-apd+xml"],
874
+ ["rar", "application/x-rar"],
875
+ ["ras", "image/x-cmu-raster"],
876
+ ["rcprofile", "application/vnd.ipunplugged.rcprofile"],
877
+ ["rdf", "application/rdf+xml"],
878
+ ["rdz", "application/vnd.data-vision.rdz"],
879
+ ["relo", "application/p2p-overlay+xml"],
880
+ ["rep", "application/vnd.businessobjects"],
881
+ ["res", "application/x-dtbresource+xml"],
882
+ ["rgb", "image/x-rgb"],
883
+ ["rif", "application/reginfo+xml"],
884
+ ["rip", "audio/vnd.rip"],
885
+ ["ris", "application/x-research-info-systems"],
886
+ ["rl", "application/resource-lists+xml"],
887
+ ["rlc", "image/vnd.fujixerox.edmics-rlc"],
888
+ ["rld", "application/resource-lists-diff+xml"],
889
+ ["rm", "audio/x-pn-realaudio"],
890
+ ["rmi", "audio/midi"],
891
+ ["rmp", "audio/x-pn-realaudio-plugin"],
892
+ ["rms", "application/vnd.jcp.javame.midlet-rms"],
893
+ ["rmvb", "application/vnd.rn-realmedia-vbr"],
894
+ ["rnc", "application/relax-ng-compact-syntax"],
895
+ ["rng", "application/xml"],
896
+ ["roa", "application/rpki-roa"],
897
+ ["roff", "text/troff"],
898
+ ["rp9", "application/vnd.cloanto.rp9"],
899
+ ["rpm", "audio/x-pn-realaudio-plugin"],
900
+ ["rpss", "application/vnd.nokia.radio-presets"],
901
+ ["rpst", "application/vnd.nokia.radio-preset"],
902
+ ["rq", "application/sparql-query"],
903
+ ["rs", "application/rls-services+xml"],
904
+ ["rsa", "application/x-pkcs7"],
905
+ ["rsat", "application/atsc-rsat+xml"],
906
+ ["rsd", "application/rsd+xml"],
907
+ ["rsheet", "application/urc-ressheet+xml"],
908
+ ["rss", "application/rss+xml"],
909
+ ["rtf", "text/rtf"],
910
+ ["rtx", "text/richtext"],
911
+ ["run", "application/x-makeself"],
912
+ ["rusd", "application/route-usd+xml"],
913
+ ["rv", "video/vnd.rn-realvideo"],
914
+ ["s", "text/x-asm"],
915
+ ["s3m", "audio/s3m"],
916
+ ["saf", "application/vnd.yamaha.smaf-audio"],
917
+ ["sass", "text/x-sass"],
918
+ ["sbml", "application/sbml+xml"],
919
+ ["sc", "application/vnd.ibm.secure-container"],
920
+ ["scd", "application/x-msschedule"],
921
+ ["scm", "application/vnd.lotus-screencam"],
922
+ ["scq", "application/scvp-cv-request"],
923
+ ["scs", "application/scvp-cv-response"],
924
+ ["scss", "text/x-scss"],
925
+ ["scurl", "text/vnd.curl.scurl"],
926
+ ["sda", "application/vnd.stardivision.draw"],
927
+ ["sdc", "application/vnd.stardivision.calc"],
928
+ ["sdd", "application/vnd.stardivision.impress"],
929
+ ["sdkd", "application/vnd.solent.sdkm+xml"],
930
+ ["sdkm", "application/vnd.solent.sdkm+xml"],
931
+ ["sdp", "application/sdp"],
932
+ ["sdw", "application/vnd.stardivision.writer"],
933
+ ["sea", "application/octet-stream"],
934
+ ["see", "application/vnd.seemail"],
935
+ ["seed", "application/vnd.fdsn.seed"],
936
+ ["sema", "application/vnd.sema"],
937
+ ["semd", "application/vnd.semd"],
938
+ ["semf", "application/vnd.semf"],
939
+ ["senmlx", "application/senml+xml"],
940
+ ["sensmlx", "application/sensml+xml"],
941
+ ["ser", "application/java-serialized-object"],
942
+ ["setpay", "application/set-payment-initiation"],
943
+ ["setreg", "application/set-registration-initiation"],
944
+ ["sfd-hdstx", "application/vnd.hydrostatix.sof-data"],
945
+ ["sfs", "application/vnd.spotfire.sfs"],
946
+ ["sfv", "text/x-sfv"],
947
+ ["sgi", "image/sgi"],
948
+ ["sgl", "application/vnd.stardivision.writer-global"],
949
+ ["sgm", "text/sgml"],
950
+ ["sgml", "text/sgml"],
951
+ ["sh", "application/x-sh"],
952
+ ["shar", "application/x-shar"],
953
+ ["shex", "text/shex"],
954
+ ["shf", "application/shf+xml"],
955
+ ["shtml", "text/html"],
956
+ ["sid", "image/x-mrsid-image"],
957
+ ["sieve", "application/sieve"],
958
+ ["sig", "application/pgp-signature"],
959
+ ["sil", "audio/silk"],
960
+ ["silo", "model/mesh"],
961
+ ["sis", "application/vnd.symbian.install"],
962
+ ["sisx", "application/vnd.symbian.install"],
963
+ ["sit", "application/x-stuffit"],
964
+ ["sitx", "application/x-stuffitx"],
965
+ ["siv", "application/sieve"],
966
+ ["skd", "application/vnd.koan"],
967
+ ["skm", "application/vnd.koan"],
968
+ ["skp", "application/vnd.koan"],
969
+ ["skt", "application/vnd.koan"],
970
+ ["sldm", "application/vnd.ms-powerpoint.slide.macroenabled.12"],
971
+ ["sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide"],
972
+ ["slim", "text/slim"],
973
+ ["slm", "text/slim"],
974
+ ["sls", "application/route-s-tsid+xml"],
975
+ ["slt", "application/vnd.epson.salt"],
976
+ ["sm", "application/vnd.stepmania.stepchart"],
977
+ ["smf", "application/vnd.stardivision.math"],
978
+ ["smi", "application/smil"],
979
+ ["smil", "application/smil"],
980
+ ["smv", "video/x-smv"],
981
+ ["smzip", "application/vnd.stepmania.package"],
982
+ ["snd", "audio/basic"],
983
+ ["snf", "application/x-font-snf"],
984
+ ["so", "application/octet-stream"],
985
+ ["spc", "application/x-pkcs7-certificates"],
986
+ ["spdx", "text/spdx"],
987
+ ["spf", "application/vnd.yamaha.smaf-phrase"],
988
+ ["spl", "application/x-futuresplash"],
989
+ ["spot", "text/vnd.in3d.spot"],
990
+ ["spp", "application/scvp-vp-response"],
991
+ ["spq", "application/scvp-vp-request"],
992
+ ["spx", "audio/ogg"],
993
+ ["sql", "application/x-sql"],
994
+ ["src", "application/x-wais-source"],
995
+ ["srt", "application/x-subrip"],
996
+ ["sru", "application/sru+xml"],
997
+ ["srx", "application/sparql-results+xml"],
998
+ ["ssdl", "application/ssdl+xml"],
999
+ ["sse", "application/vnd.kodak-descriptor"],
1000
+ ["ssf", "application/vnd.epson.ssf"],
1001
+ ["ssml", "application/ssml+xml"],
1002
+ ["sst", "application/octet-stream"],
1003
+ ["st", "application/vnd.sailingtracker.track"],
1004
+ ["stc", "application/vnd.sun.xml.calc.template"],
1005
+ ["std", "application/vnd.sun.xml.draw.template"],
1006
+ ["stf", "application/vnd.wt.stf"],
1007
+ ["sti", "application/vnd.sun.xml.impress.template"],
1008
+ ["stk", "application/hyperstudio"],
1009
+ ["stl", "model/stl"],
1010
+ ["stpx", "model/step+xml"],
1011
+ ["stpxz", "model/step-xml+zip"],
1012
+ ["stpz", "model/step+zip"],
1013
+ ["str", "application/vnd.pg.format"],
1014
+ ["stw", "application/vnd.sun.xml.writer.template"],
1015
+ ["styl", "text/stylus"],
1016
+ ["stylus", "text/stylus"],
1017
+ ["sub", "text/vnd.dvb.subtitle"],
1018
+ ["sus", "application/vnd.sus-calendar"],
1019
+ ["susp", "application/vnd.sus-calendar"],
1020
+ ["sv4cpio", "application/x-sv4cpio"],
1021
+ ["sv4crc", "application/x-sv4crc"],
1022
+ ["svc", "application/vnd.dvb.service"],
1023
+ ["svd", "application/vnd.svd"],
1024
+ ["svg", "image/svg+xml"],
1025
+ ["svgz", "image/svg+xml"],
1026
+ ["swa", "application/x-director"],
1027
+ ["swf", "application/x-shockwave-flash"],
1028
+ ["swi", "application/vnd.aristanetworks.swi"],
1029
+ ["swidtag", "application/swid+xml"],
1030
+ ["sxc", "application/vnd.sun.xml.calc"],
1031
+ ["sxd", "application/vnd.sun.xml.draw"],
1032
+ ["sxg", "application/vnd.sun.xml.writer.global"],
1033
+ ["sxi", "application/vnd.sun.xml.impress"],
1034
+ ["sxm", "application/vnd.sun.xml.math"],
1035
+ ["sxw", "application/vnd.sun.xml.writer"],
1036
+ ["t", "text/troff"],
1037
+ ["t3", "application/x-t3vm-image"],
1038
+ ["t38", "image/t38"],
1039
+ ["taglet", "application/vnd.mynfc"],
1040
+ ["tao", "application/vnd.tao.intent-module-archive"],
1041
+ ["tap", "image/vnd.tencent.tap"],
1042
+ ["tar", "application/x-tar"],
1043
+ ["tcap", "application/vnd.3gpp2.tcap"],
1044
+ ["tcl", "application/x-tcl"],
1045
+ ["td", "application/urc-targetdesc+xml"],
1046
+ ["teacher", "application/vnd.smart.teacher"],
1047
+ ["tei", "application/tei+xml"],
1048
+ ["teicorpus", "application/tei+xml"],
1049
+ ["tex", "application/x-tex"],
1050
+ ["texi", "application/x-texinfo"],
1051
+ ["texinfo", "application/x-texinfo"],
1052
+ ["text", "text/plain"],
1053
+ ["tfi", "application/thraud+xml"],
1054
+ ["tfm", "application/x-tex-tfm"],
1055
+ ["tfx", "image/tiff-fx"],
1056
+ ["tga", "image/x-tga"],
1057
+ ["tgz", "application/x-tar"],
1058
+ ["thmx", "application/vnd.ms-officetheme"],
1059
+ ["tif", "image/tiff"],
1060
+ ["tiff", "image/tiff"],
1061
+ ["tk", "application/x-tcl"],
1062
+ ["tmo", "application/vnd.tmobile-livetv"],
1063
+ ["toml", "application/toml"],
1064
+ ["torrent", "application/x-bittorrent"],
1065
+ ["tpl", "application/vnd.groove-tool-template"],
1066
+ ["tpt", "application/vnd.trid.tpt"],
1067
+ ["tr", "text/troff"],
1068
+ ["tra", "application/vnd.trueapp"],
1069
+ ["trig", "application/trig"],
1070
+ ["trm", "application/x-msterminal"],
1071
+ ["ts", "video/mp2t"],
1072
+ ["tsd", "application/timestamped-data"],
1073
+ ["tsv", "text/tab-separated-values"],
1074
+ ["ttc", "font/collection"],
1075
+ ["ttf", "font/ttf"],
1076
+ ["ttl", "text/turtle"],
1077
+ ["ttml", "application/ttml+xml"],
1078
+ ["twd", "application/vnd.simtech-mindmapper"],
1079
+ ["twds", "application/vnd.simtech-mindmapper"],
1080
+ ["txd", "application/vnd.genomatix.tuxedo"],
1081
+ ["txf", "application/vnd.mobius.txf"],
1082
+ ["txt", "text/plain"],
1083
+ ["u8dsn", "message/global-delivery-status"],
1084
+ ["u8hdr", "message/global-headers"],
1085
+ ["u8mdn", "message/global-disposition-notification"],
1086
+ ["u8msg", "message/global"],
1087
+ ["u32", "application/x-authorware-bin"],
1088
+ ["ubj", "application/ubjson"],
1089
+ ["udeb", "application/x-debian-package"],
1090
+ ["ufd", "application/vnd.ufdl"],
1091
+ ["ufdl", "application/vnd.ufdl"],
1092
+ ["ulx", "application/x-glulx"],
1093
+ ["umj", "application/vnd.umajin"],
1094
+ ["unityweb", "application/vnd.unity"],
1095
+ ["uoml", "application/vnd.uoml+xml"],
1096
+ ["uri", "text/uri-list"],
1097
+ ["uris", "text/uri-list"],
1098
+ ["urls", "text/uri-list"],
1099
+ ["usdz", "model/vnd.usdz+zip"],
1100
+ ["ustar", "application/x-ustar"],
1101
+ ["utz", "application/vnd.uiq.theme"],
1102
+ ["uu", "text/x-uuencode"],
1103
+ ["uva", "audio/vnd.dece.audio"],
1104
+ ["uvd", "application/vnd.dece.data"],
1105
+ ["uvf", "application/vnd.dece.data"],
1106
+ ["uvg", "image/vnd.dece.graphic"],
1107
+ ["uvh", "video/vnd.dece.hd"],
1108
+ ["uvi", "image/vnd.dece.graphic"],
1109
+ ["uvm", "video/vnd.dece.mobile"],
1110
+ ["uvp", "video/vnd.dece.pd"],
1111
+ ["uvs", "video/vnd.dece.sd"],
1112
+ ["uvt", "application/vnd.dece.ttml+xml"],
1113
+ ["uvu", "video/vnd.uvvu.mp4"],
1114
+ ["uvv", "video/vnd.dece.video"],
1115
+ ["uvva", "audio/vnd.dece.audio"],
1116
+ ["uvvd", "application/vnd.dece.data"],
1117
+ ["uvvf", "application/vnd.dece.data"],
1118
+ ["uvvg", "image/vnd.dece.graphic"],
1119
+ ["uvvh", "video/vnd.dece.hd"],
1120
+ ["uvvi", "image/vnd.dece.graphic"],
1121
+ ["uvvm", "video/vnd.dece.mobile"],
1122
+ ["uvvp", "video/vnd.dece.pd"],
1123
+ ["uvvs", "video/vnd.dece.sd"],
1124
+ ["uvvt", "application/vnd.dece.ttml+xml"],
1125
+ ["uvvu", "video/vnd.uvvu.mp4"],
1126
+ ["uvvv", "video/vnd.dece.video"],
1127
+ ["uvvx", "application/vnd.dece.unspecified"],
1128
+ ["uvvz", "application/vnd.dece.zip"],
1129
+ ["uvx", "application/vnd.dece.unspecified"],
1130
+ ["uvz", "application/vnd.dece.zip"],
1131
+ ["vbox", "application/x-virtualbox-vbox"],
1132
+ ["vbox-extpack", "application/x-virtualbox-vbox-extpack"],
1133
+ ["vcard", "text/vcard"],
1134
+ ["vcd", "application/x-cdlink"],
1135
+ ["vcf", "text/x-vcard"],
1136
+ ["vcg", "application/vnd.groove-vcard"],
1137
+ ["vcs", "text/x-vcalendar"],
1138
+ ["vcx", "application/vnd.vcx"],
1139
+ ["vdi", "application/x-virtualbox-vdi"],
1140
+ ["vds", "model/vnd.sap.vds"],
1141
+ ["vhd", "application/x-virtualbox-vhd"],
1142
+ ["vis", "application/vnd.visionary"],
1143
+ ["viv", "video/vnd.vivo"],
1144
+ ["vlc", "application/videolan"],
1145
+ ["vmdk", "application/x-virtualbox-vmdk"],
1146
+ ["vob", "video/x-ms-vob"],
1147
+ ["vor", "application/vnd.stardivision.writer"],
1148
+ ["vox", "application/x-authorware-bin"],
1149
+ ["vrml", "model/vrml"],
1150
+ ["vsd", "application/vnd.visio"],
1151
+ ["vsf", "application/vnd.vsf"],
1152
+ ["vss", "application/vnd.visio"],
1153
+ ["vst", "application/vnd.visio"],
1154
+ ["vsw", "application/vnd.visio"],
1155
+ ["vtf", "image/vnd.valve.source.texture"],
1156
+ ["vtt", "text/vtt"],
1157
+ ["vtu", "model/vnd.vtu"],
1158
+ ["vxml", "application/voicexml+xml"],
1159
+ ["w3d", "application/x-director"],
1160
+ ["wad", "application/x-doom"],
1161
+ ["wadl", "application/vnd.sun.wadl+xml"],
1162
+ ["war", "application/java-archive"],
1163
+ ["wasm", "application/wasm"],
1164
+ ["wav", "audio/x-wav"],
1165
+ ["wax", "audio/x-ms-wax"],
1166
+ ["wbmp", "image/vnd.wap.wbmp"],
1167
+ ["wbs", "application/vnd.criticaltools.wbs+xml"],
1168
+ ["wbxml", "application/wbxml"],
1169
+ ["wcm", "application/vnd.ms-works"],
1170
+ ["wdb", "application/vnd.ms-works"],
1171
+ ["wdp", "image/vnd.ms-photo"],
1172
+ ["weba", "audio/webm"],
1173
+ ["webapp", "application/x-web-app-manifest+json"],
1174
+ ["webm", "video/webm"],
1175
+ ["webmanifest", "application/manifest+json"],
1176
+ ["webp", "image/webp"],
1177
+ ["wg", "application/vnd.pmi.widget"],
1178
+ ["wgt", "application/widget"],
1179
+ ["wks", "application/vnd.ms-works"],
1180
+ ["wm", "video/x-ms-wm"],
1181
+ ["wma", "audio/x-ms-wma"],
1182
+ ["wmd", "application/x-ms-wmd"],
1183
+ ["wmf", "image/wmf"],
1184
+ ["wml", "text/vnd.wap.wml"],
1185
+ ["wmlc", "application/wmlc"],
1186
+ ["wmls", "text/vnd.wap.wmlscript"],
1187
+ ["wmlsc", "application/vnd.wap.wmlscriptc"],
1188
+ ["wmv", "video/x-ms-wmv"],
1189
+ ["wmx", "video/x-ms-wmx"],
1190
+ ["wmz", "application/x-msmetafile"],
1191
+ ["woff", "font/woff"],
1192
+ ["woff2", "font/woff2"],
1193
+ ["word", "application/msword"],
1194
+ ["wpd", "application/vnd.wordperfect"],
1195
+ ["wpl", "application/vnd.ms-wpl"],
1196
+ ["wps", "application/vnd.ms-works"],
1197
+ ["wqd", "application/vnd.wqd"],
1198
+ ["wri", "application/x-mswrite"],
1199
+ ["wrl", "model/vrml"],
1200
+ ["wsc", "message/vnd.wfa.wsc"],
1201
+ ["wsdl", "application/wsdl+xml"],
1202
+ ["wspolicy", "application/wspolicy+xml"],
1203
+ ["wtb", "application/vnd.webturbo"],
1204
+ ["wvx", "video/x-ms-wvx"],
1205
+ ["x3d", "model/x3d+xml"],
1206
+ ["x3db", "model/x3d+fastinfoset"],
1207
+ ["x3dbz", "model/x3d+binary"],
1208
+ ["x3dv", "model/x3d-vrml"],
1209
+ ["x3dvz", "model/x3d+vrml"],
1210
+ ["x3dz", "model/x3d+xml"],
1211
+ ["x32", "application/x-authorware-bin"],
1212
+ ["x_b", "model/vnd.parasolid.transmit.binary"],
1213
+ ["x_t", "model/vnd.parasolid.transmit.text"],
1214
+ ["xaml", "application/xaml+xml"],
1215
+ ["xap", "application/x-silverlight-app"],
1216
+ ["xar", "application/vnd.xara"],
1217
+ ["xav", "application/xcap-att+xml"],
1218
+ ["xbap", "application/x-ms-xbap"],
1219
+ ["xbd", "application/vnd.fujixerox.docuworks.binder"],
1220
+ ["xbm", "image/x-xbitmap"],
1221
+ ["xca", "application/xcap-caps+xml"],
1222
+ ["xcs", "application/calendar+xml"],
1223
+ ["xdf", "application/xcap-diff+xml"],
1224
+ ["xdm", "application/vnd.syncml.dm+xml"],
1225
+ ["xdp", "application/vnd.adobe.xdp+xml"],
1226
+ ["xdssc", "application/dssc+xml"],
1227
+ ["xdw", "application/vnd.fujixerox.docuworks"],
1228
+ ["xel", "application/xcap-el+xml"],
1229
+ ["xenc", "application/xenc+xml"],
1230
+ ["xer", "application/patch-ops-error+xml"],
1231
+ ["xfdf", "application/vnd.adobe.xfdf"],
1232
+ ["xfdl", "application/vnd.xfdl"],
1233
+ ["xht", "application/xhtml+xml"],
1234
+ ["xhtml", "application/xhtml+xml"],
1235
+ ["xhvml", "application/xv+xml"],
1236
+ ["xif", "image/vnd.xiff"],
1237
+ ["xl", "application/excel"],
1238
+ ["xla", "application/vnd.ms-excel"],
1239
+ ["xlam", "application/vnd.ms-excel.addin.macroEnabled.12"],
1240
+ ["xlc", "application/vnd.ms-excel"],
1241
+ ["xlf", "application/xliff+xml"],
1242
+ ["xlm", "application/vnd.ms-excel"],
1243
+ ["xls", "application/vnd.ms-excel"],
1244
+ ["xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"],
1245
+ ["xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"],
1246
+ ["xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
1247
+ ["xlt", "application/vnd.ms-excel"],
1248
+ ["xltm", "application/vnd.ms-excel.template.macroEnabled.12"],
1249
+ ["xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template"],
1250
+ ["xlw", "application/vnd.ms-excel"],
1251
+ ["xm", "audio/xm"],
1252
+ ["xml", "application/xml"],
1253
+ ["xns", "application/xcap-ns+xml"],
1254
+ ["xo", "application/vnd.olpc-sugar"],
1255
+ ["xop", "application/xop+xml"],
1256
+ ["xpi", "application/x-xpinstall"],
1257
+ ["xpl", "application/xproc+xml"],
1258
+ ["xpm", "image/x-xpixmap"],
1259
+ ["xpr", "application/vnd.is-xpr"],
1260
+ ["xps", "application/vnd.ms-xpsdocument"],
1261
+ ["xpw", "application/vnd.intercon.formnet"],
1262
+ ["xpx", "application/vnd.intercon.formnet"],
1263
+ ["xsd", "application/xml"],
1264
+ ["xsl", "application/xml"],
1265
+ ["xslt", "application/xslt+xml"],
1266
+ ["xsm", "application/vnd.syncml+xml"],
1267
+ ["xspf", "application/xspf+xml"],
1268
+ ["xul", "application/vnd.mozilla.xul+xml"],
1269
+ ["xvm", "application/xv+xml"],
1270
+ ["xvml", "application/xv+xml"],
1271
+ ["xwd", "image/x-xwindowdump"],
1272
+ ["xyz", "chemical/x-xyz"],
1273
+ ["xz", "application/x-xz"],
1274
+ ["yaml", "text/yaml"],
1275
+ ["yang", "application/yang"],
1276
+ ["yin", "application/yin+xml"],
1277
+ ["yml", "text/yaml"],
1278
+ ["ymp", "text/x-suse-ymp"],
1279
+ ["z", "application/x-compress"],
1280
+ ["z1", "application/x-zmachine"],
1281
+ ["z2", "application/x-zmachine"],
1282
+ ["z3", "application/x-zmachine"],
1283
+ ["z4", "application/x-zmachine"],
1284
+ ["z5", "application/x-zmachine"],
1285
+ ["z6", "application/x-zmachine"],
1286
+ ["z7", "application/x-zmachine"],
1287
+ ["z8", "application/x-zmachine"],
1288
+ ["zaz", "application/vnd.zzazz.deck+xml"],
1289
+ ["zip", "application/zip"],
1290
+ ["zir", "application/vnd.zul"],
1291
+ ["zirz", "application/vnd.zul"],
1292
+ ["zmm", "application/vnd.handheld-entertainment+xml"],
1293
+ ["zsh", "text/x-scriptzsh"]
1294
+ ]);
1295
+ function toFileWithPath(file, path, h) {
1296
+ const f = withMimeType(file);
1297
+ const { webkitRelativePath } = file;
1298
+ const p = typeof path === "string" ? path : typeof webkitRelativePath === "string" && webkitRelativePath.length > 0 ? webkitRelativePath : `./${file.name}`;
1299
+ if (typeof f.path !== "string") {
1300
+ setObjProp(f, "path", p);
1301
+ }
1302
+ if (h !== undefined) {
1303
+ Object.defineProperty(f, "handle", {
1304
+ value: h,
1305
+ writable: false,
1306
+ configurable: false,
1307
+ enumerable: true
1308
+ });
1309
+ }
1310
+ setObjProp(f, "relativePath", p);
1311
+ return f;
1312
+ }
1313
+ function withMimeType(file) {
1314
+ const { name } = file;
1315
+ const hasExtension = name && name.lastIndexOf(".") !== -1;
1316
+ if (hasExtension && !file.type) {
1317
+ const ext = name.split(".").pop().toLowerCase();
1318
+ const type = COMMON_MIME_TYPES.get(ext);
1319
+ if (type) {
1320
+ Object.defineProperty(file, "type", {
1321
+ value: type,
1322
+ writable: false,
1323
+ configurable: false,
1324
+ enumerable: true
1325
+ });
1326
+ }
1327
+ }
1328
+ return file;
1329
+ }
1330
+ function setObjProp(f, key, value) {
1331
+ Object.defineProperty(f, key, {
1332
+ value,
1333
+ writable: false,
1334
+ configurable: false,
1335
+ enumerable: true
1336
+ });
1337
+ }
1338
+
1339
+ // node_modules/file-selector/dist/es2015/file-selector.js
1340
+ var FILES_TO_IGNORE = [
1341
+ ".DS_Store",
1342
+ "Thumbs.db"
1343
+ ];
1344
+ function fromEvent(evt) {
1345
+ return __awaiter(this, undefined, undefined, function* () {
1346
+ if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {
1347
+ return getDataTransferFiles(evt.dataTransfer, evt.type);
1348
+ } else if (isChangeEvt(evt)) {
1349
+ return getInputFiles(evt);
1350
+ } else if (Array.isArray(evt) && evt.every((item) => ("getFile" in item) && typeof item.getFile === "function")) {
1351
+ return getFsHandleFiles(evt);
1352
+ }
1353
+ return [];
1354
+ });
1355
+ }
1356
+ function isDataTransfer(value) {
1357
+ return isObject(value);
1358
+ }
1359
+ function isChangeEvt(value) {
1360
+ return isObject(value) && isObject(value.target);
1361
+ }
1362
+ function isObject(v) {
1363
+ return typeof v === "object" && v !== null;
1364
+ }
1365
+ function getInputFiles(evt) {
1366
+ return fromList(evt.target.files).map((file) => toFileWithPath(file));
1367
+ }
1368
+ function getFsHandleFiles(handles) {
1369
+ return __awaiter(this, undefined, undefined, function* () {
1370
+ const files = yield Promise.all(handles.map((h) => h.getFile()));
1371
+ return files.map((file) => toFileWithPath(file));
1372
+ });
1373
+ }
1374
+ function getDataTransferFiles(dt, type) {
1375
+ return __awaiter(this, undefined, undefined, function* () {
1376
+ if (dt.items) {
1377
+ const items = fromList(dt.items).filter((item) => item.kind === "file");
1378
+ if (type !== "drop") {
1379
+ return items;
1380
+ }
1381
+ const files = yield Promise.all(items.map(toFilePromises));
1382
+ return noIgnoredFiles(flatten(files));
1383
+ }
1384
+ return noIgnoredFiles(fromList(dt.files).map((file) => toFileWithPath(file)));
1385
+ });
1386
+ }
1387
+ function noIgnoredFiles(files) {
1388
+ return files.filter((file) => FILES_TO_IGNORE.indexOf(file.name) === -1);
1389
+ }
1390
+ function fromList(items) {
1391
+ if (items === null) {
1392
+ return [];
1393
+ }
1394
+ const files = [];
1395
+ for (let i = 0;i < items.length; i++) {
1396
+ const file = items[i];
1397
+ files.push(file);
1398
+ }
1399
+ return files;
1400
+ }
1401
+ function toFilePromises(item) {
1402
+ if (typeof item.webkitGetAsEntry !== "function") {
1403
+ return fromDataTransferItem(item);
1404
+ }
1405
+ const entry = item.webkitGetAsEntry();
1406
+ if (entry && entry.isDirectory) {
1407
+ return fromDirEntry(entry);
1408
+ }
1409
+ return fromDataTransferItem(item, entry);
1410
+ }
1411
+ function flatten(items) {
1412
+ return items.reduce((acc, files) => [
1413
+ ...acc,
1414
+ ...Array.isArray(files) ? flatten(files) : [files]
1415
+ ], []);
1416
+ }
1417
+ function fromDataTransferItem(item, entry) {
1418
+ return __awaiter(this, undefined, undefined, function* () {
1419
+ var _a;
1420
+ if (globalThis.isSecureContext && typeof item.getAsFileSystemHandle === "function") {
1421
+ const h = yield item.getAsFileSystemHandle();
1422
+ if (h === null) {
1423
+ throw new Error(`${item} is not a File`);
1424
+ }
1425
+ if (h !== undefined) {
1426
+ const file2 = yield h.getFile();
1427
+ file2.handle = h;
1428
+ return toFileWithPath(file2);
1429
+ }
1430
+ }
1431
+ const file = item.getAsFile();
1432
+ if (!file) {
1433
+ throw new Error(`${item} is not a File`);
1434
+ }
1435
+ const fwp = toFileWithPath(file, (_a = entry === null || entry === undefined ? undefined : entry.fullPath) !== null && _a !== undefined ? _a : undefined);
1436
+ return fwp;
1437
+ });
1438
+ }
1439
+ function fromEntry(entry) {
1440
+ return __awaiter(this, undefined, undefined, function* () {
1441
+ return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);
1442
+ });
1443
+ }
1444
+ function fromDirEntry(entry) {
1445
+ const reader = entry.createReader();
1446
+ return new Promise((resolve, reject) => {
1447
+ const entries = [];
1448
+ function readEntries() {
1449
+ reader.readEntries((batch) => __awaiter(this, undefined, undefined, function* () {
1450
+ if (!batch.length) {
1451
+ try {
1452
+ const files = yield Promise.all(entries);
1453
+ resolve(files);
1454
+ } catch (err) {
1455
+ reject(err);
1456
+ }
1457
+ } else {
1458
+ const items = Promise.all(batch.map(fromEntry));
1459
+ entries.push(items);
1460
+ readEntries();
1461
+ }
1462
+ }), (err) => {
1463
+ reject(err);
1464
+ });
1465
+ }
1466
+ readEntries();
1467
+ });
1468
+ }
1469
+ function fromFileEntry(entry) {
1470
+ return __awaiter(this, undefined, undefined, function* () {
1471
+ return new Promise((resolve, reject) => {
1472
+ entry.file((file) => {
1473
+ const fwp = toFileWithPath(file, entry.fullPath);
1474
+ resolve(fwp);
1475
+ }, (err) => {
1476
+ reject(err);
1477
+ });
1478
+ });
1479
+ });
1480
+ }
1481
+ // node_modules/react-dropzone/dist/es/utils/index.js
1482
+ var import_attr_accept = __toESM(require_es(), 1);
1483
+ function _toConsumableArray(arr) {
1484
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
1485
+ }
1486
+ function _nonIterableSpread() {
1487
+ throw new TypeError(`Invalid attempt to spread non-iterable instance.
1488
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1489
+ }
1490
+ function _iterableToArray(iter) {
1491
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
1492
+ return Array.from(iter);
1493
+ }
1494
+ function _arrayWithoutHoles(arr) {
1495
+ if (Array.isArray(arr))
1496
+ return _arrayLikeToArray(arr);
1497
+ }
1498
+ function ownKeys(object, enumerableOnly) {
1499
+ var keys = Object.keys(object);
1500
+ if (Object.getOwnPropertySymbols) {
1501
+ var symbols = Object.getOwnPropertySymbols(object);
1502
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
1503
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1504
+ })), keys.push.apply(keys, symbols);
1505
+ }
1506
+ return keys;
1507
+ }
1508
+ function _objectSpread(target) {
1509
+ for (var i = 1;i < arguments.length; i++) {
1510
+ var source = arguments[i] != null ? arguments[i] : {};
1511
+ i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
1512
+ _defineProperty(target, key, source[key]);
1513
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
1514
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1515
+ });
1516
+ }
1517
+ return target;
1518
+ }
1519
+ function _defineProperty(obj, key, value) {
1520
+ if (key in obj) {
1521
+ Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
1522
+ } else {
1523
+ obj[key] = value;
1524
+ }
1525
+ return obj;
1526
+ }
1527
+ function _slicedToArray(arr, i) {
1528
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
1529
+ }
1530
+ function _nonIterableRest() {
1531
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1532
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1533
+ }
1534
+ function _unsupportedIterableToArray(o, minLen) {
1535
+ if (!o)
1536
+ return;
1537
+ if (typeof o === "string")
1538
+ return _arrayLikeToArray(o, minLen);
1539
+ var n = Object.prototype.toString.call(o).slice(8, -1);
1540
+ if (n === "Object" && o.constructor)
1541
+ n = o.constructor.name;
1542
+ if (n === "Map" || n === "Set")
1543
+ return Array.from(o);
1544
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
1545
+ return _arrayLikeToArray(o, minLen);
1546
+ }
1547
+ function _arrayLikeToArray(arr, len) {
1548
+ if (len == null || len > arr.length)
1549
+ len = arr.length;
1550
+ for (var i = 0, arr2 = new Array(len);i < len; i++) {
1551
+ arr2[i] = arr[i];
1552
+ }
1553
+ return arr2;
1554
+ }
1555
+ function _iterableToArrayLimit(arr, i) {
1556
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1557
+ if (_i == null)
1558
+ return;
1559
+ var _arr = [];
1560
+ var _n = true;
1561
+ var _d = false;
1562
+ var _s, _e;
1563
+ try {
1564
+ for (_i = _i.call(arr);!(_n = (_s = _i.next()).done); _n = true) {
1565
+ _arr.push(_s.value);
1566
+ if (i && _arr.length === i)
1567
+ break;
1568
+ }
1569
+ } catch (err) {
1570
+ _d = true;
1571
+ _e = err;
1572
+ } finally {
1573
+ try {
1574
+ if (!_n && _i["return"] != null)
1575
+ _i["return"]();
1576
+ } finally {
1577
+ if (_d)
1578
+ throw _e;
1579
+ }
1580
+ }
1581
+ return _arr;
1582
+ }
1583
+ function _arrayWithHoles(arr) {
1584
+ if (Array.isArray(arr))
1585
+ return arr;
1586
+ }
1587
+ var accepts = typeof import_attr_accept.default === "function" ? import_attr_accept.default : import_attr_accept.default.default;
1588
+ var FILE_INVALID_TYPE = "file-invalid-type";
1589
+ var FILE_TOO_LARGE = "file-too-large";
1590
+ var FILE_TOO_SMALL = "file-too-small";
1591
+ var TOO_MANY_FILES = "too-many-files";
1592
+ var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr2() {
1593
+ var accept = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
1594
+ var acceptArr = accept.split(",");
1595
+ var msg = acceptArr.length > 1 ? "one of ".concat(acceptArr.join(", ")) : acceptArr[0];
1596
+ return {
1597
+ code: FILE_INVALID_TYPE,
1598
+ message: "File type must be ".concat(msg)
1599
+ };
1600
+ };
1601
+ var getTooLargeRejectionErr = function getTooLargeRejectionErr2(maxSize) {
1602
+ return {
1603
+ code: FILE_TOO_LARGE,
1604
+ message: "File is larger than ".concat(maxSize, " ").concat(maxSize === 1 ? "byte" : "bytes")
1605
+ };
1606
+ };
1607
+ var getTooSmallRejectionErr = function getTooSmallRejectionErr2(minSize) {
1608
+ return {
1609
+ code: FILE_TOO_SMALL,
1610
+ message: "File is smaller than ".concat(minSize, " ").concat(minSize === 1 ? "byte" : "bytes")
1611
+ };
1612
+ };
1613
+ var TOO_MANY_FILES_REJECTION = {
1614
+ code: TOO_MANY_FILES,
1615
+ message: "Too many files"
1616
+ };
1617
+ function isDataTransferItemWithEmptyType(file) {
1618
+ return file.type === "" && typeof file.getAsFile === "function";
1619
+ }
1620
+ function fileAccepted(file, accept) {
1621
+ var isAcceptable = file.type === "application/x-moz-file" || accepts(file, accept) || isDataTransferItemWithEmptyType(file);
1622
+ return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];
1623
+ }
1624
+ function fileMatchSize(file, minSize, maxSize) {
1625
+ if (isDefined(file.size)) {
1626
+ if (isDefined(minSize) && isDefined(maxSize)) {
1627
+ if (file.size > maxSize)
1628
+ return [false, getTooLargeRejectionErr(maxSize)];
1629
+ if (file.size < minSize)
1630
+ return [false, getTooSmallRejectionErr(minSize)];
1631
+ } else if (isDefined(minSize) && file.size < minSize)
1632
+ return [false, getTooSmallRejectionErr(minSize)];
1633
+ else if (isDefined(maxSize) && file.size > maxSize)
1634
+ return [false, getTooLargeRejectionErr(maxSize)];
1635
+ }
1636
+ return [true, null];
1637
+ }
1638
+ function isDefined(value) {
1639
+ return value !== undefined && value !== null;
1640
+ }
1641
+ function allFilesAccepted(_ref) {
1642
+ var { files, accept, minSize, maxSize, multiple, maxFiles, validator } = _ref;
1643
+ if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {
1644
+ return false;
1645
+ }
1646
+ return files.every(function(file) {
1647
+ var _fileAccepted = fileAccepted(file, accept), _fileAccepted2 = _slicedToArray(_fileAccepted, 1), accepted = _fileAccepted2[0];
1648
+ var _fileMatchSize = fileMatchSize(file, minSize, maxSize), _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1), sizeMatch = _fileMatchSize2[0];
1649
+ var customErrors = validator ? validator(file) : null;
1650
+ return accepted && sizeMatch && !customErrors;
1651
+ });
1652
+ }
1653
+ function isPropagationStopped(event) {
1654
+ if (typeof event.isPropagationStopped === "function") {
1655
+ return event.isPropagationStopped();
1656
+ } else if (typeof event.cancelBubble !== "undefined") {
1657
+ return event.cancelBubble;
1658
+ }
1659
+ return false;
1660
+ }
1661
+ function isEvtWithFiles(event) {
1662
+ if (!event.dataTransfer) {
1663
+ return !!event.target && !!event.target.files;
1664
+ }
1665
+ return Array.prototype.some.call(event.dataTransfer.types, function(type) {
1666
+ return type === "Files" || type === "application/x-moz-file";
1667
+ });
1668
+ }
1669
+ function onDocumentDragOver(event) {
1670
+ event.preventDefault();
1671
+ }
1672
+ function isIe(userAgent) {
1673
+ return userAgent.indexOf("MSIE") !== -1 || userAgent.indexOf("Trident/") !== -1;
1674
+ }
1675
+ function isEdge(userAgent) {
1676
+ return userAgent.indexOf("Edge/") !== -1;
1677
+ }
1678
+ function isIeOrEdge() {
1679
+ var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;
1680
+ return isIe(userAgent) || isEdge(userAgent);
1681
+ }
1682
+ function composeEventHandlers() {
1683
+ for (var _len = arguments.length, fns = new Array(_len), _key = 0;_key < _len; _key++) {
1684
+ fns[_key] = arguments[_key];
1685
+ }
1686
+ return function(event) {
1687
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++) {
1688
+ args[_key2 - 1] = arguments[_key2];
1689
+ }
1690
+ return fns.some(function(fn) {
1691
+ if (!isPropagationStopped(event) && fn) {
1692
+ fn.apply(undefined, [event].concat(args));
1693
+ }
1694
+ return isPropagationStopped(event);
1695
+ });
1696
+ };
1697
+ }
1698
+ function canUseFileSystemAccessAPI() {
1699
+ return "showOpenFilePicker" in window;
1700
+ }
1701
+ function pickerOptionsFromAccept(accept) {
1702
+ if (isDefined(accept)) {
1703
+ var acceptForPicker = Object.entries(accept).filter(function(_ref2) {
1704
+ var _ref3 = _slicedToArray(_ref2, 2), mimeType = _ref3[0], ext = _ref3[1];
1705
+ var ok = true;
1706
+ if (!isMIMEType(mimeType)) {
1707
+ console.warn('Skipped "'.concat(mimeType, '" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.'));
1708
+ ok = false;
1709
+ }
1710
+ if (!Array.isArray(ext) || !ext.every(isExt)) {
1711
+ console.warn('Skipped "'.concat(mimeType, '" because an invalid file extension was provided.'));
1712
+ ok = false;
1713
+ }
1714
+ return ok;
1715
+ }).reduce(function(agg, _ref4) {
1716
+ var _ref5 = _slicedToArray(_ref4, 2), mimeType = _ref5[0], ext = _ref5[1];
1717
+ return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));
1718
+ }, {});
1719
+ return [{
1720
+ description: "Files",
1721
+ accept: acceptForPicker
1722
+ }];
1723
+ }
1724
+ return accept;
1725
+ }
1726
+ function acceptPropAsAcceptAttr(accept) {
1727
+ if (isDefined(accept)) {
1728
+ return Object.entries(accept).reduce(function(a, _ref6) {
1729
+ var _ref7 = _slicedToArray(_ref6, 2), mimeType = _ref7[0], ext = _ref7[1];
1730
+ return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));
1731
+ }, []).filter(function(v) {
1732
+ return isMIMEType(v) || isExt(v);
1733
+ }).join(",");
1734
+ }
1735
+ return;
1736
+ }
1737
+ function isAbort(v) {
1738
+ return v instanceof DOMException && (v.name === "AbortError" || v.code === v.ABORT_ERR);
1739
+ }
1740
+ function isSecurityError(v) {
1741
+ return v instanceof DOMException && (v.name === "SecurityError" || v.code === v.SECURITY_ERR);
1742
+ }
1743
+ function isMIMEType(v) {
1744
+ return v === "audio/*" || v === "video/*" || v === "image/*" || v === "text/*" || v === "application/*" || /\w+\/[-+.\w]+/g.test(v);
1745
+ }
1746
+ function isExt(v) {
1747
+ return /^.*\.[\w]+$/.test(v);
1748
+ }
1749
+
1750
+ // node_modules/react-dropzone/dist/es/index.js
1751
+ var _excluded = ["children"];
1752
+ var _excluded2 = ["open"];
1753
+ var _excluded3 = ["refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "onDragEnter", "onDragOver", "onDragLeave", "onDrop"];
1754
+ var _excluded4 = ["refKey", "onChange", "onClick"];
1755
+ function _toConsumableArray2(arr) {
1756
+ return _arrayWithoutHoles2(arr) || _iterableToArray2(arr) || _unsupportedIterableToArray2(arr) || _nonIterableSpread2();
1757
+ }
1758
+ function _nonIterableSpread2() {
1759
+ throw new TypeError(`Invalid attempt to spread non-iterable instance.
1760
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1761
+ }
1762
+ function _iterableToArray2(iter) {
1763
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
1764
+ return Array.from(iter);
1765
+ }
1766
+ function _arrayWithoutHoles2(arr) {
1767
+ if (Array.isArray(arr))
1768
+ return _arrayLikeToArray2(arr);
1769
+ }
1770
+ function _slicedToArray2(arr, i) {
1771
+ return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2();
1772
+ }
1773
+ function _nonIterableRest2() {
1774
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1775
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1776
+ }
1777
+ function _unsupportedIterableToArray2(o, minLen) {
1778
+ if (!o)
1779
+ return;
1780
+ if (typeof o === "string")
1781
+ return _arrayLikeToArray2(o, minLen);
1782
+ var n = Object.prototype.toString.call(o).slice(8, -1);
1783
+ if (n === "Object" && o.constructor)
1784
+ n = o.constructor.name;
1785
+ if (n === "Map" || n === "Set")
1786
+ return Array.from(o);
1787
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
1788
+ return _arrayLikeToArray2(o, minLen);
1789
+ }
1790
+ function _arrayLikeToArray2(arr, len) {
1791
+ if (len == null || len > arr.length)
1792
+ len = arr.length;
1793
+ for (var i = 0, arr2 = new Array(len);i < len; i++) {
1794
+ arr2[i] = arr[i];
1795
+ }
1796
+ return arr2;
1797
+ }
1798
+ function _iterableToArrayLimit2(arr, i) {
1799
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1800
+ if (_i == null)
1801
+ return;
1802
+ var _arr = [];
1803
+ var _n = true;
1804
+ var _d = false;
1805
+ var _s, _e;
1806
+ try {
1807
+ for (_i = _i.call(arr);!(_n = (_s = _i.next()).done); _n = true) {
1808
+ _arr.push(_s.value);
1809
+ if (i && _arr.length === i)
1810
+ break;
1811
+ }
1812
+ } catch (err) {
1813
+ _d = true;
1814
+ _e = err;
1815
+ } finally {
1816
+ try {
1817
+ if (!_n && _i["return"] != null)
1818
+ _i["return"]();
1819
+ } finally {
1820
+ if (_d)
1821
+ throw _e;
1822
+ }
1823
+ }
1824
+ return _arr;
1825
+ }
1826
+ function _arrayWithHoles2(arr) {
1827
+ if (Array.isArray(arr))
1828
+ return arr;
1829
+ }
1830
+ function ownKeys2(object, enumerableOnly) {
1831
+ var keys = Object.keys(object);
1832
+ if (Object.getOwnPropertySymbols) {
1833
+ var symbols = Object.getOwnPropertySymbols(object);
1834
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
1835
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1836
+ })), keys.push.apply(keys, symbols);
1837
+ }
1838
+ return keys;
1839
+ }
1840
+ function _objectSpread2(target) {
1841
+ for (var i = 1;i < arguments.length; i++) {
1842
+ var source = arguments[i] != null ? arguments[i] : {};
1843
+ i % 2 ? ownKeys2(Object(source), true).forEach(function(key) {
1844
+ _defineProperty2(target, key, source[key]);
1845
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys2(Object(source)).forEach(function(key) {
1846
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1847
+ });
1848
+ }
1849
+ return target;
1850
+ }
1851
+ function _defineProperty2(obj, key, value) {
1852
+ if (key in obj) {
1853
+ Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
1854
+ } else {
1855
+ obj[key] = value;
1856
+ }
1857
+ return obj;
1858
+ }
1859
+ function _objectWithoutProperties(source, excluded) {
1860
+ if (source == null)
1861
+ return {};
1862
+ var target = _objectWithoutPropertiesLoose(source, excluded);
1863
+ var key, i;
1864
+ if (Object.getOwnPropertySymbols) {
1865
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1866
+ for (i = 0;i < sourceSymbolKeys.length; i++) {
1867
+ key = sourceSymbolKeys[i];
1868
+ if (excluded.indexOf(key) >= 0)
1869
+ continue;
1870
+ if (!Object.prototype.propertyIsEnumerable.call(source, key))
1871
+ continue;
1872
+ target[key] = source[key];
1873
+ }
1874
+ }
1875
+ return target;
1876
+ }
1877
+ function _objectWithoutPropertiesLoose(source, excluded) {
1878
+ if (source == null)
1879
+ return {};
1880
+ var target = {};
1881
+ var sourceKeys = Object.keys(source);
1882
+ var key, i;
1883
+ for (i = 0;i < sourceKeys.length; i++) {
1884
+ key = sourceKeys[i];
1885
+ if (excluded.indexOf(key) >= 0)
1886
+ continue;
1887
+ target[key] = source[key];
1888
+ }
1889
+ return target;
1890
+ }
1891
+ var Dropzone = /* @__PURE__ */ forwardRef(function(_ref, ref) {
1892
+ var children = _ref.children, params = _objectWithoutProperties(_ref, _excluded);
1893
+ var _useDropzone = useDropzone(params), open = _useDropzone.open, props = _objectWithoutProperties(_useDropzone, _excluded2);
1894
+ useImperativeHandle(ref, function() {
1895
+ return {
1896
+ open
1897
+ };
1898
+ }, [open]);
1899
+ return /* @__PURE__ */ React.createElement(Fragment, null, children(_objectSpread2(_objectSpread2({}, props), {}, {
1900
+ open
1901
+ })));
1902
+ });
1903
+ Dropzone.displayName = "Dropzone";
1904
+ var defaultProps = {
1905
+ disabled: false,
1906
+ getFilesFromEvent: fromEvent,
1907
+ maxSize: Infinity,
1908
+ minSize: 0,
1909
+ multiple: true,
1910
+ maxFiles: 0,
1911
+ preventDropOnDocument: true,
1912
+ noClick: false,
1913
+ noKeyboard: false,
1914
+ noDrag: false,
1915
+ noDragEventsBubbling: false,
1916
+ validator: null,
1917
+ useFsAccessApi: false,
1918
+ autoFocus: false
1919
+ };
1920
+ Dropzone.defaultProps = defaultProps;
1921
+ Dropzone.propTypes = {
1922
+ children: import_prop_types.default.func,
1923
+ accept: import_prop_types.default.objectOf(import_prop_types.default.arrayOf(import_prop_types.default.string)),
1924
+ multiple: import_prop_types.default.bool,
1925
+ preventDropOnDocument: import_prop_types.default.bool,
1926
+ noClick: import_prop_types.default.bool,
1927
+ noKeyboard: import_prop_types.default.bool,
1928
+ noDrag: import_prop_types.default.bool,
1929
+ noDragEventsBubbling: import_prop_types.default.bool,
1930
+ minSize: import_prop_types.default.number,
1931
+ maxSize: import_prop_types.default.number,
1932
+ maxFiles: import_prop_types.default.number,
1933
+ disabled: import_prop_types.default.bool,
1934
+ getFilesFromEvent: import_prop_types.default.func,
1935
+ onFileDialogCancel: import_prop_types.default.func,
1936
+ onFileDialogOpen: import_prop_types.default.func,
1937
+ useFsAccessApi: import_prop_types.default.bool,
1938
+ autoFocus: import_prop_types.default.bool,
1939
+ onDragEnter: import_prop_types.default.func,
1940
+ onDragLeave: import_prop_types.default.func,
1941
+ onDragOver: import_prop_types.default.func,
1942
+ onDrop: import_prop_types.default.func,
1943
+ onDropAccepted: import_prop_types.default.func,
1944
+ onDropRejected: import_prop_types.default.func,
1945
+ onError: import_prop_types.default.func,
1946
+ validator: import_prop_types.default.func
1947
+ };
1948
+ var initialState = {
1949
+ isFocused: false,
1950
+ isFileDialogActive: false,
1951
+ isDragActive: false,
1952
+ isDragAccept: false,
1953
+ isDragReject: false,
1954
+ isDragGlobal: false,
1955
+ acceptedFiles: [],
1956
+ fileRejections: []
1957
+ };
1958
+ function useDropzone() {
1959
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1960
+ var _defaultProps$props = _objectSpread2(_objectSpread2({}, defaultProps), props), accept = _defaultProps$props.accept, disabled = _defaultProps$props.disabled, getFilesFromEvent = _defaultProps$props.getFilesFromEvent, maxSize = _defaultProps$props.maxSize, minSize = _defaultProps$props.minSize, multiple = _defaultProps$props.multiple, maxFiles = _defaultProps$props.maxFiles, onDragEnter = _defaultProps$props.onDragEnter, onDragLeave = _defaultProps$props.onDragLeave, onDragOver = _defaultProps$props.onDragOver, onDrop = _defaultProps$props.onDrop, onDropAccepted = _defaultProps$props.onDropAccepted, onDropRejected = _defaultProps$props.onDropRejected, onFileDialogCancel = _defaultProps$props.onFileDialogCancel, onFileDialogOpen = _defaultProps$props.onFileDialogOpen, useFsAccessApi = _defaultProps$props.useFsAccessApi, autoFocus = _defaultProps$props.autoFocus, preventDropOnDocument = _defaultProps$props.preventDropOnDocument, noClick = _defaultProps$props.noClick, noKeyboard = _defaultProps$props.noKeyboard, noDrag = _defaultProps$props.noDrag, noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling, onError = _defaultProps$props.onError, validator = _defaultProps$props.validator;
1961
+ var acceptAttr = useMemo(function() {
1962
+ return acceptPropAsAcceptAttr(accept);
1963
+ }, [accept]);
1964
+ var pickerTypes = useMemo(function() {
1965
+ return pickerOptionsFromAccept(accept);
1966
+ }, [accept]);
1967
+ var onFileDialogOpenCb = useMemo(function() {
1968
+ return typeof onFileDialogOpen === "function" ? onFileDialogOpen : noop;
1969
+ }, [onFileDialogOpen]);
1970
+ var onFileDialogCancelCb = useMemo(function() {
1971
+ return typeof onFileDialogCancel === "function" ? onFileDialogCancel : noop;
1972
+ }, [onFileDialogCancel]);
1973
+ var rootRef = useRef(null);
1974
+ var inputRef = useRef(null);
1975
+ var _useReducer = useReducer(reducer, initialState), _useReducer2 = _slicedToArray2(_useReducer, 2), state = _useReducer2[0], dispatch = _useReducer2[1];
1976
+ var { isFocused, isFileDialogActive } = state;
1977
+ var fsAccessApiWorksRef = useRef(typeof window !== "undefined" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI());
1978
+ var onWindowFocus = function onWindowFocus2() {
1979
+ if (!fsAccessApiWorksRef.current && isFileDialogActive) {
1980
+ setTimeout(function() {
1981
+ if (inputRef.current) {
1982
+ var files = inputRef.current.files;
1983
+ if (!files.length) {
1984
+ dispatch({
1985
+ type: "closeDialog"
1986
+ });
1987
+ onFileDialogCancelCb();
1988
+ }
1989
+ }
1990
+ }, 300);
1991
+ }
1992
+ };
1993
+ useEffect(function() {
1994
+ window.addEventListener("focus", onWindowFocus, false);
1995
+ return function() {
1996
+ window.removeEventListener("focus", onWindowFocus, false);
1997
+ };
1998
+ }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);
1999
+ var dragTargetsRef = useRef([]);
2000
+ var globalDragTargetsRef = useRef([]);
2001
+ var onDocumentDrop = function onDocumentDrop2(event) {
2002
+ if (rootRef.current && rootRef.current.contains(event.target)) {
2003
+ return;
2004
+ }
2005
+ event.preventDefault();
2006
+ dragTargetsRef.current = [];
2007
+ };
2008
+ useEffect(function() {
2009
+ if (preventDropOnDocument) {
2010
+ document.addEventListener("dragover", onDocumentDragOver, false);
2011
+ document.addEventListener("drop", onDocumentDrop, false);
2012
+ }
2013
+ return function() {
2014
+ if (preventDropOnDocument) {
2015
+ document.removeEventListener("dragover", onDocumentDragOver);
2016
+ document.removeEventListener("drop", onDocumentDrop);
2017
+ }
2018
+ };
2019
+ }, [rootRef, preventDropOnDocument]);
2020
+ useEffect(function() {
2021
+ var onDocumentDragEnter = function onDocumentDragEnter2(event) {
2022
+ globalDragTargetsRef.current = [].concat(_toConsumableArray2(globalDragTargetsRef.current), [event.target]);
2023
+ if (isEvtWithFiles(event)) {
2024
+ dispatch({
2025
+ isDragGlobal: true,
2026
+ type: "setDragGlobal"
2027
+ });
2028
+ }
2029
+ };
2030
+ var onDocumentDragLeave = function onDocumentDragLeave2(event) {
2031
+ globalDragTargetsRef.current = globalDragTargetsRef.current.filter(function(el) {
2032
+ return el !== event.target && el !== null;
2033
+ });
2034
+ if (globalDragTargetsRef.current.length > 0) {
2035
+ return;
2036
+ }
2037
+ dispatch({
2038
+ isDragGlobal: false,
2039
+ type: "setDragGlobal"
2040
+ });
2041
+ };
2042
+ var onDocumentDragEnd = function onDocumentDragEnd2() {
2043
+ globalDragTargetsRef.current = [];
2044
+ dispatch({
2045
+ isDragGlobal: false,
2046
+ type: "setDragGlobal"
2047
+ });
2048
+ };
2049
+ var onDocumentDropGlobal = function onDocumentDropGlobal2() {
2050
+ globalDragTargetsRef.current = [];
2051
+ dispatch({
2052
+ isDragGlobal: false,
2053
+ type: "setDragGlobal"
2054
+ });
2055
+ };
2056
+ document.addEventListener("dragenter", onDocumentDragEnter, false);
2057
+ document.addEventListener("dragleave", onDocumentDragLeave, false);
2058
+ document.addEventListener("dragend", onDocumentDragEnd, false);
2059
+ document.addEventListener("drop", onDocumentDropGlobal, false);
2060
+ return function() {
2061
+ document.removeEventListener("dragenter", onDocumentDragEnter);
2062
+ document.removeEventListener("dragleave", onDocumentDragLeave);
2063
+ document.removeEventListener("dragend", onDocumentDragEnd);
2064
+ document.removeEventListener("drop", onDocumentDropGlobal);
2065
+ };
2066
+ }, [rootRef]);
2067
+ useEffect(function() {
2068
+ if (!disabled && autoFocus && rootRef.current) {
2069
+ rootRef.current.focus();
2070
+ }
2071
+ return function() {};
2072
+ }, [rootRef, autoFocus, disabled]);
2073
+ var onErrCb = useCallback(function(e) {
2074
+ if (onError) {
2075
+ onError(e);
2076
+ } else {
2077
+ console.error(e);
2078
+ }
2079
+ }, [onError]);
2080
+ var onDragEnterCb = useCallback(function(event) {
2081
+ event.preventDefault();
2082
+ event.persist();
2083
+ stopPropagation(event);
2084
+ dragTargetsRef.current = [].concat(_toConsumableArray2(dragTargetsRef.current), [event.target]);
2085
+ if (isEvtWithFiles(event)) {
2086
+ Promise.resolve(getFilesFromEvent(event)).then(function(files) {
2087
+ if (isPropagationStopped(event) && !noDragEventsBubbling) {
2088
+ return;
2089
+ }
2090
+ var fileCount = files.length;
2091
+ var isDragAccept = fileCount > 0 && allFilesAccepted({
2092
+ files,
2093
+ accept: acceptAttr,
2094
+ minSize,
2095
+ maxSize,
2096
+ multiple,
2097
+ maxFiles,
2098
+ validator
2099
+ });
2100
+ var isDragReject = fileCount > 0 && !isDragAccept;
2101
+ dispatch({
2102
+ isDragAccept,
2103
+ isDragReject,
2104
+ isDragActive: true,
2105
+ type: "setDraggedFiles"
2106
+ });
2107
+ if (onDragEnter) {
2108
+ onDragEnter(event);
2109
+ }
2110
+ }).catch(function(e) {
2111
+ return onErrCb(e);
2112
+ });
2113
+ }
2114
+ }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);
2115
+ var onDragOverCb = useCallback(function(event) {
2116
+ event.preventDefault();
2117
+ event.persist();
2118
+ stopPropagation(event);
2119
+ var hasFiles = isEvtWithFiles(event);
2120
+ if (hasFiles && event.dataTransfer) {
2121
+ try {
2122
+ event.dataTransfer.dropEffect = "copy";
2123
+ } catch (_unused) {}
2124
+ }
2125
+ if (hasFiles && onDragOver) {
2126
+ onDragOver(event);
2127
+ }
2128
+ return false;
2129
+ }, [onDragOver, noDragEventsBubbling]);
2130
+ var onDragLeaveCb = useCallback(function(event) {
2131
+ event.preventDefault();
2132
+ event.persist();
2133
+ stopPropagation(event);
2134
+ var targets = dragTargetsRef.current.filter(function(target) {
2135
+ return rootRef.current && rootRef.current.contains(target);
2136
+ });
2137
+ var targetIdx = targets.indexOf(event.target);
2138
+ if (targetIdx !== -1) {
2139
+ targets.splice(targetIdx, 1);
2140
+ }
2141
+ dragTargetsRef.current = targets;
2142
+ if (targets.length > 0) {
2143
+ return;
2144
+ }
2145
+ dispatch({
2146
+ type: "setDraggedFiles",
2147
+ isDragActive: false,
2148
+ isDragAccept: false,
2149
+ isDragReject: false
2150
+ });
2151
+ if (isEvtWithFiles(event) && onDragLeave) {
2152
+ onDragLeave(event);
2153
+ }
2154
+ }, [rootRef, onDragLeave, noDragEventsBubbling]);
2155
+ var setFiles = useCallback(function(files, event) {
2156
+ var acceptedFiles = [];
2157
+ var fileRejections = [];
2158
+ files.forEach(function(file) {
2159
+ var _fileAccepted = fileAccepted(file, acceptAttr), _fileAccepted2 = _slicedToArray2(_fileAccepted, 2), accepted = _fileAccepted2[0], acceptError = _fileAccepted2[1];
2160
+ var _fileMatchSize = fileMatchSize(file, minSize, maxSize), _fileMatchSize2 = _slicedToArray2(_fileMatchSize, 2), sizeMatch = _fileMatchSize2[0], sizeError = _fileMatchSize2[1];
2161
+ var customErrors = validator ? validator(file) : null;
2162
+ if (accepted && sizeMatch && !customErrors) {
2163
+ acceptedFiles.push(file);
2164
+ } else {
2165
+ var errors = [acceptError, sizeError];
2166
+ if (customErrors) {
2167
+ errors = errors.concat(customErrors);
2168
+ }
2169
+ fileRejections.push({
2170
+ file,
2171
+ errors: errors.filter(function(e) {
2172
+ return e;
2173
+ })
2174
+ });
2175
+ }
2176
+ });
2177
+ if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {
2178
+ acceptedFiles.forEach(function(file) {
2179
+ fileRejections.push({
2180
+ file,
2181
+ errors: [TOO_MANY_FILES_REJECTION]
2182
+ });
2183
+ });
2184
+ acceptedFiles.splice(0);
2185
+ }
2186
+ dispatch({
2187
+ acceptedFiles,
2188
+ fileRejections,
2189
+ type: "setFiles"
2190
+ });
2191
+ if (onDrop) {
2192
+ onDrop(acceptedFiles, fileRejections, event);
2193
+ }
2194
+ if (fileRejections.length > 0 && onDropRejected) {
2195
+ onDropRejected(fileRejections, event);
2196
+ }
2197
+ if (acceptedFiles.length > 0 && onDropAccepted) {
2198
+ onDropAccepted(acceptedFiles, event);
2199
+ }
2200
+ }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);
2201
+ var onDropCb = useCallback(function(event) {
2202
+ event.preventDefault();
2203
+ event.persist();
2204
+ stopPropagation(event);
2205
+ dragTargetsRef.current = [];
2206
+ if (isEvtWithFiles(event)) {
2207
+ Promise.resolve(getFilesFromEvent(event)).then(function(files) {
2208
+ if (isPropagationStopped(event) && !noDragEventsBubbling) {
2209
+ return;
2210
+ }
2211
+ setFiles(files, event);
2212
+ }).catch(function(e) {
2213
+ return onErrCb(e);
2214
+ });
2215
+ }
2216
+ dispatch({
2217
+ type: "reset"
2218
+ });
2219
+ }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]);
2220
+ var openFileDialog = useCallback(function() {
2221
+ if (fsAccessApiWorksRef.current) {
2222
+ dispatch({
2223
+ type: "openDialog"
2224
+ });
2225
+ onFileDialogOpenCb();
2226
+ var opts = {
2227
+ multiple,
2228
+ types: pickerTypes
2229
+ };
2230
+ window.showOpenFilePicker(opts).then(function(handles) {
2231
+ return getFilesFromEvent(handles);
2232
+ }).then(function(files) {
2233
+ setFiles(files, null);
2234
+ dispatch({
2235
+ type: "closeDialog"
2236
+ });
2237
+ }).catch(function(e) {
2238
+ if (isAbort(e)) {
2239
+ onFileDialogCancelCb(e);
2240
+ dispatch({
2241
+ type: "closeDialog"
2242
+ });
2243
+ } else if (isSecurityError(e)) {
2244
+ fsAccessApiWorksRef.current = false;
2245
+ if (inputRef.current) {
2246
+ inputRef.current.value = null;
2247
+ inputRef.current.click();
2248
+ } else {
2249
+ onErrCb(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."));
2250
+ }
2251
+ } else {
2252
+ onErrCb(e);
2253
+ }
2254
+ });
2255
+ return;
2256
+ }
2257
+ if (inputRef.current) {
2258
+ dispatch({
2259
+ type: "openDialog"
2260
+ });
2261
+ onFileDialogOpenCb();
2262
+ inputRef.current.value = null;
2263
+ inputRef.current.click();
2264
+ }
2265
+ }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]);
2266
+ var onKeyDownCb = useCallback(function(event) {
2267
+ if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {
2268
+ return;
2269
+ }
2270
+ if (event.key === " " || event.key === "Enter" || event.keyCode === 32 || event.keyCode === 13) {
2271
+ event.preventDefault();
2272
+ openFileDialog();
2273
+ }
2274
+ }, [rootRef, openFileDialog]);
2275
+ var onFocusCb = useCallback(function() {
2276
+ dispatch({
2277
+ type: "focus"
2278
+ });
2279
+ }, []);
2280
+ var onBlurCb = useCallback(function() {
2281
+ dispatch({
2282
+ type: "blur"
2283
+ });
2284
+ }, []);
2285
+ var onClickCb = useCallback(function() {
2286
+ if (noClick) {
2287
+ return;
2288
+ }
2289
+ if (isIeOrEdge()) {
2290
+ setTimeout(openFileDialog, 0);
2291
+ } else {
2292
+ openFileDialog();
2293
+ }
2294
+ }, [noClick, openFileDialog]);
2295
+ var composeHandler = function composeHandler2(fn) {
2296
+ return disabled ? null : fn;
2297
+ };
2298
+ var composeKeyboardHandler = function composeKeyboardHandler2(fn) {
2299
+ return noKeyboard ? null : composeHandler(fn);
2300
+ };
2301
+ var composeDragHandler = function composeDragHandler2(fn) {
2302
+ return noDrag ? null : composeHandler(fn);
2303
+ };
2304
+ var stopPropagation = function stopPropagation2(event) {
2305
+ if (noDragEventsBubbling) {
2306
+ event.stopPropagation();
2307
+ }
2308
+ };
2309
+ var getRootProps = useMemo(function() {
2310
+ return function() {
2311
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref2$refKey = _ref2.refKey, refKey = _ref2$refKey === undefined ? "ref" : _ref2$refKey, role = _ref2.role, onKeyDown = _ref2.onKeyDown, onFocus = _ref2.onFocus, onBlur = _ref2.onBlur, onClick = _ref2.onClick, onDragEnter2 = _ref2.onDragEnter, onDragOver2 = _ref2.onDragOver, onDragLeave2 = _ref2.onDragLeave, onDrop2 = _ref2.onDrop, rest = _objectWithoutProperties(_ref2, _excluded3);
2312
+ return _objectSpread2(_objectSpread2(_defineProperty2({
2313
+ onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),
2314
+ onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),
2315
+ onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),
2316
+ onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),
2317
+ onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter2, onDragEnterCb)),
2318
+ onDragOver: composeDragHandler(composeEventHandlers(onDragOver2, onDragOverCb)),
2319
+ onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave2, onDragLeaveCb)),
2320
+ onDrop: composeDragHandler(composeEventHandlers(onDrop2, onDropCb)),
2321
+ role: typeof role === "string" && role !== "" ? role : "presentation"
2322
+ }, refKey, rootRef), !disabled && !noKeyboard ? {
2323
+ tabIndex: 0
2324
+ } : {}), rest);
2325
+ };
2326
+ }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);
2327
+ var onInputElementClick = useCallback(function(event) {
2328
+ event.stopPropagation();
2329
+ }, []);
2330
+ var getInputProps = useMemo(function() {
2331
+ return function() {
2332
+ var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref3$refKey = _ref3.refKey, refKey = _ref3$refKey === undefined ? "ref" : _ref3$refKey, onChange = _ref3.onChange, onClick = _ref3.onClick, rest = _objectWithoutProperties(_ref3, _excluded4);
2333
+ var inputProps = _defineProperty2({
2334
+ accept: acceptAttr,
2335
+ multiple,
2336
+ type: "file",
2337
+ style: {
2338
+ border: 0,
2339
+ clip: "rect(0, 0, 0, 0)",
2340
+ clipPath: "inset(50%)",
2341
+ height: "1px",
2342
+ margin: "0 -1px -1px 0",
2343
+ overflow: "hidden",
2344
+ padding: 0,
2345
+ position: "absolute",
2346
+ width: "1px",
2347
+ whiteSpace: "nowrap"
2348
+ },
2349
+ onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),
2350
+ onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),
2351
+ tabIndex: -1
2352
+ }, refKey, inputRef);
2353
+ return _objectSpread2(_objectSpread2({}, inputProps), rest);
2354
+ };
2355
+ }, [inputRef, accept, multiple, onDropCb, disabled]);
2356
+ return _objectSpread2(_objectSpread2({}, state), {}, {
2357
+ isFocused: isFocused && !disabled,
2358
+ getRootProps,
2359
+ getInputProps,
2360
+ rootRef,
2361
+ inputRef,
2362
+ open: composeHandler(openFileDialog)
2363
+ });
2364
+ }
2365
+ function reducer(state, action) {
2366
+ switch (action.type) {
2367
+ case "focus":
2368
+ return _objectSpread2(_objectSpread2({}, state), {}, {
2369
+ isFocused: true
2370
+ });
2371
+ case "blur":
2372
+ return _objectSpread2(_objectSpread2({}, state), {}, {
2373
+ isFocused: false
2374
+ });
2375
+ case "openDialog":
2376
+ return _objectSpread2(_objectSpread2({}, initialState), {}, {
2377
+ isFileDialogActive: true
2378
+ });
2379
+ case "closeDialog":
2380
+ return _objectSpread2(_objectSpread2({}, state), {}, {
2381
+ isFileDialogActive: false
2382
+ });
2383
+ case "setDraggedFiles":
2384
+ return _objectSpread2(_objectSpread2({}, state), {}, {
2385
+ isDragActive: action.isDragActive,
2386
+ isDragAccept: action.isDragAccept,
2387
+ isDragReject: action.isDragReject
2388
+ });
2389
+ case "setFiles":
2390
+ return _objectSpread2(_objectSpread2({}, state), {}, {
2391
+ acceptedFiles: action.acceptedFiles,
2392
+ fileRejections: action.fileRejections,
2393
+ isDragReject: false
2394
+ });
2395
+ case "setDragGlobal":
2396
+ return _objectSpread2(_objectSpread2({}, state), {}, {
2397
+ isDragGlobal: action.isDragGlobal
2398
+ });
2399
+ case "reset":
2400
+ return _objectSpread2({}, initialState);
2401
+ default:
2402
+ return state;
2403
+ }
2404
+ }
2405
+ function noop() {}
2406
+
2407
+ // node_modules/@mantine/dropzone/esm/Dropzone.mjs
2408
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
2409
+
2410
+ var defaultProps2 = {
2411
+ multiple: true,
2412
+ maxSize: Infinity,
2413
+ activateOnClick: true,
2414
+ activateOnDrag: true,
2415
+ dragEventsBubbling: true,
2416
+ activateOnKeyboard: true,
2417
+ useFsAccessApi: false,
2418
+ variant: "light",
2419
+ rejectColor: "red"
2420
+ };
2421
+ var varsResolver = createVarsResolver((theme, { radius, variant, acceptColor, rejectColor }) => {
2422
+ const acceptColors = theme.variantColorResolver({
2423
+ color: acceptColor || theme.primaryColor,
2424
+ theme,
2425
+ variant
2426
+ });
2427
+ const rejectColors = theme.variantColorResolver({
2428
+ color: rejectColor || "red",
2429
+ theme,
2430
+ variant
2431
+ });
2432
+ return { root: {
2433
+ "--dropzone-radius": getRadius(radius),
2434
+ "--dropzone-accept-color": acceptColors.color,
2435
+ "--dropzone-accept-bg": acceptColors.background,
2436
+ "--dropzone-reject-color": rejectColors.color,
2437
+ "--dropzone-reject-bg": rejectColors.background
2438
+ } };
2439
+ });
2440
+ var Dropzone2 = factory((_props) => {
2441
+ const props = useProps("Dropzone", defaultProps2, _props);
2442
+ const { classNames, className, style, styles, unstyled, vars, radius, disabled, loading, multiple, maxSize, accept, children, onDropAny, onDrop, onReject, openRef, name, maxFiles, autoFocus, activateOnClick, activateOnDrag, dragEventsBubbling, activateOnKeyboard, onDragEnter, onDragLeave, onDragOver, onFileDialogCancel, onFileDialogOpen, preventDropOnDocument, useFsAccessApi, getFilesFromEvent, validator, rejectColor, acceptColor, enablePointerEvents, loaderProps, inputProps, mod, attributes, ...others } = props;
2443
+ const getStyles = useStyles({
2444
+ name: "Dropzone",
2445
+ classes: Dropzone_module_default,
2446
+ props,
2447
+ className,
2448
+ style,
2449
+ classNames,
2450
+ styles,
2451
+ unstyled,
2452
+ attributes,
2453
+ vars,
2454
+ varsResolver
2455
+ });
2456
+ const { getRootProps, getInputProps, isDragAccept, isDragReject, isDragActive, open } = useDropzone({
2457
+ onDrop: onDropAny,
2458
+ onDropAccepted: onDrop,
2459
+ onDropRejected: onReject,
2460
+ disabled: disabled || loading,
2461
+ accept: Array.isArray(accept) ? accept.reduce((r, key) => ({
2462
+ ...r,
2463
+ [key]: []
2464
+ }), {}) : accept,
2465
+ multiple,
2466
+ maxSize,
2467
+ maxFiles,
2468
+ autoFocus,
2469
+ noClick: !activateOnClick,
2470
+ noDrag: !activateOnDrag,
2471
+ noDragEventsBubbling: !dragEventsBubbling,
2472
+ noKeyboard: !activateOnKeyboard,
2473
+ onDragEnter,
2474
+ onDragLeave,
2475
+ onDragOver,
2476
+ onFileDialogCancel,
2477
+ onFileDialogOpen,
2478
+ preventDropOnDocument,
2479
+ useFsAccessApi,
2480
+ validator,
2481
+ ...getFilesFromEvent ? { getFilesFromEvent } : null
2482
+ });
2483
+ assignRef(openRef, open);
2484
+ const isAccepted = isDragActive && isDragAccept;
2485
+ const isRejected = isDragActive && isDragReject;
2486
+ const isIdle = !isAccepted && !isRejected;
2487
+ return /* @__PURE__ */ jsx2(DropzoneProvider, {
2488
+ value: {
2489
+ accept: isAccepted,
2490
+ reject: isRejected,
2491
+ idle: isIdle
2492
+ },
2493
+ children: /* @__PURE__ */ jsxs(Box, {
2494
+ ...getRootProps(),
2495
+ ...getStyles("root", { focusable: true }),
2496
+ ...others,
2497
+ mod: [{
2498
+ accept: isAccepted,
2499
+ reject: isRejected,
2500
+ idle: isIdle,
2501
+ disabled,
2502
+ loading,
2503
+ "activate-on-click": activateOnClick
2504
+ }, mod],
2505
+ children: [
2506
+ /* @__PURE__ */ jsx2(LoadingOverlay, {
2507
+ visible: loading,
2508
+ overlayProps: { radius },
2509
+ unstyled,
2510
+ loaderProps
2511
+ }),
2512
+ /* @__PURE__ */ jsx2("input", {
2513
+ ...getInputProps(inputProps),
2514
+ name
2515
+ }),
2516
+ /* @__PURE__ */ jsx2("div", {
2517
+ ...getStyles("inner"),
2518
+ "data-enable-pointer-events": enablePointerEvents || undefined,
2519
+ children
2520
+ })
2521
+ ]
2522
+ })
2523
+ });
2524
+ });
2525
+ Dropzone2.classes = Dropzone_module_default;
2526
+ Dropzone2.varsResolver = varsResolver;
2527
+ Dropzone2.displayName = "@mantine/dropzone/Dropzone";
2528
+ Dropzone2.Accept = DropzoneAccept;
2529
+ Dropzone2.Idle = DropzoneIdle;
2530
+ Dropzone2.Reject = DropzoneReject;
2531
+
2532
+ // node_modules/@mantine/dropzone/esm/DropzoneFullScreen.mjs
2533
+ import { useEffect as useEffect2, useState } from "react";
2534
+ import { jsx as jsx3 } from "react/jsx-runtime";
2535
+
2536
+ var defaultProps3 = {
2537
+ maxSize: Infinity,
2538
+ activateOnDrag: true,
2539
+ dragEventsBubbling: true,
2540
+ activateOnKeyboard: true,
2541
+ active: true,
2542
+ zIndex: getDefaultZIndex("max"),
2543
+ withinPortal: true
2544
+ };
2545
+ var DropzoneFullScreen = factory((_props) => {
2546
+ const props = useProps("DropzoneFullScreen", defaultProps3, _props);
2547
+ const { classNames, className, style, styles, unstyled, vars, active, onDrop, onReject, zIndex, withinPortal, portalProps, attributes, mod, ...others } = props;
2548
+ const getStyles = useStyles({
2549
+ name: "DropzoneFullScreen",
2550
+ classes: Dropzone_module_default,
2551
+ props,
2552
+ className,
2553
+ style,
2554
+ classNames,
2555
+ styles,
2556
+ unstyled,
2557
+ attributes,
2558
+ rootSelector: "fullScreen"
2559
+ });
2560
+ const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
2561
+ classNames,
2562
+ styles,
2563
+ props
2564
+ });
2565
+ const [counter, setCounter] = useState(0);
2566
+ const [visible, { open, close }] = useDisclosure(false);
2567
+ const handleDragEnter = (event) => {
2568
+ if (event.dataTransfer?.types.includes("Files")) {
2569
+ setCounter((prev) => prev + 1);
2570
+ open();
2571
+ }
2572
+ };
2573
+ const handleDragLeave = () => {
2574
+ setCounter((prev) => prev - 1);
2575
+ };
2576
+ useEffect2(() => {
2577
+ counter === 0 && close();
2578
+ }, [counter]);
2579
+ useEffect2(() => {
2580
+ if (!active)
2581
+ return;
2582
+ document.addEventListener("dragenter", handleDragEnter, false);
2583
+ document.addEventListener("dragleave", handleDragLeave, false);
2584
+ return () => {
2585
+ document.removeEventListener("dragenter", handleDragEnter, false);
2586
+ document.removeEventListener("dragleave", handleDragLeave, false);
2587
+ };
2588
+ }, [active]);
2589
+ return /* @__PURE__ */ jsx3(OptionalPortal, {
2590
+ ...portalProps,
2591
+ withinPortal,
2592
+ children: /* @__PURE__ */ jsx3(Box, {
2593
+ ...getStyles("fullScreen", { style: {
2594
+ opacity: visible ? 1 : 0,
2595
+ pointerEvents: visible ? "all" : "none",
2596
+ zIndex
2597
+ } }),
2598
+ children: /* @__PURE__ */ jsx3(Dropzone2, {
2599
+ activateOnClick: false,
2600
+ ...others,
2601
+ classNames: resolvedClassNames,
2602
+ styles: resolvedStyles,
2603
+ unstyled,
2604
+ className: Dropzone_module_default.dropzone,
2605
+ onDrop: (files) => {
2606
+ onDrop?.(files);
2607
+ close();
2608
+ setCounter(0);
2609
+ },
2610
+ onReject: (files) => {
2611
+ onReject?.(files);
2612
+ close();
2613
+ setCounter(0);
2614
+ }
2615
+ })
2616
+ })
2617
+ });
2618
+ });
2619
+ DropzoneFullScreen.classes = Dropzone_module_default;
2620
+ DropzoneFullScreen.displayName = "@mantine/dropzone/DropzoneFullScreen";
2621
+
2622
+ // node_modules/@mantine/dropzone/esm/mime-types.mjs
2623
+
2624
+ var MIME_TYPES = {
2625
+ png: "image/png",
2626
+ gif: "image/gif",
2627
+ jpeg: "image/jpeg",
2628
+ svg: "image/svg+xml",
2629
+ webp: "image/webp",
2630
+ avif: "image/avif",
2631
+ heic: "image/heic",
2632
+ heif: "image/heif",
2633
+ mp4: "video/mp4",
2634
+ zip: "application/zip",
2635
+ rar: "application/x-rar",
2636
+ "7z": "application/x-7z-compressed",
2637
+ csv: "text/csv",
2638
+ pdf: "application/pdf",
2639
+ doc: "application/msword",
2640
+ docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
2641
+ xls: "application/vnd.ms-excel",
2642
+ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
2643
+ ppt: "application/vnd.ms-powerpoint",
2644
+ pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
2645
+ exe: "application/vnd.microsoft.portable-executable"
2646
+ };
2647
+ var IMAGE_MIME_TYPE = [
2648
+ MIME_TYPES.png,
2649
+ MIME_TYPES.gif,
2650
+ MIME_TYPES.jpeg,
2651
+ MIME_TYPES.svg,
2652
+ MIME_TYPES.webp,
2653
+ MIME_TYPES.avif,
2654
+ MIME_TYPES.heic,
2655
+ MIME_TYPES.heif
2656
+ ];
2657
+ var PDF_MIME_TYPE = [MIME_TYPES.pdf];
2658
+ var MS_WORD_MIME_TYPE = [MIME_TYPES.doc, MIME_TYPES.docx];
2659
+ var MS_EXCEL_MIME_TYPE = [MIME_TYPES.xls, MIME_TYPES.xlsx];
2660
+ var MS_POWERPOINT_MIME_TYPE = [MIME_TYPES.ppt, MIME_TYPES.pptx];
2661
+ var EXE_MIME_TYPE = [MIME_TYPES.exe];
2662
+
2663
+ // node_modules/@mantine/dropzone/esm/index.mjs
2664
+ Dropzone2.FullScreen = DropzoneFullScreen;
2665
+ var Dropzone3 = Dropzone2;
2666
+ export {
2667
+ PDF_MIME_TYPE,
2668
+ MS_WORD_MIME_TYPE,
2669
+ MS_POWERPOINT_MIME_TYPE,
2670
+ MS_EXCEL_MIME_TYPE,
2671
+ MIME_TYPES,
2672
+ IMAGE_MIME_TYPE,
2673
+ EXE_MIME_TYPE,
2674
+ DropzoneReject,
2675
+ DropzoneIdle,
2676
+ DropzoneFullScreen,
2677
+ DropzoneAccept,
2678
+ Dropzone3 as Dropzone
2679
+ };
2680
+
2681
+ //# debugId=3C1E566BAA3C9A5264756E2164756E21