From 90ece5f5f630303a40f0a6ef36f44926a55d1064 Mon Sep 17 00:00:00 2001 From: Rene Date: Thu, 22 Apr 2021 18:02:56 +0200 Subject: [PATCH] increase size observer sensitivity --- .../src/styles/sizeobserver.scss | 25 ++++++++++--------- .../observers/sizeObserver/index.browser.ts | 2 ++ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/packages/overlayscrollbars/src/styles/sizeobserver.scss b/packages/overlayscrollbars/src/styles/sizeobserver.scss index 2ac325b..a269a15 100644 --- a/packages/overlayscrollbars/src/styles/sizeobserver.scss +++ b/packages/overlayscrollbars/src/styles/sizeobserver.scss @@ -1,5 +1,5 @@ -$scrollbar-cushion: 100px; -$inflate-margin: 200px; +$inflate-cushion: 100px; +$inflate-margin: 100px; .os-size-observer, .os-size-observer-listener { @@ -21,8 +21,6 @@ $inflate-margin: 200px; } .os-size-observer { - height: 25%; - width: 25%; z-index: -1; contain: strict; display: flex; @@ -32,6 +30,10 @@ $inflate-margin: 200px; border: inherit; box-sizing: inherit; margin: 0; + top: -$inflate-cushion; + right: -$inflate-cushion; + bottom: -$inflate-cushion; + left: -$inflate-cushion; &::before, &::after { @@ -60,23 +62,22 @@ $inflate-margin: 200px; box-sizing: border-box; position: relative; flex: auto; - margin: -#{$inflate-margin}; + margin: -$inflate-margin; &.ltr { - margin-right: -#{$inflate-margin * 2}; + margin-right: -$inflate-margin * 2; margin-left: 0; } &.rtl { - margin-left: -#{$inflate-margin * 2}; + margin-left: -$inflate-margin * 2; margin-right: 0; } - // lets assume no scrollbar is 100px wide & > .os-size-observer-listener-item { - top: -$scrollbar-cushion; - right: -$scrollbar-cushion; - bottom: -$scrollbar-cushion; - left: -$scrollbar-cushion; + top: -$inflate-cushion; + right: -$inflate-cushion; + bottom: -$inflate-cushion; + left: -$inflate-cushion; } } diff --git a/packages/overlayscrollbars/tests/browser/observers/sizeObserver/index.browser.ts b/packages/overlayscrollbars/tests/browser/observers/sizeObserver/index.browser.ts index a985a8a..ca0c571 100644 --- a/packages/overlayscrollbars/tests/browser/observers/sizeObserver/index.browser.ts +++ b/packages/overlayscrollbars/tests/browser/observers/sizeObserver/index.browser.ts @@ -94,6 +94,7 @@ const iterate = async (select: HTMLSelectElement | null, afterEach?: () => any) const observerElm = targetElm?.firstElementChild as HTMLElement; // no overflow if not needed + /* if (targetElm && newContentSize.w > 0) { should.ok( observerElm.getBoundingClientRect().right <= targetElm.getBoundingClientRect().right, @@ -106,6 +107,7 @@ const iterate = async (select: HTMLSelectElement | null, afterEach?: () => any) 'Generated observer element inst overflowing target element. (height)' ); } + */ if (dimensions && (offsetSizeChanged || contentSizeChanged || dirChanged || boxSizingChanged)) { await waitForOrFailTest(() => {