@stenajs-webui/modal 20.3.0 → 20.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export declare const setupDeclarativeModals: (htmlElement: string | HTMLElement) => void;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./common-types";
2
+ export * from "./declarative-modals/DeclarativeModalSetup";
2
3
  export * from "./declarative-modals/window/BaseWindow";
3
4
  export * from "./declarative-modals/drawer/Drawer";
4
5
  export * from "./declarative-modals/drawer/DrawerHeader";
package/dist/index.es.js CHANGED
@@ -1,13 +1,15 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode("._overlay_5x3op_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_5x3op_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1{background-color:#fff}}._overlay_5x3op_1 ._modal_5x3op_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_5x3op_1 ._modal_5x3op_31{width:100%}}._overlay_5x3op_1 ._content_5x3op_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;top:calc(var(--swui-metrics-space) * 2);width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_5x3op_1 ._content_5x3op_41{top:0;width:100%;max-width:100%}}._overlay_5x3op_1 ._content_5x3op_41{animation:_appear_5x3op_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1 ._content_5x3op_41{box-shadow:none;top:0}}._overlay_5x3op_1 ._content_5x3op_41 :focus{outline:0}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle{cursor:move}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle .draggable-modal-cancel,._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_5x3op_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_5x3op_1{0%{opacity:0}to{opacity:1}}._footer_5x3op_101{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_5x3op_105{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_5x3op_105{position:static;box-shadow:none}}._portal_17ze5_1{--drawer-width: 370px}._portal_17ze5_1 ._overlay_17ze5_4{position:fixed;top:0;right:0;bottom:0;left:0}._portal_17ze5_1 ._content_17ze5_9{box-shadow:var(--swui-shadow-modal);background:#fff;position:absolute;transition:transform var(--swui-animation-time-medium) ease-in-out}._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:var(--swui-metrics-space);border-radius:var(--swui-border-radius)}@media (max-width: 768px){._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:0;border-radius:0}}._portal_17ze5_1 ._content_17ze5_9:focus-visible{outline:unset}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._afterOpen_17ze5_36{transform:translate(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._beforeClose_17ze5_40{transform:translate(var(--translate-x-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._afterOpen_17ze5_36{transform:translateY(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._beforeClose_17ze5_40{transform:translateY(var(--translate-y-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29{--translate-x-outside-screen: -100%;width:var(--drawer-width);left:0}._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{--translate-x-outside-screen: 100%;width:var(--drawer-width);right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45{--translate-y-outside-screen: -100%;height:var(--drawer-width);top:0}._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{--translate-y-outside-screen: 100%;height:var(--drawer-width);bottom:0}._overlay_r9tkq_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_r9tkq_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1{background-color:#fff}}._overlay_r9tkq_1 ._modal_r9tkq_31{max-width:100%;outline:none;pointer-events:none;padding:var(--swui-metrics-space)}._overlay_r9tkq_1 ._content_r9tkq_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width);animation:_appear_r9tkq_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1 ._content_r9tkq_38{box-shadow:none;top:0}}._overlay_r9tkq_1 ._content_r9tkq_38 :focus{outline:0}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle{cursor:move}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle .draggable-modal-cancel,._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_r9tkq_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_r9tkq_1{0%{opacity:0}to{opacity:1}}._footer_r9tkq_92{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_r9tkq_96{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_r9tkq_96{position:static;box-shadow:none}}._overlay_1rolx_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_1rolx_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1{background-color:#fff}}._overlay_1rolx_1 ._modal_1rolx_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_1rolx_1 ._modal_1rolx_31{width:100%}}._overlay_1rolx_1 ._content_1rolx_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_1rolx_1 ._content_1rolx_41{border-radius:0;width:100%;max-width:100%;height:100vh}}._overlay_1rolx_1 ._content_1rolx_41{animation:_appear_1rolx_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1 ._content_1rolx_41{box-shadow:none;top:0}}._overlay_1rolx_1 ._content_1rolx_41 :focus{outline:0}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle{cursor:move}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle .draggable-modal-cancel,._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_1rolx_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_1rolx_1{0%{opacity:0}to{opacity:1}}._footer_1rolx_102{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_1rolx_106{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_1rolx_106{position:static;box-shadow:none}}._modal_4fwgb_1{display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent}._overlay_4fwgb_13{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--swui-overlay-bg-color)}._alertDialog_14t8t_1{border:0;outline:0;border-radius:var(--swui-border-radius-large);margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}._alertDialog_14t8t_1:not([open]){display:none}._alertDialog_14t8t_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22[open]{animation:_slideOut_14t8t_1 .25s forwards}._alertDialog_14t8t_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22::backdrop{animation:_fadeOut_14t8t_1 .25s forwards}@keyframes _fadeIn_14t8t_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_14t8t_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_14t8t_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_14t8t_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._drawerDialog_3e8xf_1{max-height:100%;max-width:100%;border:0;outline:0;margin:0;padding:0;overscroll-behavior:contain;box-shadow:#0003 0 0 10px 4px;position:fixed}._drawerDialog_3e8xf_1._left_3e8xf_12,._drawerDialog_3e8xf_1._right_3e8xf_13{height:100%;top:0;bottom:0}._drawerDialog_3e8xf_1._left_3e8xf_12 ._contentWrapper_3e8xf_18,._drawerDialog_3e8xf_1._right_3e8xf_13 ._contentWrapper_3e8xf_18{height:100%}@media (max-width: 768px){._drawerDialog_3e8xf_1._left_3e8xf_12,._drawerDialog_3e8xf_1._right_3e8xf_13{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}._drawerDialog_3e8xf_1._left_3e8xf_12{left:0;right:unset}._drawerDialog_3e8xf_1._left_3e8xf_12[open]{animation:_slideInLeft_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._left_3e8xf_12._closing_3e8xf_35[open]{animation:_slideOutLeft_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._right_3e8xf_13{left:unset;right:0}._drawerDialog_3e8xf_1._right_3e8xf_13[open]{animation:_slideInRight_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._right_3e8xf_13._closing_3e8xf_35[open]{animation:_slideOutRight_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._top_3e8xf_53,._drawerDialog_3e8xf_1._bottom_3e8xf_54{width:100%;left:0;right:0}@media (max-width: 768px){._drawerDialog_3e8xf_1._top_3e8xf_53,._drawerDialog_3e8xf_1._bottom_3e8xf_54{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}}._drawerDialog_3e8xf_1._top_3e8xf_53{top:0;bottom:unset}._drawerDialog_3e8xf_1._top_3e8xf_53[open]{animation:_slideInTop_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._top_3e8xf_53._closing_3e8xf_35[open]{animation:_slideOutTop_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._bottom_3e8xf_54{top:unset;bottom:0}._drawerDialog_3e8xf_1._bottom_3e8xf_54[open]{animation:_slideInBottom_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._bottom_3e8xf_54._closing_3e8xf_35[open]{animation:_slideOutBottom_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1[open]{opacity:1;pointer-events:auto}@keyframes _slideInLeft_3e8xf_1{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutLeft_3e8xf_1{0%{transform:translate(0);opacity:0}to{transform:translate(-100%);opacity:1}}@keyframes _slideInTop_3e8xf_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutTop_3e8xf_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(-100%);opacity:1}}@keyframes _slideInRight_3e8xf_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutRight_3e8xf_1{0%{transform:translate(0);opacity:0}to{transform:translate(100%);opacity:1}}@keyframes _slideInBottom_3e8xf_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutBottom_3e8xf_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(100%);opacity:1}}._modalDialog_1czrs_1{border:0;outline:0;margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}@media (min-width: 769px){._modalDialog_1czrs_1{border-radius:var(--swui-border-radius-large)}}._modalDialog_1czrs_1:not([open]){display:none}._modalDialog_1czrs_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_1czrs_1 .25s forwards}._modalDialog_1czrs_1._closing_1czrs_25[open]{animation:_slideOut_1czrs_1 .25s forwards}@media (max-width: 768px){._modalDialog_1czrs_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_1czrs_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_1czrs_1 .25s forwards}._modalDialog_1czrs_1._closing_1czrs_25::backdrop{animation:_fadeOut_1czrs_1 .25s forwards}@keyframes _fadeIn_1czrs_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_1czrs_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_1czrs_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_1czrs_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._modalActionButtons_s27nj_1{display:flex;flex-direction:row;gap:16px;justify-content:center}@media (max-width: 768px){._modalActionButtons_s27nj_1{flex-direction:column;justify-content:stretch}}")),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
+ import b from "react-modal";
2
3
  import { jsx as l, jsxs as s, Fragment as F } from "react/jsx-runtime";
3
- import w from "react-modal";
4
4
  import p from "react-draggable";
5
5
  import o from "classnames";
6
6
  import { exhaustSwitchCase as ee, Spacing as M, Row as C, Space as q, Heading as E, Column as V, Box as x, Indent as te, Txt as le, Text as ae } from "@stenajs-webui/core";
7
7
  import { Icon as J, FlatButton as re, stenaTimes as ce, Spinner as ne, CloseButton as K, CircledIcon as se } from "@stenajs-webui/elements";
8
8
  import { cssColor as oe } from "@stenajs-webui/theme";
