@stenajs-webui/modal 20.6.7 → 20.6.9

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.
package/dist/index.es.js CHANGED
@@ -1,15 +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_6jugu_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_6jugu_1{border-radius:var(--swui-border-radius-large)}}._modalDialog_6jugu_1:not([open]){display:none}._modalDialog_6jugu_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_6jugu_1 .25s forwards}._modalDialog_6jugu_1._closing_6jugu_25[open]{animation:_slideOut_6jugu_1 .25s forwards}@media (max-width: 768px){._modalDialog_6jugu_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_6jugu_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_6jugu_1 .25s forwards}._modalDialog_6jugu_1._closing_6jugu_25::backdrop{animation:_fadeOut_6jugu_1 .25s forwards}@keyframes _fadeIn_6jugu_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_6jugu_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_6jugu_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_6jugu_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (max-width: 768px){._contentWrapper_6jugu_89{display:flex;height:100%}}._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 x from "react-modal";
2
+ import b from "react-modal";
3
3
  import { jsx as l, jsxs as s, Fragment as k } from "react/jsx-runtime";
4
- import Z from "react-draggable";
4
+ import { useRef as v, createContext as Z, useReducer as ee, useState as T, useCallback as W, useMemo as te, createElement as q, useContext as le } from "react";
5
+ import ne from "react-draggable";
5
6
  import c from "classnames";
