import React from 'react'
import PropTypes from 'prop-types'
import { ILayoutProps } from './Dropzone'
const Layout = (props: ILayoutProps) => {
const {
input,
previews,
submitButton,
dropzoneProps,
files,
extra: { maxFiles },
} = props
return (
{previews}
{files.length < maxFiles && input}
{files.length > 0 && submitButton}
)
}
Layout.propTypes = {
input: PropTypes.node,
previews: PropTypes.arrayOf(PropTypes.node),
submitButton: PropTypes.node,
dropzoneProps: PropTypes.shape({
ref: PropTypes.any.isRequired,
className: PropTypes.string.isRequired,
style: PropTypes.object,
onDragEnter: PropTypes.func.isRequired,
onDragOver: PropTypes.func.isRequired,
onDragLeave: PropTypes.func.isRequired,
onDrop: PropTypes.func.isRequired,
}).isRequired,
files: PropTypes.arrayOf(PropTypes.any).isRequired,
extra: PropTypes.shape({
active: PropTypes.bool.isRequired,
reject: PropTypes.bool.isRequired,
dragged: PropTypes.arrayOf(PropTypes.any).isRequired,
accept: PropTypes.string.isRequired,
multiple: PropTypes.bool.isRequired,
minSizeBytes: PropTypes.number.isRequired,
maxSizeBytes: PropTypes.number.isRequired,
maxFiles: PropTypes.number.isRequired,
onFiles: PropTypes.func.isRequired,
onCancelFile: PropTypes.func.isRequired,
onRemoveFile: PropTypes.func.isRequired,
onRestartFile: PropTypes.func.isRequired,
}).isRequired,
}
export default Layout