Skip to content

Commit 8042f9b

Browse files
author
Luke Bowerman
authored
Fix useScrollLock SSR issue (#839)
Also remove resolution for `sharp` as it no longer appears to be needed
1 parent 71e71ca commit 8042f9b

File tree

3 files changed

+27
-24
lines changed

3 files changed

+27
-24
lines changed

package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,6 @@
8080
"typescript": "^3.8.3",
8181
"typescript-plugin-styled-components": "^1.4.4"
8282
},
83-
"resolutions": {
84-
"sharp": "0.24.0"
85-
},
8683
"lint-staged": {
8784
"**/*.ts?(x)": [
8885
"stylelint",

packages/components/src/utils/useScrollLock.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ import { useToggle } from './useToggle'
3131
import { useCallbackRef } from './useCallbackRef'
3232

3333
function setBodyOverflowHidden() {
34-
document.body.style.overflow = 'hidden'
34+
if (typeof document !== 'undefined') {
35+
document.body.style.overflow = 'hidden'
36+
}
3537
}
3638

3739
export function useScrollLock(
@@ -47,9 +49,13 @@ export function useScrollLock(
4749
const { value, setOn, setOff } = useToggle(enabled)
4850

4951
// save the existing body overflow value
50-
const bodyOverflowRef = useRef(document.body.style.overflow)
52+
const bodyOverflowRef = useRef(
53+
typeof document !== 'undefined' ? document.body.style.overflow : ''
54+
)
5155

5256
useEffect(() => {
57+
if (typeof document === 'undefined' || typeof window === 'undefined') return
58+
5359
let scrollTop = window.scrollY
5460
let scrollTarget: EventTarget | HTMLElement | null = document
5561

yarn.lock

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13208,7 +13208,7 @@ mkdirp-promise@^5.0.1:
1320813208
dependencies:
1320913209
mkdirp "*"
1321013210

13211-
mkdirp@*:
13211+
mkdirp@*, mkdirp@^1.0.3:
1321213212
version "1.0.4"
1321313213
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
1321413214
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
@@ -13323,11 +13323,6 @@ nan@^2.12.1:
1332313323
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
1332413324
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
1332513325

13326-
nan@^2.14.0:
13327-
version "2.14.1"
13328-
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
13329-
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
13330-
1333113326
nanomatch@^1.2.9:
1333213327
version "1.2.13"
1333313328
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -13413,6 +13408,11 @@ node-abi@^2.7.0:
1341313408
dependencies:
1341413409
semver "^5.4.1"
1341513410

13411+
node-addon-api@^2.0.0:
13412+
version "2.0.0"
13413+
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.0.tgz#f9afb8d777a91525244b01775ea0ddbe1125483b"
13414+
integrity sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA==
13415+
1341613416
node-emoji@^1.10.0:
1341713417
version "1.10.0"
1341813418
resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da"
@@ -16999,7 +16999,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
1699916999
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1700017000
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1700117001

17002-
semver@^7.1.1:
17002+
semver@^7.1.1, semver@^7.1.3:
1700317003
version "7.3.2"
1700417004
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
1700517005
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
@@ -17124,19 +17124,19 @@ shallowequal@^1.1.0:
1712417124
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
1712517125
integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
1712617126

17127-
sharp@0.24.0, sharp@^0.25.1:
17128-
version "0.24.0"
17129-
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.24.0.tgz#1200f4bb36ccc2bb36a78f0bcba0302cf1f7a5fd"
17130-
integrity sha512-kUtQE6+HJnNqO0H6ueOBtRXahktuqydIBaFMvhDelf/KaK9j/adEdjf4Y3+bbjYOa5i6hi2EAa2Y2G9umP4s2g==
17127+
sharp@^0.25.1:
17128+
version "0.25.2"
17129+
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.25.2.tgz#f9003d73be50e9265e98f79f04fe53d8c66a3967"
17130+
integrity sha512-l1GN0kFNtJr3U9i9pt7a+vo2Ij0xv4tTKDIPx8W6G9WELhPwrMyZZJKAAQNBSI785XB4uZfS5Wpz8C9jWV4AFQ==
1713117131
dependencies:
1713217132
color "^3.1.2"
1713317133
detect-libc "^1.0.3"
17134-
nan "^2.14.0"
17134+
node-addon-api "^2.0.0"
1713517135
npmlog "^4.1.2"
1713617136
prebuild-install "^5.3.3"
17137-
semver "^7.1.1"
17137+
semver "^7.1.3"
1713817138
simple-get "^3.1.0"
17139-
tar "^5.0.5"
17139+
tar "^6.0.1"
1714017140
tunnel-agent "^0.6.0"
1714117141

1714217142
shebang-command@^1.2.0:
@@ -18356,16 +18356,16 @@ tar@^4.4.10, tar@^4.4.12, tar@^4.4.8:
1835618356
safe-buffer "^5.1.2"
1835718357
yallist "^3.0.3"
1835818358

18359-
tar@^5.0.5:
18360-
version "5.0.5"
18361-
resolved "https://registry.yarnpkg.com/tar/-/tar-5.0.5.tgz#03fcdb7105bc8ea3ce6c86642b9c942495b04f93"
18362-
integrity sha512-MNIgJddrV2TkuwChwcSNds/5E9VijOiw7kAc1y5hTNJoLDSuIyid2QtLYiCYNnICebpuvjhPQZsXwUL0O3l7OQ==
18359+
tar@^6.0.1:
18360+
version "6.0.1"
18361+
resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.1.tgz#7b3bd6c313cb6e0153770108f8d70ac298607efa"
18362+
integrity sha512-bKhKrrz2FJJj5s7wynxy/fyxpE0CmCjmOQ1KV4KkgXFWOgoIT/NbTMnB1n+LFNrNk0SSBVGGxcK5AGsyC+pW5Q==
1836318363
dependencies:
1836418364
chownr "^1.1.3"
1836518365
fs-minipass "^2.0.0"
1836618366
minipass "^3.0.0"
1836718367
minizlib "^2.1.0"
18368-
mkdirp "^0.5.0"
18368+
mkdirp "^1.0.3"
1836918369
yallist "^4.0.0"
1837018370

1837118371
temp-dir@^1.0.0:

0 commit comments

Comments
 (0)