# File Dropzone
Drag-and-drop file upload zone with click-to-upload fallback.
## Basic Example
```html
```
## Multiple Files
```html
```
## Accept Specific Types
```html
```
## Drag State
Add `.dragover` class via JavaScript when files are dragged over:
```javascript
const dropzone = document.querySelector('.dropzone');
dropzone.addEventListener('dragover', (e) => {
e.preventDefault();
dropzone.classList.add('dragover');
});
dropzone.addEventListener('dragleave', () => {
dropzone.classList.remove('dragover');
});
dropzone.addEventListener('drop', (e) => {
e.preventDefault();
dropzone.classList.remove('dragover');
// Handle files: e.dataTransfer.files
});
```
## Icon Source
Get icons from [Phosphor Icons](https://phosphoricons.com/). The upload icon shown above is the "UploadSimple" icon.
## CSS Variables
- `--dropzone-padding` - Padding inside (default: `var(--pad-xxl)`)
- `--dropzone-border-radius` - Border radius (default: `var(--br-m)`)
## Styling Details
- Dashed border (`2px dashed var(--fg-2)`)
- Centered flex layout for icon and text
- File input is hidden but covers entire area
- Click anywhere to trigger file picker
- `.dragover` state shows accent color border
## See Also
- [Forms](https://graffiti-ui.com/llms/forms.txt) - All form inputs