diff --git a/src/slider.tsx b/src/slider.tsx index 471b848..ddbdfe1 100644 --- a/src/slider.tsx +++ b/src/slider.tsx @@ -904,9 +904,12 @@ export const Slider: FC = memo(function Slider({ if (isFinished) { onActiveSlider(x); } - isScrubbingInner.value = true; + // Match the pan path: release internal scrubbing before notifying + // JS completion handlers, so controlled progress updates can sync + // snapped thumb state. + isScrubbingInner.value = false; if (isScrubbing) { - isScrubbing.value = true; + isScrubbing.value = false; } bubbleOpacity.value = withSpring(0); if (onSlidingComplete) { @@ -914,6 +917,7 @@ export const Slider: FC = memo(function Slider({ } }) .onFinalize(() => { + isScrubbingInner.value = false; if (isScrubbing) { isScrubbing.value = false; }