From a6b358156c8097c72e25676cf02a59d17fbd1155 Mon Sep 17 00:00:00 2001 From: dotfrag <17456867+dotfrag@users.noreply.github.com> Date: Mon, 27 Jan 2025 11:55:02 +0200 Subject: [PATCH] Fix x-trap.noscroll layout shift conflict with scrollbar-gutter --- packages/focus/src/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/focus/src/index.js b/packages/focus/src/index.js index 11d1b6845..e39834faf 100644 --- a/packages/focus/src/index.js +++ b/packages/focus/src/index.js @@ -199,8 +199,16 @@ function disableScrolling() { let paddingRight = document.documentElement.style.paddingRight let scrollbarWidth = window.innerWidth - document.documentElement.clientWidth + let scrollbarGutter = window.getComputedStyle(document.documentElement).scrollbarGutter document.documentElement.style.overflow = 'hidden' + + if (scrollbarGutter && scrollbarGutter !== 'auto') { + return () => { + document.documentElement.style.overflow = overflow + } + } + document.documentElement.style.paddingRight = `${scrollbarWidth}px` return () => {