uppy/packages/@uppy/dashboard
Enver b9253f797a
@uppy/dashboard: My Device button respects fileManagerSelectionType (#6258)
Fixes #6256

## Problem

When `fileManagerSelectionType` is set to `'folders'`, clicking the **My
Device** tab/button
still opens the file picker instead of the folder picker.

The inline "browse" link in the tagline correctly respects the setting,
but
`renderMyDeviceAcquirer` in `AddFiles.tsx` always called
`triggerFileInputClick`
regardless of the `fileManagerSelectionType` prop.

## Solution

`renderMyDeviceAcquirer` now reads `fileManagerSelectionType` and calls
`triggerFolderInputClick` when set to `'folders'`, or
`triggerFileInputClick`
for `'files'` and `'both'`.

For `'both'` mode, the button defaults to file selection because a
single
HTML `<input>` cannot handle both files and folders simultaneously
(`webkitdirectory` is all-or-nothing). The folder picker remains
accessible
via the tagline's "browse folders" link.

---------

Co-authored-by: Prakash <qxprakash@gmail.com>
2026-04-24 16:00:02 +05:30
..
src @uppy/dashboard: My Device button respects fileManagerSelectionType (#6258) 2026-04-24 16:00:02 +05:30
.npmignore @uppy/dashboard: refactor to TypeScript (#4984) 2024-03-20 13:23:56 +01:00
CHANGELOG.md [ci] release (#6120) 2026-01-12 21:44:39 +01:00
LICENSE Move Dashboard to @uppy/dashboard. 2018-06-14 16:31:19 +02:00
package.json build(deps): bump lodash from 4.17.21 to 4.17.23 (#6152) 2026-01-26 15:01:18 +01:00
README.md Fix links (#5492) 2024-10-29 13:54:00 +01:00
tsconfig.build.json Merge @uppy/status-bar into @uppy/dashboard (#5825) 2025-08-05 13:17:29 +02:00
tsconfig.json Merge @uppy/status-bar into @uppy/dashboard (#5825) 2025-08-05 13:17:29 +02:00
turbo.json Fix turbo race condition (#5839) 2025-07-23 10:49:11 +02:00
vitest.config.ts improve test scripts (#6016) 2025-10-17 22:07:01 +08:00

@uppy/dashboard

Uppy logo: a smiling puppy above a pink upwards arrow

npm version CI status for Uppy tests CI status for Companion tests CI status for browser tests

Dashboard is a universal UI plugin for Uppy:

  • Drag and Drop, paste, select from local disk / my device
  • UI for Webcam and remote sources: Google Drive, Dropbox, Instagram (all optional, added via plugins)
  • File previews and info
  • Metadata editor
  • Progress: total and for individual files
  • Ability to pause/resume or cancel (depending on uploader plugin) individual or all files

Read the docs | Try it

Uppy is being developed by the folks at Transloadit, a versatile file encoding service.

Example

import Uppy from '@uppy/core'
import Dashboard from '@uppy/dashboard'

const uppy = new Uppy()
uppy.use(Dashboard, {
  target: 'body',
  inline: true,
})

Installation

$ npm install @uppy/dashboard

Alternatively, you can also use this plugin in a pre-built bundle from Transloadits CDN: Smart CDN. In that case Uppy will attach itself to the global window.Uppy object. See the main Uppy documentation for instructions.

Documentation

Documentation for this plugin can be found on the Uppy website.

License

The MIT License.