# Mopinion Survey

**Mopinion Survey** allows you to easily install Mopinion surveys into your application and collect feedback without using external JavaScript. Usually you'll want to use Mopinion Survey together with [Mopinion Deploy](https://www.npmjs.com/package/@mopinion/deploy) which allows you to use our deployments inside the Mopinion application to easily setup which surveys should show where on your website. However you can manually trigger surveys as well.

## Installation

Install Mopinion Survey via npm:

```
npm install @mopinion/survey --save
```

Or install with yarn:

```
yarn add @mopinion/survey
```

## Support

If you need help, want to report an issue or have a question you can reach out to our Support Team via support@mopinion.com. Please make sure to include your Mopinion account when contacting our Support Team.

## Usage

Build your surveys inside the Mopinion application and use the following code to run the survey on your website.

## Example

```
import mopinionSurvey from '@mopinion/survey';

const options: {
  key: string,
  domain: string,
  triggerMethod: 'passive' | 'proactive',
  container: HTMLElement,
  showButton?: boolean,
  forceType?: 'modal' | 'slide' | 'embed'
} = {
  key: 'dadw345t34rtgergmfsdmkfsdasd',
  domain: 'app.mopinion.com',
  triggerMethod: 'passive',
  container: document.body
};
mopinionSurvey.open(options);
```

## Options

#### `key` - required

The key refers to your Mopinion feedback form key, copy it inside the application.

#### `domain` - required

The domain refers to your custom Mopinion subdomain otherwise it's 'app.mopinion.com'.

#### `triggerMethod` - required

The trigger method property specifies how the form will show. `'passive'` will render a feedback button which controls the open state of the form. 'proactive' will open the form without a button. In the case that the form is an embedded form no button will show for either setting.

#### `container` - required

Pass an HTML element which is used as a container for your survey. This is mostly relevant for embbeded type forms.

#### `showButton` - optional

Allows you to force a feedback button to show as well when triggering a form with proactive

#### `forceType` - optional

Allows you to override the setting for display type set in the Mopinion application.
