@salutejs/plasma-new-hope 0.156.0-canary.1461.11068657609.0 → 0.156.0-canary.1461.11103356373.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,8 +24,7 @@ var useDrawer = function useDrawer(_ref) {
24
24
  _ref$disableScroll = _ref.disableScroll,
25
25
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
26
26
  var popupController = PopupContext.usePopupContext();
27
- var overflowY = React.useRef(canUseDOM.canUseDOM ? document.body.style.overflowY : '');
28
- var overflowX = React.useRef(canUseDOM.canUseDOM ? document.body.style.overflowX : '');
27
+ var overflow = React.useRef(canUseDOM.canUseDOM ? document.body.style.overflow : 'initial');
29
28
 
30
29
  // При ESC закрывает текущее окно, если это возможно
31
30
  var onKeyDown = React.useCallback(function (event) {
@@ -51,17 +50,20 @@ var useDrawer = function useDrawer(_ref) {
51
50
 
52
51
  // linaria не поддерживает динамический global
53
52
  React.useEffect(function () {
54
- if (isOpen && disableScroll && canUseDOM.canUseDOM) {
55
- overflowY.current = document.body.style.overflowY;
56
- overflowX.current = document.body.style.overflowX;
57
- document.body.style.overflowY = 'hidden';
58
- document.body.style.overflowX = 'hidden';
53
+ if (!canUseDOM.canUseDOM) {
54
+ return;
55
+ }
56
+ if (isOpen && disableScroll) {
57
+ overflow.current = document.body.style.overflow;
58
+ document.body.style.overflow = 'hidden';
59
59
  }
60
60
  }, [isOpen, disableScroll]);
61
61
  React.useEffect(function () {
62
- if (!isOpen && !DrawerContext.hasDrawers(popupController.items) && canUseDOM.canUseDOM) {
63
- document.body.style.overflowY = overflowY.current;
64
- document.body.style.overflowX = overflowX.current;
62
+ if (!canUseDOM.canUseDOM) {
63
+ return;
64
+ }
65
+ if (!isOpen && !DrawerContext.hasDrawers(popupController.items)) {
66
+ document.body.style.overflow = overflow.current;
65
67
  }
66
68
  }, [isOpen, popupController.items]);
67
69
  var drawerInfo = _rollupPluginBabelHelpers.objectSpread2({
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflowY = useRef<string>(canUseDOM ? document.body.style.overflowY : '');\n const overflowX = useRef<string>(canUseDOM ? document.body.style.overflowX : '');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (isOpen && disableScroll && canUseDOM) {\n overflowY.current = document.body.style.overflowY;\n overflowX.current = document.body.style.overflowX;\n\n document.body.style.overflowY = 'hidden';\n document.body.style.overflowX = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {\n document.body.style.overflowY = overflowY.current;\n document.body.style.overflowX = overflowX.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflowY","useRef","canUseDOM","document","body","style","overflowX","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","items","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(popupController.items)) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","items","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
@@ -26,8 +26,7 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
26
26
  _ref$disableScroll = _ref.disableScroll,
27
27
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
28
28
  var popupController = (0, _Popup.usePopupContext)();
29
- var overflowY = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflowY : '');
30
- var overflowX = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflowX : '');
29
+ var overflow = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflow : 'initial');
31
30
 
32
31
  // При ESC закрывает текущее окно, если это возможно
33
32
  var onKeyDown = (0, _react.useCallback)(function (event) {
@@ -53,17 +52,20 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
53
52
 
54
53
  // linaria не поддерживает динамический global
55
54
  (0, _react.useEffect)(function () {
56
- if (isOpen && disableScroll && _utils.canUseDOM) {
57
- overflowY.current = document.body.style.overflowY;
58
- overflowX.current = document.body.style.overflowX;
59
- document.body.style.overflowY = 'hidden';
60
- document.body.style.overflowX = 'hidden';
55
+ if (!_utils.canUseDOM) {
56
+ return;
57
+ }
58
+ if (isOpen && disableScroll) {
59
+ overflow.current = document.body.style.overflow;
60
+ document.body.style.overflow = 'hidden';
61
61
  }
62
62
  }, [isOpen, disableScroll]);
63
63
  (0, _react.useEffect)(function () {
64
- if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items) && _utils.canUseDOM) {
65
- document.body.style.overflowY = overflowY.current;
66
- document.body.style.overflowX = overflowX.current;
64
+ if (!_utils.canUseDOM) {
65
+ return;
66
+ }
67
+ if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items)) {
68
+ document.body.style.overflow = overflow.current;
67
69
  }
68
70
  }, [isOpen, popupController.items]);
69
71
  var drawerInfo = _objectSpread({
@@ -20,8 +20,7 @@ export var useDrawer = function useDrawer(_ref) {
20
20
  _ref$disableScroll = _ref.disableScroll,
21
21
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
22
22
  var popupController = usePopupContext();
23
- var overflowY = useRef(canUseDOM ? document.body.style.overflowY : '');
24
- var overflowX = useRef(canUseDOM ? document.body.style.overflowX : '');
23
+ var overflow = useRef(canUseDOM ? document.body.style.overflow : 'initial');
25
24
 
26
25
  // При ESC закрывает текущее окно, если это возможно
27
26
  var onKeyDown = useCallback(function (event) {
@@ -47,17 +46,20 @@ export var useDrawer = function useDrawer(_ref) {
47
46
 
48
47
  // linaria не поддерживает динамический global
49
48
  useEffect(function () {
50
- if (isOpen && disableScroll && canUseDOM) {
51
- overflowY.current = document.body.style.overflowY;
52
- overflowX.current = document.body.style.overflowX;
53
- document.body.style.overflowY = 'hidden';
54
- document.body.style.overflowX = 'hidden';
49
+ if (!canUseDOM) {
50
+ return;
51
+ }
52
+ if (isOpen && disableScroll) {
53
+ overflow.current = document.body.style.overflow;
54
+ document.body.style.overflow = 'hidden';
55
55
  }
56
56
  }, [isOpen, disableScroll]);
57
57
  useEffect(function () {
58
- if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {
59
- document.body.style.overflowY = overflowY.current;
60
- document.body.style.overflowX = overflowX.current;
58
+ if (!canUseDOM) {
59
+ return;
60
+ }
61
+ if (!isOpen && !hasDrawers(popupController.items)) {
62
+ document.body.style.overflow = overflow.current;
61
63
  }
62
64
  }, [isOpen, popupController.items]);
63
65
  var drawerInfo = _objectSpread({
@@ -20,8 +20,7 @@ var useDrawer = function useDrawer(_ref) {
20
20
  _ref$disableScroll = _ref.disableScroll,
21
21
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
22
22
  var popupController = usePopupContext();
23
- var overflowY = useRef(canUseDOM ? document.body.style.overflowY : '');
24
- var overflowX = useRef(canUseDOM ? document.body.style.overflowX : '');
23
+ var overflow = useRef(canUseDOM ? document.body.style.overflow : 'initial');
25
24
 
26
25
  // При ESC закрывает текущее окно, если это возможно
27
26
  var onKeyDown = useCallback(function (event) {
@@ -47,17 +46,20 @@ var useDrawer = function useDrawer(_ref) {
47
46
 
48
47
  // linaria не поддерживает динамический global
49
48
  useEffect(function () {
50
- if (isOpen && disableScroll && canUseDOM) {
51
- overflowY.current = document.body.style.overflowY;
52
- overflowX.current = document.body.style.overflowX;
53
- document.body.style.overflowY = 'hidden';
54
- document.body.style.overflowX = 'hidden';
49
+ if (!canUseDOM) {
50
+ return;
51
+ }
52
+ if (isOpen && disableScroll) {
53
+ overflow.current = document.body.style.overflow;
54
+ document.body.style.overflow = 'hidden';
55
55
  }
56
56
  }, [isOpen, disableScroll]);
57
57
  useEffect(function () {
58
- if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {
59
- document.body.style.overflowY = overflowY.current;
60
- document.body.style.overflowX = overflowX.current;
58
+ if (!canUseDOM) {
59
+ return;
60
+ }
61
+ if (!isOpen && !hasDrawers(popupController.items)) {
62
+ document.body.style.overflow = overflow.current;
61
63
  }
62
64
  }, [isOpen, popupController.items]);
63
65
  var drawerInfo = _objectSpread2({
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflowY = useRef<string>(canUseDOM ? document.body.style.overflowY : '');\n const overflowX = useRef<string>(canUseDOM ? document.body.style.overflowX : '');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (isOpen && disableScroll && canUseDOM) {\n overflowY.current = document.body.style.overflowY;\n overflowX.current = document.body.style.overflowX;\n\n document.body.style.overflowY = 'hidden';\n document.body.style.overflowX = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {\n document.body.style.overflowY = overflowY.current;\n document.body.style.overflowX = overflowX.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflowY","useRef","canUseDOM","document","body","style","overflowX","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","items","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(popupController.items)) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","items","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.156.0-canary.1461.11068657609.0",
3
+ "version": "0.156.0-canary.1461.11103356373.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -123,5 +123,5 @@
123
123
  "react-popper": "2.3.0",
124
124
  "storeon": "3.1.5"
125
125
  },
126
- "gitHead": "94dc9b5d1a477d1d778b1afab42996b54f16657d"
126
+ "gitHead": "5f353d2b9a632db7f79cc9f242876da6a2a826c1"
127
127
  }
@@ -26,8 +26,7 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
26
26
  _ref$disableScroll = _ref.disableScroll,
27
27
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
28
28
  var popupController = (0, _Popup.usePopupContext)();
29
- var overflowY = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflowY : '');
30
- var overflowX = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflowX : '');
29
+ var overflow = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflow : 'initial');
31
30
 
32
31
  // При ESC закрывает текущее окно, если это возможно
33
32
  var onKeyDown = (0, _react.useCallback)(function (event) {
@@ -53,17 +52,20 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
53
52
 
54
53
  // linaria не поддерживает динамический global
55
54
  (0, _react.useEffect)(function () {
56
- if (isOpen && disableScroll && _utils.canUseDOM) {
57
- overflowY.current = document.body.style.overflowY;
58
- overflowX.current = document.body.style.overflowX;
59
- document.body.style.overflowY = 'hidden';
60
- document.body.style.overflowX = 'hidden';
55
+ if (!_utils.canUseDOM) {
56
+ return;
57
+ }
58
+ if (isOpen && disableScroll) {
59
+ overflow.current = document.body.style.overflow;
60
+ document.body.style.overflow = 'hidden';
61
61
  }
62
62
  }, [isOpen, disableScroll]);
63
63
  (0, _react.useEffect)(function () {
64
- if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items) && _utils.canUseDOM) {
65
- document.body.style.overflowY = overflowY.current;
66
- document.body.style.overflowX = overflowX.current;
64
+ if (!_utils.canUseDOM) {
65
+ return;
66
+ }
67
+ if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items)) {
68
+ document.body.style.overflow = overflow.current;
67
69
  }
68
70
  }, [isOpen, popupController.items]);
69
71
  var drawerInfo = _objectSpread({
@@ -20,8 +20,7 @@ export var useDrawer = function useDrawer(_ref) {
20
20
  _ref$disableScroll = _ref.disableScroll,
21
21
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
22
22
  var popupController = usePopupContext();
23
- var overflowY = useRef(canUseDOM ? document.body.style.overflowY : '');
24
- var overflowX = useRef(canUseDOM ? document.body.style.overflowX : '');
23
+ var overflow = useRef(canUseDOM ? document.body.style.overflow : 'initial');
25
24
 
26
25
  // При ESC закрывает текущее окно, если это возможно
27
26
  var onKeyDown = useCallback(function (event) {
@@ -47,17 +46,20 @@ export var useDrawer = function useDrawer(_ref) {
47
46
 
48
47
  // linaria не поддерживает динамический global
49
48
  useEffect(function () {
50
- if (isOpen && disableScroll && canUseDOM) {
51
- overflowY.current = document.body.style.overflowY;
52
- overflowX.current = document.body.style.overflowX;
53
- document.body.style.overflowY = 'hidden';
54
- document.body.style.overflowX = 'hidden';
49
+ if (!canUseDOM) {
50
+ return;
51
+ }
52
+ if (isOpen && disableScroll) {
53
+ overflow.current = document.body.style.overflow;
54
+ document.body.style.overflow = 'hidden';
55
55
  }
56
56
  }, [isOpen, disableScroll]);
57
57
  useEffect(function () {
58
- if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {
59
- document.body.style.overflowY = overflowY.current;
60
- document.body.style.overflowX = overflowX.current;
58
+ if (!canUseDOM) {
59
+ return;
60
+ }
61
+ if (!isOpen && !hasDrawers(popupController.items)) {
62
+ document.body.style.overflow = overflow.current;
61
63
  }
62
64
  }, [isOpen, popupController.items]);
63
65
  var drawerInfo = _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAA+B,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,eAAO,MAAM,SAAS,iFAQnB,cAAc;;CA2DhB,CAAC"}
1
+ {"version":3,"file":"useDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAA+B,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,eAAO,MAAM,SAAS,iFAQnB,cAAc;;CA+DhB,CAAC"}