@apideck/file-picker
Version:
A React file picker component that works with the Apideck [File Storage API](https://developers.apideck.com/apis/file-storage/reference).
68 lines (51 loc) • 3.35 kB
Markdown
file picker component that works with the Apideck [File Storage API](https://developers.apideck.com/apis/file-storage/reference).
Sign up for a free account at [apideck.com](https://app.apideck.com/signup) to obtain an API key and App ID.
Install the component
```sh
yarn add @apideck/file-picker
```
Create a [Vault session](https://developers.apideck.com/apis/vault/reference#operation/sessionsCreate) inside your application to get a JSON Web Token.
Pass the JWT together with your App ID and a consumer ID to the FilePicker component
```js
import { FilePicker } from '@apideck/file-picker'
import '@apideck/file-picker/dist/styles.css'
const MyComponent = () => {
const handleSelect = (file) => {
console.log(file)
}
return (
<FilePicker
onSelect={handleSelect}
trigger={<button>Pick a file</button>}
jwt="token-123"
appId="your-app-id"
consumerId="your-consumer-id"
/>
)
}
```
You can also provide a file through the `fileToSave` prop that will force the FilePicker to go into "Upload" mode. This will allow the user to select the connector and folder that the file needs to get saved to.
| Property | Type | Required | Default | Description |
| --------------- | ------- | -------- | ------------------- | --------------------------------------------------------------------- |
| appId | string | true | - | The ID of your Unify application |
| consumerId | string | true | - | The ID of the consumer which you want to fetch files from |
| jwt | string | true | - | The JSON Web Token returned from the Create Session call |
| onSelect | event | true | - | The function that gets called when a file is selected |
| trigger | element | false | - | The component that should trigger the File Picker modal on click |
| title | string | false | Apideck File Picker | Title shown in the modal |
| subTitle | string | false | Select a file | Subtitle shown in the modal |
| showAttribution | boolean | false | true | Show "Powered by Apideck" in the backdrop of the modal backdrop |
| open | boolean | false | false | Opens the file picker if set to true |
| onClose | event | false | - | Function that gets called when the modal is closed |
| fileToSave | file | false | - | Forces "Upload" mode to select the folder to upload the provided file |
The FilePicker is styled using [Tailwind CSS](https://tailwindcss.com/). If you were to use the File Picker component in a project that also uses Tailwind CSS, you can omit the CSS file import, and include the package in the purge path of the tailwind.config.css.
```js
// tailwind.config.js
purge: [
'./node_modules/@apideck/file-picker/dist/*.js',
],
```
A React