Reusable promise based windowing component for LINZ / Toitū te whenua.
React state based modals/windows are painful because they require:
- shared states for open/closed.
- callbacks/states for return values.
- inline modal/window includes, which prevent you from closing the invoking component before the modal/window has completed.
- multi-window dialogs.
- html5 dialog based.
This module gives you promise based modals/windows which don't require all the state based boilerplate / inline-components.
So you can simply do this in your react-app:
const result = await showModal(TestModal)
- Async HTML dialog based Modals.
- Draggable and resizeable, pop-in/out Panels/Windows.
npm install @linzjs/windows
or with Yarn
yarn add @linzjs/windows
npm run storybook
See Chromatic storybook for documentation.