From d37d717cb342cf5030ba15a87bdb3318eb90065c Mon Sep 17 00:00:00 2001 From: ntwigs Date: Mon, 6 Oct 2025 18:23:25 +0200 Subject: [PATCH] fix: run mutation handler on mount --- packages/react/src/hooks/use-anchor-progress.tsx | 4 +++- packages/react/src/types.ts | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/react/src/hooks/use-anchor-progress.tsx b/packages/react/src/hooks/use-anchor-progress.tsx index 2ce68a8..5a4e655 100644 --- a/packages/react/src/hooks/use-anchor-progress.tsx +++ b/packages/react/src/hooks/use-anchor-progress.tsx @@ -25,6 +25,7 @@ export function useAnchorProgress( disableAnchorClick = false, startOnLoad = false, forcedStopDelay = 0, + attachOnMount = false, }: UseAnchorProgressOptions, deps: unknown[] = [], ) { @@ -113,7 +114,7 @@ export function useAnchorProgress( start(startPosition, delay); }; - const handleMutation: MutationCallback = () => { + const handleMutation = () => { const anchorElements = Array.from(document.querySelectorAll('a')) as ( | HTMLAnchorElement | SVGAElement @@ -143,6 +144,7 @@ export function useAnchorProgress( elementsWithAttachedHandlers.current = validAnchorElements; }; + if (attachOnMount) handleMutation(); const mutationObserver = new MutationObserver(handleMutation); mutationObserver.observe(document, { childList: true, subtree: true }); diff --git a/packages/react/src/types.ts b/packages/react/src/types.ts index 3b92fd6..c5e398d 100644 --- a/packages/react/src/types.ts +++ b/packages/react/src/types.ts @@ -126,4 +126,5 @@ export type UseAnchorProgressOptions = Omit< 'memo' | 'shouldCompareComplexProps' > & { forcedStopDelay?: number; + attachOnMount?: boolean; };