UNPKG

@liveblocks/react-ui

Version:

A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.

1 lines 1.62 kB
{"version":3,"file":"data-transfer.cjs","sources":["../../src/utils/data-transfer.ts"],"sourcesContent":["import { exists } from \"./exists\";\n\nexport function getFiles(dataTransfer: DataTransfer) {\n if (!dataTransfer.types.includes(\"Files\")) {\n return [];\n }\n\n // We start by attempting to get files with `webkitGetAsEntry` as\n // it allows us to filter out directories.\n //\n // Example: Copying a local file\n let files = Array.from(dataTransfer.items)\n .map((item) => {\n const entry = item.webkitGetAsEntry();\n\n return entry && entry.isFile ? item.getAsFile() : null;\n })\n .filter(exists);\n\n // Then, since `dataTransfer.types` specifies that there are files\n // but we couldn't get any with `webkitGetAsEntry`, we try to get\n // them with `files`\n //\n // Example: Copying an image from a website\n if (!files.length) {\n files = Array.from(dataTransfer.files).filter((file) => file.type !== \"\");\n }\n\n return files;\n}\n"],"names":["exists"],"mappings":";;;;AAEO,SAAS,SAAS,YAA4B,EAAA;AACnD,EAAA,IAAI,CAAC,YAAA,CAAa,KAAM,CAAA,QAAA,CAAS,OAAO,CAAG,EAAA;AACzC,IAAA,OAAO,EAAC,CAAA;AAAA,GACV;AAMA,EAAI,IAAA,KAAA,GAAQ,MAAM,IAAK,CAAA,YAAA,CAAa,KAAK,CACtC,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACb,IAAM,MAAA,KAAA,GAAQ,KAAK,gBAAiB,EAAA,CAAA;AAEpC,IAAA,OAAO,KAAS,IAAA,KAAA,CAAM,MAAS,GAAA,IAAA,CAAK,WAAc,GAAA,IAAA,CAAA;AAAA,GACnD,CACA,CAAA,MAAA,CAAOA,aAAM,CAAA,CAAA;AAOhB,EAAI,IAAA,CAAC,MAAM,MAAQ,EAAA;AACjB,IAAQ,KAAA,GAAA,KAAA,CAAM,IAAK,CAAA,YAAA,CAAa,KAAK,CAAA,CAAE,OAAO,CAAC,IAAA,KAAS,IAAK,CAAA,IAAA,KAAS,EAAE,CAAA,CAAA;AAAA,GAC1E;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}