# @fremtind/jkl-modal-react

> Jøkul react modal

Latest version **2.1.81** (published 2025-12-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install @fremtind/jkl-modal-react
pnpm add @fremtind/jkl-modal-react
yarn add @fremtind/jkl-modal-react
bun add @fremtind/jkl-modal-react
```

## Health

**Score 65/100 (B)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 2.1.81 |
| Published | 2025-12-11 |
| First published | 2023-05-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 8 |
| Unpacked size | 51.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 77 |
| Maintainers | pior-h, a11860, fremtind-bot |
| Keywords | jøkul, fremtind |

## Links

- npm: https://www.npmjs.com/package/@fremtind/jkl-modal-react
- Repository: https://github.com/fremtind/jokul
- Homepage: https://github.com/fremtind/jokul/tree/pre-1.0/packages/modal-react
- Issues: https://github.com/fremtind/jokul/issues
- npm.io page: https://npm.io/package/@fremtind/jkl-modal-react

## Dependencies (8)

- [classnames](https://npm.io/package/classnames.md) ^2.5.1
- [prop-types](https://npm.io/package/prop-types.md) ^15.8.1
- [react-a11y-dialog](https://npm.io/package/react-a11y-dialog.md) ^6.2.0
- [@fremtind/jkl-core](https://npm.io/package/@fremtind/jkl-core.md) ^14.10.9
- [@fremtind/jkl-modal](https://npm.io/package/@fremtind/jkl-modal.md) ^2.2.26
- [@fremtind/jkl-icons-react](https://npm.io/package/@fremtind/jkl-icons-react.md) ^9.2.11
- [@fremtind/jkl-react-hooks](https://npm.io/package/@fremtind/jkl-react-hooks.md) ^12.3.4
- [@fremtind/jkl-icon-button-react](https://npm.io/package/@fremtind/jkl-icon-button-react.md) ^5.0.45

## Recent versions

- 2.1.81 (latest) — 2025-12-11
- 2.1.80 — 2025-12-01
- 2.1.79 — 2025-10-15
- 2.1.78 — 2025-06-03
- 2.1.77 — 2025-05-15
- 2.1.76 — 2025-05-05
- 2.1.75 — 2025-02-18
- 2.1.74 — 2025-02-07
- 2.1.73 — 2025-01-31
- 2.1.72 — 2025-01-30
- 2.1.71 — 2025-01-28
- 2.1.70 — 2025-01-23
- 2.1.69 — 2025-01-22
- 2.1.68 — 2025-01-14
- 2.1.67 — 2025-01-13
- … 86 more at https://npm.io/package/@fremtind/jkl-modal-react/versions

## README

# [`@fremtind/jkl-modal-react`](https://jokul.fremtind.no/komponenter/modal)

Se portalen for [bruk og prinsipper](https://jokul.fremtind.no/komponenter/modal).

## Installasjon

**Tips:** [stilpakken](../modal/) blir automatisk installert som en avhengighet.

1. `npm i @fremtind/jkl-modal-react`.
2. Importér _både_ React-komponent og stilark i prosjektet ditt.

```jsx
import {
    ModalContainer,
    ModalOverlay,
    Modal,
    ModalHeader,
    ModalTitle,
    ModalCloseButton,
    ModalBody,
    ModalActions,
    useModal,
} from "@fremtind/jkl-modal-react";

import { PrimaryButton, TertiaryButton } from "@fremtind/jkl-button-react";

// Importer stilark via JavaScript med CSS-loader.
import "@fremtind/jkl-modal/modal.min.css";
import "@fremtind/jkl-icon-button/icon-button.min.css";
import "@fremtind/jkl-icons/icons.min.css";

// Bruk av komponentene
const heading = "Bekreft sletting";
const role = "dialog";
const [instance, { title, overlay, container, modal, closeButton }] = useModal({
    title: heading,
    role,
});

useEffect(() => {
    if (!instance) {
        return;
    }
    instance.show();
}, [instance]);

return ReactDOM.createPortal(
    <ModalContainer {...container}>
        <ModalOverlay {...overlay} />
        <Modal {...modal}>
            <ModalHeader>
                <ModalTitle {...title}>{heading}</ModalTitle>
                <ModalCloseButton {...closeButton} />
            </ModalHeader>
            <ModalBody>Er du sikker på at du vil slette Foo Bar Baz?</ModalBody>
            <ModalActions>
                <PrimaryButton onClick={() => instance?.hide()}>
                    Bekreft
                </PrimaryButton>
                <TertiaryButton onClick={() => instance?.hide()}>
                    Avbryt
                </TertiaryButton>
            </ModalActions>
        </Modal>
    </ModalContainer>,
    document.body,
);
```

```scss
// Eller importer stilark via SCSS.
@use "@fremtind/jkl-modal/modal";
@use "@fremtind/jkl-icon-button/icon-button";
@use "@fremtind/jkl-icons/icons";
```

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