uppy/packages/@uppy/react
Prakash 2117874073
packages/@uppy/* : remove "main" from package.json (#5943)
- The blocker was `@uppy/angular` — its build was failing because it
could not resolve modules and types for its dependencies
(`@uppy/dashboard`, `@uppy/utils`, `@uppy/provider-views`,
`@uppy/core`).

```typescript
------------------------------------------------------------------------------
Building entry point '@uppy/angular'
------------------------------------------------------------------------------
✖ Compiling with Angular sources in Ivy partial compilation mode.
../dashboard/lib/Dashboard.d.ts:1:106 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.

1 import type { Body, DefinePluginOpts, Meta, State, UIPluginOptions, UnknownPlugin, Uppy, UppyFile } from '@uppy/core';
                                                                                                           ~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:2:26 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.

2 import { UIPlugin } from '@uppy/core';
                           ~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:3:35 - error TS2307: Cannot find module '@uppy/provider-views' or its corresponding type declarations.


```

Angular (TypeScript with moduleResolution: node) required a "main" or
"types" field in each dependency’s package.json, and ignored their
"exports" map.
2025-09-04 17:02:01 +05:30
..
src remove react h (#5938) 2025-08-29 16:24:16 +02:00
.npmignore @uppy/react: refactor to TS (#5012) 2024-03-27 11:03:34 +01:00
CHANGELOG.md [ci] release (#5936) 2025-08-28 17:03:19 +02:00
LICENSE Move React components to @uppy/react package. 2018-06-18 10:14:08 +02:00
package.json packages/@uppy/* : remove "main" from package.json (#5943) 2025-09-04 17:02:01 +05:30
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

@uppy/react

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

React component wrappers around Uppys officially maintained UI plugins.

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

Example

/** @jsx React */
import React from 'react'
import Uppy from '@uppy/core'
import { DashboardModal } from '@uppy/react'

const uppy = new Uppy()

class Example extends React.Component {
  state = { open: false }

  render() {
    const { open } = this.state
    return (
      <DashboardModal
        uppy={uppy}
        open={open}
        onRequestClose={this.handleClose}
      />
    )
  }
  // ..snip..
}

Installation

$ npm install @uppy/react

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.