UNPKG

@rikas/mui-activestorage-upload

Version:

React MUI package for direct upload with activestorage

21 lines (20 loc) 1.07 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { Chip, Stack } from '@mui/material'; import prettyBytes from 'pretty-bytes'; import { FileUploader } from './FileUploader'; export const FileChip = ({ file, uploadUrl, externalError, onFileError, onRemove, onProgress, }) => { const { done, error, name, size } = file; const handleRemove = (remove) => { if (onRemove && remove) onRemove(file); }; const handleProgress = (file) => { if (onProgress) onProgress(file); }; const handleError = (file) => { if (onFileError) onFileError(file); }; return (_jsxs(Stack, Object.assign({ spacing: 1 }, { children: [_jsx(Chip, { sx: { maxWidth: 250 }, variant: done ? 'filled' : 'outlined', color: error || externalError ? 'error' : 'primary', label: `${name} ${size && `(${prettyBytes(size)})`}`, onDelete: () => handleRemove(done || !!error) }), !done && (_jsx(FileUploader, { file: file, url: uploadUrl, onProgress: handleProgress, onError: handleError }))] }))); };