@stenajs-webui/modal 22.0.0 → 22.0.2
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/declarative-modals/modal/Modal.d.ts +3 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +125 -122
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import ReactModal from "react-modal";
|
|
3
|
-
export interface ModalProps extends ReactModal.Props {
|
|
3
|
+
export interface ModalProps extends Omit<ReactModal.Props, "className" | "overlayClassName"> {
|
|
4
4
|
background?: string;
|
|
5
5
|
onRequestClose?: () => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
overlayClassName?: string;
|
|
6
8
|
}
|
|
7
9
|
export declare const Modal: React.FC<ModalProps>;
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export * from "./dialog/alert/UseAlertDialog";
|
|
|
17
17
|
export * from "./dialog/drawer/UseDrawerDialog";
|
|
18
18
|
export * from "./dialog/modal/UseModalDialog";
|
|
19
19
|
export * from "./ready-made-modals/InfoAlert";
|
|
20
|
+
export * from "./building-blocks/ModalCloseButton";
|
|
20
21
|
export * from "./building-blocks/ModalContainer";
|
|
21
22
|
export * from "./building-blocks/ModalHeader";
|
|
22
23
|
export * from "./building-blocks/ModalActionButtons";
|
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_quvmp_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_quvmp_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_quvmp_1{background-color:#fff}}._overlay_quvmp_1 ._modal_quvmp_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_quvmp_1 ._modal_quvmp_31{width:100%}}._overlay_quvmp_1 ._content_quvmp_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_quvmp_1 ._content_quvmp_41{top:0;width:100%;max-width:100%}}._overlay_quvmp_1 ._content_quvmp_41{animation:_appear_quvmp_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_quvmp_1 ._content_quvmp_41{box-shadow:none;top:0}}._overlay_quvmp_1 ._content_quvmp_41:focus{outline:0}._overlay_quvmp_1 ._content_quvmp_41._isDraggable_quvmp_70 .draggable-modal-handle{cursor:move}._overlay_quvmp_1 ._content_quvmp_41._isDraggable_quvmp_70 .draggable-modal-handle .draggable-modal-cancel,._overlay_quvmp_1 ._content_quvmp_41._isDraggable_quvmp_70 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_quvmp_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_quvmp_1{0%{opacity:0}to{opacity:1}}._footer_quvmp_101{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_quvmp_105{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_quvmp_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_1gix5_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_1gix5_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1gix5_1{background-color:#fff}}._overlay_1gix5_1 ._modal_1gix5_31{max-width:100%;outline:none;pointer-events:none;padding:var(--swui-metrics-space)}._overlay_1gix5_1 ._content_1gix5_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_1gix5_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1gix5_1 ._content_1gix5_38{box-shadow:none;top:0}}._overlay_1gix5_1 ._content_1gix5_38:focus{outline:0}._overlay_1gix5_1 ._content_1gix5_38._isDraggable_1gix5_61 .draggable-modal-handle{cursor:move}._overlay_1gix5_1 ._content_1gix5_38._isDraggable_1gix5_61 .draggable-modal-handle .draggable-modal-cancel,._overlay_1gix5_1 ._content_1gix5_38._isDraggable_1gix5_61 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_1gix5_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_1gix5_1{0%{opacity:0}to{opacity:1}}._footer_1gix5_92{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_1gix5_96{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_1gix5_96{position:static;box-shadow:none}}._overlay_nbrrn_1{--swui-modal-animation-time: var(--swui-animation-time-medium);--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);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;opacity:0}._overlay_nbrrn_1._afterOpen_nbrrn_24:not(._beforeClose_nbrrn_24){animation:_fadeIn_nbrrn_1 var(--swui-modal-animation-time) forwards}._overlay_nbrrn_1._beforeClose_nbrrn_24{animation:_fadeOut_nbrrn_1 var(--swui-modal-animation-time) forwards}@media print{._overlay_nbrrn_1{background-color:#fff}}._overlay_nbrrn_1 ._modal_nbrrn_36{max-width:100%;outline:none;pointer-events:none;padding:calc(var(--swui-metrics-space) * 2);box-sizing:border-box;max-height:100%;transform:translateY(-100%)}@media (max-width: 768px){._overlay_nbrrn_1 ._modal_nbrrn_36{padding:0;width:100%}}._overlay_nbrrn_1 ._modal_nbrrn_36._afterOpen_nbrrn_24:not(._beforeClose_nbrrn_24){animation:_slideIn_nbrrn_1 var(--swui-modal-animation-time) forwards}._overlay_nbrrn_1 ._modal_nbrrn_36._beforeClose_nbrrn_24{animation:_slideOut_nbrrn_1 var(--swui-modal-animation-time) forwards}._overlay_nbrrn_1 ._content_nbrrn_59{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);height:100%;overflow:hidden;overflow-y:auto}@media (max-width: 768px){._overlay_nbrrn_1 ._content_nbrrn_59{border-radius:0;width:100%;max-width:100%;min-height:100dvh}}@media (min-width: 769px){._overlay_nbrrn_1 ._content_nbrrn_59{border-radius:var(--swui-border-radius-large)}._overlay_nbrrn_1 ._content_nbrrn_59::-webkit-scrollbar-thumb{background-color:var(--lhds-color-ui-400);border:4px solid transparent;border-radius:8px;background-clip:padding-box;min-height:40px}._overlay_nbrrn_1 ._content_nbrrn_59::-webkit-scrollbar{width:16px}}@media print{._overlay_nbrrn_1 ._content_nbrrn_59{box-shadow:none;top:0}}._overlay_nbrrn_1 ._content_nbrrn_59:focus{outline:0}@keyframes _fadeIn_nbrrn_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_nbrrn_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_nbrrn_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_nbrrn_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._footer_nbrrn_149{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_nbrrn_153{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_nbrrn_153{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_11g6r_1{max-height:100%;max-width:100%;border:0;outline:0;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:#0003 0 0 10px 4px;position:fixed}._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{height:100%;top:0;bottom:0}._drawerDialog_11g6r_1._left_11g6r_13 ._contentWrapper_11g6r_19,._drawerDialog_11g6r_1._right_11g6r_14 ._contentWrapper_11g6r_19{height:100%}@media (max-width: 768px){._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{width:-webkit-fit-content;width:fit-content}}._drawerDialog_11g6r_1._left_11g6r_13{left:0;right:unset}._drawerDialog_11g6r_1._left_11g6r_13[open]{animation:_slideInLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._left_11g6r_13._closing_11g6r_36[open]{animation:_slideOutLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14{left:unset;right:0}._drawerDialog_11g6r_1._right_11g6r_14[open]{animation:_slideInRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14._closing_11g6r_36[open]{animation:_slideOutRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{width:100%;left:0;right:0}@media (max-width: 768px){._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{height:-webkit-fit-content;height:fit-content}}._drawerDialog_11g6r_1._top_11g6r_54{top:0;bottom:unset}._drawerDialog_11g6r_1._top_11g6r_54[open]{animation:_slideInTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54._closing_11g6r_36[open]{animation:_slideOutTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55{top:unset;bottom:0}._drawerDialog_11g6r_1._bottom_11g6r_55[open]{animation:_slideInBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55._closing_11g6r_36[open]{animation:_slideOutBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1[open]{opacity:1;pointer-events:auto}@keyframes _slideInLeft_11g6r_1{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutLeft_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(-100%);opacity:1}}@keyframes _slideInTop_11g6r_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutTop_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(-100%);opacity:1}}@keyframes _slideInRight_11g6r_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutRight_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(100%);opacity:1}}@keyframes _slideInBottom_11g6r_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutBottom_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(100%);opacity:1}}._modalDialog_iw29e_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_iw29e_1{border-radius:var(--swui-border-radius-large)}._modalDialog_iw29e_1::-webkit-scrollbar-thumb{background-color:var(--lhds-color-ui-400);border:4px solid transparent;border-radius:8px;background-clip:padding-box;min-height:40px}._modalDialog_iw29e_1::-webkit-scrollbar{width:16px}}._modalDialog_iw29e_1:not([open]){display:none}._modalDialog_iw29e_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_iw29e_1 .25s forwards}._modalDialog_iw29e_1._closing_iw29e_37[open]{animation:_slideOut_iw29e_1 .25s forwards}@media (max-width: 768px){._modalDialog_iw29e_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_iw29e_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_iw29e_1 .25s forwards}._modalDialog_iw29e_1._closing_iw29e_37::backdrop{animation:_fadeOut_iw29e_1 .25s forwards}@keyframes _fadeIn_iw29e_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_iw29e_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_iw29e_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_iw29e_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (max-width: 768px){._contentWrapper_iw29e_101{width:100%;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}}@media (max-width: 768px){._modalBody_ozynq_1._modalBody_ozynq_1{padding:calc(var(--swui-metrics-space) * 2)}}._modalFooter_1vp0i_1._modalFooter_1vp0i_1{align-items:center;overflow:hidden;background:var(--silver-lighter);border-radius:24px 24px 0 0;padding:0 calc((var(--swui-metrics-indent) * 5));flex-shrink:0}._modalFooter_1vp0i_1._modalFooter_1vp0i_1._sticky_1vp0i_9{position:-webkit-sticky;position:sticky;bottom:0}")),document.head.appendChild(o)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
|
|
2
|
-
import
|
|
2
|
+
import L from "react-modal";
|
|
3
3
|
import { jsx as n, jsxs as f, Fragment as ce } from "react/jsx-runtime";
|
|
4
|
-
import { useRef as
|
|
4
|
+
import { useRef as O, useState as T, useEffect as Oe, createContext as Ne, useReducer as $e, useCallback as A, useMemo as ie, createElement as de, useContext as Fe } from "react";
|
|
5
5
|
import De from "react-draggable";
|
|
6
|
-
import
|
|
7
|
-
import { exhaustSwitchCase as xe, Spacing as j, Row as
|
|
6
|
+
import c from "classnames";
|
|
7
|
+
import { exhaustSwitchCase as xe, Spacing as j, Row as w, Space as _e, Heading as ee, useEventCallback as Be, Column as M, Box as z, Indent as ke, Txt as Le, Text as Ae } from "@stenajs-webui/core";
|
|
8
8
|
import { Icon as pe, FlatButton as he, stenaTimes as ze, Spinner as Me, CloseButton as Ee, CircledIcon as We, stenaTimesThick as Se } from "@stenajs-webui/elements";
|
|
9
9
|
import { cssColor as Te } from "@stenajs-webui/theme";
|
|
10
10
|
const In = (t) => {
|
|
11
|
-
|
|
12
|
-
}, qe = "_overlay_quvmp_1", Pe = "_fadeIn_quvmp_1", He = "_modal_quvmp_31", Ge = "_content_quvmp_41", Ve = "_appear_quvmp_1", Xe = "_isDraggable_quvmp_70", Ye = "_footer_quvmp_101", Je = "_stickyFooter_quvmp_105",
|
|
11
|
+
L.setAppElement(t);
|
|
12
|
+
}, qe = "_overlay_quvmp_1", Pe = "_fadeIn_quvmp_1", He = "_modal_quvmp_31", Ge = "_content_quvmp_41", Ve = "_appear_quvmp_1", Xe = "_isDraggable_quvmp_70", Ye = "_footer_quvmp_101", Je = "_stickyFooter_quvmp_105", k = {
|
|
13
13
|
overlay: qe,
|
|
14
14
|
fadeIn: Pe,
|
|
15
15
|
modal: He,
|
|
@@ -25,12 +25,12 @@ const In = (t) => {
|
|
|
25
25
|
children: o,
|
|
26
26
|
...s
|
|
27
27
|
}) => {
|
|
28
|
-
const i =
|
|
28
|
+
const i = O(null);
|
|
29
29
|
return /* @__PURE__ */ n(
|
|
30
|
-
|
|
30
|
+
L,
|
|
31
31
|
{
|
|
32
|
-
overlayClassName:
|
|
33
|
-
className:
|
|
32
|
+
overlayClassName: k.overlay,
|
|
33
|
+
className: k.modal,
|
|
34
34
|
...s,
|
|
35
35
|
children: /* @__PURE__ */ n(
|
|
36
36
|
De,
|
|
@@ -47,8 +47,8 @@ const In = (t) => {
|
|
|
47
47
|
"--swui-modal-width": t,
|
|
48
48
|
"--swui-modal-max-width": e
|
|
49
49
|
},
|
|
50
|
-
className:
|
|
51
|
-
[
|
|
50
|
+
className: c(k.content, {
|
|
51
|
+
[k.isDraggable]: r
|
|
52
52
|
}),
|
|
53
53
|
ref: i,
|
|
54
54
|
children: o
|
|
@@ -78,9 +78,9 @@ const In = (t) => {
|
|
|
78
78
|
floating: i,
|
|
79
79
|
...g
|
|
80
80
|
}) => {
|
|
81
|
-
const { height:
|
|
81
|
+
const { height: p, width: b } = g;
|
|
82
82
|
return /* @__PURE__ */ n(
|
|
83
|
-
|
|
83
|
+
L,
|
|
84
84
|
{
|
|
85
85
|
closeTimeoutMS: 250,
|
|
86
86
|
portalClassName: m.portal,
|
|
@@ -90,7 +90,7 @@ const In = (t) => {
|
|
|
90
90
|
beforeClose: m.beforeClose
|
|
91
91
|
},
|
|
92
92
|
className: {
|
|
93
|
-
base:
|
|
93
|
+
base: c(
|
|
94
94
|
m.content,
|
|
95
95
|
st(o),
|
|
96
96
|
i && m.floating
|
|
@@ -98,7 +98,7 @@ const In = (t) => {
|
|
|
98
98
|
afterOpen: m.afterOpen,
|
|
99
99
|
beforeClose: m.beforeClose
|
|
100
100
|
},
|
|
101
|
-
style: { content: { width:
|
|
101
|
+
style: { content: { width: b, height: p, background: t }, overlay: { zIndex: e } },
|
|
102
102
|
parentSelector: s ? () => s : void 0,
|
|
103
103
|
...g,
|
|
104
104
|
children: r
|
|
@@ -130,18 +130,18 @@ const In = (t) => {
|
|
|
130
130
|
zIndex: 100,
|
|
131
131
|
background: Te("--lhds-color-ui-50"),
|
|
132
132
|
children: /* @__PURE__ */ f(
|
|
133
|
-
|
|
133
|
+
w,
|
|
134
134
|
{
|
|
135
135
|
justifyContent: "space-between",
|
|
136
136
|
alignItems: "center",
|
|
137
137
|
height: "48px",
|
|
138
138
|
children: [
|
|
139
|
-
/* @__PURE__ */ f(
|
|
139
|
+
/* @__PURE__ */ f(w, { alignItems: "center", gap: 2, children: [
|
|
140
140
|
/* @__PURE__ */ n(_e, { num: 1 }),
|
|
141
141
|
o && /* @__PURE__ */ n(pe, { icon: o, size: 24 }),
|
|
142
142
|
/* @__PURE__ */ n(ee, { variant: "h4", children: t })
|
|
143
143
|
] }),
|
|
144
|
-
/* @__PURE__ */ f(
|
|
144
|
+
/* @__PURE__ */ f(w, { gap: 1, children: [
|
|
145
145
|
e,
|
|
146
146
|
/* @__PURE__ */ n(
|
|
147
147
|
he,
|
|
@@ -170,7 +170,7 @@ const In = (t) => {
|
|
|
170
170
|
children: t,
|
|
171
171
|
...e
|
|
172
172
|
}) => /* @__PURE__ */ n(
|
|
173
|
-
|
|
173
|
+
L,
|
|
174
174
|
{
|
|
175
175
|
overlayClassName: Q.overlay,
|
|
176
176
|
className: Q.modal,
|
|
@@ -185,7 +185,7 @@ const In = (t) => {
|
|
|
185
185
|
}
|
|
186
186
|
)
|
|
187
187
|
}
|
|
188
|
-
), gt = "_overlay_nbrrn_1", pt = "_afterOpen_nbrrn_24", ht = "_beforeClose_nbrrn_24", yt = "_fadeIn_nbrrn_1", Ct = "_fadeOut_nbrrn_1", bt = "_modal_nbrrn_36", wt = "_slideIn_nbrrn_1", vt = "_slideOut_nbrrn_1", It = "_content_nbrrn_59", Ot = "_footer_nbrrn_149", Nt = "_stickyFooter_nbrrn_153",
|
|
188
|
+
), gt = "_overlay_nbrrn_1", pt = "_afterOpen_nbrrn_24", ht = "_beforeClose_nbrrn_24", yt = "_fadeIn_nbrrn_1", Ct = "_fadeOut_nbrrn_1", bt = "_modal_nbrrn_36", wt = "_slideIn_nbrrn_1", vt = "_slideOut_nbrrn_1", It = "_content_nbrrn_59", Ot = "_footer_nbrrn_149", Nt = "_stickyFooter_nbrrn_153", x = {
|
|
189
189
|
overlay: gt,
|
|
190
190
|
afterOpen: pt,
|
|
191
191
|
beforeClose: ht,
|
|
@@ -200,49 +200,51 @@ const In = (t) => {
|
|
|
200
200
|
}, ue = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), $t = ({
|
|
201
201
|
children: t,
|
|
202
202
|
background: e,
|
|
203
|
-
|
|
203
|
+
className: r,
|
|
204
|
+
overlayClassName: o,
|
|
205
|
+
...s
|
|
204
206
|
}) => {
|
|
205
|
-
const
|
|
207
|
+
const i = O(null), [g, p] = T(ue ? "auto" : void 0), b = {
|
|
206
208
|
overlay: { justifyContent: "center" },
|
|
207
209
|
content: {
|
|
208
210
|
"--swui-modal-content-bg-color": e
|
|
209
211
|
}
|
|
210
|
-
},
|
|
212
|
+
}, h = Be(() => {
|
|
211
213
|
if (!ue)
|
|
212
214
|
return;
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
215
|
+
const _ = i.current;
|
|
216
|
+
_ && p(
|
|
217
|
+
_.scrollHeight > _.clientHeight ? "stable" : "auto"
|
|
216
218
|
);
|
|
217
219
|
});
|
|
218
|
-
return Oe(() => (window.addEventListener("resize",
|
|
219
|
-
window.removeEventListener("resize",
|
|
220
|
-
}), [
|
|
221
|
-
|
|
220
|
+
return Oe(() => (window.addEventListener("resize", h), document.addEventListener("DOMContentLoaded", h), () => {
|
|
221
|
+
window.removeEventListener("resize", h), document.removeEventListener("DOMContentLoaded", h);
|
|
222
|
+
}), [h]), /* @__PURE__ */ n(
|
|
223
|
+
L,
|
|
222
224
|
{
|
|
223
225
|
overlayClassName: {
|
|
224
|
-
base:
|
|
225
|
-
beforeClose:
|
|
226
|
-
afterOpen:
|
|
226
|
+
base: c(o, x.overlay),
|
|
227
|
+
beforeClose: x.beforeClose,
|
|
228
|
+
afterOpen: x.afterOpen
|
|
227
229
|
},
|
|
228
230
|
className: {
|
|
229
|
-
base:
|
|
230
|
-
beforeClose:
|
|
231
|
-
afterOpen:
|
|
231
|
+
base: c(r, x.modal),
|
|
232
|
+
beforeClose: x.beforeClose,
|
|
233
|
+
afterOpen: x.afterOpen
|
|
232
234
|
},
|
|
233
|
-
style:
|
|
235
|
+
style: b,
|
|
234
236
|
closeTimeoutMS: 250,
|
|
235
|
-
onAfterOpen:
|
|
236
|
-
...
|
|
237
|
+
onAfterOpen: h,
|
|
238
|
+
...s,
|
|
237
239
|
children: /* @__PURE__ */ n(
|
|
238
240
|
"div",
|
|
239
241
|
{
|
|
240
|
-
className:
|
|
242
|
+
className: x.content,
|
|
241
243
|
style: {
|
|
242
244
|
"--swui-modal-width": "fit-content",
|
|
243
|
-
scrollbarGutter:
|
|
245
|
+
scrollbarGutter: g
|
|
244
246
|
},
|
|
245
|
-
ref:
|
|
247
|
+
ref: i,
|
|
246
248
|
children: t
|
|
247
249
|
}
|
|
248
250
|
)
|
|
@@ -258,7 +260,7 @@ const In = (t) => {
|
|
|
258
260
|
shouldCloseOnEsc: o = !1,
|
|
259
261
|
...s
|
|
260
262
|
}) => /* @__PURE__ */ n(
|
|
261
|
-
|
|
263
|
+
L,
|
|
262
264
|
{
|
|
263
265
|
...s,
|
|
264
266
|
isOpen: !0,
|
|
@@ -282,7 +284,7 @@ const In = (t) => {
|
|
|
282
284
|
),
|
|
283
285
|
(t || e) && /* @__PURE__ */ f(ce, { children: [
|
|
284
286
|
/* @__PURE__ */ n(j, {}),
|
|
285
|
-
/* @__PURE__ */ f(
|
|
287
|
+
/* @__PURE__ */ f(w, { indent: 2, children: [
|
|
286
288
|
t && /* @__PURE__ */ f(ce, { children: [
|
|
287
289
|
/* @__PURE__ */ n(pe, { size: 14, icon: t, color: "white" }),
|
|
288
290
|
/* @__PURE__ */ n(ke, {})
|
|
@@ -298,14 +300,14 @@ const In = (t) => {
|
|
|
298
300
|
headerText: r,
|
|
299
301
|
closeButtonClassName: o
|
|
300
302
|
}) => /* @__PURE__ */ f(
|
|
301
|
-
|
|
303
|
+
w,
|
|
302
304
|
{
|
|
303
305
|
spacing: 2,
|
|
304
306
|
indent: 2,
|
|
305
307
|
borderBottom: "1px solid var(--lhds-color-ui-300)",
|
|
306
308
|
className: ye,
|
|
307
309
|
children: [
|
|
308
|
-
/* @__PURE__ */ f(
|
|
310
|
+
/* @__PURE__ */ f(w, { flex: 1, indent: !0, alignItems: "center", children: [
|
|
309
311
|
r && /* @__PURE__ */ n(Le, { className: Ce, size: "large", children: r }),
|
|
310
312
|
e
|
|
311
313
|
] }),
|
|
@@ -326,14 +328,14 @@ const In = (t) => {
|
|
|
326
328
|
indent: s,
|
|
327
329
|
draggable: i = !1,
|
|
328
330
|
onRequestClose: g,
|
|
329
|
-
closeButtonClassName:
|
|
330
|
-
footer:
|
|
331
|
-
disableStickyFooter:
|
|
332
|
-
...
|
|
331
|
+
closeButtonClassName: p,
|
|
332
|
+
footer: b,
|
|
333
|
+
disableStickyFooter: h = !1,
|
|
334
|
+
..._
|
|
333
335
|
}) => /* @__PURE__ */ f(
|
|
334
336
|
Ke,
|
|
335
337
|
{
|
|
336
|
-
...
|
|
338
|
+
..._,
|
|
337
339
|
onRequestClose: g,
|
|
338
340
|
draggable: i,
|
|
339
341
|
children: [
|
|
@@ -343,17 +345,17 @@ const In = (t) => {
|
|
|
343
345
|
onRequestClose: g,
|
|
344
346
|
header: t,
|
|
345
347
|
headerText: e,
|
|
346
|
-
closeButtonClassName:
|
|
348
|
+
closeButtonClassName: p
|
|
347
349
|
}
|
|
348
350
|
),
|
|
349
351
|
/* @__PURE__ */ n(z, { spacing: typeof o == "number" ? o : 1, indent: typeof s == "number" ? s : 1, children: r }),
|
|
350
|
-
|
|
352
|
+
b && /* @__PURE__ */ n(
|
|
351
353
|
z,
|
|
352
354
|
{
|
|
353
|
-
className:
|
|
354
|
-
[
|
|
355
|
+
className: c(k.footer, {
|
|
356
|
+
[k.stickyFooter]: !h
|
|
355
357
|
}),
|
|
356
|
-
children:
|
|
358
|
+
children: b
|
|
357
359
|
}
|
|
358
360
|
)
|
|
359
361
|
]
|
|
@@ -368,121 +370,121 @@ function te(t, {
|
|
|
368
370
|
closingClassName: s,
|
|
369
371
|
contentWrapperStyle: i,
|
|
370
372
|
dialogStyle: g,
|
|
371
|
-
divInsteadOfDialog:
|
|
372
|
-
disableCloseOnClickOutside:
|
|
373
|
-
elementId:
|
|
374
|
-
onResolve:
|
|
375
|
-
onReject:
|
|
373
|
+
divInsteadOfDialog: p,
|
|
374
|
+
disableCloseOnClickOutside: b,
|
|
375
|
+
elementId: h,
|
|
376
|
+
onResolve: _,
|
|
377
|
+
onReject: y,
|
|
376
378
|
className: q,
|
|
377
379
|
background: P,
|
|
378
380
|
label: H,
|
|
379
381
|
labelledby: G,
|
|
380
382
|
describedby: V
|
|
381
383
|
}) {
|
|
382
|
-
const we =
|
|
383
|
-
(
|
|
384
|
+
const we = O(null), d = e ?? we, [X, ve] = $e((a) => a + 1, 0), ne = O(null), N = O(null), v = O(void 0), E = O(!1), C = O(null), [re, W] = T(!1), [Y, B] = T(!1), [oe, I] = T(!1), J = t, Ie = A(
|
|
385
|
+
(a) => {
|
|
384
386
|
var l, u;
|
|
385
387
|
return ne.current = new Promise(
|
|
386
|
-
(
|
|
387
|
-
|
|
388
|
+
(F, D) => {
|
|
389
|
+
N.current = F, C.current = D;
|
|
388
390
|
}
|
|
389
|
-
),
|
|
391
|
+
), I(!1), W(!0), B(!0), ve(), E.current = !1, v.current = a, r ? (l = d.current) == null || l.showModal() : (u = d.current) == null || u.show(), ne.current;
|
|
390
392
|
},
|
|
391
|
-
[
|
|
393
|
+
[d, r]
|
|
392
394
|
), se = A(
|
|
393
|
-
(
|
|
395
|
+
(a) => {
|
|
394
396
|
var l;
|
|
395
|
-
E.current = !0,
|
|
397
|
+
E.current = !0, I(!0), W(!1), p ? setTimeout(() => {
|
|
396
398
|
var u;
|
|
397
|
-
|
|
398
|
-
}, 300) : (l =
|
|
399
|
+
I(!1), B(!1), (u = N.current) == null || u.call(N, a), v.current = void 0, _ == null || _();
|
|
400
|
+
}, 300) : (l = d.current) == null || l.addEventListener(
|
|
399
401
|
"animationend",
|
|
400
402
|
(u) => {
|
|
401
|
-
var
|
|
402
|
-
u.stopPropagation(),
|
|
403
|
+
var F, D;
|
|
404
|
+
u.stopPropagation(), I(!1), B(!1), (F = d.current) == null || F.close(), (D = N.current) == null || D.call(N, a), v.current = void 0, _ == null || _();
|
|
403
405
|
},
|
|
404
406
|
{ once: !0 }
|
|
405
407
|
);
|
|
406
408
|
},
|
|
407
|
-
[
|
|
408
|
-
),
|
|
409
|
-
(
|
|
409
|
+
[d, _, p]
|
|
410
|
+
), $ = A(
|
|
411
|
+
(a) => {
|
|
410
412
|
var l;
|
|
411
|
-
E.current = !0,
|
|
413
|
+
E.current = !0, I(!0), W(!1), p ? setTimeout(() => {
|
|
412
414
|
var u;
|
|
413
|
-
|
|
414
|
-
}, 300) : (l =
|
|
415
|
+
I(!1), B(!1), (u = C.current) == null || u.call(C, a), y == null || y(), v.current = void 0;
|
|
416
|
+
}, 300) : (l = d.current) == null || l.addEventListener(
|
|
415
417
|
"animationend",
|
|
416
418
|
(u) => {
|
|
417
|
-
var
|
|
418
|
-
u.stopPropagation(),
|
|
419
|
+
var F, D;
|
|
420
|
+
u.stopPropagation(), I(!1), B(!1), (F = d.current) == null || F.close(), (D = C.current) == null || D.call(C, a), y == null || y(), v.current = void 0;
|
|
419
421
|
},
|
|
420
422
|
{ once: !0 }
|
|
421
423
|
);
|
|
422
424
|
},
|
|
423
|
-
[
|
|
425
|
+
[d, p, y]
|
|
424
426
|
), le = A(
|
|
425
|
-
(
|
|
427
|
+
(a) => {
|
|
426
428
|
var l;
|
|
427
|
-
|
|
429
|
+
a.stopPropagation(), E.current || (I(!1), W(!1), B(!1), (l = C.current) == null || l.call(C), y == null || y(), v.current = void 0);
|
|
428
430
|
},
|
|
429
|
-
[
|
|
431
|
+
[y]
|
|
430
432
|
), ae = A(
|
|
431
|
-
(
|
|
432
|
-
if (
|
|
433
|
+
(a) => {
|
|
434
|
+
if (a.target !== d.current)
|
|
433
435
|
return;
|
|
434
|
-
const l =
|
|
435
|
-
l.top <=
|
|
436
|
+
const l = d.current.getBoundingClientRect();
|
|
437
|
+
l.top <= a.clientY && a.clientY <= l.top + l.height && l.left <= a.clientX && a.clientX <= l.left + l.width || $();
|
|
436
438
|
},
|
|
437
|
-
[
|
|
439
|
+
[d, $]
|
|
438
440
|
), K = ie(
|
|
439
|
-
() => ({ resolve: se, reject:
|
|
440
|
-
[
|
|
441
|
+
() => ({ resolve: se, reject: $ }),
|
|
442
|
+
[$, se]
|
|
441
443
|
);
|
|
442
444
|
return [ie(
|
|
443
|
-
() =>
|
|
445
|
+
() => p ? /* @__PURE__ */ n(
|
|
444
446
|
$t,
|
|
445
447
|
{
|
|
446
448
|
isOpen: re,
|
|
447
|
-
onRequestClose:
|
|
449
|
+
onRequestClose: $,
|
|
448
450
|
background: P,
|
|
449
451
|
contentLabel: H,
|
|
450
|
-
id:
|
|
452
|
+
id: h,
|
|
451
453
|
aria: { modal: !0, labelledby: G, describedby: V },
|
|
452
|
-
children: /* @__PURE__ */ n(R.Provider, { value: K, children: Y && /* @__PURE__ */ de(J, { ...
|
|
454
|
+
children: /* @__PURE__ */ n(R.Provider, { value: K, children: Y && /* @__PURE__ */ de(J, { ...v.current, key: X }) })
|
|
453
455
|
}
|
|
454
456
|
) : /* @__PURE__ */ n(
|
|
455
457
|
"dialog",
|
|
456
458
|
{
|
|
457
|
-
onClick:
|
|
459
|
+
onClick: b ? void 0 : ae,
|
|
458
460
|
onClose: le,
|
|
459
|
-
ref:
|
|
460
|
-
id:
|
|
461
|
-
className:
|
|
461
|
+
ref: d,
|
|
462
|
+
id: h,
|
|
463
|
+
className: c(q, oe && s),
|
|
462
464
|
"aria-label": H,
|
|
463
465
|
"aria-labelledby": G,
|
|
464
466
|
"aria-describedby": V,
|
|
465
467
|
style: { background: P, ...g },
|
|
466
|
-
children: /* @__PURE__ */ n("div", { style: i, className: o, children: Y && /* @__PURE__ */ n(R.Provider, { value: K, children: /* @__PURE__ */ de(J, { ...
|
|
468
|
+
children: /* @__PURE__ */ n("div", { style: i, className: o, children: Y && /* @__PURE__ */ n(R.Provider, { value: K, children: /* @__PURE__ */ de(J, { ...v.current, key: X }) }) })
|
|
467
469
|
}
|
|
468
470
|
),
|
|
469
471
|
[
|
|
470
|
-
|
|
472
|
+
p,
|
|
471
473
|
re,
|
|
472
|
-
|
|
474
|
+
$,
|
|
473
475
|
P,
|
|
474
476
|
H,
|
|
475
|
-
|
|
477
|
+
h,
|
|
476
478
|
G,
|
|
477
479
|
V,
|
|
478
480
|
K,
|
|
479
481
|
Y,
|
|
480
482
|
J,
|
|
481
483
|
X,
|
|
482
|
-
|
|
484
|
+
b,
|
|
483
485
|
ae,
|
|
484
486
|
le,
|
|
485
|
-
|
|
487
|
+
d,
|
|
486
488
|
q,
|
|
487
489
|
oe,
|
|
488
490
|
s,
|
|
@@ -490,7 +492,7 @@ function te(t, {
|
|
|
490
492
|
i,
|
|
491
493
|
o
|
|
492
494
|
]
|
|
493
|
-
), { show: Ie, reject:
|
|
495
|
+
), { show: Ie, reject: $ }];
|
|
494
496
|
}
|
|
495
497
|
const Bn = () => {
|
|
496
498
|
const t = Fe(R);
|
|
@@ -509,12 +511,12 @@ function kn(t, e) {
|
|
|
509
511
|
return te(t, {
|
|
510
512
|
...e,
|
|
511
513
|
modal: !0,
|
|
512
|
-
closingClassName:
|
|
513
|
-
contentWrapperClassName:
|
|
514
|
+
closingClassName: c(e == null ? void 0 : e.closingClassName, U.closing),
|
|
515
|
+
contentWrapperClassName: c(
|
|
514
516
|
e == null ? void 0 : e.contentWrapperClassName,
|
|
515
517
|
U.contentWrapper
|
|
516
518
|
),
|
|
517
|
-
className:
|
|
519
|
+
className: c(e == null ? void 0 : e.className, U.alertDialog)
|
|
518
520
|
});
|
|
519
521
|
}
|
|
520
522
|
const Et = "_drawerDialog_11g6r_1", Wt = "_left_11g6r_13", St = "_right_11g6r_14", Tt = "_contentWrapper_11g6r_19", qt = "_slideInLeft_11g6r_1", Pt = "_closing_11g6r_36", Ht = "_slideOutLeft_11g6r_1", Gt = "_slideInRight_11g6r_1", Vt = "_slideOutRight_11g6r_1", Xt = "_top_11g6r_54", Yt = "_bottom_11g6r_55", Jt = "_slideInTop_11g6r_1", Kt = "_slideOutTop_11g6r_1", Qt = "_slideInBottom_11g6r_1", Ut = "_slideOutBottom_11g6r_1", S = {
|
|
@@ -539,12 +541,12 @@ function Ln(t, e = "left", r) {
|
|
|
539
541
|
...r,
|
|
540
542
|
disableCloseOnClickOutside: !0,
|
|
541
543
|
modal: !1,
|
|
542
|
-
closingClassName:
|
|
543
|
-
contentWrapperClassName:
|
|
544
|
+
closingClassName: c(r == null ? void 0 : r.closingClassName, S.closing),
|
|
545
|
+
contentWrapperClassName: c(
|
|
544
546
|
r == null ? void 0 : r.contentWrapperClassName,
|
|
545
547
|
S.contentWrapper
|
|
546
548
|
),
|
|
547
|
-
className:
|
|
549
|
+
className: c(r == null ? void 0 : r.className, S.drawerDialog, S[e])
|
|
548
550
|
});
|
|
549
551
|
}
|
|
550
552
|
const Zt = "_modalDialog_iw29e_1", Rt = "_slideIn_iw29e_1", jt = "_closing_iw29e_37", en = "_slideOut_iw29e_1", tn = "_fadeIn_iw29e_1", nn = "_fadeOut_iw29e_1", rn = "_contentWrapper_iw29e_101", Z = {
|
|
@@ -560,12 +562,12 @@ function An(t, e) {
|
|
|
560
562
|
return te(t, {
|
|
561
563
|
...e,
|
|
562
564
|
modal: !0,
|
|
563
|
-
closingClassName:
|
|
564
|
-
contentWrapperClassName:
|
|
565
|
+
closingClassName: c(e == null ? void 0 : e.closingClassName, Z.closing),
|
|
566
|
+
contentWrapperClassName: c(
|
|
565
567
|
e == null ? void 0 : e.contentWrapperClassName,
|
|
566
568
|
Z.contentWrapper
|
|
567
569
|
),
|
|
568
|
-
className:
|
|
570
|
+
className: c(e == null ? void 0 : e.className, Z.modalDialog)
|
|
569
571
|
});
|
|
570
572
|
}
|
|
571
573
|
const be = ({
|
|
@@ -589,7 +591,7 @@ const be = ({
|
|
|
589
591
|
}) => /* @__PURE__ */ n(
|
|
590
592
|
M,
|
|
591
593
|
{
|
|
592
|
-
className:
|
|
594
|
+
className: c(fe.modalBody, fe[e], r),
|
|
593
595
|
indent: e === "relaxed" ? 5 : 3,
|
|
594
596
|
spacing: e === "relaxed" ? 5 : 3,
|
|
595
597
|
gap: t,
|
|
@@ -644,7 +646,7 @@ const be = ({
|
|
|
644
646
|
headingSize: r,
|
|
645
647
|
onClickClose: o,
|
|
646
648
|
closeButtonAriaLabel: s
|
|
647
|
-
}) => /* @__PURE__ */ n(M, { children: /* @__PURE__ */ f(
|
|
649
|
+
}) => /* @__PURE__ */ n(M, { children: /* @__PURE__ */ f(w, { justifyContent: "space-between", alignItems: "center", gap: 2, children: [
|
|
648
650
|
t ? /* @__PURE__ */ n(be, { headingLevel: e, size: r, children: t }) : /* @__PURE__ */ n("div", {}),
|
|
649
651
|
o ? /* @__PURE__ */ n(
|
|
650
652
|
_n,
|
|
@@ -665,13 +667,13 @@ const be = ({
|
|
|
665
667
|
className: s,
|
|
666
668
|
...i
|
|
667
669
|
}) => /* @__PURE__ */ n(
|
|
668
|
-
|
|
670
|
+
w,
|
|
669
671
|
{
|
|
670
|
-
className:
|
|
672
|
+
className: c(ge.modalFooter, e && ge.sticky, s),
|
|
671
673
|
shadow: "var(--swui-sticky-footer-shadow)",
|
|
672
674
|
zIndex: r,
|
|
673
675
|
...i,
|
|
674
|
-
children: /* @__PURE__ */ n(
|
|
676
|
+
children: /* @__PURE__ */ n(w, { gap: o, spacing: 2, alignItems: "center", children: t })
|
|
675
677
|
}
|
|
676
678
|
);
|
|
677
679
|
export {
|
|
@@ -687,6 +689,7 @@ export {
|
|
|
687
689
|
$t as Modal,
|
|
688
690
|
ln as ModalActionButtons,
|
|
689
691
|
cn as ModalBody,
|
|
692
|
+
_n as ModalCloseButton,
|
|
690
693
|
dn as ModalContainer,
|
|
691
694
|
En as ModalFooter,
|
|
692
695
|
Mn as ModalHeader,
|
package/dist/index.es.js.map
CHANGED
|
@@ -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/building-blocks/ModalContainer.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalCloseButton.tsx","../src/building-blocks/ModalHeader.tsx","../src/building-blocks/ModalFooter.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<HTMLDivElement>(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 as React.RefObject<HTMLElement>}\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\nexport interface 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\nexport interface 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 { CSSProperties, useEffect, useRef, useState } from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\nimport { useEventCallback } from \"@stenajs-webui/core\";\n\nexport interface ModalProps extends ReactModal.Props {\n background?: string;\n onRequestClose?: () => void;\n}\n\nconst isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n background,\n ...reactModalProps\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n\n const [scrollbarGutter, setScrollbarGutter] = useState<\n \"auto\" | \"stable\" | undefined\n >(isSafari ? \"auto\" : undefined);\n\n const style = {\n overlay: { justifyContent: \"center\" },\n content: {\n \"--swui-modal-content-bg-color\": background,\n } as CSSProperties,\n };\n\n const updateScrollbarGutter = useEventCallback(() => {\n if (!isSafari) {\n return;\n }\n\n const container = ref.current;\n if (container) {\n setScrollbarGutter(\n container.scrollHeight > container.clientHeight ? \"stable\" : \"auto\",\n );\n }\n });\n\n /**\n * Applying scrollbar-gutter fixes a glitch in Safari where redraw\n * sometimes makes the modal change width (with or without gutter included in size calculation).\n * This causes the modal to jump around when hovering with mouse or resizing window.\n *\n * If this glitch is fixed in Safari, this code can be removed.\n */\n\n useEffect(() => {\n window.addEventListener(\"resize\", updateScrollbarGutter);\n document.addEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n return () => {\n window.removeEventListener(\"resize\", updateScrollbarGutter);\n document.removeEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n };\n }, [updateScrollbarGutter]);\n\n return (\n <ReactModal\n overlayClassName={{\n base: styles.overlay,\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n className={{\n base: styles.modal,\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n style={style}\n closeTimeoutMS={250}\n onAfterOpen={updateScrollbarGutter}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{\n [\"--swui-modal-width\" as string]: \"fit-content\",\n scrollbarGutter,\n }}\n ref={ref}\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\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined,\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n MouseEventHandler,\n ReactEventHandler,\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, DialogContextValue } from \"./DialogContext\";\nimport { Modal } from \"../declarative-modals/modal/Modal\";\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 divInsteadOfDialog?: boolean;\n elementId?: string;\n background?: string;\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 | null>;\n onResolve?: () => void;\n onReject?: () => void;\n /**\n * Sets aria-label on modal or dialog element.\n */\n label?: string;\n /**\n * Sets aria-labelledby on modal or dialog element.\n */\n labelledby?: string;\n /**\n * Sets aria-describedby on modal or dialog element.\n */\n describedby?: string;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n {\n ref,\n modal,\n contentWrapperClassName,\n closingClassName,\n contentWrapperStyle,\n dialogStyle,\n divInsteadOfDialog,\n disableCloseOnClickOutside,\n elementId,\n onResolve,\n onReject,\n className,\n background,\n label,\n labelledby,\n describedby,\n }: DialogOptions,\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>(null);\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>(null);\n const modalComponentProps = useRef<TProps>(undefined);\n const closedByPromiseRef = useRef<boolean>(false);\n const rejectRef = useRef<RejectCommand | undefined>(null);\n /**\n * Used by Modal to control open/close with animation.\n */\n const [isOpen, setIsOpen] = useState(false);\n /**\n * Used by both Modal and dialog to decide if content is visible. When props is cleared, we can not render content that requires props.\n */\n const [contentVisible, setContentVisible] = useState(false);\n /**\n * Used by dialog to know if it is currently animating to closed state.\n */\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 setIsOpen(true);\n setContentVisible(true);\n forceRerender();\n closedByPromiseRef.current = false;\n modalComponentProps.current = props;\n if (modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, modal],\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n }, 300);\n }\n },\n [currentRef, onResolve, divInsteadOfDialog],\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n }, 300);\n }\n },\n [currentRef, divInsteadOfDialog, onReject],\n );\n\n const onClose = useCallback<ReactEventHandler<HTMLDialogElement>>(\n (ev) => {\n // Remove content immediately, since it cannot be animated when closed by browser.\n ev.stopPropagation();\n if (!closedByPromiseRef.current) {\n setClosing(false);\n setIsOpen(false);\n setContentVisible(false);\n rejectRef.current?.();\n onReject?.();\n modalComponentProps.current = undefined;\n }\n },\n [onReject],\n );\n\n const onClick = useCallback<MouseEventHandler<HTMLDialogElement>>(\n (e) => {\n if (e.target !== currentRef.current) {\n return;\n }\n\n const rect = currentRef.current.getBoundingClientRect();\n\n const clickedInsideDialog =\n rect.top <= e.clientY &&\n e.clientY <= rect.top + rect.height &&\n rect.left <= e.clientX &&\n e.clientX <= rect.left + rect.width;\n\n if (!clickedInsideDialog) {\n reject();\n }\n },\n [currentRef, reject],\n );\n\n const contextValue = useMemo(\n () => ({ resolve, reject }) as DialogContextValue<unknown>,\n [reject, resolve],\n );\n\n const element = useMemo<ReactNode>(\n () =>\n divInsteadOfDialog ? (\n <Modal\n isOpen={isOpen}\n onRequestClose={reject}\n background={background}\n contentLabel={label}\n id={elementId}\n aria={{ modal: true, labelledby, describedby }}\n >\n <DialogContext.Provider value={contextValue}>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </DialogContext.Provider>\n </Modal>\n ) : (\n <dialog\n onClick={disableCloseOnClickOutside ? undefined : onClick}\n onClose={onClose}\n ref={currentRef}\n id={elementId}\n className={cx(className, closing && closingClassName)}\n aria-label={label}\n aria-labelledby={labelledby}\n aria-describedby={describedby}\n style={{ background: background, ...dialogStyle }}\n >\n <div style={contentWrapperStyle} className={contentWrapperClassName}>\n {contentVisible && (\n <DialogContext.Provider value={contextValue}>\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n </DialogContext.Provider>\n )}\n </div>\n </dialog>\n ),\n [\n divInsteadOfDialog,\n isOpen,\n reject,\n background,\n label,\n elementId,\n labelledby,\n describedby,\n contextValue,\n contentVisible,\n Comp,\n key,\n disableCloseOnClickOutside,\n onClick,\n onClose,\n currentRef,\n className,\n closing,\n closingClassName,\n dialogStyle,\n contentWrapperStyle,\n contentWrapperClassName,\n ],\n );\n\n return [element, { 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, HeadingVariant } from \"@stenajs-webui/core\";\n\nexport type ModalHeadingSizeVariant = \"medium\" | \"large\";\n\nexport interface ModalHeadingProps {\n size?: ModalHeadingSizeVariant;\n children: string;\n headingLevel?: HeadingVariant;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({\n headingLevel = \"h2\",\n size = \"medium\",\n children,\n}) => {\n return (\n <Heading variant={size === \"medium\" ? \"h3\" : \"h1\"} as={headingLevel}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { Box, Spacing } from \"@stenajs-webui/core\";\n\nexport interface ModalActionButtonsProps extends PropsWithChildren {}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n children,\n}) => {\n return (\n <Box width={\"100%\"}>\n <Spacing />\n <div className={styles.modalActionButtons}>{children}</div>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport styles from \"./ModalBody.module.css\";\nimport cx from \"classnames\";\n\nexport type ModalBodyVariant = \"normal\" | \"relaxed\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {\n variant?: ModalBodyVariant;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({\n gap = 3,\n variant = \"normal\",\n className,\n ...props\n}) => {\n return (\n <Column\n className={cx(styles.modalBody, styles[variant], className)}\n indent={variant === \"relaxed\" ? 5 : 3}\n spacing={variant === \"relaxed\" ? 5 : 3}\n gap={gap}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport { PropsWithChildren } from \"react\";\n\nexport interface ModalContainerProps\n extends PropsWithChildren,\n Pick<BoxProps, \"maxWidth\"> {}\n\nexport const ModalContainer: React.FC<ModalContainerProps> = ({\n children,\n maxWidth,\n}) => {\n return (\n <Column\n flex={1}\n height={\"100%\"}\n justifyContent={\"space-between\"}\n maxWidth={maxWidth}\n >\n {children}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { CircledIcon, MediumIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\nimport { ModalContainer } from \"../building-blocks/ModalContainer\";\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 <ModalContainer>\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 && <ModalActionButtons>{buttons}</ModalActionButtons>}\n </ModalBody>\n </ModalContainer>\n );\n};\n","import * as React from \"react\";\nimport {\n FlatButton,\n FlatButtonProps,\n stenaTimesThick,\n} from \"@stenajs-webui/elements\";\n\nexport interface ModalCloseButtonProps extends FlatButtonProps {}\n\nexport const ModalCloseButton: React.FC<ModalCloseButtonProps> = (props) => {\n return (\n <FlatButton\n size={\"large\"}\n variant={\"danger\"}\n leftIcon={stenaTimesThick}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { Column, HeadingVariant, Row } from \"@stenajs-webui/core\";\nimport { ModalHeading, ModalHeadingSizeVariant } from \"./ModalHeading\";\nimport { ModalCloseButton } from \"./ModalCloseButton\";\n\nexport type ModalHeaderProps =\n | ModalHeaderWithCloseButtonProps\n | ModalHeaderWithNoCloseButtonProps;\n\nexport interface ModalHeaderCommonProps {\n heading?: string;\n headingSize?: ModalHeadingSizeVariant;\n headingLevel?: HeadingVariant;\n}\n\nexport interface ModalHeaderWithCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose?: never;\n closeButtonAriaLabel?: never;\n}\n\nexport interface ModalHeaderWithNoCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose: () => void;\n closeButtonAriaLabel: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n headingLevel,\n headingSize,\n onClickClose,\n closeButtonAriaLabel,\n}) => {\n return (\n <Column>\n <Row justifyContent={\"space-between\"} alignItems={\"center\"} gap={2}>\n {heading ? (\n <ModalHeading headingLevel={headingLevel} size={headingSize}>\n {heading}\n </ModalHeading>\n ) : (\n <div />\n )}\n {onClickClose ? (\n <ModalCloseButton\n onClick={onClickClose}\n size={headingSize}\n aria-label={closeButtonAriaLabel}\n />\n ) : null}\n </Row>\n </Column>\n );\n};\n","import { BoxProps, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./ModalFooter.module.css\";\nimport cx from \"classnames\";\n\nexport interface ModalFooterProps extends BoxProps {\n sticky?: boolean;\n gap?: number;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({\n children,\n sticky,\n zIndex = 4,\n gap = 2,\n className,\n ...boxProps\n}) => {\n return (\n <Row\n className={cx(styles.modalFooter, sticky && styles.sticky, className)}\n shadow={\"var(--swui-sticky-footer-shadow)\"}\n zIndex={zIndex}\n {...boxProps}\n >\n <Row gap={gap} spacing={2} alignItems={\"center\"}>\n {children}\n </Row>\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","isSafari","Modal","ref","scrollbarGutter","setScrollbarGutter","useState","updateScrollbarGutter","useEventCallback","container","useEffect","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","modal","contentWrapperClassName","closingClassName","contentWrapperStyle","dialogStyle","divInsteadOfDialog","disableCloseOnClickOutside","elementId","onResolve","onReject","className","label","labelledby","describedby","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","closedByPromiseRef","rejectRef","isOpen","setIsOpen","contentVisible","setContentVisible","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","ev","error","onClose","onClick","e","rect","contextValue","useMemo","createElement","useDialogPromise","context","useContext","useAlertDialog","options","useDrawerDialog","useModalDialog","ModalHeading","headingLevel","size","ModalActionButtons","ModalBody","gap","variant","ModalContainer","InfoAlert","buttons","heading","text","minWidth","CircledIcon","Text","ModalCloseButton","stenaTimesThick","ModalHeader","headingSize","onClickClose","closeButtonAriaLabel","ModalFooter","sticky","boxProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/declarative-modals/DeclarativeModalSetup.ts","../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/building-blocks/ModalContainer.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalCloseButton.tsx","../src/building-blocks/ModalHeader.tsx","../src/building-blocks/ModalFooter.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<HTMLDivElement>(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 as React.RefObject<HTMLElement>}\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\nexport interface 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\nexport interface 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 { useEventCallback } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { CSSProperties, useEffect, useRef, useState } from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps\n extends Omit<ReactModal.Props, \"className\" | \"overlayClassName\"> {\n background?: string;\n onRequestClose?: () => void;\n className?: string;\n overlayClassName?: string;\n}\n\nconst isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n background,\n className,\n overlayClassName,\n ...reactModalProps\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n\n const [scrollbarGutter, setScrollbarGutter] = useState<\n \"auto\" | \"stable\" | undefined\n >(isSafari ? \"auto\" : undefined);\n\n const style = {\n overlay: { justifyContent: \"center\" },\n content: {\n \"--swui-modal-content-bg-color\": background,\n } as CSSProperties,\n };\n\n const updateScrollbarGutter = useEventCallback(() => {\n if (!isSafari) {\n return;\n }\n\n const container = ref.current;\n if (container) {\n setScrollbarGutter(\n container.scrollHeight > container.clientHeight ? \"stable\" : \"auto\",\n );\n }\n });\n\n /**\n * Applying scrollbar-gutter fixes a glitch in Safari where redraw\n * sometimes makes the modal change width (with or without gutter included in size calculation).\n * This causes the modal to jump around when hovering with mouse or resizing window.\n *\n * If this glitch is fixed in Safari, this code can be removed.\n */\n\n useEffect(() => {\n window.addEventListener(\"resize\", updateScrollbarGutter);\n document.addEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n return () => {\n window.removeEventListener(\"resize\", updateScrollbarGutter);\n document.removeEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n };\n }, [updateScrollbarGutter]);\n\n return (\n <ReactModal\n overlayClassName={{\n base: cx(overlayClassName, styles.overlay),\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n className={{\n base: cx(className, styles.modal),\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n style={style}\n closeTimeoutMS={250}\n onAfterOpen={updateScrollbarGutter}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{\n [\"--swui-modal-width\" as string]: \"fit-content\",\n scrollbarGutter,\n }}\n ref={ref}\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\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined,\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n MouseEventHandler,\n ReactEventHandler,\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, DialogContextValue } from \"./DialogContext\";\nimport { Modal } from \"../declarative-modals/modal/Modal\";\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 divInsteadOfDialog?: boolean;\n elementId?: string;\n background?: string;\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 | null>;\n onResolve?: () => void;\n onReject?: () => void;\n /**\n * Sets aria-label on modal or dialog element.\n */\n label?: string;\n /**\n * Sets aria-labelledby on modal or dialog element.\n */\n labelledby?: string;\n /**\n * Sets aria-describedby on modal or dialog element.\n */\n describedby?: string;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n {\n ref,\n modal,\n contentWrapperClassName,\n closingClassName,\n contentWrapperStyle,\n dialogStyle,\n divInsteadOfDialog,\n disableCloseOnClickOutside,\n elementId,\n onResolve,\n onReject,\n className,\n background,\n label,\n labelledby,\n describedby,\n }: DialogOptions,\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>(null);\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>(null);\n const modalComponentProps = useRef<TProps>(undefined);\n const closedByPromiseRef = useRef<boolean>(false);\n const rejectRef = useRef<RejectCommand | undefined>(null);\n /**\n * Used by Modal to control open/close with animation.\n */\n const [isOpen, setIsOpen] = useState(false);\n /**\n * Used by both Modal and dialog to decide if content is visible. When props is cleared, we can not render content that requires props.\n */\n const [contentVisible, setContentVisible] = useState(false);\n /**\n * Used by dialog to know if it is currently animating to closed state.\n */\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 setIsOpen(true);\n setContentVisible(true);\n forceRerender();\n closedByPromiseRef.current = false;\n modalComponentProps.current = props;\n if (modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, modal],\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n }, 300);\n }\n },\n [currentRef, onResolve, divInsteadOfDialog],\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n }, 300);\n }\n },\n [currentRef, divInsteadOfDialog, onReject],\n );\n\n const onClose = useCallback<ReactEventHandler<HTMLDialogElement>>(\n (ev) => {\n // Remove content immediately, since it cannot be animated when closed by browser.\n ev.stopPropagation();\n if (!closedByPromiseRef.current) {\n setClosing(false);\n setIsOpen(false);\n setContentVisible(false);\n rejectRef.current?.();\n onReject?.();\n modalComponentProps.current = undefined;\n }\n },\n [onReject],\n );\n\n const onClick = useCallback<MouseEventHandler<HTMLDialogElement>>(\n (e) => {\n if (e.target !== currentRef.current) {\n return;\n }\n\n const rect = currentRef.current.getBoundingClientRect();\n\n const clickedInsideDialog =\n rect.top <= e.clientY &&\n e.clientY <= rect.top + rect.height &&\n rect.left <= e.clientX &&\n e.clientX <= rect.left + rect.width;\n\n if (!clickedInsideDialog) {\n reject();\n }\n },\n [currentRef, reject],\n );\n\n const contextValue = useMemo(\n () => ({ resolve, reject }) as DialogContextValue<unknown>,\n [reject, resolve],\n );\n\n const element = useMemo<ReactNode>(\n () =>\n divInsteadOfDialog ? (\n <Modal\n isOpen={isOpen}\n onRequestClose={reject}\n background={background}\n contentLabel={label}\n id={elementId}\n aria={{ modal: true, labelledby, describedby }}\n >\n <DialogContext.Provider value={contextValue}>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </DialogContext.Provider>\n </Modal>\n ) : (\n <dialog\n onClick={disableCloseOnClickOutside ? undefined : onClick}\n onClose={onClose}\n ref={currentRef}\n id={elementId}\n className={cx(className, closing && closingClassName)}\n aria-label={label}\n aria-labelledby={labelledby}\n aria-describedby={describedby}\n style={{ background: background, ...dialogStyle }}\n >\n <div style={contentWrapperStyle} className={contentWrapperClassName}>\n {contentVisible && (\n <DialogContext.Provider value={contextValue}>\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n </DialogContext.Provider>\n )}\n </div>\n </dialog>\n ),\n [\n divInsteadOfDialog,\n isOpen,\n reject,\n background,\n label,\n elementId,\n labelledby,\n describedby,\n contextValue,\n contentVisible,\n Comp,\n key,\n disableCloseOnClickOutside,\n onClick,\n onClose,\n currentRef,\n className,\n closing,\n closingClassName,\n dialogStyle,\n contentWrapperStyle,\n contentWrapperClassName,\n ],\n );\n\n return [element, { 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, HeadingVariant } from \"@stenajs-webui/core\";\n\nexport type ModalHeadingSizeVariant = \"medium\" | \"large\";\n\nexport interface ModalHeadingProps {\n size?: ModalHeadingSizeVariant;\n children: string;\n headingLevel?: HeadingVariant;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({\n headingLevel = \"h2\",\n size = \"medium\",\n children,\n}) => {\n return (\n <Heading variant={size === \"medium\" ? \"h3\" : \"h1\"} as={headingLevel}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { Box, Spacing } from \"@stenajs-webui/core\";\n\nexport interface ModalActionButtonsProps extends PropsWithChildren {}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n children,\n}) => {\n return (\n <Box width={\"100%\"}>\n <Spacing />\n <div className={styles.modalActionButtons}>{children}</div>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport styles from \"./ModalBody.module.css\";\nimport cx from \"classnames\";\n\nexport type ModalBodyVariant = \"normal\" | \"relaxed\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {\n variant?: ModalBodyVariant;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({\n gap = 3,\n variant = \"normal\",\n className,\n ...props\n}) => {\n return (\n <Column\n className={cx(styles.modalBody, styles[variant], className)}\n indent={variant === \"relaxed\" ? 5 : 3}\n spacing={variant === \"relaxed\" ? 5 : 3}\n gap={gap}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport { PropsWithChildren } from \"react\";\n\nexport interface ModalContainerProps\n extends PropsWithChildren,\n Pick<BoxProps, \"maxWidth\"> {}\n\nexport const ModalContainer: React.FC<ModalContainerProps> = ({\n children,\n maxWidth,\n}) => {\n return (\n <Column\n flex={1}\n height={\"100%\"}\n justifyContent={\"space-between\"}\n maxWidth={maxWidth}\n >\n {children}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { CircledIcon, MediumIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\nimport { ModalContainer } from \"../building-blocks/ModalContainer\";\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 <ModalContainer>\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 && <ModalActionButtons>{buttons}</ModalActionButtons>}\n </ModalBody>\n </ModalContainer>\n );\n};\n","import * as React from \"react\";\nimport {\n FlatButton,\n FlatButtonProps,\n stenaTimesThick,\n} from \"@stenajs-webui/elements\";\n\nexport interface ModalCloseButtonProps extends FlatButtonProps {}\n\nexport const ModalCloseButton: React.FC<ModalCloseButtonProps> = (props) => {\n return (\n <FlatButton\n size={\"large\"}\n variant={\"danger\"}\n leftIcon={stenaTimesThick}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { Column, HeadingVariant, Row } from \"@stenajs-webui/core\";\nimport { ModalHeading, ModalHeadingSizeVariant } from \"./ModalHeading\";\nimport { ModalCloseButton } from \"./ModalCloseButton\";\n\nexport type ModalHeaderProps =\n | ModalHeaderWithCloseButtonProps\n | ModalHeaderWithNoCloseButtonProps;\n\nexport interface ModalHeaderCommonProps {\n heading?: string;\n headingSize?: ModalHeadingSizeVariant;\n headingLevel?: HeadingVariant;\n}\n\nexport interface ModalHeaderWithCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose?: never;\n closeButtonAriaLabel?: never;\n}\n\nexport interface ModalHeaderWithNoCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose: () => void;\n closeButtonAriaLabel: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n headingLevel,\n headingSize,\n onClickClose,\n closeButtonAriaLabel,\n}) => {\n return (\n <Column>\n <Row justifyContent={\"space-between\"} alignItems={\"center\"} gap={2}>\n {heading ? (\n <ModalHeading headingLevel={headingLevel} size={headingSize}>\n {heading}\n </ModalHeading>\n ) : (\n <div />\n )}\n {onClickClose ? (\n <ModalCloseButton\n onClick={onClickClose}\n size={headingSize}\n aria-label={closeButtonAriaLabel}\n />\n ) : null}\n </Row>\n </Column>\n );\n};\n","import { BoxProps, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./ModalFooter.module.css\";\nimport cx from \"classnames\";\n\nexport interface ModalFooterProps extends BoxProps {\n sticky?: boolean;\n gap?: number;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({\n children,\n sticky,\n zIndex = 4,\n gap = 2,\n className,\n ...boxProps\n}) => {\n return (\n <Row\n className={cx(styles.modalFooter, sticky && styles.sticky, className)}\n shadow={\"var(--swui-sticky-footer-shadow)\"}\n zIndex={zIndex}\n {...boxProps}\n >\n <Row gap={gap} spacing={2} alignItems={\"center\"}>\n {children}\n </Row>\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","isSafari","Modal","className","overlayClassName","ref","scrollbarGutter","setScrollbarGutter","useState","updateScrollbarGutter","useEventCallback","container","useEffect","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","modal","contentWrapperClassName","closingClassName","contentWrapperStyle","dialogStyle","divInsteadOfDialog","disableCloseOnClickOutside","elementId","onResolve","onReject","label","labelledby","describedby","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","closedByPromiseRef","rejectRef","isOpen","setIsOpen","contentVisible","setContentVisible","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","ev","error","onClose","onClick","e","rect","contextValue","useMemo","createElement","useDialogPromise","context","useContext","useAlertDialog","options","useDrawerDialog","useModalDialog","ModalHeading","headingLevel","size","ModalActionButtons","ModalBody","gap","variant","ModalContainer","InfoAlert","buttons","heading","text","minWidth","CircledIcon","Text","ModalCloseButton","stenaTimesThick","ModalHeader","headingSize","onClickClose","closeButtonAriaLabel","ModalFooter","sticky","boxProps"],"mappings":";;;;;;;;AAEa,MAAAA,KAAyB,CAACC,MAAsC;AAC3E,EAAAC,EAAW,cAAcD,CAAW;AACtC;;;;;;;;;GCUaE,KAA6B,0BAC7BC,KAA6B,0BAE7BC,KAAwC,CAAC;AAAA,EACpD,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACE,QAAAC,IAAUC,EAAuB,IAAI;AAEzC,SAAA,gBAAAC;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,kBAAkBY,EAAO;AAAA,MACzB,WAAWA,EAAO;AAAA,MACjB,GAAGJ;AAAA,MAEJ,UAAA,gBAAAG;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,QAAQ,IAAIZ,EAA0B;AAAA,UACtC,QAAQ,IAAIC,EAA0B;AAAA,UACtC,QAAO;AAAA,UACP,UAAU,CAACI;AAAA,UACX,SAAAG;AAAA,UAEA,UAAA,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACJ,sBAAiCP;AAAA,gBACjC,0BAAqCC;AAAA,cACxC;AAAA,cACA,WAAWS,EAAGF,EAAO,SAAS;AAAA,gBAC5B,CAACA,EAAO,WAAW,GAAGN;AAAA,cAAA,CACvB;AAAA,cACD,KAAKG;AAAA,cAEJ,UAAAF;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;;;;;;;;;;;GCKaQ,KAAgC,CAAC;AAAA,EAC5C,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAV;AAAA,EACA,WAAAW,IAAY;AAAA,EACZ,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGZ;AACL,MAAM;AACE,QAAA,EAAE,QAAAa,GAAQ,OAAAjB,EAAA,IAAUI;AAGxB,SAAA,gBAAAG;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,gBAAgB;AAAA,MAChB,iBAAiBY,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,OAAAR,GAAO,QAAAiB,GAAQ,YAAAL,KAAc,SAAS,EAAE,QAAAC,IAAS;AAAA,MACrE,gBAAgBE,IAAe,MAAMA,IAAe;AAAA,MACnD,GAAGX;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EACH;AAEJ,GAEMe,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,EAAA;AAE9D,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,IAAA,EAAM,KAAK,EAAG,CAAA;AAAA,YACdL,KAAQ,gBAAAjB,EAACuB,IAAK,EAAA,MAAAN,GAAY,MAAM,IAAI;AAAA,YACpC,gBAAAjB,EAAAwB,IAAA,EAAQ,SAAS,MAAO,UAAOV,EAAA,CAAA;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,IAAM,EAAA,KAAK,IAAK,CAAA;AAAA,UAAA,EACnB,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AACF;;;;;;;;;GCtCEK,KAAQ,EAAE,SAAS,EAAE,gBAAgB,WAAW,GAEzCC,KAA8B,CAAC;AAAA,EAC1C,UAAAhC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAG;AAAA,EAACX;AAAA,EAAA;AAAA,IACC,kBAAkBY,EAAO;AAAA,IACzB,WAAWA,EAAO;AAAA,IAClB,OAAA0B;AAAA,IACC,GAAG9B;AAAA,IAEJ,UAAA,gBAAAG;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAO;AAAA,QAClB,OAAO,EAAG,sBAAiC,cAAc;AAAA,QAExD,UAAAL;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF;;;;;;;;;;;;GCbEiC,KAAW,iCAAiC,KAAK,UAAU,SAAS,GAE7DC,KAA8B,CAAC;AAAA,EAC1C,UAAAlC;AAAA,EACA,YAAAS;AAAA,EACA,WAAA0B;AAAA,EACA,kBAAAC;AAAA,EACA,GAAGnC;AACL,MAAM;AACE,QAAAoC,IAAMlC,EAA8B,IAAI,GAExC,CAACmC,GAAiBC,CAAkB,IAAIC,EAE5CP,KAAW,SAAS,MAAS,GAEzBF,IAAQ;AAAA,IACZ,SAAS,EAAE,gBAAgB,SAAS;AAAA,IACpC,SAAS;AAAA,MACP,iCAAiCtB;AAAA,IAAA;AAAA,EAErC,GAEMgC,IAAwBC,GAAiB,MAAM;AACnD,QAAI,CAACT;AACH;AAGF,UAAMU,IAAYN,EAAI;AACtB,IAAIM,KACFJ;AAAA,MACEI,EAAU,eAAeA,EAAU,eAAe,WAAW;AAAA,IAC/D;AAAA,EACF,CACD;AAUD,SAAAC,GAAU,OACD,OAAA,iBAAiB,UAAUH,CAAqB,GAC9C,SAAA,iBAAiB,oBAAoBA,CAAqB,GAC5D,MAAM;AACJ,WAAA,oBAAoB,UAAUA,CAAqB,GACjD,SAAA,oBAAoB,oBAAoBA,CAAqB;AAAA,EACxE,IACC,CAACA,CAAqB,CAAC,GAGxB,gBAAArC;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,kBAAkB;AAAA,QAChB,MAAMc,EAAG6B,GAAkB/B,EAAO,OAAO;AAAA,QACzC,aAAaA,EAAO;AAAA,QACpB,WAAWA,EAAO;AAAA,MACpB;AAAA,MACA,WAAW;AAAA,QACT,MAAME,EAAG4B,GAAW9B,EAAO,KAAK;AAAA,QAChC,aAAaA,EAAO;AAAA,QACpB,WAAWA,EAAO;AAAA,MACpB;AAAA,MACA,OAAA0B;AAAA,MACA,gBAAgB;AAAA,MAChB,aAAaU;AAAA,MACZ,GAAGxC;AAAA,MAEJ,UAAA,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWC,EAAO;AAAA,UAClB,OAAO;AAAA,YACJ,sBAAiC;AAAA,YAClC,iBAAAiC;AAAA,UACF;AAAA,UACA,KAAAD;AAAA,UAEC,UAAArC;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EACF;AAEJ;;;GC7Ea6C,KAA4C,CAAC;AAAA,EACxD,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,2BAAAC,IAA4B;AAAA,EAC5B,kBAAAC,IAAmB;AAAA,EACnB,GAAGC;AACL,MAEI,gBAAA9C;AAAA,EAACX;AAAA,EAAA;AAAA,IACE,GAAGyD;AAAA,IACJ,QAAM;AAAA,IACN,2BAAAF;AAAA,IACA,kBAAAC;AAAA,IACA,WAAW5C,GAAO;AAAA,IAClB,kBAAkBA,GAAO;AAAA,IAEzB,UAAC,gBAAAmB,EAAA2B,GAAA,EAAO,SAAS,GAAG,YAAY,UAC9B,UAAA;AAAA,MAAA,gBAAA/C;AAAA,QAACgD;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,gBAAAhD,EAACiD,IAAQ,EAAA,MAAM,QAAS,CAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,OACEP,KAAkBC,MAEhB,gBAAAvB,EAAA8B,IAAA,EAAA,UAAA;AAAA,QAAA,gBAAAlD,EAACkB,GAAQ,EAAA;AAAA,QACT,gBAAAE,EAACC,GAAI,EAAA,QAAQ,GACV,UAAA;AAAA,UAAAqB,KAEG,gBAAAtB,EAAA8B,IAAA,EAAA,UAAA;AAAA,YAAA,gBAAAlD,EAACuB,MAAK,MAAM,IAAI,MAAMmB,GAAgB,OAAO,SAAS;AAAA,8BACrDS,IAAO,CAAA,CAAA;AAAA,UAAA,GACV;AAAA,UAEDR,KACE,gBAAA3C,EAAAwB,IAAA,EAAQ,SAAS,MAAM,OAAO,SAC5B,UACHmB,EAAA,CAAA;AAAA,QAAA,EAEJ,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA,EAEJ,CAAA;AAAA,EAAA;AACF,GClDSS,KAA4C,CAAC;AAAA,EACxD,gBAAApC;AAAA,EACA,QAAAF;AAAA,EACA,YAAA6B;AAAA,EACA,sBAAAU;AACF,MAEI,gBAAAjC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,WAAW/B;AAAA,IAEX,UAAA;AAAA,MAAA,gBAAA8B,EAACC,KAAI,MAAM,GAAG,QAAM,IAAC,YAAY,UAC9B,UAAA;AAAA,QAAAsB,uBACEW,IAAI,EAAA,WAAW/D,IAA4B,MAAM,SAC/C,UACHoD,GAAA;AAAA,QAED7B;AAAA,MAAA,GACH;AAAA,MACA,gBAAAd,EAACgD,GAAI,EAAA,WAAW,cACd,UAAA,gBAAAhD;AAAA,QAACuD;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,UACX,SAASrC;AAAA,QAAA;AAAA,MAAA,EAEb,CAAA;AAAA,IAAA;AAAA,EAAA;AACF,GC5BSwC,KAAgC,CAAC;AAAA,EAC5C,QAAA1C;AAAA,EACA,YAAA6B;AAAA,EACA,UAAA/C;AAAA,EACA,SAAA6D;AAAA,EACA,QAAAC;AAAA,EACA,WAAA/D,IAAY;AAAA,EACZ,gBAAAqB;AAAA,EACA,sBAAAqC;AAAA,EACA,QAAAM;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,GAAGC;AACL,MAKI,gBAAAzC;AAAA,EAAC5B;AAAA,EAAA;AAAA,IACE,GAAGqE;AAAA,IACJ,gBAAA7C;AAAA,IACA,WAAArB;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAK;AAAA,QAACoD;AAAA,QAAA;AAAA,UACC,gBAAApC;AAAA,UACA,QAAAF;AAAA,UACA,YAAA6B;AAAA,UACA,sBAAAU;AAAA,QAAA;AAAA,MACF;AAAA,wBACCL,GAAI,EAAA,SAfa,OAAOS,KAAY,WAAWA,IAAU,GAe7B,QAdZ,OAAOC,KAAW,WAAWA,IAAS,GAepD,UAAA9D,GACH;AAAA,MACC+D,KACC,gBAAA3D;AAAA,QAACgD;AAAA,QAAA;AAAA,UACC,WAAW7C,EAAGF,EAAO,QAAQ;AAAA,YAC3B,CAACA,EAAO,YAAY,GAAG,CAAC2D;AAAA,UAAA,CACzB;AAAA,UAEA,UAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAEJ,GC/CSG,KAA4C,CAAC,EAAE,UAAAlE,EAAS,MAClE,gBAAAI,EAAA+C,GAAA,EAAO,QAAQ,GAAG,SAAS,GACzB,UAAAnD,EACH,CAAA,GCDWmE,IAAgBC;AAAA,EAC3B;AACF;AC2CO,SAASC,GACdC,GACA;AAAA,EACE,KAAAjC;AAAA,EACA,OAAAkC;AAAA,EACA,yBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,4BAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAA7C;AAAA,EACA,YAAA1B;AAAA,EACA,OAAAwE;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AACF,GAC0C;AACpC,QAAAC,KAAWjF,EAA0B,IAAI,GACzCkF,IAAahD,KAAO+C,IACpB,CAACE,GAAKC,EAAa,IAAIC,GAAW,CAACC,MAAMA,IAAI,GAAG,CAAC,GACjDC,KAAavF,EAA6C,IAAI,GAC9DwF,IAAaxF,EAAoD,IAAI,GACrEyF,IAAsBzF,EAAe,MAAS,GAC9C0F,IAAqB1F,EAAgB,EAAK,GAC1C2F,IAAY3F,EAAkC,IAAI,GAIlD,CAAC4F,IAAQC,CAAS,IAAIxD,EAAS,EAAK,GAIpC,CAACyD,GAAgBC,CAAiB,IAAI1D,EAAS,EAAK,GAIpD,CAAC2D,IAASC,CAAU,IAAI5D,EAAS,EAAK,GAEtC6D,IAAO/B,GAEPgC,KAAOC;AAAA,IACX,CAACtC,MAAmB;;AAClB,aAAAyB,GAAW,UAAU,IAAI;AAAA,QACvB,CAACc,GAASC,MAAW;AACnB,UAAAd,EAAW,UAAUa,GACrBV,EAAU,UAAUW;AAAAA,QAAA;AAAA,MAExB,GACAL,EAAW,EAAK,GAChBJ,EAAU,EAAI,GACdE,EAAkB,EAAI,GACRX,GAAA,GACdM,EAAmB,UAAU,IAC7BD,EAAoB,UAAU3B,GAC1BM,KACFmC,IAAArB,EAAW,YAAX,QAAAqB,EAAoB,eAEpBC,IAAAtB,EAAW,YAAX,QAAAsB,EAAoB,QAEfjB,GAAW;AAAA,IACpB;AAAA,IACA,CAACL,GAAYd,CAAK;AAAA,EACpB,GAEMiC,KAAUD;AAAA,IACd,CAACK,MAAU;;AACT,MAAAf,EAAmB,UAAU,IAE7BO,EAAW,EAAI,GACfJ,EAAU,EAAK,GACVpB,IAeH,WAAW,MAAM;;AACf,QAAAwB,EAAW,EAAK,GAChBF,EAAkB,EAAK,IACvBQ,IAAAf,EAAW,YAAX,QAAAe,EAAA,KAAAf,GAAqBiB,IACrBhB,EAAoB,UAAU,QAClBb,KAAA,QAAAA;AAAA,SACX,GAAG,KApBN2B,IAAArB,EAAW,YAAX,QAAAqB,EAAoB;AAAA,QAClB;AAAA,QACA,CAACG,MAAO;;AACN,UAAAA,EAAG,gBAAgB,GACnBT,EAAW,EAAK,GAChBF,EAAkB,EAAK,IACvBQ,IAAArB,EAAW,YAAX,QAAAqB,EAAoB,UACpBC,IAAAhB,EAAW,YAAX,QAAAgB,EAAA,KAAAhB,GAAqBiB,IACrBhB,EAAoB,UAAU,QAClBb,KAAA,QAAAA;AAAA,QACd;AAAA,QACA,EAAE,MAAM,GAAK;AAAA;AAAA,IAWnB;AAAA,IACA,CAACM,GAAYN,GAAWH,CAAkB;AAAA,EAC5C,GAEM6B,IAASF;AAAA,IACb,CAACO,MAAU;;AACT,MAAAjB,EAAmB,UAAU,IAE7BO,EAAW,EAAI,GACfJ,EAAU,EAAK,GACVpB,IAeH,WAAW,MAAM;;AACf,QAAAwB,EAAW,EAAK,GAChBF,EAAkB,EAAK,IACvBQ,IAAAZ,EAAU,YAAV,QAAAY,EAAA,KAAAZ,GAAoBgB,IACT9B,KAAA,QAAAA,KACXY,EAAoB,UAAU;AAAA,SAC7B,GAAG,KApBNc,IAAArB,EAAW,YAAX,QAAAqB,EAAoB;AAAA,QAClB;AAAA,QACA,CAACG,MAAO;;AACN,UAAAA,EAAG,gBAAgB,GACnBT,EAAW,EAAK,GAChBF,EAAkB,EAAK,IACvBQ,IAAArB,EAAW,YAAX,QAAAqB,EAAoB,UACpBC,IAAAb,EAAU,YAAV,QAAAa,EAAA,KAAAb,GAAoBgB,IACT9B,KAAA,QAAAA,KACXY,EAAoB,UAAU;AAAA,QAChC;AAAA,QACA,EAAE,MAAM,GAAK;AAAA;AAAA,IAWnB;AAAA,IACA,CAACP,GAAYT,GAAoBI,CAAQ;AAAA,EAC3C,GAEM+B,KAAUR;AAAA,IACd,CAACM,MAAO;;AAEN,MAAAA,EAAG,gBAAgB,GACdhB,EAAmB,YACtBO,EAAW,EAAK,GAChBJ,EAAU,EAAK,GACfE,EAAkB,EAAK,IACvBQ,IAAAZ,EAAU,YAAV,QAAAY,EAAA,KAAAZ,IACWd,KAAA,QAAAA,KACXY,EAAoB,UAAU;AAAA,IAElC;AAAA,IACA,CAACZ,CAAQ;AAAA,EACX,GAEMgC,KAAUT;AAAA,IACd,CAACU,MAAM;AACD,UAAAA,EAAE,WAAW5B,EAAW;AAC1B;AAGI,YAAA6B,IAAO7B,EAAW,QAAQ,sBAAsB;AAQtD,MALE6B,EAAK,OAAOD,EAAE,WACdA,EAAE,WAAWC,EAAK,MAAMA,EAAK,UAC7BA,EAAK,QAAQD,EAAE,WACfA,EAAE,WAAWC,EAAK,OAAOA,EAAK,SAGvBT,EAAA;AAAA,IAEX;AAAA,IACA,CAACpB,GAAYoB,CAAM;AAAA,EACrB,GAEMU,IAAeC;AAAA,IACnB,OAAO,EAAE,SAAAZ,IAAS,QAAAC;IAClB,CAACA,GAAQD,EAAO;AAAA,EAClB;AAkEA,SAAO,CAhESY;AAAA,IACd,MACExC,IACE,gBAAAxE;AAAA,MAAC8B;AAAA,MAAA;AAAA,QACC,QAAA6D;AAAA,QACA,gBAAgBU;AAAA,QAChB,YAAAhG;AAAA,QACA,cAAcwE;AAAA,QACd,IAAIH;AAAA,QACJ,MAAM,EAAE,OAAO,IAAM,YAAAI,GAAY,aAAAC,EAAY;AAAA,QAE7C,UAAC,gBAAA/E,EAAA+D,EAAc,UAAd,EAAuB,OAAOgD,GAC5B,UACClB,KAAA,gBAAAoB,GAAChB,GAAM,EAAA,GAAIT,EAAoB,SAAoB,KAAAN,GAAU,EAEjE,CAAA;AAAA,MAAA;AAAA,IAAA,IAGF,gBAAAlF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAASyE,IAA6B,SAAYmC;AAAA,QAClD,SAAAD;AAAA,QACA,KAAK1B;AAAA,QACL,IAAIP;AAAA,QACJ,WAAWvE,EAAG4B,GAAWgE,MAAW1B,CAAgB;AAAA,QACpD,cAAYQ;AAAA,QACZ,mBAAiBC;AAAA,QACjB,oBAAkBC;AAAA,QAClB,OAAO,EAAE,YAAA1E,GAAwB,GAAGkE,EAAY;AAAA,QAEhD,UAAA,gBAAAvE,EAAC,SAAI,OAAOsE,GAAqB,WAAWF,GACzC,UAAAyB,uBACE9B,EAAc,UAAd,EAAuB,OAAOgD,GAC7B,6BAACd,GAAM,EAAA,GAAIT,EAAoB,SAAoB,KAAAN,EAAU,CAAA,EAC/D,CAAA,EAEJ,CAAA;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ;AAAA,MACEV;AAAA,MACAmB;AAAA,MACAU;AAAA,MACAhG;AAAA,MACAwE;AAAA,MACAH;AAAA,MACAI;AAAA,MACAC;AAAA,MACAgC;AAAA,MACAlB;AAAA,MACAI;AAAA,MACAf;AAAA,MACAT;AAAA,MACAmC;AAAA,MACAD;AAAA,MACA1B;AAAA,MACAlD;AAAA,MACAgE;AAAA,MACA1B;AAAA,MACAE;AAAA,MACAD;AAAA,MACAF;AAAA,IAAA;AAAA,EAEJ,GAEiB,EAAE,MAAA8B,IAAM,QAAAG,GAAQ;AACnC;ACrSO,MAAMa,KAAmB,MAEU;AAClC,QAAAC,IAAUC,GAAWrD,CAAa;AACxC,MAAIoD,KAAW;AACP,UAAA,IAAI,MAAM,mDAAmD;AAE9D,SAAAA;AACT;;;;;;;;ACNgB,SAAAE,GACdnD,GACAoD,GAC0C;AAC1C,SAAOrD,GAAmCC,GAAW;AAAA,IACnD,GAAGoD;AAAA,IACH,OAAO;AAAA,IACP,kBAAkBnH,EAAGmH,KAAA,gBAAAA,EAAS,kBAAkBrH,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBmH,KAAA,gBAAAA,EAAS;AAAA,MACTrH,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGmH,KAAA,gBAAAA,EAAS,WAAWrH,EAAO,WAAW;AAAA,EAAA,CACrD;AACH;;;;;;;;;;;;;;;;;;ACVO,SAASsH,GACdrD,GACA3D,IAAuB,QACvB+G,GAC0C;AAC1C,SAAOrD,GAAmCC,GAAW;AAAA,IACnD,GAAGoD;AAAA,IACH,4BAA4B;AAAA,IAC5B,OAAO;AAAA,IACP,kBAAkBnH,EAAGmH,KAAA,gBAAAA,EAAS,kBAAkBrH,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBmH,KAAA,gBAAAA,EAAS;AAAA,MACTrH,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGmH,KAAA,gBAAAA,EAAS,WAAWrH,EAAO,cAAcA,EAAOM,CAAS,CAAC;AAAA,EAAA,CACzE;AACH;;;;;;;;;;ACpBgB,SAAAiH,GACdtD,GACAoD,GAC0C;AAC1C,SAAOrD,GAAmCC,GAAW;AAAA,IACnD,GAAGoD;AAAA,IACH,OAAO;AAAA,IACP,kBAAkBnH,EAAGmH,KAAA,gBAAAA,EAAS,kBAAkBrH,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBmH,KAAA,gBAAAA,EAAS;AAAA,MACTrH,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGmH,KAAA,gBAAAA,EAAS,WAAWrH,EAAO,WAAW;AAAA,EAAA,CACrD;AACH;ACRO,MAAMwH,KAA4C,CAAC;AAAA,EACxD,cAAAC,IAAe;AAAA,EACf,MAAAC,IAAO;AAAA,EACP,UAAA/H;AACF,MAEI,gBAAAI,EAACwB,MAAQ,SAASmG,MAAS,WAAW,OAAO,MAAM,IAAID,GACpD,UAAA9H,EACH,CAAA;;GCZSgI,KAAwD,CAAC;AAAA,EACpE,UAAAhI;AACF,MAEI,gBAAAwB,EAAC4B,GAAI,EAAA,OAAO,QACV,UAAA;AAAA,EAAA,gBAAAhD,EAACkB,GAAQ,EAAA;AAAA,EACR,gBAAAlB,EAAA,OAAA,EAAI,WAAWC,GAAO,oBAAqB,UAAAL,EAAS,CAAA;AAAA,GACvD;;GCHSiI,KAAsC,CAAC;AAAA,EAClD,KAAAC,IAAM;AAAA,EACN,SAAAC,IAAU;AAAA,EACV,WAAAhG;AAAA,EACA,GAAG8B;AACL,MAEI,gBAAA7D;AAAA,EAAC+C;AAAA,EAAA;AAAA,IACC,WAAW5C,EAAGF,GAAO,WAAWA,GAAO8H,CAAO,GAAGhG,CAAS;AAAA,IAC1D,QAAQgG,MAAY,YAAY,IAAI;AAAA,IACpC,SAASA,MAAY,YAAY,IAAI;AAAA,IACrC,KAAAD;AAAA,IACC,GAAGjE;AAAA,EAAA;AACN,GChBSmE,KAAgD,CAAC;AAAA,EAC5D,UAAApI;AAAA,EACA,UAAAF;AACF,MAEI,gBAAAM;AAAA,EAAC+C;AAAA,EAAA;AAAA,IACC,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,UAAArD;AAAA,IAEC,UAAAE;AAAA,EAAA;AACH,GCDSqI,KAAsC,CAAC;AAAA,EAClD,MAAAhH;AAAA,EACA,SAAAiH;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAxI;AAAA,EACA,UAAAF;AAAA,EACA,UAAA2I;AACF,wBAEKL,IACC,EAAA,UAAA,gBAAA5G;AAAA,EAACyG;AAAA,EAAA;AAAA,IACC,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,UAAAnI;AAAA,IACA,UAAA2I;AAAA,IAEC,UAAA;AAAA,MAAApH,KAAS,gBAAAjB,EAAAsI,IAAA,EAAY,MAAArH,GAAY,MAAM,SAAS;AAAA,MACjD,gBAAAjB,EAACyH,MAAc,UAAQU,EAAA,CAAA;AAAA,MACtBC,KAAQ,gBAAApI,EAACuI,IAAK,EAAA,WAAW,UAAW,UAAKH,GAAA;AAAA,MACzCxI;AAAA,MACAsI,KAAY,gBAAAlI,EAAA4H,IAAA,EAAoB,UAAQM,EAAA,CAAA;AAAA,IAAA;AAAA,EAAA;AAAA,GAE7C,GCjCSM,KAAoD,CAAC3E,MAE9D,gBAAA7D;AAAA,EAACyB;AAAA,EAAA;AAAA,IACC,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAUgH;AAAA,IACT,GAAG5E;AAAA,EAAA;AACN,GCWS6E,KAA0C,CAAC;AAAA,EACtD,SAAAP;AAAA,EACA,cAAAT;AAAA,EACA,aAAAiB;AAAA,EACA,cAAAC;AAAA,EACA,sBAAAC;AACF,MAEI,gBAAA7I,EAAC+C,KACC,UAAC,gBAAA3B,EAAAC,GAAA,EAAI,gBAAgB,iBAAiB,YAAY,UAAU,KAAK,GAC9D,UAAA;AAAA,EACC8G,IAAA,gBAAAnI,EAACyH,MAAa,cAAAC,GAA4B,MAAMiB,GAC7C,UACHR,EAAA,CAAA,sBAEC,OAAI,CAAA,CAAA;AAAA,EAENS,IACC,gBAAA5I;AAAA,IAACwI;AAAA,IAAA;AAAA,MACC,SAASI;AAAA,MACT,MAAMD;AAAA,MACN,cAAYE;AAAA,IAAA;AAAA,EAAA,IAEZ;AAAA,EAAA,CACN,EACF,CAAA;;;GC1CSC,KAA0C,CAAC;AAAA,EACtD,UAAAlJ;AAAA,EACA,QAAAmJ;AAAA,EACA,QAAAzI,IAAS;AAAA,EACT,KAAAwH,IAAM;AAAA,EACN,WAAA/F;AAAA,EACA,GAAGiH;AACL,MAEI,gBAAAhJ;AAAA,EAACqB;AAAA,EAAA;AAAA,IACC,WAAWlB,EAAGF,GAAO,aAAa8I,KAAU9I,GAAO,QAAQ8B,CAAS;AAAA,IACpE,QAAQ;AAAA,IACR,QAAAzB;AAAA,IACC,GAAG0I;AAAA,IAEJ,4BAAC3H,GAAI,EAAA,KAAAyG,GAAU,SAAS,GAAG,YAAY,UACpC,UAAAlI,EACH,CAAA;AAAA,EAAA;AACF;"}
|
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_quvmp_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_quvmp_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_quvmp_1{background-color:#fff}}._overlay_quvmp_1 ._modal_quvmp_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_quvmp_1 ._modal_quvmp_31{width:100%}}._overlay_quvmp_1 ._content_quvmp_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_quvmp_1 ._content_quvmp_41{top:0;width:100%;max-width:100%}}._overlay_quvmp_1 ._content_quvmp_41{animation:_appear_quvmp_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_quvmp_1 ._content_quvmp_41{box-shadow:none;top:0}}._overlay_quvmp_1 ._content_quvmp_41:focus{outline:0}._overlay_quvmp_1 ._content_quvmp_41._isDraggable_quvmp_70 .draggable-modal-handle{cursor:move}._overlay_quvmp_1 ._content_quvmp_41._isDraggable_quvmp_70 .draggable-modal-handle .draggable-modal-cancel,._overlay_quvmp_1 ._content_quvmp_41._isDraggable_quvmp_70 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_quvmp_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_quvmp_1{0%{opacity:0}to{opacity:1}}._footer_quvmp_101{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_quvmp_105{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_quvmp_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_1gix5_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_1gix5_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1gix5_1{background-color:#fff}}._overlay_1gix5_1 ._modal_1gix5_31{max-width:100%;outline:none;pointer-events:none;padding:var(--swui-metrics-space)}._overlay_1gix5_1 ._content_1gix5_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_1gix5_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1gix5_1 ._content_1gix5_38{box-shadow:none;top:0}}._overlay_1gix5_1 ._content_1gix5_38:focus{outline:0}._overlay_1gix5_1 ._content_1gix5_38._isDraggable_1gix5_61 .draggable-modal-handle{cursor:move}._overlay_1gix5_1 ._content_1gix5_38._isDraggable_1gix5_61 .draggable-modal-handle .draggable-modal-cancel,._overlay_1gix5_1 ._content_1gix5_38._isDraggable_1gix5_61 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_1gix5_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_1gix5_1{0%{opacity:0}to{opacity:1}}._footer_1gix5_92{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_1gix5_96{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_1gix5_96{position:static;box-shadow:none}}._overlay_nbrrn_1{--swui-modal-animation-time: var(--swui-animation-time-medium);--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);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;opacity:0}._overlay_nbrrn_1._afterOpen_nbrrn_24:not(._beforeClose_nbrrn_24){animation:_fadeIn_nbrrn_1 var(--swui-modal-animation-time) forwards}._overlay_nbrrn_1._beforeClose_nbrrn_24{animation:_fadeOut_nbrrn_1 var(--swui-modal-animation-time) forwards}@media print{._overlay_nbrrn_1{background-color:#fff}}._overlay_nbrrn_1 ._modal_nbrrn_36{max-width:100%;outline:none;pointer-events:none;padding:calc(var(--swui-metrics-space) * 2);box-sizing:border-box;max-height:100%;transform:translateY(-100%)}@media (max-width: 768px){._overlay_nbrrn_1 ._modal_nbrrn_36{padding:0;width:100%}}._overlay_nbrrn_1 ._modal_nbrrn_36._afterOpen_nbrrn_24:not(._beforeClose_nbrrn_24){animation:_slideIn_nbrrn_1 var(--swui-modal-animation-time) forwards}._overlay_nbrrn_1 ._modal_nbrrn_36._beforeClose_nbrrn_24{animation:_slideOut_nbrrn_1 var(--swui-modal-animation-time) forwards}._overlay_nbrrn_1 ._content_nbrrn_59{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);height:100%;overflow:hidden;overflow-y:auto}@media (max-width: 768px){._overlay_nbrrn_1 ._content_nbrrn_59{border-radius:0;width:100%;max-width:100%;min-height:100dvh}}@media (min-width: 769px){._overlay_nbrrn_1 ._content_nbrrn_59{border-radius:var(--swui-border-radius-large)}._overlay_nbrrn_1 ._content_nbrrn_59::-webkit-scrollbar-thumb{background-color:var(--lhds-color-ui-400);border:4px solid transparent;border-radius:8px;background-clip:padding-box;min-height:40px}._overlay_nbrrn_1 ._content_nbrrn_59::-webkit-scrollbar{width:16px}}@media print{._overlay_nbrrn_1 ._content_nbrrn_59{box-shadow:none;top:0}}._overlay_nbrrn_1 ._content_nbrrn_59:focus{outline:0}@keyframes _fadeIn_nbrrn_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_nbrrn_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_nbrrn_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_nbrrn_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._footer_nbrrn_149{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_nbrrn_153{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_nbrrn_153{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_11g6r_1{max-height:100%;max-width:100%;border:0;outline:0;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:#0003 0 0 10px 4px;position:fixed}._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{height:100%;top:0;bottom:0}._drawerDialog_11g6r_1._left_11g6r_13 ._contentWrapper_11g6r_19,._drawerDialog_11g6r_1._right_11g6r_14 ._contentWrapper_11g6r_19{height:100%}@media (max-width: 768px){._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{width:-webkit-fit-content;width:fit-content}}._drawerDialog_11g6r_1._left_11g6r_13{left:0;right:unset}._drawerDialog_11g6r_1._left_11g6r_13[open]{animation:_slideInLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._left_11g6r_13._closing_11g6r_36[open]{animation:_slideOutLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14{left:unset;right:0}._drawerDialog_11g6r_1._right_11g6r_14[open]{animation:_slideInRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14._closing_11g6r_36[open]{animation:_slideOutRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{width:100%;left:0;right:0}@media (max-width: 768px){._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{height:-webkit-fit-content;height:fit-content}}._drawerDialog_11g6r_1._top_11g6r_54{top:0;bottom:unset}._drawerDialog_11g6r_1._top_11g6r_54[open]{animation:_slideInTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54._closing_11g6r_36[open]{animation:_slideOutTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55{top:unset;bottom:0}._drawerDialog_11g6r_1._bottom_11g6r_55[open]{animation:_slideInBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55._closing_11g6r_36[open]{animation:_slideOutBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1[open]{opacity:1;pointer-events:auto}@keyframes _slideInLeft_11g6r_1{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutLeft_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(-100%);opacity:1}}@keyframes _slideInTop_11g6r_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutTop_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(-100%);opacity:1}}@keyframes _slideInRight_11g6r_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutRight_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(100%);opacity:1}}@keyframes _slideInBottom_11g6r_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutBottom_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(100%);opacity:1}}._modalDialog_iw29e_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_iw29e_1{border-radius:var(--swui-border-radius-large)}._modalDialog_iw29e_1::-webkit-scrollbar-thumb{background-color:var(--lhds-color-ui-400);border:4px solid transparent;border-radius:8px;background-clip:padding-box;min-height:40px}._modalDialog_iw29e_1::-webkit-scrollbar{width:16px}}._modalDialog_iw29e_1:not([open]){display:none}._modalDialog_iw29e_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_iw29e_1 .25s forwards}._modalDialog_iw29e_1._closing_iw29e_37[open]{animation:_slideOut_iw29e_1 .25s forwards}@media (max-width: 768px){._modalDialog_iw29e_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_iw29e_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_iw29e_1 .25s forwards}._modalDialog_iw29e_1._closing_iw29e_37::backdrop{animation:_fadeOut_iw29e_1 .25s forwards}@keyframes _fadeIn_iw29e_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_iw29e_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_iw29e_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_iw29e_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (max-width: 768px){._contentWrapper_iw29e_101{width:100%;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}}@media (max-width: 768px){._modalBody_ozynq_1._modalBody_ozynq_1{padding:calc(var(--swui-metrics-space) * 2)}}._modalFooter_1vp0i_1._modalFooter_1vp0i_1{align-items:center;overflow:hidden;background:var(--silver-lighter);border-radius:24px 24px 0 0;padding:0 calc((var(--swui-metrics-indent) * 5));flex-shrink:0}._modalFooter_1vp0i_1._modalFooter_1vp0i_1._sticky_1vp0i_9{position:-webkit-sticky;position:sticky;bottom:0}")),document.head.appendChild(o)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
|
|
2
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("react-modal"),e=require("react/jsx-runtime"),a=require("react"),pe=require("react-draggable"),_=require("classnames"),o=require("@stenajs-webui/core"),w=require("@stenajs-webui/elements"),ye=require("@stenajs-webui/theme"),Ce=n=>{F.setAppElement(n)},we="_overlay_quvmp_1",be="_fadeIn_quvmp_1",je="_modal_quvmp_31",ve="_content_quvmp_41",Ie="_appear_quvmp_1",De="_isDraggable_quvmp_70",Ne="_footer_quvmp_101",Oe="_stickyFooter_quvmp_105",B={overlay:we,fadeIn:be,modal:je,content:ve,appear:Ie,isDraggable:De,footer:Ne,stickyFooter:Oe},K="draggable-modal-handle",Q="draggable-modal-cancel",ie=({width:n,maxWidth:t,draggable:s=!1,children:r,...l})=>{const u=a.useRef(null);return e.jsx(F,{overlayClassName:B.overlay,className:B.modal,...l,children:e.jsx(pe,{handle:`.${K}`,cancel:`.${Q}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!s,nodeRef:u,children:e.jsx("div",{style:{"--swui-modal-width":n,"--swui-modal-max-width":t},className:_(B.content,{[B.isDraggable]:s}),ref:u,children:r})})})},$e="_portal_17ze5_1",Be="_overlay_17ze5_4",Fe="_content_17ze5_9",Ae="_floating_17ze5_15",Me="_slideFromLeft_17ze5_29",Le="_slideFromRight_17ze5_30",ke="_afterOpen_17ze5_36",Se="_beforeClose_17ze5_40",Ee="_slideFromTop_17ze5_45",ze="_slideFromBottom_17ze5_46",x={portal:$e,overlay:Be,content:Fe,floating:Ae,slideFromLeft:Me,slideFromRight:Le,afterOpen:ke,beforeClose:Se,slideFromTop:Ee,slideFromBottom:ze},We=({background:n,zIndex:t,children:s,slideFrom:r="left",portalTarget:l,floating:u,...h})=>{const{height:i,width:p}=h;return e.jsx(F,{closeTimeoutMS:250,portalClassName:x.portal,overlayClassName:{base:x.overlay,afterOpen:x.afterOpen,beforeClose:x.beforeClose},className:{base:_(x.content,qe(r),u&&x.floating),afterOpen:x.afterOpen,beforeClose:x.beforeClose},style:{content:{width:p,height:i,background:n},overlay:{zIndex:t}},parentSelector:l?()=>l:void 0,...h,children:s})},qe=n=>{switch(n){case"left":return x.slideFromLeft;case"right":return x.slideFromRight;case"top":return x.slideFromTop;case"bottom":return x.slideFromBottom;default:return o.exhaustSwitchCase(n,x.slideFromLeft)}},Te=({header:n,contentRight:t,onRequestClose:s,icon:r})=>e.jsx(o.Spacing,{position:"sticky",top:0,zIndex:100,background:ye.cssColor("--lhds-color-ui-50"),children:e.jsxs(o.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[e.jsxs(o.Row,{alignItems:"center",gap:2,children:[e.jsx(o.Space,{num:1}),r&&e.jsx(w.Icon,{icon:r,size:24}),e.jsx(o.Heading,{variant:"h4",children:n})]}),e.jsxs(o.Row,{gap:1,children:[t,e.jsx(w.FlatButton,{leftIcon:w.stenaTimes,onClick:s,variant:"danger"}),e.jsx(o.Space,{num:.5})]})]})}),He="_overlay_1gix5_1",Ge="_fadeIn_1gix5_1",Pe="_modal_1gix5_31",Re="_content_1gix5_38",Ve="_appear_1gix5_1",Xe="_isDraggable_1gix5_61",Ye="_footer_1gix5_92",Je="_stickyFooter_1gix5_96",X={overlay:He,fadeIn:Ge,modal:Pe,content:Re,appear:Ve,isDraggable:Xe,footer:Ye,stickyFooter:Je},Ke={overlay:{justifyContent:"center"}},Qe=({children:n,...t})=>e.jsx(F,{overlayClassName:X.overlay,className:X.modal,style:Ke,...t,children:e.jsx("div",{className:X.content,style:{"--swui-modal-width":"fit-content"},children:n})}),Ue="_overlay_nbrrn_1",Ze="_afterOpen_nbrrn_24",et="_beforeClose_nbrrn_24",tt="_fadeIn_nbrrn_1",nt="_fadeOut_nbrrn_1",st="_modal_nbrrn_36",ot="_slideIn_nbrrn_1",rt="_slideOut_nbrrn_1",at="_content_nbrrn_59",lt="_footer_nbrrn_149",ct="_stickyFooter_nbrrn_153",O={overlay:Ue,afterOpen:Ze,beforeClose:et,fadeIn:tt,fadeOut:nt,modal:st,slideIn:ot,slideOut:rt,content:at,footer:lt,stickyFooter:ct},re=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),de=({children:n,background:t,...s})=>{const r=a.useRef(null),[l,u]=a.useState(re?"auto":void 0),h={overlay:{justifyContent:"center"},content:{"--swui-modal-content-bg-color":t}},i=o.useEventCallback(()=>{if(!re)return;const p=r.current;p&&u(p.scrollHeight>p.clientHeight?"stable":"auto")});return a.useEffect(()=>(window.addEventListener("resize",i),document.addEventListener("DOMContentLoaded",i),()=>{window.removeEventListener("resize",i),document.removeEventListener("DOMContentLoaded",i)}),[i]),e.jsx(F,{overlayClassName:{base:O.overlay,beforeClose:O.beforeClose,afterOpen:O.afterOpen},className:{base:O.modal,beforeClose:O.beforeClose,afterOpen:O.afterOpen},style:h,closeTimeoutMS:250,onAfterOpen:i,...s,children:e.jsx("div",{className:O.content,style:{"--swui-modal-width":"fit-content",scrollbarGutter:l},ref:r,children:n})})},it="_modal_4fwgb_1",dt="_overlay_4fwgb_13",ae={modal:it,overlay:dt},ut=({headerIconLeft:n,headerText:t,shouldCloseOnOverlayClick:s=!1,shouldCloseOnEsc:r=!1,...l})=>e.jsx(F,{...l,isOpen:!0,shouldCloseOnOverlayClick:s,shouldCloseOnEsc:r,className:ae.modal,overlayClassName:ae.overlay,children:e.jsxs(o.Column,{spacing:2,alignItems:"center",children:[e.jsx(o.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:e.jsx(w.Spinner,{size:"small"})}),(n||t)&&e.jsxs(e.Fragment,{children:[e.jsx(o.Spacing,{}),e.jsxs(o.Row,{indent:2,children:[n&&e.jsxs(e.Fragment,{children:[e.jsx(w.Icon,{size:14,icon:n,color:"white"}),e.jsx(o.Indent,{})]}),t&&e.jsx(o.Heading,{variant:"h4",color:"white",children:t})]})]})]})}),ue=({onRequestClose:n,header:t,headerText:s,closeButtonClassName:r})=>e.jsxs(o.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:K,children:[e.jsxs(o.Row,{flex:1,indent:!0,alignItems:"center",children:[s&&e.jsx(o.Txt,{className:Q,size:"large",children:s}),t]}),e.jsx(o.Box,{alignSelf:"flex-start",children:e.jsx(w.CloseButton,{className:r,onClick:n})})]}),_t=({header:n,headerText:t,children:s,spacing:r,indent:l,draggable:u=!1,onRequestClose:h,closeButtonClassName:i,footer:p,disableStickyFooter:A=!1,...C})=>{const f=typeof r=="number"?r:1,M=typeof l=="number"?l:1;return e.jsxs(ie,{...C,onRequestClose:h,draggable:u,children:[e.jsx(ue,{onRequestClose:h,header:n,headerText:t,closeButtonClassName:i}),e.jsx(o.Box,{spacing:f,indent:M,children:s}),p&&e.jsx(o.Box,{className:_(B.footer,{[B.stickyFooter]:!A}),children:p})]})},mt=({children:n})=>e.jsx(o.Column,{indent:2,spacing:2,children:n}),E=a.createContext(void 0);function z(n,{ref:t,modal:s,contentWrapperClassName:r,closingClassName:l,contentWrapperStyle:u,dialogStyle:h,divInsteadOfDialog:i,disableCloseOnClickOutside:p,elementId:A,onResolve:C,onReject:f,className:M,background:W,label:q,labelledby:T,describedby:H}){const ge=a.useRef(null),m=t??ge,[G,xe]=a.useReducer(d=>d+1,0),Z=a.useRef(null),v=a.useRef(null),b=a.useRef(void 0),L=a.useRef(!1),y=a.useRef(null),[ee,k]=a.useState(!1),[P,$]=a.useState(!1),[te,j]=a.useState(!1),R=n,he=a.useCallback(d=>{var c,g;return Z.current=new Promise((D,N)=>{v.current=D,y.current=N}),j(!1),k(!0),$(!0),xe(),L.current=!1,b.current=d,s?(c=m.current)==null||c.showModal():(g=m.current)==null||g.show(),Z.current},[m,s]),ne=a.useCallback(d=>{var c;L.current=!0,j(!0),k(!1),i?setTimeout(()=>{var g;j(!1),$(!1),(g=v.current)==null||g.call(v,d),b.current=void 0,C==null||C()},300):(c=m.current)==null||c.addEventListener("animationend",g=>{var D,N;g.stopPropagation(),j(!1),$(!1),(D=m.current)==null||D.close(),(N=v.current)==null||N.call(v,d),b.current=void 0,C==null||C()},{once:!0})},[m,C,i]),I=a.useCallback(d=>{var c;L.current=!0,j(!0),k(!1),i?setTimeout(()=>{var g;j(!1),$(!1),(g=y.current)==null||g.call(y,d),f==null||f(),b.current=void 0},300):(c=m.current)==null||c.addEventListener("animationend",g=>{var D,N;g.stopPropagation(),j(!1),$(!1),(D=m.current)==null||D.close(),(N=y.current)==null||N.call(y,d),f==null||f(),b.current=void 0},{once:!0})},[m,i,f]),se=a.useCallback(d=>{var c;d.stopPropagation(),L.current||(j(!1),k(!1),$(!1),(c=y.current)==null||c.call(y),f==null||f(),b.current=void 0)},[f]),oe=a.useCallback(d=>{if(d.target!==m.current)return;const c=m.current.getBoundingClientRect();c.top<=d.clientY&&d.clientY<=c.top+c.height&&c.left<=d.clientX&&d.clientX<=c.left+c.width||I()},[m,I]),V=a.useMemo(()=>({resolve:ne,reject:I}),[I,ne]);return[a.useMemo(()=>i?e.jsx(de,{isOpen:ee,onRequestClose:I,background:W,contentLabel:q,id:A,aria:{modal:!0,labelledby:T,describedby:H},children:e.jsx(E.Provider,{value:V,children:P&&a.createElement(R,{...b.current,key:G})})}):e.jsx("dialog",{onClick:p?void 0:oe,onClose:se,ref:m,id:A,className:_(M,te&&l),"aria-label":q,"aria-labelledby":T,"aria-describedby":H,style:{background:W,...h},children:e.jsx("div",{style:u,className:r,children:P&&e.jsx(E.Provider,{value:V,children:a.createElement(R,{...b.current,key:G})})})}),[i,ee,I,W,q,A,T,H,V,P,R,G,p,oe,se,m,M,te,l,h,u,r]),{show:he,reject:I}]}const ft=()=>{const n=a.useContext(E);if(n==null)throw new Error("useDialogPromise is being used outside of dialog.");return n},gt="_alertDialog_14t8t_1",xt="_slideIn_14t8t_1",ht="_closing_14t8t_22",pt="_slideOut_14t8t_1",yt="_fadeIn_14t8t_1",Ct="_fadeOut_14t8t_1",Y={alertDialog:gt,slideIn:xt,closing:ht,slideOut:pt,fadeIn:yt,fadeOut:Ct};function wt(n,t){return z(n,{...t,modal:!0,closingClassName:_(t==null?void 0:t.closingClassName,Y.closing),contentWrapperClassName:_(t==null?void 0:t.contentWrapperClassName,Y.contentWrapper),className:_(t==null?void 0:t.className,Y.alertDialog)})}const bt="_drawerDialog_11g6r_1",jt="_left_11g6r_13",vt="_right_11g6r_14",It="_contentWrapper_11g6r_19",Dt="_slideInLeft_11g6r_1",Nt="_closing_11g6r_36",Ot="_slideOutLeft_11g6r_1",$t="_slideInRight_11g6r_1",Bt="_slideOutRight_11g6r_1",Ft="_top_11g6r_54",At="_bottom_11g6r_55",Mt="_slideInTop_11g6r_1",Lt="_slideOutTop_11g6r_1",kt="_slideInBottom_11g6r_1",St="_slideOutBottom_11g6r_1",S={drawerDialog:bt,left:jt,right:vt,contentWrapper:It,slideInLeft:Dt,closing:Nt,slideOutLeft:Ot,slideInRight:$t,slideOutRight:Bt,top:Ft,bottom:At,slideInTop:Mt,slideOutTop:Lt,slideInBottom:kt,slideOutBottom:St};function Et(n,t="left",s){return z(n,{...s,disableCloseOnClickOutside:!0,modal:!1,closingClassName:_(s==null?void 0:s.closingClassName,S.closing),contentWrapperClassName:_(s==null?void 0:s.contentWrapperClassName,S.contentWrapper),className:_(s==null?void 0:s.className,S.drawerDialog,S[t])})}const zt="_modalDialog_iw29e_1",Wt="_slideIn_iw29e_1",qt="_closing_iw29e_37",Tt="_slideOut_iw29e_1",Ht="_fadeIn_iw29e_1",Gt="_fadeOut_iw29e_1",Pt="_contentWrapper_iw29e_101",J={modalDialog:zt,slideIn:Wt,closing:qt,slideOut:Tt,fadeIn:Ht,fadeOut:Gt,contentWrapper:Pt};function Rt(n,t){return z(n,{...t,modal:!0,closingClassName:_(t==null?void 0:t.closingClassName,J.closing),contentWrapperClassName:_(t==null?void 0:t.contentWrapperClassName,J.contentWrapper),className:_(t==null?void 0:t.className,J.modalDialog)})}const U=({headingLevel:n="h2",size:t="medium",children:s})=>e.jsx(o.Heading,{variant:t==="medium"?"h3":"h1",as:n,children:s}),Vt="_modalActionButtons_s27nj_1",Xt={modalActionButtons:Vt},_e=({children:n})=>e.jsxs(o.Box,{width:"100%",children:[e.jsx(o.Spacing,{}),e.jsx("div",{className:Xt.modalActionButtons,children:n})]}),Yt="_modalBody_ozynq_1",le={modalBody:Yt},me=({gap:n=3,variant:t="normal",className:s,...r})=>e.jsx(o.Column,{className:_(le.modalBody,le[t],s),indent:t==="relaxed"?5:3,spacing:t==="relaxed"?5:3,gap:n,...r}),fe=({children:n,maxWidth:t})=>e.jsx(o.Column,{flex:1,height:"100%",justifyContent:"space-between",maxWidth:t,children:n}),Jt=({icon:n,buttons:t,heading:s,text:r,children:l,maxWidth:u,minWidth:h})=>e.jsx(fe,{children:e.jsxs(me,{flexDirection:"column",alignItems:"center",maxWidth:u,minWidth:h,children:[n&&e.jsx(w.CircledIcon,{icon:n,size:"large"}),e.jsx(U,{children:s}),r&&e.jsx(o.Text,{textAlign:"center",children:r}),l,t&&e.jsx(_e,{children:t})]})}),Kt=n=>e.jsx(w.FlatButton,{size:"large",variant:"danger",leftIcon:w.stenaTimesThick,...n}),Qt=({heading:n,headingLevel:t,headingSize:s,onClickClose:r,closeButtonAriaLabel:l})=>e.jsx(o.Column,{children:e.jsxs(o.Row,{justifyContent:"space-between",alignItems:"center",gap:2,children:[n?e.jsx(U,{headingLevel:t,size:s,children:n}):e.jsx("div",{}),r?e.jsx(Kt,{onClick:r,size:s,"aria-label":l}):null]})}),Ut="_modalFooter_1vp0i_1",Zt="_sticky_1vp0i_9",ce={modalFooter:Ut,sticky:Zt},en=({children:n,sticky:t,zIndex:s=4,gap:r=2,className:l,...u})=>e.jsx(o.Row,{className:_(ce.modalFooter,t&&ce.sticky,l),shadow:"var(--swui-sticky-footer-shadow)",zIndex:s,...u,children:e.jsx(o.Row,{gap:r,spacing:2,alignItems:"center",children:n})});exports.Alert=Qe;exports.BaseWindow=ie;exports.DRAGGABLE_CANCEL_CLASSNAME=Q;exports.DRAGGABLE_HANDLE_CLASSNAME=K;exports.DialogContext=E;exports.Drawer=We;exports.DrawerHeader=Te;exports.InfoAlert=Jt;exports.LoadingModal=ut;exports.Modal=de;exports.ModalActionButtons=_e;exports.ModalBody=me;exports.ModalContainer=fe;exports.ModalFooter=en;exports.ModalHeader=Qt;exports.ModalHeading=U;exports.Window=_t;exports.WindowFooter=mt;exports.WindowHeader=ue;exports.setupDeclarativeModals=Ce;exports.useAlertDialog=wt;exports.useDialog=z;exports.useDialogPromise=ft;exports.useDrawerDialog=Et;exports.useModalDialog=Rt;
|
|
2
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("react-modal"),e=require("react/jsx-runtime"),a=require("react"),ye=require("react-draggable"),d=require("classnames"),o=require("@stenajs-webui/core"),b=require("@stenajs-webui/elements"),Ce=require("@stenajs-webui/theme"),we=n=>{A.setAppElement(n)},be="_overlay_quvmp_1",je="_fadeIn_quvmp_1",ve="_modal_quvmp_31",Ie="_content_quvmp_41",De="_appear_quvmp_1",Ne="_isDraggable_quvmp_70",Oe="_footer_quvmp_101",$e="_stickyFooter_quvmp_105",F={overlay:be,fadeIn:je,modal:ve,content:Ie,appear:De,isDraggable:Ne,footer:Oe,stickyFooter:$e},K="draggable-modal-handle",Q="draggable-modal-cancel",ie=({width:n,maxWidth:t,draggable:s=!1,children:r,...l})=>{const u=a.useRef(null);return e.jsx(A,{overlayClassName:F.overlay,className:F.modal,...l,children:e.jsx(ye,{handle:`.${K}`,cancel:`.${Q}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!s,nodeRef:u,children:e.jsx("div",{style:{"--swui-modal-width":n,"--swui-modal-max-width":t},className:d(F.content,{[F.isDraggable]:s}),ref:u,children:r})})})},Be="_portal_17ze5_1",Fe="_overlay_17ze5_4",Ae="_content_17ze5_9",Me="_floating_17ze5_15",Le="_slideFromLeft_17ze5_29",ke="_slideFromRight_17ze5_30",Se="_afterOpen_17ze5_36",Ee="_beforeClose_17ze5_40",ze="_slideFromTop_17ze5_45",We="_slideFromBottom_17ze5_46",x={portal:Be,overlay:Fe,content:Ae,floating:Me,slideFromLeft:Le,slideFromRight:ke,afterOpen:Se,beforeClose:Ee,slideFromTop:ze,slideFromBottom:We},qe=({background:n,zIndex:t,children:s,slideFrom:r="left",portalTarget:l,floating:u,...h})=>{const{height:p,width:w}=h;return e.jsx(A,{closeTimeoutMS:250,portalClassName:x.portal,overlayClassName:{base:x.overlay,afterOpen:x.afterOpen,beforeClose:x.beforeClose},className:{base:d(x.content,Te(r),u&&x.floating),afterOpen:x.afterOpen,beforeClose:x.beforeClose},style:{content:{width:w,height:p,background:n},overlay:{zIndex:t}},parentSelector:l?()=>l:void 0,...h,children:s})},Te=n=>{switch(n){case"left":return x.slideFromLeft;case"right":return x.slideFromRight;case"top":return x.slideFromTop;case"bottom":return x.slideFromBottom;default:return o.exhaustSwitchCase(n,x.slideFromLeft)}},He=({header:n,contentRight:t,onRequestClose:s,icon:r})=>e.jsx(o.Spacing,{position:"sticky",top:0,zIndex:100,background:Ce.cssColor("--lhds-color-ui-50"),children:e.jsxs(o.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[e.jsxs(o.Row,{alignItems:"center",gap:2,children:[e.jsx(o.Space,{num:1}),r&&e.jsx(b.Icon,{icon:r,size:24}),e.jsx(o.Heading,{variant:"h4",children:n})]}),e.jsxs(o.Row,{gap:1,children:[t,e.jsx(b.FlatButton,{leftIcon:b.stenaTimes,onClick:s,variant:"danger"}),e.jsx(o.Space,{num:.5})]})]})}),Ge="_overlay_1gix5_1",Pe="_fadeIn_1gix5_1",Re="_modal_1gix5_31",Ve="_content_1gix5_38",Xe="_appear_1gix5_1",Ye="_isDraggable_1gix5_61",Je="_footer_1gix5_92",Ke="_stickyFooter_1gix5_96",X={overlay:Ge,fadeIn:Pe,modal:Re,content:Ve,appear:Xe,isDraggable:Ye,footer:Je,stickyFooter:Ke},Qe={overlay:{justifyContent:"center"}},Ue=({children:n,...t})=>e.jsx(A,{overlayClassName:X.overlay,className:X.modal,style:Qe,...t,children:e.jsx("div",{className:X.content,style:{"--swui-modal-width":"fit-content"},children:n})}),Ze="_overlay_nbrrn_1",et="_afterOpen_nbrrn_24",tt="_beforeClose_nbrrn_24",nt="_fadeIn_nbrrn_1",st="_fadeOut_nbrrn_1",ot="_modal_nbrrn_36",rt="_slideIn_nbrrn_1",at="_slideOut_nbrrn_1",lt="_content_nbrrn_59",ct="_footer_nbrrn_149",it="_stickyFooter_nbrrn_153",$={overlay:Ze,afterOpen:et,beforeClose:tt,fadeIn:nt,fadeOut:st,modal:ot,slideIn:rt,slideOut:at,content:lt,footer:ct,stickyFooter:it},re=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),de=({children:n,background:t,className:s,overlayClassName:r,...l})=>{const u=a.useRef(null),[h,p]=a.useState(re?"auto":void 0),w={overlay:{justifyContent:"center"},content:{"--swui-modal-content-bg-color":t}},y=o.useEventCallback(()=>{if(!re)return;const m=u.current;m&&p(m.scrollHeight>m.clientHeight?"stable":"auto")});return a.useEffect(()=>(window.addEventListener("resize",y),document.addEventListener("DOMContentLoaded",y),()=>{window.removeEventListener("resize",y),document.removeEventListener("DOMContentLoaded",y)}),[y]),e.jsx(A,{overlayClassName:{base:d(r,$.overlay),beforeClose:$.beforeClose,afterOpen:$.afterOpen},className:{base:d(s,$.modal),beforeClose:$.beforeClose,afterOpen:$.afterOpen},style:w,closeTimeoutMS:250,onAfterOpen:y,...l,children:e.jsx("div",{className:$.content,style:{"--swui-modal-width":"fit-content",scrollbarGutter:h},ref:u,children:n})})},dt="_modal_4fwgb_1",ut="_overlay_4fwgb_13",ae={modal:dt,overlay:ut},_t=({headerIconLeft:n,headerText:t,shouldCloseOnOverlayClick:s=!1,shouldCloseOnEsc:r=!1,...l})=>e.jsx(A,{...l,isOpen:!0,shouldCloseOnOverlayClick:s,shouldCloseOnEsc:r,className:ae.modal,overlayClassName:ae.overlay,children:e.jsxs(o.Column,{spacing:2,alignItems:"center",children:[e.jsx(o.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:e.jsx(b.Spinner,{size:"small"})}),(n||t)&&e.jsxs(e.Fragment,{children:[e.jsx(o.Spacing,{}),e.jsxs(o.Row,{indent:2,children:[n&&e.jsxs(e.Fragment,{children:[e.jsx(b.Icon,{size:14,icon:n,color:"white"}),e.jsx(o.Indent,{})]}),t&&e.jsx(o.Heading,{variant:"h4",color:"white",children:t})]})]})]})}),ue=({onRequestClose:n,header:t,headerText:s,closeButtonClassName:r})=>e.jsxs(o.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:K,children:[e.jsxs(o.Row,{flex:1,indent:!0,alignItems:"center",children:[s&&e.jsx(o.Txt,{className:Q,size:"large",children:s}),t]}),e.jsx(o.Box,{alignSelf:"flex-start",children:e.jsx(b.CloseButton,{className:r,onClick:n})})]}),mt=({header:n,headerText:t,children:s,spacing:r,indent:l,draggable:u=!1,onRequestClose:h,closeButtonClassName:p,footer:w,disableStickyFooter:y=!1,...m})=>{const f=typeof r=="number"?r:1,M=typeof l=="number"?l:1;return e.jsxs(ie,{...m,onRequestClose:h,draggable:u,children:[e.jsx(ue,{onRequestClose:h,header:n,headerText:t,closeButtonClassName:p}),e.jsx(o.Box,{spacing:f,indent:M,children:s}),w&&e.jsx(o.Box,{className:d(F.footer,{[F.stickyFooter]:!y}),children:w})]})},ft=({children:n})=>e.jsx(o.Column,{indent:2,spacing:2,children:n}),E=a.createContext(void 0);function z(n,{ref:t,modal:s,contentWrapperClassName:r,closingClassName:l,contentWrapperStyle:u,dialogStyle:h,divInsteadOfDialog:p,disableCloseOnClickOutside:w,elementId:y,onResolve:m,onReject:f,className:M,background:W,label:q,labelledby:T,describedby:H}){const xe=a.useRef(null),_=t??xe,[G,he]=a.useReducer(i=>i+1,0),Z=a.useRef(null),I=a.useRef(null),j=a.useRef(void 0),L=a.useRef(!1),C=a.useRef(null),[ee,k]=a.useState(!1),[P,B]=a.useState(!1),[te,v]=a.useState(!1),R=n,pe=a.useCallback(i=>{var c,g;return Z.current=new Promise((N,O)=>{I.current=N,C.current=O}),v(!1),k(!0),B(!0),he(),L.current=!1,j.current=i,s?(c=_.current)==null||c.showModal():(g=_.current)==null||g.show(),Z.current},[_,s]),ne=a.useCallback(i=>{var c;L.current=!0,v(!0),k(!1),p?setTimeout(()=>{var g;v(!1),B(!1),(g=I.current)==null||g.call(I,i),j.current=void 0,m==null||m()},300):(c=_.current)==null||c.addEventListener("animationend",g=>{var N,O;g.stopPropagation(),v(!1),B(!1),(N=_.current)==null||N.close(),(O=I.current)==null||O.call(I,i),j.current=void 0,m==null||m()},{once:!0})},[_,m,p]),D=a.useCallback(i=>{var c;L.current=!0,v(!0),k(!1),p?setTimeout(()=>{var g;v(!1),B(!1),(g=C.current)==null||g.call(C,i),f==null||f(),j.current=void 0},300):(c=_.current)==null||c.addEventListener("animationend",g=>{var N,O;g.stopPropagation(),v(!1),B(!1),(N=_.current)==null||N.close(),(O=C.current)==null||O.call(C,i),f==null||f(),j.current=void 0},{once:!0})},[_,p,f]),se=a.useCallback(i=>{var c;i.stopPropagation(),L.current||(v(!1),k(!1),B(!1),(c=C.current)==null||c.call(C),f==null||f(),j.current=void 0)},[f]),oe=a.useCallback(i=>{if(i.target!==_.current)return;const c=_.current.getBoundingClientRect();c.top<=i.clientY&&i.clientY<=c.top+c.height&&c.left<=i.clientX&&i.clientX<=c.left+c.width||D()},[_,D]),V=a.useMemo(()=>({resolve:ne,reject:D}),[D,ne]);return[a.useMemo(()=>p?e.jsx(de,{isOpen:ee,onRequestClose:D,background:W,contentLabel:q,id:y,aria:{modal:!0,labelledby:T,describedby:H},children:e.jsx(E.Provider,{value:V,children:P&&a.createElement(R,{...j.current,key:G})})}):e.jsx("dialog",{onClick:w?void 0:oe,onClose:se,ref:_,id:y,className:d(M,te&&l),"aria-label":q,"aria-labelledby":T,"aria-describedby":H,style:{background:W,...h},children:e.jsx("div",{style:u,className:r,children:P&&e.jsx(E.Provider,{value:V,children:a.createElement(R,{...j.current,key:G})})})}),[p,ee,D,W,q,y,T,H,V,P,R,G,w,oe,se,_,M,te,l,h,u,r]),{show:pe,reject:D}]}const gt=()=>{const n=a.useContext(E);if(n==null)throw new Error("useDialogPromise is being used outside of dialog.");return n},xt="_alertDialog_14t8t_1",ht="_slideIn_14t8t_1",pt="_closing_14t8t_22",yt="_slideOut_14t8t_1",Ct="_fadeIn_14t8t_1",wt="_fadeOut_14t8t_1",Y={alertDialog:xt,slideIn:ht,closing:pt,slideOut:yt,fadeIn:Ct,fadeOut:wt};function bt(n,t){return z(n,{...t,modal:!0,closingClassName:d(t==null?void 0:t.closingClassName,Y.closing),contentWrapperClassName:d(t==null?void 0:t.contentWrapperClassName,Y.contentWrapper),className:d(t==null?void 0:t.className,Y.alertDialog)})}const jt="_drawerDialog_11g6r_1",vt="_left_11g6r_13",It="_right_11g6r_14",Dt="_contentWrapper_11g6r_19",Nt="_slideInLeft_11g6r_1",Ot="_closing_11g6r_36",$t="_slideOutLeft_11g6r_1",Bt="_slideInRight_11g6r_1",Ft="_slideOutRight_11g6r_1",At="_top_11g6r_54",Mt="_bottom_11g6r_55",Lt="_slideInTop_11g6r_1",kt="_slideOutTop_11g6r_1",St="_slideInBottom_11g6r_1",Et="_slideOutBottom_11g6r_1",S={drawerDialog:jt,left:vt,right:It,contentWrapper:Dt,slideInLeft:Nt,closing:Ot,slideOutLeft:$t,slideInRight:Bt,slideOutRight:Ft,top:At,bottom:Mt,slideInTop:Lt,slideOutTop:kt,slideInBottom:St,slideOutBottom:Et};function zt(n,t="left",s){return z(n,{...s,disableCloseOnClickOutside:!0,modal:!1,closingClassName:d(s==null?void 0:s.closingClassName,S.closing),contentWrapperClassName:d(s==null?void 0:s.contentWrapperClassName,S.contentWrapper),className:d(s==null?void 0:s.className,S.drawerDialog,S[t])})}const Wt="_modalDialog_iw29e_1",qt="_slideIn_iw29e_1",Tt="_closing_iw29e_37",Ht="_slideOut_iw29e_1",Gt="_fadeIn_iw29e_1",Pt="_fadeOut_iw29e_1",Rt="_contentWrapper_iw29e_101",J={modalDialog:Wt,slideIn:qt,closing:Tt,slideOut:Ht,fadeIn:Gt,fadeOut:Pt,contentWrapper:Rt};function Vt(n,t){return z(n,{...t,modal:!0,closingClassName:d(t==null?void 0:t.closingClassName,J.closing),contentWrapperClassName:d(t==null?void 0:t.contentWrapperClassName,J.contentWrapper),className:d(t==null?void 0:t.className,J.modalDialog)})}const U=({headingLevel:n="h2",size:t="medium",children:s})=>e.jsx(o.Heading,{variant:t==="medium"?"h3":"h1",as:n,children:s}),Xt="_modalActionButtons_s27nj_1",Yt={modalActionButtons:Xt},_e=({children:n})=>e.jsxs(o.Box,{width:"100%",children:[e.jsx(o.Spacing,{}),e.jsx("div",{className:Yt.modalActionButtons,children:n})]}),Jt="_modalBody_ozynq_1",le={modalBody:Jt},me=({gap:n=3,variant:t="normal",className:s,...r})=>e.jsx(o.Column,{className:d(le.modalBody,le[t],s),indent:t==="relaxed"?5:3,spacing:t==="relaxed"?5:3,gap:n,...r}),fe=({children:n,maxWidth:t})=>e.jsx(o.Column,{flex:1,height:"100%",justifyContent:"space-between",maxWidth:t,children:n}),Kt=({icon:n,buttons:t,heading:s,text:r,children:l,maxWidth:u,minWidth:h})=>e.jsx(fe,{children:e.jsxs(me,{flexDirection:"column",alignItems:"center",maxWidth:u,minWidth:h,children:[n&&e.jsx(b.CircledIcon,{icon:n,size:"large"}),e.jsx(U,{children:s}),r&&e.jsx(o.Text,{textAlign:"center",children:r}),l,t&&e.jsx(_e,{children:t})]})}),ge=n=>e.jsx(b.FlatButton,{size:"large",variant:"danger",leftIcon:b.stenaTimesThick,...n}),Qt=({heading:n,headingLevel:t,headingSize:s,onClickClose:r,closeButtonAriaLabel:l})=>e.jsx(o.Column,{children:e.jsxs(o.Row,{justifyContent:"space-between",alignItems:"center",gap:2,children:[n?e.jsx(U,{headingLevel:t,size:s,children:n}):e.jsx("div",{}),r?e.jsx(ge,{onClick:r,size:s,"aria-label":l}):null]})}),Ut="_modalFooter_1vp0i_1",Zt="_sticky_1vp0i_9",ce={modalFooter:Ut,sticky:Zt},en=({children:n,sticky:t,zIndex:s=4,gap:r=2,className:l,...u})=>e.jsx(o.Row,{className:d(ce.modalFooter,t&&ce.sticky,l),shadow:"var(--swui-sticky-footer-shadow)",zIndex:s,...u,children:e.jsx(o.Row,{gap:r,spacing:2,alignItems:"center",children:n})});exports.Alert=Ue;exports.BaseWindow=ie;exports.DRAGGABLE_CANCEL_CLASSNAME=Q;exports.DRAGGABLE_HANDLE_CLASSNAME=K;exports.DialogContext=E;exports.Drawer=qe;exports.DrawerHeader=He;exports.InfoAlert=Kt;exports.LoadingModal=_t;exports.Modal=de;exports.ModalActionButtons=_e;exports.ModalBody=me;exports.ModalCloseButton=ge;exports.ModalContainer=fe;exports.ModalFooter=en;exports.ModalHeader=Qt;exports.ModalHeading=U;exports.Window=mt;exports.WindowFooter=ft;exports.WindowHeader=ue;exports.setupDeclarativeModals=we;exports.useAlertDialog=bt;exports.useDialog=z;exports.useDialogPromise=gt;exports.useDrawerDialog=zt;exports.useModalDialog=Vt;
|
|
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/building-blocks/ModalContainer.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalCloseButton.tsx","../src/building-blocks/ModalHeader.tsx","../src/building-blocks/ModalFooter.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<HTMLDivElement>(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 as React.RefObject<HTMLElement>}\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\nexport interface 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\nexport interface 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 { CSSProperties, useEffect, useRef, useState } from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\nimport { useEventCallback } from \"@stenajs-webui/core\";\n\nexport interface ModalProps extends ReactModal.Props {\n background?: string;\n onRequestClose?: () => void;\n}\n\nconst isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n background,\n ...reactModalProps\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n\n const [scrollbarGutter, setScrollbarGutter] = useState<\n \"auto\" | \"stable\" | undefined\n >(isSafari ? \"auto\" : undefined);\n\n const style = {\n overlay: { justifyContent: \"center\" },\n content: {\n \"--swui-modal-content-bg-color\": background,\n } as CSSProperties,\n };\n\n const updateScrollbarGutter = useEventCallback(() => {\n if (!isSafari) {\n return;\n }\n\n const container = ref.current;\n if (container) {\n setScrollbarGutter(\n container.scrollHeight > container.clientHeight ? \"stable\" : \"auto\",\n );\n }\n });\n\n /**\n * Applying scrollbar-gutter fixes a glitch in Safari where redraw\n * sometimes makes the modal change width (with or without gutter included in size calculation).\n * This causes the modal to jump around when hovering with mouse or resizing window.\n *\n * If this glitch is fixed in Safari, this code can be removed.\n */\n\n useEffect(() => {\n window.addEventListener(\"resize\", updateScrollbarGutter);\n document.addEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n return () => {\n window.removeEventListener(\"resize\", updateScrollbarGutter);\n document.removeEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n };\n }, [updateScrollbarGutter]);\n\n return (\n <ReactModal\n overlayClassName={{\n base: styles.overlay,\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n className={{\n base: styles.modal,\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n style={style}\n closeTimeoutMS={250}\n onAfterOpen={updateScrollbarGutter}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{\n [\"--swui-modal-width\" as string]: \"fit-content\",\n scrollbarGutter,\n }}\n ref={ref}\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\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined,\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n MouseEventHandler,\n ReactEventHandler,\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, DialogContextValue } from \"./DialogContext\";\nimport { Modal } from \"../declarative-modals/modal/Modal\";\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 divInsteadOfDialog?: boolean;\n elementId?: string;\n background?: string;\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 | null>;\n onResolve?: () => void;\n onReject?: () => void;\n /**\n * Sets aria-label on modal or dialog element.\n */\n label?: string;\n /**\n * Sets aria-labelledby on modal or dialog element.\n */\n labelledby?: string;\n /**\n * Sets aria-describedby on modal or dialog element.\n */\n describedby?: string;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n {\n ref,\n modal,\n contentWrapperClassName,\n closingClassName,\n contentWrapperStyle,\n dialogStyle,\n divInsteadOfDialog,\n disableCloseOnClickOutside,\n elementId,\n onResolve,\n onReject,\n className,\n background,\n label,\n labelledby,\n describedby,\n }: DialogOptions,\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>(null);\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>(null);\n const modalComponentProps = useRef<TProps>(undefined);\n const closedByPromiseRef = useRef<boolean>(false);\n const rejectRef = useRef<RejectCommand | undefined>(null);\n /**\n * Used by Modal to control open/close with animation.\n */\n const [isOpen, setIsOpen] = useState(false);\n /**\n * Used by both Modal and dialog to decide if content is visible. When props is cleared, we can not render content that requires props.\n */\n const [contentVisible, setContentVisible] = useState(false);\n /**\n * Used by dialog to know if it is currently animating to closed state.\n */\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 setIsOpen(true);\n setContentVisible(true);\n forceRerender();\n closedByPromiseRef.current = false;\n modalComponentProps.current = props;\n if (modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, modal],\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n }, 300);\n }\n },\n [currentRef, onResolve, divInsteadOfDialog],\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n }, 300);\n }\n },\n [currentRef, divInsteadOfDialog, onReject],\n );\n\n const onClose = useCallback<ReactEventHandler<HTMLDialogElement>>(\n (ev) => {\n // Remove content immediately, since it cannot be animated when closed by browser.\n ev.stopPropagation();\n if (!closedByPromiseRef.current) {\n setClosing(false);\n setIsOpen(false);\n setContentVisible(false);\n rejectRef.current?.();\n onReject?.();\n modalComponentProps.current = undefined;\n }\n },\n [onReject],\n );\n\n const onClick = useCallback<MouseEventHandler<HTMLDialogElement>>(\n (e) => {\n if (e.target !== currentRef.current) {\n return;\n }\n\n const rect = currentRef.current.getBoundingClientRect();\n\n const clickedInsideDialog =\n rect.top <= e.clientY &&\n e.clientY <= rect.top + rect.height &&\n rect.left <= e.clientX &&\n e.clientX <= rect.left + rect.width;\n\n if (!clickedInsideDialog) {\n reject();\n }\n },\n [currentRef, reject],\n );\n\n const contextValue = useMemo(\n () => ({ resolve, reject }) as DialogContextValue<unknown>,\n [reject, resolve],\n );\n\n const element = useMemo<ReactNode>(\n () =>\n divInsteadOfDialog ? (\n <Modal\n isOpen={isOpen}\n onRequestClose={reject}\n background={background}\n contentLabel={label}\n id={elementId}\n aria={{ modal: true, labelledby, describedby }}\n >\n <DialogContext.Provider value={contextValue}>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </DialogContext.Provider>\n </Modal>\n ) : (\n <dialog\n onClick={disableCloseOnClickOutside ? undefined : onClick}\n onClose={onClose}\n ref={currentRef}\n id={elementId}\n className={cx(className, closing && closingClassName)}\n aria-label={label}\n aria-labelledby={labelledby}\n aria-describedby={describedby}\n style={{ background: background, ...dialogStyle }}\n >\n <div style={contentWrapperStyle} className={contentWrapperClassName}>\n {contentVisible && (\n <DialogContext.Provider value={contextValue}>\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n </DialogContext.Provider>\n )}\n </div>\n </dialog>\n ),\n [\n divInsteadOfDialog,\n isOpen,\n reject,\n background,\n label,\n elementId,\n labelledby,\n describedby,\n contextValue,\n contentVisible,\n Comp,\n key,\n disableCloseOnClickOutside,\n onClick,\n onClose,\n currentRef,\n className,\n closing,\n closingClassName,\n dialogStyle,\n contentWrapperStyle,\n contentWrapperClassName,\n ],\n );\n\n return [element, { 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, HeadingVariant } from \"@stenajs-webui/core\";\n\nexport type ModalHeadingSizeVariant = \"medium\" | \"large\";\n\nexport interface ModalHeadingProps {\n size?: ModalHeadingSizeVariant;\n children: string;\n headingLevel?: HeadingVariant;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({\n headingLevel = \"h2\",\n size = \"medium\",\n children,\n}) => {\n return (\n <Heading variant={size === \"medium\" ? \"h3\" : \"h1\"} as={headingLevel}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { Box, Spacing } from \"@stenajs-webui/core\";\n\nexport interface ModalActionButtonsProps extends PropsWithChildren {}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n children,\n}) => {\n return (\n <Box width={\"100%\"}>\n <Spacing />\n <div className={styles.modalActionButtons}>{children}</div>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport styles from \"./ModalBody.module.css\";\nimport cx from \"classnames\";\n\nexport type ModalBodyVariant = \"normal\" | \"relaxed\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {\n variant?: ModalBodyVariant;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({\n gap = 3,\n variant = \"normal\",\n className,\n ...props\n}) => {\n return (\n <Column\n className={cx(styles.modalBody, styles[variant], className)}\n indent={variant === \"relaxed\" ? 5 : 3}\n spacing={variant === \"relaxed\" ? 5 : 3}\n gap={gap}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport { PropsWithChildren } from \"react\";\n\nexport interface ModalContainerProps\n extends PropsWithChildren,\n Pick<BoxProps, \"maxWidth\"> {}\n\nexport const ModalContainer: React.FC<ModalContainerProps> = ({\n children,\n maxWidth,\n}) => {\n return (\n <Column\n flex={1}\n height={\"100%\"}\n justifyContent={\"space-between\"}\n maxWidth={maxWidth}\n >\n {children}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { CircledIcon, MediumIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\nimport { ModalContainer } from \"../building-blocks/ModalContainer\";\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 <ModalContainer>\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 && <ModalActionButtons>{buttons}</ModalActionButtons>}\n </ModalBody>\n </ModalContainer>\n );\n};\n","import * as React from \"react\";\nimport {\n FlatButton,\n FlatButtonProps,\n stenaTimesThick,\n} from \"@stenajs-webui/elements\";\n\nexport interface ModalCloseButtonProps extends FlatButtonProps {}\n\nexport const ModalCloseButton: React.FC<ModalCloseButtonProps> = (props) => {\n return (\n <FlatButton\n size={\"large\"}\n variant={\"danger\"}\n leftIcon={stenaTimesThick}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { Column, HeadingVariant, Row } from \"@stenajs-webui/core\";\nimport { ModalHeading, ModalHeadingSizeVariant } from \"./ModalHeading\";\nimport { ModalCloseButton } from \"./ModalCloseButton\";\n\nexport type ModalHeaderProps =\n | ModalHeaderWithCloseButtonProps\n | ModalHeaderWithNoCloseButtonProps;\n\nexport interface ModalHeaderCommonProps {\n heading?: string;\n headingSize?: ModalHeadingSizeVariant;\n headingLevel?: HeadingVariant;\n}\n\nexport interface ModalHeaderWithCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose?: never;\n closeButtonAriaLabel?: never;\n}\n\nexport interface ModalHeaderWithNoCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose: () => void;\n closeButtonAriaLabel: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n headingLevel,\n headingSize,\n onClickClose,\n closeButtonAriaLabel,\n}) => {\n return (\n <Column>\n <Row justifyContent={\"space-between\"} alignItems={\"center\"} gap={2}>\n {heading ? (\n <ModalHeading headingLevel={headingLevel} size={headingSize}>\n {heading}\n </ModalHeading>\n ) : (\n <div />\n )}\n {onClickClose ? (\n <ModalCloseButton\n onClick={onClickClose}\n size={headingSize}\n aria-label={closeButtonAriaLabel}\n />\n ) : null}\n </Row>\n </Column>\n );\n};\n","import { BoxProps, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./ModalFooter.module.css\";\nimport cx from \"classnames\";\n\nexport interface ModalFooterProps extends BoxProps {\n sticky?: boolean;\n gap?: number;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({\n children,\n sticky,\n zIndex = 4,\n gap = 2,\n className,\n ...boxProps\n}) => {\n return (\n <Row\n className={cx(styles.modalFooter, sticky && styles.sticky, className)}\n shadow={\"var(--swui-sticky-footer-shadow)\"}\n zIndex={zIndex}\n {...boxProps}\n >\n <Row gap={gap} spacing={2} alignItems={\"center\"}>\n {children}\n </Row>\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","isSafari","Modal","ref","scrollbarGutter","setScrollbarGutter","useState","updateScrollbarGutter","useEventCallback","container","useEffect","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","modal","contentWrapperClassName","closingClassName","contentWrapperStyle","dialogStyle","divInsteadOfDialog","disableCloseOnClickOutside","elementId","onResolve","onReject","className","label","labelledby","describedby","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","closedByPromiseRef","rejectRef","isOpen","setIsOpen","contentVisible","setContentVisible","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","ev","error","onClose","onClick","e","rect","contextValue","useMemo","createElement","useDialogPromise","context","useContext","useAlertDialog","options","useDrawerDialog","useModalDialog","ModalHeading","headingLevel","size","ModalActionButtons","ModalBody","gap","variant","ModalContainer","InfoAlert","buttons","heading","text","minWidth","CircledIcon","Text","ModalCloseButton","stenaTimesThick","ModalHeader","headingSize","onClickClose","closeButtonAriaLabel","ModalFooter","sticky","boxProps"],"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/building-blocks/ModalContainer.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalCloseButton.tsx","../src/building-blocks/ModalHeader.tsx","../src/building-blocks/ModalFooter.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<HTMLDivElement>(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 as React.RefObject<HTMLElement>}\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\nexport interface 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\nexport interface 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 { useEventCallback } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { CSSProperties, useEffect, useRef, useState } from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps\n extends Omit<ReactModal.Props, \"className\" | \"overlayClassName\"> {\n background?: string;\n onRequestClose?: () => void;\n className?: string;\n overlayClassName?: string;\n}\n\nconst isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n background,\n className,\n overlayClassName,\n ...reactModalProps\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n\n const [scrollbarGutter, setScrollbarGutter] = useState<\n \"auto\" | \"stable\" | undefined\n >(isSafari ? \"auto\" : undefined);\n\n const style = {\n overlay: { justifyContent: \"center\" },\n content: {\n \"--swui-modal-content-bg-color\": background,\n } as CSSProperties,\n };\n\n const updateScrollbarGutter = useEventCallback(() => {\n if (!isSafari) {\n return;\n }\n\n const container = ref.current;\n if (container) {\n setScrollbarGutter(\n container.scrollHeight > container.clientHeight ? \"stable\" : \"auto\",\n );\n }\n });\n\n /**\n * Applying scrollbar-gutter fixes a glitch in Safari where redraw\n * sometimes makes the modal change width (with or without gutter included in size calculation).\n * This causes the modal to jump around when hovering with mouse or resizing window.\n *\n * If this glitch is fixed in Safari, this code can be removed.\n */\n\n useEffect(() => {\n window.addEventListener(\"resize\", updateScrollbarGutter);\n document.addEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n return () => {\n window.removeEventListener(\"resize\", updateScrollbarGutter);\n document.removeEventListener(\"DOMContentLoaded\", updateScrollbarGutter);\n };\n }, [updateScrollbarGutter]);\n\n return (\n <ReactModal\n overlayClassName={{\n base: cx(overlayClassName, styles.overlay),\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n className={{\n base: cx(className, styles.modal),\n beforeClose: styles.beforeClose,\n afterOpen: styles.afterOpen,\n }}\n style={style}\n closeTimeoutMS={250}\n onAfterOpen={updateScrollbarGutter}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{\n [\"--swui-modal-width\" as string]: \"fit-content\",\n scrollbarGutter,\n }}\n ref={ref}\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\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined,\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n MouseEventHandler,\n ReactEventHandler,\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, DialogContextValue } from \"./DialogContext\";\nimport { Modal } from \"../declarative-modals/modal/Modal\";\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 divInsteadOfDialog?: boolean;\n elementId?: string;\n background?: string;\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 | null>;\n onResolve?: () => void;\n onReject?: () => void;\n /**\n * Sets aria-label on modal or dialog element.\n */\n label?: string;\n /**\n * Sets aria-labelledby on modal or dialog element.\n */\n labelledby?: string;\n /**\n * Sets aria-describedby on modal or dialog element.\n */\n describedby?: string;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n {\n ref,\n modal,\n contentWrapperClassName,\n closingClassName,\n contentWrapperStyle,\n dialogStyle,\n divInsteadOfDialog,\n disableCloseOnClickOutside,\n elementId,\n onResolve,\n onReject,\n className,\n background,\n label,\n labelledby,\n describedby,\n }: DialogOptions,\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>(null);\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>(null);\n const modalComponentProps = useRef<TProps>(undefined);\n const closedByPromiseRef = useRef<boolean>(false);\n const rejectRef = useRef<RejectCommand | undefined>(null);\n /**\n * Used by Modal to control open/close with animation.\n */\n const [isOpen, setIsOpen] = useState(false);\n /**\n * Used by both Modal and dialog to decide if content is visible. When props is cleared, we can not render content that requires props.\n */\n const [contentVisible, setContentVisible] = useState(false);\n /**\n * Used by dialog to know if it is currently animating to closed state.\n */\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 setIsOpen(true);\n setContentVisible(true);\n forceRerender();\n closedByPromiseRef.current = false;\n modalComponentProps.current = props;\n if (modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, modal],\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n onResolve?.();\n }, 300);\n }\n },\n [currentRef, onResolve, divInsteadOfDialog],\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n closedByPromiseRef.current = true;\n // Trigger closing animation.\n setClosing(true);\n setIsOpen(false);\n if (!divInsteadOfDialog) {\n currentRef.current?.addEventListener(\n \"animationend\",\n (ev) => {\n ev.stopPropagation();\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true },\n );\n } else {\n setTimeout(() => {\n setClosing(false);\n setContentVisible(false);\n rejectRef.current?.(error);\n onReject?.();\n modalComponentProps.current = undefined;\n }, 300);\n }\n },\n [currentRef, divInsteadOfDialog, onReject],\n );\n\n const onClose = useCallback<ReactEventHandler<HTMLDialogElement>>(\n (ev) => {\n // Remove content immediately, since it cannot be animated when closed by browser.\n ev.stopPropagation();\n if (!closedByPromiseRef.current) {\n setClosing(false);\n setIsOpen(false);\n setContentVisible(false);\n rejectRef.current?.();\n onReject?.();\n modalComponentProps.current = undefined;\n }\n },\n [onReject],\n );\n\n const onClick = useCallback<MouseEventHandler<HTMLDialogElement>>(\n (e) => {\n if (e.target !== currentRef.current) {\n return;\n }\n\n const rect = currentRef.current.getBoundingClientRect();\n\n const clickedInsideDialog =\n rect.top <= e.clientY &&\n e.clientY <= rect.top + rect.height &&\n rect.left <= e.clientX &&\n e.clientX <= rect.left + rect.width;\n\n if (!clickedInsideDialog) {\n reject();\n }\n },\n [currentRef, reject],\n );\n\n const contextValue = useMemo(\n () => ({ resolve, reject }) as DialogContextValue<unknown>,\n [reject, resolve],\n );\n\n const element = useMemo<ReactNode>(\n () =>\n divInsteadOfDialog ? (\n <Modal\n isOpen={isOpen}\n onRequestClose={reject}\n background={background}\n contentLabel={label}\n id={elementId}\n aria={{ modal: true, labelledby, describedby }}\n >\n <DialogContext.Provider value={contextValue}>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </DialogContext.Provider>\n </Modal>\n ) : (\n <dialog\n onClick={disableCloseOnClickOutside ? undefined : onClick}\n onClose={onClose}\n ref={currentRef}\n id={elementId}\n className={cx(className, closing && closingClassName)}\n aria-label={label}\n aria-labelledby={labelledby}\n aria-describedby={describedby}\n style={{ background: background, ...dialogStyle }}\n >\n <div style={contentWrapperStyle} className={contentWrapperClassName}>\n {contentVisible && (\n <DialogContext.Provider value={contextValue}>\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n </DialogContext.Provider>\n )}\n </div>\n </dialog>\n ),\n [\n divInsteadOfDialog,\n isOpen,\n reject,\n background,\n label,\n elementId,\n labelledby,\n describedby,\n contextValue,\n contentVisible,\n Comp,\n key,\n disableCloseOnClickOutside,\n onClick,\n onClose,\n currentRef,\n className,\n closing,\n closingClassName,\n dialogStyle,\n contentWrapperStyle,\n contentWrapperClassName,\n ],\n );\n\n return [element, { 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, HeadingVariant } from \"@stenajs-webui/core\";\n\nexport type ModalHeadingSizeVariant = \"medium\" | \"large\";\n\nexport interface ModalHeadingProps {\n size?: ModalHeadingSizeVariant;\n children: string;\n headingLevel?: HeadingVariant;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({\n headingLevel = \"h2\",\n size = \"medium\",\n children,\n}) => {\n return (\n <Heading variant={size === \"medium\" ? \"h3\" : \"h1\"} as={headingLevel}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { Box, Spacing } from \"@stenajs-webui/core\";\n\nexport interface ModalActionButtonsProps extends PropsWithChildren {}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n children,\n}) => {\n return (\n <Box width={\"100%\"}>\n <Spacing />\n <div className={styles.modalActionButtons}>{children}</div>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport styles from \"./ModalBody.module.css\";\nimport cx from \"classnames\";\n\nexport type ModalBodyVariant = \"normal\" | \"relaxed\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {\n variant?: ModalBodyVariant;\n}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({\n gap = 3,\n variant = \"normal\",\n className,\n ...props\n}) => {\n return (\n <Column\n className={cx(styles.modalBody, styles[variant], className)}\n indent={variant === \"relaxed\" ? 5 : 3}\n spacing={variant === \"relaxed\" ? 5 : 3}\n gap={gap}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Column } from \"@stenajs-webui/core\";\nimport { PropsWithChildren } from \"react\";\n\nexport interface ModalContainerProps\n extends PropsWithChildren,\n Pick<BoxProps, \"maxWidth\"> {}\n\nexport const ModalContainer: React.FC<ModalContainerProps> = ({\n children,\n maxWidth,\n}) => {\n return (\n <Column\n flex={1}\n height={\"100%\"}\n justifyContent={\"space-between\"}\n maxWidth={maxWidth}\n >\n {children}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { CircledIcon, MediumIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\nimport { ModalContainer } from \"../building-blocks/ModalContainer\";\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 <ModalContainer>\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 && <ModalActionButtons>{buttons}</ModalActionButtons>}\n </ModalBody>\n </ModalContainer>\n );\n};\n","import * as React from \"react\";\nimport {\n FlatButton,\n FlatButtonProps,\n stenaTimesThick,\n} from \"@stenajs-webui/elements\";\n\nexport interface ModalCloseButtonProps extends FlatButtonProps {}\n\nexport const ModalCloseButton: React.FC<ModalCloseButtonProps> = (props) => {\n return (\n <FlatButton\n size={\"large\"}\n variant={\"danger\"}\n leftIcon={stenaTimesThick}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { Column, HeadingVariant, Row } from \"@stenajs-webui/core\";\nimport { ModalHeading, ModalHeadingSizeVariant } from \"./ModalHeading\";\nimport { ModalCloseButton } from \"./ModalCloseButton\";\n\nexport type ModalHeaderProps =\n | ModalHeaderWithCloseButtonProps\n | ModalHeaderWithNoCloseButtonProps;\n\nexport interface ModalHeaderCommonProps {\n heading?: string;\n headingSize?: ModalHeadingSizeVariant;\n headingLevel?: HeadingVariant;\n}\n\nexport interface ModalHeaderWithCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose?: never;\n closeButtonAriaLabel?: never;\n}\n\nexport interface ModalHeaderWithNoCloseButtonProps\n extends ModalHeaderCommonProps {\n onClickClose: () => void;\n closeButtonAriaLabel: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n headingLevel,\n headingSize,\n onClickClose,\n closeButtonAriaLabel,\n}) => {\n return (\n <Column>\n <Row justifyContent={\"space-between\"} alignItems={\"center\"} gap={2}>\n {heading ? (\n <ModalHeading headingLevel={headingLevel} size={headingSize}>\n {heading}\n </ModalHeading>\n ) : (\n <div />\n )}\n {onClickClose ? (\n <ModalCloseButton\n onClick={onClickClose}\n size={headingSize}\n aria-label={closeButtonAriaLabel}\n />\n ) : null}\n </Row>\n </Column>\n );\n};\n","import { BoxProps, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./ModalFooter.module.css\";\nimport cx from \"classnames\";\n\nexport interface ModalFooterProps extends BoxProps {\n sticky?: boolean;\n gap?: number;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({\n children,\n sticky,\n zIndex = 4,\n gap = 2,\n className,\n ...boxProps\n}) => {\n return (\n <Row\n className={cx(styles.modalFooter, sticky && styles.sticky, className)}\n shadow={\"var(--swui-sticky-footer-shadow)\"}\n zIndex={zIndex}\n {...boxProps}\n >\n <Row gap={gap} spacing={2} alignItems={\"center\"}>\n {children}\n </Row>\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","isSafari","Modal","className","overlayClassName","ref","scrollbarGutter","setScrollbarGutter","useState","updateScrollbarGutter","useEventCallback","container","useEffect","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","modal","contentWrapperClassName","closingClassName","contentWrapperStyle","dialogStyle","divInsteadOfDialog","disableCloseOnClickOutside","elementId","onResolve","onReject","label","labelledby","describedby","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","closedByPromiseRef","rejectRef","isOpen","setIsOpen","contentVisible","setContentVisible","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","ev","error","onClose","onClick","e","rect","contextValue","useMemo","createElement","useDialogPromise","context","useContext","useAlertDialog","options","useDrawerDialog","useModalDialog","ModalHeading","headingLevel","size","ModalActionButtons","ModalBody","gap","variant","ModalContainer","InfoAlert","buttons","heading","text","minWidth","CircledIcon","Text","ModalCloseButton","stenaTimesThick","ModalHeader","headingSize","onClickClose","closeButtonAriaLabel","ModalFooter","sticky","boxProps"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/modal",
|
|
3
|
-
"version": "22.0.
|
|
3
|
+
"version": "22.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "mattias800",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"deploy": "gh-pages -d example/build"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@stenajs-webui/core": "22.0.
|
|
39
|
-
"@stenajs-webui/elements": "22.0.
|
|
40
|
-
"@stenajs-webui/theme": "22.0.
|
|
38
|
+
"@stenajs-webui/core": "22.0.2",
|
|
39
|
+
"@stenajs-webui/elements": "22.0.2",
|
|
40
|
+
"@stenajs-webui/theme": "22.0.2",
|
|
41
41
|
"@types/react-modal": "^3.16.3",
|
|
42
42
|
"classnames": "^2.5.1",
|
|
43
43
|
"react-draggable": "4.4.6",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"files": [
|
|
65
65
|
"dist"
|
|
66
66
|
],
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "ea34d20b547878a20b7ab286596098a4a707e3c0"
|
|
68
68
|
}
|