export function extractImageFilesFromDataTransfer(dataTransfer: DataTransfer | null | undefined): File[] { if (!dataTransfer) { return [] } const items = Array.from(dataTransfer.items ?? []) const imageFilesFromItems = items .filter((item) => item.kind === 'file' && item.type.startsWith('image/')) .map((item) => item.getAsFile()) .filter((file): file is File => Boolean(file)) if (imageFilesFromItems.length > 0) { return imageFilesFromItems } return Array.from(dataTransfer.files ?? []).filter((file) => file.type.startsWith('image/')) }