react-mindee-js
Version:
Front-End Computer Vision SDK for React
109 lines (77 loc) • 3.64 kB
Markdown
There are many powerful JavaScript frameworks and tools that can help you make an interactive canvas. But almost all of them are _low-level_. Like [KONVA](https://konvajs.org/) is a 2d canvas framework. It is good, it is powerful. But you may need to write a lot of code.
This library was made for building frontend interfaces on top of **[Mindee](https://mindee.com/)** document parsing APIs and more generally on top of any computer vision detection APIs.
[](https://www.npmjs.com/package/react-mindee-js/v/1.3.0) [](https://github.com/mindee/react-mindee-js/actions/workflows/cypress-workflow.yml)

- Support for image and PDF files
- Interactive shapes with events binding
- Extensible styling API
- Controllable state props and modular architecture
- Zoom in and out feature out of the box
- Magnified/Zoomed view API
The React SDK is compatible with `React 16.8.0 +`
The easiest way to use react-select is to install it from npm and build it into your app with Webpack.
```bash
npm install --save react-mindee-js
```
or using yarn
```
yarn add react-mindee-js
```
You only need an image and a list of shapes to get started.
```jsx
import React from 'react'
import { AnnotationViewer } from 'react-mindee-js'
import dummyImage from 'path-to-your/file.jpg'
const dummyShapes = [
{
id: 1,
coordinates: [
[],
[],
[],
[],
],
},
{
id: 2,
coordinates: [
[],
[],
[],
[],
],
},
]
const data = {
image: dummyImage,
shapes: dummyShapes,
}
function App() {
return <AnnotationViewer data={data} />
}
```
- **`data`** : include 3 properties. `image` file to draw in the canvas, `shapes` which expect a list of shapes and`orientation` of the provided image (default: 0)
- **`onShapeClick`** : return the shape object after a click event
- **`onShapeMouseEnter`** : return the shape object after a mouse enter event
- **`onShapeMouseLeave`** : return the shape object after a mouse leave event
- **`onShapeMultiSelect`** : return the selected shapes using (CTRL + MOUSE CLICK & MOVE)
- **`options`** : object of properties to customize default configs
- **`id`** : unique id, if not provided it will be automatically generated
- **`style`** : style object to change container css properties
- **`className`** : apply a className to the control
## Browser support
React mindee supports all recent browsers and works where React works. However, you may need check the [SSR](/docs/ssr) section.
## Contribute to this repo
Feel free to use github to submit issues, pull requests or general feedback.
You can also visit [our website](https://mindee.com) or drop us an [email](mailto:contact@mindee.com).
Please read our [Contributing section](https://github.com/publicMindee/react-mindee-js/blob/master/CONTRIBUTING.md) before contributing.
## License
MIT © [mindee](https://mindee.com)