chore: Move editor into codebase (#2930)

This commit is contained in:
Tom Moor
2022-01-19 18:43:15 -08:00
committed by GitHub
parent 266f8c96c4
commit 062016b164
216 changed files with 12417 additions and 382 deletions

View File

@@ -0,0 +1,28 @@
export default function getDataTransferFiles(
event:
| Event
| React.FormEvent<HTMLInputElement>
| React.DragEvent<HTMLElement>
): File[] {
let dataTransferItemsList!: FileList | DataTransferItemList;
if ("dataTransfer" in event) {
const dt = event.dataTransfer;
if (dt.files && dt.files.length) {
dataTransferItemsList = dt.files;
} else if (dt.items && dt.items.length) {
// During the drag even the dataTransfer.files is null
// but Chrome implements some drag store, which is accesible via dataTransfer.items
dataTransferItemsList = dt.items;
}
} else if (event.target && "files" in event.target) {
// @ts-expect-error fallback
dataTransferItemsList = event.target.files;
}
// Convert from DataTransferItemsList to the native Array
return dataTransferItemsList
? Array.prototype.slice.call(dataTransferItemsList)
: [];
}