
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
@yutengjing/material-ui-dropzone
Advanced tools
A Material-UI file-upload dropzone. Written in TypeScript.
Material-UI-dropzone is a React component using Material-UI and is based on the excellent react-dropzone library.
This components provide either a file-upload dropzone or a file-upload dropzone inside of a dialog.
The file-upload dropzone features some snazzy "File Allowed/Not Allowed" effects, previews and alerts.
npm install --save mui-file-dropzone
or
yarn add mui-file-dropzone
mui-file-dropzone complies to the following support matrix.
| version | React | Material-UI |
|---|---|---|
4.x | 17.0+ | 5.x |
3.x | 16.8+ | 4.x |
2.x | 15.x or 16.x | 3.x or 4.x |
This is the Dialog component:
When you drag a file onto the dropzone, you get a neat effect:
And if you drag in a wrong type of file, you'll get yelled at:
N.B. This has some limitations (see here for more details).
See https://yuvaleros.github.io/material-ui-dropzone for Documentation and Examples.
This components creates the dropzone, previews and snackbar notifications without a dialog
import React, { Component } from "react";
import { DropzoneArea } from "mui-file-dropzone";
class DropzoneAreaExample extends Component {
constructor(props) {
super(props);
this.state = {
files: [],
};
}
handleChange(files) {
this.setState({
files: files,
});
}
render() {
return <DropzoneArea onChange={this.handleChange.bind(this)} />;
}
}
export default DropzoneAreaExample;
This component provides the DropzoneArea inside of a MaterialUI Dialog.
import React, { Component } from "react";
import { DropzoneDialog } from "mui-file-dropzone";
import Button from "@mui/material/Button";
export default class DropzoneDialogExample extends Component {
constructor(props) {
super(props);
this.state = {
open: false,
files: [],
};
}
handleClose() {
this.setState({
open: false,
});
}
handleSave(files) {
//Saving files to state for further use and closing Modal.
this.setState({
files: files,
open: false,
});
}
handleOpen() {
this.setState({
open: true,
});
}
render() {
return (
<div>
<Button onClick={this.handleOpen.bind(this)}>Add Image</Button>
<DropzoneDialog
open={this.state.open}
onSave={this.handleSave.bind(this)}
acceptedFiles={["image/jpeg", "image/png", "image/bmp"]}
showPreviews={true}
maxFileSize={5000000}
onClose={this.handleClose.bind(this)}
/>
</div>
);
}
}
MIT
Thanks goes to these wonderful people (emoji key):
Yuvaleros 🤔 💻 🎨 📖 💬 👀 🚧 | Mattia Panzeri 🤔 💻 🎨 📖 💡 🚇 🐛 💬 👀 🚧 | Max Carroll 🤔 💻 🎨 💡 👀 |
Matthew Corner 🐛 🤔 💻 | Barry Loong 🤔 💻 | JF Blouin 🤔 💻 |
Anthony Raymond 💻 💡 | isaacbuckman 🐛 💻 💡 | MatthijsMud 🐛 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
FAQs
A Material-UI file-upload dropzone. Written in TypeScript.
We found that @yutengjing/material-ui-dropzone demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.