9
- import { createContext as de, useRef as O, useReducer as _e, useState as H, useCallback as R, useMemo as ie, createElement as P, useContext as me } from "react";
10
- const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", he = "_content_5x3op_41", ye = "_appear_5x3op_1", Ce = "_isDraggable_5x3op_70", ve = "_footer_5x3op_101", Ne = "_stickyFooter_5x3op_105", N = {
9
+ import { createContext as de, useRef as w, useReducer as _e, useState as H, useCallback as R, useMemo as ie, createElement as P, useContext as me } from "react";
10
+ const jt = (t) => {
11
+ b.setAppElement(t);
12
+ }, ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", he = "_content_5x3op_41", ye = "_appear_5x3op_1", Ce = "_isDraggable_5x3op_70", ve = "_footer_5x3op_101", Ne = "_stickyFooter_5x3op_105", N = {
11
13
  overlay: ue,
12
14
  fadeIn: fe,
13
15
  modal: ge,
@@ -23,7 +25,7 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
23
25
  children: r,
24
26
  ...c
25
27
  }) => /* @__PURE__ */ l(
26
- w,
28
+ b,
27
29
  {
28
30
  overlayClassName: N.overlay,
29
31
  className: N.modal,
@@ -51,18 +53,18 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
51
53
  }
52
54
  )
53
55
  }
