Skip to content

feat: add Drag-and-Drop File Upload Component (#1201)#1249

Merged
SAPTARSHI-coder merged 1 commit into
SAPTARSHI-coder:mainfrom
Pcmhacker-piro:feat/file-upload-1201
Jun 4, 2026
Merged

feat: add Drag-and-Drop File Upload Component (#1201)#1249
SAPTARSHI-coder merged 1 commit into
SAPTARSHI-coder:mainfrom
Pcmhacker-piro:feat/file-upload-1201

Conversation

@Pcmhacker-piro
Copy link
Copy Markdown

@Pcmhacker-piro Pcmhacker-piro commented Jun 4, 2026

Closes #1201

Pull Request Description

Adds a drag-and-drop file upload component in submissions/examples/file-upload/ with 5 animated visual states: idle (dashed border), drag-over (scale + glow), uploading (indeterminate progress bar), success (pop-in checkmark), and error (shake). Includes file type/size validation via inline JavaScript.


Type of Change

  • 🧩 New component

Submission Checklist

  • All changes are inside submissions/examples/file-upload/
  • Includes demo.html — self-contained, opens in browser with no server
  • Includes style.css — raw CSS for the proposed feature
  • Includes README.md — what it does, how to use it, why it fits EaseMotion CSS
  • No changes to core/
  • No changes to components/
  • One feature per PR (no bundled unrelated changes)

Feature Description

What does this add?

A styled drag-and-drop file upload zone with animated visual states for idle, drag-over, uploading, success, and error.

How does a developer use it?

<div class="ease-file-upload" role="button" tabindex="0">
  <svg class="ease-upload-icon">...</svg>
  <span class="ease-upload-text">Drag & drop files here or click to browse</span>
  <span class="ease-upload-hint">Supports PNG, JPG, WebP, PDF (max 5MB)</span>
  <div class="ease-upload-progress">
    <div class="ease-upload-progress-bar"></div>
  </div>
</div>
JS handles drag events, file validation, and state class toggling (see demo.html).
Why does it fit EaseMotion CSS?
Five distinct animated states with ease- prefixed keyframes: ease-kf-upload-float, ease-kf-upload-pulse, ease-kf-upload-pop-check, ease-kf-upload-shake, and ease-kf-upload-progress-indeterminate. Smooth transitions and respects prefers-reduced-motion.
Demo
- Demo added (demo.html works by opening directly in a browser)
Browser Testing
- Chrome
- Firefox
- Edge
- Safari (optional but appreciated)
Notes for Maintainer
This component requires minimal JavaScript for drag events, file validation, and state transitions. The CSS is fully self-contained — the JS only adds/removes state classes. Supports multiple files and accept attribute filtering.

Closes #1201

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

✅ Submission Validation Passed!

Great job! All required files are present.

📁 Folder: submissions/examples/file-upload

Files found:

  • demo.html
  • style.css
  • README.md

🚀 Next Steps:

  • The maintainer will review your PR
  • Respond to any feedback if requested
  • Once approved, your contribution will be merged!

Thank you for contributing to EaseMotion CSS! 🎉

@Pcmhacker-piro
Copy link
Copy Markdown
Author

heyy @SAPTARSHI-coder
i fixed the assigned issue so pls check thsi

@SAPTARSHI-coder SAPTARSHI-coder added accepted Contribution approved for integration into EaseMotion CSS animation Animation effects, hover interactions, motion ideas, transitions component New UI components (buttons, cards, modals, tooltips, badges) enhancement New feature or request good first issue Good for newcomers GSSoC-26 Official GSSoC 2026 issue gssoc:approved Approved for GSSoC contributions integrated Successfully merged and included in the framework level:intermediate Requires moderate project understanding type:feature New functionality or enhancement labels Jun 4, 2026
@SAPTARSHI-coder SAPTARSHI-coder merged commit cd7c3ac into SAPTARSHI-coder:main Jun 4, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

accepted Contribution approved for integration into EaseMotion CSS animation Animation effects, hover interactions, motion ideas, transitions component New UI components (buttons, cards, modals, tooltips, badges) contribution enhancement New feature or request good first issue Good for newcomers gssoc:approved Approved for GSSoC contributions GSSoC-26 Official GSSoC 2026 issue integrated Successfully merged and included in the framework level:intermediate Requires moderate project understanding type:feature New functionality or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

## Feature: Add ease-file-upload — Drag-and-Drop File Upload with Animated States

2 participants