# PopupOptions

### Overview

Specify popup options in your embedded [\<Feathery.Form>](https://docs.feathery.io/develop/react/api-guide/form) to easily display it as a popup over existing content rather than inline with the content.

Behavior-wise, the form will appear over your existing content. Any visible content below will be darkened and blurred, and users will be able to exit the popup by clicking outside of it or the `X` in the top-right corner.

<figure><img src="https://640450274-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHAVngDAEk3s8Bw7P6Ntz%2Fuploads%2FK4TOmSgh9TSdSKD2CLKf%2FScreenshot%202023-02-27%20at%203.24.15%20PM.png?alt=media&#x26;token=281ca93a-7afb-4509-a0b7-13eae2f4befb" alt=""><figcaption></figcaption></figure>

### Usage <a href="#usage" id="usage"></a>

Both of the `PopupOptions` parameters, the `show` flag and `onHide` callback function, must be specified in order for the popup to work properly.

```typescript
import { useState } from 'react';
import { init, Form } from '@feathery/react';

function App() {
  // Initialize Feathery
  init('SDKKey', 'support@feathery.io');
  const [showPopup, setShowPopup] = useState(false);

  // Show the `aBcDeF` Feathery form as a popup that
  // appears when button `showForm` is clicked
  return <>
    <button id='showForm' onClick={() => setShowPopup(true)}/>
    <Form
      formId='aBcDeF'
      popupOptions={{
        show: showPopup,
        onHide: () => setShowPopup(false),
      }}
    />
  </>
}
```

### PopupOptions parameters

|    Key   |     Type     | Description                                                                                                                                                                                                                |
| :------: | :----------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  `show`  |   `boolean`  | Whether the Feathery popup form should currently be shown or hidden.                                                                                                                                                       |
| `onHide` | `() => void` | This callback function will be triggered when a `hide` event occurs in the popup. This occurs when the user attempts to navigate out of or close the popup. When this event occurs, you must set the `show` flag to false. |
