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; };