@team-monite/ui-widgets-react
TypeScript icon, indicating that this package has built-in type declarations

2.9.1 • Public • Published

Monite UI Widgets

npm version

A library of ready-to-use React components connected to the Monite API. These components display the data served from the Monite API and also provide data editing functionality.

Note: This package is part of a monorepo. See the main README for more information.

Requirements

  • Node.js 16 or later.
  • At least 8 GB RAM on each development workstation.
  • A partner account registered with Monite. For details, see Get started with Monite API.

Supported browsers

Monite UI Widgets support the five latest versions of major browsers: Chrome, Firefox, Safari, Edge, Opera.

Installation

npm install @team-monite/ui-widgets-react 

or

yarn add @team-monite/ui-widgets-react

Usage

Before using Monite UI Widgets, complete the Getting started guide to set up your partner account and get API the credentials.

We also assume you have already mapped out your customers and their users as entities and entity users in Monite, and that you have the ability to:

  • look up the Monite entity user ID for the user who is logged in to your application;
  • look up the Monite entity ID to which the user belongs.

When an entity user logs in to your application, look up the entity ID and user ID for that user, and call Monite's POST /auth/token endpoint to generate a Monite access token for that user.

Once you have a user access token and an entity ID, you can initialize the Monite client and widgets, as shown.

The following example renders a table that displays an entity's counterparts:

import { MoniteSDK } from "@team-monite/sdk-api";
import {
  MoniteProvider,
  CounterpartsTable,
} from "@team-monite/ui-widgets-react";

function App() {
  const fetchToken = async () => {
    const response = await fetch(
      "https://api.sandbox.monite.com/v1/auth/token",
      {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          "x-monite-version": "2023-06-04", //Monite API version
        },
        body: JSON.stringify({
          grant_type: "entity_user",
          entity_user_id: "ENTITY_USER_ID",
          client_id: "CLIENT_ID",
          client_secret: "CLIENT_SECRET",
        }),
      }
    );

    return response.json();
  };

  const monite = new MoniteSDK({
    apiUrl: "https://api.sandbox.monite.com/v1", // '<https://api.monite.com/v1>' if in Production
    entityId: "ENTITY_ID",
    fetchToken,
  });

  return (
    <MoniteProvider monite={monite} locale={{ currencyLocale: "de-DE" }}>
      <div className="App">
        <CounterpartsTable />
      </div>
    </MoniteProvider>
  );
}

export default App;

The MoniteProvider element serves as a wrapper for other Monite-connected components. Any other components imported from @team-monite/ui-widgets-react must be placed inside this element.

Documentation

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @team-monite/ui-widgets-react

Weekly Downloads

6

Version

2.9.1

License

MIT

Unpacked Size

2.8 MB

Total Files

8

Last publish

Collaborators

  • monite-package-publisher
  • nekedos
  • artem_monite
  • m_alex_batalov
  • andrey_tarasov