Free, open-source file upload component for shadcn-ui
Built with React, TypeScript, Tailwind CSS, shadcn-ui, and react-dropzone
Supports drag-and-drop, file previews, progress indicators, and validation
Integrates via shadcn CLI
MIT-licensed, developed by janglad
Dropzone is a free, open-source React component by janglad, designed to extend shadcn-ui with a modern, customizable file upload dropzone. It’s ideal for developers building applications requiring file uploads, such as document submission forms, media managers, or CMS platforms, particularly in Next.js or React projects.
Built with React, TypeScript, Tailwind CSS, shadcn-ui, and react-dropzone, it offers a drag-and-drop interface, file previews, progress tracking, and error handling. The component integrates seamlessly via shadcn CLI or as an NPM package (shadcn-dropzone), aligning with shadcn-ui’s accessible, polished design. It addresses community demand for a dropzone component (GitHub issue #2672).
Drag-and-Drop Upload: Intuitive file upload via drag-and-drop or click.
File Previews: Displays uploaded files with status (e.g., pending, success, error).
Progress Indicators: Shows upload progress with animated bars.
Validation Support: Configurable file types, size limits, and max files.
Accessible Design: Inherits shadcn-ui’s WAI-ARIA compliance.
Customizable UI: Tailwind CSS and react-dropzone enable flexible styling.
shadcn-ui Compatibility: Matches shadcn-ui’s aesthetic and accessibility standards.
Free and Open-Source: MIT license allows unrestricted use and customization.
Robust Features: Supports drag-and-drop, validation, and progress tracking.
Easy Setup: CLI or NPM package simplifies integration.
Community Traction: 2.6k weekly downloads and active engagement (July 2024).
React Dependency: Limited to React/shadcn-ui ecosystems.
Setup Requirements: Needs shadcn-ui, Tailwind CSS, and react-dropzone installed.
Client-Side Focus: Upload handling requires server-side implementation.
Limited Backend Integration: No built-in server upload logic; developers must define it.
Dependency Overhead: Adds react-dropzone to project bundle.
Dropzone: Main component for the drag-and-drop upload area.
DropZoneArea: Container for the upload trigger and file list.
DropzoneTrigger: Clickable area to open file dialog.
DropzoneFileList: Displays uploaded files with status and controls.
DropzoneFileListItem: Individual file item with retry/remove options.
DropzoneDescription: Customizable description text for the dropzone.
DropzoneMessage: Displays validation or status messages.
DropzoneRetryFile/RemoveFile: Buttons for retrying or removing files.
InfiniteProgress: Progress bar for upload status.
useDropzone: Hook for managing dropzone state and logic.
Dropzone is completely free under the MIT license, with no premium tiers.
React: Core framework for the component.
shadcn-ui: Provides accessible, styled primitives.
Tailwind CSS: Utility-first styling for responsive design.
Next.js: Optimized for Next.js projects.
TypeScript: Ensures type safety.
react-dropzone: Powers drag-and-drop and file handling.
react-hook-form & Zod (optional): Supports form validation integration.
A file upload dropzone component for shadcn-ui, built with react-dropzone for drag-and-drop functionality.
Yes, it’s fully free under the MIT license.
It’s designed for shadcn-ui; non-shadcn-ui use requires replacing dependencies.
Yes, it inherits shadcn-ui’s WAI-ARIA compliance.
A Shadcn/UI style component for file uploads.
Submit your Shadcn product to AllShadcn, get featured, and drive genuine traffic while showcasing your work to the world. Turn your creativity into revenue and begin selling today! 🚀