From 12dbb47b9353d0457a0bcf81f4c2d8c7dc799d00 Mon Sep 17 00:00:00 2001 From: William Martin Date: Fri, 25 Apr 2025 09:50:34 -0400 Subject: [PATCH] run scroll check immediately --- libs/components/src/utils/has-scrolled-from.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/components/src/utils/has-scrolled-from.ts b/libs/components/src/utils/has-scrolled-from.ts index 71ece920a9a..44c73465bdd 100644 --- a/libs/components/src/utils/has-scrolled-from.ts +++ b/libs/components/src/utils/has-scrolled-from.ts @@ -1,7 +1,7 @@ import { CdkScrollable } from "@angular/cdk/scrolling"; import { Signal, inject, signal } from "@angular/core"; import { toObservable, toSignal } from "@angular/core/rxjs-interop"; -import { map, switchMap } from "rxjs"; +import { map, startWith, switchMap } from "rxjs"; export type ScrollState = { /** `true` when the scrollbar is not at the top-most position */ @@ -23,6 +23,7 @@ export const hasScrolledFrom = (scrollable?: Signal): Signal _scrollable.elementScrolled().pipe( + startWith(null), map(() => ({ top: _scrollable.measureScrollOffset("top") > 0, bottom: _scrollable.measureScrollOffset("bottom") > 0,