sveltekit-superforms
Advanced tools
@@ -72,15 +72,20 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ | ||
return; | ||
if (!file || file instanceof File) { | ||
if (!file) { | ||
const dt = new DataTransfer(); | ||
if (file) | ||
dt.items.add(file); | ||
fileProxy.set(dt.files); | ||
formFile.set(file); | ||
} | ||
else if (file instanceof File) { | ||
const dt = new DataTransfer(); | ||
dt.items.add(file); | ||
fileProxy.set(dt.files); | ||
formFile.set(file); | ||
} | ||
else if (file instanceof FileList) { | ||
fileProxy.set(file); | ||
if (file.length > 0) | ||
formFile.set(file.item(0)); | ||
else | ||
formFile.set(file); | ||
file = dt.files; | ||
formFile.set(initialValue); | ||
} | ||
fileProxy.set(file); | ||
if (file.length > 0) | ||
formFile.set(file.item(0)); | ||
else | ||
formFile.set(initialValue); | ||
}, | ||
@@ -128,15 +133,15 @@ update() { | ||
}); | ||
else | ||
formFiles.set(files); | ||
files = dt.files; | ||
filesProxy.set(dt.files); | ||
formFiles.set(files); | ||
} | ||
const newFiles = files; | ||
filesProxy.set(newFiles); | ||
const output = []; | ||
for (let i = 0; i < newFiles.length; i++) { | ||
const file = newFiles.item(i); | ||
if (file) | ||
output.push(file); | ||
else { | ||
const output = []; | ||
for (let i = 0; i < files.length; i++) { | ||
const file = files.item(i); | ||
if (file) | ||
output.push(file); | ||
} | ||
filesProxy.set(files); | ||
formFiles.set(output); | ||
} | ||
formFiles.set(output); | ||
}, | ||
@@ -143,0 +148,0 @@ update(updater) { |
@@ -610,3 +610,16 @@ import { derived, get, readonly, writable } from 'svelte/store'; | ||
function NextChange_setHtmlEvent(event) { | ||
NextChange = event; | ||
// For File inputs, if only paths are available, use that instead of replacing | ||
// (fileProxy updates causes this) | ||
if (NextChange && | ||
event && | ||
Object.keys(event).length == 1 && | ||
event.paths?.length && | ||
NextChange.target && | ||
NextChange.target instanceof HTMLInputElement && | ||
NextChange.target.type.toLowerCase() == 'file') { | ||
NextChange.paths = event.paths; | ||
} | ||
else { | ||
NextChange = event; | ||
} | ||
// Wait for on:input to provide additional information | ||
@@ -613,0 +626,0 @@ setTimeout(() => { |
{ | ||
"name": "sveltekit-superforms", | ||
"version": "2.10.3", | ||
"version": "2.10.4", | ||
"author": "Andreas Söderlund <ciscoheat@gmail.com> (https://blog.encodeart.dev)", | ||
@@ -5,0 +5,0 @@ "description": "Making SvelteKit forms a pleasure to use!", |
267786
0.26%5669
0.32%