Sha256: c1f53f6b0a498de41317f702d535e849a606de57c9eb6411a6a66026525f06dd

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

/* @flow */
/* eslint-disable react/no-multi-comp */

import React, { useState } from 'react'
import {
  Body,
  FileUpload,
  List,
  ListItem,
} from '../..'

const AcceptedFilesList = ({ files }: FileList) => (
  <List>
    {files.map((file) => (
      <ListItem key={file.name}>{file.name}</ListItem>
    ))}
  </List>
)

const FileUploadMaxSize = (props) => {
  const [filesToUpload, setFilesToUpload] = useState([])
  const [error, setError] = useState()

  const handleOnFilesAccepted = (files) => {
    setFilesToUpload([...filesToUpload, ...files])
  }

  return (
    <div>
      <AcceptedFilesList
          files={filesToUpload}
          {...props}
      />
      <FileUpload
          acceptedFilesDescription="Choose a file or drag it here. 1 MB size limit."
          maxSize={1000000}
          onFilesAccepted={handleOnFilesAccepted}
          onFilesRejected={(errorMessage) => setError(errorMessage)}
          {...props}
      />
      { error && (
        <Body
            color="error"
            marginY="md"
        >{error}</Body>
      )}
    </div>
  )
}

export default FileUploadMaxSize

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
playbook_ui-11.9.0.pre.alpha.fileupload1 app/pb_kits/playbook/pb_file_upload/docs/_file_upload_max_size.jsx