54
- ), be = "_portal_17ze5_1", Ie = "_overlay_17ze5_4", Oe = "_content_17ze5_9", we = "_floating_17ze5_15", $e = "_slideFromLeft_17ze5_29", De = "_slideFromRight_17ze5_30", ke = "_afterOpen_17ze5_36", Fe = "_beforeClose_17ze5_40", Be = "_slideFromTop_17ze5_45", ze = "_slideFromBottom_17ze5_46", n = {
56
+ ), be = "_portal_17ze5_1", Ie = "_overlay_17ze5_4", Oe = "_content_17ze5_9", we = "_floating_17ze5_15", De = "_slideFromLeft_17ze5_29", $e = "_slideFromRight_17ze5_30", ke = "_afterOpen_17ze5_36", Fe = "_beforeClose_17ze5_40", Be = "_slideFromTop_17ze5_45", ze = "_slideFromBottom_17ze5_46", n = {
55
57
  portal: be,
56
58
  overlay: Ie,
57
59
  content: Oe,
58
60
  floating: we,
59
- slideFromLeft: $e,
60
- slideFromRight: De,
61
+ slideFromLeft: De,
62
+ slideFromRight: $e,
61
63
  afterOpen: ke,
62
64
  beforeClose: Fe,
63
65
  slideFromTop: Be,
64
66
  slideFromBottom: ze
65
- }, jt = ({
67
+ }, qt = ({
66
68
  background: t,
67
69
  zIndex: e,
68
70
  children: a,
@@ -73,7 +75,7 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
73
75
  }) => {
74
76
  const { height: m, width: _ } = d;
75
77
  return /* @__PURE__ */ l(
76
- w,
78
+ b,
77
79
  {
78
80
  closeTimeoutMS: 250,
79
81
  portalClassName: n.portal,
@@ -110,7 +112,7 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
110
112
  default:
111
113
  return ee(t, n.slideFromLeft);
112
114
  }
113
- }, qt = ({
115
+ }, Ht = ({
114
116
  header: t,
115
117
  contentRight: e,
116
118
  onRequestClose: a,
@@ -159,11 +161,11 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
159
161
  isDraggable: Ee,
160
162
  footer: Te,
161
163
  stickyFooter: je
162
- }, qe = { overlay: { justifyContent: "center" } }, Ht = ({
164
+ }, qe = { overlay: { justifyContent: "center" } }, Pt = ({
163
165
  children: t,
164
166
  ...e
165
167
  }) => /* @__PURE__ */ l(
166
- w,
168
+ b,
167
169
  {
168
170
  overlayClassName: A.overlay,
169
171
  className: A.modal,
@@ -187,11 +189,11 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
187
189
  isDraggable: Ke,
188
190
  footer: Qe,
189
191
  stickyFooter: Ue
190
- }, Xe = { overlay: { justifyContent: "center" } }, Pt = ({
192
+ }, Xe = { overlay: { justifyContent: "center" } }, Gt = ({
191
193
  children: t,
192
194
  ...e
193
195
  }) => /* @__PURE__ */ l(
194
- w,
196
+ b,
195
197
  {
196
198
  overlayClassName: L.overlay,
197
199
  className: L.modal,
@@ -209,14 +211,14 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
209
211
  ), Ye = "_modal_4fwgb_1", Ze = "_overlay_4fwgb_13", G = {
210
212
  modal: Ye,
211
213
  overlay: Ze
212
- }, Gt = ({
214
+ }, Vt = ({
213
215
  headerIconLeft: t,
214
216
  headerText: e,
215
217
  shouldCloseOnOverlayClick: a = !1,
216
218
  shouldCloseOnEsc: r = !1,
217
219
  ...c
218
220
  }) => /* @__PURE__ */ l(
219
- w,
221
+ b,
220
222
  {
221
223
  ...c,
222
224
  isOpen: !0,
@@ -276,7 +278,7 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
276
278
  ) })
277
279
  ]
278
280
  }
279
- ), Vt = ({
281
+ ), Jt = ({
280
282
  header: t,
281
283
  headerText: e,
282
284
  children: a,
@@ -287,11 +289,11 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
287
289
  closeButtonClassName: m,
288
290
  footer: _,
289
291
  disableStickyFooter: v = !1,
290
- ...b
292
+ ...I
291
293
  }) => /* @__PURE__ */ s(
292
294
  xe,
293
295
  {
294
- ...b,
296
+ ...I,
295
297
  onRequestClose: d,
296
298
  draggable: g,
297
299
  children: [
@@ -316,41 +318,41 @@ const ue = "_overlay_5x3op_1", fe = "_fadeIn_5x3op_1", ge = "_modal_5x3op_31", h
316
318
  )
317
319
  ]
318
320
  }
319
- ), Jt = ({ children: t }) => /* @__PURE__ */ l(V, { indent: 2, spacing: 2, children: t }), X = de(
321
+ ), Kt = ({ children: t }) => /* @__PURE__ */ l(V, { indent: 2, spacing: 2, children: t }), X = de(
320
322
  void 0
321
323
  );
322
324
  function T(t, e) {
323
- const a = O(null), r = e.ref ?? a, [c, g] = _e((i) => i + 1, 0), d = O(), m = O(), _ = O(), v = O(), [b, $] = H(!1), [B, I] = H(!1), z = t, Z = R(
325
+ const a = w(null), r = e.ref ?? a, [c, g] = _e((i) => i + 1, 0), d = w(), m = w(), _ = w(), v = w(), [I, D] = H(!1), [B, O] = H(!1), z = t, Z = R(
324
326
  (i) => {
325
327
  var u, f;
326
328
  return d.current = new Promise(
327
329
  (h, y) => {
328
330
  m.current = h, v.current = y;
329
331
  }
330
- ), I(!1), $(!0), g(), _.current = i, e != null && e.modal ? (u = r.current) == null || u.showModal() : (f = r.current) == null || f.show(), d.current;
332
+ ), O(!1), D(!0), g(), _.current = i, e != null && e.modal ? (u = r.current) == null || u.showModal() : (f = r.current) == null || f.show(), d.current;
331
333
  },
332
334
  [r, e == null ? void 0 : e.modal]
333
335
  ), j = R(
334
336
  (i) => {
335
337
  var u;
336
- I(!0), (u = r.current) == null || u.addEventListener(
338
+ O(!0), (u = r.current) == null || u.addEventListener(
337
339
  "animationend",
338
340
  () => {
339
341
  var f, h, y;
340
- I(!1), $(!1), (f = r.current) == null || f.close(), (h = m.current) == null || h.call(m, i), _.current = void 0, (y = e == null ? void 0 : e.onResolve) == null || y.call(e);
342
+ O(!1), D(!1), (f = r.current) == null || f.close(), (h = m.current) == null || h.call(m, i), _.current = void 0, (y = e == null ? void 0 : e.onResolve) == null || y.call(e);
341
343
  },
342
344
  { once: !0 }
343
345
  );
344
346
  },
345
347
  [r, e]
346
- ), D = R(
348
+ ), $ = R(
347
349
  (i) => {
348
350
  var u;
349
- I(!0), (u = r.current) == null || u.addEventListener(
351
+ O(!0), (u = r.current) == null || u.addEventListener(
350
352
  "animationend",
351
353
  () => {
352
354
  var f, h, y;
353
- I(!1), $(!1), (f = r.current) == null || f.close(), (h = v.current) == null || h.call(v, i), (y = e == null ? void 0 : e.onReject) == null || y.call(e), _.current = void 0;
355
+ O(!1), D(!1), (f = r.current) == null || f.close(), (h = v.current) == null || h.call(v, i), (y = e == null ? void 0 : e.onReject) == null || y.call(e), _.current = void 0;
354
356
  },
355
357
  { once: !0 }
356
358
  );
@@ -358,29 +360,29 @@ function T(t, e) {
358
360
  [r, e]
359
361
  );
360
362
  return [ie(
361
- () => /* @__PURE__ */ l(X.Provider, { value: { resolve: j, reject: D }, children: /* @__PURE__ */ l(
363
+ () => /* @__PURE__ */ l(X.Provider, { value: { resolve: j, reject: $ }, children: /* @__PURE__ */ l(
362
364
  "dialog",
363
365
  {
364
- onClick: e != null && e.disableCloseOnClickOutside ? void 0 : () => D(),
366
+ onClick: e != null && e.disableCloseOnClickOutside ? void 0 : () => $(),
365
367
  ref: r,
366
368
  className: o(
367
369
  e == null ? void 0 : e.className,
368
370
  B && (e == null ? void 0 : e.closingClassName)
369
371
  ),
370
372
  style: e == null ? void 0 : e.dialogStyle,
371
- children: e != null && e.disableCloseOnClickOutside ? /* @__PURE__ */ l(F, { children: b && /* @__PURE__ */ P(z, { ..._.current, key: c }) }) : /* @__PURE__ */ l(
373
+ children: e != null && e.disableCloseOnClickOutside ? /* @__PURE__ */ l(F, { children: I && /* @__PURE__ */ P(z, { ..._.current, key: c }) }) : /* @__PURE__ */ l(
372
374
  "div",
373
375
  {
374
376
  className: e == null ? void 0 : e.contentWrapperClassName,
375
377
  onClick: e != null && e.disableCloseOnClickOutside ? void 0 : (i) => i.stopPropagation(),
376
- children: b && /* @__PURE__ */ P(z, { ..._.current, key: c })
378
+ children: I && /* @__PURE__ */ P(z, { ..._.current, key: c })
377
379
  }
378
380
  )
379
381
  }
380
382
  ) }),
381
383
  [
382
384
  j,
383
- D,
385
+ $,
384
386
  e == null ? void 0 : e.disableCloseOnClickOutside,
385
387
  e == null ? void 0 : e.className,
386
388
  e == null ? void 0 : e.closingClassName,
@@ -388,13 +390,13 @@ function T(t, e) {
388
390
  e == null ? void 0 : e.contentWrapperClassName,
389
391
  r,
390
392
  B,
391
- b,
393
+ I,
392
394
  z,
393
395
  c
394
396
  ]
395
- ), { show: Z, reject: D }];
397
+ ), { show: Z, reject: $ }];
396
398
  }
397
- const Kt = () => {
399
+ const Qt = () => {
398
400
  const t = me(X);
399
401
  if (t == null)
400
402
  throw new Error("useDialogPromise is being used outside of dialog.");
@@ -407,7 +409,7 @@ const Kt = () => {
407
409
  fadeIn: rt,
408
410
  fadeOut: ct
409
411
  };
410
- function Qt(t, e) {
412
+ function Ut(t, e) {
411
413
  return T(t, {
412
414
  ...e,
413
415
  modal: !0,
@@ -436,7 +438,7 @@ const nt = "_drawerDialog_3e8xf_1", st = "_left_3e8xf_12", ot = "_right_3e8xf_13
436
438
  slideInBottom: vt,
437
439
  slideOutBottom: Nt
438
440
  };
439
- function Ut(t, e = "left", a) {
441
+ function Xt(t, e = "left", a) {
440
442
  return T(t, {
441
443
  ...a,
442
444
  disableCloseOnClickOutside: !0,
@@ -449,15 +451,15 @@ function Ut(t, e = "left", a) {
449
451
  className: o(a == null ? void 0 : a.className, k.drawerDialog, k[e])
450
452
  });
451
453
  }
452
- const xt = "_modalDialog_1czrs_1", bt = "_slideIn_1czrs_1", It = "_closing_1czrs_25", Ot = "_slideOut_1czrs_1", wt = "_fadeIn_1czrs_1", $t = "_fadeOut_1czrs_1", S = {
454
+ const xt = "_modalDialog_1czrs_1", bt = "_slideIn_1czrs_1", It = "_closing_1czrs_25", Ot = "_slideOut_1czrs_1", wt = "_fadeIn_1czrs_1", Dt = "_fadeOut_1czrs_1", S = {
453
455
  modalDialog: xt,
454
456
  slideIn: bt,
455
457
  closing: It,
456
458
  slideOut: Ot,
457
459
  fadeIn: wt,
458
- fadeOut: $t
460
+ fadeOut: Dt
459
461
  };
460
- function Xt(t, e) {
462
+ function Yt(t, e) {
461
463
  return T(t, {
462
464
  ...e,
463
465
  modal: !0,
@@ -469,11 +471,11 @@ function Xt(t, e) {
469
471
  className: o(e == null ? void 0 : e.className, S.modalDialog)
470
472
  });
471
473
  }
472
- const Y = ({ children: t }) => /* @__PURE__ */ l(E, { variant: "h3", as: "h2", children: t }), Dt = "_modalActionButtons_s27nj_1", kt = {
473
- modalActionButtons: Dt
474
+ const Y = ({ children: t }) => /* @__PURE__ */ l(E, { variant: "h3", as: "h2", children: t }), $t = "_modalActionButtons_s27nj_1", kt = {
475
+ modalActionButtons: $t
474
476
  }, Ft = ({
475
477
  buttons: t
476
- }) => /* @__PURE__ */ l("div", { className: kt.modalActionButtons, children: t }), Bt = ({ gap: t = 2, ...e }) => /* @__PURE__ */ l(x, { indent: 4, spacing: 4, gap: t, ...e }), Yt = ({
478
+ }) => /* @__PURE__ */ l("div", { className: kt.modalActionButtons, children: t }), Bt = ({ gap: t = 2, ...e }) => /* @__PURE__ */ l(x, { indent: 4, spacing: 4, gap: t, ...e }), Zt = ({
477
479
  icon: t,
478
480
  buttons: e,
479
481
  heading: a,
@@ -499,7 +501,7 @@ const Y = ({ children: t }) => /* @__PURE__ */ l(E, { variant: "h3", as: "h2", c
499
501
  ] }) })
500
502
  ]
501
503
  }
502
- ), Zt = ({
504
+ ), pt = ({
503
505
  heading: t,
504
506
  onClickClose: e
505
507
  }) => /* @__PURE__ */ s(C, { justifyContent: "space-between", children: [
@@ -507,26 +509,27 @@ const Y = ({ children: t }) => /* @__PURE__ */ l(E, { variant: "h3", as: "h2", c
507
509
  /* @__PURE__ */ l(K, { onClick: e })
508
510
  ] });
509
511
  export {
510
- Ht as Alert,
512
+ Pt as Alert,
511
513
  xe as BaseWindow,
512
514
  U as DRAGGABLE_CANCEL_CLASSNAME,
513
515
  Q as DRAGGABLE_HANDLE_CLASSNAME,
514
- jt as Drawer,
515
- qt as DrawerHeader,
516
- Yt as InfoAlert,
517
- Gt as LoadingModal,
518
- Pt as Modal,
516
+ qt as Drawer,
517
+ Ht as DrawerHeader,
518
+ Zt as InfoAlert,
519
+ Vt as LoadingModal,
520
+ Gt as Modal,
519
521
  Ft as ModalActionButtons,
520
522
  Bt as ModalBody,
521
- Zt as ModalHeader,
523
+ pt as ModalHeader,
522
524
  Y as ModalHeading,
523
- Vt as Window,
524
- Jt as WindowFooter,
525
+ Jt as Window,
526
+ Kt as WindowFooter,
525
527
  pe as WindowHeader,
526
- Qt as useAlertDialog,
528
+ jt as setupDeclarativeModals,
529
+ Ut as useAlertDialog,
527
530
  T as useDialog,
528
- Kt as useDialogPromise,
529
- Ut as useDrawerDialog,
530
- Xt as useModalDialog
531
+ Qt as useDialogPromise,
532
+ Xt as useDrawerDialog,
533
+ Yt as useModalDialog
531
534
  };
532
535
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalHeader.tsx"],"sourcesContent":["import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\n zIndex?: number;\n onRequestClose?: () => void;\n /**\n * Portal target, HTML element. If not set, portal is not used.\n */\n portalTarget?: HTMLElement | null;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n floating,\n ...reactModalProps\n}) => {\n const { height, width } = reactModalProps as FlattenUnion<DrawerProps>;\n\n return (\n <ReactModal\n closeTimeoutMS={250}\n portalClassName={styles.portal}\n overlayClassName={{\n base: styles.overlay,\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n className={{\n base: cx(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, height, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n\nconst getClassNameForSlide = (slideFrom: SlideFrom): string => {\n switch (slideFrom) {\n case \"left\":\n return styles.slideFromLeft;\n case \"right\":\n return styles.slideFromRight;\n case \"top\":\n return styles.slideFromTop;\n case \"bottom\":\n return styles.slideFromBottom;\n default:\n return exhaustSwitchCase(slideFrom, styles.slideFromLeft);\n }\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n footer,\n disableStickyFooter = false,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options?.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options?.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options?.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options?.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options?.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(\n options?.className,\n closing && options?.closingClassName\n )}\n style={options?.dialogStyle}\n >\n {options?.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n className={options?.contentWrapperClassName}\n onClick={\n options?.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options?.disableCloseOnClickOutside,\n options?.className,\n options?.closingClassName,\n options?.dialogStyle,\n options?.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return <div className={styles.modalActionButtons}>{buttons}</div>;\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 2, ...props }) => {\n return <Box indent={4} spacing={4} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Box, Spacing, Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { MediumIcon } from \"@stenajs-webui/elements\";\nimport { CircledIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && (\n <>\n <Box width={\"100%\"}>\n <Spacing />\n <ModalActionButtons buttons={buttons} />\n </Box>\n </>\n )}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n"],"names":["DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","jsx","ReactModal","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","useRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalHeader","onClickClose"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/declarative-modals/DeclarativeModalSetup.ts","../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalHeader.tsx"],"sourcesContent":["import ReactModal from \"react-modal\";\n\nexport const setupDeclarativeModals = (htmlElement: string | HTMLElement) => {\n ReactModal.setAppElement(htmlElement);\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\n zIndex?: number;\n onRequestClose?: () => void;\n /**\n * Portal target, HTML element. If not set, portal is not used.\n */\n portalTarget?: HTMLElement | null;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n floating,\n ...reactModalProps\n}) => {\n const { height, width } = reactModalProps as FlattenUnion<DrawerProps>;\n\n return (\n <ReactModal\n closeTimeoutMS={250}\n portalClassName={styles.portal}\n overlayClassName={{\n base: styles.overlay,\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n className={{\n base: cx(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, height, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n\nconst getClassNameForSlide = (slideFrom: SlideFrom): string => {\n switch (slideFrom) {\n case \"left\":\n return styles.slideFromLeft;\n case \"right\":\n return styles.slideFromRight;\n case \"top\":\n return styles.slideFromTop;\n case \"bottom\":\n return styles.slideFromBottom;\n default:\n return exhaustSwitchCase(slideFrom, styles.slideFromLeft);\n }\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n footer,\n disableStickyFooter = false,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options?.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options?.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options?.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options?.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options?.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(\n options?.className,\n closing && options?.closingClassName\n )}\n style={options?.dialogStyle}\n >\n {options?.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n className={options?.contentWrapperClassName}\n onClick={\n options?.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options?.disableCloseOnClickOutside,\n options?.className,\n options?.closingClassName,\n options?.dialogStyle,\n options?.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return <div className={styles.modalActionButtons}>{buttons}</div>;\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 2, ...props }) => {\n return <Box indent={4} spacing={4} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Box, Spacing, Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { MediumIcon } from \"@stenajs-webui/elements\";\nimport { CircledIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && (\n <>\n <Box width={\"100%\"}>\n <Spacing />\n <ModalActionButtons buttons={buttons} />\n </Box>\n </>\n )}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n"],"names":["setupDeclarativeModals","htmlElement","ReactModal","DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","jsx","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","useRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalHeader","onClickClose"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode("._overlay_5x3op_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_5x3op_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1{background-color:#fff}}._overlay_5x3op_1 ._modal_5x3op_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_5x3op_1 ._modal_5x3op_31{width:100%}}._overlay_5x3op_1 ._content_5x3op_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;top:calc(var(--swui-metrics-space) * 2);width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_5x3op_1 ._content_5x3op_41{top:0;width:100%;max-width:100%}}._overlay_5x3op_1 ._content_5x3op_41{animation:_appear_5x3op_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1 ._content_5x3op_41{box-shadow:none;top:0}}._overlay_5x3op_1 ._content_5x3op_41 :focus{outline:0}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle{cursor:move}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle .draggable-modal-cancel,._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_5x3op_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_5x3op_1{0%{opacity:0}to{opacity:1}}._footer_5x3op_101{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_5x3op_105{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_5x3op_105{position:static;box-shadow:none}}._portal_17ze5_1{--drawer-width: 370px}._portal_17ze5_1 ._overlay_17ze5_4{position:fixed;top:0;right:0;bottom:0;left:0}._portal_17ze5_1 ._content_17ze5_9{box-shadow:var(--swui-shadow-modal);background:#fff;position:absolute;transition:transform var(--swui-animation-time-medium) ease-in-out}._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:var(--swui-metrics-space);border-radius:var(--swui-border-radius)}@media (max-width: 768px){._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:0;border-radius:0}}._portal_17ze5_1 ._content_17ze5_9:focus-visible{outline:unset}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._afterOpen_17ze5_36{transform:translate(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._beforeClose_17ze5_40{transform:translate(var(--translate-x-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._afterOpen_17ze5_36{transform:translateY(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._beforeClose_17ze5_40{transform:translateY(var(--translate-y-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29{--translate-x-outside-screen: -100%;width:var(--drawer-width);left:0}._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{--translate-x-outside-screen: 100%;width:var(--drawer-width);right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45{--translate-y-outside-screen: -100%;height:var(--drawer-width);top:0}._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{--translate-y-outside-screen: 100%;height:var(--drawer-width);bottom:0}._overlay_r9tkq_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_r9tkq_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1{background-color:#fff}}._overlay_r9tkq_1 ._modal_r9tkq_31{max-width:100%;outline:none;pointer-events:none;padding:var(--swui-metrics-space)}._overlay_r9tkq_1 ._content_r9tkq_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width);animation:_appear_r9tkq_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1 ._content_r9tkq_38{box-shadow:none;top:0}}._overlay_r9tkq_1 ._content_r9tkq_38 :focus{outline:0}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle{cursor:move}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle .draggable-modal-cancel,._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_r9tkq_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_r9tkq_1{0%{opacity:0}to{opacity:1}}._footer_r9tkq_92{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_r9tkq_96{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_r9tkq_96{position:static;box-shadow:none}}._overlay_1rolx_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_1rolx_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1{background-color:#fff}}._overlay_1rolx_1 ._modal_1rolx_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_1rolx_1 ._modal_1rolx_31{width:100%}}._overlay_1rolx_1 ._content_1rolx_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_1rolx_1 ._content_1rolx_41{border-radius:0;width:100%;max-width:100%;height:100vh}}._overlay_1rolx_1 ._content_1rolx_41{animation:_appear_1rolx_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1 ._content_1rolx_41{box-shadow:none;top:0}}._overlay_1rolx_1 ._content_1rolx_41 :focus{outline:0}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle{cursor:move}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle .draggable-modal-cancel,._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_1rolx_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_1rolx_1{0%{opacity:0}to{opacity:1}}._footer_1rolx_102{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_1rolx_106{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_1rolx_106{position:static;box-shadow:none}}._modal_4fwgb_1{display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent}._overlay_4fwgb_13{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--swui-overlay-bg-color)}._alertDialog_14t8t_1{border:0;outline:0;border-radius:var(--swui-border-radius-large);margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}._alertDialog_14t8t_1:not([open]){display:none}._alertDialog_14t8t_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22[open]{animation:_slideOut_14t8t_1 .25s forwards}._alertDialog_14t8t_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22::backdrop{animation:_fadeOut_14t8t_1 .25s forwards}@keyframes _fadeIn_14t8t_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_14t8t_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_14t8t_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_14t8t_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._drawerDialog_3e8xf_1{max-height:100%;max-width:100%;border:0;outline:0;margin:0;padding:0;overscroll-behavior:contain;box-shadow:#0003 0 0 10px 4px;position:fixed}._drawerDialog_3e8xf_1._left_3e8xf_12,._drawerDialog_3e8xf_1._right_3e8xf_13{height:100%;top:0;bottom:0}._drawerDialog_3e8xf_1._left_3e8xf_12 ._contentWrapper_3e8xf_18,._drawerDialog_3e8xf_1._right_3e8xf_13 ._contentWrapper_3e8xf_18{height:100%}@media (max-width: 768px){._drawerDialog_3e8xf_1._left_3e8xf_12,._drawerDialog_3e8xf_1._right_3e8xf_13{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}._drawerDialog_3e8xf_1._left_3e8xf_12{left:0;right:unset}._drawerDialog_3e8xf_1._left_3e8xf_12[open]{animation:_slideInLeft_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._left_3e8xf_12._closing_3e8xf_35[open]{animation:_slideOutLeft_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._right_3e8xf_13{left:unset;right:0}._drawerDialog_3e8xf_1._right_3e8xf_13[open]{animation:_slideInRight_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._right_3e8xf_13._closing_3e8xf_35[open]{animation:_slideOutRight_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._top_3e8xf_53,._drawerDialog_3e8xf_1._bottom_3e8xf_54{width:100%;left:0;right:0}@media (max-width: 768px){._drawerDialog_3e8xf_1._top_3e8xf_53,._drawerDialog_3e8xf_1._bottom_3e8xf_54{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}}._drawerDialog_3e8xf_1._top_3e8xf_53{top:0;bottom:unset}._drawerDialog_3e8xf_1._top_3e8xf_53[open]{animation:_slideInTop_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._top_3e8xf_53._closing_3e8xf_35[open]{animation:_slideOutTop_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._bottom_3e8xf_54{top:unset;bottom:0}._drawerDialog_3e8xf_1._bottom_3e8xf_54[open]{animation:_slideInBottom_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1._bottom_3e8xf_54._closing_3e8xf_35[open]{animation:_slideOutBottom_3e8xf_1 .25s forwards}._drawerDialog_3e8xf_1[open]{opacity:1;pointer-events:auto}@keyframes _slideInLeft_3e8xf_1{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutLeft_3e8xf_1{0%{transform:translate(0);opacity:0}to{transform:translate(-100%);opacity:1}}@keyframes _slideInTop_3e8xf_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutTop_3e8xf_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(-100%);opacity:1}}@keyframes _slideInRight_3e8xf_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutRight_3e8xf_1{0%{transform:translate(0);opacity:0}to{transform:translate(100%);opacity:1}}@keyframes _slideInBottom_3e8xf_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutBottom_3e8xf_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(100%);opacity:1}}._modalDialog_1czrs_1{border:0;outline:0;margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}@media (min-width: 769px){._modalDialog_1czrs_1{border-radius:var(--swui-border-radius-large)}}._modalDialog_1czrs_1:not([open]){display:none}._modalDialog_1czrs_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_1czrs_1 .25s forwards}._modalDialog_1czrs_1._closing_1czrs_25[open]{animation:_slideOut_1czrs_1 .25s forwards}@media (max-width: 768px){._modalDialog_1czrs_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_1czrs_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_1czrs_1 .25s forwards}._modalDialog_1czrs_1._closing_1czrs_25::backdrop{animation:_fadeOut_1czrs_1 .25s forwards}@keyframes _fadeIn_1czrs_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_1czrs_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_1czrs_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_1czrs_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._modalActionButtons_s27nj_1{display:flex;flex-direction:row;gap:16px;justify-content:center}@media (max-width: 768px){._modalActionButtons_s27nj_1{flex-direction:column;justify-content:stretch}}")),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),D=require("react-modal"),J=require("react-draggable"),d=require("classnames"),r=require("@stenajs-webui/core"),x=require("@stenajs-webui/elements"),K=require("@stenajs-webui/theme"),n=require("react"),Q="_overlay_5x3op_1",U="_fadeIn_5x3op_1",X="_modal_5x3op_31",Y="_content_5x3op_41",Z="_appear_5x3op_1",p="_isDraggable_5x3op_70",ee="_footer_5x3op_101",te="_stickyFooter_5x3op_105",N={overlay:Q,fadeIn:U,modal:X,content:Y,appear:Z,isDraggable:p,footer:ee,stickyFooter:te},L="draggable-modal-handle",M="draggable-modal-cancel",q=({width:l,maxWidth:e,draggable:a=!1,children:s,...c})=>t.jsx(D,{overlayClassName:N.overlay,className:N.modal,...c,children:t.jsx(J,{handle:`.${L}`,cancel:`.${M}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!a,children:t.jsx("div",{style:{"--swui-modal-width":l,"--swui-modal-max-width":e},className:d(N.content,{[N.isDraggable]:a}),children:s})})}),le="_portal_17ze5_1",ae="_overlay_17ze5_4",se="_content_17ze5_9",re="_floating_17ze5_15",ne="_slideFromLeft_17ze5_29",ce="_slideFromRight_17ze5_30",oe="_afterOpen_17ze5_36",de="_beforeClose_17ze5_40",ie="_slideFromTop_17ze5_45",_e="_slideFromBottom_17ze5_46",o={portal:le,overlay:ae,content:se,floating:re,slideFromLeft:ne,slideFromRight:ce,afterOpen:oe,beforeClose:de,slideFromTop:ie,slideFromBottom:_e},ue=({background:l,zIndex:e,children:a,slideFrom:s="left",portalTarget:c,floating:h,...i})=>{const{height:m,width:_}=i;return t.jsx(D,{closeTimeoutMS:250,portalClassName:o.portal,overlayClassName:{base:o.overlay,afterOpen:o.afterOpen,beforeClose:o.beforeClose},className:{base:d(o.content,me(s),h&&o.floating),afterOpen:o.afterOpen,beforeClose:o.beforeClose},style:{content:{width:_,height:m,background:l},overlay:{zIndex:e}},parentSelector:c?()=>c:void 0,...i,children:a})},me=l=>{switch(l){case"left":return o.slideFromLeft;case"right":return o.slideFromRight;case"top":return o.slideFromTop;case"bottom":return o.slideFromBottom;default:return r.exhaustSwitchCase(l,o.slideFromLeft)}},ge=({header:l,contentRight:e,onRequestClose:a,icon:s})=>t.jsx(r.Spacing,{position:"sticky",top:0,zIndex:100,background:K.cssColor("--lhds-color-ui-50"),children:t.jsxs(r.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[t.jsxs(r.Row,{alignItems:"center",gap:2,children:[t.jsx(r.Space,{num:1}),s&&t.jsx(x.Icon,{icon:s,size:24}),t.jsx(r.Heading,{variant:"h4",children:l})]}),t.jsxs(r.Row,{gap:1,children:[e,t.jsx(x.FlatButton,{leftIcon:x.stenaTimes,onClick:a,variant:"danger"}),t.jsx(r.Space,{num:.5})]})]})}),fe="_overlay_r9tkq_1",xe="_fadeIn_r9tkq_1",he="_modal_r9tkq_31",Ce="_content_r9tkq_38",ye="_appear_r9tkq_1",je="_isDraggable_r9tkq_61",Ne="_footer_r9tkq_92",ve="_stickyFooter_r9tkq_96",F={overlay:fe,fadeIn:xe,modal:he,content:Ce,appear:ye,isDraggable:je,footer:Ne,stickyFooter:ve},we={overlay:{justifyContent:"center"}},be=({children:l,...e})=>t.jsx(D,{overlayClassName:F.overlay,className:F.modal,style:we,...e,children:t.jsx("div",{className:F.content,style:{"--swui-modal-width":"fit-content"},children:l})}),De="_overlay_1rolx_1",Ie="_fadeIn_1rolx_1",Oe="_modal_1rolx_31",$e="_content_1rolx_41",ke="_appear_1rolx_1",Be="_isDraggable_1rolx_71",Fe="_footer_1rolx_102",Re="_stickyFooter_1rolx_106",R={overlay:De,fadeIn:Ie,modal:Oe,content:$e,appear:ke,isDraggable:Be,footer:Fe,stickyFooter:Re},Ae={overlay:{justifyContent:"center"}},Se=({children:l,...e})=>t.jsx(D,{overlayClassName:R.overlay,className:R.modal,style:Ae,...e,children:t.jsx("div",{className:R.content,style:{"--swui-modal-width":"fit-content"},children:l})}),Le="_modal_4fwgb_1",Me="_overlay_4fwgb_13",E={modal:Le,overlay:Me},ze=({headerIconLeft:l,headerText:e,shouldCloseOnOverlayClick:a=!1,shouldCloseOnEsc:s=!1,...c})=>t.jsx(D,{...c,isOpen:!0,shouldCloseOnOverlayClick:a,shouldCloseOnEsc:s,className:E.modal,overlayClassName:E.overlay,children:t.jsxs(r.Column,{spacing:2,alignItems:"center",children:[t.jsx(r.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:t.jsx(x.Spinner,{size:"small"})}),(l||e)&&t.jsxs(t.Fragment,{children:[t.jsx(r.Spacing,{}),t.jsxs(r.Row,{indent:2,children:[l&&t.jsxs(t.Fragment,{children:[t.jsx(x.Icon,{size:14,icon:l,color:"white"}),t.jsx(r.Indent,{})]}),e&&t.jsx(r.Heading,{variant:"h4",color:"white",children:e})]})]})]})}),H=({onRequestClose:l,header:e,headerText:a,closeButtonClassName:s})=>t.jsxs(r.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:L,children:[t.jsxs(r.Row,{flex:1,indent:!0,alignItems:"center",children:[a&&t.jsx(r.Txt,{className:M,size:"large",children:a}),e]}),t.jsx(r.Box,{alignSelf:"flex-start",children:t.jsx(x.CloseButton,{className:s,onClick:l})})]}),We=({header:l,headerText:e,children:a,spacing:s,indent:c,draggable:h=!1,onRequestClose:i,closeButtonClassName:m,footer:_,disableStickyFooter:j=!1,...v})=>{const w=typeof s=="number"?s:1,I=typeof c=="number"?c:1;return t.jsxs(q,{...v,onRequestClose:i,draggable:h,children:[t.jsx(H,{onRequestClose:i,header:l,headerText:e,closeButtonClassName:m}),t.jsx(r.Box,{spacing:w,indent:I,children:a}),_&&t.jsx(r.Box,{className:d(N.footer,{[N.stickyFooter]:!j}),children:_})]})},Ee=({children:l})=>t.jsx(r.Column,{indent:2,spacing:2,children:l}),T=n.createContext(void 0);function k(l,e){const a=n.useRef(null),s=e.ref??a,[c,h]=n.useReducer(u=>u+1,0),i=n.useRef(),m=n.useRef(),_=n.useRef(),j=n.useRef(),[v,w]=n.useState(!1),[I,b]=n.useState(!1),B=l,V=n.useCallback(u=>{var g,f;return i.current=new Promise((C,y)=>{m.current=C,j.current=y}),b(!1),w(!0),h(),_.current=u,e!=null&&e.modal?(g=s.current)==null||g.showModal():(f=s.current)==null||f.show(),i.current},[s,e==null?void 0:e.modal]),W=n.useCallback(u=>{var g;b(!0),(g=s.current)==null||g.addEventListener("animationend",()=>{var f,C,y;b(!1),w(!1),(f=s.current)==null||f.close(),(C=m.current)==null||C.call(m,u),_.current=void 0,(y=e==null?void 0:e.onResolve)==null||y.call(e)},{once:!0})},[s,e]),O=n.useCallback(u=>{var g;b(!0),(g=s.current)==null||g.addEventListener("animationend",()=>{var f,C,y;b(!1),w(!1),(f=s.current)==null||f.close(),(C=j.current)==null||C.call(j,u),(y=e==null?void 0:e.onReject)==null||y.call(e),_.current=void 0},{once:!0})},[s,e]);return[n.useMemo(()=>t.jsx(T.Provider,{value:{resolve:W,reject:O},children:t.jsx("dialog",{onClick:e!=null&&e.disableCloseOnClickOutside?void 0:()=>O(),ref:s,className:d(e==null?void 0:e.className,I&&(e==null?void 0:e.closingClassName)),style:e==null?void 0:e.dialogStyle,children:e!=null&&e.disableCloseOnClickOutside?t.jsx(t.Fragment,{children:v&&n.createElement(B,{..._.current,key:c})}):t.jsx("div",{className:e==null?void 0:e.contentWrapperClassName,onClick:e!=null&&e.disableCloseOnClickOutside?void 0:u=>u.stopPropagation(),children:v&&n.createElement(B,{..._.current,key:c})})})}),[W,O,e==null?void 0:e.disableCloseOnClickOutside,e==null?void 0:e.className,e==null?void 0:e.closingClassName,e==null?void 0:e.dialogStyle,e==null?void 0:e.contentWrapperClassName,s,I,v,B,c]),{show:V,reject:O}]}const qe=()=>{const l=n.useContext(T);if(l==null)throw new Error("useDialogPromise is being used outside of dialog.");return l},He="_alertDialog_14t8t_1",Te="_slideIn_14t8t_1",Ge="_closing_14t8t_22",Pe="_slideOut_14t8t_1",Ve="_fadeIn_14t8t_1",Je="_fadeOut_14t8t_1",A={alertDialog:He,slideIn:Te,closing:Ge,slideOut:Pe,fadeIn:Ve,fadeOut:Je};function Ke(l,e){return k(l,{...e,modal:!0,closingClassName:d(e==null?void 0:e.closingClassName,A.closing),contentWrapperClassName:d(e==null?void 0:e.contentWrapperClassName,A.contentWrapper),className:d(e==null?void 0:e.className,A.alertDialog)})}const Qe="_drawerDialog_3e8xf_1",Ue="_left_3e8xf_12",Xe="_right_3e8xf_13",Ye="_contentWrapper_3e8xf_18",Ze="_slideInLeft_3e8xf_1",pe="_closing_3e8xf_35",et="_slideOutLeft_3e8xf_1",tt="_slideInRight_3e8xf_1",lt="_slideOutRight_3e8xf_1",at="_top_3e8xf_53",st="_bottom_3e8xf_54",rt="_slideInTop_3e8xf_1",nt="_slideOutTop_3e8xf_1",ct="_slideInBottom_3e8xf_1",ot="_slideOutBottom_3e8xf_1",$={drawerDialog:Qe,left:Ue,right:Xe,contentWrapper:Ye,slideInLeft:Ze,closing:pe,slideOutLeft:et,slideInRight:tt,slideOutRight:lt,top:at,bottom:st,slideInTop:rt,slideOutTop:nt,slideInBottom:ct,slideOutBottom:ot};function dt(l,e="left",a){return k(l,{...a,disableCloseOnClickOutside:!0,modal:!1,closingClassName:d(a==null?void 0:a.closingClassName,$.closing),contentWrapperClassName:d(a==null?void 0:a.contentWrapperClassName,$.contentWrapper),className:d(a==null?void 0:a.className,$.drawerDialog,$[e])})}const it="_modalDialog_1czrs_1",_t="_slideIn_1czrs_1",ut="_closing_1czrs_25",mt="_slideOut_1czrs_1",gt="_fadeIn_1czrs_1",ft="_fadeOut_1czrs_1",S={modalDialog:it,slideIn:_t,closing:ut,slideOut:mt,fadeIn:gt,fadeOut:ft};function xt(l,e){return k(l,{...e,modal:!0,closingClassName:d(e==null?void 0:e.closingClassName,S.closing),contentWrapperClassName:d(e==null?void 0:e.contentWrapperClassName,S.contentWrapper),className:d(e==null?void 0:e.className,S.modalDialog)})}const z=({children:l})=>t.jsx(r.Heading,{variant:"h3",as:"h2",children:l}),ht="_modalActionButtons_s27nj_1",Ct={modalActionButtons:ht},G=({buttons:l})=>t.jsx("div",{className:Ct.modalActionButtons,children:l}),P=({gap:l=2,...e})=>t.jsx(r.Box,{indent:4,spacing:4,gap:l,...e}),yt=({icon:l,buttons:e,heading:a,text:s,children:c,maxWidth:h,minWidth:i})=>t.jsxs(P,{flexDirection:"column",alignItems:"center",maxWidth:h,minWidth:i,children:[l&&t.jsx(x.CircledIcon,{icon:l,size:"large"}),t.jsx(z,{children:a}),s&&t.jsx(r.Text,{textAlign:"center",children:s}),c,e&&t.jsx(t.Fragment,{children:t.jsxs(r.Box,{width:"100%",children:[t.jsx(r.Spacing,{}),t.jsx(G,{buttons:e})]})})]}),jt=({heading:l,onClickClose:e})=>t.jsxs(r.Row,{justifyContent:"space-between",children:[l&&t.jsx(z,{children:l}),t.jsx(x.CloseButton,{onClick:e})]});exports.Alert=be;exports.BaseWindow=q;exports.DRAGGABLE_CANCEL_CLASSNAME=M;exports.DRAGGABLE_HANDLE_CLASSNAME=L;exports.Drawer=ue;exports.DrawerHeader=ge;exports.InfoAlert=yt;exports.LoadingModal=ze;exports.Modal=Se;exports.ModalActionButtons=G;exports.ModalBody=P;exports.ModalHeader=jt;exports.ModalHeading=z;exports.Window=We;exports.WindowFooter=Ee;exports.WindowHeader=H;exports.useAlertDialog=Ke;exports.useDialog=k;exports.useDialogPromise=qe;exports.useDrawerDialog=dt;exports.useModalDialog=xt;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react-modal"),t=require("react/jsx-runtime"),J=require("react-draggable"),d=require("classnames"),r=require("@stenajs-webui/core"),x=require("@stenajs-webui/elements"),K=require("@stenajs-webui/theme"),n=require("react"),Q=l=>{N.setAppElement(l)},U="_overlay_5x3op_1",X="_fadeIn_5x3op_1",Y="_modal_5x3op_31",Z="_content_5x3op_41",p="_appear_5x3op_1",ee="_isDraggable_5x3op_70",te="_footer_5x3op_101",le="_stickyFooter_5x3op_105",v={overlay:U,fadeIn:X,modal:Y,content:Z,appear:p,isDraggable:ee,footer:te,stickyFooter:le},L="draggable-modal-handle",M="draggable-modal-cancel",q=({width:l,maxWidth:e,draggable:a=!1,children:s,...c})=>t.jsx(N,{overlayClassName:v.overlay,className:v.modal,...c,children:t.jsx(J,{handle:`.${L}`,cancel:`.${M}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!a,children:t.jsx("div",{style:{"--swui-modal-width":l,"--swui-modal-max-width":e},className:d(v.content,{[v.isDraggable]:a}),children:s})})}),ae="_portal_17ze5_1",se="_overlay_17ze5_4",re="_content_17ze5_9",ne="_floating_17ze5_15",ce="_slideFromLeft_17ze5_29",oe="_slideFromRight_17ze5_30",de="_afterOpen_17ze5_36",ie="_beforeClose_17ze5_40",_e="_slideFromTop_17ze5_45",ue="_slideFromBottom_17ze5_46",o={portal:ae,overlay:se,content:re,floating:ne,slideFromLeft:ce,slideFromRight:oe,afterOpen:de,beforeClose:ie,slideFromTop:_e,slideFromBottom:ue},me=({background:l,zIndex:e,children:a,slideFrom:s="left",portalTarget:c,floating:h,...i})=>{const{height:m,width:_}=i;return t.jsx(N,{closeTimeoutMS:250,portalClassName:o.portal,overlayClassName:{base:o.overlay,afterOpen:o.afterOpen,beforeClose:o.beforeClose},className:{base:d(o.content,ge(s),h&&o.floating),afterOpen:o.afterOpen,beforeClose:o.beforeClose},style:{content:{width:_,height:m,background:l},overlay:{zIndex:e}},parentSelector:c?()=>c:void 0,...i,children:a})},ge=l=>{switch(l){case"left":return o.slideFromLeft;case"right":return o.slideFromRight;case"top":return o.slideFromTop;case"bottom":return o.slideFromBottom;default:return r.exhaustSwitchCase(l,o.slideFromLeft)}},fe=({header:l,contentRight:e,onRequestClose:a,icon:s})=>t.jsx(r.Spacing,{position:"sticky",top:0,zIndex:100,background:K.cssColor("--lhds-color-ui-50"),children:t.jsxs(r.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[t.jsxs(r.Row,{alignItems:"center",gap:2,children:[t.jsx(r.Space,{num:1}),s&&t.jsx(x.Icon,{icon:s,size:24}),t.jsx(r.Heading,{variant:"h4",children:l})]}),t.jsxs(r.Row,{gap:1,children:[e,t.jsx(x.FlatButton,{leftIcon:x.stenaTimes,onClick:a,variant:"danger"}),t.jsx(r.Space,{num:.5})]})]})}),xe="_overlay_r9tkq_1",he="_fadeIn_r9tkq_1",Ce="_modal_r9tkq_31",ye="_content_r9tkq_38",je="_appear_r9tkq_1",ve="_isDraggable_r9tkq_61",Ne="_footer_r9tkq_92",we="_stickyFooter_r9tkq_96",B={overlay:xe,fadeIn:he,modal:Ce,content:ye,appear:je,isDraggable:ve,footer:Ne,stickyFooter:we},be={overlay:{justifyContent:"center"}},De=({children:l,...e})=>t.jsx(N,{overlayClassName:B.overlay,className:B.modal,style:be,...e,children:t.jsx("div",{className:B.content,style:{"--swui-modal-width":"fit-content"},children:l})}),Ie="_overlay_1rolx_1",Oe="_fadeIn_1rolx_1",$e="_modal_1rolx_31",ke="_content_1rolx_41",Ae="_appear_1rolx_1",Be="_isDraggable_1rolx_71",Fe="_footer_1rolx_102",Re="_stickyFooter_1rolx_106",F={overlay:Ie,fadeIn:Oe,modal:$e,content:ke,appear:Ae,isDraggable:Be,footer:Fe,stickyFooter:Re},Se={overlay:{justifyContent:"center"}},Le=({children:l,...e})=>t.jsx(N,{overlayClassName:F.overlay,className:F.modal,style:Se,...e,children:t.jsx("div",{className:F.content,style:{"--swui-modal-width":"fit-content"},children:l})}),Me="_modal_4fwgb_1",ze="_overlay_4fwgb_13",E={modal:Me,overlay:ze},We=({headerIconLeft:l,headerText:e,shouldCloseOnOverlayClick:a=!1,shouldCloseOnEsc:s=!1,...c})=>t.jsx(N,{...c,isOpen:!0,shouldCloseOnOverlayClick:a,shouldCloseOnEsc:s,className:E.modal,overlayClassName:E.overlay,children:t.jsxs(r.Column,{spacing:2,alignItems:"center",children:[t.jsx(r.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:t.jsx(x.Spinner,{size:"small"})}),(l||e)&&t.jsxs(t.Fragment,{children:[t.jsx(r.Spacing,{}),t.jsxs(r.Row,{indent:2,children:[l&&t.jsxs(t.Fragment,{children:[t.jsx(x.Icon,{size:14,icon:l,color:"white"}),t.jsx(r.Indent,{})]}),e&&t.jsx(r.Heading,{variant:"h4",color:"white",children:e})]})]})]})}),H=({onRequestClose:l,header:e,headerText:a,closeButtonClassName:s})=>t.jsxs(r.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:L,children:[t.jsxs(r.Row,{flex:1,indent:!0,alignItems:"center",children:[a&&t.jsx(r.Txt,{className:M,size:"large",children:a}),e]}),t.jsx(r.Box,{alignSelf:"flex-start",children:t.jsx(x.CloseButton,{className:s,onClick:l})})]}),Ee=({header:l,headerText:e,children:a,spacing:s,indent:c,draggable:h=!1,onRequestClose:i,closeButtonClassName:m,footer:_,disableStickyFooter:j=!1,...w})=>{const b=typeof s=="number"?s:1,I=typeof c=="number"?c:1;return t.jsxs(q,{...w,onRequestClose:i,draggable:h,children:[t.jsx(H,{onRequestClose:i,header:l,headerText:e,closeButtonClassName:m}),t.jsx(r.Box,{spacing:b,indent:I,children:a}),_&&t.jsx(r.Box,{className:d(v.footer,{[v.stickyFooter]:!j}),children:_})]})},qe=({children:l})=>t.jsx(r.Column,{indent:2,spacing:2,children:l}),T=n.createContext(void 0);function k(l,e){const a=n.useRef(null),s=e.ref??a,[c,h]=n.useReducer(u=>u+1,0),i=n.useRef(),m=n.useRef(),_=n.useRef(),j=n.useRef(),[w,b]=n.useState(!1),[I,D]=n.useState(!1),A=l,V=n.useCallback(u=>{var g,f;return i.current=new Promise((C,y)=>{m.current=C,j.current=y}),D(!1),b(!0),h(),_.current=u,e!=null&&e.modal?(g=s.current)==null||g.showModal():(f=s.current)==null||f.show(),i.current},[s,e==null?void 0:e.modal]),W=n.useCallback(u=>{var g;D(!0),(g=s.current)==null||g.addEventListener("animationend",()=>{var f,C,y;D(!1),b(!1),(f=s.current)==null||f.close(),(C=m.current)==null||C.call(m,u),_.current=void 0,(y=e==null?void 0:e.onResolve)==null||y.call(e)},{once:!0})},[s,e]),O=n.useCallback(u=>{var g;D(!0),(g=s.current)==null||g.addEventListener("animationend",()=>{var f,C,y;D(!1),b(!1),(f=s.current)==null||f.close(),(C=j.current)==null||C.call(j,u),(y=e==null?void 0:e.onReject)==null||y.call(e),_.current=void 0},{once:!0})},[s,e]);return[n.useMemo(()=>t.jsx(T.Provider,{value:{resolve:W,reject:O},children:t.jsx("dialog",{onClick:e!=null&&e.disableCloseOnClickOutside?void 0:()=>O(),ref:s,className:d(e==null?void 0:e.className,I&&(e==null?void 0:e.closingClassName)),style:e==null?void 0:e.dialogStyle,children:e!=null&&e.disableCloseOnClickOutside?t.jsx(t.Fragment,{children:w&&n.createElement(A,{..._.current,key:c})}):t.jsx("div",{className:e==null?void 0:e.contentWrapperClassName,onClick:e!=null&&e.disableCloseOnClickOutside?void 0:u=>u.stopPropagation(),children:w&&n.createElement(A,{..._.current,key:c})})})}),[W,O,e==null?void 0:e.disableCloseOnClickOutside,e==null?void 0:e.className,e==null?void 0:e.closingClassName,e==null?void 0:e.dialogStyle,e==null?void 0:e.contentWrapperClassName,s,I,w,A,c]),{show:V,reject:O}]}const He=()=>{const l=n.useContext(T);if(l==null)throw new Error("useDialogPromise is being used outside of dialog.");return l},Te="_alertDialog_14t8t_1",Ge="_slideIn_14t8t_1",Pe="_closing_14t8t_22",Ve="_slideOut_14t8t_1",Je="_fadeIn_14t8t_1",Ke="_fadeOut_14t8t_1",R={alertDialog:Te,slideIn:Ge,closing:Pe,slideOut:Ve,fadeIn:Je,fadeOut:Ke};function Qe(l,e){return k(l,{...e,modal:!0,closingClassName:d(e==null?void 0:e.closingClassName,R.closing),contentWrapperClassName:d(e==null?void 0:e.contentWrapperClassName,R.contentWrapper),className:d(e==null?void 0:e.className,R.alertDialog)})}const Ue="_drawerDialog_3e8xf_1",Xe="_left_3e8xf_12",Ye="_right_3e8xf_13",Ze="_contentWrapper_3e8xf_18",pe="_slideInLeft_3e8xf_1",et="_closing_3e8xf_35",tt="_slideOutLeft_3e8xf_1",lt="_slideInRight_3e8xf_1",at="_slideOutRight_3e8xf_1",st="_top_3e8xf_53",rt="_bottom_3e8xf_54",nt="_slideInTop_3e8xf_1",ct="_slideOutTop_3e8xf_1",ot="_slideInBottom_3e8xf_1",dt="_slideOutBottom_3e8xf_1",$={drawerDialog:Ue,left:Xe,right:Ye,contentWrapper:Ze,slideInLeft:pe,closing:et,slideOutLeft:tt,slideInRight:lt,slideOutRight:at,top:st,bottom:rt,slideInTop:nt,slideOutTop:ct,slideInBottom:ot,slideOutBottom:dt};function it(l,e="left",a){return k(l,{...a,disableCloseOnClickOutside:!0,modal:!1,closingClassName:d(a==null?void 0:a.closingClassName,$.closing),contentWrapperClassName:d(a==null?void 0:a.contentWrapperClassName,$.contentWrapper),className:d(a==null?void 0:a.className,$.drawerDialog,$[e])})}const _t="_modalDialog_1czrs_1",ut="_slideIn_1czrs_1",mt="_closing_1czrs_25",gt="_slideOut_1czrs_1",ft="_fadeIn_1czrs_1",xt="_fadeOut_1czrs_1",S={modalDialog:_t,slideIn:ut,closing:mt,slideOut:gt,fadeIn:ft,fadeOut:xt};function ht(l,e){return k(l,{...e,modal:!0,closingClassName:d(e==null?void 0:e.closingClassName,S.closing),contentWrapperClassName:d(e==null?void 0:e.contentWrapperClassName,S.contentWrapper),className:d(e==null?void 0:e.className,S.modalDialog)})}const z=({children:l})=>t.jsx(r.Heading,{variant:"h3",as:"h2",children:l}),Ct="_modalActionButtons_s27nj_1",yt={modalActionButtons:Ct},G=({buttons:l})=>t.jsx("div",{className:yt.modalActionButtons,children:l}),P=({gap:l=2,...e})=>t.jsx(r.Box,{indent:4,spacing:4,gap:l,...e}),jt=({icon:l,buttons:e,heading:a,text:s,children:c,maxWidth:h,minWidth:i})=>t.jsxs(P,{flexDirection:"column",alignItems:"center",maxWidth:h,minWidth:i,children:[l&&t.jsx(x.CircledIcon,{icon:l,size:"large"}),t.jsx(z,{children:a}),s&&t.jsx(r.Text,{textAlign:"center",children:s}),c,e&&t.jsx(t.Fragment,{children:t.jsxs(r.Box,{width:"100%",children:[t.jsx(r.Spacing,{}),t.jsx(G,{buttons:e})]})})]}),vt=({heading:l,onClickClose:e})=>t.jsxs(r.Row,{justifyContent:"space-between",children:[l&&t.jsx(z,{children:l}),t.jsx(x.CloseButton,{onClick:e})]});exports.Alert=De;exports.BaseWindow=q;exports.DRAGGABLE_CANCEL_CLASSNAME=M;exports.DRAGGABLE_HANDLE_CLASSNAME=L;exports.Drawer=me;exports.DrawerHeader=fe;exports.InfoAlert=jt;exports.LoadingModal=We;exports.Modal=Le;exports.ModalActionButtons=G;exports.ModalBody=P;exports.ModalHeader=vt;exports.ModalHeading=z;exports.Window=Ee;exports.WindowFooter=qe;exports.WindowHeader=H;exports.setupDeclarativeModals=Q;exports.useAlertDialog=Qe;exports.useDialog=k;exports.useDialogPromise=He;exports.useDrawerDialog=it;exports.useModalDialog=ht;
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalHeader.tsx"],"sourcesContent":["import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\n zIndex?: number;\n onRequestClose?: () => void;\n /**\n * Portal target, HTML element. If not set, portal is not used.\n */\n portalTarget?: HTMLElement | null;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n floating,\n ...reactModalProps\n}) => {\n const { height, width } = reactModalProps as FlattenUnion<DrawerProps>;\n\n return (\n <ReactModal\n closeTimeoutMS={250}\n portalClassName={styles.portal}\n overlayClassName={{\n base: styles.overlay,\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n className={{\n base: cx(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, height, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n\nconst getClassNameForSlide = (slideFrom: SlideFrom): string => {\n switch (slideFrom) {\n case \"left\":\n return styles.slideFromLeft;\n case \"right\":\n return styles.slideFromRight;\n case \"top\":\n return styles.slideFromTop;\n case \"bottom\":\n return styles.slideFromBottom;\n default:\n return exhaustSwitchCase(slideFrom, styles.slideFromLeft);\n }\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n footer,\n disableStickyFooter = false,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options?.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options?.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options?.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options?.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options?.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(\n options?.className,\n closing && options?.closingClassName\n )}\n style={options?.dialogStyle}\n >\n {options?.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n className={options?.contentWrapperClassName}\n onClick={\n options?.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options?.disableCloseOnClickOutside,\n options?.className,\n options?.closingClassName,\n options?.dialogStyle,\n options?.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return <div className={styles.modalActionButtons}>{buttons}</div>;\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 2, ...props }) => {\n return <Box indent={4} spacing={4} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Box, Spacing, Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { MediumIcon } from \"@stenajs-webui/elements\";\nimport { CircledIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && (\n <>\n <Box width={\"100%\"}>\n <Spacing />\n <ModalActionButtons buttons={buttons} />\n </Box>\n </>\n )}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n"],"names":["DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","jsx","ReactModal","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","activeSpacing","activeIndent","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","useRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalHeader","onClickClose"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/declarative-modals/DeclarativeModalSetup.ts","../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalHeader.tsx"],"sourcesContent":["import ReactModal from \"react-modal\";\n\nexport const setupDeclarativeModals = (htmlElement: string | HTMLElement) => {\n ReactModal.setAppElement(htmlElement);\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: string;\n onRequestClose?: () => void;\n draggable?: boolean;\n}\n\nexport const DRAGGABLE_HANDLE_CLASSNAME = \"draggable-modal-handle\";\nexport const DRAGGABLE_CANCEL_CLASSNAME = \"draggable-modal-cancel\";\n\nexport const BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\n zIndex?: number;\n onRequestClose?: () => void;\n /**\n * Portal target, HTML element. If not set, portal is not used.\n */\n portalTarget?: HTMLElement | null;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n background,\n zIndex,\n children,\n slideFrom = \"left\",\n portalTarget,\n floating,\n ...reactModalProps\n}) => {\n const { height, width } = reactModalProps as FlattenUnion<DrawerProps>;\n\n return (\n <ReactModal\n closeTimeoutMS={250}\n portalClassName={styles.portal}\n overlayClassName={{\n base: styles.overlay,\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n className={{\n base: cx(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\n afterOpen: styles.afterOpen,\n beforeClose: styles.beforeClose,\n }}\n style={{ content: { width, height, background }, overlay: { zIndex } }}\n parentSelector={portalTarget ? () => portalTarget : undefined}\n {...reactModalProps}\n >\n {children}\n </ReactModal>\n );\n};\n\nconst getClassNameForSlide = (slideFrom: SlideFrom): string => {\n switch (slideFrom) {\n case \"left\":\n return styles.slideFromLeft;\n case \"right\":\n return styles.slideFromRight;\n case \"top\":\n return styles.slideFromTop;\n case \"bottom\":\n return styles.slideFromBottom;\n default:\n return exhaustSwitchCase(slideFrom, styles.slideFromLeft);\n }\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\n className={styles.modal}\n overlayClassName={styles.overlay}\n >\n <Column spacing={2} alignItems={\"center\"}>\n <Box\n alignItems={\"center\"}\n justifyContent={\"center\"}\n width={\"64px\"}\n height={\"64px\"}\n borderRadius={\"50%\"}\n background={\"white\"}\n shadow={\"modal\"}\n >\n <Spinner size={\"small\"} />\n </Box>\n {(headerIconLeft || headerText) && (\n <>\n <Spacing />\n <Row indent={2}>\n {headerIconLeft && (\n <>\n <Icon size={14} icon={headerIconLeft} color={\"white\"} />\n <Indent />\n </>\n )}\n {headerText && (\n <Heading variant={\"h4\"} color={\"white\"}>\n {headerText}\n </Heading>\n )}\n </Row>\n </>\n )}\n </Column>\n </ReactModal>\n );\n};\n","import { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\n className={DRAGGABLE_HANDLE_CLASSNAME}\n >\n <Row flex={1} indent alignItems={\"center\"}>\n {headerText && (\n <Txt className={DRAGGABLE_CANCEL_CLASSNAME} size={\"large\"}>\n {headerText}\n </Txt>\n )}\n {header}\n </Row>\n <Box alignSelf={\"flex-start\"}>\n <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\n header,\n headerText,\n children,\n spacing,\n indent,\n draggable = false,\n onRequestClose,\n closeButtonClassName,\n footer,\n disableStickyFooter = false,\n ...props\n}) => {\n const activeSpacing = typeof spacing === \"number\" ? spacing : 1;\n const activeIndent = typeof indent === \"number\" ? indent : 1;\n\n return (\n <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\n onRequestClose={onRequestClose}\n header={header}\n headerText={headerText}\n closeButtonClassName={closeButtonClassName}\n />\n <Box spacing={activeSpacing} indent={activeIndent}>\n {children}\n </Box>\n {footer && (\n <Box\n className={cx(styles.footer, {\n [styles.stickyFooter]: !disableStickyFooter,\n })}\n >\n {footer}\n </Box>\n )}\n </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options?.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options?.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options?.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options?.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options?.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(\n options?.className,\n closing && options?.closingClassName\n )}\n style={options?.dialogStyle}\n >\n {options?.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n className={options?.contentWrapperClassName}\n onClick={\n options?.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options?.disableCloseOnClickOutside,\n options?.className,\n options?.closingClassName,\n options?.dialogStyle,\n options?.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return <div className={styles.modalActionButtons}>{buttons}</div>;\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 2, ...props }) => {\n return <Box indent={4} spacing={4} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Box, Spacing, Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { MediumIcon } from \"@stenajs-webui/elements\";\nimport { CircledIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && (\n <>\n <Box width={\"100%\"}>\n <Spacing />\n <ModalActionButtons buttons={buttons} />\n </Box>\n </>\n )}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n"],"names":["setupDeclarativeModals","htmlElement","ReactModal","DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","jsx","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","activeSpacing","activeIndent","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","useRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalHeader","onClickClose"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/modal",
3
- "version": "20.3.0",
3
+ "version": "20.4.0",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "author": "mattias800",
@@ -33,9 +33,9 @@
33
33
  "deploy": "gh-pages -d example/build"
34
34
  },
35
35
  "dependencies": {
36
- "@stenajs-webui/core": "20.3.0",
37
- "@stenajs-webui/elements": "20.3.0",
38
- "@stenajs-webui/theme": "20.3.0",
36
+ "@stenajs-webui/core": "20.4.0",
37
+ "@stenajs-webui/elements": "20.4.0",
38
+ "@stenajs-webui/theme": "20.4.0",
39
39
  "@types/react-modal": "^3.13.1",
40
40
  "classnames": "^2.3.1",
41
41
  "react-draggable": "^4.4.5",
@@ -65,5 +65,5 @@
65
65
  "files": [
66
66
  "dist"
67
67
  ],
68
- "gitHead": "d99aed68160e49557c036a9adde8f4341a4d396d"
68
+ "gitHead": "4c0c12c80b3d9896c8d3d11759457de022e05587"
69
69
  }