6
- import { exhaustSwitchCase as ee, Spacing as j, Row as C, Space as T, Heading as z, Column as G, Box as N, Indent as te, Txt as le, Text as ne } from "@stenajs-webui/core";
7
- import { Icon as V, FlatButton as ae, stenaTimes as oe, Spinner as re, CloseButton as J, CircledIcon as se } from "@stenajs-webui/elements";
8
- import { cssColor as ce } from "@stenajs-webui/theme";
9
- import { createContext as ie, useRef as O, useReducer as de, useState as q, useCallback as W, useMemo as _e, createElement as H, useContext as me } from "react";
7
+ import { exhaustSwitchCase as ae, Spacing as j, Row as C, Space as H, Heading as z, Column as G, Box as x, Indent as oe, Txt as re, Text as se } from "@stenajs-webui/core";
8
+ import { Icon as V, FlatButton as ce, stenaTimes as ie, Spinner as de, CloseButton as J, CircledIcon as _e } from "@stenajs-webui/elements";
9
+ import { cssColor as me } from "@stenajs-webui/theme";
10
10
  const Tt = (t) => {
11
- x.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", pe = "_footer_5x3op_101", ve = "_stickyFooter_5x3op_105", v = {
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", pe = "_footer_5x3op_101", ve = "_stickyFooter_5x3op_105", N = {
13
13
  overlay: ue,
14
14
  fadeIn: fe,
15
15
  modal: ge,
@@ -24,36 +24,41 @@ const Tt = (t) => {
24
24
  draggable: n = !1,
25
25
  children: a,
26
26
  ...o
27
- }) => /* @__PURE__ */ l(
28
- x,
29
- {
30
- overlayClassName: v.overlay,
31
- className: v.modal,
32
- ...o,
33
- children: /* @__PURE__ */ l(
34
- Z,
35
- {
36
- handle: `.${K}`,
37
- cancel: `.${Q}, button, [role="tooltip"]`,
38
- bounds: ".ReactModal__Overlay",
39
- disabled: !n,
40
- children: /* @__PURE__ */ l(
41
- "div",
42
- {
43
- style: {
44
- "--swui-modal-width": t,
45
- "--swui-modal-max-width": e
46
- },
47
- className: c(v.content, {
48
- [v.isDraggable]: n
49
- }),
50
- children: a
51
- }
52
- )
53
- }
54
- )
55
- }
56
- ), xe = "_portal_17ze5_1", be = "_overlay_17ze5_4", Ie = "_content_17ze5_9", Oe = "_floating_17ze5_15", we = "_slideFromLeft_17ze5_29", $e = "_slideFromRight_17ze5_30", De = "_afterOpen_17ze5_36", ke = "_beforeClose_17ze5_40", Fe = "_slideFromTop_17ze5_45", Be = "_slideFromBottom_17ze5_46", r = {
27
+ }) => {
28
+ const i = v(null);
29
+ return /* @__PURE__ */ l(
30
+ b,
31
+ {
32
+ overlayClassName: N.overlay,
33
+ className: N.modal,
34
+ ...o,
35
+ children: /* @__PURE__ */ l(
36
+ ne,
37
+ {
38
+ handle: `.${K}`,
39
+ cancel: `.${Q}, button, [role="tooltip"]`,
40
+ bounds: ".ReactModal__Overlay",
41
+ disabled: !n,
42
+ nodeRef: i,
43
+ children: /* @__PURE__ */ l(
44
+ "div",
45
+ {
46
+ style: {
47
+ "--swui-modal-width": t,
48
+ "--swui-modal-max-width": e
49
+ },
50
+ className: c(N.content, {
51
+ [N.isDraggable]: n
52
+ }),
53
+ ref: i,
54
+ children: a
55
+ }
56
+ )
57
+ }
58
+ )
59
+ }
60
+ );
61
+ }, xe = "_portal_17ze5_1", be = "_overlay_17ze5_4", Ie = "_content_17ze5_9", Oe = "_floating_17ze5_15", we = "_slideFromLeft_17ze5_29", $e = "_slideFromRight_17ze5_30", De = "_afterOpen_17ze5_36", ke = "_beforeClose_17ze5_40", Fe = "_slideFromTop_17ze5_45", Be = "_slideFromBottom_17ze5_46", r = {
57
62
  portal: xe,
58
63
  overlay: be,
59
64
  content: Ie,
@@ -70,12 +75,12 @@ const Tt = (t) => {
70
75
  children: n,
71
76
  slideFrom: a = "left",
72
77
  portalTarget: o,
73
- floating: g,
74
- ...i
78
+ floating: i,
79
+ ...d
75
80
  }) => {
76
- const { height: m, width: d } = i;
81
+ const { height: u, width: _ } = d;
77
82
  return /* @__PURE__ */ l(
78
- x,
83
+ b,
79
84
  {
80
85
  closeTimeoutMS: 250,
81
86
  portalClassName: r.portal,
@@ -88,14 +93,14 @@ const Tt = (t) => {
88
93
  base: c(
89
94
  r.content,
90
95
  We(a),
91
- g && r.floating
96
+ i && r.floating
92
97
  ),
93
98
  afterOpen: r.afterOpen,
94
99
  beforeClose: r.beforeClose
95
100
  },
96
- style: { content: { width: d, height: m, background: t }, overlay: { zIndex: e } },
101
+ style: { content: { width: _, height: u, background: t }, overlay: { zIndex: e } },
97
102
  parentSelector: o ? () => o : void 0,
98
- ...i,
103
+ ...d,
99
104
  children: n
100
105
  }
101
106
  );
@@ -110,7 +115,7 @@ const Tt = (t) => {
110
115
  case "bottom":
111
116
  return r.slideFromBottom;
112
117
  default:
113
- return ee(t, r.slideFromLeft);
118
+ return ae(t, r.slideFromLeft);
114
119
  }
115
120
  }, Ht = ({
116
121
  header: t,
@@ -123,7 +128,7 @@ const Tt = (t) => {
123
128
  position: "sticky",
124
129
  top: 0,
125
130
  zIndex: 100,
126
- background: ce("--lhds-color-ui-50"),
131
+ background: me("--lhds-color-ui-50"),
127
132
  children: /* @__PURE__ */ s(
128
133
  C,
129
134
  {
@@ -132,21 +137,21 @@ const Tt = (t) => {
132
137
  height: "48px",
133
138
  children: [
134
139
  /* @__PURE__ */ s(C, { alignItems: "center", gap: 2, children: [
135
- /* @__PURE__ */ l(T, { num: 1 }),
140
+ /* @__PURE__ */ l(H, { num: 1 }),
136
141
  a && /* @__PURE__ */ l(V, { icon: a, size: 24 }),
137
142
  /* @__PURE__ */ l(z, { variant: "h4", children: t })
138
143
  ] }),
139
144
  /* @__PURE__ */ s(C, { gap: 1, children: [
140
145
  e,
141
146
  /* @__PURE__ */ l(
142
- ae,
147
+ ce,
143
148
  {
144
- leftIcon: oe,
149
+ leftIcon: ie,
145
150
  onClick: n,
146
151
  variant: "danger"
147
152
  }
148
153
  ),
149
- /* @__PURE__ */ l(T, { num: 0.5 })
154
+ /* @__PURE__ */ l(H, { num: 0.5 })
150
155
  ] })
151
156
  ]
152
157
  }
@@ -165,7 +170,7 @@ const Tt = (t) => {
165
170
  children: t,
166
171
  ...e
167
172
  }) => /* @__PURE__ */ l(
168
- x,
173
+ b,
169
174
  {
170
175
  overlayClassName: R.overlay,
171
176
  className: R.modal,
@@ -193,7 +198,7 @@ const Tt = (t) => {
193
198
  children: t,
194
199
  ...e
195
200
  }) => /* @__PURE__ */ l(
196
- x,
201
+ b,
197
202
  {
198
203
  overlayClassName: A.overlay,
199
204
  className: A.modal,
@@ -218,7 +223,7 @@ const Tt = (t) => {
218
223
  shouldCloseOnEsc: a = !1,
219
224
  ...o
220
225
  }) => /* @__PURE__ */ l(
221
- x,
226
+ b,
222
227
  {
223
228
  ...o,
224
229
  isOpen: !0,
@@ -228,7 +233,7 @@ const Tt = (t) => {
228
233
  overlayClassName: P.overlay,
229
234
  children: /* @__PURE__ */ s(G, { spacing: 2, alignItems: "center", children: [
230
235
  /* @__PURE__ */ l(
231
- N,
236
+ x,
232
237
  {
233
238
  alignItems: "center",
234
239
  justifyContent: "center",
@@ -237,7 +242,7 @@ const Tt = (t) => {
237
242
  borderRadius: "50%",
238
243
  background: "white",
239
244
  shadow: "modal",
240
- children: /* @__PURE__ */ l(re, { size: "small" })
245
+ children: /* @__PURE__ */ l(de, { size: "small" })
241
246
  }
242
247
  ),
243
248
  (t || e) && /* @__PURE__ */ s(k, { children: [
@@ -245,7 +250,7 @@ const Tt = (t) => {
245
250
  /* @__PURE__ */ s(C, { indent: 2, children: [
246
251
  t && /* @__PURE__ */ s(k, { children: [
247
252
  /* @__PURE__ */ l(V, { size: 14, icon: t, color: "white" }),
248
- /* @__PURE__ */ l(te, {})
253
+ /* @__PURE__ */ l(oe, {})
249
254
  ] }),
250
255
  e && /* @__PURE__ */ l(z, { variant: "h4", color: "white", children: e })
251
256
  ] })
@@ -266,10 +271,10 @@ const Tt = (t) => {
266
271
  className: K,
267
272
  children: [
268
273
  /* @__PURE__ */ s(C, { flex: 1, indent: !0, alignItems: "center", children: [
269
- n && /* @__PURE__ */ l(le, { className: Q, size: "large", children: n }),
274
+ n && /* @__PURE__ */ l(re, { className: Q, size: "large", children: n }),
270
275
  e
271
276
  ] }),
272
- /* @__PURE__ */ l(N, { alignSelf: "flex-start", children: /* @__PURE__ */ l(
277
+ /* @__PURE__ */ l(x, { alignSelf: "flex-start", children: /* @__PURE__ */ l(
273
278
  J,
274
279
  {
275
280
  className: a,
@@ -284,82 +289,82 @@ const Tt = (t) => {
284
289
  children: n,
285
290
  spacing: a,
286
291
  indent: o,
287
- draggable: g = !1,
288
- onRequestClose: i,
289
- closeButtonClassName: m,
290
- footer: d,
292
+ draggable: i = !1,
293
+ onRequestClose: d,
294
+ closeButtonClassName: u,
295
+ footer: _,
291
296
  disableStickyFooter: p = !1,
292
- ...b
297
+ ...I
293
298
  }) => /* @__PURE__ */ s(
294
299
  Ne,
295
300
  {
296
- ...b,
297
- onRequestClose: i,
298
- draggable: g,
301
+ ...I,
302
+ onRequestClose: d,
303
+ draggable: i,
299
304
  children: [
300
305
  /* @__PURE__ */ l(
301
306
  Ze,
302
307
  {
303
- onRequestClose: i,
308
+ onRequestClose: d,
304
309
  header: t,
305
310
  headerText: e,
306
- closeButtonClassName: m
311
+ closeButtonClassName: u
307
312
  }
308
313
  ),
309
- /* @__PURE__ */ l(N, { spacing: typeof a == "number" ? a : 1, indent: typeof o == "number" ? o : 1, children: n }),
310
- d && /* @__PURE__ */ l(
311
- N,
314
+ /* @__PURE__ */ l(x, { spacing: typeof a == "number" ? a : 1, indent: typeof o == "number" ? o : 1, children: n }),
315
+ _ && /* @__PURE__ */ l(
316
+ x,
312
317
  {
313
- className: c(v.footer, {
314
- [v.stickyFooter]: !p
318
+ className: c(N.footer, {
319
+ [N.stickyFooter]: !p
315
320
  }),
316
- children: d
321
+ children: _
317
322
  }
318
323
  )
319
324
  ]
320
325
  }
321
- ), Kt = ({ children: t }) => /* @__PURE__ */ l(G, { indent: 2, spacing: 2, children: t }), U = ie(
326
+ ), Kt = ({ children: t }) => /* @__PURE__ */ l(G, { indent: 2, spacing: 2, children: t }), U = Z(
322
327
  void 0
323
328
  );
324
329
  function M(t, e) {
325
- const n = O(null), a = e.ref ?? n, [o, g] = de((_) => _ + 1, 0), i = O(), m = O(), d = O(), p = O(), [b, w] = q(!1), [F, I] = q(!1), B = t, Y = W(
326
- (_) => {
327
- var u, f;
328
- return i.current = new Promise(
330
+ const n = v(null), a = e.ref ?? n, [o, i] = ee((m) => m + 1, 0), d = v(), u = v(), _ = v(), p = v(), [I, w] = T(!1), [F, O] = T(!1), B = t, Y = W(
331
+ (m) => {
332
+ var f, g;
333
+ return d.current = new Promise(
329
334
  (h, y) => {
330
- m.current = h, p.current = y;
335
+ u.current = h, p.current = y;
331
336
  }
332
- ), I(!1), w(!0), g(), d.current = _, e.modal ? (u = a.current) == null || u.showModal() : (f = a.current) == null || f.show(), i.current;
337
+ ), O(!1), w(!0), i(), _.current = m, e.modal ? (f = a.current) == null || f.showModal() : (g = a.current) == null || g.show(), d.current;
333
338
  },
334
339
  [a, e.modal]
335
340
  ), E = W(
336
- (_) => {
337
- var u;
338
- I(!0), (u = a.current) == null || u.addEventListener(
341
+ (m) => {
342
+ var f;
343
+ O(!0), (f = a.current) == null || f.addEventListener(
339
344
  "animationend",
340
345
  () => {
341
- var f, h, y;
342
- I(!1), w(!1), (f = a.current) == null || f.close(), (h = m.current) == null || h.call(m, _), d.current = void 0, (y = e.onResolve) == null || y.call(e);
346
+ var g, h, y;
347
+ O(!1), w(!1), (g = a.current) == null || g.close(), (h = u.current) == null || h.call(u, m), _.current = void 0, (y = e.onResolve) == null || y.call(e);
343
348
  },
344
349
  { once: !0 }
345
350
  );
346
351
  },
347
352
  [a, e]
348
353
  ), $ = W(
349
- (_) => {
350
- var u;
351
- I(!0), (u = a.current) == null || u.addEventListener(
354
+ (m) => {
355
+ var f;
356
+ O(!0), (f = a.current) == null || f.addEventListener(
352
357
  "animationend",
353
358
  () => {
354
- var f, h, y;
355
- I(!1), w(!1), (f = a.current) == null || f.close(), (h = p.current) == null || h.call(p, _), (y = e.onReject) == null || y.call(e), d.current = void 0;
359
+ var g, h, y;
360
+ O(!1), w(!1), (g = a.current) == null || g.close(), (h = p.current) == null || h.call(p, m), (y = e.onReject) == null || y.call(e), _.current = void 0;
356
361
  },
357
362
  { once: !0 }
358
363
  );
359
364
  },
360
365
  [a, e]
361
366
  );
362
- return [_e(
367
+ return [te(
363
368
  () => /* @__PURE__ */ l(U.Provider, { value: { resolve: E, reject: $ }, children: /* @__PURE__ */ l(
364
369
  "dialog",
365
370
  {
@@ -367,13 +372,13 @@ function M(t, e) {
367
372
  ref: a,
368
373
  className: c(e.className, F && e.closingClassName),
369
374
  style: e.dialogStyle,
370
- children: e.disableCloseOnClickOutside ? /* @__PURE__ */ l(k, { children: b && /* @__PURE__ */ H(B, { ...d.current, key: o }) }) : /* @__PURE__ */ l(
375
+ children: e.disableCloseOnClickOutside ? /* @__PURE__ */ l(k, { children: I && /* @__PURE__ */ q(B, { ..._.current, key: o }) }) : /* @__PURE__ */ l(
371
376
  "div",
372
377
  {
373
378
  style: e.contentWrapperStyle,
374
379
  className: e.contentWrapperClassName,
375
- onClick: e.disableCloseOnClickOutside ? void 0 : (_) => _.stopPropagation(),
376
- children: b && /* @__PURE__ */ H(B, { ...d.current, key: o })
380
+ onClick: e.disableCloseOnClickOutside ? void 0 : (m) => m.stopPropagation(),
381
+ children: I && /* @__PURE__ */ q(B, { ..._.current, key: o })
377
382
  }
378
383
  )
379
384
  }
@@ -389,14 +394,14 @@ function M(t, e) {
389
394
  e.contentWrapperClassName,
390
395
  a,
391
396
  F,
392
- b,
397
+ I,
393
398
  B,
394
399
  o
395
400
  ]
396
401
  ), { show: Y, reject: $ }];
397
402
  }
398
403
  const Qt = () => {
399
- const t = me(U);
404
+ const t = le(U);
400
405
  if (t == null)
401
406
  throw new Error("useDialogPromise is being used outside of dialog.");
402
407
  return t;
@@ -475,27 +480,27 @@ const X = ({ children: t }) => /* @__PURE__ */ l(z, { variant: "h3", as: "h2", c
475
480
  modalActionButtons: Dt
476
481
  }, Ft = ({
477
482
  buttons: t
478
- }) => /* @__PURE__ */ l("div", { className: kt.modalActionButtons, children: t }), Bt = ({ gap: t = 2, ...e }) => /* @__PURE__ */ l(N, { indent: 4, spacing: 4, gap: t, ...e }), Zt = ({
483
+ }) => /* @__PURE__ */ l("div", { className: kt.modalActionButtons, children: t }), Bt = ({ gap: t = 2, ...e }) => /* @__PURE__ */ l(x, { indent: 4, spacing: 4, gap: t, ...e }), Zt = ({
479
484
  icon: t,
480
485
  buttons: e,
481
486
  heading: n,
482
487
  text: a,
483
488
  children: o,
484
- maxWidth: g,
485
- minWidth: i
489
+ maxWidth: i,
490
+ minWidth: d
486
491
  }) => /* @__PURE__ */ s(
487
492
  Bt,
488
493
  {
489
494
  flexDirection: "column",
490
495
  alignItems: "center",
491
- maxWidth: g,
492
- minWidth: i,
496
+ maxWidth: i,
497
+ minWidth: d,
493
498
  children: [
494
- t && /* @__PURE__ */ l(se, { icon: t, size: "large" }),
499
+ t && /* @__PURE__ */ l(_e, { icon: t, size: "large" }),
495
500
  /* @__PURE__ */ l(X, { children: n }),
496
- a && /* @__PURE__ */ l(ne, { textAlign: "center", children: a }),
501
+ a && /* @__PURE__ */ l(se, { textAlign: "center", children: a }),
497
502
  o,
498
- e && /* @__PURE__ */ l(k, { children: /* @__PURE__ */ s(N, { width: "100%", children: [
503
+ e && /* @__PURE__ */ l(k, { children: /* @__PURE__ */ s(x, { width: "100%", children: [
499
504
  /* @__PURE__ */ l(j, {}),
500
505
  /* @__PURE__ */ l(Ft, { buttons: e })
501
506
  ] }) })
@@ -1 +1 @@
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 contentWrapperStyle?: CSSProperties;\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(options.className, closing && options.closingClassName)}\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 style={options.contentWrapperStyle}\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.contentWrapperStyle,\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 * as 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 * as 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 * as 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":";;;;;;;;AAEa,MAAAA,KAAyB,CAACC,MAAsC;AAC3E,EAAAC,EAAW,cAAcD,CAAW;AACtC;;;;;;;;;GCSaE,IAA6B,0BAC7BC,IAA6B,0BAE7BC,KAAwC,CAAC;AAAA,EACpD,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACT;AAAA,EAAA;AAAA,IACC,kBAAkBU,EAAO;AAAA,IACzB,WAAWA,EAAO;AAAA,IACjB,GAAGF;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,QAAQ,IAAIV,CAA0B;AAAA,QACtC,QAAQ,IAAIC,CAA0B;AAAA,QACtC,QAAO;AAAA,QACP,UAAU,CAACI;AAAA,QAEX,UAAA,gBAAAG;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACJ,sBAAiCL;AAAA,cACjC,0BAAqCC;AAAA,YACxC;AAAA,YACA,WAAWO,EAAGF,EAAO,SAAS;AAAA,cAC5B,CAACA,EAAO,WAAW,GAAGJ;AAAA,YAAA,CACvB;AAAA,YAEA,UAAAC;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAAA;;;;;;;;;;;GCYOM,KAAgC,CAAC;AAAA,EAC5C,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAR;AAAA,EACA,WAAAS,IAAY;AAAA,EACZ,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGV;AACL,MAAM;AACE,QAAA,EAAE,QAAAW,GAAQ,OAAAf,EAAU,IAAAI;AAGxB,SAAA,gBAAAC;AAAA,IAACT;AAAA,IAAA;AAAA,MACC,gBAAgB;AAAA,MAChB,iBAAiBU,EAAO;AAAA,MACxB,kBAAkB;AAAA,QAChB,MAAMA,EAAO;AAAA,QACb,WAAWA,EAAO;AAAA,QAClB,aAAaA,EAAO;AAAA,MACtB;AAAA,MACA,WAAW;AAAA,QACT,MAAME;AAAA,UACJF,EAAO;AAAA,UACPU,GAAqBJ,CAAS;AAAA,UAC9BE,KAAYR,EAAO;AAAA,QACrB;AAAA,QACA,WAAWA,EAAO;AAAA,QAClB,aAAaA,EAAO;AAAA,MACtB;AAAA,MACA,OAAO,EAAE,SAAS,EAAE,OAAAN,GAAO,QAAAe,GAAQ,YAAAL,KAAc,SAAS,EAAE,QAAAC,IAAS;AAAA,MACrE,gBAAgBE,IAAe,MAAMA,IAAe;AAAA,MACnD,GAAGT;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP,GAEMa,KAAuB,CAACJ,MAAiC;AAC7D,UAAQA,GAAW;AAAA,IACjB,KAAK;AACH,aAAON,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB;AACS,aAAAW,GAAkBL,GAAWN,EAAO,aAAa;AAAA,EAC5D;AACF,GC/FaY,KAA4C,CAAC;AAAA,EACxD,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AACF,MAEI,gBAAAjB;AAAA,EAACkB;AAAA,EAAA;AAAA,IACC,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,YAAYC,GAAS,oBAAoB;AAAA,IAEzC,UAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,QAAQ;AAAA,QAER,UAAA;AAAA,UAAA,gBAAAD,EAACC,GAAI,EAAA,YAAY,UAAU,KAAK,GAC9B,UAAA;AAAA,YAAC,gBAAArB,EAAAsB,GAAA,EAAM,KAAK,EAAG,CAAA;AAAA,YACdL,KAAQ,gBAAAjB,EAACuB,GAAK,EAAA,MAAAN,GAAY,MAAM,IAAI;AAAA,YACpC,gBAAAjB,EAAAwB,GAAA,EAAQ,SAAS,MAAO,UAAOV,GAAA;AAAA,UAAA,GAClC;AAAA,UACA,gBAAAM,EAACC,GAAI,EAAA,KAAK,GACP,UAAA;AAAA,YAAAN;AAAA,YACD,gBAAAf;AAAA,cAACyB;AAAA,cAAA;AAAA,gBACC,UAAUC;AAAA,gBACV,SAASV;AAAA,gBACT,SAAS;AAAA,cAAA;AAAA,YACX;AAAA,YACA,gBAAAhB,EAACsB,GAAM,EAAA,KAAK,IAAK,CAAA;AAAA,UAAA,GACnB;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAAA;;;;;;;;;GCrCAK,KAAQ,EAAE,SAAS,EAAE,gBAAgB,SAAW,EAAA,GAEzCC,KAA8B,CAAC;AAAA,EAC1C,UAAA9B;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACT;AAAA,EAAA;AAAA,IACC,kBAAkBU,EAAO;AAAA,IACzB,WAAWA,EAAO;AAAA,IAAA,OAClB0B;AAAAA,IACC,GAAG5B;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAO;AAAA,QAClB,OAAO,EAAG,sBAAiC,cAAc;AAAA,QAExD,UAAAH;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAAA;;;;;;;;;GClBA6B,KAAQ,EAAE,SAAS,EAAE,gBAAgB,SAAW,EAAA,GAEzCE,KAA8B,CAAC;AAAA,EAC1C,UAAA/B;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACT;AAAA,EAAA;AAAA,IACC,kBAAkBU,EAAO;AAAA,IACzB,WAAWA,EAAO;AAAA,IAClB,OAAA0B;AAAA,IACC,GAAG5B;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAO;AAAA,QAClB,OAAO,EAAG,sBAAiC,cAAc;AAAA,QAExD,UAAAH;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAAA;;;GCROgC,KAA4C,CAAC;AAAA,EACxD,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,2BAAAC,IAA4B;AAAA,EAC5B,kBAAAC,IAAmB;AAAA,EACnB,GAAGC;AACL,MAEI,gBAAAnC;AAAA,EAACT;AAAA,EAAA;AAAA,IACE,GAAG4C;AAAA,IACJ,QAAM;AAAA,IACN,2BAAAF;AAAA,IACA,kBAAAC;AAAA,IACA,WAAWjC,EAAO;AAAA,IAClB,kBAAkBA,EAAO;AAAA,IAEzB,UAAC,gBAAAmB,EAAAgB,GAAA,EAAO,SAAS,GAAG,YAAY,UAC9B,UAAA;AAAA,MAAA,gBAAApC;AAAA,QAACqC;AAAA,QAAA;AAAA,UACC,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,QAAQ;AAAA,UAER,UAAA,gBAAArC,EAACsC,IAAQ,EAAA,MAAM,QAAS,CAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,OACEP,KAAkBC,MAEhB,gBAAAZ,EAAAmB,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAvC,EAACkB,GAAQ,EAAA;AAAA,QACT,gBAAAE,EAACC,GAAI,EAAA,QAAQ,GACV,UAAA;AAAA,UAAAU,KAEG,gBAAAX,EAAAmB,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAvC,EAACuB,KAAK,MAAM,IAAI,MAAMQ,GAAgB,OAAO,SAAS;AAAA,8BACrDS,IAAO,EAAA;AAAA,UAAA,GACV;AAAA,UAEDR,KACE,gBAAAhC,EAAAwB,GAAA,EAAQ,SAAS,MAAM,OAAO,SAC5B,UACHQ,GAAA;AAAA,QAAA,GAEJ;AAAA,MAAA,GACF;AAAA,IAAA,GAEJ;AAAA,EAAA;AAAA,GCjDOS,KAA4C,CAAC;AAAA,EACxD,gBAAAzB;AAAA,EACA,QAAAF;AAAA,EACA,YAAAkB;AAAA,EACA,sBAAAU;AACF,MAEI,gBAAAtB;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,WAAW7B;AAAA,IAEX,UAAA;AAAA,MAAA,gBAAA4B,EAACC,KAAI,MAAM,GAAG,QAAM,IAAC,YAAY,UAC9B,UAAA;AAAA,QAAAW,uBACEW,IAAI,EAAA,WAAWlD,GAA4B,MAAM,SAC/C,UACHuC,GAAA;AAAA,QAEDlB;AAAA,MAAA,GACH;AAAA,MACA,gBAAAd,EAACqC,GAAI,EAAA,WAAW,cACd,UAAA,gBAAArC;AAAA,QAAC4C;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,UACX,SAAS1B;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA;AAAA,EAAA;AAAA,GC3BO6B,KAAgC,CAAC;AAAA,EAC5C,QAAA/B;AAAA,EACA,YAAAkB;AAAA,EACA,UAAAlC;AAAA,EACA,SAAAgD;AAAA,EACA,QAAAC;AAAA,EACA,WAAAlD,IAAY;AAAA,EACZ,gBAAAmB;AAAA,EACA,sBAAA0B;AAAA,EACA,QAAAM;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,GAAGC;AACL,MAKI,gBAAA9B;AAAA,EAAC1B;AAAA,EAAA;AAAA,IACE,GAAGwD;AAAA,IACJ,gBAAAlC;AAAA,IACA,WAAAnB;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAG;AAAA,QAACyC;AAAA,QAAA;AAAA,UACC,gBAAAzB;AAAA,UACA,QAAAF;AAAA,UACA,YAAAkB;AAAA,UACA,sBAAAU;AAAA,QAAA;AAAA,MACF;AAAA,wBACCL,GAAI,EAAA,SAfa,OAAOS,KAAY,WAAWA,IAAU,GAe7B,QAdZ,OAAOC,KAAW,WAAWA,IAAS,GAepD,UAAAjD,GACH;AAAA,MACCkD,KACC,gBAAAhD;AAAA,QAACqC;AAAA,QAAA;AAAA,UACC,WAAWlC,EAAGF,EAAO,QAAQ;AAAA,YAC3B,CAACA,EAAO,YAAY,GAAG,CAACgD;AAAA,UAAA,CACzB;AAAA,UAEA,UAAAD;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAAA,GC7CKG,KAA4C,CAAC,EAAE,UAAArD,EAAS,MAClE,gBAAAE,EAAAoC,GAAA,EAAO,QAAQ,GAAG,SAAS,GACzB,UAAAtC,EACH,CAAA,GCHWsD,IAAgBC;AAAA,EAC3B;AACF;AC2BgB,SAAAC,EACdC,GACAC,GAC0C;AACpC,QAAAC,IAAWC,EAA0B,IAAI,GACzCC,IAAaH,EAAQ,OAAOC,GAC5B,CAACG,GAAKC,CAAa,IAAIC,GAAW,CAACC,MAAMA,IAAI,GAAG,CAAC,GACjDC,IAAaN,KACbO,IAAaP,KACbQ,IAAsBR,KACtBS,IAAYT,KACZ,CAACU,GAAgBC,CAAiB,IAAIC,EAAS,EAAK,GACpD,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GAEtCG,IAAOlB,GAEPmB,IAAOC;AAAA,IACX,CAACzB,MAAmB;;AAClB,aAAAc,EAAW,UAAU,IAAI;AAAA,QACvB,CAACY,GAASC,MAAW;AACnB,UAAAZ,EAAW,UAAUW,GACrBT,EAAU,UAAUU;AAAAA,QACtB;AAAA,MAAA,GAEFL,EAAW,EAAK,GAChBH,EAAkB,EAAI,GACRR,KACdK,EAAoB,UAAUhB,GAC1BM,EAAQ,SACVsB,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB,eAEpBC,IAAApB,EAAW,YAAX,QAAAoB,EAAoB,QAEff,EAAW;AAAA,IACpB;AAAA,IACA,CAACL,GAAYH,EAAQ,KAAK;AAAA,EAAA,GAGtBoB,IAAUD;AAAA,IACd,CAACK,MAAU;;AACT,MAAAR,EAAW,EAAI,IACfM,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB;AAAA,QAClB;AAAA,QACA,MAAM;;AACJ,UAAAN,EAAW,EAAK,GAChBH,EAAkB,EAAK,IACvBS,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB,UACpBC,IAAAd,EAAW,YAAX,QAAAc,EAAA,KAAAd,GAAqBe,IACrBd,EAAoB,UAAU,SAC9Be,IAAAzB,EAAQ,cAAR,QAAAyB,EAAA,KAAAzB;AAAA,QACF;AAAA,QACA,EAAE,MAAM,GAAK;AAAA;AAAA,IAEjB;AAAA,IACA,CAACG,GAAYH,CAAO;AAAA,EAAA,GAGhBqB,IAASF;AAAA,IACb,CAACO,MAAU;;AACT,MAAAV,EAAW,EAAI,IACfM,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB;AAAA,QAClB;AAAA,QACA,MAAM;;AACJ,UAAAN,EAAW,EAAK,GAChBH,EAAkB,EAAK,IACvBS,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB,UACpBC,IAAAZ,EAAU,YAAV,QAAAY,EAAA,KAAAZ,GAAoBe,KACpBD,IAAAzB,EAAQ,aAAR,QAAAyB,EAAA,KAAAzB,IACAU,EAAoB,UAAU;AAAA,QAChC;AAAA,QACA,EAAE,MAAM,GAAK;AAAA;AAAA,IAEjB;AAAA,IACA,CAACP,GAAYH,CAAO;AAAA,EAAA;AAuDtB,SAAO,CApDe2B;AAAA,IACpB,wBACG/B,EAAc,UAAd,EAAuB,OAAO,EAAE,SAAAwB,GAAS,QAAAC,KACxC,UAAA,gBAAA7E;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SACEwD,EAAQ,6BAA6B,SAAY,MAAMqB,EAAO;AAAA,QAEhE,KAAKlB;AAAA,QACL,WAAWxD,EAAGqD,EAAQ,WAAWe,KAAWf,EAAQ,gBAAgB;AAAA,QACpE,OAAOA,EAAQ;AAAA,QAEd,UAAAA,EAAQ,6BACP,gBAAAxD,EAAAuC,GAAA,EACG,UACC6B,KAAA,gBAAAgB,EAACX,GAAM,EAAA,GAAIP,EAAoB,SAAoB,KAAAN,EAAU,CAAA,EAEjE,CAAA,IAEA,gBAAA5D;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAOwD,EAAQ;AAAA,YACf,WAAWA,EAAQ;AAAA,YACnB,SACEA,EAAQ,6BACJ,SACA,CAAC6B,MAAOA,EAAG,gBAAgB;AAAA,YAGhC,eACE,gBAAAD,EAAAX,GAAA,EAAM,GAAIP,EAAoB,SAAoB,KAAAN,GAAU;AAAA,UAAA;AAAA,QAEjE;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,IAEF;AAAA,MACEgB;AAAA,MACAC;AAAA,MACArB,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRG;AAAA,MACAY;AAAA,MACAH;AAAA,MACAK;AAAA,MACAb;AAAA,IACF;AAAA,EAAA,GAGqB,EAAE,MAAAc,GAAM,QAAAG,EAAQ,CAAA;AACzC;ACnKO,MAAMS,KAAmB,MAEU;AAClC,QAAAC,IAAUC,GAAWpC,CAAa;AACxC,MAAImC,KAAW;AACP,UAAA,IAAI,MAAM,mDAAmD;AAE9D,SAAAA;AACT;;;;;;;;ACNgB,SAAAE,GACdlC,GACAC,GAC0C;AAC1C,SAAOF,EAAmCC,GAAW;AAAA,IACnD,GAAGC;AAAA,IACH,OAAO;AAAA,IACP,kBAAkBrD,EAAGqD,KAAA,gBAAAA,EAAS,kBAAkBvD,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBqD,KAAA,gBAAAA,EAAS;AAAA,MACTvD,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGqD,KAAA,gBAAAA,EAAS,WAAWvD,EAAO,WAAW;AAAA,EAAA,CACrD;AACH;;;;;;;;;;;;;;;;;;ACVO,SAASyF,GACdnC,GACAhD,IAAuB,QACvBiD,GAC0C;AAC1C,SAAOF,EAAmCC,GAAW;AAAA,IACnD,GAAGC;AAAA,IACH,4BAA4B;AAAA,IAC5B,OAAO;AAAA,IACP,kBAAkBrD,EAAGqD,KAAA,gBAAAA,EAAS,kBAAkBvD,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBqD,KAAA,gBAAAA,EAAS;AAAA,MACTvD,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGqD,KAAA,gBAAAA,EAAS,WAAWvD,EAAO,cAAcA,EAAOM,CAAS,CAAC;AAAA,EAAA,CACzE;AACH;;;;;;;;;;ACpBgB,SAAAoF,GACdpC,GACAC,GAC0C;AAC1C,SAAOF,EAAmCC,GAAW;AAAA,IACnD,GAAGC;AAAA,IACH,OAAO;AAAA,IACP,kBAAkBrD,EAAGqD,KAAA,gBAAAA,EAAS,kBAAkBvD,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBqD,KAAA,gBAAAA,EAAS;AAAA,MACTvD,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGqD,KAAA,gBAAAA,EAAS,WAAWvD,EAAO,WAAW;AAAA,EAAA,CACrD;AACH;ACZO,MAAM2F,IAA4C,CAAC,EAAE,UAAA9F,0BAEvD0B,GAAQ,EAAA,SAAS,MAAM,IAAI,MACzB,UAAA1B,EACH,CAAA;;GCHS+F,KAAwD,CAAC;AAAA,EACpE,SAAAC;AACF,MACU,gBAAA9F,EAAA,OAAA,EAAI,WAAWC,GAAO,oBAAqB,UAAQ6F,EAAA,CAAA,GCNhDC,KAAsC,CAAC,EAAE,KAAAC,IAAM,GAAG,GAAG9C,QACzD,gBAAAlD,EAACqC,KAAI,QAAQ,GAAG,SAAS,GAAG,KAAA2D,GAAW,GAAG9C,EAAO,CAAA,GCa7C+C,KAAsC,CAAC;AAAA,EAClD,MAAAhF;AAAA,EACA,SAAA6E;AAAA,EACA,SAAAI;AAAA,EACA,MAAAC;AAAA,EACA,UAAArG;AAAA,EACA,UAAAF;AAAA,EACA,UAAAwG;AACF,MAEI,gBAAAhF;AAAA,EAAC2E;AAAA,EAAA;AAAA,IACC,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,UAAAnG;AAAA,IACA,UAAAwG;AAAA,IAEC,UAAA;AAAA,MAAAnF,KAAS,gBAAAjB,EAAAqG,IAAA,EAAY,MAAApF,GAAY,MAAM,SAAS;AAAA,MACjD,gBAAAjB,EAAC4F,KAAc,UAAQM,EAAA,CAAA;AAAA,MACtBC,KAAQ,gBAAAnG,EAACsG,IAAK,EAAA,WAAW,UAAW,UAAKH,GAAA;AAAA,MACzCrG;AAAA,MACAgG,KACC,gBAAA9F,EAAAuC,GAAA,EACE,UAAC,gBAAAnB,EAAAiB,GAAA,EAAI,OAAO,QACV,UAAA;AAAA,QAAA,gBAAArC,EAACkB,GAAQ,EAAA;AAAA,QACT,gBAAAlB,EAAC6F,MAAmB,SAAAC,GAAkB;AAAA,MAAA,EAAA,CACxC,EACF,CAAA;AAAA,IAAA;AAAA,EAAA;AAAA,GCnCKS,KAA0C,CAAC;AAAA,EACtD,SAAAL;AAAA,EACA,cAAAM;AACF,MAEI,gBAAApF,EAACC,GAAI,EAAA,gBAAgB,iBAClB,UAAA;AAAA,EAAW6E,KAAA,gBAAAlG,EAAC4F,KAAc,UAAQM,EAAA,CAAA;AAAA,EACnC,gBAAAlG,EAAC4C,GAAY,EAAA,SAAS4D,EAAc,CAAA;AACtC,EAAA,CAAA;"}
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 { useRef } 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 const nodeRef = useRef(null);\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 nodeRef={nodeRef}\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 ref={nodeRef}\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 contentWrapperStyle?: CSSProperties;\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(options.className, closing && options.closingClassName)}\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 style={options.contentWrapperStyle}\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.contentWrapperStyle,\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 * as 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 * as 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 * as 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","nodeRef","useRef","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","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_6jugu_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_6jugu_1{border-radius:var(--swui-border-radius-large)}}._modalDialog_6jugu_1:not([open]){display:none}._modalDialog_6jugu_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_6jugu_1 .25s forwards}._modalDialog_6jugu_1._closing_6jugu_25[open]{animation:_slideOut_6jugu_1 .25s forwards}@media (max-width: 768px){._modalDialog_6jugu_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_6jugu_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_6jugu_1 .25s forwards}._modalDialog_6jugu_1._closing_6jugu_25::backdrop{animation:_fadeOut_6jugu_1 .25s forwards}@keyframes _fadeIn_6jugu_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_6jugu_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_6jugu_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_6jugu_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (max-width: 768px){._contentWrapper_6jugu_89{display:flex;height:100%}}._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 N=require("react-modal"),t=require("react/jsx-runtime"),V=require("react-draggable"),i=require("classnames"),a=require("@stenajs-webui/core"),x=require("@stenajs-webui/elements"),J=require("@stenajs-webui/theme"),o=require("react"),K=s=>{N.setAppElement(s)},Q="_overlay_5x3op_1",U="_fadeIn_5x3op_1",X="_modal_5x3op_31",Y="_content_5x3op_41",Z="_appear_5x3op_1",ee="_isDraggable_5x3op_70",te="_footer_5x3op_101",se="_stickyFooter_5x3op_105",v={overlay:Q,fadeIn:U,modal:X,content:Y,appear:Z,isDraggable:ee,footer:te,stickyFooter:se},S="draggable-modal-handle",W="draggable-modal-cancel",z=({width:s,maxWidth:e,draggable:l=!1,children:n,...r})=>t.jsx(N,{overlayClassName:v.overlay,className:v.modal,...r,children:t.jsx(V,{handle:`.${S}`,cancel:`.${W}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!l,children:t.jsx("div",{style:{"--swui-modal-width":s,"--swui-modal-max-width":e},className:i(v.content,{[v.isDraggable]:l}),children:n})})}),le="_portal_17ze5_1",ne="_overlay_17ze5_4",ae="_content_17ze5_9",oe="_floating_17ze5_15",re="_slideFromLeft_17ze5_29",ce="_slideFromRight_17ze5_30",ie="_afterOpen_17ze5_36",de="_beforeClose_17ze5_40",_e="_slideFromTop_17ze5_45",ue="_slideFromBottom_17ze5_46",c={portal:le,overlay:ne,content:ae,floating:oe,slideFromLeft:re,slideFromRight:ce,afterOpen:ie,beforeClose:de,slideFromTop:_e,slideFromBottom:ue},me=({background:s,zIndex:e,children:l,slideFrom:n="left",portalTarget:r,floating:h,...d})=>{const{height:m,width:_}=d;return t.jsx(N,{closeTimeoutMS:250,portalClassName:c.portal,overlayClassName:{base:c.overlay,afterOpen:c.afterOpen,beforeClose:c.beforeClose},className:{base:i(c.content,ge(n),h&&c.floating),afterOpen:c.afterOpen,beforeClose:c.beforeClose},style:{content:{width:_,height:m,background:s},overlay:{zIndex:e}},parentSelector:r?()=>r:void 0,...d,children:l})},ge=s=>{switch(s){case"left":return c.slideFromLeft;case"right":return c.slideFromRight;case"top":return c.slideFromTop;case"bottom":return c.slideFromBottom;default:return a.exhaustSwitchCase(s,c.slideFromLeft)}},fe=({header:s,contentRight:e,onRequestClose:l,icon:n})=>t.jsx(a.Spacing,{position:"sticky",top:0,zIndex:100,background:J.cssColor("--lhds-color-ui-50"),children:t.jsxs(a.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[t.jsxs(a.Row,{alignItems:"center",gap:2,children:[t.jsx(a.Space,{num:1}),n&&t.jsx(x.Icon,{icon:n,size:24}),t.jsx(a.Heading,{variant:"h4",children:s})]}),t.jsxs(a.Row,{gap:1,children:[e,t.jsx(x.FlatButton,{leftIcon:x.stenaTimes,onClick:l,variant:"danger"}),t.jsx(a.Space,{num:.5})]})]})}),xe="_overlay_r9tkq_1",he="_fadeIn_r9tkq_1",ye="_modal_r9tkq_31",Ce="_content_r9tkq_38",je="_appear_r9tkq_1",ve="_isDraggable_r9tkq_61",Ne="_footer_r9tkq_92",pe="_stickyFooter_r9tkq_96",A={overlay:xe,fadeIn:he,modal:ye,content:Ce,appear:je,isDraggable:ve,footer:Ne,stickyFooter:pe},we={overlay:{justifyContent:"center"}},be=({children:s,...e})=>t.jsx(N,{overlayClassName:A.overlay,className:A.modal,style:we,...e,children:t.jsx("div",{className:A.content,style:{"--swui-modal-width":"fit-content"},children:s})}),De="_overlay_1rolx_1",Ie="_fadeIn_1rolx_1",Oe="_modal_1rolx_31",$e="_content_1rolx_41",ke="_appear_1rolx_1",Ae="_isDraggable_1rolx_71",Be="_footer_1rolx_102",Fe="_stickyFooter_1rolx_106",B={overlay:De,fadeIn:Ie,modal:Oe,content:$e,appear:ke,isDraggable:Ae,footer:Be,stickyFooter:Fe},Re={overlay:{justifyContent:"center"}},Se=({children:s,...e})=>t.jsx(N,{overlayClassName:B.overlay,className:B.modal,style:Re,...e,children:t.jsx("div",{className:B.content,style:{"--swui-modal-width":"fit-content"},children:s})}),We="_modal_4fwgb_1",Le="_overlay_4fwgb_13",E={modal:We,overlay:Le},Me=({headerIconLeft:s,headerText:e,shouldCloseOnOverlayClick:l=!1,shouldCloseOnEsc:n=!1,...r})=>t.jsx(N,{...r,isOpen:!0,shouldCloseOnOverlayClick:l,shouldCloseOnEsc:n,className:E.modal,overlayClassName:E.overlay,children:t.jsxs(a.Column,{spacing:2,alignItems:"center",children:[t.jsx(a.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:t.jsx(x.Spinner,{size:"small"})}),(s||e)&&t.jsxs(t.Fragment,{children:[t.jsx(a.Spacing,{}),t.jsxs(a.Row,{indent:2,children:[s&&t.jsxs(t.Fragment,{children:[t.jsx(x.Icon,{size:14,icon:s,color:"white"}),t.jsx(a.Indent,{})]}),e&&t.jsx(a.Heading,{variant:"h4",color:"white",children:e})]})]})]})}),q=({onRequestClose:s,header:e,headerText:l,closeButtonClassName:n})=>t.jsxs(a.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:S,children:[t.jsxs(a.Row,{flex:1,indent:!0,alignItems:"center",children:[l&&t.jsx(a.Txt,{className:W,size:"large",children:l}),e]}),t.jsx(a.Box,{alignSelf:"flex-start",children:t.jsx(x.CloseButton,{className:n,onClick:s})})]}),Ee=({header:s,headerText:e,children:l,spacing:n,indent:r,draggable:h=!1,onRequestClose:d,closeButtonClassName:m,footer:_,disableStickyFooter:j=!1,...p})=>{const w=typeof n=="number"?n:1,D=typeof r=="number"?r:1;return t.jsxs(z,{...p,onRequestClose:d,draggable:h,children:[t.jsx(q,{onRequestClose:d,header:s,headerText:e,closeButtonClassName:m}),t.jsx(a.Box,{spacing:w,indent:D,children:l}),_&&t.jsx(a.Box,{className:i(v.footer,{[v.stickyFooter]:!j}),children:_})]})},ze=({children:s})=>t.jsx(a.Column,{indent:2,spacing:2,children:s}),H=o.createContext(void 0);function $(s,e){const l=o.useRef(null),n=e.ref??l,[r,h]=o.useReducer(u=>u+1,0),d=o.useRef(),m=o.useRef(),_=o.useRef(),j=o.useRef(),[p,w]=o.useState(!1),[D,b]=o.useState(!1),k=s,P=o.useCallback(u=>{var g,f;return d.current=new Promise((y,C)=>{m.current=y,j.current=C}),b(!1),w(!0),h(),_.current=u,e.modal?(g=n.current)==null||g.showModal():(f=n.current)==null||f.show(),d.current},[n,e.modal]),M=o.useCallback(u=>{var g;b(!0),(g=n.current)==null||g.addEventListener("animationend",()=>{var f,y,C;b(!1),w(!1),(f=n.current)==null||f.close(),(y=m.current)==null||y.call(m,u),_.current=void 0,(C=e.onResolve)==null||C.call(e)},{once:!0})},[n,e]),I=o.useCallback(u=>{var g;b(!0),(g=n.current)==null||g.addEventListener("animationend",()=>{var f,y,C;b(!1),w(!1),(f=n.current)==null||f.close(),(y=j.current)==null||y.call(j,u),(C=e.onReject)==null||C.call(e),_.current=void 0},{once:!0})},[n,e]);return[o.useMemo(()=>t.jsx(H.Provider,{value:{resolve:M,reject:I},children:t.jsx("dialog",{onClick:e.disableCloseOnClickOutside?void 0:()=>I(),ref:n,className:i(e.className,D&&e.closingClassName),style:e.dialogStyle,children:e.disableCloseOnClickOutside?t.jsx(t.Fragment,{children:p&&o.createElement(k,{..._.current,key:r})}):t.jsx("div",{style:e.contentWrapperStyle,className:e.contentWrapperClassName,onClick:e.disableCloseOnClickOutside?void 0:u=>u.stopPropagation(),children:p&&o.createElement(k,{..._.current,key:r})})})}),[M,I,e.disableCloseOnClickOutside,e.className,e.closingClassName,e.dialogStyle,e.contentWrapperStyle,e.contentWrapperClassName,n,D,p,k,r]),{show:P,reject:I}]}const qe=()=>{const s=o.useContext(H);if(s==null)throw new Error("useDialogPromise is being used outside of dialog.");return s},He="_alertDialog_14t8t_1",Te="_slideIn_14t8t_1",Ge="_closing_14t8t_22",Pe="_slideOut_14t8t_1",Ve="_fadeIn_14t8t_1",Je="_fadeOut_14t8t_1",F={alertDialog:He,slideIn:Te,closing:Ge,slideOut:Pe,fadeIn:Ve,fadeOut:Je};function Ke(s,e){return $(s,{...e,modal:!0,closingClassName:i(e==null?void 0:e.closingClassName,F.closing),contentWrapperClassName:i(e==null?void 0:e.contentWrapperClassName,F.contentWrapper),className:i(e==null?void 0:e.className,F.alertDialog)})}const Qe="_drawerDialog_3e8xf_1",Ue="_left_3e8xf_12",Xe="_right_3e8xf_13",Ye="_contentWrapper_3e8xf_18",Ze="_slideInLeft_3e8xf_1",et="_closing_3e8xf_35",tt="_slideOutLeft_3e8xf_1",st="_slideInRight_3e8xf_1",lt="_slideOutRight_3e8xf_1",nt="_top_3e8xf_53",at="_bottom_3e8xf_54",ot="_slideInTop_3e8xf_1",rt="_slideOutTop_3e8xf_1",ct="_slideInBottom_3e8xf_1",it="_slideOutBottom_3e8xf_1",O={drawerDialog:Qe,left:Ue,right:Xe,contentWrapper:Ye,slideInLeft:Ze,closing:et,slideOutLeft:tt,slideInRight:st,slideOutRight:lt,top:nt,bottom:at,slideInTop:ot,slideOutTop:rt,slideInBottom:ct,slideOutBottom:it};function dt(s,e="left",l){return $(s,{...l,disableCloseOnClickOutside:!0,modal:!1,closingClassName:i(l==null?void 0:l.closingClassName,O.closing),contentWrapperClassName:i(l==null?void 0:l.contentWrapperClassName,O.contentWrapper),className:i(l==null?void 0:l.className,O.drawerDialog,O[e])})}const _t="_modalDialog_6jugu_1",ut="_slideIn_6jugu_1",mt="_closing_6jugu_25",gt="_slideOut_6jugu_1",ft="_fadeIn_6jugu_1",xt="_fadeOut_6jugu_1",ht="_contentWrapper_6jugu_89",R={modalDialog:_t,slideIn:ut,closing:mt,slideOut:gt,fadeIn:ft,fadeOut:xt,contentWrapper:ht};function yt(s,e){return $(s,{...e,modal:!0,closingClassName:i(e==null?void 0:e.closingClassName,R.closing),contentWrapperClassName:i(e==null?void 0:e.contentWrapperClassName,R.contentWrapper),className:i(e==null?void 0:e.className,R.modalDialog)})}const L=({children:s})=>t.jsx(a.Heading,{variant:"h3",as:"h2",children:s}),Ct="_modalActionButtons_s27nj_1",jt={modalActionButtons:Ct},T=({buttons:s})=>t.jsx("div",{className:jt.modalActionButtons,children:s}),G=({gap:s=2,...e})=>t.jsx(a.Box,{indent:4,spacing:4,gap:s,...e}),vt=({icon:s,buttons:e,heading:l,text:n,children:r,maxWidth:h,minWidth:d})=>t.jsxs(G,{flexDirection:"column",alignItems:"center",maxWidth:h,minWidth:d,children:[s&&t.jsx(x.CircledIcon,{icon:s,size:"large"}),t.jsx(L,{children:l}),n&&t.jsx(a.Text,{textAlign:"center",children:n}),r,e&&t.jsx(t.Fragment,{children:t.jsxs(a.Box,{width:"100%",children:[t.jsx(a.Spacing,{}),t.jsx(T,{buttons:e})]})})]}),Nt=({heading:s,onClickClose:e})=>t.jsxs(a.Row,{justifyContent:"space-between",children:[s&&t.jsx(L,{children:s}),t.jsx(x.CloseButton,{onClick:e})]});exports.Alert=be;exports.BaseWindow=z;exports.DRAGGABLE_CANCEL_CLASSNAME=W;exports.DRAGGABLE_HANDLE_CLASSNAME=S;exports.Drawer=me;exports.DrawerHeader=fe;exports.InfoAlert=vt;exports.LoadingModal=Me;exports.Modal=Se;exports.ModalActionButtons=T;exports.ModalBody=G;exports.ModalHeader=Nt;exports.ModalHeading=L;exports.Window=Ee;exports.WindowFooter=ze;exports.WindowHeader=q;exports.setupDeclarativeModals=K;exports.useAlertDialog=Ke;exports.useDialog=$;exports.useDialogPromise=qe;exports.useDrawerDialog=dt;exports.useModalDialog=yt;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react-modal"),t=require("react/jsx-runtime"),o=require("react"),V=require("react-draggable"),i=require("classnames"),a=require("@stenajs-webui/core"),h=require("@stenajs-webui/elements"),J=require("@stenajs-webui/theme"),K=s=>{N.setAppElement(s)},Q="_overlay_5x3op_1",U="_fadeIn_5x3op_1",X="_modal_5x3op_31",Y="_content_5x3op_41",Z="_appear_5x3op_1",ee="_isDraggable_5x3op_70",te="_footer_5x3op_101",se="_stickyFooter_5x3op_105",v={overlay:Q,fadeIn:U,modal:X,content:Y,appear:Z,isDraggable:ee,footer:te,stickyFooter:se},S="draggable-modal-handle",W="draggable-modal-cancel",z=({width:s,maxWidth:e,draggable:l=!1,children:n,...r})=>{const d=o.useRef(null);return t.jsx(N,{overlayClassName:v.overlay,className:v.modal,...r,children:t.jsx(V,{handle:`.${S}`,cancel:`.${W}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!l,nodeRef:d,children:t.jsx("div",{style:{"--swui-modal-width":s,"--swui-modal-max-width":e},className:i(v.content,{[v.isDraggable]:l}),ref:d,children:n})})})},le="_portal_17ze5_1",ne="_overlay_17ze5_4",ae="_content_17ze5_9",oe="_floating_17ze5_15",re="_slideFromLeft_17ze5_29",ce="_slideFromRight_17ze5_30",ie="_afterOpen_17ze5_36",de="_beforeClose_17ze5_40",_e="_slideFromTop_17ze5_45",ue="_slideFromBottom_17ze5_46",c={portal:le,overlay:ne,content:ae,floating:oe,slideFromLeft:re,slideFromRight:ce,afterOpen:ie,beforeClose:de,slideFromTop:_e,slideFromBottom:ue},me=({background:s,zIndex:e,children:l,slideFrom:n="left",portalTarget:r,floating:d,..._})=>{const{height:g,width:u}=_;return t.jsx(N,{closeTimeoutMS:250,portalClassName:c.portal,overlayClassName:{base:c.overlay,afterOpen:c.afterOpen,beforeClose:c.beforeClose},className:{base:i(c.content,ge(n),d&&c.floating),afterOpen:c.afterOpen,beforeClose:c.beforeClose},style:{content:{width:u,height:g,background:s},overlay:{zIndex:e}},parentSelector:r?()=>r:void 0,..._,children:l})},ge=s=>{switch(s){case"left":return c.slideFromLeft;case"right":return c.slideFromRight;case"top":return c.slideFromTop;case"bottom":return c.slideFromBottom;default:return a.exhaustSwitchCase(s,c.slideFromLeft)}},fe=({header:s,contentRight:e,onRequestClose:l,icon:n})=>t.jsx(a.Spacing,{position:"sticky",top:0,zIndex:100,background:J.cssColor("--lhds-color-ui-50"),children:t.jsxs(a.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[t.jsxs(a.Row,{alignItems:"center",gap:2,children:[t.jsx(a.Space,{num:1}),n&&t.jsx(h.Icon,{icon:n,size:24}),t.jsx(a.Heading,{variant:"h4",children:s})]}),t.jsxs(a.Row,{gap:1,children:[e,t.jsx(h.FlatButton,{leftIcon:h.stenaTimes,onClick:l,variant:"danger"}),t.jsx(a.Space,{num:.5})]})]})}),xe="_overlay_r9tkq_1",he="_fadeIn_r9tkq_1",ye="_modal_r9tkq_31",Ce="_content_r9tkq_38",je="_appear_r9tkq_1",ve="_isDraggable_r9tkq_61",Ne="_footer_r9tkq_92",pe="_stickyFooter_r9tkq_96",k={overlay:xe,fadeIn:he,modal:ye,content:Ce,appear:je,isDraggable:ve,footer:Ne,stickyFooter:pe},we={overlay:{justifyContent:"center"}},be=({children:s,...e})=>t.jsx(N,{overlayClassName:k.overlay,className:k.modal,style:we,...e,children:t.jsx("div",{className:k.content,style:{"--swui-modal-width":"fit-content"},children:s})}),De="_overlay_1rolx_1",Ie="_fadeIn_1rolx_1",Oe="_modal_1rolx_31",$e="_content_1rolx_41",Re="_appear_1rolx_1",ke="_isDraggable_1rolx_71",Ae="_footer_1rolx_102",Be="_stickyFooter_1rolx_106",A={overlay:De,fadeIn:Ie,modal:Oe,content:$e,appear:Re,isDraggable:ke,footer:Ae,stickyFooter:Be},Fe={overlay:{justifyContent:"center"}},Se=({children:s,...e})=>t.jsx(N,{overlayClassName:A.overlay,className:A.modal,style:Fe,...e,children:t.jsx("div",{className:A.content,style:{"--swui-modal-width":"fit-content"},children:s})}),We="_modal_4fwgb_1",Le="_overlay_4fwgb_13",E={modal:We,overlay:Le},Me=({headerIconLeft:s,headerText:e,shouldCloseOnOverlayClick:l=!1,shouldCloseOnEsc:n=!1,...r})=>t.jsx(N,{...r,isOpen:!0,shouldCloseOnOverlayClick:l,shouldCloseOnEsc:n,className:E.modal,overlayClassName:E.overlay,children:t.jsxs(a.Column,{spacing:2,alignItems:"center",children:[t.jsx(a.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:t.jsx(h.Spinner,{size:"small"})}),(s||e)&&t.jsxs(t.Fragment,{children:[t.jsx(a.Spacing,{}),t.jsxs(a.Row,{indent:2,children:[s&&t.jsxs(t.Fragment,{children:[t.jsx(h.Icon,{size:14,icon:s,color:"white"}),t.jsx(a.Indent,{})]}),e&&t.jsx(a.Heading,{variant:"h4",color:"white",children:e})]})]})]})}),q=({onRequestClose:s,header:e,headerText:l,closeButtonClassName:n})=>t.jsxs(a.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:S,children:[t.jsxs(a.Row,{flex:1,indent:!0,alignItems:"center",children:[l&&t.jsx(a.Txt,{className:W,size:"large",children:l}),e]}),t.jsx(a.Box,{alignSelf:"flex-start",children:t.jsx(h.CloseButton,{className:n,onClick:s})})]}),Ee=({header:s,headerText:e,children:l,spacing:n,indent:r,draggable:d=!1,onRequestClose:_,closeButtonClassName:g,footer:u,disableStickyFooter:j=!1,...p})=>{const w=typeof n=="number"?n:1,D=typeof r=="number"?r:1;return t.jsxs(z,{...p,onRequestClose:_,draggable:d,children:[t.jsx(q,{onRequestClose:_,header:s,headerText:e,closeButtonClassName:g}),t.jsx(a.Box,{spacing:w,indent:D,children:l}),u&&t.jsx(a.Box,{className:i(v.footer,{[v.stickyFooter]:!j}),children:u})]})},ze=({children:s})=>t.jsx(a.Column,{indent:2,spacing:2,children:s}),H=o.createContext(void 0);function $(s,e){const l=o.useRef(null),n=e.ref??l,[r,d]=o.useReducer(m=>m+1,0),_=o.useRef(),g=o.useRef(),u=o.useRef(),j=o.useRef(),[p,w]=o.useState(!1),[D,b]=o.useState(!1),R=s,P=o.useCallback(m=>{var f,x;return _.current=new Promise((y,C)=>{g.current=y,j.current=C}),b(!1),w(!0),d(),u.current=m,e.modal?(f=n.current)==null||f.showModal():(x=n.current)==null||x.show(),_.current},[n,e.modal]),M=o.useCallback(m=>{var f;b(!0),(f=n.current)==null||f.addEventListener("animationend",()=>{var x,y,C;b(!1),w(!1),(x=n.current)==null||x.close(),(y=g.current)==null||y.call(g,m),u.current=void 0,(C=e.onResolve)==null||C.call(e)},{once:!0})},[n,e]),I=o.useCallback(m=>{var f;b(!0),(f=n.current)==null||f.addEventListener("animationend",()=>{var x,y,C;b(!1),w(!1),(x=n.current)==null||x.close(),(y=j.current)==null||y.call(j,m),(C=e.onReject)==null||C.call(e),u.current=void 0},{once:!0})},[n,e]);return[o.useMemo(()=>t.jsx(H.Provider,{value:{resolve:M,reject:I},children:t.jsx("dialog",{onClick:e.disableCloseOnClickOutside?void 0:()=>I(),ref:n,className:i(e.className,D&&e.closingClassName),style:e.dialogStyle,children:e.disableCloseOnClickOutside?t.jsx(t.Fragment,{children:p&&o.createElement(R,{...u.current,key:r})}):t.jsx("div",{style:e.contentWrapperStyle,className:e.contentWrapperClassName,onClick:e.disableCloseOnClickOutside?void 0:m=>m.stopPropagation(),children:p&&o.createElement(R,{...u.current,key:r})})})}),[M,I,e.disableCloseOnClickOutside,e.className,e.closingClassName,e.dialogStyle,e.contentWrapperStyle,e.contentWrapperClassName,n,D,p,R,r]),{show:P,reject:I}]}const qe=()=>{const s=o.useContext(H);if(s==null)throw new Error("useDialogPromise is being used outside of dialog.");return s},He="_alertDialog_14t8t_1",Te="_slideIn_14t8t_1",Ge="_closing_14t8t_22",Pe="_slideOut_14t8t_1",Ve="_fadeIn_14t8t_1",Je="_fadeOut_14t8t_1",B={alertDialog:He,slideIn:Te,closing:Ge,slideOut:Pe,fadeIn:Ve,fadeOut:Je};function Ke(s,e){return $(s,{...e,modal:!0,closingClassName:i(e==null?void 0:e.closingClassName,B.closing),contentWrapperClassName:i(e==null?void 0:e.contentWrapperClassName,B.contentWrapper),className:i(e==null?void 0:e.className,B.alertDialog)})}const Qe="_drawerDialog_3e8xf_1",Ue="_left_3e8xf_12",Xe="_right_3e8xf_13",Ye="_contentWrapper_3e8xf_18",Ze="_slideInLeft_3e8xf_1",et="_closing_3e8xf_35",tt="_slideOutLeft_3e8xf_1",st="_slideInRight_3e8xf_1",lt="_slideOutRight_3e8xf_1",nt="_top_3e8xf_53",at="_bottom_3e8xf_54",ot="_slideInTop_3e8xf_1",rt="_slideOutTop_3e8xf_1",ct="_slideInBottom_3e8xf_1",it="_slideOutBottom_3e8xf_1",O={drawerDialog:Qe,left:Ue,right:Xe,contentWrapper:Ye,slideInLeft:Ze,closing:et,slideOutLeft:tt,slideInRight:st,slideOutRight:lt,top:nt,bottom:at,slideInTop:ot,slideOutTop:rt,slideInBottom:ct,slideOutBottom:it};function dt(s,e="left",l){return $(s,{...l,disableCloseOnClickOutside:!0,modal:!1,closingClassName:i(l==null?void 0:l.closingClassName,O.closing),contentWrapperClassName:i(l==null?void 0:l.contentWrapperClassName,O.contentWrapper),className:i(l==null?void 0:l.className,O.drawerDialog,O[e])})}const _t="_modalDialog_6jugu_1",ut="_slideIn_6jugu_1",mt="_closing_6jugu_25",gt="_slideOut_6jugu_1",ft="_fadeIn_6jugu_1",xt="_fadeOut_6jugu_1",ht="_contentWrapper_6jugu_89",F={modalDialog:_t,slideIn:ut,closing:mt,slideOut:gt,fadeIn:ft,fadeOut:xt,contentWrapper:ht};function yt(s,e){return $(s,{...e,modal:!0,closingClassName:i(e==null?void 0:e.closingClassName,F.closing),contentWrapperClassName:i(e==null?void 0:e.contentWrapperClassName,F.contentWrapper),className:i(e==null?void 0:e.className,F.modalDialog)})}const L=({children:s})=>t.jsx(a.Heading,{variant:"h3",as:"h2",children:s}),Ct="_modalActionButtons_s27nj_1",jt={modalActionButtons:Ct},T=({buttons:s})=>t.jsx("div",{className:jt.modalActionButtons,children:s}),G=({gap:s=2,...e})=>t.jsx(a.Box,{indent:4,spacing:4,gap:s,...e}),vt=({icon:s,buttons:e,heading:l,text:n,children:r,maxWidth:d,minWidth:_})=>t.jsxs(G,{flexDirection:"column",alignItems:"center",maxWidth:d,minWidth:_,children:[s&&t.jsx(h.CircledIcon,{icon:s,size:"large"}),t.jsx(L,{children:l}),n&&t.jsx(a.Text,{textAlign:"center",children:n}),r,e&&t.jsx(t.Fragment,{children:t.jsxs(a.Box,{width:"100%",children:[t.jsx(a.Spacing,{}),t.jsx(T,{buttons:e})]})})]}),Nt=({heading:s,onClickClose:e})=>t.jsxs(a.Row,{justifyContent:"space-between",children:[s&&t.jsx(L,{children:s}),t.jsx(h.CloseButton,{onClick:e})]});exports.Alert=be;exports.BaseWindow=z;exports.DRAGGABLE_CANCEL_CLASSNAME=W;exports.DRAGGABLE_HANDLE_CLASSNAME=S;exports.Drawer=me;exports.DrawerHeader=fe;exports.InfoAlert=vt;exports.LoadingModal=Me;exports.Modal=Se;exports.ModalActionButtons=T;exports.ModalBody=G;exports.ModalHeader=Nt;exports.ModalHeading=L;exports.Window=Ee;exports.WindowFooter=ze;exports.WindowHeader=q;exports.setupDeclarativeModals=K;exports.useAlertDialog=Ke;exports.useDialog=$;exports.useDialogPromise=qe;exports.useDrawerDialog=dt;exports.useModalDialog=yt;
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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 contentWrapperStyle?: CSSProperties;\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(options.className, closing && options.closingClassName)}\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 style={options.contentWrapperStyle}\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.contentWrapperStyle,\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 * as 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 * as 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 * as 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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"}
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 { useRef } 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 const nodeRef = useRef(null);\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 nodeRef={nodeRef}\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 ref={nodeRef}\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 contentWrapperStyle?: CSSProperties;\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(options.className, closing && options.closingClassName)}\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 style={options.contentWrapperStyle}\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.contentWrapperStyle,\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 * as 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 * as 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 * as 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","nodeRef","useRef","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","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.6.7",
3
+ "version": "20.6.9",
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.6.7",
37
- "@stenajs-webui/elements": "20.6.7",
38
- "@stenajs-webui/theme": "20.6.7",
36
+ "@stenajs-webui/core": "20.6.9",
37
+ "@stenajs-webui/elements": "20.6.9",
38
+ "@stenajs-webui/theme": "20.6.9",
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": "ffaff5a2e0226ad09666d339571fc7dda9cf7d02"
68
+ "gitHead": "c1740a1f71e0e172b994cf1253f6befb3c254443"
69
69
  }