From 4077f1febdf9770132e30301ecd997269978c209 Mon Sep 17 00:00:00 2001 From: Mohd Saif Date: Wed, 5 Aug 2026 22:14:19 +0530 Subject: [PATCH] fix(drawer): tolerate fractional scroll metrics --- .../library/src/components/DrawerBody/useDrawerBody.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts b/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts index 881fc003aa0066..97d1816bc22d2d 100644 --- a/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts +++ b/packages/react-components/react-drawer/library/src/components/DrawerBody/useDrawerBody.ts @@ -23,6 +23,7 @@ import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts * @param element - HTMLElement to check scroll state of */ const getScrollState = ({ scrollTop, scrollHeight, clientHeight }: HTMLElement): DrawerScrollState => { + const epsilon = 1; if (scrollHeight <= clientHeight) { return 'none'; } @@ -31,7 +32,7 @@ const getScrollState = ({ scrollTop, scrollHeight, clientHeight }: HTMLElement): return 'top'; } - if (scrollTop + clientHeight === scrollHeight) { + if (scrollTop + clientHeight >= scrollHeight - epsilon) { return 'bottom'; }