File Drop
File drag and drop components provide an intuitive way for users to upload files by dragging them into a designated area. This functionality enhances the user experience by simplifying the process.

Overview
File drag-and-drop components ease the upload process and also provide real-time feedback on file status, upload progress, and errors, improving the overall file-handling experience.
When to use
- Use when the interface needs to support uploading multiple files at once, especially if users are expected to submit a large number of documents or images. 
- Use when you want to offer users a simple, drag-and-drop method for uploading files, enhancing ease of use and minimizing errors in file selection. 
- In applications where users frequently upload files, such as cloud storage platforms. 
- Use when you want to provide real-time feedback, like upload progress and file size limits, to ensure the user knows the status of their submission. 
When not to use
- Mobile users may not always benefit from drag-and-drop functionality. In these cases, consider a more accessible approach for file selection, such as a standard file picker. 
- Refrain from using when users need to specify a file’s path or select files from a hierarchical folder structure. 
- If users need to adhere to very specific file type requirements, standard file upload dialogs with strict filters might be better suited to prevent file type errors. 
Types

Anatomy
- File Drop Container: A clearly defined zone that visually prompts users to drag files into it. 
- File Type Icon: A visual representation of the file type (e.g., PDF, image) being uploaded. 
- Title: The main text inviting users to drop or select files for upload. 
- Link Button: A clickable link that allows users to manually choose files for upload. 
- File Specification: Shows important file description, such as file size or type. 
- Upload Status Container: Displays the current status of the file upload, including any progress or errors. 
- Pause/Play Icon: A control button allowing the user to pause and resume the file upload process. 
- Icon Leading (Secondary Button): Icon used to guide secondary actions related to the file upload, such as canceling. 
- Progress Status: A dynamic indicator showing real-time file upload completion status. 

States

Loading States

Size

Default
14
40
4
65
Small
14
20
4
41
Accessibility
- Keyboard Accessibility: Ensure that users can navigate the file drop area using keyboard controls. The drop zone should have a clearly defined focus state and provide an alternative file selection method via a button or link for users who can’t drag and drop. 
- Screen Reader Compatibility: Provide clear instructions for screen readers, such as announcing when the file has been dropped into the designated area or if the upload was successful. 
- Clear Visual Feedback: Ensure visual feedback, such as file upload progress, errors, or success messages, is visible and easy to understand for all users, including those with color blindness or low vision. 
- Support for Touch Devices: Ensure that touch-based devices can interact with the file drop component by allowing users to select files via tap and file picker options rather than dragging. 
Example
- Image Gallery Uploads: Perfect for websites that handle image collections, allowing users to quickly upload multiple images for portfolios or galleries. 
- Online Form Submissions: Use when users need to submit files as part of a form, such as resumes for job applications or proof of identity for verification purposes. 
- Cloud Storage Platforms: Ideal for cloud-based services where users frequently upload and manage files, allowing them to easily drag and drop documents into their online storage. 
- Video or Audio File Submissions: Use in media-heavy applications, like video hosting platforms, where users need to upload large video or audio files with clear progress tracking and feedback. 
Last updated
