carbon-components-svelte/tests/FileUploader.test.svelte
metonym 260bf4e040
breaking(types): type arrays as read-only (#1335)
Closes #1259

* breaking(types): type arrays as read-only

* Run "yarn build:docs"

* test: assert read-only arrays
2022-06-05 13:25:43 -07:00

60 lines
1.2 KiB
Svelte

<script lang="ts">
import {
FileUploaderButton,
FileUploader,
FileUploaderDropContainer,
FileUploaderItem,
FileUploaderSkeleton,
} from "../types";
import type { FileUploaderProps } from "../types/FileUploader/FileUploader.svelte";
let fileUploader: FileUploader;
let files: FileUploaderProps["files"] = [];
$: {
// @ts-expect-error
files[0] = null;
}
$: fileUploader?.clearFiles();
</script>
<FileUploaderButton
labelText="Add files"
on:change="{(e) => {
console.log(e.detail); // File[]
}}"
/>
<FileUploader
bind:this="{fileUploader}"
multiple
labelTitle="Upload files"
buttonLabel="Add files"
labelDescription="Only JPEG files are accepted."
accept="{['.jpg', '.jpeg']}"
status="complete"
bind:files
on:add="{(e) => {
console.log(e.detail); // File[]
}}"
on:remove="{(e) => {
console.log(e.detail); // File[]
}}"
on:change="{(e) => {
console.log(e.detail); // File[]
}}"
/>
<FileUploaderItem name="README.md" status="uploading" />
<FileUploaderItem name="README.md" status="complete" />
<FileUploaderItem invalid name="README.md" status="edit" />
<FileUploaderDropContainer
labelText="Drag and drop files here or click to upload"
multiple
/>
<FileUploaderSkeleton />