@salutejs/plasma-new-hope 0.156.0-canary.1461.11071241828.0 → 0.156.0-canary.1461.11104204476.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -50,13 +50,19 @@ var useDrawer = function useDrawer(_ref) {
50
50
 
51
51
  // linaria не поддерживает динамический global
52
52
  React.useEffect(function () {
53
- if (isOpen && disableScroll && canUseDOM.canUseDOM) {
53
+ if (!canUseDOM.canUseDOM) {
54
+ return;
55
+ }
56
+ if (isOpen && disableScroll) {
54
57
  overflow.current = document.body.style.overflow;
55
58
  document.body.style.overflow = 'hidden';
56
59
  }
57
60
  }, [isOpen, disableScroll]);
58
61
  React.useEffect(function () {
59
- if (!isOpen && !DrawerContext.hasDrawers(popupController.items) && canUseDOM.canUseDOM) {
62
+ if (!canUseDOM.canUseDOM) {
63
+ return;
64
+ }
65
+ if (!isOpen && !DrawerContext.hasDrawers(popupController.items)) {
60
66
  document.body.style.overflow = overflow.current;
61
67
  }
62
68
  }, [isOpen, popupController.items]);
@@ -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 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 (isOpen && disableScroll && canUseDOM) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {\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":";;;;;;;;;;;;;;AAOA,IAAMA,cAAc,GAAG,EAAE,CAAA;IAEZC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAQA;AAAA,EAAA,IAPlBC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IACZC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IAAAC,eAAA,GAAAN,IAAA,CACPO,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,kBAAA,GAAAR,IAAA,CACjBS,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,kBAAA,CAAA;AAEpB,EAAA,IAAME,eAAe,GAAGC,4BAAe,EAAE,CAAA;AACzC,EAAA,IAAMC,QAAQ,GAAGC,YAAM,CAASC,mBAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,SAAS,CAAC,CAAA;;AAErF;AACA,EAAA,IAAMM,SAAS,GAAGC,iBAAW,CACzB,UAACC,KAAoB,EAAK;IACtB,IAAI,CAACb,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAIa,KAAK,CAACC,OAAO,KAAKvB,cAAc,IAAIwB,6BAAe,CAACZ,eAAe,CAACa,KAAK,CAAC,KAAKtB,EAAE,EAAE;AACnF,MAAA,IAAIG,YAAY,EAAE;QACdA,YAAY,CAACgB,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIf,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEM,eAAe,CAACa,KAAK,EAAEhB,UAAU,CAC7D,CAAC,CAAA;AAEDiB,EAAAA,eAAS,CAAC,YAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAER,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,YAAM;AACTO,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAET,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;;AAEf;AACAM,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAItB,MAAM,IAAIO,aAAa,IAAIK,mBAAS,EAAE;MACtCF,QAAQ,CAACgB,OAAO,GAAGb,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,CAAA;AAE/CG,MAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,QAAQ,CAAA;AAC3C,KAAA;AACJ,GAAC,EAAE,CAACV,MAAM,EAAEO,aAAa,CAAC,CAAC,CAAA;AAE3Be,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAI,CAACtB,MAAM,IAAI,CAAC2B,wBAAU,CAACnB,eAAe,CAACa,KAAK,CAAC,IAAIT,mBAAS,EAAE;MAC5DC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAGA,QAAQ,CAACgB,OAAO,CAAA;AACnD,KAAA;GACH,EAAE,CAAC1B,MAAM,EAAEQ,eAAe,CAACa,KAAK,CAAC,CAAC,CAAA;EAEnC,IAAMO,UAAsB,GAAAC,uCAAA,CAAA;AACxB9B,IAAAA,EAAE,EAAFA,EAAE;AACF+B,IAAAA,IAAI,EAAE;AACFC,MAAAA,QAAQ,EAAE,IAAA;AACd,KAAA;AAAC,GAAA,EACE9B,SAAS,CACf,CAAA;EAED,OAAO;AAAE2B,IAAAA,UAAU,EAAVA,UAAAA;GAAY,CAAA;AACzB;;;;"}
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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"}
@@ -52,13 +52,19 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
52
52
 
53
53
  // linaria не поддерживает динамический global
54
54
  (0, _react.useEffect)(function () {
55
- if (isOpen && disableScroll && _utils.canUseDOM) {
55
+ if (!_utils.canUseDOM) {
56
+ return;
57
+ }
58
+ if (isOpen && disableScroll) {
56
59
  overflow.current = document.body.style.overflow;
57
60
  document.body.style.overflow = 'hidden';
58
61
  }
59
62
  }, [isOpen, disableScroll]);
60
63
  (0, _react.useEffect)(function () {
61
- if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items) && _utils.canUseDOM) {
64
+ if (!_utils.canUseDOM) {
65
+ return;
66
+ }
67
+ if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items)) {
62
68
  document.body.style.overflow = overflow.current;
63
69
  }
64
70
  }, [isOpen, popupController.items]);
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -46,13 +46,19 @@ export var useDrawer = function useDrawer(_ref) {
46
46
 
47
47
  // linaria не поддерживает динамический global
48
48
  useEffect(function () {
49
- if (isOpen && disableScroll && canUseDOM) {
49
+ if (!canUseDOM) {
50
+ return;
51
+ }
52
+ if (isOpen && disableScroll) {
50
53
  overflow.current = document.body.style.overflow;
51
54
  document.body.style.overflow = 'hidden';
52
55
  }
53
56
  }, [isOpen, disableScroll]);
54
57
  useEffect(function () {
55
- if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {
58
+ if (!canUseDOM) {
59
+ return;
60
+ }
61
+ if (!isOpen && !hasDrawers(popupController.items)) {
56
62
  document.body.style.overflow = overflow.current;
57
63
  }
58
64
  }, [isOpen, popupController.items]);
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -46,13 +46,19 @@ var useDrawer = function useDrawer(_ref) {
46
46
 
47
47
  // linaria не поддерживает динамический global
48
48
  useEffect(function () {
49
- if (isOpen && disableScroll && canUseDOM) {
49
+ if (!canUseDOM) {
50
+ return;
51
+ }
52
+ if (isOpen && disableScroll) {
50
53
  overflow.current = document.body.style.overflow;
51
54
  document.body.style.overflow = 'hidden';
52
55
  }
53
56
  }, [isOpen, disableScroll]);
54
57
  useEffect(function () {
55
- if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {
58
+ if (!canUseDOM) {
59
+ return;
60
+ }
61
+ if (!isOpen && !hasDrawers(popupController.items)) {
56
62
  document.body.style.overflow = overflow.current;
57
63
  }
58
64
  }, [isOpen, popupController.items]);
@@ -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 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 (isOpen && disableScroll && canUseDOM) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {\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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"}
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.11071241828.0",
3
+ "version": "0.156.0-canary.1461.11104204476.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": "f47aab24d34e4b2aa061d7b661ea5070af2ef90d"
126
+ "gitHead": "9b2a6f1d98f9a7575336382eda9ca439cb9f5e28"
127
127
  }
@@ -52,13 +52,19 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
52
52
 
53
53
  // linaria не поддерживает динамический global
54
54
  (0, _react.useEffect)(function () {
55
- if (isOpen && disableScroll && _utils.canUseDOM) {
55
+ if (!_utils.canUseDOM) {
56
+ return;
57
+ }
58
+ if (isOpen && disableScroll) {
56
59
  overflow.current = document.body.style.overflow;
57
60
  document.body.style.overflow = 'hidden';
58
61
  }
59
62
  }, [isOpen, disableScroll]);
60
63
  (0, _react.useEffect)(function () {
61
- if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items) && _utils.canUseDOM) {
64
+ if (!_utils.canUseDOM) {
65
+ return;
66
+ }
67
+ if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items)) {
62
68
  document.body.style.overflow = overflow.current;
63
69
  }
64
70
  }, [isOpen, popupController.items]);
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -46,13 +46,19 @@ export var useDrawer = function useDrawer(_ref) {
46
46
 
47
47
  // linaria не поддерживает динамический global
48
48
  useEffect(function () {
49
- if (isOpen && disableScroll && canUseDOM) {
49
+ if (!canUseDOM) {
50
+ return;
51
+ }
52
+ if (isOpen && disableScroll) {
50
53
  overflow.current = document.body.style.overflow;
51
54
  document.body.style.overflow = 'hidden';
52
55
  }
53
56
  }, [isOpen, disableScroll]);
54
57
  useEffect(function () {
55
- if (!isOpen && !hasDrawers(popupController.items) && canUseDOM) {
58
+ if (!canUseDOM) {
59
+ return;
60
+ }
61
+ if (!isOpen && !hasDrawers(popupController.items)) {
56
62
  document.body.style.overflow = overflow.current;
57
63
  }
58
64
  }, [isOpen, popupController.items]);
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -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;;CAuDhB,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"}