@laerdal/life-react-components 5.0.7-dev.4 → 5.0.7-dev.5
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.
|
@@ -6,8 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
9
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
16
|
var React = _interopRequireWildcard(require("react"));
|
|
13
17
|
var _reactModal = _interopRequireDefault(require("react-modal"));
|
|
@@ -17,6 +21,8 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
17
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
18
22
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
23
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
+
function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2["default"])(t); if (r) { var s = (0, _getPrototypeOf2["default"])(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2["default"])(this, e); }; }
|
|
25
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
26
|
var ModalContainerStyles = {
|
|
21
27
|
content: {
|
|
22
28
|
top: 'auto',
|
|
@@ -36,125 +42,144 @@ var ModalContainerStyles = {
|
|
|
36
42
|
|
|
37
43
|
//override modal classes to define the animations
|
|
38
44
|
var modalTransitions = "\n\n@keyframes modalOpenAnimation {\n from{\n transform: scale(1.1, 1.1);\n }\n to {\n transform: scale(1, 1);\n }\n}\n\n.ReactModal__Overlay {\n opacity: 0;\n z-index: ".concat(_styles.Z_INDEXES.backdrop, ";\n display:flex;\n justify-content: center;\n align-items: center;\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n z-index: ").concat(_styles.Z_INDEXES.modal, ";\n opacity:0;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n animation: modalOpenAnimation 150ms ease-in-out;\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n");
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
45
|
+
var ModalContainer = /*#__PURE__*/function (_React$Component) {
|
|
46
|
+
(0, _inherits2["default"])(ModalContainer, _React$Component);
|
|
47
|
+
var _super = _createSuper(ModalContainer);
|
|
48
|
+
function ModalContainer() {
|
|
49
|
+
(0, _classCallCheck2["default"])(this, ModalContainer);
|
|
50
|
+
return _super.apply(this, arguments);
|
|
51
|
+
}
|
|
52
|
+
(0, _createClass2["default"])(ModalContainer, [{
|
|
53
|
+
key: "componentDidMount",
|
|
54
|
+
value: function componentDidMount() {
|
|
55
|
+
if (_reactModal["default"].defaultStyles.overlay) {
|
|
56
|
+
_reactModal["default"].defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//append style node to override modal transition classes
|
|
60
|
+
if (!document.querySelector('[modal-custom-styling="active"]')) {
|
|
61
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
62
|
+
var style = document.createElement('style');
|
|
63
|
+
style.setAttribute('modal-custom-styling', 'active');
|
|
64
|
+
head.appendChild(style);
|
|
65
|
+
style.appendChild(document.createTextNode(modalTransitions));
|
|
66
|
+
}
|
|
67
|
+
if (this.props.showModal) {
|
|
68
|
+
this.preventScroll(window.scrollY);
|
|
69
|
+
}
|
|
60
70
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
//@ts-ignore
|
|
68
|
-
document.body.style.left = null;
|
|
69
|
-
//@ts-ignore
|
|
70
|
-
document.body.style.top = null;
|
|
71
|
-
//@ts-ignore
|
|
72
|
-
document.body.style.right = null;
|
|
73
|
-
scroll && window.scrollTo(0, scroll);
|
|
74
|
-
setScroll(0);
|
|
71
|
+
}, {
|
|
72
|
+
key: "getSnapshotBeforeUpdate",
|
|
73
|
+
value: function getSnapshotBeforeUpdate(prevProps, prevState) {
|
|
74
|
+
return {
|
|
75
|
+
scroll: window.scrollY
|
|
76
|
+
};
|
|
75
77
|
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
window && props.showModal && preventScroll(window.scrollY);
|
|
86
|
-
}, [props.showModal]);
|
|
87
|
-
React.useEffect(function () {
|
|
88
|
-
return function () {
|
|
89
|
-
console.log('CLEANUP!');
|
|
90
|
-
console.log(window);
|
|
91
|
-
console.log(props.showModal);
|
|
92
|
-
console.log(wasOpened);
|
|
93
|
-
window && props.showModal && wasOpened && resetScroll();
|
|
94
|
-
};
|
|
95
|
-
}, []);
|
|
96
|
-
React.useEffect(function () {
|
|
97
|
-
if (_reactModal["default"].defaultStyles.overlay) {
|
|
98
|
-
_reactModal["default"].defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
|
|
78
|
+
}, {
|
|
79
|
+
key: "componentDidUpdate",
|
|
80
|
+
value: function componentDidUpdate(prevProps, prevState, snapshot) {
|
|
81
|
+
if (this.props.showModal && !prevProps.showModal) {
|
|
82
|
+
this.preventScroll(snapshot.scroll);
|
|
83
|
+
}
|
|
84
|
+
if (!this.props.showModal && prevProps.showModal) {
|
|
85
|
+
this.resetScroll();
|
|
86
|
+
}
|
|
99
87
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
head.appendChild(style);
|
|
107
|
-
style.appendChild(document.createTextNode(modalTransitions));
|
|
88
|
+
}, {
|
|
89
|
+
key: "componentWillUnmount",
|
|
90
|
+
value: function componentWillUnmount() {
|
|
91
|
+
if (this.props.showModal) {
|
|
92
|
+
this.resetScroll();
|
|
93
|
+
}
|
|
108
94
|
}
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
95
|
+
}, {
|
|
96
|
+
key: "render",
|
|
97
|
+
value: function render() {
|
|
98
|
+
var _this$props = this.props,
|
|
99
|
+
id = _this$props.id,
|
|
100
|
+
showModal = _this$props.showModal,
|
|
101
|
+
closeModal = _this$props.closeModal,
|
|
102
|
+
children = _this$props.children,
|
|
103
|
+
_this$props$height = _this$props.height,
|
|
104
|
+
height = _this$props$height === void 0 ? 'auto' : _this$props$height,
|
|
105
|
+
_this$props$width = _this$props.width,
|
|
106
|
+
width = _this$props$width === void 0 ? 'auto' : _this$props$width,
|
|
107
|
+
_this$props$overflow = _this$props.overflow,
|
|
108
|
+
overflow = _this$props$overflow === void 0 ? 'visible' : _this$props$overflow,
|
|
109
|
+
padding = _this$props.padding,
|
|
110
|
+
_this$props$minWidth = _this$props.minWidth,
|
|
111
|
+
minWidth = _this$props$minWidth === void 0 ? '' : _this$props$minWidth,
|
|
112
|
+
_this$props$maxWidth = _this$props.maxWidth,
|
|
113
|
+
maxWidth = _this$props$maxWidth === void 0 ? '' : _this$props$maxWidth,
|
|
114
|
+
_this$props$zIndex = _this$props.zIndex,
|
|
115
|
+
zIndex = _this$props$zIndex === void 0 ? parseInt(_styles.Z_INDEXES.modal) : _this$props$zIndex,
|
|
116
|
+
_this$props$shouldClo = _this$props.shouldCloseOnOverlayClick,
|
|
117
|
+
shouldCloseOnOverlayClick = _this$props$shouldClo === void 0 ? true : _this$props$shouldClo;
|
|
129
118
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
|
|
119
|
+
// should be at least z-index of modal and below z-index of toast
|
|
120
|
+
var zIndexValue = Math.min(Math.max(zIndex, +_styles.Z_INDEXES.modal), +_styles.Z_INDEXES.toast - 1);
|
|
121
|
+
var stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
|
|
122
|
+
height: height,
|
|
123
|
+
width: width,
|
|
124
|
+
padding: padding,
|
|
125
|
+
overflow: overflow,
|
|
126
|
+
minWidth: minWidth,
|
|
127
|
+
maxWidth: maxWidth,
|
|
128
|
+
zIndex: zIndexValue
|
|
129
|
+
});
|
|
130
|
+
var styles = {
|
|
131
|
+
content: stylesConfiguration
|
|
132
|
+
};
|
|
133
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactModal["default"], {
|
|
134
|
+
id: id,
|
|
135
|
+
isOpen: showModal,
|
|
136
|
+
closeTimeoutMS: 120,
|
|
137
|
+
onRequestClose: function onRequestClose() {
|
|
138
|
+
return closeModal();
|
|
139
|
+
},
|
|
140
|
+
shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
|
|
141
|
+
style: styles,
|
|
142
|
+
appElement: document.getElementById('root') || undefined,
|
|
143
|
+
children: children
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}, {
|
|
147
|
+
key: "preventScroll",
|
|
148
|
+
value: function preventScroll(offset) {
|
|
149
|
+
if (!ModalContainer.openInstances) {
|
|
150
|
+
this.setState({
|
|
151
|
+
scroll: offset
|
|
152
|
+
});
|
|
153
|
+
document.body.style.position = 'fixed';
|
|
154
|
+
document.body.style.left = "0px";
|
|
155
|
+
document.body.style.right = "0px";
|
|
156
|
+
document.body.style.top = "-".concat(offset, "px");
|
|
157
|
+
}
|
|
158
|
+
ModalContainer.openInstances++;
|
|
159
|
+
}
|
|
160
|
+
}, {
|
|
161
|
+
key: "resetScroll",
|
|
162
|
+
value: function resetScroll() {
|
|
163
|
+
ModalContainer.openInstances--;
|
|
164
|
+
if (!ModalContainer.openInstances) {
|
|
165
|
+
//@ts-ignore
|
|
166
|
+
document.body.style.position = null;
|
|
167
|
+
//@ts-ignore
|
|
168
|
+
document.body.style.left = null;
|
|
169
|
+
//@ts-ignore
|
|
170
|
+
document.body.style.top = null;
|
|
171
|
+
//@ts-ignore
|
|
172
|
+
document.body.style.right = null;
|
|
173
|
+
this.state.scroll && window.scrollTo(0, this.state.scroll);
|
|
174
|
+
this.setState({
|
|
175
|
+
scroll: 0
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}]);
|
|
180
|
+
return ModalContainer;
|
|
181
|
+
}(React.Component);
|
|
182
|
+
(0, _defineProperty2["default"])(ModalContainer, "propTypes", {
|
|
158
183
|
id: _propTypes["default"].string,
|
|
159
184
|
showModal: _propTypes["default"].bool.isRequired,
|
|
160
185
|
closeModal: _propTypes["default"].func.isRequired,
|
|
@@ -167,7 +192,8 @@ ModalContainer.propTypes = {
|
|
|
167
192
|
maxWidth: _propTypes["default"].string,
|
|
168
193
|
zIndex: _propTypes["default"].number,
|
|
169
194
|
shouldCloseOnOverlayClick: _propTypes["default"].bool
|
|
170
|
-
};
|
|
195
|
+
});
|
|
196
|
+
(0, _defineProperty2["default"])(ModalContainer, "openInstances", 0);
|
|
171
197
|
var _default = ModalContainer;
|
|
172
198
|
exports["default"] = _default;
|
|
173
199
|
//# sourceMappingURL=ModalContainer.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalContainer.cjs","names":["React","_interopRequireWildcard","require","_reactModal","_interopRequireDefault","_styles","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","concat","Z_INDEXES","backdrop","modal","Counter","openInstances","ModalContainer","props","_React$useState","useState","_React$useState2","_slicedToArray2","scroll","setScroll","_React$useState3","_React$useState4","wasOpened","setWasOpened","preventScroll","offset","document","body","style","position","resetScroll","window","scrollTo","useEffect","scrollY","console","log","showModal","ReactModal","defaultStyles","overlay","backgroundColor","querySelector","head","getElementsByTagName","createElement","setAttribute","appendChild","createTextNode","id","closeModal","children","_props$height","_props$width","_props$overflow","padding","_props$minWidth","minWidth","_props$maxWidth","maxWidth","_props$zIndex","zIndex","parseInt","_props$shouldCloseOnO","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","styles","setAppElement","jsx","isOpen","closeTimeoutMS","onRequestClose","propTypes","_propTypes","string","bool","isRequired","func","any","number","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\nconst Counter = { openInstances : 0};\r\nconst ModalContainer: React.FC<ModalContainerProps> = (props: ModalContainerProps) => {\r\n\r\n const [scroll, setScroll] = React.useState<number>();\r\n const [wasOpened, setWasOpened] = React.useState<boolean>(false);\r\n \r\n const preventScroll = (offset: number) => {\r\n Counter.openInstances++;\r\n setWasOpened(true);\r\n if (document) {\r\n setScroll(offset);\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n }\r\n\r\n const resetScroll = () => {\r\n Counter.openInstances--;\r\n if (!Counter.openInstances && document) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n scroll && window.scrollTo(0, scroll);\r\n setScroll(0);\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n window && setScroll(window.scrollY);\r\n });\r\n\r\n React.useEffect(() => {\r\n console.log('was closed!');\r\n //modal was opened\r\n window && !props.showModal && wasOpened && resetScroll();\r\n //modal was closed\r\n window && props.showModal && preventScroll(window.scrollY);\r\n }, [props.showModal]);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n console.log('CLEANUP!');\r\n console.log(window); \r\n console.log(props.showModal);\r\n console.log(wasOpened);\r\n window && props.showModal && wasOpened && resetScroll();\r\n };\r\n }, []);\r\n\r\n\r\n React.useEffect(() => {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (document && !document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n \r\n }, []);\r\n\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n onRequestClose={() => closeModal()}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n}\r\n\r\nexport default ModalContainer;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ModalContainer.cjs","names":["React","_interopRequireWildcard","require","_reactModal","_interopRequireDefault","_styles","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","_isNativeReflectConstruct","_getPrototypeOf2","s","constructor","Reflect","construct","_possibleConstructorReturn2","Boolean","prototype","valueOf","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","concat","Z_INDEXES","backdrop","modal","ModalContainer","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","ReactModal","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","_this$props","id","closeModal","children","_this$props$height","_this$props$width","_this$props$overflow","padding","_this$props$minWidth","minWidth","_this$props$maxWidth","maxWidth","_this$props$zIndex","zIndex","parseInt","_this$props$shouldClo","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","styles","jsx","isOpen","closeTimeoutMS","onRequestClose","appElement","getElementById","undefined","offset","openInstances","setState","body","position","state","scrollTo","Component","_propTypes","string","bool","isRequired","func","any","number","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}\r\n appElement={document.getElementById('root') || undefined}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,5 +13,21 @@ type ModalContainerProps = {
|
|
|
13
13
|
zIndex?: number;
|
|
14
14
|
shouldCloseOnOverlayClick?: boolean;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
type ModalContainerState = {
|
|
17
|
+
scroll: number;
|
|
18
|
+
};
|
|
19
|
+
declare class ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {
|
|
20
|
+
private static openInstances;
|
|
21
|
+
componentDidMount(): void;
|
|
22
|
+
getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): {
|
|
23
|
+
scroll: number;
|
|
24
|
+
};
|
|
25
|
+
componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: {
|
|
26
|
+
scroll: number;
|
|
27
|
+
}): void;
|
|
28
|
+
componentWillUnmount(): void;
|
|
29
|
+
render(): React.JSX.Element;
|
|
30
|
+
private preventScroll;
|
|
31
|
+
private resetScroll;
|
|
32
|
+
}
|
|
17
33
|
export default ModalContainer;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
1
6
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
7
|
import _pt from "prop-types";
|
|
4
8
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
9
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = _getPrototypeOf(t); if (r) { var s = _getPrototypeOf(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return _possibleConstructorReturn(this, e); }; }
|
|
11
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
6
12
|
import * as React from 'react';
|
|
7
13
|
import ReactModal from 'react-modal';
|
|
8
14
|
import { BOXSHADOWS } from '../styles';
|
|
@@ -27,125 +33,144 @@ var ModalContainerStyles = {
|
|
|
27
33
|
|
|
28
34
|
//override modal classes to define the animations
|
|
29
35
|
var modalTransitions = "\n\n@keyframes modalOpenAnimation {\n from{\n transform: scale(1.1, 1.1);\n }\n to {\n transform: scale(1, 1);\n }\n}\n\n.ReactModal__Overlay {\n opacity: 0;\n z-index: ".concat(Z_INDEXES.backdrop, ";\n display:flex;\n justify-content: center;\n align-items: center;\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n z-index: ").concat(Z_INDEXES.modal, ";\n opacity:0;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n animation: modalOpenAnimation 150ms ease-in-out;\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n");
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
36
|
+
var ModalContainer = /*#__PURE__*/function (_React$Component) {
|
|
37
|
+
_inherits(ModalContainer, _React$Component);
|
|
38
|
+
var _super = _createSuper(ModalContainer);
|
|
39
|
+
function ModalContainer() {
|
|
40
|
+
_classCallCheck(this, ModalContainer);
|
|
41
|
+
return _super.apply(this, arguments);
|
|
42
|
+
}
|
|
43
|
+
_createClass(ModalContainer, [{
|
|
44
|
+
key: "componentDidMount",
|
|
45
|
+
value: function componentDidMount() {
|
|
46
|
+
if (ReactModal.defaultStyles.overlay) {
|
|
47
|
+
ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//append style node to override modal transition classes
|
|
51
|
+
if (!document.querySelector('[modal-custom-styling="active"]')) {
|
|
52
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
53
|
+
var style = document.createElement('style');
|
|
54
|
+
style.setAttribute('modal-custom-styling', 'active');
|
|
55
|
+
head.appendChild(style);
|
|
56
|
+
style.appendChild(document.createTextNode(modalTransitions));
|
|
57
|
+
}
|
|
58
|
+
if (this.props.showModal) {
|
|
59
|
+
this.preventScroll(window.scrollY);
|
|
60
|
+
}
|
|
51
61
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
//@ts-ignore
|
|
59
|
-
document.body.style.left = null;
|
|
60
|
-
//@ts-ignore
|
|
61
|
-
document.body.style.top = null;
|
|
62
|
-
//@ts-ignore
|
|
63
|
-
document.body.style.right = null;
|
|
64
|
-
scroll && window.scrollTo(0, scroll);
|
|
65
|
-
setScroll(0);
|
|
62
|
+
}, {
|
|
63
|
+
key: "getSnapshotBeforeUpdate",
|
|
64
|
+
value: function getSnapshotBeforeUpdate(prevProps, prevState) {
|
|
65
|
+
return {
|
|
66
|
+
scroll: window.scrollY
|
|
67
|
+
};
|
|
66
68
|
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
window && props.showModal && preventScroll(window.scrollY);
|
|
77
|
-
}, [props.showModal]);
|
|
78
|
-
React.useEffect(function () {
|
|
79
|
-
return function () {
|
|
80
|
-
console.log('CLEANUP!');
|
|
81
|
-
console.log(window);
|
|
82
|
-
console.log(props.showModal);
|
|
83
|
-
console.log(wasOpened);
|
|
84
|
-
window && props.showModal && wasOpened && resetScroll();
|
|
85
|
-
};
|
|
86
|
-
}, []);
|
|
87
|
-
React.useEffect(function () {
|
|
88
|
-
if (ReactModal.defaultStyles.overlay) {
|
|
89
|
-
ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';
|
|
69
|
+
}, {
|
|
70
|
+
key: "componentDidUpdate",
|
|
71
|
+
value: function componentDidUpdate(prevProps, prevState, snapshot) {
|
|
72
|
+
if (this.props.showModal && !prevProps.showModal) {
|
|
73
|
+
this.preventScroll(snapshot.scroll);
|
|
74
|
+
}
|
|
75
|
+
if (!this.props.showModal && prevProps.showModal) {
|
|
76
|
+
this.resetScroll();
|
|
77
|
+
}
|
|
90
78
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
head.appendChild(style);
|
|
98
|
-
style.appendChild(document.createTextNode(modalTransitions));
|
|
79
|
+
}, {
|
|
80
|
+
key: "componentWillUnmount",
|
|
81
|
+
value: function componentWillUnmount() {
|
|
82
|
+
if (this.props.showModal) {
|
|
83
|
+
this.resetScroll();
|
|
84
|
+
}
|
|
99
85
|
}
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
86
|
+
}, {
|
|
87
|
+
key: "render",
|
|
88
|
+
value: function render() {
|
|
89
|
+
var _this$props = this.props,
|
|
90
|
+
id = _this$props.id,
|
|
91
|
+
showModal = _this$props.showModal,
|
|
92
|
+
closeModal = _this$props.closeModal,
|
|
93
|
+
children = _this$props.children,
|
|
94
|
+
_this$props$height = _this$props.height,
|
|
95
|
+
height = _this$props$height === void 0 ? 'auto' : _this$props$height,
|
|
96
|
+
_this$props$width = _this$props.width,
|
|
97
|
+
width = _this$props$width === void 0 ? 'auto' : _this$props$width,
|
|
98
|
+
_this$props$overflow = _this$props.overflow,
|
|
99
|
+
overflow = _this$props$overflow === void 0 ? 'visible' : _this$props$overflow,
|
|
100
|
+
padding = _this$props.padding,
|
|
101
|
+
_this$props$minWidth = _this$props.minWidth,
|
|
102
|
+
minWidth = _this$props$minWidth === void 0 ? '' : _this$props$minWidth,
|
|
103
|
+
_this$props$maxWidth = _this$props.maxWidth,
|
|
104
|
+
maxWidth = _this$props$maxWidth === void 0 ? '' : _this$props$maxWidth,
|
|
105
|
+
_this$props$zIndex = _this$props.zIndex,
|
|
106
|
+
zIndex = _this$props$zIndex === void 0 ? parseInt(Z_INDEXES.modal) : _this$props$zIndex,
|
|
107
|
+
_this$props$shouldClo = _this$props.shouldCloseOnOverlayClick,
|
|
108
|
+
shouldCloseOnOverlayClick = _this$props$shouldClo === void 0 ? true : _this$props$shouldClo;
|
|
120
109
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
|
|
110
|
+
// should be at least z-index of modal and below z-index of toast
|
|
111
|
+
var zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);
|
|
112
|
+
var stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
|
|
113
|
+
height: height,
|
|
114
|
+
width: width,
|
|
115
|
+
padding: padding,
|
|
116
|
+
overflow: overflow,
|
|
117
|
+
minWidth: minWidth,
|
|
118
|
+
maxWidth: maxWidth,
|
|
119
|
+
zIndex: zIndexValue
|
|
120
|
+
});
|
|
121
|
+
var styles = {
|
|
122
|
+
content: stylesConfiguration
|
|
123
|
+
};
|
|
124
|
+
return /*#__PURE__*/_jsx(ReactModal, {
|
|
125
|
+
id: id,
|
|
126
|
+
isOpen: showModal,
|
|
127
|
+
closeTimeoutMS: 120,
|
|
128
|
+
onRequestClose: function onRequestClose() {
|
|
129
|
+
return closeModal();
|
|
130
|
+
},
|
|
131
|
+
shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
|
|
132
|
+
style: styles,
|
|
133
|
+
appElement: document.getElementById('root') || undefined,
|
|
134
|
+
children: children
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}, {
|
|
138
|
+
key: "preventScroll",
|
|
139
|
+
value: function preventScroll(offset) {
|
|
140
|
+
if (!ModalContainer.openInstances) {
|
|
141
|
+
this.setState({
|
|
142
|
+
scroll: offset
|
|
143
|
+
});
|
|
144
|
+
document.body.style.position = 'fixed';
|
|
145
|
+
document.body.style.left = "0px";
|
|
146
|
+
document.body.style.right = "0px";
|
|
147
|
+
document.body.style.top = "-".concat(offset, "px");
|
|
148
|
+
}
|
|
149
|
+
ModalContainer.openInstances++;
|
|
150
|
+
}
|
|
151
|
+
}, {
|
|
152
|
+
key: "resetScroll",
|
|
153
|
+
value: function resetScroll() {
|
|
154
|
+
ModalContainer.openInstances--;
|
|
155
|
+
if (!ModalContainer.openInstances) {
|
|
156
|
+
//@ts-ignore
|
|
157
|
+
document.body.style.position = null;
|
|
158
|
+
//@ts-ignore
|
|
159
|
+
document.body.style.left = null;
|
|
160
|
+
//@ts-ignore
|
|
161
|
+
document.body.style.top = null;
|
|
162
|
+
//@ts-ignore
|
|
163
|
+
document.body.style.right = null;
|
|
164
|
+
this.state.scroll && window.scrollTo(0, this.state.scroll);
|
|
165
|
+
this.setState({
|
|
166
|
+
scroll: 0
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}]);
|
|
171
|
+
return ModalContainer;
|
|
172
|
+
}(React.Component);
|
|
173
|
+
_defineProperty(ModalContainer, "propTypes", {
|
|
149
174
|
id: _pt.string,
|
|
150
175
|
showModal: _pt.bool.isRequired,
|
|
151
176
|
closeModal: _pt.func.isRequired,
|
|
@@ -158,6 +183,7 @@ ModalContainer.propTypes = {
|
|
|
158
183
|
maxWidth: _pt.string,
|
|
159
184
|
zIndex: _pt.number,
|
|
160
185
|
shouldCloseOnOverlayClick: _pt.bool
|
|
161
|
-
};
|
|
186
|
+
});
|
|
187
|
+
_defineProperty(ModalContainer, "openInstances", 0);
|
|
162
188
|
export default ModalContainer;
|
|
163
189
|
//# sourceMappingURL=ModalContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalContainer.js","names":["React","ReactModal","BOXSHADOWS","Z_INDEXES","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","concat","backdrop","modal","Counter","openInstances","ModalContainer","props","_React$useState","useState","_React$useState2","_slicedToArray","scroll","setScroll","_React$useState3","_React$useState4","wasOpened","setWasOpened","preventScroll","offset","document","body","style","position","resetScroll","window","scrollTo","useEffect","scrollY","console","log","showModal","defaultStyles","overlay","backgroundColor","querySelector","head","getElementsByTagName","createElement","setAttribute","appendChild","createTextNode","id","closeModal","children","_props$height","_props$width","_props$overflow","padding","_props$minWidth","minWidth","_props$maxWidth","maxWidth","_props$zIndex","zIndex","parseInt","_props$shouldCloseOnO","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","styles","setAppElement","isOpen","closeTimeoutMS","onRequestClose","propTypes","_pt","string","bool","isRequired","func","any","number"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\nconst Counter = { openInstances : 0};\r\nconst ModalContainer: React.FC<ModalContainerProps> = (props: ModalContainerProps) => {\r\n\r\n const [scroll, setScroll] = React.useState<number>();\r\n const [wasOpened, setWasOpened] = React.useState<boolean>(false);\r\n \r\n const preventScroll = (offset: number) => {\r\n Counter.openInstances++;\r\n setWasOpened(true);\r\n if (document) {\r\n setScroll(offset);\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n }\r\n\r\n const resetScroll = () => {\r\n Counter.openInstances--;\r\n if (!Counter.openInstances && document) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n scroll && window.scrollTo(0, scroll);\r\n setScroll(0);\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n window && setScroll(window.scrollY);\r\n });\r\n\r\n React.useEffect(() => {\r\n console.log('was closed!');\r\n //modal was opened\r\n window && !props.showModal && wasOpened && resetScroll();\r\n //modal was closed\r\n window && props.showModal && preventScroll(window.scrollY);\r\n }, [props.showModal]);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n console.log('CLEANUP!');\r\n console.log(window); \r\n console.log(props.showModal);\r\n console.log(wasOpened);\r\n window && props.showModal && wasOpened && resetScroll();\r\n };\r\n }, []);\r\n\r\n\r\n React.useEffect(() => {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (document && !document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n \r\n }, []);\r\n\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n onRequestClose={() => closeModal()}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n}\r\n\r\nexport default ModalContainer;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ModalContainer.js","names":["React","ReactModal","BOXSHADOWS","Z_INDEXES","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","concat","backdrop","modal","ModalContainer","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","componentDidMount","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","_this$props","id","closeModal","children","_this$props$height","_this$props$width","_this$props$overflow","padding","_this$props$minWidth","minWidth","_this$props$maxWidth","maxWidth","_this$props$zIndex","zIndex","parseInt","_this$props$shouldClo","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","styles","isOpen","closeTimeoutMS","onRequestClose","appElement","getElementById","undefined","offset","openInstances","setState","body","position","state","scrollTo","Component","_defineProperty","_pt","string","bool","isRequired","func","any","number"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}\r\n appElement={document.getElementById('root') || undefined}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":"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","ignoreList":[]}
|