@stenajs-webui/modal 17.13.0 → 17.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,275 +1,242 @@
1
- (function(){ try {var elementStyle = document.createElement('style'); elementStyle.appendChild(document.createTextNode("._overlay_11kta_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-padding: var(--swui-metrics-space);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--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;padding:var(--swui-modal-padding);-webkit-animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both;animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1{background-color:#fff}}._overlay_11kta_1 ._modal_11kta_32{max-width:100%;outline:none;pointer-events:none}._overlay_11kta_1 ._content_11kta_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;width:var(--swui-modal-width);max-width:100%;-webkit-animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both;animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1 ._content_11kta_38{box-shadow:none;top:0}}._overlay_11kta_1 ._content_11kta_38 :focus{outline:0}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle{cursor:move}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle .draggable-modal-cancel,._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle [role=tooltip]{cursor:initial}@-webkit-keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@-webkit-keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}@keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}._footer_11kta_93{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_11kta_97{position:-webkit-sticky;position:sticky;bottom:calc(-1 * var(--swui-modal-padding));box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_11kta_97{position:static;box-shadow:none}}._portal_17quq_1 ._overlay_17quq_2{position:fixed;inset:0}._portal_17quq_1 ._content_17quq_7{box-shadow:var(--swui-shadow-modal);background:white;position:absolute;transition:-webkit-transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out,-webkit-transform var(--swui-animation-time-medium) ease-in-out}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{-webkit-transform:translateX(var(--translate-x-outside-screen, 0));transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._afterOpen_17quq_20{-webkit-transform:translateX(0);transform:translate(0)}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._beforeClose_17quq_24{-webkit-transform:translateX(var(--translate-x-outside-screen));transform:translate(var(--translate-x-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{-webkit-transform:translateY(var(--translate-y-outside-screen, 0));transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._afterOpen_17quq_20{-webkit-transform:translateY(0);transform:translateY(0)}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._beforeClose_17quq_24{-webkit-transform:translateY(var(--translate-y-outside-screen));transform:translateY(var(--translate-y-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13{--translate-x-outside-screen: -100%;width:370px;left:0}._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{--translate-x-outside-screen: 100%;width:370px;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29{--translate-y-outside-screen: -100%;height:370px;top:0}._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{--translate-y-outside-screen: 100%;height:370px;bottom:0}._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)}")); document.head.appendChild(elementStyle);} catch(e) {console.error('vite-plugin-css-injected-by-js', e);} })();import ReactModal from "react-modal";
2
- import Draggable from "react-draggable";
3
- import cx from "classnames";
4
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
5
- import { exhaustSwitchCase, Column, Box, Spacing, Row, Indent, Heading, Txt } from "@stenajs-webui/core";
6
- import { Spinner, Icon, FlatButton, stenaTimes } from "@stenajs-webui/elements";
7
- const overlay$2 = "_overlay_11kta_1";
8
- const fadeIn = "_fadeIn_11kta_1";
9
- const modal$1 = "_modal_11kta_32";
10
- const content$1 = "_content_11kta_38";
11
- const appear = "_appear_11kta_1";
12
- const isDraggable = "_isDraggable_11kta_60";
13
- const footer = "_footer_11kta_93";
14
- const stickyFooter = "_stickyFooter_11kta_97";
15
- var styles$2 = {
16
- overlay: overlay$2,
17
- fadeIn,
18
- modal: modal$1,
19
- content: content$1,
20
- appear,
21
- isDraggable,
22
- footer,
23
- stickyFooter
24
- };
25
- const DRAGGABLE_HANDLE_CLASSNAME = "draggable-modal-handle";
26
- const DRAGGABLE_CANCEL_CLASSNAME = "draggable-modal-cancel";
27
- const BaseModal = ({
28
- width,
29
- draggable = false,
30
- children,
31
- ...reactModalProps
32
- }) => {
33
- return /* @__PURE__ */ jsx(ReactModal, {
34
- overlayClassName: styles$2.overlay,
35
- className: styles$2.modal,
36
- ...reactModalProps,
37
- children: /* @__PURE__ */ jsx(Draggable, {
38
- handle: `.${DRAGGABLE_HANDLE_CLASSNAME}`,
39
- cancel: `.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role="tooltip"]`,
40
- bounds: ".ReactModal__Overlay",
41
- disabled: !draggable,
42
- children: /* @__PURE__ */ jsx("div", {
43
- style: {
44
- ["--swui-modal-width"]: width
45
- },
46
- className: cx(styles$2.content, {
47
- [styles$2.isDraggable]: draggable
48
- }),
49
- children
50
- })
1
+ (function(){"use strict";try{var t=document.createElement("style");t.appendChild(document.createTextNode("._overlay_11kta_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-padding: var(--swui-metrics-space);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--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;padding:var(--swui-modal-padding);-webkit-animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both;animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1{background-color:#fff}}._overlay_11kta_1 ._modal_11kta_32{max-width:100%;outline:none;pointer-events:none}._overlay_11kta_1 ._content_11kta_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;width:var(--swui-modal-width);max-width:100%;-webkit-animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both;animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1 ._content_11kta_38{box-shadow:none;top:0}}._overlay_11kta_1 ._content_11kta_38 :focus{outline:0}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle{cursor:move}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle .draggable-modal-cancel,._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle [role=tooltip]{cursor:initial}@-webkit-keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@-webkit-keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}@keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}._footer_11kta_93{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_11kta_97{position:-webkit-sticky;position:sticky;bottom:calc(-1 * var(--swui-modal-padding));box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_11kta_97{position:static;box-shadow:none}}._portal_17quq_1 ._overlay_17quq_2{position:fixed;inset:0}._portal_17quq_1 ._content_17quq_7{box-shadow:var(--swui-shadow-modal);background:white;position:absolute;transition:-webkit-transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out,-webkit-transform var(--swui-animation-time-medium) ease-in-out}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{-webkit-transform:translateX(var(--translate-x-outside-screen, 0));transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._afterOpen_17quq_20{-webkit-transform:translateX(0);transform:translate(0)}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._beforeClose_17quq_24{-webkit-transform:translateX(var(--translate-x-outside-screen));transform:translate(var(--translate-x-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{-webkit-transform:translateY(var(--translate-y-outside-screen, 0));transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._afterOpen_17quq_20{-webkit-transform:translateY(0);transform:translateY(0)}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._beforeClose_17quq_24{-webkit-transform:translateY(var(--translate-y-outside-screen));transform:translateY(var(--translate-y-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13{--translate-x-outside-screen: -100%;width:370px;left:0}._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{--translate-x-outside-screen: 100%;width:370px;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29{--translate-y-outside-screen: -100%;height:370px;top:0}._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{--translate-y-outside-screen: 100%;height:370px;bottom:0}._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)}")),document.head.appendChild(t)}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
+ import _ from "react-modal";
3
+ import q from "react-draggable";
4
+ import u from "classnames";
5
+ import { jsx as e, jsxs as s, Fragment as h } from "react/jsx-runtime";
6
+ import { exhaustSwitchCase as w, Column as v, Box as m, Spacing as k, Row as p, Indent as S, Heading as A, Txt as B } from "@stenajs-webui/core";
7
+ import { Spinner as L, Icon as M, FlatButton as x, stenaTimes as D } from "@stenajs-webui/elements";
8
+ const I = "_overlay_11kta_1", O = "_fadeIn_11kta_1", R = "_modal_11kta_32", $ = "_content_11kta_38", E = "_appear_11kta_1", j = "_isDraggable_11kta_60", G = "_footer_11kta_93", z = "_stickyFooter_11kta_97", n = {
9
+ overlay: I,
10
+ fadeIn: O,
11
+ modal: R,
12
+ content: $,
13
+ appear: E,
14
+ isDraggable: j,
15
+ footer: G,
16
+ stickyFooter: z
17
+ }, b = "draggable-modal-handle", F = "draggable-modal-cancel", H = ({
18
+ width: o,
19
+ draggable: t = !1,
20
+ children: l,
21
+ ...r
22
+ }) => /* @__PURE__ */ e(_, {
23
+ overlayClassName: n.overlay,
24
+ className: n.modal,
25
+ ...r,
26
+ children: /* @__PURE__ */ e(q, {
27
+ handle: `.${b}`,
28
+ cancel: `.${F}, button, [role="tooltip"]`,
29
+ bounds: ".ReactModal__Overlay",
30
+ disabled: !t,
31
+ children: /* @__PURE__ */ e("div", {
32
+ style: {
33
+ ["--swui-modal-width"]: o
34
+ },
35
+ className: u(n.content, {
36
+ [n.isDraggable]: t
37
+ }),
38
+ children: l
51
39
  })
52
- });
53
- };
54
- const portal = "_portal_17quq_1";
55
- const overlay$1 = "_overlay_17quq_2";
56
- const content = "_content_17quq_7";
57
- const slideFromLeft = "_slideFromLeft_17quq_13";
58
- const slideFromRight = "_slideFromRight_17quq_14";
59
- const afterOpen = "_afterOpen_17quq_20";
60
- const beforeClose = "_beforeClose_17quq_24";
61
- const slideFromTop = "_slideFromTop_17quq_29";
62
- const slideFromBottom = "_slideFromBottom_17quq_30";
63
- var styles$1 = {
64
- portal,
65
- overlay: overlay$1,
66
- content,
67
- slideFromLeft,
68
- slideFromRight,
69
- afterOpen,
70
- beforeClose,
71
- slideFromTop,
72
- slideFromBottom
73
- };
74
- const Drawer = ({
75
- background,
76
- zIndex,
77
- children,
78
- slideFrom = "left",
79
- portalTarget,
80
- ...reactModalProps
40
+ })
41
+ }), T = "_portal_17quq_1", J = "_overlay_17quq_2", K = "_content_17quq_7", Q = "_slideFromLeft_17quq_13", U = "_slideFromRight_17quq_14", V = "_afterOpen_17quq_20", W = "_beforeClose_17quq_24", X = "_slideFromTop_17quq_29", Y = "_slideFromBottom_17quq_30", a = {
42
+ portal: T,
43
+ overlay: J,
44
+ content: K,
45
+ slideFromLeft: Q,
46
+ slideFromRight: U,
47
+ afterOpen: V,
48
+ beforeClose: W,
49
+ slideFromTop: X,
50
+ slideFromBottom: Y
51
+ }, me = ({
52
+ background: o,
53
+ zIndex: t,
54
+ children: l,
55
+ slideFrom: r = "left",
56
+ portalTarget: c,
57
+ ...i
81
58
  }) => {
82
59
  const {
83
- height,
84
- width
85
- } = reactModalProps;
86
- return /* @__PURE__ */ jsx(ReactModal, {
60
+ height: d,
61
+ width: f
62
+ } = i;
63
+ return /* @__PURE__ */ e(_, {
87
64
  closeTimeoutMS: 250,
88
- portalClassName: styles$1.portal,
65
+ portalClassName: a.portal,
89
66
  overlayClassName: {
90
- base: styles$1.overlay,
91
- afterOpen: styles$1.afterOpen,
92
- beforeClose: styles$1.beforeClose
67
+ base: a.overlay,
68
+ afterOpen: a.afterOpen,
69
+ beforeClose: a.beforeClose
93
70
  },
94
71
  className: {
95
- base: cx(styles$1.content, getClassNameForSlide(slideFrom)),
96
- afterOpen: styles$1.afterOpen,
97
- beforeClose: styles$1.beforeClose
72
+ base: u(a.content, Z(r)),
73
+ afterOpen: a.afterOpen,
74
+ beforeClose: a.beforeClose
98
75
  },
99
76
  style: {
100
77
  content: {
101
- width,
102
- height,
103
- background
78
+ width: f,
79
+ height: d,
80
+ background: o
104
81
  },
105
82
  overlay: {
106
- zIndex
83
+ zIndex: t
107
84
  }
108
85
  },
109
- parentSelector: portalTarget ? () => portalTarget : void 0,
110
- ...reactModalProps,
111
- children
86
+ parentSelector: c ? () => c : void 0,
87
+ ...i,
88
+ children: l
112
89
  });
113
- };
114
- const getClassNameForSlide = (slideFrom) => {
115
- switch (slideFrom) {
90
+ }, Z = (o) => {
91
+ switch (o) {
116
92
  case "left":
117
- return styles$1.slideFromLeft;
93
+ return a.slideFromLeft;
118
94
  case "right":
119
- return styles$1.slideFromRight;
95
+ return a.slideFromRight;
120
96
  case "top":
121
- return styles$1.slideFromTop;
97
+ return a.slideFromTop;
122
98
  case "bottom":
123
- return styles$1.slideFromBottom;
99
+ return a.slideFromBottom;
124
100
  default:
125
- return exhaustSwitchCase(slideFrom, styles$1.slideFromLeft);
101
+ return w(o, a.slideFromLeft);
126
102
  }
127
- };
128
- const style = {
103
+ }, P = {
129
104
  overlay: {
130
105
  justifyContent: "center"
131
106
  }
132
- };
133
- const CenterModal = ({
134
- children,
135
- ...reactModalProps
136
- }) => {
137
- return /* @__PURE__ */ jsx(ReactModal, {
138
- overlayClassName: styles$2.overlay,
139
- className: styles$2.modal,
140
- style,
141
- ...reactModalProps,
142
- children: /* @__PURE__ */ jsx("div", {
143
- className: styles$2.content,
144
- style: {
145
- ["--swui-modal-width"]: "fit-content"
146
- },
147
- children
148
- })
149
- });
150
- };
151
- const modal = "_modal_4fwgb_1";
152
- const overlay = "_overlay_4fwgb_13";
153
- var styles = {
154
- modal,
155
- overlay
156
- };
157
- const LoadingModal = ({
158
- headerIconLeft,
159
- headerText,
160
- ...modalProps
161
- }) => {
162
- return /* @__PURE__ */ jsx(ReactModal, {
163
- ...modalProps,
164
- isOpen: true,
165
- className: styles.modal,
166
- overlayClassName: styles.overlay,
167
- children: /* @__PURE__ */ jsxs(Column, {
168
- spacing: 2,
169
- alignItems: "center",
170
- children: [/* @__PURE__ */ jsx(Box, {
171
- alignItems: "center",
172
- justifyContent: "center",
173
- width: "64px",
174
- height: "64px",
175
- borderRadius: "50%",
176
- background: "white",
177
- shadow: "modal",
178
- children: /* @__PURE__ */ jsx(Spinner, {
179
- size: "small"
180
- })
181
- }), (headerIconLeft || headerText) && /* @__PURE__ */ jsxs(Fragment, {
182
- children: [/* @__PURE__ */ jsx(Spacing, {}), /* @__PURE__ */ jsxs(Row, {
183
- indent: 2,
184
- children: [headerIconLeft && /* @__PURE__ */ jsxs(Fragment, {
185
- children: [/* @__PURE__ */ jsx(Icon, {
186
- size: 14,
187
- icon: headerIconLeft,
188
- color: "white"
189
- }), /* @__PURE__ */ jsx(Indent, {})]
190
- }), headerText && /* @__PURE__ */ jsx(Heading, {
191
- variant: "h4",
192
- color: "white",
193
- children: headerText
194
- })]
195
- })]
196
- })]
197
- })
198
- });
199
- };
200
- const ModalHeader = ({
201
- onRequestClose,
202
- header,
203
- headerText,
204
- closeButtonClassName
205
- }) => {
206
- return /* @__PURE__ */ jsxs(Row, {
107
+ }, _e = ({
108
+ children: o,
109
+ ...t
110
+ }) => /* @__PURE__ */ e(_, {
111
+ overlayClassName: n.overlay,
112
+ className: n.modal,
113
+ style: P,
114
+ ...t,
115
+ children: /* @__PURE__ */ e("div", {
116
+ className: n.content,
117
+ style: {
118
+ ["--swui-modal-width"]: "fit-content"
119
+ },
120
+ children: o
121
+ })
122
+ }), ee = "_modal_4fwgb_1", oe = "_overlay_4fwgb_13", y = {
123
+ modal: ee,
124
+ overlay: oe
125
+ }, fe = ({
126
+ headerIconLeft: o,
127
+ headerText: t,
128
+ ...l
129
+ }) => /* @__PURE__ */ e(_, {
130
+ ...l,
131
+ isOpen: !0,
132
+ className: y.modal,
133
+ overlayClassName: y.overlay,
134
+ children: /* @__PURE__ */ s(v, {
207
135
  spacing: 2,
208
- indent: 2,
209
- borderBottom: "1px solid var(--swui-modal-header-border-color)",
210
- className: DRAGGABLE_HANDLE_CLASSNAME,
211
- children: [/* @__PURE__ */ jsxs(Row, {
212
- flex: 1,
213
- indent: true,
136
+ alignItems: "center",
137
+ children: [/* @__PURE__ */ e(m, {
214
138
  alignItems: "center",
215
- children: [headerText && /* @__PURE__ */ jsx(Txt, {
216
- className: DRAGGABLE_CANCEL_CLASSNAME,
217
- size: "large",
218
- children: headerText
219
- }), header]
220
- }), /* @__PURE__ */ jsx(Box, {
221
- alignSelf: "flex-start",
222
- children: /* @__PURE__ */ jsx(FlatButton, {
223
- className: closeButtonClassName,
224
- onClick: onRequestClose,
225
- "aria-label": "Close",
226
- leftIcon: stenaTimes
139
+ justifyContent: "center",
140
+ width: "64px",
141
+ height: "64px",
142
+ borderRadius: "50%",
143
+ background: "white",
144
+ shadow: "modal",
145
+ children: /* @__PURE__ */ e(L, {
146
+ size: "small"
227
147
  })
148
+ }), (o || t) && /* @__PURE__ */ s(h, {
149
+ children: [/* @__PURE__ */ e(k, {}), /* @__PURE__ */ s(p, {
150
+ indent: 2,
151
+ children: [o && /* @__PURE__ */ s(h, {
152
+ children: [/* @__PURE__ */ e(M, {
153
+ size: 14,
154
+ icon: o,
155
+ color: "white"
156
+ }), /* @__PURE__ */ e(S, {})]
157
+ }), t && /* @__PURE__ */ e(A, {
158
+ variant: "h4",
159
+ color: "white",
160
+ children: t
161
+ })]
162
+ })]
228
163
  })]
229
- });
230
- };
231
- const Modal = ({
232
- header,
233
- headerText,
234
- children,
235
- spacing,
236
- indent,
237
- draggable = false,
238
- onRequestClose,
239
- closeButtonClassName,
240
- footer: footer2,
241
- disableStickyFooter = false,
242
- ...props
243
- }) => {
244
- const activeSpacing = typeof spacing === "number" ? spacing : 1;
245
- const activeIndent = typeof indent === "number" ? indent : 1;
246
- return /* @__PURE__ */ jsxs(BaseModal, {
247
- ...props,
248
- onRequestClose,
249
- draggable,
250
- children: [/* @__PURE__ */ jsx(ModalHeader, {
251
- onRequestClose,
252
- header,
253
- headerText,
254
- closeButtonClassName
255
- }), /* @__PURE__ */ jsx(Box, {
256
- spacing: activeSpacing,
257
- indent: activeIndent,
258
- children
259
- }), footer2 && /* @__PURE__ */ jsx(Box, {
260
- className: cx(styles$2.footer, {
261
- [styles$2.stickyFooter]: !disableStickyFooter
262
- }),
263
- children: footer2
264
- })]
265
- });
266
- };
267
- const ModalFooter = ({
268
- children
269
- }) => /* @__PURE__ */ jsx(Column, {
164
+ })
165
+ }), te = ({
166
+ onRequestClose: o,
167
+ header: t,
168
+ headerText: l,
169
+ closeButtonClassName: r
170
+ }) => /* @__PURE__ */ s(p, {
171
+ spacing: 2,
172
+ indent: 2,
173
+ borderBottom: "1px solid var(--swui-modal-header-border-color)",
174
+ className: b,
175
+ children: [/* @__PURE__ */ s(p, {
176
+ flex: 1,
177
+ indent: !0,
178
+ alignItems: "center",
179
+ children: [l && /* @__PURE__ */ e(B, {
180
+ className: F,
181
+ size: "large",
182
+ children: l
183
+ }), t]
184
+ }), /* @__PURE__ */ e(m, {
185
+ alignSelf: "flex-start",
186
+ children: /* @__PURE__ */ e(x, {
187
+ className: r,
188
+ onClick: o,
189
+ "aria-label": "Close",
190
+ leftIcon: D
191
+ })
192
+ })]
193
+ }), pe = ({
194
+ header: o,
195
+ headerText: t,
196
+ children: l,
197
+ spacing: r,
198
+ indent: c,
199
+ draggable: i = !1,
200
+ onRequestClose: d,
201
+ closeButtonClassName: f,
202
+ footer: g,
203
+ disableStickyFooter: C = !1,
204
+ ...N
205
+ }) => /* @__PURE__ */ s(H, {
206
+ ...N,
207
+ onRequestClose: d,
208
+ draggable: i,
209
+ children: [/* @__PURE__ */ e(te, {
210
+ onRequestClose: d,
211
+ header: o,
212
+ headerText: t,
213
+ closeButtonClassName: f
214
+ }), /* @__PURE__ */ e(m, {
215
+ spacing: typeof r == "number" ? r : 1,
216
+ indent: typeof c == "number" ? c : 1,
217
+ children: l
218
+ }), g && /* @__PURE__ */ e(m, {
219
+ className: u(n.footer, {
220
+ [n.stickyFooter]: !C
221
+ }),
222
+ children: g
223
+ })]
224
+ }), ue = ({
225
+ children: o
226
+ }) => /* @__PURE__ */ e(v, {
270
227
  indent: 2,
271
228
  spacing: 2,
272
- children
229
+ children: o
273
230
  });
274
- export { BaseModal, CenterModal, DRAGGABLE_CANCEL_CLASSNAME, DRAGGABLE_HANDLE_CLASSNAME, Drawer, LoadingModal, Modal, ModalFooter, ModalHeader };
231
+ export {
232
+ H as BaseModal,
233
+ _e as CenterModal,
234
+ F as DRAGGABLE_CANCEL_CLASSNAME,
235
+ b as DRAGGABLE_HANDLE_CLASSNAME,
236
+ me as Drawer,
237
+ fe as LoadingModal,
238
+ pe as Modal,
239
+ ue as ModalFooter,
240
+ te as ModalHeader
241
+ };
275
242
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/modal/BaseModal.tsx","../src/components/drawer/Drawer.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx","../src/components/modal/ModalFooter.tsx"],"sourcesContent":["import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: 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 BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\n\nexport type SlideFrom = SlideFromLeftRight | SlideFromTopBottom;\nexport type SlideFromLeftRight = \"left\" | \"right\";\nexport type SlideFromTopBottom = \"top\" | \"bottom\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n 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 ...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(styles.content, getClassNameForSlide(slideFrom)),\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 ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\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 { FlatButton, stenaTimes } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\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 <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={stenaTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\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 <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\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 </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalFooterProps {\n children?: ReactNode;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseModal","width","draggable","children","reactModalProps","styles","overlay","modal","cx","content","isDraggable","Drawer","background","zIndex","slideFrom","portalTarget","height","portal","base","afterOpen","beforeClose","getClassNameForSlide","undefined","slideFromLeft","slideFromRight","slideFromTop","slideFromBottom","exhaustSwitchCase","style","justifyContent","CenterModal","LoadingModal","headerIconLeft","headerText","modalProps","_jsx","_Fragment","_jsxs","ModalHeader","onRequestClose","header","closeButtonClassName","stenaTimes","Modal","spacing","indent","footer","disableStickyFooter","props","activeSpacing","activeIndent","stickyFooter","ModalFooter"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/modal/BaseModal.tsx","../src/components/drawer/Drawer.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx","../src/components/modal/ModalFooter.tsx"],"sourcesContent":["import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: 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 BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\n\nexport type SlideFrom = SlideFromLeftRight | SlideFromTopBottom;\nexport type SlideFromLeftRight = \"left\" | \"right\";\nexport type SlideFromTopBottom = \"top\" | \"bottom\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n 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 ...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(styles.content, getClassNameForSlide(slideFrom)),\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 ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\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 { FlatButton, stenaTimes } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\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 <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={stenaTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\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 <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\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 </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalFooterProps {\n children?: ReactNode;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseModal","width","draggable","children","reactModalProps","ReactModal","styles","overlay","modal","Draggable","cx","content","isDraggable","Drawer","background","zIndex","slideFrom","portalTarget","height","portal","base","afterOpen","beforeClose","getClassNameForSlide","undefined","slideFromLeft","slideFromRight","slideFromTop","slideFromBottom","exhaustSwitchCase","style","justifyContent","CenterModal","LoadingModal","headerIconLeft","headerText","modalProps","Column","_jsx","Box","Spinner","_Fragment","Spacing","Row","_jsxs","Icon","Indent","Heading","ModalHeader","onRequestClose","header","closeButtonClassName","Txt","FlatButton","stenaTimes","Modal","spacing","indent","footer","disableStickyFooter","props","stickyFooter","ModalFooter"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
- (function(){ try {var elementStyle = document.createElement('style'); elementStyle.appendChild(document.createTextNode("._overlay_11kta_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-padding: var(--swui-metrics-space);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--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;padding:var(--swui-modal-padding);-webkit-animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both;animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1{background-color:#fff}}._overlay_11kta_1 ._modal_11kta_32{max-width:100%;outline:none;pointer-events:none}._overlay_11kta_1 ._content_11kta_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;width:var(--swui-modal-width);max-width:100%;-webkit-animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both;animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1 ._content_11kta_38{box-shadow:none;top:0}}._overlay_11kta_1 ._content_11kta_38 :focus{outline:0}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle{cursor:move}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle .draggable-modal-cancel,._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle [role=tooltip]{cursor:initial}@-webkit-keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@-webkit-keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}@keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}._footer_11kta_93{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_11kta_97{position:-webkit-sticky;position:sticky;bottom:calc(-1 * var(--swui-modal-padding));box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_11kta_97{position:static;box-shadow:none}}._portal_17quq_1 ._overlay_17quq_2{position:fixed;inset:0}._portal_17quq_1 ._content_17quq_7{box-shadow:var(--swui-shadow-modal);background:white;position:absolute;transition:-webkit-transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out,-webkit-transform var(--swui-animation-time-medium) ease-in-out}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{-webkit-transform:translateX(var(--translate-x-outside-screen, 0));transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._afterOpen_17quq_20{-webkit-transform:translateX(0);transform:translate(0)}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._beforeClose_17quq_24{-webkit-transform:translateX(var(--translate-x-outside-screen));transform:translate(var(--translate-x-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{-webkit-transform:translateY(var(--translate-y-outside-screen, 0));transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._afterOpen_17quq_20{-webkit-transform:translateY(0);transform:translateY(0)}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._beforeClose_17quq_24{-webkit-transform:translateY(var(--translate-y-outside-screen));transform:translateY(var(--translate-y-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13{--translate-x-outside-screen: -100%;width:370px;left:0}._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{--translate-x-outside-screen: 100%;width:370px;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29{--translate-y-outside-screen: -100%;height:370px;top:0}._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{--translate-y-outside-screen: 100%;height:370px;bottom:0}._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)}")); document.head.appendChild(elementStyle);} catch(e) {console.error('vite-plugin-css-injected-by-js', e);} })();"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var q=require("react-modal"),w=require("react-draggable"),M=require("classnames"),e=require("react/jsx-runtime"),o=require("@stenajs-webui/core"),_=require("@stenajs-webui/elements");function f(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var m=f(q),A=f(w),g=f(M);const L="_overlay_11kta_1",S="_fadeIn_11kta_1",B="_modal_11kta_32",D="_content_11kta_38",R="_appear_11kta_1",k="_isDraggable_11kta_60",E="_footer_11kta_93",O="_stickyFooter_11kta_97";var r={overlay:L,fadeIn:S,modal:B,content:D,appear:R,isDraggable:k,footer:E,stickyFooter:O};const v="draggable-modal-handle",x="draggable-modal-cancel",b=({width:t,draggable:a=!1,children:l,...n})=>e.jsx(m.default,{overlayClassName:r.overlay,className:r.modal,...n,children:e.jsx(A.default,{handle:`.${v}`,cancel:`.${x}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!a,children:e.jsx("div",{style:{["--swui-modal-width"]:t},className:g.default(r.content,{[r.isDraggable]:a}),children:l})})}),G="_portal_17quq_1",I="_overlay_17quq_2",$="_content_17quq_7",H="_slideFromLeft_17quq_13",T="_slideFromRight_17quq_14",z="_afterOpen_17quq_20",J="_beforeClose_17quq_24",K="_slideFromTop_17quq_29",P="_slideFromBottom_17quq_30";var s={portal:G,overlay:I,content:$,slideFromLeft:H,slideFromRight:T,afterOpen:z,beforeClose:J,slideFromTop:K,slideFromBottom:P};const Q=({background:t,zIndex:a,children:l,slideFrom:n="left",portalTarget:c,...i})=>{const{height:d,width:u}=i;return e.jsx(m.default,{closeTimeoutMS:250,portalClassName:s.portal,overlayClassName:{base:s.overlay,afterOpen:s.afterOpen,beforeClose:s.beforeClose},className:{base:g.default(s.content,U(n)),afterOpen:s.afterOpen,beforeClose:s.beforeClose},style:{content:{width:u,height:d,background:t},overlay:{zIndex:a}},parentSelector:c?()=>c:void 0,...i,children:l})},U=t=>{switch(t){case"left":return s.slideFromLeft;case"right":return s.slideFromRight;case"top":return s.slideFromTop;case"bottom":return s.slideFromBottom;default:return o.exhaustSwitchCase(t,s.slideFromLeft)}},V={overlay:{justifyContent:"center"}},W=({children:t,...a})=>e.jsx(m.default,{overlayClassName:r.overlay,className:r.modal,style:V,...a,children:e.jsx("div",{className:r.content,style:{["--swui-modal-width"]:"fit-content"},children:t})}),X="_modal_4fwgb_1",Y="_overlay_4fwgb_13";var y={modal:X,overlay:Y};const Z=({headerIconLeft:t,headerText:a,...l})=>e.jsx(m.default,{...l,isOpen:!0,className:y.modal,overlayClassName:y.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(_.Spinner,{size:"small"})}),(t||a)&&e.jsxs(e.Fragment,{children:[e.jsx(o.Spacing,{}),e.jsxs(o.Row,{indent:2,children:[t&&e.jsxs(e.Fragment,{children:[e.jsx(_.Icon,{size:14,icon:t,color:"white"}),e.jsx(o.Indent,{})]}),a&&e.jsx(o.Heading,{variant:"h4",color:"white",children:a})]})]})]})}),h=({onRequestClose:t,header:a,headerText:l,closeButtonClassName:n})=>e.jsxs(o.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--swui-modal-header-border-color)",className:v,children:[e.jsxs(o.Row,{flex:1,indent:!0,alignItems:"center",children:[l&&e.jsx(o.Txt,{className:x,size:"large",children:l}),a]}),e.jsx(o.Box,{alignSelf:"flex-start",children:e.jsx(_.FlatButton,{className:n,onClick:t,"aria-label":"Close",leftIcon:_.stenaTimes})})]}),ee=({header:t,headerText:a,children:l,spacing:n,indent:c,draggable:i=!1,onRequestClose:d,closeButtonClassName:u,footer:p,disableStickyFooter:j=!1,...C})=>{const F=typeof n=="number"?n:1,N=typeof c=="number"?c:1;return e.jsxs(b,{...C,onRequestClose:d,draggable:i,children:[e.jsx(h,{onRequestClose:d,header:t,headerText:a,closeButtonClassName:u}),e.jsx(o.Box,{spacing:F,indent:N,children:l}),p&&e.jsx(o.Box,{className:g.default(r.footer,{[r.stickyFooter]:!j}),children:p})]})},te=({children:t})=>e.jsx(o.Column,{indent:2,spacing:2,children:t});exports.BaseModal=b;exports.CenterModal=W;exports.DRAGGABLE_CANCEL_CLASSNAME=x;exports.DRAGGABLE_HANDLE_CLASSNAME=v;exports.Drawer=Q;exports.LoadingModal=Z;exports.Modal=ee;exports.ModalFooter=te;exports.ModalHeader=h;
1
+ (function(){"use strict";try{var t=document.createElement("style");t.appendChild(document.createTextNode("._overlay_11kta_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-padding: var(--swui-metrics-space);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--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;padding:var(--swui-modal-padding);-webkit-animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both;animation:_fadeIn_11kta_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1{background-color:#fff}}._overlay_11kta_1 ._modal_11kta_32{max-width:100%;outline:none;pointer-events:none}._overlay_11kta_1 ._content_11kta_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;width:var(--swui-modal-width);max-width:100%;-webkit-animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both;animation:_appear_11kta_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_11kta_1 ._content_11kta_38{box-shadow:none;top:0}}._overlay_11kta_1 ._content_11kta_38 :focus{outline:0}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle{cursor:move}._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle .draggable-modal-cancel,._overlay_11kta_1 ._content_11kta_38._isDraggable_11kta_60 .draggable-modal-handle [role=tooltip]{cursor:initial}@-webkit-keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _fadeIn_11kta_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@-webkit-keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}@keyframes _appear_11kta_1{0%{top:calc(0 - var(--swui-metrics-space));opacity:0}to{top:var(--swui-metrics-space);opacity:1}}._footer_11kta_93{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_11kta_97{position:-webkit-sticky;position:sticky;bottom:calc(-1 * var(--swui-modal-padding));box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_11kta_97{position:static;box-shadow:none}}._portal_17quq_1 ._overlay_17quq_2{position:fixed;inset:0}._portal_17quq_1 ._content_17quq_7{box-shadow:var(--swui-shadow-modal);background:white;position:absolute;transition:-webkit-transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out;transition:transform var(--swui-animation-time-medium) ease-in-out,-webkit-transform var(--swui-animation-time-medium) ease-in-out}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{-webkit-transform:translateX(var(--translate-x-outside-screen, 0));transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._afterOpen_17quq_20{-webkit-transform:translateX(0);transform:translate(0)}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14._beforeClose_17quq_24{-webkit-transform:translateX(var(--translate-x-outside-screen));transform:translate(var(--translate-x-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{-webkit-transform:translateY(var(--translate-y-outside-screen, 0));transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._afterOpen_17quq_20,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._afterOpen_17quq_20{-webkit-transform:translateY(0);transform:translateY(0)}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29._beforeClose_17quq_24,._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30._beforeClose_17quq_24{-webkit-transform:translateY(var(--translate-y-outside-screen));transform:translateY(var(--translate-y-outside-screen))}._portal_17quq_1 ._content_17quq_7._slideFromLeft_17quq_13{--translate-x-outside-screen: -100%;width:370px;left:0}._portal_17quq_1 ._content_17quq_7._slideFromRight_17quq_14{--translate-x-outside-screen: 100%;width:370px;right:0}._portal_17quq_1 ._content_17quq_7._slideFromTop_17quq_29{--translate-y-outside-screen: -100%;height:370px;top:0}._portal_17quq_1 ._content_17quq_7._slideFromBottom_17quq_30{--translate-y-outside-screen: 100%;height:370px;bottom:0}._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)}")),document.head.appendChild(t)}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("react-modal"),w=require("react-draggable"),M=require("classnames"),e=require("react/jsx-runtime"),s=require("@stenajs-webui/core"),_=require("@stenajs-webui/elements"),f=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},m=f(q),A=f(w),g=f(M),L="_overlay_11kta_1",S="_fadeIn_11kta_1",B="_modal_11kta_32",D="_content_11kta_38",R="_appear_11kta_1",k="_isDraggable_11kta_60",E="_footer_11kta_93",O="_stickyFooter_11kta_97",n={overlay:L,fadeIn:S,modal:B,content:D,appear:R,isDraggable:k,footer:E,stickyFooter:O},x="draggable-modal-handle",p="draggable-modal-cancel",h=({width:t,draggable:o=!1,children:l,...r})=>e.jsx(m.default,{overlayClassName:n.overlay,className:n.modal,...r,children:e.jsx(A.default,{handle:`.${x}`,cancel:`.${p}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!o,children:e.jsx("div",{style:{["--swui-modal-width"]:t},className:g.default(n.content,{[n.isDraggable]:o}),children:l})})}),G="_portal_17quq_1",I="_overlay_17quq_2",$="_content_17quq_7",H="_slideFromLeft_17quq_13",T="_slideFromRight_17quq_14",z="_afterOpen_17quq_20",J="_beforeClose_17quq_24",K="_slideFromTop_17quq_29",P="_slideFromBottom_17quq_30",a={portal:G,overlay:I,content:$,slideFromLeft:H,slideFromRight:T,afterOpen:z,beforeClose:J,slideFromTop:K,slideFromBottom:P},Q=({background:t,zIndex:o,children:l,slideFrom:r="left",portalTarget:c,...i})=>{const{height:d,width:u}=i;return e.jsx(m.default,{closeTimeoutMS:250,portalClassName:a.portal,overlayClassName:{base:a.overlay,afterOpen:a.afterOpen,beforeClose:a.beforeClose},className:{base:g.default(a.content,U(r)),afterOpen:a.afterOpen,beforeClose:a.beforeClose},style:{content:{width:u,height:d,background:t},overlay:{zIndex:o}},parentSelector:c?()=>c:void 0,...i,children:l})},U=t=>{switch(t){case"left":return a.slideFromLeft;case"right":return a.slideFromRight;case"top":return a.slideFromTop;case"bottom":return a.slideFromBottom;default:return s.exhaustSwitchCase(t,a.slideFromLeft)}},V={overlay:{justifyContent:"center"}},W=({children:t,...o})=>e.jsx(m.default,{overlayClassName:n.overlay,className:n.modal,style:V,...o,children:e.jsx("div",{className:n.content,style:{["--swui-modal-width"]:"fit-content"},children:t})}),X="_modal_4fwgb_1",Y="_overlay_4fwgb_13",b={modal:X,overlay:Y},Z=({headerIconLeft:t,headerText:o,...l})=>e.jsx(m.default,{...l,isOpen:!0,className:b.modal,overlayClassName:b.overlay,children:e.jsxs(s.Column,{spacing:2,alignItems:"center",children:[e.jsx(s.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:e.jsx(_.Spinner,{size:"small"})}),(t||o)&&e.jsxs(e.Fragment,{children:[e.jsx(s.Spacing,{}),e.jsxs(s.Row,{indent:2,children:[t&&e.jsxs(e.Fragment,{children:[e.jsx(_.Icon,{size:14,icon:t,color:"white"}),e.jsx(s.Indent,{})]}),o&&e.jsx(s.Heading,{variant:"h4",color:"white",children:o})]})]})]})}),j=({onRequestClose:t,header:o,headerText:l,closeButtonClassName:r})=>e.jsxs(s.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--swui-modal-header-border-color)",className:x,children:[e.jsxs(s.Row,{flex:1,indent:!0,alignItems:"center",children:[l&&e.jsx(s.Txt,{className:p,size:"large",children:l}),o]}),e.jsx(s.Box,{alignSelf:"flex-start",children:e.jsx(_.FlatButton,{className:r,onClick:t,"aria-label":"Close",leftIcon:_.stenaTimes})})]}),ee=({header:t,headerText:o,children:l,spacing:r,indent:c,draggable:i=!1,onRequestClose:d,closeButtonClassName:u,footer:y,disableStickyFooter:v=!1,...C})=>{const F=typeof r=="number"?r:1,N=typeof c=="number"?c:1;return e.jsxs(h,{...C,onRequestClose:d,draggable:i,children:[e.jsx(j,{onRequestClose:d,header:t,headerText:o,closeButtonClassName:u}),e.jsx(s.Box,{spacing:F,indent:N,children:l}),y&&e.jsx(s.Box,{className:g.default(n.footer,{[n.stickyFooter]:!v}),children:y})]})},te=({children:t})=>e.jsx(s.Column,{indent:2,spacing:2,children:t});exports.BaseModal=h;exports.CenterModal=W;exports.DRAGGABLE_CANCEL_CLASSNAME=p;exports.DRAGGABLE_HANDLE_CLASSNAME=x;exports.Drawer=Q;exports.LoadingModal=Z;exports.Modal=ee;exports.ModalFooter=te;exports.ModalHeader=j;
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/modal/BaseModal.tsx","../src/components/drawer/Drawer.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx","../src/components/modal/ModalFooter.tsx"],"sourcesContent":["import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: 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 BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\n\nexport type SlideFrom = SlideFromLeftRight | SlideFromTopBottom;\nexport type SlideFromLeftRight = \"left\" | \"right\";\nexport type SlideFromTopBottom = \"top\" | \"bottom\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n 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 ...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(styles.content, getClassNameForSlide(slideFrom)),\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 ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\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 { FlatButton, stenaTimes } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\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 <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={stenaTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\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 <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\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 </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalFooterProps {\n children?: ReactNode;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseModal","width","draggable","children","reactModalProps","ReactModal","styles","overlay","modal","Draggable","cx","content","isDraggable","Drawer","background","zIndex","slideFrom","portalTarget","height","portal","base","afterOpen","beforeClose","getClassNameForSlide","undefined","slideFromLeft","slideFromRight","slideFromTop","slideFromBottom","exhaustSwitchCase","style","justifyContent","CenterModal","LoadingModal","headerIconLeft","headerText","modalProps","Column","_jsx","Box","Spinner","_Fragment","Spacing","Row","_jsxs","Icon","Indent","Heading","ModalHeader","onRequestClose","header","closeButtonClassName","Txt","FlatButton","stenaTimes","Modal","spacing","indent","footer","disableStickyFooter","props","activeSpacing","activeIndent","stickyFooter","ModalFooter"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/modal/BaseModal.tsx","../src/components/drawer/Drawer.tsx","../src/components/center-modal/CenterModal.tsx","../src/components/loading-modal/LoadingModal.tsx","../src/components/modal/ModalHeader.tsx","../src/components/modal/Modal.tsx","../src/components/modal/ModalFooter.tsx"],"sourcesContent":["import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface BaseModalProps extends ReactModal.Props {\n width?: 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 BaseModal: React.FC<BaseModalProps> = ({\n width,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n {...reactModalProps}\n >\n <Draggable\n handle={`.${DRAGGABLE_HANDLE_CLASSNAME}`}\n cancel={`.${DRAGGABLE_CANCEL_CLASSNAME}, button, [role=\"tooltip\"]`}\n bounds=\".ReactModal__Overlay\"\n disabled={!draggable}\n >\n <div\n style={{ [\"--swui-modal-width\" as string]: width }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n >\n {children}\n </div>\n </Draggable>\n </ReactModal>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport cx from \"classnames\";\nimport styles from \"./Drawer.module.css\";\nimport { exhaustSwitchCase, FlattenUnion } from \"@stenajs-webui/core\";\n\nexport type SlideFrom = SlideFromLeftRight | SlideFromTopBottom;\nexport type SlideFromLeftRight = \"left\" | \"right\";\nexport type SlideFromTopBottom = \"top\" | \"bottom\";\n\nexport type DrawerProps = DrawerBaseLeftRight | DrawerBaseTopBottom;\n\ninterface DrawerBaseLeftRight extends DrawerBaseProps {\n width?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('left'|'right')}\n */\n slideFrom?: SlideFromLeftRight;\n}\n\ninterface DrawerBaseTopBottom extends DrawerBaseProps {\n height?: string;\n /**\n * Which direction the drawer will appear from.\n * @default left\n * @param {String('top'|'bottom')}\n */\n slideFrom?: SlideFromTopBottom;\n}\n\ninterface DrawerBaseProps\n extends Omit<\n ReactModal.Props,\n | \"closeTimeoutMS\"\n | \"portalClassName\"\n | \"overlayClassName\"\n | \"className\"\n | \"style\"\n | \"parentSelector\"\n > {\n background?: string;\n 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 ...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(styles.content, getClassNameForSlide(slideFrom)),\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 ReactModal from \"react-modal\";\n\nimport styles from \"../modal/Modal.module.css\";\n\nexport interface CenterModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const CenterModal: React.FC<CenterModalProps> = ({\n children,\n ...reactModalProps\n}) => {\n return (\n <ReactModal\n overlayClassName={styles.overlay}\n className={styles.modal}\n style={style}\n {...reactModalProps}\n >\n <div\n className={styles.content}\n style={{ [\"--swui-modal-width\" as string]: \"fit-content\" }}\n >\n {children}\n </div>\n </ReactModal>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n Box,\n Column,\n Heading,\n Indent,\n Row,\n Spacing,\n} from \"@stenajs-webui/core\";\nimport { Icon, Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport ReactModal from \"react-modal\";\nimport styles from \"./LoadingModal.module.css\";\n\nexport interface LoadingModalProps extends Omit<ReactModal.Props, \"isOpen\"> {\n headerText?: string;\n headerIconLeft?: IconDefinition;\n}\n\nexport const LoadingModal: React.FC<LoadingModalProps> = ({\n headerIconLeft,\n headerText,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\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 { FlatButton, stenaTimes } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseModal\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface ModalHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--swui-modal-header-border-color)\"}\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 <FlatButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n aria-label={\"Close\"}\n leftIcon={stenaTimes}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseModal, BaseModalProps } from \"./BaseModal\";\nimport { ModalHeader, ModalHeaderProps } from \"./ModalHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends BaseModalProps, ModalHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\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 <BaseModal {...props} onRequestClose={onRequestClose} draggable={draggable}>\n <ModalHeader\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 </BaseModal>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalFooterProps {\n children?: ReactNode;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n"],"names":["DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseModal","width","draggable","children","reactModalProps","ReactModal","styles","overlay","modal","Draggable","cx","content","isDraggable","Drawer","background","zIndex","slideFrom","portalTarget","height","portal","base","afterOpen","beforeClose","getClassNameForSlide","undefined","slideFromLeft","slideFromRight","slideFromTop","slideFromBottom","exhaustSwitchCase","style","justifyContent","CenterModal","LoadingModal","headerIconLeft","headerText","modalProps","Column","_jsx","Box","Spinner","_Fragment","Spacing","Row","_jsxs","Icon","Indent","Heading","ModalHeader","onRequestClose","header","closeButtonClassName","Txt","FlatButton","stenaTimes","Modal","spacing","indent","footer","disableStickyFooter","props","activeSpacing","activeIndent","stickyFooter","ModalFooter"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/modal",
3
- "version": "17.13.0",
3
+ "version": "17.13.3",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -26,9 +26,9 @@
26
26
  "deploy": "gh-pages -d example/build"
27
27
  },
28
28
  "dependencies": {
29
- "@stenajs-webui/core": "17.13.0",
30
- "@stenajs-webui/elements": "17.13.0",
31
- "@stenajs-webui/theme": "17.13.0",
29
+ "@stenajs-webui/core": "17.13.3",
30
+ "@stenajs-webui/elements": "17.13.3",
31
+ "@stenajs-webui/theme": "17.13.3",
32
32
  "@types/react-modal": "^3.13.1",
33
33
  "classnames": "^2.3.1",
34
34
  "react-draggable": "^4.4.5",
@@ -58,5 +58,5 @@
58
58
  "files": [
59
59
  "dist"
60
60
  ],
61
- "gitHead": "edade8e51a0c9abb4c5ab8b62af6b4e5db19ceaf"
61
+ "gitHead": "7192ec09f63ac6813294b4b2825a778fd53120c9"
62
62
  }