Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apideck-libraries/file-picker
A React file picker component using the unified File Storage API
https://github.com/apideck-libraries/file-picker
Last synced: 7 days ago
JSON representation
A React file picker component using the unified File Storage API
- Host: GitHub
- URL: https://github.com/apideck-libraries/file-picker
- Owner: apideck-libraries
- License: mit
- Created: 2021-09-14T07:59:38.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-06T13:27:27.000Z (almost 2 years ago)
- Last Synced: 2023-03-03T23:25:18.152Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://file-picker.apideck.dev/
- Size: 2.29 MB
- Stars: 21
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Apideck File Picker
A React 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.
[FilePicker JS](https://github.com/apideck-libraries/file-picker-js) | **React FilePicker** | [Vue FilePicker](https://github.com/apideck-libraries/vue-file-picker)
## Usage
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 (
Pick a file}
token=""
/>
)
}
```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.
### Properties
| Property | Type | Required | Default | Description |
| ------------------ | ------- | -------- | ------------------- | --------------------------------------------------------------------- |
| token | string | true | - | The JSON Web Token returned from the Create Session call |
| onSelect | event | false | - | The function that gets called when a file is selected |
| onConnectionSelect | event | false | - | The function that gets called when a connection 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 |### Using Tailwind?
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',
],
```