@laerdal/life-react-components 5.0.7-dev.4 → 5.0.7-dev.6

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 Counter = {
40
- openInstances: 0
41
- };
42
- var ModalContainer = function ModalContainer(props) {
43
- var _React$useState = React.useState(),
44
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
45
- scroll = _React$useState2[0],
46
- setScroll = _React$useState2[1];
47
- var _React$useState3 = React.useState(false),
48
- _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
49
- wasOpened = _React$useState4[0],
50
- setWasOpened = _React$useState4[1];
51
- var preventScroll = function preventScroll(offset) {
52
- Counter.openInstances++;
53
- setWasOpened(true);
54
- if (document) {
55
- setScroll(offset);
56
- document.body.style.position = 'fixed';
57
- document.body.style.left = "0px";
58
- document.body.style.right = "0px";
59
- document.body.style.top = "-".concat(offset, "px");
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
- var resetScroll = function resetScroll() {
63
- Counter.openInstances--;
64
- if (!Counter.openInstances && document) {
65
- //@ts-ignore
66
- document.body.style.position = null;
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
- React.useEffect(function () {
78
- window && setScroll(window.scrollY);
79
- });
80
- React.useEffect(function () {
81
- console.log('was closed!');
82
- //modal was opened
83
- window && !props.showModal && wasOpened && resetScroll();
84
- //modal was closed
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
- //append style node to override modal transition classes
102
- if (document && !document.querySelector('[modal-custom-styling="active"]')) {
103
- var head = document.head || document.getElementsByTagName('head')[0];
104
- var style = document.createElement('style');
105
- style.setAttribute('modal-custom-styling', 'active');
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
- var id = props.id,
111
- showModal = props.showModal,
112
- closeModal = props.closeModal,
113
- children = props.children,
114
- _props$height = props.height,
115
- height = _props$height === void 0 ? 'auto' : _props$height,
116
- _props$width = props.width,
117
- width = _props$width === void 0 ? 'auto' : _props$width,
118
- _props$overflow = props.overflow,
119
- overflow = _props$overflow === void 0 ? 'visible' : _props$overflow,
120
- padding = props.padding,
121
- _props$minWidth = props.minWidth,
122
- minWidth = _props$minWidth === void 0 ? '' : _props$minWidth,
123
- _props$maxWidth = props.maxWidth,
124
- maxWidth = _props$maxWidth === void 0 ? '' : _props$maxWidth,
125
- _props$zIndex = props.zIndex,
126
- zIndex = _props$zIndex === void 0 ? parseInt(_styles.Z_INDEXES.modal) : _props$zIndex,
127
- _props$shouldCloseOnO = props.shouldCloseOnOverlayClick,
128
- shouldCloseOnOverlayClick = _props$shouldCloseOnO === void 0 ? true : _props$shouldCloseOnO;
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
- // should be at least z-index of modal and below z-index of toast
131
- var zIndexValue = Math.min(Math.max(zIndex, +_styles.Z_INDEXES.modal), +_styles.Z_INDEXES.toast - 1);
132
- var stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
133
- height: height,
134
- width: width,
135
- padding: padding,
136
- overflow: overflow,
137
- minWidth: minWidth,
138
- maxWidth: maxWidth,
139
- zIndex: zIndexValue
140
- });
141
- var styles = {
142
- content: stylesConfiguration
143
- };
144
- _reactModal["default"].setAppElement('body');
145
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactModal["default"], {
146
- id: id,
147
- isOpen: showModal,
148
- closeTimeoutMS: 120,
149
- shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
150
- onRequestClose: function onRequestClose() {
151
- return closeModal();
152
- },
153
- style: styles,
154
- children: children
155
- });
156
- };
157
- ModalContainer.propTypes = {
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
+ _reactModal["default"].setAppElement('body');
134
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactModal["default"], {
135
+ id: id,
136
+ isOpen: showModal,
137
+ closeTimeoutMS: 120,
138
+ onRequestClose: function onRequestClose() {
139
+ return closeModal();
140
+ },
141
+ shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
142
+ style: styles,
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","setAppElement","jsx","isOpen","closeTimeoutMS","onRequestClose","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 ReactModal.setAppElement('body');\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 {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
- declare const ModalContainer: React.FC<ModalContainerProps>;
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 Counter = {
31
- openInstances: 0
32
- };
33
- var ModalContainer = function ModalContainer(props) {
34
- var _React$useState = React.useState(),
35
- _React$useState2 = _slicedToArray(_React$useState, 2),
36
- scroll = _React$useState2[0],
37
- setScroll = _React$useState2[1];
38
- var _React$useState3 = React.useState(false),
39
- _React$useState4 = _slicedToArray(_React$useState3, 2),
40
- wasOpened = _React$useState4[0],
41
- setWasOpened = _React$useState4[1];
42
- var preventScroll = function preventScroll(offset) {
43
- Counter.openInstances++;
44
- setWasOpened(true);
45
- if (document) {
46
- setScroll(offset);
47
- document.body.style.position = 'fixed';
48
- document.body.style.left = "0px";
49
- document.body.style.right = "0px";
50
- document.body.style.top = "-".concat(offset, "px");
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
- var resetScroll = function resetScroll() {
54
- Counter.openInstances--;
55
- if (!Counter.openInstances && document) {
56
- //@ts-ignore
57
- document.body.style.position = null;
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
- React.useEffect(function () {
69
- window && setScroll(window.scrollY);
70
- });
71
- React.useEffect(function () {
72
- console.log('was closed!');
73
- //modal was opened
74
- window && !props.showModal && wasOpened && resetScroll();
75
- //modal was closed
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
- //append style node to override modal transition classes
93
- if (document && !document.querySelector('[modal-custom-styling="active"]')) {
94
- var head = document.head || document.getElementsByTagName('head')[0];
95
- var style = document.createElement('style');
96
- style.setAttribute('modal-custom-styling', 'active');
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
- var id = props.id,
102
- showModal = props.showModal,
103
- closeModal = props.closeModal,
104
- children = props.children,
105
- _props$height = props.height,
106
- height = _props$height === void 0 ? 'auto' : _props$height,
107
- _props$width = props.width,
108
- width = _props$width === void 0 ? 'auto' : _props$width,
109
- _props$overflow = props.overflow,
110
- overflow = _props$overflow === void 0 ? 'visible' : _props$overflow,
111
- padding = props.padding,
112
- _props$minWidth = props.minWidth,
113
- minWidth = _props$minWidth === void 0 ? '' : _props$minWidth,
114
- _props$maxWidth = props.maxWidth,
115
- maxWidth = _props$maxWidth === void 0 ? '' : _props$maxWidth,
116
- _props$zIndex = props.zIndex,
117
- zIndex = _props$zIndex === void 0 ? parseInt(Z_INDEXES.modal) : _props$zIndex,
118
- _props$shouldCloseOnO = props.shouldCloseOnOverlayClick,
119
- shouldCloseOnOverlayClick = _props$shouldCloseOnO === void 0 ? true : _props$shouldCloseOnO;
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
- // should be at least z-index of modal and below z-index of toast
122
- var zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);
123
- var stylesConfiguration = Object.assign(_objectSpread({}, ModalContainerStyles.content), {
124
- height: height,
125
- width: width,
126
- padding: padding,
127
- overflow: overflow,
128
- minWidth: minWidth,
129
- maxWidth: maxWidth,
130
- zIndex: zIndexValue
131
- });
132
- var styles = {
133
- content: stylesConfiguration
134
- };
135
- ReactModal.setAppElement('body');
136
- return /*#__PURE__*/_jsx(ReactModal, {
137
- id: id,
138
- isOpen: showModal,
139
- closeTimeoutMS: 120,
140
- shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
141
- onRequestClose: function onRequestClose() {
142
- return closeModal();
143
- },
144
- style: styles,
145
- children: children
146
- });
147
- };
148
- ModalContainer.propTypes = {
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
+ ReactModal.setAppElement('body');
125
+ return /*#__PURE__*/_jsx(ReactModal, {
126
+ id: id,
127
+ isOpen: showModal,
128
+ closeTimeoutMS: 120,
129
+ onRequestClose: function onRequestClose() {
130
+ return closeModal();
131
+ },
132
+ shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
133
+ style: styles,
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","setAppElement","isOpen","closeTimeoutMS","onRequestClose","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 ReactModal.setAppElement('body');\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 {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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laerdal/life-react-components",
3
- "version": "5.0.7-dev.4",
3
+ "version": "5.0.7-dev.6",
4
4
  "private": false,
5
5
  "author": "Erik Martirosyan <erik.martirosyan@laerdal.com>",
6
6
  "contributors": [],