React components and wrappers

Learn about components and wrappers on the Monite React SDK.

The Monite React UI Component SDK comes pre-built with React components and wrappers that can be used within React-based web applications. The following sections describe these components and their configuration:

The MoniteProvider wrapper

The MoniteProvider is the root component that must wrap all other Monite-connected components. The wrapper provides extra configuration for all Monite components beneath it.

First, create an object with the parameters as shown:

1const moniteConfig = {
2 apiUrl: "https://api.sandbox.monite.com/v1",
3 entityId: "ENTITY_ID",
4 fetchToken: fetchToken,
5);

The following table shows all the object properties and their descriptions:

PropertyTypeDescription
apiUrlstringThe URL for the API in use.
entityIdstringThe Monite entity to which the entity user belongs.
fetchTokenfunctionA custom function that returns authorization tokens for authenticating subsequent requests

Then, import and utilize in the MoniteProvider wrapper as shown:

1import { MoniteProvider } from "@monite/sdk-react";
2
3function App() {
4 return (
5 <div className="App">
6 <MoniteProvider monite={moniteConfig}>
7 ...
8 </MoniteProvider>
9 </div>
10 );
11}
12
13export default App;

The Dialog component

The Dialog component is a wrapper component that wraps Monite React SDK components. The component provides configuration for all Monite SDK components under it. The Dialog component has three props—open, fullScreen and alignDialog—that determine the availability and alignment of its child component(s).

When the open prop is true, the React SDK component(s) beneath the Dialog wrapper is rendered as a modal and aligned to the center of the page by default. The alignDialog prop is used to align the component modal to the left or right-hand side. Alternatively, using the fullScreen prop renders the component in a full-screen layout.

1return (
2 <Dialog open alignDialog="right">
3 <InvoiceDetails id="INVOICE_ID" />
4 </Dialog>
5);
PropsTypeDescription
alignDialog("left"|"right")This prop determines the alignment of the component. If undefined, the child component(s) of the Dialog wrapper is aligned to the center of the page.
fullScreenbooleanWhen used, the child component of the Dialog components are rendered as a full screen. This prop must not be used together with the alignDialog prop.
openbooleanThis prop determines whether or not the Dialog wrapper’s child component is rendered. If set to false, the Dialog is closed and components beneath the Dialog component will not be rendered.

Since the Dialog component affects all components beneath it, we recommend bringing in the component at instances where you need to render either the InvoiceDetails or CounterpartDetails components as modals.