Uppy 5 based file upload component - #429
Open
andreas-schultz wants to merge 12 commits into
Open
andreas-schultz wants to merge 12 commits into
andreas-schultz wants to merge 12 commits into
Conversation
- align the supported runtime with the Node 24 frontend toolchain - add ESM and CommonJS export smoke tests to prevent packaging regressions - fix existing CommonJS dependency interop in the ESM build - fix declaration generation for the public utils export
- introduce a public, Uppy-independent FileUpload API - implement headless file selection with Uppy 5 - provide accessible drop-zone and native file-picker semantics - support file restrictions, disabled state, and inline errors - add styles, Storybook examples, and focused tests
- Configure Uppy 5 XHR transport with dynamic endpoints and headers - Support automatic and imperative uploads with typed response parsing - Expose aggregate progress and lifecycle callbacks - Add accessible progress, status, busy and error semantics - Handle cancellation, reset and unmount safely - Add tests
- upload files sequentially by default and allow explicit concurrency - show aggregate and per-file progress with static success and error states - add deterministic Storybook scenarios for upload lifecycle states - verify FileUpload through built ESM and CommonJS package exports - retain the original parser error and HTTP status in response failures
- Use one scheduler across selections, asynchronous approvals and retries - Replace defer/restore and lifecycle callbacks with state snapshots and typed completion results - Retain cancelled files in progress totals until explicitly removed - Preserve completed history while releasing selection capacity - Separate selection disabling from upload disabling and unify error formatting - Add Remove option for cancelled uploads - Expand regression tests, API type checks, package checks and Storybook examples
- Add typed restriction details for localizing size, type, count and duplicate errors. - Support synchronous and asynchronous beforeUpload approval. - Document manual uploads, typed responses, overwrite approval and lifecycle semantics. - Extend runtime and compile-time tests for restrictions and approval. - Simplify the changelog
- Extract controller lifecycle and focus management into hooks - Extract file-row rendering and clarify action conditions - Fix stale drag state after disabling selection or non-file drops - Add regression tests for drag-state cleanup
- Add Storybook browser tests for FileUpload accessibility, keyboard interaction, and focus handling, with CI coverage - Resolve Uppy 5 through public package types and remove the legacy compatibility adapter - Update module resolution and CommonJS/Sass compiler settings - Improve FileUpload contrast, reset drag highlighting on drops, and guard missing file data and response bodies - Simplify CodeMirror mode selection and test supported modes - Export package declarations for modern TypeScript consumers - Add packed-package consumer tests for bundler, Node16, and NodeNext resolution, plus ESM/CommonJS runtime checks - Run consumer checks in PR and release workflows, with optional dependency declaration validation - Document test commands and update changelog and tooling
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.