Major Changes
-
e869243: ### Merge @uppy/status-bar into @uppy/dashboard
The
@uppy/status-bar
package has been merged into@uppy/dashboard
. The plugin gave a false promise of flexibility as a standalone plugin but was always built tightly coupled for@uppy/dashboard
. With the new headless components and hooks, we want go all in those components and remove the confusing, inflexible ones.StatusBar is now rendered as an integrated component within Dashboard rather than as a separate plugin. The standalone
@uppy/status-bar
package is no longer maintained and should be removed from your dependencies.Migration from standalone StatusBar to Dashboard
If you were using StatusBar as a separate plugin, you'll need to migrate to using Dashboard with the equivalent options.
Before:
import StatusBar from "@uppy/status-bar"; uppy.use(StatusBar, { target: "#status-bar", showProgressDetails: true, hideUploadButton: false, hideAfterFinish: true, });
Now:
import Dashboard from "@uppy/dashboard"; uppy.use(Dashboard, { target: "#dashboard", hideProgressDetails: false, hideUploadButton: false, hideAfterFinish: true, });
All StatusBar configuration options are now available directly as Dashboard options:
hideProgressDetails
- Hide detailed progress information (previouslyshowProgressDetails
with inverted logic)hideUploadButton
- Hide the upload buttonhideAfterFinish
- Hide status bar after upload completionhideRetryButton
- Hide the retry buttonhidePauseResumeButton
- Hide pause/resume controlshideCancelButton
- Hide the cancel buttondoneButtonHandler
- Custom handler for the done button
-
c5b51f6: ### Export maps for all packages
All packages now have export maps. This is a breaking change in two cases:
- The css imports have changed from
@uppy[package]/dist/styles.min.css
to@uppy[package]/css/styles.min.css
- You were importing something that wasn't exported from the root, for instance
@uppy/core/lib/foo.js
. You can now only import things we explicitly exported.
Changed imports for
@uppy/react
,@uppy/vue
, and@uppy/svelte
Some components, like Dashboard, require a peer dependency to work but since all components were exported from a single file you were forced to install all peer dependencies. Even if you never imported, for instance, the status bar component.
Every component that requires a peer dependency has now been moved to a subpath, such as
@uppy/react/dashboard
, so you only need to install the peer dependencies you need.Example for
@uppy/react
:Before:
import { Dashboard, StatusBar } from "@uppy/react";
Now:
import Dashboard from "@uppy/react/dashboard"; import StatusBar from "@uppy/react/status-bar";
- The css imports have changed from