@lofcz/platejs-media 52.0.11

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.
@@ -0,0 +1,5095 @@
1
+ import { C as BaseFilePlugin, S as BaseVideoPlugin, f as BaseMediaEmbedPlugin, g as BaseImagePlugin, h as insertMedia$1, l as VIDEO_PROVIDERS, m as parseMediaUrl, t as BasePlaceholderPlugin, w as BaseAudioPlugin } from "../src-C-5lYedg.js";
2
+ import { KEYS, NodeApi, PathApi, bindFirst, isHotkey, isUrl, nanoid } from "platejs";
3
+ import { createAtomStore, createPrimitiveComponent, createZustandStore, toPlatePlugin, toTPlatePlugin, useEditorRef, useEditorSelector, useElement, useFocused, useHotkeys, useReadOnly, useSelected } from "platejs/react";
4
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
+ import { c } from "react-compiler-runtime";
6
+
7
+ //#region src/react/plugins.ts
8
+ const ImagePlugin = toPlatePlugin(BaseImagePlugin);
9
+ const MediaEmbedPlugin = toPlatePlugin(BaseMediaEmbedPlugin);
10
+ const AudioPlugin = toPlatePlugin(BaseAudioPlugin);
11
+ const FilePlugin = toPlatePlugin(BaseFilePlugin);
12
+ const VideoPlugin = toPlatePlugin(BaseVideoPlugin);
13
+
14
+ //#endregion
15
+ //#region src/react/image/ImagePreviewStore.ts
16
+ const ImagePreviewStore = createZustandStore({
17
+ boundingClientRect: {},
18
+ currentPreview: null,
19
+ isEditingScale: false,
20
+ openEditorId: null,
21
+ previewList: [],
22
+ scale: 1,
23
+ translate: {
24
+ x: 0,
25
+ y: 0
26
+ }
27
+ }, {
28
+ mutative: true,
29
+ name: "imagePreview"
30
+ }).extendActions(({ set }) => ({ close: () => {
31
+ set("currentPreview", null);
32
+ set("previewList", []);
33
+ set("openEditorId", null);
34
+ set("scale", 1);
35
+ set("translate", {
36
+ x: 0,
37
+ y: 0
38
+ });
39
+ set("isEditingScale", false);
40
+ } })).extendSelectors(({ get }) => ({ isOpen: (editorId) => get("openEditorId") === editorId }));
41
+ const { useValue: useImagePreviewValue } = ImagePreviewStore;
42
+
43
+ //#endregion
44
+ //#region src/react/image/openImagePreview.ts
45
+ const getUrlList = (editor) => {
46
+ const enties = editor.api.nodes({
47
+ at: [],
48
+ match: (n) => n.type === KEYS.img
49
+ });
50
+ return Array.from(enties, (item) => ({
51
+ id: item[0].id,
52
+ url: item[0].url
53
+ }));
54
+ };
55
+ const openImagePreview = (editor, element) => {
56
+ const { id, url } = element;
57
+ const urlList = getUrlList(editor);
58
+ ImagePreviewStore.set("openEditorId", editor.id);
59
+ ImagePreviewStore.set("currentPreview", {
60
+ id,
61
+ url
62
+ });
63
+ ImagePreviewStore.set("previewList", urlList);
64
+ };
65
+
66
+ //#endregion
67
+ //#region src/react/image/useZoom.ts
68
+ const useZoom = () => {
69
+ const $ = c(7);
70
+ const scale = useImagePreviewValue("scale");
71
+ let t0;
72
+ if ($[0] !== scale) {
73
+ t0 = () => {
74
+ if (scale >= 2) return;
75
+ const nextScale = [
76
+ 0,
77
+ .5,
78
+ 1,
79
+ 1.5,
80
+ 2
81
+ ].find((target) => scale < target);
82
+ if (nextScale) ImagePreviewStore.set("scale", nextScale);
83
+ };
84
+ $[0] = scale;
85
+ $[1] = t0;
86
+ } else t0 = $[1];
87
+ const zoomIn = t0;
88
+ let t1;
89
+ if ($[2] !== scale) {
90
+ t1 = () => {
91
+ if (scale <= 0) return;
92
+ const previousScale = [...[
93
+ 0,
94
+ .5,
95
+ 1,
96
+ 1.5,
97
+ 2
98
+ ]].reverse().find((target_0) => scale > target_0);
99
+ if (previousScale === 1) ImagePreviewStore.set("translate", {
100
+ x: 0,
101
+ y: 0
102
+ });
103
+ if (previousScale !== void 0) ImagePreviewStore.set("scale", previousScale);
104
+ };
105
+ $[2] = scale;
106
+ $[3] = t1;
107
+ } else t1 = $[3];
108
+ const zoomOut = t1;
109
+ let t2;
110
+ if ($[4] !== zoomIn || $[5] !== zoomOut) {
111
+ t2 = {
112
+ zoomIn,
113
+ zoomOut
114
+ };
115
+ $[4] = zoomIn;
116
+ $[5] = zoomOut;
117
+ $[6] = t2;
118
+ } else t2 = $[6];
119
+ return t2;
120
+ };
121
+
122
+ //#endregion
123
+ //#region src/react/image/useImagePreview.ts
124
+ const useImagePreview = ({ scrollSpeed }) => {
125
+ const isOpen = useImagePreviewValue("isOpen", useEditorRef().id);
126
+ const scale = useImagePreviewValue("scale");
127
+ const translate = useImagePreviewValue("translate");
128
+ const boundingClientRect = useImagePreviewValue("boundingClientRect");
129
+ const currentPreview = useImagePreviewValue("currentPreview");
130
+ const previewList = useImagePreviewValue("previewList");
131
+ useEffect(() => {
132
+ const wheel = (e) => {
133
+ if (scale <= 1) return;
134
+ const { deltaX, deltaY } = e;
135
+ const { x, y } = translate;
136
+ const { bottom, left, right, top } = boundingClientRect;
137
+ const windowWidth = window.innerWidth;
138
+ const windowHeight = window.innerHeight;
139
+ let leftOffset = x - deltaX / scrollSpeed;
140
+ let topOffset = y - deltaY / scrollSpeed;
141
+ if (left - deltaX / scrollSpeed > windowWidth / 2 && deltaX < 0) leftOffset = x;
142
+ if (right - deltaX / scrollSpeed < windowWidth / 2 && deltaX > 0) leftOffset = x;
143
+ if (top - deltaY / scrollSpeed > windowHeight / 2 && deltaY < 0) topOffset = y;
144
+ if (bottom - deltaY / scrollSpeed < windowHeight / 2 && deltaY > 0) topOffset = y;
145
+ ImagePreviewStore.set("translate", {
146
+ x: leftOffset,
147
+ y: topOffset
148
+ });
149
+ };
150
+ if (!isOpen) return document.removeEventListener("wheel", wheel);
151
+ document.addEventListener("wheel", wheel);
152
+ return () => {
153
+ document.removeEventListener("wheel", wheel);
154
+ };
155
+ }, [
156
+ isOpen,
157
+ translate,
158
+ scale
159
+ ]);
160
+ const { zoomIn, zoomOut } = useZoom();
161
+ const currentPreviewIndex = useMemo(() => {
162
+ if (!currentPreview) return null;
163
+ return previewList.findIndex((item) => item.url === currentPreview.url && item.id === currentPreview.id);
164
+ }, [currentPreview]);
165
+ const onClose = useCallback(() => {
166
+ ImagePreviewStore.actions.close();
167
+ }, []);
168
+ const [prevDisabled, nextDisabled] = useMemo(() => [currentPreviewIndex === 0, currentPreviewIndex === previewList.length - 1], [currentPreviewIndex]);
169
+ const [zoomOutDisabled, zoomInDisabled] = useMemo(() => [scale <= .5, scale >= 2], [scale]);
170
+ useEffect(() => {
171
+ const keydown = (e) => {
172
+ if (isHotkey("escape")(e)) {
173
+ e.stopPropagation();
174
+ onClose();
175
+ }
176
+ };
177
+ if (!isOpen) return document.removeEventListener("keydown", keydown);
178
+ document.addEventListener("keydown", keydown);
179
+ return () => {
180
+ document.removeEventListener("keydown", keydown);
181
+ };
182
+ }, [isOpen]);
183
+ return {
184
+ closeProps: { onClick: () => onClose() },
185
+ currentUrlIndex: currentPreviewIndex,
186
+ maskLayerProps: { onClick: () => onClose() },
187
+ nextDisabled,
188
+ nextProps: {
189
+ disabled: nextDisabled,
190
+ onClick: () => {
191
+ if (typeof currentPreviewIndex !== "number") return;
192
+ ImagePreviewStore.set("currentPreview", previewList[currentPreviewIndex + 1]);
193
+ }
194
+ },
195
+ prevDisabled,
196
+ prevProps: {
197
+ disabled: prevDisabled,
198
+ onClick: () => {
199
+ if (typeof currentPreviewIndex !== "number") return;
200
+ ImagePreviewStore.set("currentPreview", previewList[currentPreviewIndex - 1]);
201
+ }
202
+ },
203
+ scaleTextProps: { onClick: () => ImagePreviewStore.set("isEditingScale", true) },
204
+ zommOutProps: {
205
+ disabled: zoomOutDisabled,
206
+ onClick: () => zoomOut()
207
+ },
208
+ zoomInDisabled,
209
+ zoomInProps: {
210
+ disabled: zoomInDisabled,
211
+ onClick: () => zoomIn()
212
+ },
213
+ zoomOutDisabled
214
+ };
215
+ };
216
+
217
+ //#endregion
218
+ //#region src/react/image/components/Image.tsx
219
+ const useImage = () => {
220
+ const $ = c(6);
221
+ const element = useElement();
222
+ const editor = useEditorRef();
223
+ let t0;
224
+ if ($[0] !== editor || $[1] !== element) {
225
+ t0 = () => {
226
+ openImagePreview(editor, element);
227
+ };
228
+ $[0] = editor;
229
+ $[1] = element;
230
+ $[2] = t0;
231
+ } else t0 = $[2];
232
+ let t1;
233
+ if ($[3] !== element.url || $[4] !== t0) {
234
+ t1 = { props: {
235
+ draggable: true,
236
+ src: element.url,
237
+ onDoubleClickCapture: t0
238
+ } };
239
+ $[3] = element.url;
240
+ $[4] = t0;
241
+ $[5] = t1;
242
+ } else t1 = $[5];
243
+ return t1;
244
+ };
245
+ const Image = createPrimitiveComponent("img")({ propsHook: useImage });
246
+
247
+ //#endregion
248
+ //#region src/react/image/components/PreviewImage.tsx
249
+ const usePreviewImage = () => {
250
+ const $ = c(17);
251
+ const currentPreview = useImagePreviewValue("currentPreview");
252
+ const translate = useImagePreviewValue("translate");
253
+ const scale = useImagePreviewValue("scale");
254
+ const imageRef = React.useRef(null);
255
+ const isZoomIn = scale <= 1;
256
+ const { zoomIn, zoomOut } = useZoom();
257
+ let t0;
258
+ if ($[0] !== scale) {
259
+ t0 = () => {
260
+ if (scale <= 1) return;
261
+ const boundingClientRect = imageRef.current?.getBoundingClientRect();
262
+ if (!boundingClientRect) return;
263
+ ImagePreviewStore.set("boundingClientRect", boundingClientRect);
264
+ };
265
+ $[0] = scale;
266
+ $[1] = t0;
267
+ } else t0 = $[1];
268
+ let t1;
269
+ if ($[2] !== scale || $[3] !== translate.x || $[4] !== translate.y) {
270
+ t1 = [
271
+ translate.x,
272
+ translate.y,
273
+ scale
274
+ ];
275
+ $[2] = scale;
276
+ $[3] = translate.x;
277
+ $[4] = translate.y;
278
+ $[5] = t1;
279
+ } else t1 = $[5];
280
+ useEffect(t0, t1);
281
+ const t2 = currentPreview?.url;
282
+ const t3 = isZoomIn ? "zoom-in" : "zoom-out";
283
+ const t4 = `scale(${scale}) translate(${`${translate.x}px`}, ${`${translate.y}px`})`;
284
+ let t5;
285
+ if ($[6] !== t3 || $[7] !== t4) {
286
+ t5 = {
287
+ cursor: t3,
288
+ transform: t4
289
+ };
290
+ $[6] = t3;
291
+ $[7] = t4;
292
+ $[8] = t5;
293
+ } else t5 = $[8];
294
+ let t6;
295
+ if ($[9] !== isZoomIn || $[10] !== zoomIn || $[11] !== zoomOut) {
296
+ t6 = (e) => {
297
+ e.stopPropagation();
298
+ if (isZoomIn) zoomIn();
299
+ else zoomOut();
300
+ };
301
+ $[9] = isZoomIn;
302
+ $[10] = zoomIn;
303
+ $[11] = zoomOut;
304
+ $[12] = t6;
305
+ } else t6 = $[12];
306
+ let t7;
307
+ if ($[13] !== t2 || $[14] !== t5 || $[15] !== t6) {
308
+ t7 = { props: {
309
+ draggable: false,
310
+ ref: imageRef,
311
+ src: t2,
312
+ style: t5,
313
+ onClick: t6
314
+ } };
315
+ $[13] = t2;
316
+ $[14] = t5;
317
+ $[15] = t6;
318
+ $[16] = t7;
319
+ } else t7 = $[16];
320
+ return t7;
321
+ };
322
+ const PreviewImage = createPrimitiveComponent("img")({ propsHook: usePreviewImage });
323
+
324
+ //#endregion
325
+ //#region src/react/image/components/useScaleInput.tsx
326
+ const useScaleInput = () => {
327
+ const $ = c(9);
328
+ const scale = useImagePreviewValue("scale");
329
+ const isEditingScale = useImagePreviewValue("isEditingScale");
330
+ const [value, setValue] = useState(`${scale * 100}`);
331
+ const inputRef = useRef(null);
332
+ let t0;
333
+ let t1;
334
+ if ($[0] !== isEditingScale) {
335
+ t0 = () => {
336
+ if (!isEditingScale) return;
337
+ setTimeout(() => {
338
+ inputRef.current?.focus();
339
+ inputRef.current?.select();
340
+ }, 0);
341
+ };
342
+ t1 = [isEditingScale];
343
+ $[0] = isEditingScale;
344
+ $[1] = t0;
345
+ $[2] = t1;
346
+ } else {
347
+ t0 = $[1];
348
+ t1 = $[2];
349
+ }
350
+ useEffect(t0, t1);
351
+ let t2;
352
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
353
+ t2 = (e) => {
354
+ setValue(e.target.value);
355
+ };
356
+ $[3] = t2;
357
+ } else t2 = $[3];
358
+ let t3;
359
+ if ($[4] !== value) {
360
+ t3 = (e_0) => {
361
+ if (isHotkey("enter")(e_0)) {
362
+ if (Number(value) <= 50) {
363
+ ImagePreviewStore.set("scale", .5);
364
+ ImagePreviewStore.set("isEditingScale", false);
365
+ return;
366
+ }
367
+ if (Number(value) >= 200) {
368
+ ImagePreviewStore.set("scale", 2);
369
+ ImagePreviewStore.set("isEditingScale", false);
370
+ return;
371
+ }
372
+ ImagePreviewStore.set("scale", Number((Number(value) / 100).toFixed(2)));
373
+ ImagePreviewStore.set("isEditingScale", false);
374
+ }
375
+ };
376
+ $[4] = value;
377
+ $[5] = t3;
378
+ } else t3 = $[5];
379
+ let t4;
380
+ if ($[6] !== t3 || $[7] !== value) {
381
+ t4 = {
382
+ props: {
383
+ value,
384
+ onChange: t2,
385
+ onKeyDown: t3
386
+ },
387
+ ref: inputRef
388
+ };
389
+ $[6] = t3;
390
+ $[7] = value;
391
+ $[8] = t4;
392
+ } else t4 = $[8];
393
+ return t4;
394
+ };
395
+
396
+ //#endregion
397
+ //#region src/react/media/mediaStore.ts
398
+ const { MediaProvider, mediaStore, useMediaSet, useMediaStore, useMediaValue } = createAtomStore({ showCaption: false }, { name: "media" });
399
+
400
+ //#endregion
401
+ //#region src/react/media/useMediaController.ts
402
+ const useMediaControllerState = () => {
403
+ const $ = c(2);
404
+ const [alignOpen, setAlignOpen] = React.useState(false);
405
+ let t0;
406
+ if ($[0] !== alignOpen) {
407
+ t0 = {
408
+ alignOpen,
409
+ setAlignOpen
410
+ };
411
+ $[0] = alignOpen;
412
+ $[1] = t0;
413
+ } else t0 = $[1];
414
+ return t0;
415
+ };
416
+ const useMediaController = ({ setAlignOpen }) => ({ MediaControllerDropDownMenuProps: { setAlignOpen } });
417
+ const useMediaControllerDropDownMenu = (props) => {
418
+ React.useEffect(() => props.setAlignOpen(props.openState.open), [props.openState.open]);
419
+ };
420
+
421
+ //#endregion
422
+ //#region src/react/media/useMediaState.ts
423
+ const useMediaState = ({ urlParsers } = {}) => {
424
+ const editor = useEditorRef();
425
+ const element = useElement();
426
+ const focused = useFocused();
427
+ const selected = useSelected();
428
+ const readOnly = useReadOnly();
429
+ const { id, align, isUpload, name, type, url } = element;
430
+ const embed = React.useMemo(() => {
431
+ if (!urlParsers || type !== editor.getType(KEYS.video) && type !== editor.getType(KEYS.mediaEmbed)) return;
432
+ return parseMediaUrl(url, { urlParsers });
433
+ }, [urlParsers, url]);
434
+ return {
435
+ id,
436
+ align,
437
+ embed,
438
+ focused,
439
+ isTweet: embed?.provider === "twitter",
440
+ isUpload,
441
+ isVideo: !!embed?.provider && VIDEO_PROVIDERS.includes(embed.provider),
442
+ isYoutube: embed?.provider === "youtube",
443
+ name,
444
+ readOnly,
445
+ selected,
446
+ unsafeUrl: url
447
+ };
448
+ };
449
+
450
+ //#endregion
451
+ //#region src/react/media/useMediaToolbarButton.ts
452
+ const useMediaToolbarButton = (t0) => {
453
+ const $ = c(5);
454
+ let t1;
455
+ if ($[0] !== t0) {
456
+ t1 = t0 === void 0 ? {} : t0;
457
+ $[0] = t0;
458
+ $[1] = t1;
459
+ } else t1 = $[1];
460
+ const { nodeType } = t1;
461
+ const editor = useEditorRef();
462
+ let t2;
463
+ if ($[2] !== editor || $[3] !== nodeType) {
464
+ t2 = { props: {
465
+ onClick: async () => {
466
+ await insertMedia$1(editor, { type: nodeType });
467
+ },
468
+ onMouseDown: _temp$2
469
+ } };
470
+ $[2] = editor;
471
+ $[3] = nodeType;
472
+ $[4] = t2;
473
+ } else t2 = $[4];
474
+ return t2;
475
+ };
476
+ function _temp$2(e) {
477
+ e.preventDefault();
478
+ }
479
+
480
+ //#endregion
481
+ //#region src/react/media/FloatingMedia/FloatingMediaStore.ts
482
+ const FloatingMediaStore = createZustandStore({
483
+ isEditing: false,
484
+ url: ""
485
+ }, {
486
+ mutative: true,
487
+ name: "floatingMedia"
488
+ }).extendActions(({ set }) => ({ reset: () => {
489
+ set("url", "");
490
+ set("isEditing", false);
491
+ } }));
492
+ const { useState: useFloatingMediaState, useValue: useFloatingMediaValue } = FloatingMediaStore;
493
+
494
+ //#endregion
495
+ //#region src/react/media/FloatingMedia/FloatingMediaEditButton.tsx
496
+ const useFloatingMediaEditButton = () => {
497
+ const $ = c(4);
498
+ const element = useElement();
499
+ let t0;
500
+ if ($[0] !== element.url) {
501
+ t0 = () => {
502
+ FloatingMediaStore.set("url", element.url);
503
+ FloatingMediaStore.set("isEditing", true);
504
+ };
505
+ $[0] = element.url;
506
+ $[1] = t0;
507
+ } else t0 = $[1];
508
+ const t1 = t0;
509
+ let t2;
510
+ if ($[2] !== t1) {
511
+ t2 = { props: { onClick: t1 } };
512
+ $[2] = t1;
513
+ $[3] = t2;
514
+ } else t2 = $[3];
515
+ return t2;
516
+ };
517
+ const FloatingMediaEditButton = createPrimitiveComponent("button")({ propsHook: useFloatingMediaEditButton });
518
+
519
+ //#endregion
520
+ //#region src/react/media/FloatingMedia/submitFloatingMedia.ts
521
+ const submitFloatingMedia = (editor, { element, plugin }) => {
522
+ let url = FloatingMediaStore.get("url");
523
+ if (url === element.url) {
524
+ FloatingMediaStore.actions.reset();
525
+ return true;
526
+ }
527
+ const { isUrl: _isUrl = isUrl, transformUrl } = editor.getOptions(plugin);
528
+ if (!_isUrl(url)) return;
529
+ if (transformUrl) url = transformUrl(url);
530
+ editor.tf.setNodes({ url });
531
+ FloatingMediaStore.actions.reset();
532
+ editor.tf.focus({ at: editor.selection });
533
+ return true;
534
+ };
535
+
536
+ //#endregion
537
+ //#region src/react/media/FloatingMedia/FloatingMediaUrlInput.tsx
538
+ const useFloatingMediaUrlInputState = (t0) => {
539
+ const $ = c(11);
540
+ const { plugin } = t0;
541
+ const editor = useEditorRef();
542
+ const element = useElement();
543
+ let t1;
544
+ if ($[0] !== editor || $[1] !== element || $[2] !== plugin) {
545
+ t1 = (e) => {
546
+ if (submitFloatingMedia(editor, {
547
+ element,
548
+ plugin
549
+ })) e.preventDefault();
550
+ };
551
+ $[0] = editor;
552
+ $[1] = element;
553
+ $[2] = plugin;
554
+ $[3] = t1;
555
+ } else t1 = $[3];
556
+ let t2;
557
+ let t3;
558
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
559
+ t2 = { enableOnFormTags: ["INPUT"] };
560
+ t3 = [];
561
+ $[4] = t2;
562
+ $[5] = t3;
563
+ } else {
564
+ t2 = $[4];
565
+ t3 = $[5];
566
+ }
567
+ useHotkeys("enter", t1, t2, t3);
568
+ let t4;
569
+ if ($[6] !== editor) {
570
+ t4 = () => {
571
+ if (FloatingMediaStore.get("isEditing")) {
572
+ FloatingMediaStore.actions.reset();
573
+ editor.tf.focus({ at: editor.selection });
574
+ }
575
+ };
576
+ $[6] = editor;
577
+ $[7] = t4;
578
+ } else t4 = $[7];
579
+ let t5;
580
+ let t6;
581
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
582
+ t5 = {
583
+ enableOnContentEditable: true,
584
+ enableOnFormTags: ["INPUT"]
585
+ };
586
+ t6 = [];
587
+ $[8] = t5;
588
+ $[9] = t6;
589
+ } else {
590
+ t5 = $[8];
591
+ t6 = $[9];
592
+ }
593
+ useHotkeys("escape", t4, t5, t6);
594
+ let t7;
595
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
596
+ t7 = { defaultValue: FloatingMediaStore.get("url") };
597
+ $[10] = t7;
598
+ } else t7 = $[10];
599
+ return t7;
600
+ };
601
+ const useFloatingMediaUrlInput = (t0) => {
602
+ const $ = c(2);
603
+ const { defaultValue } = t0;
604
+ const onChange = _temp$1;
605
+ let t1;
606
+ if ($[0] !== defaultValue) {
607
+ t1 = { props: {
608
+ autoFocus: true,
609
+ defaultValue,
610
+ onChange
611
+ } };
612
+ $[0] = defaultValue;
613
+ $[1] = t1;
614
+ } else t1 = $[1];
615
+ return t1;
616
+ };
617
+ const FloatingMediaUrlInput = createPrimitiveComponent("input")({
618
+ propsHook: useFloatingMediaUrlInput,
619
+ stateHook: useFloatingMediaUrlInputState
620
+ });
621
+ function _temp$1(e) {
622
+ FloatingMediaStore.set("url", e.target.value);
623
+ }
624
+
625
+ //#endregion
626
+ //#region src/react/media/FloatingMedia/FloatingMedia.tsx
627
+ const FloatingMedia = {
628
+ EditButton: FloatingMediaEditButton,
629
+ UrlInput: FloatingMediaUrlInput
630
+ };
631
+
632
+ //#endregion
633
+ //#region src/react/placeholder/type.ts
634
+ const UploadErrorCode = {
635
+ INVALID_FILE_TYPE: 400,
636
+ TOO_MANY_FILES: 402,
637
+ INVALID_FILE_SIZE: 403,
638
+ TOO_LESS_FILES: 405,
639
+ TOO_LARGE: 413
640
+ };
641
+
642
+ //#endregion
643
+ //#region src/react/placeholder/utils/createUploadError.ts
644
+ const createUploadError = (code, data) => ({
645
+ code,
646
+ data
647
+ });
648
+ const isUploadError = (error) => typeof error === "object" && error !== null && "code" in error && "data" in error && typeof error.data === "object" && error.data !== null && "files" in error.data && Array.isArray(error.data.files);
649
+
650
+ //#endregion
651
+ //#region src/react/placeholder/internal/application.ts
652
+ const application = {
653
+ "application/andrew-inset": {
654
+ extensions: ["ez"],
655
+ source: "iana"
656
+ },
657
+ "application/applixware": {
658
+ extensions: ["aw"],
659
+ source: "apache"
660
+ },
661
+ "application/atom+xml": {
662
+ extensions: ["atom"],
663
+ source: "iana"
664
+ },
665
+ "application/atomcat+xml": {
666
+ extensions: ["atomcat"],
667
+ source: "iana"
668
+ },
669
+ "application/atomdeleted+xml": {
670
+ extensions: ["atomdeleted"],
671
+ source: "iana"
672
+ },
673
+ "application/atomsvc+xml": {
674
+ extensions: ["atomsvc"],
675
+ source: "iana"
676
+ },
677
+ "application/atsc-dwd+xml": {
678
+ extensions: ["dwd"],
679
+ source: "iana"
680
+ },
681
+ "application/atsc-held+xml": {
682
+ extensions: ["held"],
683
+ source: "iana"
684
+ },
685
+ "application/atsc-rsat+xml": {
686
+ extensions: ["rsat"],
687
+ source: "iana"
688
+ },
689
+ "application/calendar+xml": {
690
+ extensions: ["xcs"],
691
+ source: "iana"
692
+ },
693
+ "application/ccxml+xml": {
694
+ extensions: ["ccxml"],
695
+ source: "iana"
696
+ },
697
+ "application/cdfx+xml": {
698
+ extensions: ["cdfx"],
699
+ source: "iana"
700
+ },
701
+ "application/cdmi-capability": {
702
+ extensions: ["cdmia"],
703
+ source: "iana"
704
+ },
705
+ "application/cdmi-container": {
706
+ extensions: ["cdmic"],
707
+ source: "iana"
708
+ },
709
+ "application/cdmi-domain": {
710
+ extensions: ["cdmid"],
711
+ source: "iana"
712
+ },
713
+ "application/cdmi-object": {
714
+ extensions: ["cdmio"],
715
+ source: "iana"
716
+ },
717
+ "application/cdmi-queue": {
718
+ extensions: ["cdmiq"],
719
+ source: "iana"
720
+ },
721
+ "application/cpl+xml": {
722
+ extensions: ["cpl"],
723
+ source: "iana"
724
+ },
725
+ "application/cu-seeme": {
726
+ extensions: ["cu"],
727
+ source: "apache"
728
+ },
729
+ "application/dash+xml": {
730
+ extensions: ["mpd"],
731
+ source: "iana"
732
+ },
733
+ "application/dash-patch+xml": {
734
+ extensions: ["mpp"],
735
+ source: "iana"
736
+ },
737
+ "application/davmount+xml": {
738
+ extensions: ["davmount"],
739
+ source: "iana"
740
+ },
741
+ "application/dicom": {
742
+ extensions: ["dcm"],
743
+ source: "iana"
744
+ },
745
+ "application/docbook+xml": {
746
+ extensions: ["dbk"],
747
+ source: "apache"
748
+ },
749
+ "application/dssc+der": {
750
+ extensions: ["dssc"],
751
+ source: "iana"
752
+ },
753
+ "application/dssc+xml": {
754
+ extensions: ["xdssc"],
755
+ source: "iana"
756
+ },
757
+ "application/ecmascript": {
758
+ extensions: ["es", "ecma"],
759
+ source: "iana"
760
+ },
761
+ "application/emma+xml": {
762
+ extensions: ["emma"],
763
+ source: "iana"
764
+ },
765
+ "application/emotionml+xml": {
766
+ extensions: ["emotionml"],
767
+ source: "iana"
768
+ },
769
+ "application/epub+zip": {
770
+ extensions: ["epub"],
771
+ source: "iana"
772
+ },
773
+ "application/exi": {
774
+ extensions: ["exi"],
775
+ source: "iana"
776
+ },
777
+ "application/express": {
778
+ extensions: ["exp"],
779
+ source: "iana"
780
+ },
781
+ "application/fdt+xml": {
782
+ extensions: ["fdt"],
783
+ source: "iana"
784
+ },
785
+ "application/font-tdpfr": {
786
+ extensions: ["pfr"],
787
+ source: "iana"
788
+ },
789
+ "application/geo+json": {
790
+ extensions: ["geojson"],
791
+ source: "iana"
792
+ },
793
+ "application/gml+xml": {
794
+ extensions: ["gml"],
795
+ source: "iana"
796
+ },
797
+ "application/gpx+xml": {
798
+ extensions: ["gpx"],
799
+ source: "apache"
800
+ },
801
+ "application/gxf": {
802
+ extensions: ["gxf"],
803
+ source: "apache"
804
+ },
805
+ "application/gzip": {
806
+ extensions: ["gz"],
807
+ source: "iana"
808
+ },
809
+ "application/hyperstudio": {
810
+ extensions: ["stk"],
811
+ source: "iana"
812
+ },
813
+ "application/inkml+xml": {
814
+ extensions: ["ink", "inkml"],
815
+ source: "iana"
816
+ },
817
+ "application/ipfix": {
818
+ extensions: ["ipfix"],
819
+ source: "iana"
820
+ },
821
+ "application/its+xml": {
822
+ extensions: ["its"],
823
+ source: "iana"
824
+ },
825
+ "application/java-archive": {
826
+ extensions: [
827
+ "jar",
828
+ "war",
829
+ "ear"
830
+ ],
831
+ source: "apache"
832
+ },
833
+ "application/java-serialized-object": {
834
+ extensions: ["ser"],
835
+ source: "apache"
836
+ },
837
+ "application/java-vm": {
838
+ extensions: ["class"],
839
+ source: "apache"
840
+ },
841
+ "application/javascript": {
842
+ charset: "UTF-8",
843
+ extensions: ["js", "mjs"],
844
+ source: "iana"
845
+ },
846
+ "application/json": {
847
+ charset: "UTF-8",
848
+ extensions: ["json", "map"],
849
+ source: "iana"
850
+ },
851
+ "application/jsonml+json": {
852
+ extensions: ["jsonml"],
853
+ source: "apache"
854
+ },
855
+ "application/ld+json": {
856
+ extensions: ["jsonld"],
857
+ source: "iana"
858
+ },
859
+ "application/lgr+xml": {
860
+ extensions: ["lgr"],
861
+ source: "iana"
862
+ },
863
+ "application/lost+xml": {
864
+ extensions: ["lostxml"],
865
+ source: "iana"
866
+ },
867
+ "application/mac-binhex40": {
868
+ extensions: ["hqx"],
869
+ source: "iana"
870
+ },
871
+ "application/mac-compactpro": {
872
+ extensions: ["cpt"],
873
+ source: "apache"
874
+ },
875
+ "application/mads+xml": {
876
+ extensions: ["mads"],
877
+ source: "iana"
878
+ },
879
+ "application/manifest+json": {
880
+ charset: "UTF-8",
881
+ extensions: ["webmanifest"],
882
+ source: "iana"
883
+ },
884
+ "application/marc": {
885
+ extensions: ["mrc"],
886
+ source: "iana"
887
+ },
888
+ "application/marcxml+xml": {
889
+ extensions: ["mrcx"],
890
+ source: "iana"
891
+ },
892
+ "application/mathematica": {
893
+ extensions: [
894
+ "ma",
895
+ "nb",
896
+ "mb"
897
+ ],
898
+ source: "iana"
899
+ },
900
+ "application/mathml+xml": {
901
+ extensions: ["mathml"],
902
+ source: "iana"
903
+ },
904
+ "application/mbox": {
905
+ extensions: ["mbox"],
906
+ source: "iana"
907
+ },
908
+ "application/media-policy-dataset+xml": {
909
+ extensions: ["mpf"],
910
+ source: "iana"
911
+ },
912
+ "application/mediaservercontrol+xml": {
913
+ extensions: ["mscml"],
914
+ source: "iana"
915
+ },
916
+ "application/metalink4+xml": {
917
+ extensions: ["meta4"],
918
+ source: "iana"
919
+ },
920
+ "application/metalink+xml": {
921
+ extensions: ["metalink"],
922
+ source: "apache"
923
+ },
924
+ "application/mets+xml": {
925
+ extensions: ["mets"],
926
+ source: "iana"
927
+ },
928
+ "application/mmt-aei+xml": {
929
+ extensions: ["maei"],
930
+ source: "iana"
931
+ },
932
+ "application/mmt-usd+xml": {
933
+ extensions: ["musd"],
934
+ source: "iana"
935
+ },
936
+ "application/mods+xml": {
937
+ extensions: ["mods"],
938
+ source: "iana"
939
+ },
940
+ "application/mp4": {
941
+ extensions: ["mp4s", "m4p"],
942
+ source: "iana"
943
+ },
944
+ "application/mp21": {
945
+ extensions: ["m21", "mp21"],
946
+ source: "iana"
947
+ },
948
+ "application/msword": {
949
+ extensions: ["doc", "dot"],
950
+ source: "iana"
951
+ },
952
+ "application/mxf": {
953
+ extensions: ["mxf"],
954
+ source: "iana"
955
+ },
956
+ "application/n-quads": {
957
+ extensions: ["nq"],
958
+ source: "iana"
959
+ },
960
+ "application/n-triples": {
961
+ extensions: ["nt"],
962
+ source: "iana"
963
+ },
964
+ "application/node": {
965
+ extensions: ["cjs"],
966
+ source: "iana"
967
+ },
968
+ "application/octet-stream": {
969
+ extensions: [
970
+ "bin",
971
+ "dms",
972
+ "lrf",
973
+ "mar",
974
+ "so",
975
+ "dist",
976
+ "distz",
977
+ "pkg",
978
+ "bpk",
979
+ "dump",
980
+ "elc",
981
+ "deploy",
982
+ "exe",
983
+ "dll",
984
+ "deb",
985
+ "dmg",
986
+ "iso",
987
+ "img",
988
+ "msi",
989
+ "msp",
990
+ "msm",
991
+ "buffer"
992
+ ],
993
+ source: "iana"
994
+ },
995
+ "application/oda": {
996
+ extensions: ["oda"],
997
+ source: "iana"
998
+ },
999
+ "application/oebps-package+xml": {
1000
+ extensions: ["opf"],
1001
+ source: "iana"
1002
+ },
1003
+ "application/ogg": {
1004
+ extensions: ["ogx"],
1005
+ source: "iana"
1006
+ },
1007
+ "application/omdoc+xml": {
1008
+ extensions: ["omdoc"],
1009
+ source: "apache"
1010
+ },
1011
+ "application/onenote": {
1012
+ extensions: [
1013
+ "onetoc",
1014
+ "onetoc2",
1015
+ "onetmp",
1016
+ "onepkg"
1017
+ ],
1018
+ source: "apache"
1019
+ },
1020
+ "application/oxps": {
1021
+ extensions: ["oxps"],
1022
+ source: "iana"
1023
+ },
1024
+ "application/p2p-overlay+xml": {
1025
+ extensions: ["relo"],
1026
+ source: "iana"
1027
+ },
1028
+ "application/patch-ops-error+xml": {
1029
+ extensions: ["xer"],
1030
+ source: "iana"
1031
+ },
1032
+ "application/pdf": {
1033
+ extensions: ["pdf"],
1034
+ source: "iana"
1035
+ },
1036
+ "application/pgp-encrypted": {
1037
+ extensions: ["pgp"],
1038
+ source: "iana"
1039
+ },
1040
+ "application/pgp-keys": {
1041
+ extensions: ["asc"],
1042
+ source: "iana"
1043
+ },
1044
+ "application/pgp-signature": {
1045
+ extensions: ["asc", "sig"],
1046
+ source: "iana"
1047
+ },
1048
+ "application/pics-rules": {
1049
+ extensions: ["prf"],
1050
+ source: "apache"
1051
+ },
1052
+ "application/pkcs7-mime": {
1053
+ extensions: ["p7m", "p7c"],
1054
+ source: "iana"
1055
+ },
1056
+ "application/pkcs7-signature": {
1057
+ extensions: ["p7s"],
1058
+ source: "iana"
1059
+ },
1060
+ "application/pkcs8": {
1061
+ extensions: ["p8"],
1062
+ source: "iana"
1063
+ },
1064
+ "application/pkcs10": {
1065
+ extensions: ["p10"],
1066
+ source: "iana"
1067
+ },
1068
+ "application/pkix-attr-cert": {
1069
+ extensions: ["ac"],
1070
+ source: "iana"
1071
+ },
1072
+ "application/pkix-cert": {
1073
+ extensions: ["cer"],
1074
+ source: "iana"
1075
+ },
1076
+ "application/pkix-crl": {
1077
+ extensions: ["crl"],
1078
+ source: "iana"
1079
+ },
1080
+ "application/pkix-pkipath": {
1081
+ extensions: ["pkipath"],
1082
+ source: "iana"
1083
+ },
1084
+ "application/pkixcmp": {
1085
+ extensions: ["pki"],
1086
+ source: "iana"
1087
+ },
1088
+ "application/pls+xml": {
1089
+ extensions: ["pls"],
1090
+ source: "iana"
1091
+ },
1092
+ "application/postscript": {
1093
+ extensions: [
1094
+ "ai",
1095
+ "eps",
1096
+ "ps"
1097
+ ],
1098
+ source: "iana"
1099
+ },
1100
+ "application/provenance+xml": {
1101
+ extensions: ["provx"],
1102
+ source: "iana"
1103
+ },
1104
+ "application/prs.cww": {
1105
+ extensions: ["cww"],
1106
+ source: "iana"
1107
+ },
1108
+ "application/pskc+xml": {
1109
+ extensions: ["pskcxml"],
1110
+ source: "iana"
1111
+ },
1112
+ "application/rdf+xml": {
1113
+ extensions: ["rdf", "owl"],
1114
+ source: "iana"
1115
+ },
1116
+ "application/reginfo+xml": {
1117
+ extensions: ["rif"],
1118
+ source: "iana"
1119
+ },
1120
+ "application/relax-ng-compact-syntax": {
1121
+ extensions: ["rnc"],
1122
+ source: "iana"
1123
+ },
1124
+ "application/resource-lists+xml": {
1125
+ extensions: ["rl"],
1126
+ source: "iana"
1127
+ },
1128
+ "application/resource-lists-diff+xml": {
1129
+ extensions: ["rld"],
1130
+ source: "iana"
1131
+ },
1132
+ "application/rls-services+xml": {
1133
+ extensions: ["rs"],
1134
+ source: "iana"
1135
+ },
1136
+ "application/route-apd+xml": {
1137
+ extensions: ["rapd"],
1138
+ source: "iana"
1139
+ },
1140
+ "application/route-s-tsid+xml": {
1141
+ extensions: ["sls"],
1142
+ source: "iana"
1143
+ },
1144
+ "application/route-usd+xml": {
1145
+ extensions: ["rusd"],
1146
+ source: "iana"
1147
+ },
1148
+ "application/rpki-ghostbusters": {
1149
+ extensions: ["gbr"],
1150
+ source: "iana"
1151
+ },
1152
+ "application/rpki-manifest": {
1153
+ extensions: ["mft"],
1154
+ source: "iana"
1155
+ },
1156
+ "application/rpki-roa": {
1157
+ extensions: ["roa"],
1158
+ source: "iana"
1159
+ },
1160
+ "application/rsd+xml": {
1161
+ extensions: ["rsd"],
1162
+ source: "apache"
1163
+ },
1164
+ "application/rss+xml": {
1165
+ extensions: ["rss"],
1166
+ source: "apache"
1167
+ },
1168
+ "application/rtf": {
1169
+ extensions: ["rtf"],
1170
+ source: "iana"
1171
+ },
1172
+ "application/sbml+xml": {
1173
+ extensions: ["sbml"],
1174
+ source: "iana"
1175
+ },
1176
+ "application/scvp-cv-request": {
1177
+ extensions: ["scq"],
1178
+ source: "iana"
1179
+ },
1180
+ "application/scvp-cv-response": {
1181
+ extensions: ["scs"],
1182
+ source: "iana"
1183
+ },
1184
+ "application/scvp-vp-request": {
1185
+ extensions: ["spq"],
1186
+ source: "iana"
1187
+ },
1188
+ "application/scvp-vp-response": {
1189
+ extensions: ["spp"],
1190
+ source: "iana"
1191
+ },
1192
+ "application/sdp": {
1193
+ extensions: ["sdp"],
1194
+ source: "iana"
1195
+ },
1196
+ "application/senml+xml": {
1197
+ extensions: ["senmlx"],
1198
+ source: "iana"
1199
+ },
1200
+ "application/sensml+xml": {
1201
+ extensions: ["sensmlx"],
1202
+ source: "iana"
1203
+ },
1204
+ "application/set-payment-initiation": {
1205
+ extensions: ["setpay"],
1206
+ source: "iana"
1207
+ },
1208
+ "application/set-registration-initiation": {
1209
+ extensions: ["setreg"],
1210
+ source: "iana"
1211
+ },
1212
+ "application/shf+xml": {
1213
+ extensions: ["shf"],
1214
+ source: "iana"
1215
+ },
1216
+ "application/sieve": {
1217
+ extensions: ["siv", "sieve"],
1218
+ source: "iana"
1219
+ },
1220
+ "application/smil+xml": {
1221
+ extensions: ["smi", "smil"],
1222
+ source: "iana"
1223
+ },
1224
+ "application/sparql-query": {
1225
+ extensions: ["rq"],
1226
+ source: "iana"
1227
+ },
1228
+ "application/sparql-results+xml": {
1229
+ extensions: ["srx"],
1230
+ source: "iana"
1231
+ },
1232
+ "application/srgs": {
1233
+ extensions: ["gram"],
1234
+ source: "iana"
1235
+ },
1236
+ "application/srgs+xml": {
1237
+ extensions: ["grxml"],
1238
+ source: "iana"
1239
+ },
1240
+ "application/sru+xml": {
1241
+ extensions: ["sru"],
1242
+ source: "iana"
1243
+ },
1244
+ "application/ssdl+xml": {
1245
+ extensions: ["ssdl"],
1246
+ source: "apache"
1247
+ },
1248
+ "application/ssml+xml": {
1249
+ extensions: ["ssml"],
1250
+ source: "iana"
1251
+ },
1252
+ "application/swid+xml": {
1253
+ extensions: ["swidtag"],
1254
+ source: "iana"
1255
+ },
1256
+ "application/tei+xml": {
1257
+ extensions: ["tei", "teicorpus"],
1258
+ source: "iana"
1259
+ },
1260
+ "application/thraud+xml": {
1261
+ extensions: ["tfi"],
1262
+ source: "iana"
1263
+ },
1264
+ "application/timestamped-data": {
1265
+ extensions: ["tsd"],
1266
+ source: "iana"
1267
+ },
1268
+ "application/trig": {
1269
+ extensions: ["trig"],
1270
+ source: "iana"
1271
+ },
1272
+ "application/ttml+xml": {
1273
+ extensions: ["ttml"],
1274
+ source: "iana"
1275
+ },
1276
+ "application/urc-ressheet+xml": {
1277
+ extensions: ["rsheet"],
1278
+ source: "iana"
1279
+ },
1280
+ "application/urc-targetdesc+xml": {
1281
+ extensions: ["td"],
1282
+ source: "iana"
1283
+ },
1284
+ "application/vnd.3gpp2.tcap": {
1285
+ extensions: ["tcap"],
1286
+ source: "iana"
1287
+ },
1288
+ "application/vnd.3gpp.pic-bw-large": {
1289
+ extensions: ["plb"],
1290
+ source: "iana"
1291
+ },
1292
+ "application/vnd.3gpp.pic-bw-small": {
1293
+ extensions: ["psb"],
1294
+ source: "iana"
1295
+ },
1296
+ "application/vnd.3gpp.pic-bw-var": {
1297
+ extensions: ["pvb"],
1298
+ source: "iana"
1299
+ },
1300
+ "application/vnd.3m.post-it-notes": {
1301
+ extensions: ["pwn"],
1302
+ source: "iana"
1303
+ },
1304
+ "application/vnd.1000minds.decision-model+xml": {
1305
+ extensions: ["1km"],
1306
+ source: "iana"
1307
+ },
1308
+ "application/vnd.accpac.simply.aso": {
1309
+ extensions: ["aso"],
1310
+ source: "iana"
1311
+ },
1312
+ "application/vnd.accpac.simply.imp": {
1313
+ extensions: ["imp"],
1314
+ source: "iana"
1315
+ },
1316
+ "application/vnd.acucobol": {
1317
+ extensions: ["acu"],
1318
+ source: "iana"
1319
+ },
1320
+ "application/vnd.acucorp": {
1321
+ extensions: ["atc", "acutc"],
1322
+ source: "iana"
1323
+ },
1324
+ "application/vnd.adobe.air-application-installer-package+zip": {
1325
+ extensions: ["air"],
1326
+ source: "apache"
1327
+ },
1328
+ "application/vnd.adobe.formscentral.fcdt": {
1329
+ extensions: ["fcdt"],
1330
+ source: "iana"
1331
+ },
1332
+ "application/vnd.adobe.fxp": {
1333
+ extensions: ["fxp", "fxpl"],
1334
+ source: "iana"
1335
+ },
1336
+ "application/vnd.adobe.xdp+xml": {
1337
+ extensions: ["xdp"],
1338
+ source: "iana"
1339
+ },
1340
+ "application/vnd.adobe.xfdf": {
1341
+ extensions: ["xfdf"],
1342
+ source: "iana"
1343
+ },
1344
+ "application/vnd.age": {
1345
+ extensions: ["age"],
1346
+ source: "iana"
1347
+ },
1348
+ "application/vnd.ahead.space": {
1349
+ extensions: ["ahead"],
1350
+ source: "iana"
1351
+ },
1352
+ "application/vnd.airzip.filesecure.azf": {
1353
+ extensions: ["azf"],
1354
+ source: "iana"
1355
+ },
1356
+ "application/vnd.airzip.filesecure.azs": {
1357
+ extensions: ["azs"],
1358
+ source: "iana"
1359
+ },
1360
+ "application/vnd.amazon.ebook": {
1361
+ extensions: ["azw"],
1362
+ source: "apache"
1363
+ },
1364
+ "application/vnd.americandynamics.acc": {
1365
+ extensions: ["acc"],
1366
+ source: "iana"
1367
+ },
1368
+ "application/vnd.amiga.ami": {
1369
+ extensions: ["ami"],
1370
+ source: "iana"
1371
+ },
1372
+ "application/vnd.android.package-archive": {
1373
+ extensions: ["apk"],
1374
+ source: "apache"
1375
+ },
1376
+ "application/vnd.anser-web-certificate-issue-initiation": {
1377
+ extensions: ["cii"],
1378
+ source: "iana"
1379
+ },
1380
+ "application/vnd.anser-web-funds-transfer-initiation": {
1381
+ extensions: ["fti"],
1382
+ source: "apache"
1383
+ },
1384
+ "application/vnd.antix.game-component": {
1385
+ extensions: ["atx"],
1386
+ source: "iana"
1387
+ },
1388
+ "application/vnd.apple.installer+xml": {
1389
+ extensions: ["mpkg"],
1390
+ source: "iana"
1391
+ },
1392
+ "application/vnd.apple.keynote": {
1393
+ extensions: ["key"],
1394
+ source: "iana"
1395
+ },
1396
+ "application/vnd.apple.mpegurl": {
1397
+ extensions: ["m3u8"],
1398
+ source: "iana"
1399
+ },
1400
+ "application/vnd.apple.numbers": {
1401
+ extensions: ["numbers"],
1402
+ source: "iana"
1403
+ },
1404
+ "application/vnd.apple.pages": {
1405
+ extensions: ["pages"],
1406
+ source: "iana"
1407
+ },
1408
+ "application/vnd.aristanetworks.swi": {
1409
+ extensions: ["swi"],
1410
+ source: "iana"
1411
+ },
1412
+ "application/vnd.astraea-software.iota": {
1413
+ extensions: ["iota"],
1414
+ source: "iana"
1415
+ },
1416
+ "application/vnd.audiograph": {
1417
+ extensions: ["aep"],
1418
+ source: "iana"
1419
+ },
1420
+ "application/vnd.balsamiq.bmml+xml": {
1421
+ extensions: ["bmml"],
1422
+ source: "iana"
1423
+ },
1424
+ "application/vnd.blueice.multipass": {
1425
+ extensions: ["mpm"],
1426
+ source: "iana"
1427
+ },
1428
+ "application/vnd.bmi": {
1429
+ extensions: ["bmi"],
1430
+ source: "iana"
1431
+ },
1432
+ "application/vnd.businessobjects": {
1433
+ extensions: ["rep"],
1434
+ source: "iana"
1435
+ },
1436
+ "application/vnd.chemdraw+xml": {
1437
+ extensions: ["cdxml"],
1438
+ source: "iana"
1439
+ },
1440
+ "application/vnd.chipnuts.karaoke-mmd": {
1441
+ extensions: ["mmd"],
1442
+ source: "iana"
1443
+ },
1444
+ "application/vnd.cinderella": {
1445
+ extensions: ["cdy"],
1446
+ source: "iana"
1447
+ },
1448
+ "application/vnd.citationstyles.style+xml": {
1449
+ extensions: ["csl"],
1450
+ source: "iana"
1451
+ },
1452
+ "application/vnd.claymore": {
1453
+ extensions: ["cla"],
1454
+ source: "iana"
1455
+ },
1456
+ "application/vnd.cloanto.rp9": {
1457
+ extensions: ["rp9"],
1458
+ source: "iana"
1459
+ },
1460
+ "application/vnd.clonk.c4group": {
1461
+ extensions: [
1462
+ "c4g",
1463
+ "c4d",
1464
+ "c4f",
1465
+ "c4p",
1466
+ "c4u"
1467
+ ],
1468
+ source: "iana"
1469
+ },
1470
+ "application/vnd.cluetrust.cartomobile-config": {
1471
+ extensions: ["c11amc"],
1472
+ source: "iana"
1473
+ },
1474
+ "application/vnd.cluetrust.cartomobile-config-pkg": {
1475
+ extensions: ["c11amz"],
1476
+ source: "iana"
1477
+ },
1478
+ "application/vnd.commonspace": {
1479
+ extensions: ["csp"],
1480
+ source: "iana"
1481
+ },
1482
+ "application/vnd.contact.cmsg": {
1483
+ extensions: ["cdbcmsg"],
1484
+ source: "iana"
1485
+ },
1486
+ "application/vnd.cosmocaller": {
1487
+ extensions: ["cmc"],
1488
+ source: "iana"
1489
+ },
1490
+ "application/vnd.crick.clicker": {
1491
+ extensions: ["clkx"],
1492
+ source: "iana"
1493
+ },
1494
+ "application/vnd.crick.clicker.keyboard": {
1495
+ extensions: ["clkk"],
1496
+ source: "iana"
1497
+ },
1498
+ "application/vnd.crick.clicker.palette": {
1499
+ extensions: ["clkp"],
1500
+ source: "iana"
1501
+ },
1502
+ "application/vnd.crick.clicker.template": {
1503
+ extensions: ["clkt"],
1504
+ source: "iana"
1505
+ },
1506
+ "application/vnd.crick.clicker.wordbank": {
1507
+ extensions: ["clkw"],
1508
+ source: "iana"
1509
+ },
1510
+ "application/vnd.criticaltools.wbs+xml": {
1511
+ extensions: ["wbs"],
1512
+ source: "iana"
1513
+ },
1514
+ "application/vnd.ctc-posml": {
1515
+ extensions: ["pml"],
1516
+ source: "iana"
1517
+ },
1518
+ "application/vnd.cups-ppd": {
1519
+ extensions: ["ppd"],
1520
+ source: "iana"
1521
+ },
1522
+ "application/vnd.curl.car": {
1523
+ extensions: ["car"],
1524
+ source: "apache"
1525
+ },
1526
+ "application/vnd.curl.pcurl": {
1527
+ extensions: ["pcurl"],
1528
+ source: "apache"
1529
+ },
1530
+ "application/vnd.dart": {
1531
+ extensions: ["dart"],
1532
+ source: "iana"
1533
+ },
1534
+ "application/vnd.data-vision.rdz": {
1535
+ extensions: ["rdz"],
1536
+ source: "iana"
1537
+ },
1538
+ "application/vnd.dbf": {
1539
+ extensions: ["dbf"],
1540
+ source: "iana"
1541
+ },
1542
+ "application/vnd.dece.data": {
1543
+ extensions: [
1544
+ "uvf",
1545
+ "uvvf",
1546
+ "uvd",
1547
+ "uvvd"
1548
+ ],
1549
+ source: "iana"
1550
+ },
1551
+ "application/vnd.dece.ttml+xml": {
1552
+ extensions: ["uvt", "uvvt"],
1553
+ source: "iana"
1554
+ },
1555
+ "application/vnd.dece.unspecified": {
1556
+ extensions: ["uvx", "uvvx"],
1557
+ source: "iana"
1558
+ },
1559
+ "application/vnd.dece.zip": {
1560
+ extensions: ["uvz", "uvvz"],
1561
+ source: "iana"
1562
+ },
1563
+ "application/vnd.denovo.fcselayout-link": {
1564
+ extensions: ["fe_launch"],
1565
+ source: "iana"
1566
+ },
1567
+ "application/vnd.dna": {
1568
+ extensions: ["dna"],
1569
+ source: "iana"
1570
+ },
1571
+ "application/vnd.dolby.mlp": {
1572
+ extensions: ["mlp"],
1573
+ source: "apache"
1574
+ },
1575
+ "application/vnd.dpgraph": {
1576
+ extensions: ["dpg"],
1577
+ source: "iana"
1578
+ },
1579
+ "application/vnd.dreamfactory": {
1580
+ extensions: ["dfac"],
1581
+ source: "iana"
1582
+ },
1583
+ "application/vnd.ds-keypoint": {
1584
+ extensions: ["kpxx"],
1585
+ source: "apache"
1586
+ },
1587
+ "application/vnd.dvb.ait": {
1588
+ extensions: ["ait"],
1589
+ source: "iana"
1590
+ },
1591
+ "application/vnd.dvb.service": {
1592
+ extensions: ["svc"],
1593
+ source: "iana"
1594
+ },
1595
+ "application/vnd.dynageo": {
1596
+ extensions: ["geo"],
1597
+ source: "iana"
1598
+ },
1599
+ "application/vnd.ecowin.chart": {
1600
+ extensions: ["mag"],
1601
+ source: "iana"
1602
+ },
1603
+ "application/vnd.enliven": {
1604
+ extensions: ["nml"],
1605
+ source: "iana"
1606
+ },
1607
+ "application/vnd.epson.esf": {
1608
+ extensions: ["esf"],
1609
+ source: "iana"
1610
+ },
1611
+ "application/vnd.epson.msf": {
1612
+ extensions: ["msf"],
1613
+ source: "iana"
1614
+ },
1615
+ "application/vnd.epson.quickanime": {
1616
+ extensions: ["qam"],
1617
+ source: "iana"
1618
+ },
1619
+ "application/vnd.epson.salt": {
1620
+ extensions: ["slt"],
1621
+ source: "iana"
1622
+ },
1623
+ "application/vnd.epson.ssf": {
1624
+ extensions: ["ssf"],
1625
+ source: "iana"
1626
+ },
1627
+ "application/vnd.eszigno3+xml": {
1628
+ extensions: ["es3", "et3"],
1629
+ source: "iana"
1630
+ },
1631
+ "application/vnd.ezpix-album": {
1632
+ extensions: ["ez2"],
1633
+ source: "iana"
1634
+ },
1635
+ "application/vnd.ezpix-package": {
1636
+ extensions: ["ez3"],
1637
+ source: "iana"
1638
+ },
1639
+ "application/vnd.fdf": {
1640
+ extensions: ["fdf"],
1641
+ source: "iana"
1642
+ },
1643
+ "application/vnd.fdsn.mseed": {
1644
+ extensions: ["mseed"],
1645
+ source: "iana"
1646
+ },
1647
+ "application/vnd.fdsn.seed": {
1648
+ extensions: ["seed", "dataless"],
1649
+ source: "iana"
1650
+ },
1651
+ "application/vnd.flographit": {
1652
+ extensions: ["gph"],
1653
+ source: "iana"
1654
+ },
1655
+ "application/vnd.fluxtime.clip": {
1656
+ extensions: ["ftc"],
1657
+ source: "iana"
1658
+ },
1659
+ "application/vnd.framemaker": {
1660
+ extensions: [
1661
+ "fm",
1662
+ "frame",
1663
+ "maker",
1664
+ "book"
1665
+ ],
1666
+ source: "iana"
1667
+ },
1668
+ "application/vnd.frogans.fnc": {
1669
+ extensions: ["fnc"],
1670
+ source: "iana"
1671
+ },
1672
+ "application/vnd.frogans.ltf": {
1673
+ extensions: ["ltf"],
1674
+ source: "iana"
1675
+ },
1676
+ "application/vnd.fsc.weblaunch": {
1677
+ extensions: ["fsc"],
1678
+ source: "iana"
1679
+ },
1680
+ "application/vnd.fujitsu.oasys": {
1681
+ extensions: ["oas"],
1682
+ source: "iana"
1683
+ },
1684
+ "application/vnd.fujitsu.oasys2": {
1685
+ extensions: ["oa2"],
1686
+ source: "iana"
1687
+ },
1688
+ "application/vnd.fujitsu.oasys3": {
1689
+ extensions: ["oa3"],
1690
+ source: "iana"
1691
+ },
1692
+ "application/vnd.fujitsu.oasysgp": {
1693
+ extensions: ["fg5"],
1694
+ source: "iana"
1695
+ },
1696
+ "application/vnd.fujitsu.oasysprs": {
1697
+ extensions: ["bh2"],
1698
+ source: "iana"
1699
+ },
1700
+ "application/vnd.fujixerox.ddd": {
1701
+ extensions: ["ddd"],
1702
+ source: "iana"
1703
+ },
1704
+ "application/vnd.fujixerox.docuworks": {
1705
+ extensions: ["xdw"],
1706
+ source: "iana"
1707
+ },
1708
+ "application/vnd.fujixerox.docuworks.binder": {
1709
+ extensions: ["xbd"],
1710
+ source: "iana"
1711
+ },
1712
+ "application/vnd.fuzzysheet": {
1713
+ extensions: ["fzs"],
1714
+ source: "iana"
1715
+ },
1716
+ "application/vnd.genomatix.tuxedo": {
1717
+ extensions: ["txd"],
1718
+ source: "iana"
1719
+ },
1720
+ "application/vnd.geogebra.file": {
1721
+ extensions: ["ggb"],
1722
+ source: "iana"
1723
+ },
1724
+ "application/vnd.geogebra.tool": {
1725
+ extensions: ["ggt"],
1726
+ source: "iana"
1727
+ },
1728
+ "application/vnd.geometry-explorer": {
1729
+ extensions: ["gex", "gre"],
1730
+ source: "iana"
1731
+ },
1732
+ "application/vnd.geonext": {
1733
+ extensions: ["gxt"],
1734
+ source: "iana"
1735
+ },
1736
+ "application/vnd.geoplan": {
1737
+ extensions: ["g2w"],
1738
+ source: "iana"
1739
+ },
1740
+ "application/vnd.geospace": {
1741
+ extensions: ["g3w"],
1742
+ source: "iana"
1743
+ },
1744
+ "application/vnd.gmx": {
1745
+ extensions: ["gmx"],
1746
+ source: "iana"
1747
+ },
1748
+ "application/vnd.google-earth.kml+xml": {
1749
+ extensions: ["kml"],
1750
+ source: "iana"
1751
+ },
1752
+ "application/vnd.google-earth.kmz": {
1753
+ extensions: ["kmz"],
1754
+ source: "iana"
1755
+ },
1756
+ "application/vnd.grafeq": {
1757
+ extensions: ["gqf", "gqs"],
1758
+ source: "iana"
1759
+ },
1760
+ "application/vnd.groove-account": {
1761
+ extensions: ["gac"],
1762
+ source: "iana"
1763
+ },
1764
+ "application/vnd.groove-help": {
1765
+ extensions: ["ghf"],
1766
+ source: "iana"
1767
+ },
1768
+ "application/vnd.groove-identity-message": {
1769
+ extensions: ["gim"],
1770
+ source: "iana"
1771
+ },
1772
+ "application/vnd.groove-injector": {
1773
+ extensions: ["grv"],
1774
+ source: "iana"
1775
+ },
1776
+ "application/vnd.groove-tool-message": {
1777
+ extensions: ["gtm"],
1778
+ source: "iana"
1779
+ },
1780
+ "application/vnd.groove-tool-template": {
1781
+ extensions: ["tpl"],
1782
+ source: "iana"
1783
+ },
1784
+ "application/vnd.groove-vcard": {
1785
+ extensions: ["vcg"],
1786
+ source: "iana"
1787
+ },
1788
+ "application/vnd.hal+xml": {
1789
+ extensions: ["hal"],
1790
+ source: "iana"
1791
+ },
1792
+ "application/vnd.handheld-entertainment+xml": {
1793
+ extensions: ["zmm"],
1794
+ source: "iana"
1795
+ },
1796
+ "application/vnd.hbci": {
1797
+ extensions: ["hbci"],
1798
+ source: "iana"
1799
+ },
1800
+ "application/vnd.hhe.lesson-player": {
1801
+ extensions: ["les"],
1802
+ source: "iana"
1803
+ },
1804
+ "application/vnd.hp-hpgl": {
1805
+ extensions: ["hpgl"],
1806
+ source: "iana"
1807
+ },
1808
+ "application/vnd.hp-hpid": {
1809
+ extensions: ["hpid"],
1810
+ source: "iana"
1811
+ },
1812
+ "application/vnd.hp-hps": {
1813
+ extensions: ["hps"],
1814
+ source: "iana"
1815
+ },
1816
+ "application/vnd.hp-jlyt": {
1817
+ extensions: ["jlt"],
1818
+ source: "iana"
1819
+ },
1820
+ "application/vnd.hp-pcl": {
1821
+ extensions: ["pcl"],
1822
+ source: "iana"
1823
+ },
1824
+ "application/vnd.hp-pclxl": {
1825
+ extensions: ["pclxl"],
1826
+ source: "iana"
1827
+ },
1828
+ "application/vnd.hydrostatix.sof-data": {
1829
+ extensions: ["sfd-hdstx"],
1830
+ source: "iana"
1831
+ },
1832
+ "application/vnd.ibm.minipay": {
1833
+ extensions: ["mpy"],
1834
+ source: "iana"
1835
+ },
1836
+ "application/vnd.ibm.modcap": {
1837
+ extensions: [
1838
+ "afp",
1839
+ "listafp",
1840
+ "list3820"
1841
+ ],
1842
+ source: "iana"
1843
+ },
1844
+ "application/vnd.ibm.rights-management": {
1845
+ extensions: ["irm"],
1846
+ source: "iana"
1847
+ },
1848
+ "application/vnd.ibm.secure-container": {
1849
+ extensions: ["sc"],
1850
+ source: "iana"
1851
+ },
1852
+ "application/vnd.iccprofile": {
1853
+ extensions: ["icc", "icm"],
1854
+ source: "iana"
1855
+ },
1856
+ "application/vnd.igloader": {
1857
+ extensions: ["igl"],
1858
+ source: "iana"
1859
+ },
1860
+ "application/vnd.immervision-ivp": {
1861
+ extensions: ["ivp"],
1862
+ source: "iana"
1863
+ },
1864
+ "application/vnd.immervision-ivu": {
1865
+ extensions: ["ivu"],
1866
+ source: "iana"
1867
+ },
1868
+ "application/vnd.insors.igm": {
1869
+ extensions: ["igm"],
1870
+ source: "iana"
1871
+ },
1872
+ "application/vnd.intercon.formnet": {
1873
+ extensions: ["xpw", "xpx"],
1874
+ source: "iana"
1875
+ },
1876
+ "application/vnd.intergeo": {
1877
+ extensions: ["i2g"],
1878
+ source: "iana"
1879
+ },
1880
+ "application/vnd.intu.qbo": {
1881
+ extensions: ["qbo"],
1882
+ source: "iana"
1883
+ },
1884
+ "application/vnd.intu.qfx": {
1885
+ extensions: ["qfx"],
1886
+ source: "iana"
1887
+ },
1888
+ "application/vnd.ipunplugged.rcprofile": {
1889
+ extensions: ["rcprofile"],
1890
+ source: "iana"
1891
+ },
1892
+ "application/vnd.irepository.package+xml": {
1893
+ extensions: ["irp"],
1894
+ source: "iana"
1895
+ },
1896
+ "application/vnd.is-xpr": {
1897
+ extensions: ["xpr"],
1898
+ source: "iana"
1899
+ },
1900
+ "application/vnd.isac.fcs": {
1901
+ extensions: ["fcs"],
1902
+ source: "iana"
1903
+ },
1904
+ "application/vnd.jam": {
1905
+ extensions: ["jam"],
1906
+ source: "iana"
1907
+ },
1908
+ "application/vnd.jcp.javame.midlet-rms": {
1909
+ extensions: ["rms"],
1910
+ source: "iana"
1911
+ },
1912
+ "application/vnd.jisp": {
1913
+ extensions: ["jisp"],
1914
+ source: "iana"
1915
+ },
1916
+ "application/vnd.joost.joda-archive": {
1917
+ extensions: ["joda"],
1918
+ source: "iana"
1919
+ },
1920
+ "application/vnd.kahootz": {
1921
+ extensions: ["ktz", "ktr"],
1922
+ source: "iana"
1923
+ },
1924
+ "application/vnd.kde.karbon": {
1925
+ extensions: ["karbon"],
1926
+ source: "iana"
1927
+ },
1928
+ "application/vnd.kde.kchart": {
1929
+ extensions: ["chrt"],
1930
+ source: "iana"
1931
+ },
1932
+ "application/vnd.kde.kformula": {
1933
+ extensions: ["kfo"],
1934
+ source: "iana"
1935
+ },
1936
+ "application/vnd.kde.kivio": {
1937
+ extensions: ["flw"],
1938
+ source: "iana"
1939
+ },
1940
+ "application/vnd.kde.kontour": {
1941
+ extensions: ["kon"],
1942
+ source: "iana"
1943
+ },
1944
+ "application/vnd.kde.kpresenter": {
1945
+ extensions: ["kpr", "kpt"],
1946
+ source: "iana"
1947
+ },
1948
+ "application/vnd.kde.kspread": {
1949
+ extensions: ["ksp"],
1950
+ source: "iana"
1951
+ },
1952
+ "application/vnd.kde.kword": {
1953
+ extensions: ["kwd", "kwt"],
1954
+ source: "iana"
1955
+ },
1956
+ "application/vnd.kenameaapp": {
1957
+ extensions: ["htke"],
1958
+ source: "iana"
1959
+ },
1960
+ "application/vnd.kidspiration": {
1961
+ extensions: ["kia"],
1962
+ source: "iana"
1963
+ },
1964
+ "application/vnd.kinar": {
1965
+ extensions: ["kne", "knp"],
1966
+ source: "iana"
1967
+ },
1968
+ "application/vnd.koan": {
1969
+ extensions: [
1970
+ "skp",
1971
+ "skd",
1972
+ "skt",
1973
+ "skm"
1974
+ ],
1975
+ source: "iana"
1976
+ },
1977
+ "application/vnd.kodak-descriptor": {
1978
+ extensions: ["sse"],
1979
+ source: "iana"
1980
+ },
1981
+ "application/vnd.las.las+xml": {
1982
+ extensions: ["lasxml"],
1983
+ source: "iana"
1984
+ },
1985
+ "application/vnd.llamagraphics.life-balance.desktop": {
1986
+ extensions: ["lbd"],
1987
+ source: "iana"
1988
+ },
1989
+ "application/vnd.llamagraphics.life-balance.exchange+xml": {
1990
+ extensions: ["lbe"],
1991
+ source: "iana"
1992
+ },
1993
+ "application/vnd.lotus-1-2-3": {
1994
+ extensions: ["123"],
1995
+ source: "iana"
1996
+ },
1997
+ "application/vnd.lotus-approach": {
1998
+ extensions: ["apr"],
1999
+ source: "iana"
2000
+ },
2001
+ "application/vnd.lotus-freelance": {
2002
+ extensions: ["pre"],
2003
+ source: "iana"
2004
+ },
2005
+ "application/vnd.lotus-notes": {
2006
+ extensions: ["nsf"],
2007
+ source: "iana"
2008
+ },
2009
+ "application/vnd.lotus-organizer": {
2010
+ extensions: ["org"],
2011
+ source: "iana"
2012
+ },
2013
+ "application/vnd.lotus-screencam": {
2014
+ extensions: ["scm"],
2015
+ source: "iana"
2016
+ },
2017
+ "application/vnd.lotus-wordpro": {
2018
+ extensions: ["lwp"],
2019
+ source: "iana"
2020
+ },
2021
+ "application/vnd.macports.portpkg": {
2022
+ extensions: ["portpkg"],
2023
+ source: "iana"
2024
+ },
2025
+ "application/vnd.mapbox-vector-tile": {
2026
+ extensions: ["mvt"],
2027
+ source: "iana"
2028
+ },
2029
+ "application/vnd.mcd": {
2030
+ extensions: ["mcd"],
2031
+ source: "iana"
2032
+ },
2033
+ "application/vnd.medcalcdata": {
2034
+ extensions: ["mc1"],
2035
+ source: "iana"
2036
+ },
2037
+ "application/vnd.mediastation.cdkey": {
2038
+ extensions: ["cdkey"],
2039
+ source: "iana"
2040
+ },
2041
+ "application/vnd.mfer": {
2042
+ extensions: ["mwf"],
2043
+ source: "iana"
2044
+ },
2045
+ "application/vnd.mfmp": {
2046
+ extensions: ["mfm"],
2047
+ source: "iana"
2048
+ },
2049
+ "application/vnd.micrografx.flo": {
2050
+ extensions: ["flo"],
2051
+ source: "iana"
2052
+ },
2053
+ "application/vnd.micrografx.igx": {
2054
+ extensions: ["igx"],
2055
+ source: "iana"
2056
+ },
2057
+ "application/vnd.mif": {
2058
+ extensions: ["mif"],
2059
+ source: "iana"
2060
+ },
2061
+ "application/vnd.mobius.daf": {
2062
+ extensions: ["daf"],
2063
+ source: "iana"
2064
+ },
2065
+ "application/vnd.mobius.dis": {
2066
+ extensions: ["dis"],
2067
+ source: "iana"
2068
+ },
2069
+ "application/vnd.mobius.mbk": {
2070
+ extensions: ["mbk"],
2071
+ source: "iana"
2072
+ },
2073
+ "application/vnd.mobius.mqy": {
2074
+ extensions: ["mqy"],
2075
+ source: "iana"
2076
+ },
2077
+ "application/vnd.mobius.msl": {
2078
+ extensions: ["msl"],
2079
+ source: "iana"
2080
+ },
2081
+ "application/vnd.mobius.plc": {
2082
+ extensions: ["plc"],
2083
+ source: "iana"
2084
+ },
2085
+ "application/vnd.mobius.txf": {
2086
+ extensions: ["txf"],
2087
+ source: "iana"
2088
+ },
2089
+ "application/vnd.mophun.application": {
2090
+ extensions: ["mpn"],
2091
+ source: "iana"
2092
+ },
2093
+ "application/vnd.mophun.certificate": {
2094
+ extensions: ["mpc"],
2095
+ source: "iana"
2096
+ },
2097
+ "application/vnd.mozilla.xul+xml": {
2098
+ extensions: ["xul"],
2099
+ source: "iana"
2100
+ },
2101
+ "application/vnd.ms-artgalry": {
2102
+ extensions: ["cil"],
2103
+ source: "iana"
2104
+ },
2105
+ "application/vnd.ms-cab-compressed": {
2106
+ extensions: ["cab"],
2107
+ source: "iana"
2108
+ },
2109
+ "application/vnd.ms-excel": {
2110
+ extensions: [
2111
+ "xls",
2112
+ "xlm",
2113
+ "xla",
2114
+ "xlc",
2115
+ "xlt",
2116
+ "xlw"
2117
+ ],
2118
+ source: "iana"
2119
+ },
2120
+ "application/vnd.ms-excel.addin.macroenabled.12": {
2121
+ extensions: ["xlam"],
2122
+ source: "iana"
2123
+ },
2124
+ "application/vnd.ms-excel.sheet.binary.macroenabled.12": {
2125
+ extensions: ["xlsb"],
2126
+ source: "iana"
2127
+ },
2128
+ "application/vnd.ms-excel.sheet.macroenabled.12": {
2129
+ extensions: ["xlsm"],
2130
+ source: "iana"
2131
+ },
2132
+ "application/vnd.ms-excel.template.macroenabled.12": {
2133
+ extensions: ["xltm"],
2134
+ source: "iana"
2135
+ },
2136
+ "application/vnd.ms-fontobject": {
2137
+ extensions: ["eot"],
2138
+ source: "iana"
2139
+ },
2140
+ "application/vnd.ms-htmlhelp": {
2141
+ extensions: ["chm"],
2142
+ source: "iana"
2143
+ },
2144
+ "application/vnd.ms-ims": {
2145
+ extensions: ["ims"],
2146
+ source: "iana"
2147
+ },
2148
+ "application/vnd.ms-lrm": {
2149
+ extensions: ["lrm"],
2150
+ source: "iana"
2151
+ },
2152
+ "application/vnd.ms-officetheme": {
2153
+ extensions: ["thmx"],
2154
+ source: "iana"
2155
+ },
2156
+ "application/vnd.ms-pki.seccat": {
2157
+ extensions: ["cat"],
2158
+ source: "apache"
2159
+ },
2160
+ "application/vnd.ms-pki.stl": {
2161
+ extensions: ["stl"],
2162
+ source: "apache"
2163
+ },
2164
+ "application/vnd.ms-powerpoint": {
2165
+ extensions: [
2166
+ "ppt",
2167
+ "pps",
2168
+ "pot"
2169
+ ],
2170
+ source: "iana"
2171
+ },
2172
+ "application/vnd.ms-powerpoint.addin.macroenabled.12": {
2173
+ extensions: ["ppam"],
2174
+ source: "iana"
2175
+ },
2176
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12": {
2177
+ extensions: ["pptm"],
2178
+ source: "iana"
2179
+ },
2180
+ "application/vnd.ms-powerpoint.slide.macroenabled.12": {
2181
+ extensions: ["sldm"],
2182
+ source: "iana"
2183
+ },
2184
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
2185
+ extensions: ["ppsm"],
2186
+ source: "iana"
2187
+ },
2188
+ "application/vnd.ms-powerpoint.template.macroenabled.12": {
2189
+ extensions: ["potm"],
2190
+ source: "iana"
2191
+ },
2192
+ "application/vnd.ms-project": {
2193
+ extensions: ["mpp", "mpt"],
2194
+ source: "iana"
2195
+ },
2196
+ "application/vnd.ms-word.document.macroenabled.12": {
2197
+ extensions: ["docm"],
2198
+ source: "iana"
2199
+ },
2200
+ "application/vnd.ms-word.template.macroenabled.12": {
2201
+ extensions: ["dotm"],
2202
+ source: "iana"
2203
+ },
2204
+ "application/vnd.ms-works": {
2205
+ extensions: [
2206
+ "wps",
2207
+ "wks",
2208
+ "wcm",
2209
+ "wdb"
2210
+ ],
2211
+ source: "iana"
2212
+ },
2213
+ "application/vnd.ms-wpl": {
2214
+ extensions: ["wpl"],
2215
+ source: "iana"
2216
+ },
2217
+ "application/vnd.ms-xpsdocument": {
2218
+ extensions: ["xps"],
2219
+ source: "iana"
2220
+ },
2221
+ "application/vnd.mseq": {
2222
+ extensions: ["mseq"],
2223
+ source: "iana"
2224
+ },
2225
+ "application/vnd.musician": {
2226
+ extensions: ["mus"],
2227
+ source: "iana"
2228
+ },
2229
+ "application/vnd.muvee.style": {
2230
+ extensions: ["msty"],
2231
+ source: "iana"
2232
+ },
2233
+ "application/vnd.mynfc": {
2234
+ extensions: ["taglet"],
2235
+ source: "iana"
2236
+ },
2237
+ "application/vnd.neurolanguage.nlu": {
2238
+ extensions: ["nlu"],
2239
+ source: "iana"
2240
+ },
2241
+ "application/vnd.nitf": {
2242
+ extensions: ["ntf", "nitf"],
2243
+ source: "iana"
2244
+ },
2245
+ "application/vnd.noblenet-directory": {
2246
+ extensions: ["nnd"],
2247
+ source: "iana"
2248
+ },
2249
+ "application/vnd.noblenet-sealer": {
2250
+ extensions: ["nns"],
2251
+ source: "iana"
2252
+ },
2253
+ "application/vnd.noblenet-web": {
2254
+ extensions: ["nnw"],
2255
+ source: "iana"
2256
+ },
2257
+ "application/vnd.nokia.n-gage.ac+xml": {
2258
+ extensions: ["ac"],
2259
+ source: "iana"
2260
+ },
2261
+ "application/vnd.nokia.n-gage.data": {
2262
+ extensions: ["ngdat"],
2263
+ source: "iana"
2264
+ },
2265
+ "application/vnd.nokia.n-gage.symbian.install": {
2266
+ extensions: ["n-gage"],
2267
+ source: "iana"
2268
+ },
2269
+ "application/vnd.nokia.radio-preset": {
2270
+ extensions: ["rpst"],
2271
+ source: "iana"
2272
+ },
2273
+ "application/vnd.nokia.radio-presets": {
2274
+ extensions: ["rpss"],
2275
+ source: "iana"
2276
+ },
2277
+ "application/vnd.novadigm.edm": {
2278
+ extensions: ["edm"],
2279
+ source: "iana"
2280
+ },
2281
+ "application/vnd.novadigm.edx": {
2282
+ extensions: ["edx"],
2283
+ source: "iana"
2284
+ },
2285
+ "application/vnd.novadigm.ext": {
2286
+ extensions: ["ext"],
2287
+ source: "iana"
2288
+ },
2289
+ "application/vnd.oasis.opendocument.chart": {
2290
+ extensions: ["odc"],
2291
+ source: "iana"
2292
+ },
2293
+ "application/vnd.oasis.opendocument.chart-template": {
2294
+ extensions: ["otc"],
2295
+ source: "iana"
2296
+ },
2297
+ "application/vnd.oasis.opendocument.database": {
2298
+ extensions: ["odb"],
2299
+ source: "iana"
2300
+ },
2301
+ "application/vnd.oasis.opendocument.formula": {
2302
+ extensions: ["odf"],
2303
+ source: "iana"
2304
+ },
2305
+ "application/vnd.oasis.opendocument.formula-template": {
2306
+ extensions: ["odft"],
2307
+ source: "iana"
2308
+ },
2309
+ "application/vnd.oasis.opendocument.graphics": {
2310
+ extensions: ["odg"],
2311
+ source: "iana"
2312
+ },
2313
+ "application/vnd.oasis.opendocument.graphics-template": {
2314
+ extensions: ["otg"],
2315
+ source: "iana"
2316
+ },
2317
+ "application/vnd.oasis.opendocument.image": {
2318
+ extensions: ["odi"],
2319
+ source: "iana"
2320
+ },
2321
+ "application/vnd.oasis.opendocument.image-template": {
2322
+ extensions: ["oti"],
2323
+ source: "iana"
2324
+ },
2325
+ "application/vnd.oasis.opendocument.presentation": {
2326
+ extensions: ["odp"],
2327
+ source: "iana"
2328
+ },
2329
+ "application/vnd.oasis.opendocument.presentation-template": {
2330
+ extensions: ["otp"],
2331
+ source: "iana"
2332
+ },
2333
+ "application/vnd.oasis.opendocument.spreadsheet": {
2334
+ extensions: ["ods"],
2335
+ source: "iana"
2336
+ },
2337
+ "application/vnd.oasis.opendocument.spreadsheet-template": {
2338
+ extensions: ["ots"],
2339
+ source: "iana"
2340
+ },
2341
+ "application/vnd.oasis.opendocument.text": {
2342
+ extensions: ["odt"],
2343
+ source: "iana"
2344
+ },
2345
+ "application/vnd.oasis.opendocument.text-master": {
2346
+ extensions: ["odm"],
2347
+ source: "iana"
2348
+ },
2349
+ "application/vnd.oasis.opendocument.text-template": {
2350
+ extensions: ["ott"],
2351
+ source: "iana"
2352
+ },
2353
+ "application/vnd.oasis.opendocument.text-web": {
2354
+ extensions: ["oth"],
2355
+ source: "iana"
2356
+ },
2357
+ "application/vnd.olpc-sugar": {
2358
+ extensions: ["xo"],
2359
+ source: "iana"
2360
+ },
2361
+ "application/vnd.oma.dd2+xml": {
2362
+ extensions: ["dd2"],
2363
+ source: "iana"
2364
+ },
2365
+ "application/vnd.openblox.game+xml": {
2366
+ extensions: ["obgx"],
2367
+ source: "iana"
2368
+ },
2369
+ "application/vnd.openofficeorg.extension": {
2370
+ extensions: ["oxt"],
2371
+ source: "apache"
2372
+ },
2373
+ "application/vnd.openstreetmap.data+xml": {
2374
+ extensions: ["osm"],
2375
+ source: "iana"
2376
+ },
2377
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
2378
+ extensions: ["pptx"],
2379
+ source: "iana"
2380
+ },
2381
+ "application/vnd.openxmlformats-officedocument.presentationml.slide": {
2382
+ extensions: ["sldx"],
2383
+ source: "iana"
2384
+ },
2385
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow": {
2386
+ extensions: ["ppsx"],
2387
+ source: "iana"
2388
+ },
2389
+ "application/vnd.openxmlformats-officedocument.presentationml.template": {
2390
+ extensions: ["potx"],
2391
+ source: "iana"
2392
+ },
2393
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
2394
+ extensions: ["xlsx"],
2395
+ source: "iana"
2396
+ },
2397
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
2398
+ extensions: ["xltx"],
2399
+ source: "iana"
2400
+ },
2401
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
2402
+ extensions: ["docx"],
2403
+ source: "iana"
2404
+ },
2405
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template": {
2406
+ extensions: ["dotx"],
2407
+ source: "iana"
2408
+ },
2409
+ "application/vnd.osgeo.mapguide.package": {
2410
+ extensions: ["mgp"],
2411
+ source: "iana"
2412
+ },
2413
+ "application/vnd.osgi.dp": {
2414
+ extensions: ["dp"],
2415
+ source: "iana"
2416
+ },
2417
+ "application/vnd.osgi.subsystem": {
2418
+ extensions: ["esa"],
2419
+ source: "iana"
2420
+ },
2421
+ "application/vnd.palm": {
2422
+ extensions: [
2423
+ "pdb",
2424
+ "pqa",
2425
+ "oprc"
2426
+ ],
2427
+ source: "iana"
2428
+ },
2429
+ "application/vnd.pawaafile": {
2430
+ extensions: ["paw"],
2431
+ source: "iana"
2432
+ },
2433
+ "application/vnd.pg.format": {
2434
+ extensions: ["str"],
2435
+ source: "iana"
2436
+ },
2437
+ "application/vnd.pg.osasli": {
2438
+ extensions: ["ei6"],
2439
+ source: "iana"
2440
+ },
2441
+ "application/vnd.picsel": {
2442
+ extensions: ["efif"],
2443
+ source: "iana"
2444
+ },
2445
+ "application/vnd.pmi.widget": {
2446
+ extensions: ["wg"],
2447
+ source: "iana"
2448
+ },
2449
+ "application/vnd.pocketlearn": {
2450
+ extensions: ["plf"],
2451
+ source: "iana"
2452
+ },
2453
+ "application/vnd.powerbuilder6": {
2454
+ extensions: ["pbd"],
2455
+ source: "iana"
2456
+ },
2457
+ "application/vnd.previewsystems.box": {
2458
+ extensions: ["box"],
2459
+ source: "iana"
2460
+ },
2461
+ "application/vnd.proteus.magazine": {
2462
+ extensions: ["mgz"],
2463
+ source: "iana"
2464
+ },
2465
+ "application/vnd.publishare-delta-tree": {
2466
+ extensions: ["qps"],
2467
+ source: "iana"
2468
+ },
2469
+ "application/vnd.pvi.ptid1": {
2470
+ extensions: ["ptid"],
2471
+ source: "iana"
2472
+ },
2473
+ "application/vnd.quark.quarkxpress": {
2474
+ extensions: [
2475
+ "qxd",
2476
+ "qxt",
2477
+ "qwd",
2478
+ "qwt",
2479
+ "qxl",
2480
+ "qxb"
2481
+ ],
2482
+ source: "iana"
2483
+ },
2484
+ "application/vnd.rar": {
2485
+ extensions: ["rar"],
2486
+ source: "iana"
2487
+ },
2488
+ "application/vnd.realvnc.bed": {
2489
+ extensions: ["bed"],
2490
+ source: "iana"
2491
+ },
2492
+ "application/vnd.recordare.musicxml": {
2493
+ extensions: ["mxl"],
2494
+ source: "iana"
2495
+ },
2496
+ "application/vnd.recordare.musicxml+xml": {
2497
+ extensions: ["musicxml"],
2498
+ source: "iana"
2499
+ },
2500
+ "application/vnd.rig.cryptonote": {
2501
+ extensions: ["cryptonote"],
2502
+ source: "iana"
2503
+ },
2504
+ "application/vnd.rim.cod": {
2505
+ extensions: ["cod"],
2506
+ source: "apache"
2507
+ },
2508
+ "application/vnd.rn-realmedia": {
2509
+ extensions: ["rm"],
2510
+ source: "apache"
2511
+ },
2512
+ "application/vnd.rn-realmedia-vbr": {
2513
+ extensions: ["rmvb"],
2514
+ source: "apache"
2515
+ },
2516
+ "application/vnd.route66.link66+xml": {
2517
+ extensions: ["link66"],
2518
+ source: "iana"
2519
+ },
2520
+ "application/vnd.sailingtracker.track": {
2521
+ extensions: ["st"],
2522
+ source: "iana"
2523
+ },
2524
+ "application/vnd.seemail": {
2525
+ extensions: ["see"],
2526
+ source: "iana"
2527
+ },
2528
+ "application/vnd.sema": {
2529
+ extensions: ["sema"],
2530
+ source: "iana"
2531
+ },
2532
+ "application/vnd.semd": {
2533
+ extensions: ["semd"],
2534
+ source: "iana"
2535
+ },
2536
+ "application/vnd.semf": {
2537
+ extensions: ["semf"],
2538
+ source: "iana"
2539
+ },
2540
+ "application/vnd.shana.informed.formdata": {
2541
+ extensions: ["ifm"],
2542
+ source: "iana"
2543
+ },
2544
+ "application/vnd.shana.informed.formtemplate": {
2545
+ extensions: ["itp"],
2546
+ source: "iana"
2547
+ },
2548
+ "application/vnd.shana.informed.interchange": {
2549
+ extensions: ["iif"],
2550
+ source: "iana"
2551
+ },
2552
+ "application/vnd.shana.informed.package": {
2553
+ extensions: ["ipk"],
2554
+ source: "iana"
2555
+ },
2556
+ "application/vnd.simtech-mindmapper": {
2557
+ extensions: ["twd", "twds"],
2558
+ source: "iana"
2559
+ },
2560
+ "application/vnd.smaf": {
2561
+ extensions: ["mmf"],
2562
+ source: "iana"
2563
+ },
2564
+ "application/vnd.smart.teacher": {
2565
+ extensions: ["teacher"],
2566
+ source: "iana"
2567
+ },
2568
+ "application/vnd.software602.filler.form+xml": {
2569
+ extensions: ["fo"],
2570
+ source: "iana"
2571
+ },
2572
+ "application/vnd.solent.sdkm+xml": {
2573
+ extensions: ["sdkm", "sdkd"],
2574
+ source: "iana"
2575
+ },
2576
+ "application/vnd.spotfire.dxp": {
2577
+ extensions: ["dxp"],
2578
+ source: "iana"
2579
+ },
2580
+ "application/vnd.spotfire.sfs": {
2581
+ extensions: ["sfs"],
2582
+ source: "iana"
2583
+ },
2584
+ "application/vnd.stardivision.calc": {
2585
+ extensions: ["sdc"],
2586
+ source: "apache"
2587
+ },
2588
+ "application/vnd.stardivision.draw": {
2589
+ extensions: ["sda"],
2590
+ source: "apache"
2591
+ },
2592
+ "application/vnd.stardivision.impress": {
2593
+ extensions: ["sdd"],
2594
+ source: "apache"
2595
+ },
2596
+ "application/vnd.stardivision.math": {
2597
+ extensions: ["smf"],
2598
+ source: "apache"
2599
+ },
2600
+ "application/vnd.stardivision.writer": {
2601
+ extensions: ["sdw", "vor"],
2602
+ source: "apache"
2603
+ },
2604
+ "application/vnd.stardivision.writer-global": {
2605
+ extensions: ["sgl"],
2606
+ source: "apache"
2607
+ },
2608
+ "application/vnd.stepmania.package": {
2609
+ extensions: ["smzip"],
2610
+ source: "iana"
2611
+ },
2612
+ "application/vnd.stepmania.stepchart": {
2613
+ extensions: ["sm"],
2614
+ source: "iana"
2615
+ },
2616
+ "application/vnd.sun.wadl+xml": {
2617
+ extensions: ["wadl"],
2618
+ source: "iana"
2619
+ },
2620
+ "application/vnd.sun.xml.calc": {
2621
+ extensions: ["sxc"],
2622
+ source: "apache"
2623
+ },
2624
+ "application/vnd.sun.xml.calc.template": {
2625
+ extensions: ["stc"],
2626
+ source: "apache"
2627
+ },
2628
+ "application/vnd.sun.xml.draw": {
2629
+ extensions: ["sxd"],
2630
+ source: "apache"
2631
+ },
2632
+ "application/vnd.sun.xml.draw.template": {
2633
+ extensions: ["std"],
2634
+ source: "apache"
2635
+ },
2636
+ "application/vnd.sun.xml.impress": {
2637
+ extensions: ["sxi"],
2638
+ source: "apache"
2639
+ },
2640
+ "application/vnd.sun.xml.impress.template": {
2641
+ extensions: ["sti"],
2642
+ source: "apache"
2643
+ },
2644
+ "application/vnd.sun.xml.math": {
2645
+ extensions: ["sxm"],
2646
+ source: "apache"
2647
+ },
2648
+ "application/vnd.sun.xml.writer": {
2649
+ extensions: ["sxw"],
2650
+ source: "apache"
2651
+ },
2652
+ "application/vnd.sun.xml.writer.global": {
2653
+ extensions: ["sxg"],
2654
+ source: "apache"
2655
+ },
2656
+ "application/vnd.sun.xml.writer.template": {
2657
+ extensions: ["stw"],
2658
+ source: "apache"
2659
+ },
2660
+ "application/vnd.sus-calendar": {
2661
+ extensions: ["sus", "susp"],
2662
+ source: "iana"
2663
+ },
2664
+ "application/vnd.svd": {
2665
+ extensions: ["svd"],
2666
+ source: "iana"
2667
+ },
2668
+ "application/vnd.symbian.install": {
2669
+ extensions: ["sis", "sisx"],
2670
+ source: "apache"
2671
+ },
2672
+ "application/vnd.syncml+xml": {
2673
+ charset: "UTF-8",
2674
+ extensions: ["xsm"],
2675
+ source: "iana"
2676
+ },
2677
+ "application/vnd.syncml.dm+wbxml": {
2678
+ charset: "UTF-8",
2679
+ extensions: ["bdm"],
2680
+ source: "iana"
2681
+ },
2682
+ "application/vnd.syncml.dm+xml": {
2683
+ charset: "UTF-8",
2684
+ extensions: ["xdm"],
2685
+ source: "iana"
2686
+ },
2687
+ "application/vnd.syncml.dmddf+xml": {
2688
+ charset: "UTF-8",
2689
+ extensions: ["ddf"],
2690
+ source: "iana"
2691
+ },
2692
+ "application/vnd.tao.intent-module-archive": {
2693
+ extensions: ["tao"],
2694
+ source: "iana"
2695
+ },
2696
+ "application/vnd.tcpdump.pcap": {
2697
+ extensions: [
2698
+ "pcap",
2699
+ "cap",
2700
+ "dmp"
2701
+ ],
2702
+ source: "iana"
2703
+ },
2704
+ "application/vnd.tmobile-livetv": {
2705
+ extensions: ["tmo"],
2706
+ source: "iana"
2707
+ },
2708
+ "application/vnd.trid.tpt": {
2709
+ extensions: ["tpt"],
2710
+ source: "iana"
2711
+ },
2712
+ "application/vnd.triscape.mxs": {
2713
+ extensions: ["mxs"],
2714
+ source: "iana"
2715
+ },
2716
+ "application/vnd.trueapp": {
2717
+ extensions: ["tra"],
2718
+ source: "iana"
2719
+ },
2720
+ "application/vnd.ufdl": {
2721
+ extensions: ["ufd", "ufdl"],
2722
+ source: "iana"
2723
+ },
2724
+ "application/vnd.uiq.theme": {
2725
+ extensions: ["utz"],
2726
+ source: "iana"
2727
+ },
2728
+ "application/vnd.umajin": {
2729
+ extensions: ["umj"],
2730
+ source: "iana"
2731
+ },
2732
+ "application/vnd.unity": {
2733
+ extensions: ["unityweb"],
2734
+ source: "iana"
2735
+ },
2736
+ "application/vnd.uoml+xml": {
2737
+ extensions: ["uoml"],
2738
+ source: "iana"
2739
+ },
2740
+ "application/vnd.vcx": {
2741
+ extensions: ["vcx"],
2742
+ source: "iana"
2743
+ },
2744
+ "application/vnd.visio": {
2745
+ extensions: [
2746
+ "vsd",
2747
+ "vst",
2748
+ "vss",
2749
+ "vsw"
2750
+ ],
2751
+ source: "iana"
2752
+ },
2753
+ "application/vnd.visionary": {
2754
+ extensions: ["vis"],
2755
+ source: "iana"
2756
+ },
2757
+ "application/vnd.vsf": {
2758
+ extensions: ["vsf"],
2759
+ source: "iana"
2760
+ },
2761
+ "application/vnd.wap.wbxml": {
2762
+ charset: "UTF-8",
2763
+ extensions: ["wbxml"],
2764
+ source: "iana"
2765
+ },
2766
+ "application/vnd.wap.wmlc": {
2767
+ extensions: ["wmlc"],
2768
+ source: "iana"
2769
+ },
2770
+ "application/vnd.wap.wmlscriptc": {
2771
+ extensions: ["wmlsc"],
2772
+ source: "iana"
2773
+ },
2774
+ "application/vnd.webturbo": {
2775
+ extensions: ["wtb"],
2776
+ source: "iana"
2777
+ },
2778
+ "application/vnd.wolfram.player": {
2779
+ extensions: ["nbp"],
2780
+ source: "iana"
2781
+ },
2782
+ "application/vnd.wordperfect": {
2783
+ extensions: ["wpd"],
2784
+ source: "iana"
2785
+ },
2786
+ "application/vnd.wqd": {
2787
+ extensions: ["wqd"],
2788
+ source: "iana"
2789
+ },
2790
+ "application/vnd.wt.stf": {
2791
+ extensions: ["stf"],
2792
+ source: "iana"
2793
+ },
2794
+ "application/vnd.xara": {
2795
+ extensions: ["xar"],
2796
+ source: "iana"
2797
+ },
2798
+ "application/vnd.xfdl": {
2799
+ extensions: ["xfdl"],
2800
+ source: "iana"
2801
+ },
2802
+ "application/vnd.yamaha.hv-dic": {
2803
+ extensions: ["hvd"],
2804
+ source: "iana"
2805
+ },
2806
+ "application/vnd.yamaha.hv-script": {
2807
+ extensions: ["hvs"],
2808
+ source: "iana"
2809
+ },
2810
+ "application/vnd.yamaha.hv-voice": {
2811
+ extensions: ["hvp"],
2812
+ source: "iana"
2813
+ },
2814
+ "application/vnd.yamaha.openscoreformat": {
2815
+ extensions: ["osf"],
2816
+ source: "iana"
2817
+ },
2818
+ "application/vnd.yamaha.openscoreformat.osfpvg+xml": {
2819
+ extensions: ["osfpvg"],
2820
+ source: "iana"
2821
+ },
2822
+ "application/vnd.yamaha.smaf-audio": {
2823
+ extensions: ["saf"],
2824
+ source: "iana"
2825
+ },
2826
+ "application/vnd.yamaha.smaf-phrase": {
2827
+ extensions: ["spf"],
2828
+ source: "iana"
2829
+ },
2830
+ "application/vnd.yellowriver-custom-menu": {
2831
+ extensions: ["cmp"],
2832
+ source: "iana"
2833
+ },
2834
+ "application/vnd.zul": {
2835
+ extensions: ["zir", "zirz"],
2836
+ source: "iana"
2837
+ },
2838
+ "application/vnd.zzazz.deck+xml": {
2839
+ extensions: ["zaz"],
2840
+ source: "iana"
2841
+ },
2842
+ "application/voicexml+xml": {
2843
+ extensions: ["vxml"],
2844
+ source: "iana"
2845
+ },
2846
+ "application/wasm": {
2847
+ extensions: ["wasm"],
2848
+ source: "iana"
2849
+ },
2850
+ "application/watcherinfo+xml": {
2851
+ extensions: ["wif"],
2852
+ source: "iana"
2853
+ },
2854
+ "application/widget": {
2855
+ extensions: ["wgt"],
2856
+ source: "iana"
2857
+ },
2858
+ "application/winhlp": {
2859
+ extensions: ["hlp"],
2860
+ source: "apache"
2861
+ },
2862
+ "application/wsdl+xml": {
2863
+ extensions: ["wsdl"],
2864
+ source: "iana"
2865
+ },
2866
+ "application/wspolicy+xml": {
2867
+ extensions: ["wspolicy"],
2868
+ source: "iana"
2869
+ },
2870
+ "application/x-7z-compressed": {
2871
+ extensions: ["7z"],
2872
+ source: "apache"
2873
+ },
2874
+ "application/x-abiword": {
2875
+ extensions: ["abw"],
2876
+ source: "apache"
2877
+ },
2878
+ "application/x-ace-compressed": {
2879
+ extensions: ["ace"],
2880
+ source: "apache"
2881
+ },
2882
+ "application/x-apple-diskimage": {
2883
+ extensions: ["dmg"],
2884
+ source: "apache"
2885
+ },
2886
+ "application/x-authorware-bin": {
2887
+ extensions: [
2888
+ "aab",
2889
+ "x32",
2890
+ "u32",
2891
+ "vox"
2892
+ ],
2893
+ source: "apache"
2894
+ },
2895
+ "application/x-authorware-map": {
2896
+ extensions: ["aam"],
2897
+ source: "apache"
2898
+ },
2899
+ "application/x-authorware-seg": {
2900
+ extensions: ["aas"],
2901
+ source: "apache"
2902
+ },
2903
+ "application/x-bcpio": {
2904
+ extensions: ["bcpio"],
2905
+ source: "apache"
2906
+ },
2907
+ "application/x-bittorrent": {
2908
+ extensions: ["torrent"],
2909
+ source: "apache"
2910
+ },
2911
+ "application/x-blorb": {
2912
+ extensions: ["blb", "blorb"],
2913
+ source: "apache"
2914
+ },
2915
+ "application/x-bzip": {
2916
+ extensions: ["bz"],
2917
+ source: "apache"
2918
+ },
2919
+ "application/x-bzip2": {
2920
+ extensions: ["bz2", "boz"],
2921
+ source: "apache"
2922
+ },
2923
+ "application/x-cbr": {
2924
+ extensions: [
2925
+ "cbr",
2926
+ "cba",
2927
+ "cbt",
2928
+ "cbz",
2929
+ "cb7"
2930
+ ],
2931
+ source: "apache"
2932
+ },
2933
+ "application/x-cdlink": {
2934
+ extensions: ["vcd"],
2935
+ source: "apache"
2936
+ },
2937
+ "application/x-cfs-compressed": {
2938
+ extensions: ["cfs"],
2939
+ source: "apache"
2940
+ },
2941
+ "application/x-chat": {
2942
+ extensions: ["chat"],
2943
+ source: "apache"
2944
+ },
2945
+ "application/x-chess-pgn": {
2946
+ extensions: ["pgn"],
2947
+ source: "apache"
2948
+ },
2949
+ "application/x-cocoa": {
2950
+ extensions: ["cco"],
2951
+ source: "nginx"
2952
+ },
2953
+ "application/x-conference": {
2954
+ extensions: ["nsc"],
2955
+ source: "apache"
2956
+ },
2957
+ "application/x-cpio": {
2958
+ extensions: ["cpio"],
2959
+ source: "apache"
2960
+ },
2961
+ "application/x-csh": {
2962
+ extensions: ["csh"],
2963
+ source: "apache"
2964
+ },
2965
+ "application/x-debian-package": {
2966
+ extensions: ["deb", "udeb"],
2967
+ source: "apache"
2968
+ },
2969
+ "application/x-dgc-compressed": {
2970
+ extensions: ["dgc"],
2971
+ source: "apache"
2972
+ },
2973
+ "application/x-director": {
2974
+ extensions: [
2975
+ "dir",
2976
+ "dcr",
2977
+ "dxr",
2978
+ "cst",
2979
+ "cct",
2980
+ "cxt",
2981
+ "w3d",
2982
+ "fgd",
2983
+ "swa"
2984
+ ],
2985
+ source: "apache"
2986
+ },
2987
+ "application/x-doom": {
2988
+ extensions: ["wad"],
2989
+ source: "apache"
2990
+ },
2991
+ "application/x-dtbncx+xml": {
2992
+ extensions: ["ncx"],
2993
+ source: "apache"
2994
+ },
2995
+ "application/x-dtbook+xml": {
2996
+ extensions: ["dtb"],
2997
+ source: "apache"
2998
+ },
2999
+ "application/x-dtbresource+xml": {
3000
+ extensions: ["res"],
3001
+ source: "apache"
3002
+ },
3003
+ "application/x-dvi": {
3004
+ extensions: ["dvi"],
3005
+ source: "apache"
3006
+ },
3007
+ "application/x-envoy": {
3008
+ extensions: ["evy"],
3009
+ source: "apache"
3010
+ },
3011
+ "application/x-eva": {
3012
+ extensions: ["eva"],
3013
+ source: "apache"
3014
+ },
3015
+ "application/x-font-bdf": {
3016
+ extensions: ["bdf"],
3017
+ source: "apache"
3018
+ },
3019
+ "application/x-font-ghostscript": {
3020
+ extensions: ["gsf"],
3021
+ source: "apache"
3022
+ },
3023
+ "application/x-font-linux-psf": {
3024
+ extensions: ["psf"],
3025
+ source: "apache"
3026
+ },
3027
+ "application/x-font-pcf": {
3028
+ extensions: ["pcf"],
3029
+ source: "apache"
3030
+ },
3031
+ "application/x-font-snf": {
3032
+ extensions: ["snf"],
3033
+ source: "apache"
3034
+ },
3035
+ "application/x-font-type1": {
3036
+ extensions: [
3037
+ "pfa",
3038
+ "pfb",
3039
+ "pfm",
3040
+ "afm"
3041
+ ],
3042
+ source: "apache"
3043
+ },
3044
+ "application/x-freearc": {
3045
+ extensions: ["arc"],
3046
+ source: "apache"
3047
+ },
3048
+ "application/x-futuresplash": {
3049
+ extensions: ["spl"],
3050
+ source: "apache"
3051
+ },
3052
+ "application/x-gca-compressed": {
3053
+ extensions: ["gca"],
3054
+ source: "apache"
3055
+ },
3056
+ "application/x-glulx": {
3057
+ extensions: ["ulx"],
3058
+ source: "apache"
3059
+ },
3060
+ "application/x-gnumeric": {
3061
+ extensions: ["gnumeric"],
3062
+ source: "apache"
3063
+ },
3064
+ "application/x-gramps-xml": {
3065
+ extensions: ["gramps"],
3066
+ source: "apache"
3067
+ },
3068
+ "application/x-gtar": {
3069
+ extensions: ["gtar"],
3070
+ source: "apache"
3071
+ },
3072
+ "application/x-hdf": {
3073
+ extensions: ["hdf"],
3074
+ source: "apache"
3075
+ },
3076
+ "application/x-install-instructions": {
3077
+ extensions: ["install"],
3078
+ source: "apache"
3079
+ },
3080
+ "application/x-iso9660-image": {
3081
+ extensions: ["iso"],
3082
+ source: "apache"
3083
+ },
3084
+ "application/x-java-archive-diff": {
3085
+ extensions: ["jardiff"],
3086
+ source: "nginx"
3087
+ },
3088
+ "application/x-java-jnlp-file": {
3089
+ extensions: ["jnlp"],
3090
+ source: "apache"
3091
+ },
3092
+ "application/x-latex": {
3093
+ extensions: ["latex"],
3094
+ source: "apache"
3095
+ },
3096
+ "application/x-lzh-compressed": {
3097
+ extensions: ["lzh", "lha"],
3098
+ source: "apache"
3099
+ },
3100
+ "application/x-makeself": {
3101
+ extensions: ["run"],
3102
+ source: "nginx"
3103
+ },
3104
+ "application/x-mie": {
3105
+ extensions: ["mie"],
3106
+ source: "apache"
3107
+ },
3108
+ "application/x-mobipocket-ebook": {
3109
+ extensions: ["prc", "mobi"],
3110
+ source: "apache"
3111
+ },
3112
+ "application/x-ms-application": {
3113
+ extensions: ["application"],
3114
+ source: "apache"
3115
+ },
3116
+ "application/x-ms-shortcut": {
3117
+ extensions: ["lnk"],
3118
+ source: "apache"
3119
+ },
3120
+ "application/x-ms-wmd": {
3121
+ extensions: ["wmd"],
3122
+ source: "apache"
3123
+ },
3124
+ "application/x-ms-wmz": {
3125
+ extensions: ["wmz"],
3126
+ source: "apache"
3127
+ },
3128
+ "application/x-ms-xbap": {
3129
+ extensions: ["xbap"],
3130
+ source: "apache"
3131
+ },
3132
+ "application/x-msaccess": {
3133
+ extensions: ["mdb"],
3134
+ source: "apache"
3135
+ },
3136
+ "application/x-msbinder": {
3137
+ extensions: ["obd"],
3138
+ source: "apache"
3139
+ },
3140
+ "application/x-mscardfile": {
3141
+ extensions: ["crd"],
3142
+ source: "apache"
3143
+ },
3144
+ "application/x-msclip": {
3145
+ extensions: ["clp"],
3146
+ source: "apache"
3147
+ },
3148
+ "application/x-msdownload": {
3149
+ extensions: [
3150
+ "exe",
3151
+ "dll",
3152
+ "com",
3153
+ "bat",
3154
+ "msi"
3155
+ ],
3156
+ source: "apache"
3157
+ },
3158
+ "application/x-msmediaview": {
3159
+ extensions: [
3160
+ "mvb",
3161
+ "m13",
3162
+ "m14"
3163
+ ],
3164
+ source: "apache"
3165
+ },
3166
+ "application/x-msmetafile": {
3167
+ extensions: [
3168
+ "wmf",
3169
+ "wmz",
3170
+ "emf",
3171
+ "emz"
3172
+ ],
3173
+ source: "apache"
3174
+ },
3175
+ "application/x-msmoney": {
3176
+ extensions: ["mny"],
3177
+ source: "apache"
3178
+ },
3179
+ "application/x-mspublisher": {
3180
+ extensions: ["pub"],
3181
+ source: "apache"
3182
+ },
3183
+ "application/x-msschedule": {
3184
+ extensions: ["scd"],
3185
+ source: "apache"
3186
+ },
3187
+ "application/x-msterminal": {
3188
+ extensions: ["trm"],
3189
+ source: "apache"
3190
+ },
3191
+ "application/x-mswrite": {
3192
+ extensions: ["wri"],
3193
+ source: "apache"
3194
+ },
3195
+ "application/x-netcdf": {
3196
+ extensions: ["nc", "cdf"],
3197
+ source: "apache"
3198
+ },
3199
+ "application/x-nzb": {
3200
+ extensions: ["nzb"],
3201
+ source: "apache"
3202
+ },
3203
+ "application/x-perl": {
3204
+ extensions: ["pl", "pm"],
3205
+ source: "nginx"
3206
+ },
3207
+ "application/x-pilot": {
3208
+ extensions: ["prc", "pdb"],
3209
+ source: "nginx"
3210
+ },
3211
+ "application/x-pkcs7-certificates": {
3212
+ extensions: ["p7b", "spc"],
3213
+ source: "apache"
3214
+ },
3215
+ "application/x-pkcs7-certreqresp": {
3216
+ extensions: ["p7r"],
3217
+ source: "apache"
3218
+ },
3219
+ "application/x-pkcs12": {
3220
+ extensions: ["p12", "pfx"],
3221
+ source: "apache"
3222
+ },
3223
+ "application/x-rar-compressed": {
3224
+ extensions: ["rar"],
3225
+ source: "apache"
3226
+ },
3227
+ "application/x-redhat-package-manager": {
3228
+ extensions: ["rpm"],
3229
+ source: "nginx"
3230
+ },
3231
+ "application/x-research-info-systems": {
3232
+ extensions: ["ris"],
3233
+ source: "apache"
3234
+ },
3235
+ "application/x-sea": {
3236
+ extensions: ["sea"],
3237
+ source: "nginx"
3238
+ },
3239
+ "application/x-sh": {
3240
+ extensions: ["sh"],
3241
+ source: "apache"
3242
+ },
3243
+ "application/x-shar": {
3244
+ extensions: ["shar"],
3245
+ source: "apache"
3246
+ },
3247
+ "application/x-shockwave-flash": {
3248
+ extensions: ["swf"],
3249
+ source: "apache"
3250
+ },
3251
+ "application/x-silverlight-app": {
3252
+ extensions: ["xap"],
3253
+ source: "apache"
3254
+ },
3255
+ "application/x-sql": {
3256
+ extensions: ["sql"],
3257
+ source: "apache"
3258
+ },
3259
+ "application/x-stuffit": {
3260
+ extensions: ["sit"],
3261
+ source: "apache"
3262
+ },
3263
+ "application/x-stuffitx": {
3264
+ extensions: ["sitx"],
3265
+ source: "apache"
3266
+ },
3267
+ "application/x-subrip": {
3268
+ extensions: ["srt"],
3269
+ source: "apache"
3270
+ },
3271
+ "application/x-sv4cpio": {
3272
+ extensions: ["sv4cpio"],
3273
+ source: "apache"
3274
+ },
3275
+ "application/x-sv4crc": {
3276
+ extensions: ["sv4crc"],
3277
+ source: "apache"
3278
+ },
3279
+ "application/x-t3vm-image": {
3280
+ extensions: ["t3"],
3281
+ source: "apache"
3282
+ },
3283
+ "application/x-tads": {
3284
+ extensions: ["gam"],
3285
+ source: "apache"
3286
+ },
3287
+ "application/x-tar": {
3288
+ extensions: ["tar"],
3289
+ source: "apache"
3290
+ },
3291
+ "application/x-tcl": {
3292
+ extensions: ["tcl", "tk"],
3293
+ source: "apache"
3294
+ },
3295
+ "application/x-tex": {
3296
+ extensions: ["tex"],
3297
+ source: "apache"
3298
+ },
3299
+ "application/x-tex-tfm": {
3300
+ extensions: ["tfm"],
3301
+ source: "apache"
3302
+ },
3303
+ "application/x-texinfo": {
3304
+ extensions: ["texinfo", "texi"],
3305
+ source: "apache"
3306
+ },
3307
+ "application/x-tgif": {
3308
+ extensions: ["obj"],
3309
+ source: "apache"
3310
+ },
3311
+ "application/x-ustar": {
3312
+ extensions: ["ustar"],
3313
+ source: "apache"
3314
+ },
3315
+ "application/x-wais-source": {
3316
+ extensions: ["src"],
3317
+ source: "apache"
3318
+ },
3319
+ "application/x-x509-ca-cert": {
3320
+ extensions: [
3321
+ "der",
3322
+ "crt",
3323
+ "pem"
3324
+ ],
3325
+ source: "iana"
3326
+ },
3327
+ "application/x-xfig": {
3328
+ extensions: ["fig"],
3329
+ source: "apache"
3330
+ },
3331
+ "application/x-xliff+xml": {
3332
+ extensions: ["xlf"],
3333
+ source: "apache"
3334
+ },
3335
+ "application/x-xpinstall": {
3336
+ extensions: ["xpi"],
3337
+ source: "apache"
3338
+ },
3339
+ "application/x-xz": {
3340
+ extensions: ["xz"],
3341
+ source: "apache"
3342
+ },
3343
+ "application/x-zmachine": {
3344
+ extensions: [
3345
+ "z1",
3346
+ "z2",
3347
+ "z3",
3348
+ "z4",
3349
+ "z5",
3350
+ "z6",
3351
+ "z7",
3352
+ "z8"
3353
+ ],
3354
+ source: "apache"
3355
+ },
3356
+ "application/xaml+xml": {
3357
+ extensions: ["xaml"],
3358
+ source: "apache"
3359
+ },
3360
+ "application/xcap-att+xml": {
3361
+ extensions: ["xav"],
3362
+ source: "iana"
3363
+ },
3364
+ "application/xcap-caps+xml": {
3365
+ extensions: ["xca"],
3366
+ source: "iana"
3367
+ },
3368
+ "application/xcap-diff+xml": {
3369
+ extensions: ["xdf"],
3370
+ source: "iana"
3371
+ },
3372
+ "application/xcap-el+xml": {
3373
+ extensions: ["xel"],
3374
+ source: "iana"
3375
+ },
3376
+ "application/xcap-ns+xml": {
3377
+ extensions: ["xns"],
3378
+ source: "iana"
3379
+ },
3380
+ "application/xenc+xml": {
3381
+ extensions: ["xenc"],
3382
+ source: "iana"
3383
+ },
3384
+ "application/xhtml+xml": {
3385
+ extensions: ["xhtml", "xht"],
3386
+ source: "iana"
3387
+ },
3388
+ "application/xliff+xml": {
3389
+ extensions: ["xlf"],
3390
+ source: "iana"
3391
+ },
3392
+ "application/xml": {
3393
+ extensions: [
3394
+ "xml",
3395
+ "xsl",
3396
+ "xsd",
3397
+ "rng"
3398
+ ],
3399
+ source: "iana"
3400
+ },
3401
+ "application/xml-dtd": {
3402
+ extensions: ["dtd"],
3403
+ source: "iana"
3404
+ },
3405
+ "application/xop+xml": {
3406
+ extensions: ["xop"],
3407
+ source: "iana"
3408
+ },
3409
+ "application/xproc+xml": {
3410
+ extensions: ["xpl"],
3411
+ source: "apache"
3412
+ },
3413
+ "application/xslt+xml": {
3414
+ extensions: ["xsl", "xslt"],
3415
+ source: "iana"
3416
+ },
3417
+ "application/xspf+xml": {
3418
+ extensions: ["xspf"],
3419
+ source: "apache"
3420
+ },
3421
+ "application/xv+xml": {
3422
+ extensions: [
3423
+ "mxml",
3424
+ "xhvml",
3425
+ "xvml",
3426
+ "xvm"
3427
+ ],
3428
+ source: "iana"
3429
+ },
3430
+ "application/yaml": {
3431
+ extensions: ["yaml", "yml"],
3432
+ source: "iana"
3433
+ },
3434
+ "application/yang": {
3435
+ extensions: ["yang"],
3436
+ source: "iana"
3437
+ },
3438
+ "application/yin+xml": {
3439
+ extensions: ["yin"],
3440
+ source: "iana"
3441
+ },
3442
+ "application/zip": {
3443
+ extensions: ["zip"],
3444
+ source: "iana"
3445
+ }
3446
+ };
3447
+
3448
+ //#endregion
3449
+ //#region src/react/placeholder/internal/audio.ts
3450
+ const audio = {
3451
+ "audio/3gpp": {
3452
+ extensions: ["3gpp"],
3453
+ source: "iana"
3454
+ },
3455
+ "audio/adpcm": {
3456
+ extensions: ["adp"],
3457
+ source: "apache"
3458
+ },
3459
+ "audio/amr": {
3460
+ extensions: ["amr"],
3461
+ source: "iana"
3462
+ },
3463
+ "audio/basic": {
3464
+ extensions: ["au", "snd"],
3465
+ source: "iana"
3466
+ },
3467
+ "audio/midi": {
3468
+ extensions: [
3469
+ "mid",
3470
+ "midi",
3471
+ "kar",
3472
+ "rmi"
3473
+ ],
3474
+ source: "apache"
3475
+ },
3476
+ "audio/mobile-xmf": {
3477
+ extensions: ["mxmf"],
3478
+ source: "iana"
3479
+ },
3480
+ "audio/mp4": {
3481
+ extensions: ["m4a", "mp4a"],
3482
+ source: "iana"
3483
+ },
3484
+ "audio/mpeg": {
3485
+ extensions: [
3486
+ "mpga",
3487
+ "mp2",
3488
+ "mp2a",
3489
+ "mp3",
3490
+ "m2a",
3491
+ "m3a"
3492
+ ],
3493
+ source: "iana"
3494
+ },
3495
+ "audio/ogg": {
3496
+ extensions: [
3497
+ "oga",
3498
+ "ogg",
3499
+ "spx",
3500
+ "opus"
3501
+ ],
3502
+ source: "iana"
3503
+ },
3504
+ "audio/s3m": {
3505
+ extensions: ["s3m"],
3506
+ source: "apache"
3507
+ },
3508
+ "audio/silk": {
3509
+ extensions: ["sil"],
3510
+ source: "apache"
3511
+ },
3512
+ "audio/vnd.dece.audio": {
3513
+ extensions: ["uva", "uvva"],
3514
+ source: "iana"
3515
+ },
3516
+ "audio/vnd.digital-winds": {
3517
+ extensions: ["eol"],
3518
+ source: "iana"
3519
+ },
3520
+ "audio/vnd.dra": {
3521
+ extensions: ["dra"],
3522
+ source: "iana"
3523
+ },
3524
+ "audio/vnd.dts": {
3525
+ extensions: ["dts"],
3526
+ source: "iana"
3527
+ },
3528
+ "audio/vnd.dts.hd": {
3529
+ extensions: ["dtshd"],
3530
+ source: "iana"
3531
+ },
3532
+ "audio/vnd.lucent.voice": {
3533
+ extensions: ["lvp"],
3534
+ source: "iana"
3535
+ },
3536
+ "audio/vnd.ms-playready.media.pya": {
3537
+ extensions: ["pya"],
3538
+ source: "iana"
3539
+ },
3540
+ "audio/vnd.nuera.ecelp4800": {
3541
+ extensions: ["ecelp4800"],
3542
+ source: "iana"
3543
+ },
3544
+ "audio/vnd.nuera.ecelp7470": {
3545
+ extensions: ["ecelp7470"],
3546
+ source: "iana"
3547
+ },
3548
+ "audio/vnd.nuera.ecelp9600": {
3549
+ extensions: ["ecelp9600"],
3550
+ source: "iana"
3551
+ },
3552
+ "audio/vnd.rip": {
3553
+ extensions: ["rip"],
3554
+ source: "iana"
3555
+ },
3556
+ "audio/webm": {
3557
+ extensions: ["weba"],
3558
+ source: "apache"
3559
+ },
3560
+ "audio/x-aac": {
3561
+ extensions: ["aac"],
3562
+ source: "apache"
3563
+ },
3564
+ "audio/x-aiff": {
3565
+ extensions: [
3566
+ "aif",
3567
+ "aiff",
3568
+ "aifc"
3569
+ ],
3570
+ source: "apache"
3571
+ },
3572
+ "audio/x-caf": {
3573
+ extensions: ["caf"],
3574
+ source: "apache"
3575
+ },
3576
+ "audio/x-flac": {
3577
+ extensions: ["flac"],
3578
+ source: "apache"
3579
+ },
3580
+ "audio/x-gsm": {
3581
+ extensions: ["gsm"],
3582
+ source: "apache"
3583
+ },
3584
+ "audio/x-m4a": {
3585
+ extensions: ["m4a"],
3586
+ source: "nginx"
3587
+ },
3588
+ "audio/x-matroska": {
3589
+ extensions: ["mka"],
3590
+ source: "apache"
3591
+ },
3592
+ "audio/x-mpegurl": {
3593
+ extensions: ["m3u"],
3594
+ source: "apache"
3595
+ },
3596
+ "audio/x-ms-wax": {
3597
+ extensions: ["wax"],
3598
+ source: "apache"
3599
+ },
3600
+ "audio/x-ms-wma": {
3601
+ extensions: ["wma"],
3602
+ source: "apache"
3603
+ },
3604
+ "audio/x-pn-realaudio": {
3605
+ extensions: ["ram", "ra"],
3606
+ source: "apache"
3607
+ },
3608
+ "audio/x-pn-realaudio-plugin": {
3609
+ extensions: ["rmp"],
3610
+ source: "apache"
3611
+ },
3612
+ "audio/x-realaudio": {
3613
+ extensions: ["ra"],
3614
+ source: "nginx"
3615
+ },
3616
+ "audio/x-wav": {
3617
+ extensions: ["wav"],
3618
+ source: "apache"
3619
+ },
3620
+ "audio/xm": {
3621
+ extensions: ["xm"],
3622
+ source: "apache"
3623
+ }
3624
+ };
3625
+
3626
+ //#endregion
3627
+ //#region src/react/placeholder/internal/image.ts
3628
+ const image = {
3629
+ "image/aces": {
3630
+ extensions: ["exr"],
3631
+ source: "iana"
3632
+ },
3633
+ "image/avci": {
3634
+ extensions: ["avci"],
3635
+ source: "iana"
3636
+ },
3637
+ "image/avcs": {
3638
+ extensions: ["avcs"],
3639
+ source: "iana"
3640
+ },
3641
+ "image/avif": {
3642
+ extensions: ["avif"],
3643
+ source: "iana"
3644
+ },
3645
+ "image/bmp": {
3646
+ extensions: ["bmp"],
3647
+ source: "iana"
3648
+ },
3649
+ "image/cgm": {
3650
+ extensions: ["cgm"],
3651
+ source: "iana"
3652
+ },
3653
+ "image/dicom-rle": {
3654
+ extensions: ["drle"],
3655
+ source: "iana"
3656
+ },
3657
+ "image/emf": {
3658
+ extensions: ["emf"],
3659
+ source: "iana"
3660
+ },
3661
+ "image/fits": {
3662
+ extensions: ["fits"],
3663
+ source: "iana"
3664
+ },
3665
+ "image/g3fax": {
3666
+ extensions: ["g3"],
3667
+ source: "iana"
3668
+ },
3669
+ "image/gif": {
3670
+ extensions: ["gif"],
3671
+ source: "iana"
3672
+ },
3673
+ "image/heic": {
3674
+ extensions: ["heic"],
3675
+ source: "iana"
3676
+ },
3677
+ "image/heic-sequence": {
3678
+ extensions: ["heics"],
3679
+ source: "iana"
3680
+ },
3681
+ "image/heif": {
3682
+ extensions: ["heif"],
3683
+ source: "iana"
3684
+ },
3685
+ "image/heif-sequence": {
3686
+ extensions: ["heifs"],
3687
+ source: "iana"
3688
+ },
3689
+ "image/hej2k": {
3690
+ extensions: ["hej2"],
3691
+ source: "iana"
3692
+ },
3693
+ "image/hsj2": {
3694
+ extensions: ["hsj2"],
3695
+ source: "iana"
3696
+ },
3697
+ "image/ief": {
3698
+ extensions: ["ief"],
3699
+ source: "iana"
3700
+ },
3701
+ "image/jls": {
3702
+ extensions: ["jls"],
3703
+ source: "iana"
3704
+ },
3705
+ "image/jp2": {
3706
+ extensions: ["jp2", "jpg2"],
3707
+ source: "iana"
3708
+ },
3709
+ "image/jpeg": {
3710
+ extensions: [
3711
+ "jpeg",
3712
+ "jpg",
3713
+ "jpe",
3714
+ "jfif",
3715
+ "pjpeg",
3716
+ "pjp"
3717
+ ],
3718
+ source: "iana"
3719
+ },
3720
+ "image/jph": {
3721
+ extensions: ["jph"],
3722
+ source: "iana"
3723
+ },
3724
+ "image/jphc": {
3725
+ extensions: ["jhc"],
3726
+ source: "iana"
3727
+ },
3728
+ "image/jpm": {
3729
+ extensions: ["jpm"],
3730
+ source: "iana"
3731
+ },
3732
+ "image/jpx": {
3733
+ extensions: ["jpx", "jpf"],
3734
+ source: "iana"
3735
+ },
3736
+ "image/jxr": {
3737
+ extensions: ["jxr"],
3738
+ source: "iana"
3739
+ },
3740
+ "image/jxra": {
3741
+ extensions: ["jxra"],
3742
+ source: "iana"
3743
+ },
3744
+ "image/jxrs": {
3745
+ extensions: ["jxrs"],
3746
+ source: "iana"
3747
+ },
3748
+ "image/jxs": {
3749
+ extensions: ["jxs"],
3750
+ source: "iana"
3751
+ },
3752
+ "image/jxsc": {
3753
+ extensions: ["jxsc"],
3754
+ source: "iana"
3755
+ },
3756
+ "image/jxsi": {
3757
+ extensions: ["jxsi"],
3758
+ source: "iana"
3759
+ },
3760
+ "image/jxss": {
3761
+ extensions: ["jxss"],
3762
+ source: "iana"
3763
+ },
3764
+ "image/ktx": {
3765
+ extensions: ["ktx"],
3766
+ source: "iana"
3767
+ },
3768
+ "image/ktx2": {
3769
+ extensions: ["ktx2"],
3770
+ source: "iana"
3771
+ },
3772
+ "image/png": {
3773
+ extensions: ["png"],
3774
+ source: "iana"
3775
+ },
3776
+ "image/prs.btif": {
3777
+ extensions: ["btif"],
3778
+ source: "iana"
3779
+ },
3780
+ "image/prs.pti": {
3781
+ extensions: ["pti"],
3782
+ source: "iana"
3783
+ },
3784
+ "image/sgi": {
3785
+ extensions: ["sgi"],
3786
+ source: "apache"
3787
+ },
3788
+ "image/svg+xml": {
3789
+ extensions: ["svg", "svgz"],
3790
+ source: "iana"
3791
+ },
3792
+ "image/t38": {
3793
+ extensions: ["t38"],
3794
+ source: "iana"
3795
+ },
3796
+ "image/tiff": {
3797
+ extensions: ["tif", "tiff"],
3798
+ source: "iana"
3799
+ },
3800
+ "image/tiff-fx": {
3801
+ extensions: ["tfx"],
3802
+ source: "iana"
3803
+ },
3804
+ "image/vnd.adobe.photoshop": {
3805
+ extensions: ["psd"],
3806
+ source: "iana"
3807
+ },
3808
+ "image/vnd.airzip.accelerator.azv": {
3809
+ extensions: ["azv"],
3810
+ source: "iana"
3811
+ },
3812
+ "image/vnd.dece.graphic": {
3813
+ extensions: [
3814
+ "uvi",
3815
+ "uvvi",
3816
+ "uvg",
3817
+ "uvvg"
3818
+ ],
3819
+ source: "iana"
3820
+ },
3821
+ "image/vnd.djvu": {
3822
+ extensions: ["djvu", "djv"],
3823
+ source: "iana"
3824
+ },
3825
+ "image/vnd.dvb.subtitle": {
3826
+ extensions: ["sub"],
3827
+ source: "iana"
3828
+ },
3829
+ "image/vnd.dwg": {
3830
+ extensions: ["dwg"],
3831
+ source: "iana"
3832
+ },
3833
+ "image/vnd.dxf": {
3834
+ extensions: ["dxf"],
3835
+ source: "iana"
3836
+ },
3837
+ "image/vnd.fastbidsheet": {
3838
+ extensions: ["fbs"],
3839
+ source: "iana"
3840
+ },
3841
+ "image/vnd.fpx": {
3842
+ extensions: ["fpx"],
3843
+ source: "iana"
3844
+ },
3845
+ "image/vnd.fst": {
3846
+ extensions: ["fst"],
3847
+ source: "iana"
3848
+ },
3849
+ "image/vnd.fujixerox.edmics-mmr": {
3850
+ extensions: ["mmr"],
3851
+ source: "iana"
3852
+ },
3853
+ "image/vnd.fujixerox.edmics-rlc": {
3854
+ extensions: ["rlc"],
3855
+ source: "iana"
3856
+ },
3857
+ "image/vnd.microsoft.icon": {
3858
+ extensions: ["ico"],
3859
+ source: "iana"
3860
+ },
3861
+ "image/vnd.ms-modi": {
3862
+ extensions: ["mdi"],
3863
+ source: "iana"
3864
+ },
3865
+ "image/vnd.ms-photo": {
3866
+ extensions: ["wdp"],
3867
+ source: "apache"
3868
+ },
3869
+ "image/vnd.net-fpx": {
3870
+ extensions: ["npx"],
3871
+ source: "iana"
3872
+ },
3873
+ "image/vnd.pco.b16": {
3874
+ extensions: ["b16"],
3875
+ source: "iana"
3876
+ },
3877
+ "image/vnd.tencent.tap": {
3878
+ extensions: ["tap"],
3879
+ source: "iana"
3880
+ },
3881
+ "image/vnd.valve.source.texture": {
3882
+ extensions: ["vtf"],
3883
+ source: "iana"
3884
+ },
3885
+ "image/vnd.wap.wbmp": {
3886
+ extensions: ["wbmp"],
3887
+ source: "iana"
3888
+ },
3889
+ "image/vnd.xiff": {
3890
+ extensions: ["xif"],
3891
+ source: "iana"
3892
+ },
3893
+ "image/vnd.zbrush.pcx": {
3894
+ extensions: ["pcx"],
3895
+ source: "iana"
3896
+ },
3897
+ "image/webp": {
3898
+ extensions: ["webp"],
3899
+ source: "apache"
3900
+ },
3901
+ "image/wmf": {
3902
+ extensions: ["wmf"],
3903
+ source: "iana"
3904
+ },
3905
+ "image/x-3ds": {
3906
+ extensions: ["3ds"],
3907
+ source: "apache"
3908
+ },
3909
+ "image/x-cmu-raster": {
3910
+ extensions: ["ras"],
3911
+ source: "apache"
3912
+ },
3913
+ "image/x-cmx": {
3914
+ extensions: ["cmx"],
3915
+ source: "apache"
3916
+ },
3917
+ "image/x-freehand": {
3918
+ extensions: [
3919
+ "fh",
3920
+ "fhc",
3921
+ "fh4",
3922
+ "fh5",
3923
+ "fh7"
3924
+ ],
3925
+ source: "apache"
3926
+ },
3927
+ "image/x-icon": {
3928
+ extensions: ["ico"],
3929
+ source: "apache"
3930
+ },
3931
+ "image/x-jng": {
3932
+ extensions: ["jng"],
3933
+ source: "nginx"
3934
+ },
3935
+ "image/x-mrsid-image": {
3936
+ extensions: ["sid"],
3937
+ source: "apache"
3938
+ },
3939
+ "image/x-ms-bmp": {
3940
+ extensions: ["bmp"],
3941
+ source: "nginx"
3942
+ },
3943
+ "image/x-pcx": {
3944
+ extensions: ["pcx"],
3945
+ source: "apache"
3946
+ },
3947
+ "image/x-pict": {
3948
+ extensions: ["pic", "pct"],
3949
+ source: "apache"
3950
+ },
3951
+ "image/x-portable-anymap": {
3952
+ extensions: ["pnm"],
3953
+ source: "apache"
3954
+ },
3955
+ "image/x-portable-bitmap": {
3956
+ extensions: ["pbm"],
3957
+ source: "apache"
3958
+ },
3959
+ "image/x-portable-graymap": {
3960
+ extensions: ["pgm"],
3961
+ source: "apache"
3962
+ },
3963
+ "image/x-portable-pixmap": {
3964
+ extensions: ["ppm"],
3965
+ source: "apache"
3966
+ },
3967
+ "image/x-rgb": {
3968
+ extensions: ["rgb"],
3969
+ source: "apache"
3970
+ },
3971
+ "image/x-tga": {
3972
+ extensions: ["tga"],
3973
+ source: "apache"
3974
+ },
3975
+ "image/x-xbitmap": {
3976
+ extensions: ["xbm"],
3977
+ source: "apache"
3978
+ },
3979
+ "image/x-xpixmap": {
3980
+ extensions: ["xpm"],
3981
+ source: "apache"
3982
+ },
3983
+ "image/x-xwindowdump": {
3984
+ extensions: ["xwd"],
3985
+ source: "apache"
3986
+ }
3987
+ };
3988
+
3989
+ //#endregion
3990
+ //#region src/react/placeholder/internal/misc.ts
3991
+ /** Random types not worthy of their own file */
3992
+ const misc = {
3993
+ "chemical/x-cdx": {
3994
+ extensions: ["cdx"],
3995
+ source: "apache"
3996
+ },
3997
+ "chemical/x-cif": {
3998
+ extensions: ["cif"],
3999
+ source: "apache"
4000
+ },
4001
+ "chemical/x-cmdf": {
4002
+ extensions: ["cmdf"],
4003
+ source: "apache"
4004
+ },
4005
+ "chemical/x-cml": {
4006
+ extensions: ["cml"],
4007
+ source: "apache"
4008
+ },
4009
+ "chemical/x-csml": {
4010
+ extensions: ["csml"],
4011
+ source: "apache"
4012
+ },
4013
+ "chemical/x-xyz": {
4014
+ extensions: ["xyz"],
4015
+ source: "apache"
4016
+ },
4017
+ "font/collection": {
4018
+ extensions: ["ttc"],
4019
+ source: "iana"
4020
+ },
4021
+ "font/otf": {
4022
+ extensions: ["otf"],
4023
+ source: "iana"
4024
+ },
4025
+ "font/ttf": {
4026
+ extensions: ["ttf"],
4027
+ source: "iana"
4028
+ },
4029
+ "font/woff": {
4030
+ extensions: ["woff"],
4031
+ source: "iana"
4032
+ },
4033
+ "font/woff2": {
4034
+ extensions: ["woff2"],
4035
+ source: "iana"
4036
+ },
4037
+ "message/disposition-notification": {
4038
+ extensions: ["disposition-notification"],
4039
+ source: "iana"
4040
+ },
4041
+ "message/global": {
4042
+ extensions: ["u8msg"],
4043
+ source: "iana"
4044
+ },
4045
+ "message/global-delivery-status": {
4046
+ extensions: ["u8dsn"],
4047
+ source: "iana"
4048
+ },
4049
+ "message/global-disposition-notification": {
4050
+ extensions: ["u8mdn"],
4051
+ source: "iana"
4052
+ },
4053
+ "message/global-headers": {
4054
+ extensions: ["u8hdr"],
4055
+ source: "iana"
4056
+ },
4057
+ "message/rfc822": {
4058
+ extensions: ["eml", "mime"],
4059
+ source: "iana"
4060
+ },
4061
+ "message/vnd.wfa.wsc": {
4062
+ extensions: ["wsc"],
4063
+ source: "iana"
4064
+ },
4065
+ "model/3mf": {
4066
+ extensions: ["3mf"],
4067
+ source: "iana"
4068
+ },
4069
+ "model/gltf+json": {
4070
+ extensions: ["gltf"],
4071
+ source: "iana"
4072
+ },
4073
+ "model/gltf-binary": {
4074
+ extensions: ["glb"],
4075
+ source: "iana"
4076
+ },
4077
+ "model/iges": {
4078
+ extensions: ["igs", "iges"],
4079
+ source: "iana"
4080
+ },
4081
+ "model/mesh": {
4082
+ extensions: [
4083
+ "msh",
4084
+ "mesh",
4085
+ "silo"
4086
+ ],
4087
+ source: "iana"
4088
+ },
4089
+ "model/mtl": {
4090
+ extensions: ["mtl"],
4091
+ source: "iana"
4092
+ },
4093
+ "model/obj": {
4094
+ extensions: ["obj"],
4095
+ source: "iana"
4096
+ },
4097
+ "model/step": {
4098
+ extensions: [
4099
+ ".p21",
4100
+ ".stp",
4101
+ ".step",
4102
+ ".stpnc",
4103
+ ".210"
4104
+ ],
4105
+ source: "iana"
4106
+ },
4107
+ "model/step+xml": {
4108
+ extensions: ["stpx"],
4109
+ source: "iana"
4110
+ },
4111
+ "model/step+zip": {
4112
+ extensions: ["stpz"],
4113
+ source: "iana"
4114
+ },
4115
+ "model/step-xml+zip": {
4116
+ extensions: ["stpxz"],
4117
+ source: "iana"
4118
+ },
4119
+ "model/stl": {
4120
+ extensions: ["stl"],
4121
+ source: "iana"
4122
+ },
4123
+ "model/vnd.collada+xml": {
4124
+ extensions: ["dae"],
4125
+ source: "iana"
4126
+ },
4127
+ "model/vnd.dwf": {
4128
+ extensions: ["dwf"],
4129
+ source: "iana"
4130
+ },
4131
+ "model/vnd.gdl": {
4132
+ extensions: ["gdl"],
4133
+ source: "iana"
4134
+ },
4135
+ "model/vnd.gtw": {
4136
+ extensions: ["gtw"],
4137
+ source: "iana"
4138
+ },
4139
+ "model/vnd.mts": {
4140
+ extensions: ["mts"],
4141
+ source: "iana"
4142
+ },
4143
+ "model/vnd.opengex": {
4144
+ extensions: ["ogex"],
4145
+ source: "iana"
4146
+ },
4147
+ "model/vnd.parasolid.transmit.binary": {
4148
+ extensions: ["x_b"],
4149
+ source: "iana"
4150
+ },
4151
+ "model/vnd.parasolid.transmit.text": {
4152
+ extensions: ["x_t"],
4153
+ source: "iana"
4154
+ },
4155
+ "model/vnd.sap.vds": {
4156
+ extensions: ["vds"],
4157
+ source: "iana"
4158
+ },
4159
+ "model/vnd.usdz+zip": {
4160
+ extensions: ["usdz"],
4161
+ source: "iana"
4162
+ },
4163
+ "model/vnd.valve.source.compiled-map": {
4164
+ extensions: ["bsp"],
4165
+ source: "iana"
4166
+ },
4167
+ "model/vnd.vtu": {
4168
+ extensions: ["vtu"],
4169
+ source: "iana"
4170
+ },
4171
+ "model/vrml": {
4172
+ extensions: ["wrl", "vrml"],
4173
+ source: "iana"
4174
+ },
4175
+ "model/x3d+binary": {
4176
+ extensions: ["x3db", "x3dbz"],
4177
+ source: "apache"
4178
+ },
4179
+ "model/x3d+fastinfoset": {
4180
+ extensions: ["x3db"],
4181
+ source: "iana"
4182
+ },
4183
+ "model/x3d+vrml": {
4184
+ extensions: ["x3dv", "x3dvz"],
4185
+ source: "apache"
4186
+ },
4187
+ "model/x3d+xml": {
4188
+ extensions: ["x3d", "x3dz"],
4189
+ source: "iana"
4190
+ },
4191
+ "model/x3d-vrml": {
4192
+ extensions: ["x3dv"],
4193
+ source: "iana"
4194
+ },
4195
+ "x-conference/x-cooltalk": {
4196
+ extensions: ["ice"],
4197
+ source: "apache"
4198
+ }
4199
+ };
4200
+
4201
+ //#endregion
4202
+ //#region src/react/placeholder/internal/video.ts
4203
+ const video = {
4204
+ "video/3gpp": {
4205
+ extensions: ["3gp", "3gpp"],
4206
+ source: "iana"
4207
+ },
4208
+ "video/3gpp2": {
4209
+ extensions: ["3g2"],
4210
+ source: "iana"
4211
+ },
4212
+ "video/h261": {
4213
+ extensions: ["h261"],
4214
+ source: "iana"
4215
+ },
4216
+ "video/h263": {
4217
+ extensions: ["h263"],
4218
+ source: "iana"
4219
+ },
4220
+ "video/h264": {
4221
+ extensions: ["h264"],
4222
+ source: "iana"
4223
+ },
4224
+ "video/iso.segment": {
4225
+ extensions: ["m4s"],
4226
+ source: "iana"
4227
+ },
4228
+ "video/jpeg": {
4229
+ extensions: ["jpgv"],
4230
+ source: "iana"
4231
+ },
4232
+ "video/jpm": {
4233
+ extensions: ["jpm", "jpgm"],
4234
+ source: "apache"
4235
+ },
4236
+ "video/mj2": {
4237
+ extensions: ["mj2", "mjp2"],
4238
+ source: "iana"
4239
+ },
4240
+ "video/mp2t": {
4241
+ extensions: ["ts"],
4242
+ source: "iana"
4243
+ },
4244
+ "video/mp4": {
4245
+ extensions: [
4246
+ "mp4",
4247
+ "mp4v",
4248
+ "mpg4"
4249
+ ],
4250
+ source: "iana"
4251
+ },
4252
+ "video/mpeg": {
4253
+ extensions: [
4254
+ "mpeg",
4255
+ "mpg",
4256
+ "mpe",
4257
+ "m1v",
4258
+ "m2v"
4259
+ ],
4260
+ source: "iana"
4261
+ },
4262
+ "video/ogg": {
4263
+ extensions: ["ogv"],
4264
+ source: "iana"
4265
+ },
4266
+ "video/quicktime": {
4267
+ extensions: ["qt", "mov"],
4268
+ source: "iana"
4269
+ },
4270
+ "video/vnd.dece.hd": {
4271
+ extensions: ["uvh", "uvvh"],
4272
+ source: "iana"
4273
+ },
4274
+ "video/vnd.dece.mobile": {
4275
+ extensions: ["uvm", "uvvm"],
4276
+ source: "iana"
4277
+ },
4278
+ "video/vnd.dece.pd": {
4279
+ extensions: ["uvp", "uvvp"],
4280
+ source: "iana"
4281
+ },
4282
+ "video/vnd.dece.sd": {
4283
+ extensions: ["uvs", "uvvs"],
4284
+ source: "iana"
4285
+ },
4286
+ "video/vnd.dece.video": {
4287
+ extensions: ["uvv", "uvvv"],
4288
+ source: "iana"
4289
+ },
4290
+ "video/vnd.dvb.file": {
4291
+ extensions: ["dvb"],
4292
+ source: "iana"
4293
+ },
4294
+ "video/vnd.fvt": {
4295
+ extensions: ["fvt"],
4296
+ source: "iana"
4297
+ },
4298
+ "video/vnd.mpegurl": {
4299
+ extensions: ["mxu", "m4u"],
4300
+ source: "iana"
4301
+ },
4302
+ "video/vnd.ms-playready.media.pyv": {
4303
+ extensions: ["pyv"],
4304
+ source: "iana"
4305
+ },
4306
+ "video/vnd.uvvu.mp4": {
4307
+ extensions: ["uvu", "uvvu"],
4308
+ source: "iana"
4309
+ },
4310
+ "video/vnd.vivo": {
4311
+ extensions: ["viv"],
4312
+ source: "iana"
4313
+ },
4314
+ "video/webm": {
4315
+ extensions: ["webm"],
4316
+ source: "apache"
4317
+ },
4318
+ "video/x-f4v": {
4319
+ extensions: ["f4v"],
4320
+ source: "apache"
4321
+ },
4322
+ "video/x-fli": {
4323
+ extensions: ["fli"],
4324
+ source: "apache"
4325
+ },
4326
+ "video/x-flv": {
4327
+ extensions: ["flv"],
4328
+ source: "apache"
4329
+ },
4330
+ "video/x-m4v": {
4331
+ extensions: ["m4v"],
4332
+ source: "apache"
4333
+ },
4334
+ "video/x-matroska": {
4335
+ extensions: [
4336
+ "mkv",
4337
+ "mk3d",
4338
+ "mks"
4339
+ ],
4340
+ source: "apache"
4341
+ },
4342
+ "video/x-mng": {
4343
+ extensions: ["mng"],
4344
+ source: "apache"
4345
+ },
4346
+ "video/x-ms-asf": {
4347
+ extensions: ["asf", "asx"],
4348
+ source: "apache"
4349
+ },
4350
+ "video/x-ms-vob": {
4351
+ extensions: ["vob"],
4352
+ source: "apache"
4353
+ },
4354
+ "video/x-ms-wm": {
4355
+ extensions: ["wm"],
4356
+ source: "apache"
4357
+ },
4358
+ "video/x-ms-wmv": {
4359
+ extensions: ["wmv"],
4360
+ source: "apache"
4361
+ },
4362
+ "video/x-ms-wmx": {
4363
+ extensions: ["wmx"],
4364
+ source: "apache"
4365
+ },
4366
+ "video/x-ms-wvx": {
4367
+ extensions: ["wvx"],
4368
+ source: "apache"
4369
+ },
4370
+ "video/x-msvideo": {
4371
+ extensions: ["avi"],
4372
+ source: "apache"
4373
+ },
4374
+ "video/x-sgi-movie": {
4375
+ extensions: ["movie"],
4376
+ source: "apache"
4377
+ },
4378
+ "video/x-smv": {
4379
+ extensions: ["smv"],
4380
+ source: "apache"
4381
+ }
4382
+ };
4383
+
4384
+ //#endregion
4385
+ //#region src/react/placeholder/internal/text.ts
4386
+ const text = {
4387
+ "text/cache-manifest": {
4388
+ extensions: ["appcache", "manifest"],
4389
+ source: "iana"
4390
+ },
4391
+ "text/calendar": {
4392
+ extensions: ["ics", "ifb"],
4393
+ source: "iana"
4394
+ },
4395
+ "text/css": {
4396
+ charset: "UTF-8",
4397
+ extensions: ["css"],
4398
+ source: "iana"
4399
+ },
4400
+ "text/csv": {
4401
+ extensions: ["csv"],
4402
+ source: "iana"
4403
+ },
4404
+ "text/html": {
4405
+ extensions: [
4406
+ "html",
4407
+ "htm",
4408
+ "shtml"
4409
+ ],
4410
+ source: "iana"
4411
+ },
4412
+ "text/markdown": {
4413
+ extensions: ["markdown", "md"],
4414
+ source: "iana"
4415
+ },
4416
+ "text/mathml": {
4417
+ extensions: ["mml"],
4418
+ source: "nginx"
4419
+ },
4420
+ "text/n3": {
4421
+ charset: "UTF-8",
4422
+ extensions: ["n3"],
4423
+ source: "iana"
4424
+ },
4425
+ "text/plain": {
4426
+ extensions: [
4427
+ "txt",
4428
+ "text",
4429
+ "conf",
4430
+ "def",
4431
+ "list",
4432
+ "log",
4433
+ "in",
4434
+ "ini"
4435
+ ],
4436
+ source: "iana"
4437
+ },
4438
+ "text/prs.lines.tag": {
4439
+ extensions: ["dsc"],
4440
+ source: "iana"
4441
+ },
4442
+ "text/richtext": {
4443
+ extensions: ["rtx"],
4444
+ source: "iana"
4445
+ },
4446
+ "text/rtf": {
4447
+ extensions: ["rtf"],
4448
+ source: "iana"
4449
+ },
4450
+ "text/sgml": {
4451
+ extensions: ["sgml", "sgm"],
4452
+ source: "iana"
4453
+ },
4454
+ "text/shex": {
4455
+ extensions: ["shex"],
4456
+ source: "iana"
4457
+ },
4458
+ "text/spdx": {
4459
+ extensions: ["spdx"],
4460
+ source: "iana"
4461
+ },
4462
+ "text/tab-separated-values": {
4463
+ extensions: ["tsv"],
4464
+ source: "iana"
4465
+ },
4466
+ "text/troff": {
4467
+ extensions: [
4468
+ "t",
4469
+ "tr",
4470
+ "roff",
4471
+ "man",
4472
+ "me",
4473
+ "ms"
4474
+ ],
4475
+ source: "iana"
4476
+ },
4477
+ "text/turtle": {
4478
+ charset: "UTF-8",
4479
+ extensions: ["ttl"],
4480
+ source: "iana"
4481
+ },
4482
+ "text/uri-list": {
4483
+ extensions: [
4484
+ "uri",
4485
+ "uris",
4486
+ "urls"
4487
+ ],
4488
+ source: "iana"
4489
+ },
4490
+ "text/vcard": {
4491
+ extensions: ["vcard"],
4492
+ source: "iana"
4493
+ },
4494
+ "text/vnd.curl": {
4495
+ extensions: ["curl"],
4496
+ source: "iana"
4497
+ },
4498
+ "text/vnd.curl.dcurl": {
4499
+ extensions: ["dcurl"],
4500
+ source: "apache"
4501
+ },
4502
+ "text/vnd.curl.mcurl": {
4503
+ extensions: ["mcurl"],
4504
+ source: "apache"
4505
+ },
4506
+ "text/vnd.curl.scurl": {
4507
+ extensions: ["scurl"],
4508
+ source: "apache"
4509
+ },
4510
+ "text/vnd.dvb.subtitle": {
4511
+ extensions: ["sub"],
4512
+ source: "iana"
4513
+ },
4514
+ "text/vnd.familysearch.gedcom": {
4515
+ extensions: ["ged"],
4516
+ source: "iana"
4517
+ },
4518
+ "text/vnd.fly": {
4519
+ extensions: ["fly"],
4520
+ source: "iana"
4521
+ },
4522
+ "text/vnd.fmi.flexstor": {
4523
+ extensions: ["flx"],
4524
+ source: "iana"
4525
+ },
4526
+ "text/vnd.graphviz": {
4527
+ extensions: ["gv"],
4528
+ source: "iana"
4529
+ },
4530
+ "text/vnd.in3d.3dml": {
4531
+ extensions: ["3dml"],
4532
+ source: "iana"
4533
+ },
4534
+ "text/vnd.in3d.spot": {
4535
+ extensions: ["spot"],
4536
+ source: "iana"
4537
+ },
4538
+ "text/vnd.sun.j2me.app-descriptor": {
4539
+ charset: "UTF-8",
4540
+ extensions: ["jad"],
4541
+ source: "iana"
4542
+ },
4543
+ "text/vnd.wap.wml": {
4544
+ extensions: ["wml"],
4545
+ source: "iana"
4546
+ },
4547
+ "text/vnd.wap.wmlscript": {
4548
+ extensions: ["wmls"],
4549
+ source: "iana"
4550
+ },
4551
+ "text/vtt": {
4552
+ charset: "UTF-8",
4553
+ extensions: ["vtt"],
4554
+ source: "iana"
4555
+ },
4556
+ "text/x-asm": {
4557
+ extensions: ["s", "asm"],
4558
+ source: "apache"
4559
+ },
4560
+ "text/x-c": {
4561
+ extensions: [
4562
+ "c",
4563
+ "cc",
4564
+ "cxx",
4565
+ "cpp",
4566
+ "h",
4567
+ "hh",
4568
+ "dic"
4569
+ ],
4570
+ source: "apache"
4571
+ },
4572
+ "text/x-component": {
4573
+ extensions: ["htc"],
4574
+ source: "nginx"
4575
+ },
4576
+ "text/x-fortran": {
4577
+ extensions: [
4578
+ "f",
4579
+ "for",
4580
+ "f77",
4581
+ "f90"
4582
+ ],
4583
+ source: "apache"
4584
+ },
4585
+ "text/x-java-source": {
4586
+ extensions: ["java"],
4587
+ source: "apache"
4588
+ },
4589
+ "text/x-nfo": {
4590
+ extensions: ["nfo"],
4591
+ source: "apache"
4592
+ },
4593
+ "text/x-opml": {
4594
+ extensions: ["opml"],
4595
+ source: "apache"
4596
+ },
4597
+ "text/x-pascal": {
4598
+ extensions: ["p", "pas"],
4599
+ source: "apache"
4600
+ },
4601
+ "text/x-setext": {
4602
+ extensions: ["etx"],
4603
+ source: "apache"
4604
+ },
4605
+ "text/x-sfv": {
4606
+ extensions: ["sfv"],
4607
+ source: "apache"
4608
+ },
4609
+ "text/x-uuencode": {
4610
+ extensions: ["uu"],
4611
+ source: "apache"
4612
+ },
4613
+ "text/x-vcalendar": {
4614
+ extensions: ["vcs"],
4615
+ source: "apache"
4616
+ },
4617
+ "text/x-vcard": {
4618
+ extensions: ["vcf"],
4619
+ source: "apache"
4620
+ },
4621
+ "text/xml": {
4622
+ extensions: ["xml"],
4623
+ source: "iana"
4624
+ }
4625
+ };
4626
+
4627
+ //#endregion
4628
+ //#region src/react/placeholder/internal/mimes.ts
4629
+ const mimes = {
4630
+ ...application,
4631
+ ...audio,
4632
+ ...image,
4633
+ ...text,
4634
+ ...video,
4635
+ ...misc
4636
+ };
4637
+
4638
+ //#endregion
4639
+ //#region src/react/placeholder/internal/utils.ts
4640
+ /** Lookup the MIME type for a file path/extension. */
4641
+ function lookup(path) {
4642
+ if (!path || typeof path !== "string") return false;
4643
+ const extension = extname(`x.${path}`).toLowerCase().slice(1);
4644
+ if (!extension) return false;
4645
+ return getTypes()[extension] || false;
4646
+ }
4647
+ const extensions = {};
4648
+ const types = {};
4649
+ function getTypes() {
4650
+ populateMaps(extensions, types);
4651
+ return types;
4652
+ }
4653
+ const mimeTypes = mimes;
4654
+ let inittedMaps = false;
4655
+ /**
4656
+ * Populate the extensions and types maps.
4657
+ *
4658
+ * @private
4659
+ */
4660
+ function populateMaps(extensions$1, types$1) {
4661
+ if (inittedMaps) return;
4662
+ inittedMaps = true;
4663
+ const preference = [
4664
+ "nginx",
4665
+ "apache",
4666
+ void 0,
4667
+ "iana"
4668
+ ];
4669
+ Object.keys(mimeTypes).forEach((type) => {
4670
+ const mime = mimeTypes[type];
4671
+ const exts = mime.extensions;
4672
+ if (!exts?.length) return;
4673
+ extensions$1[type] = exts;
4674
+ for (const extension of exts) {
4675
+ if (types$1[extension]) {
4676
+ const from = preference.indexOf(mimeTypes[types$1[extension]].source);
4677
+ const to = preference.indexOf(mime.source);
4678
+ if (types$1[extension] !== "application/octet-stream" && (from > to || from === to && types$1[extension].startsWith("application/"))) continue;
4679
+ }
4680
+ types$1[extension] = type;
4681
+ }
4682
+ });
4683
+ }
4684
+ function extname(path) {
4685
+ const index = path.lastIndexOf(".");
4686
+ return index === -1 ? "" : path.slice(Math.max(0, index));
4687
+ }
4688
+
4689
+ //#endregion
4690
+ //#region src/react/placeholder/utils/matchFileType.ts
4691
+ const matchFileType = (file, allowedTypes) => {
4692
+ const mimeType = file.type || lookup(file.name);
4693
+ if (!mimeType) {
4694
+ if (allowedTypes.includes("blob")) return "blob";
4695
+ throw createUploadError(UploadErrorCode.INVALID_FILE_TYPE, {
4696
+ allowedTypes,
4697
+ files: [file]
4698
+ });
4699
+ }
4700
+ if (allowedTypes.some((type$1) => type$1.includes("/")) && allowedTypes.includes(mimeType)) return mimeType;
4701
+ const type = mimeType.toLowerCase() === "application/pdf" ? "pdf" : mimeType.split("/")[0];
4702
+ if (!allowedTypes.includes(type)) {
4703
+ if (allowedTypes.includes("blob")) return "blob";
4704
+ throw createUploadError(UploadErrorCode.INVALID_FILE_TYPE, {
4705
+ allowedTypes,
4706
+ files: [file]
4707
+ });
4708
+ }
4709
+ return type;
4710
+ };
4711
+
4712
+ //#endregion
4713
+ //#region src/react/placeholder/utils/getMediaType.ts
4714
+ const getMediaType = (file, config) => {
4715
+ return config[matchFileType(file, Object.keys(config))].mediaType;
4716
+ };
4717
+
4718
+ //#endregion
4719
+ //#region src/react/placeholder/utils/history.ts
4720
+ const historyMarks = /* @__PURE__ */ new WeakMap();
4721
+ const withHistoryMark = (editor, fn) => {
4722
+ const prev = isHistoryMarking(editor);
4723
+ historyMarks.set(editor, true);
4724
+ fn();
4725
+ historyMarks.set(editor, prev);
4726
+ };
4727
+ const isHistoryMarking = (editor) => historyMarks.get(editor) ?? false;
4728
+ const updateUploadHistory = (editor, node) => {
4729
+ const index = editor.history.undos.findLastIndex((batch$1) => batch$1[KEYS.placeholder] && batch$1.operations.some((operation) => operation.type === "insert_node" && operation.node.id === node.placeholderId));
4730
+ const batch = editor.history.undos[index];
4731
+ const newOperations = [];
4732
+ for (const operation of batch.operations) {
4733
+ if ((operation.type === "insert_node" && operation.node).id === node.placeholderId) {
4734
+ newOperations.push({
4735
+ ...operation,
4736
+ node
4737
+ });
4738
+ continue;
4739
+ }
4740
+ newOperations.push(operation);
4741
+ }
4742
+ const newBatch = {
4743
+ ...batch,
4744
+ operations: newOperations
4745
+ };
4746
+ editor.history.undos[index] = newBatch;
4747
+ };
4748
+
4749
+ //#endregion
4750
+ //#region src/react/placeholder/utils/groupFilesByType.ts
4751
+ const groupFilesByType = (fileList, config) => {
4752
+ const FileTypeMap = {
4753
+ audio: [],
4754
+ blob: [],
4755
+ image: [],
4756
+ pdf: [],
4757
+ text: [],
4758
+ video: []
4759
+ };
4760
+ for (const file of fileList) FileTypeMap[matchFileType(file, Object.keys(config))].push(file);
4761
+ return FileTypeMap;
4762
+ };
4763
+
4764
+ //#endregion
4765
+ //#region src/react/placeholder/utils/fileSizeToBytes.ts
4766
+ const FILESIZE_UNITS = [
4767
+ "B",
4768
+ "KB",
4769
+ "MB",
4770
+ "GB"
4771
+ ];
4772
+ const fileSizeToBytes = (fileSize, file) => {
4773
+ const match = new RegExp(`^(\\d+)(\\.\\d+)?\\s*(${FILESIZE_UNITS.join("|")})$`, "i").exec(fileSize);
4774
+ if (!match) throw createUploadError(UploadErrorCode.INVALID_FILE_SIZE, { files: [file] });
4775
+ const sizeValue = Number.parseFloat(match[1]);
4776
+ const sizeUnit = match[3].toUpperCase();
4777
+ const bytes = sizeValue * 1024 ** FILESIZE_UNITS.indexOf(sizeUnit);
4778
+ return Math.floor(bytes);
4779
+ };
4780
+ const bytesToFileSize = (bytes) => {
4781
+ if (bytes === 0 || bytes === -1) return "0B";
4782
+ const i = Math.floor(Math.log(bytes) / Math.log(1e3));
4783
+ return `${(bytes / 1e3 ** i).toFixed(2)}${FILESIZE_UNITS[i]}`;
4784
+ };
4785
+
4786
+ //#endregion
4787
+ //#region src/react/placeholder/utils/validateFileItem.ts
4788
+ const validateFileItem = (files, config, key) => {
4789
+ const { maxFileCount = Number.POSITIVE_INFINITY, maxFileSize, minFileCount = 1 } = config;
4790
+ if (files.length < minFileCount) throw createUploadError(UploadErrorCode.TOO_LESS_FILES, {
4791
+ files,
4792
+ fileType: key,
4793
+ minFileCount
4794
+ });
4795
+ if (files.length > maxFileCount) throw createUploadError(UploadErrorCode.TOO_MANY_FILES, {
4796
+ files,
4797
+ fileType: key,
4798
+ maxFileCount
4799
+ });
4800
+ for (const f of files) {
4801
+ const bytes = fileSizeToBytes(maxFileSize, f);
4802
+ if (f.size > bytes) throw createUploadError(UploadErrorCode.TOO_LARGE, {
4803
+ files: [f],
4804
+ fileType: key,
4805
+ maxFileSize
4806
+ });
4807
+ }
4808
+ return true;
4809
+ };
4810
+
4811
+ //#endregion
4812
+ //#region src/react/placeholder/utils/validateFiles.ts
4813
+ const validateFiles = (fileList, config) => {
4814
+ const fileTypeMap = groupFilesByType(fileList, config);
4815
+ const keys = Object.keys(fileTypeMap);
4816
+ for (const key of keys) {
4817
+ const itemConfig = config[key];
4818
+ const itemFiles = fileTypeMap[key];
4819
+ if (itemFiles.length === 0) continue;
4820
+ validateFileItem(itemFiles, itemConfig, key);
4821
+ }
4822
+ };
4823
+
4824
+ //#endregion
4825
+ //#region src/react/placeholder/transforms/insertMedia.ts
4826
+ const insertMedia = (editor, files, options) => {
4827
+ const api = editor.getApi(PlaceholderPlugin);
4828
+ const uploadConfig = editor.getOption(PlaceholderPlugin, "uploadConfig");
4829
+ const multiple = editor.getOption(PlaceholderPlugin, "multiple");
4830
+ try {
4831
+ validateFiles(files, uploadConfig);
4832
+ } catch (error) {
4833
+ if (!isUploadError(error)) throw error;
4834
+ return editor.setOption(PlaceholderPlugin, "error", error);
4835
+ }
4836
+ if (!multiple && files.length > 1) return editor.setOption(PlaceholderPlugin, "error", createUploadError(UploadErrorCode.TOO_MANY_FILES, {
4837
+ files: Array.from(files),
4838
+ fileType: null,
4839
+ maxFileCount: 1
4840
+ }));
4841
+ const maxFileCount = editor.getOption(PlaceholderPlugin, "maxFileCount") ?? 3;
4842
+ if (files.length > maxFileCount) return editor.setOption(PlaceholderPlugin, "error", createUploadError(UploadErrorCode.TOO_MANY_FILES, {
4843
+ files: Array.from(files),
4844
+ fileType: null,
4845
+ maxFileCount
4846
+ }));
4847
+ let currentAt;
4848
+ const { at, nextBlock = true, ...restOptions } = options ?? {};
4849
+ Array.from(files).forEach((file, index) => {
4850
+ if (index === 0) {
4851
+ if (at) currentAt = at;
4852
+ } else currentAt = currentAt ? PathApi.next(currentAt) : void 0;
4853
+ const id = nanoid();
4854
+ api.placeholder.addUploadingFile(id, file);
4855
+ const insert = () => {
4856
+ editor.tf.insertNodes({
4857
+ id,
4858
+ children: [{ text: "" }],
4859
+ mediaType: getMediaType(file, uploadConfig),
4860
+ type: editor.getType(KEYS.placeholder)
4861
+ }, {
4862
+ at: currentAt,
4863
+ nextBlock,
4864
+ ...restOptions
4865
+ });
4866
+ };
4867
+ if (editor.getOption(PlaceholderPlugin, "disableEmptyPlaceholder")) editor.tf.withoutMerging(() => {
4868
+ withHistoryMark(editor, insert);
4869
+ });
4870
+ else editor.tf.withoutNormalizing(insert);
4871
+ });
4872
+ };
4873
+
4874
+ //#endregion
4875
+ //#region src/react/placeholder/PlaceholderPlugin.tsx
4876
+ const PlaceholderPlugin = toTPlatePlugin(BasePlaceholderPlugin, { options: {
4877
+ disableEmptyPlaceholder: false,
4878
+ disableFileDrop: false,
4879
+ error: null,
4880
+ maxFileCount: 5,
4881
+ multiple: true,
4882
+ uploadConfig: {
4883
+ audio: {
4884
+ maxFileCount: 1,
4885
+ maxFileSize: "8MB",
4886
+ mediaType: KEYS.audio,
4887
+ minFileCount: 1
4888
+ },
4889
+ blob: {
4890
+ maxFileCount: 1,
4891
+ maxFileSize: "8MB",
4892
+ mediaType: KEYS.file,
4893
+ minFileCount: 1
4894
+ },
4895
+ image: {
4896
+ maxFileCount: 3,
4897
+ maxFileSize: "4MB",
4898
+ mediaType: KEYS.img,
4899
+ minFileCount: 1
4900
+ },
4901
+ pdf: {
4902
+ maxFileCount: 1,
4903
+ maxFileSize: "4MB",
4904
+ mediaType: KEYS.file,
4905
+ minFileCount: 1
4906
+ },
4907
+ text: {
4908
+ maxFileCount: 1,
4909
+ maxFileSize: "64KB",
4910
+ mediaType: KEYS.file,
4911
+ minFileCount: 1
4912
+ },
4913
+ video: {
4914
+ maxFileCount: 1,
4915
+ maxFileSize: "16MB",
4916
+ mediaType: KEYS.video,
4917
+ minFileCount: 1
4918
+ }
4919
+ },
4920
+ uploadingFiles: {}
4921
+ } }).overrideEditor(({ editor, tf: { writeHistory } }) => ({ transforms: { writeHistory(stack, batch) {
4922
+ if (isHistoryMarking(editor)) {
4923
+ writeHistory(stack, {
4924
+ ...batch,
4925
+ [KEYS.placeholder]: true
4926
+ });
4927
+ return;
4928
+ }
4929
+ return writeHistory(stack, batch);
4930
+ } } })).extendEditorTransforms(({ editor }) => ({ insert: { media: bindFirst(insertMedia, editor) } })).extendApi(({ getOption, setOption }) => ({
4931
+ addUploadingFile: (id, file) => {
4932
+ setOption("uploadingFiles", {
4933
+ ...getOption("uploadingFiles"),
4934
+ [id]: file
4935
+ });
4936
+ },
4937
+ getUploadingFile: (id) => {
4938
+ return getOption("uploadingFiles")[id];
4939
+ },
4940
+ removeUploadingFile: (id) => {
4941
+ const uploadingFiles = getOption("uploadingFiles");
4942
+ delete uploadingFiles[id];
4943
+ setOption("uploadingFiles", uploadingFiles);
4944
+ }
4945
+ })).extend(({ getOption }) => ({ handlers: {
4946
+ onDrop: ({ editor, event, tf }) => {
4947
+ if (!getOption("disableFileDrop")) return;
4948
+ const { files } = event.dataTransfer;
4949
+ if (files.length === 0) return false;
4950
+ /** Without this, the dropped file replaces the page */
4951
+ event.preventDefault();
4952
+ event.stopPropagation();
4953
+ if (!editor.api.findEventRange(event)) return false;
4954
+ tf.insert.media(files);
4955
+ return true;
4956
+ },
4957
+ onPaste: ({ editor, event, tf }) => {
4958
+ const { files, types: types$1 } = event.clipboardData;
4959
+ if (files.length > 0 && !types$1.includes("text/html")) {
4960
+ event.preventDefault();
4961
+ event.stopPropagation();
4962
+ let inserted = false;
4963
+ const ancestor = editor.api.block({ highest: true });
4964
+ if (ancestor) {
4965
+ const [node, path] = ancestor;
4966
+ if (NodeApi.string(node).length === 0) {
4967
+ editor.tf.removeNodes({ at: path });
4968
+ tf.insert.media(files, {
4969
+ at: path,
4970
+ nextBlock: false
4971
+ });
4972
+ inserted = true;
4973
+ }
4974
+ }
4975
+ if (!inserted) tf.insert.media(files, { nextBlock: false });
4976
+ return true;
4977
+ }
4978
+ return false;
4979
+ }
4980
+ } }));
4981
+
4982
+ //#endregion
4983
+ //#region src/react/placeholder/placeholderStore.ts
4984
+ const { PlaceholderProvider, placeholderStore, usePlaceholderSet, usePlaceholderState, usePlaceholderStore, usePlaceholderValue } = createAtomStore({
4985
+ isUploading: false,
4986
+ progresses: {},
4987
+ size: null,
4988
+ updatedFiles: []
4989
+ }, { name: "placeholder" });
4990
+
4991
+ //#endregion
4992
+ //#region src/react/placeholder/hooks/usePlaceholderElement.ts
4993
+ const usePlaceholderElementState = () => {
4994
+ const $ = c(12);
4995
+ const element = useElement();
4996
+ const editor = useEditorRef();
4997
+ const focused = useFocused();
4998
+ const readOnly = useReadOnly();
4999
+ const selected = useSelected();
5000
+ const progresses = usePlaceholderValue("progresses");
5001
+ const isUploading = usePlaceholderValue("isUploading");
5002
+ const updatedFiles = usePlaceholderValue("updatedFiles");
5003
+ const setSize = usePlaceholderSet("size");
5004
+ const { mediaType } = useElement(KEYS.placeholder);
5005
+ const progressing = updatedFiles.length > 0 && isUploading;
5006
+ let t0;
5007
+ if ($[0] !== editor || $[1] !== element || $[2] !== focused || $[3] !== isUploading || $[4] !== mediaType || $[5] !== progresses || $[6] !== progressing || $[7] !== readOnly || $[8] !== selected || $[9] !== setSize || $[10] !== updatedFiles) {
5008
+ t0 = {
5009
+ editor,
5010
+ element,
5011
+ focused,
5012
+ isUploading,
5013
+ mediaType,
5014
+ progresses,
5015
+ progressing,
5016
+ readOnly,
5017
+ selected,
5018
+ setSize,
5019
+ updatedFiles
5020
+ };
5021
+ $[0] = editor;
5022
+ $[1] = element;
5023
+ $[2] = focused;
5024
+ $[3] = isUploading;
5025
+ $[4] = mediaType;
5026
+ $[5] = progresses;
5027
+ $[6] = progressing;
5028
+ $[7] = readOnly;
5029
+ $[8] = selected;
5030
+ $[9] = setSize;
5031
+ $[10] = updatedFiles;
5032
+ $[11] = t0;
5033
+ } else t0 = $[11];
5034
+ return t0;
5035
+ };
5036
+
5037
+ //#endregion
5038
+ //#region src/react/placeholder/hooks/usePlaceholderPopover.ts
5039
+ const usePlaceholderPopoverState = () => {
5040
+ const $ = c(14);
5041
+ const editor = useEditorRef();
5042
+ const readOnly = useReadOnly();
5043
+ const selected = useSelected();
5044
+ const focused = useFocused();
5045
+ let t0;
5046
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
5047
+ t0 = [];
5048
+ $[0] = t0;
5049
+ } else t0 = $[0];
5050
+ const selectionCollapsed = useEditorSelector(_temp, t0);
5051
+ const element = useElement(KEYS.placeholder);
5052
+ const { id, mediaType } = element;
5053
+ const setProgresses = usePlaceholderSet("progresses");
5054
+ const setIsUploading = usePlaceholderSet("isUploading");
5055
+ const setUpdatedFiles = usePlaceholderSet("updatedFiles");
5056
+ const size = usePlaceholderValue("size");
5057
+ let t1;
5058
+ if ($[1] !== editor || $[2] !== element || $[3] !== focused || $[4] !== id || $[5] !== mediaType || $[6] !== readOnly || $[7] !== selected || $[8] !== selectionCollapsed || $[9] !== setIsUploading || $[10] !== setProgresses || $[11] !== setUpdatedFiles || $[12] !== size) {
5059
+ t1 = {
5060
+ id,
5061
+ editor,
5062
+ element,
5063
+ focused,
5064
+ mediaType,
5065
+ readOnly,
5066
+ selected,
5067
+ selectionCollapsed,
5068
+ setIsUploading,
5069
+ setProgresses,
5070
+ setUpdatedFiles,
5071
+ size
5072
+ };
5073
+ $[1] = editor;
5074
+ $[2] = element;
5075
+ $[3] = focused;
5076
+ $[4] = id;
5077
+ $[5] = mediaType;
5078
+ $[6] = readOnly;
5079
+ $[7] = selected;
5080
+ $[8] = selectionCollapsed;
5081
+ $[9] = setIsUploading;
5082
+ $[10] = setProgresses;
5083
+ $[11] = setUpdatedFiles;
5084
+ $[12] = size;
5085
+ $[13] = t1;
5086
+ } else t1 = $[13];
5087
+ return t1;
5088
+ };
5089
+ function _temp(editor_0) {
5090
+ return !editor_0.api.isExpanded();
5091
+ }
5092
+
5093
+ //#endregion
5094
+ export { AudioPlugin, FILESIZE_UNITS, FilePlugin, FloatingMedia, FloatingMediaEditButton, FloatingMediaStore, FloatingMediaUrlInput, Image, ImagePlugin, ImagePreviewStore, MediaEmbedPlugin, MediaProvider, PlaceholderPlugin, PlaceholderProvider, PreviewImage, UploadErrorCode, VideoPlugin, bytesToFileSize, createUploadError, fileSizeToBytes, getMediaType, groupFilesByType, insertMedia, isHistoryMarking, isUploadError, matchFileType, mediaStore, openImagePreview, placeholderStore, submitFloatingMedia, updateUploadHistory, useFloatingMediaEditButton, useFloatingMediaState, useFloatingMediaUrlInput, useFloatingMediaUrlInputState, useFloatingMediaValue, useImage, useImagePreview, useImagePreviewValue, useMediaController, useMediaControllerDropDownMenu, useMediaControllerState, useMediaSet, useMediaState, useMediaStore, useMediaToolbarButton, useMediaValue, usePlaceholderElementState, usePlaceholderPopoverState, usePlaceholderSet, usePlaceholderState, usePlaceholderStore, usePlaceholderValue, usePreviewImage, useScaleInput, useZoom, validateFileItem, validateFiles, withHistoryMark };
5095
+ //# sourceMappingURL=index.js.map