# @igloo-ui/modal

> The Modal is an interface component positioned over the page content to emphasize new elements. It blocks standard navigation and requires interaction from the user to be dismissed.

Latest version **3.0.0** (published 2026-03-24) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @igloo-ui/modal
pnpm add @igloo-ui/modal
yarn add @igloo-ui/modal
bun add @igloo-ui/modal
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2026-03-24 |
| First published | 2022-05-20 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 10 |
| Unpacked size | 32.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 23 |
| Author | Officevibe Inc. |
| Maintainers | infra.admin, alexasselin008 |

## Links

- npm: https://www.npmjs.com/package/@igloo-ui/modal
- Repository: https://github.com/workleap/ov-igloo-ui
- Homepage: https://github.com/workleap/ov-igloo-ui#readme
- Issues: https://github.com/workleap/ov-igloo-ui/issues
- npm.io page: https://npm.io/package/@igloo-ui/modal

## Dependencies (10)

- [classnames](https://npm.io/package/classnames.md) ^2.3.2
- [react-aria](https://npm.io/package/react-aria.md) ^3.32.1
- [framer-motion](https://npm.io/package/framer-motion.md) ^6.5.1
- [@igloo-ui/icons](https://npm.io/package/@igloo-ui/icons.md) ^1.12.2
- [@igloo-ui/tokens](https://npm.io/package/@igloo-ui/tokens.md) ^2.1.0
- [@types/react-dom](https://npm.io/package/@types/react-dom.md) 18.0.11
- [@hopper-ui/tokens](https://npm.io/package/@hopper-ui/tokens.md) ^5.0.0
- [@igloo-ui/carousel](https://npm.io/package/@igloo-ui/carousel.md) ^0.5.0
- [@igloo-ui/icon-button](https://npm.io/package/@igloo-ui/icon-button.md) ^2.1.0
- [@hopper-ui/icons-react16](https://npm.io/package/@hopper-ui/icons-react16.md) 2.4.0

## Recent versions

- 3.0.0 (latest) — 2026-03-24
- 2.0.1 — 2026-03-11
- 2.0.0 — 2025-07-22
- 1.9.1 — 2025-01-23
- 1.9.0 — 2024-09-23
- 1.8.3 — 2024-09-18
- 1.8.2 — 2024-08-01
- 1.8.1 — 2024-05-31
- 1.8.0 — 2024-05-27
- 1.7.7 — 2024-05-17
- 1.7.6 — 2024-05-02
- 1.7.5 — 2024-04-19
- 1.7.4 — 2024-04-17
- 1.7.3 — 2024-04-10
- 1.7.2 — 2024-03-08
- … 41 more at https://npm.io/package/@igloo-ui/modal/versions

## README

# Modal

The Modal is an interface component positioned over the page content to emphasize new elements. It blocks standard navigation and requires interaction from the user to be dismissed.

<Example is="custom" />

<ReferenceLinks is="custom" />

## Installation

To install `@igloo-ui/modal` in your project, you will need to run the following command using [npm](https://www.npmjs.com/):

```bash
npm install @igloo-ui/modal
```

If you prefer [Yarn](https://classic.yarnpkg.com/en/), use the following command instead:

```bash
yarn add @igloo-ui/modal
```

## Usage

Then to use the component in your code just import it!

```jsx
import Modal from '@igloo-ui/modal';
import Button from '@igloo-ui/button';

const [show, setShow] = useState(false);

<Button appearance="secondary" onClick={() => setShow(true)}>
  open modal
</Button>;

<Modal
  title={`Modal title`}
  isDismissable
  isClosable
  isOpen={show}
  closeBtnAriaLabel={`Close`}
  onClose={() => setShow(false)}
>
  Modal content
</Modal>;
```

## Troubleshooting

**When a Dialog opens above a Modal**

In this case, when you close the Dialog, the Modal closes automatically. Here is a workaround to remedy this.

To solve the problem, set the `isDismissable` property of the Modal to `false` when the Dialog component is up and then return to `true` when it closes.

---
_Source: https://npm.io/package/@igloo-ui/modal · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
