+ {imageUploads?.map((image) => {
+ const url = image.url || image.previewUri;
+ return (
+
+ {image.state === 'failed' && (
+
+ )}
+
+ {url && onClose(image.id, event)} image={url} />}
+ {image.state === 'uploading' && (
+
+ )}
+
+ );
+ })}
+ {handleFiles && !disabled && (
+
+ )}
+
+ );
+};
diff --git a/src/components/ReactFileUtilities/ImageUploadButton.tsx b/src/components/ReactFileUtilities/ImageUploadButton.tsx
new file mode 100644
index 000000000..900d62780
--- /dev/null
+++ b/src/components/ReactFileUtilities/ImageUploadButton.tsx
@@ -0,0 +1,37 @@
+import React, { PropsWithChildren } from 'react';
+
+import { PictureIcon } from './icons';
+import { UploadButton } from './UploadButton';
+
+export type ImageUploadButtonProps = {
+ handleFiles: (files: File[]) => void;
+ disabled?: boolean;
+ multiple?: boolean;
+ resetOnChange?: boolean;
+};
+
+/**
+ * @deprecated will be removed in the next major release
+ */
+export const ImageUploadButton = ({
+ multiple = false,
+ disabled = false,
+ handleFiles,
+ children =