// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { Grid, List, ListItem, ListItemText, StyleRulesCallback, Typography, WithStyles } from '@material-ui/core'; import { withStyles } from '@material-ui/core'; import Dropzone from 'react-dropzone'; import { CloudUploadIcon } from "../icon/icon"; import { formatFileSize } from "../../common/formatters"; type CssRules = "root" | "dropzone" | "container" | "uploadIcon"; const styles: StyleRulesCallback = theme => ({ root: { }, dropzone: { width: "100%", height: "200px", overflow: "auto", border: "1px dashed black", borderRadius: "5px" }, container: { height: "100%" }, uploadIcon: { verticalAlign: "middle" } }); interface FileUploadProps { files: File[]; onDrop: (files: File[]) => void; } export const FileUpload = withStyles(styles)( ({ classes, files, onDrop }: FileUploadProps & WithStyles) => Upload data onDrop(files)}> Drag and drop data or click to browse {files.map((f, idx) => )} );