# Rainbow SDK for React Native

Welcome to the Rainbow SDK for React Native!
This React Native SDK library was built in Typescript and we published it as a Node.js package.
Since our library is written with TypeScript, it would be nice to have access to our package from TypeScript and JavaScript projects alike. so we used a React Native library builder called   [bob](https://github.com/callstack/react-native-builder-bob), which is a simple CLI to scaffold and build React Native libraries for different targets. bob also provides simple example modules for Android and iOS which you can build upon.


## Get Started

### Installation

Follow
[these instructions](/doc/sdk/reactnative/tutorials/getting_started)
to install Rainbow SDK for React Native!

### Usage

Start using the components or try it by running the sample app You can find it in the example project we provided in the SDK repository [example link](https://github.com/Rainbow-CPaaS/Rainbow-React-Native-Samples)


```js
import React, { Component } from 'react';
import { Invitations, Logger } from 'react-native-rainbow-module';
const logger = new Logger('InvitationsComponent');
export class InvitationsComponent extends Component {
    constructor(props: any) {
        super(props);
    }
    public render() {
        logger.info('has rendered: InvitationsComponent');
        return (
            <Invitations />
        );
    }
}
```

## Components included:

-  [Connecting to rainbow](/doc/sdk/reactnative/tutorials/connecting_to_rainbow)
-  [Dialpad](/doc/sdk/reactnative/tutorials/dialpad)
-  [Invitations](/doc/sdk/reactnative/tutorials/invitations)
-  [Button](/doc/sdk/reactnative/tutorials/listen_for_events)
-  [Logger](/doc/sdk/reactnative/tutorials/logger)
-  [Im Conversation](/doc/sdk/reactnative/tutorials/make_im_conversation)
-  [Permissions](/doc/sdk/reactnative/tutorials/permissions)
-  [CallLogs](/doc/sdk/reactnative/tutorials/retrieve_callLogs)
-  [Contacts](/doc/sdk/reactnative/tutorials/retrieve_contacts)
-  [Conversations](/doc/sdk/reactnative/tutorials/retrieve_conversations)
-  [WebRtc/PBX Calls](/doc/sdk/reactnative/tutorials/retrieve_WebRtc-PBX)
-  [Bubbles](/doc/sdk/reactnative/tutorials/bubbles)
-  [Search](/doc/sdk/reactnative/tutorials/search)
-  [searchBarInput](/doc/sdk/reactnative/tutorials/searchBarInput)
-  [Messages](/doc/sdk/reactnative/tutorials/searchBarInput)

## Demo App

Checkout the official
[React Native Rainbow App](https://github.com/Rainbow-CPaaS/Rainbow-React-Native-Samples)
on Github repo which uses all of the Rainbow React Native components.

## Documentation

[View the full docs here on Rainbow API Hub](/doc/sdk/reactnative/tutorials/getting_started)


