Merge pull request #604 from webadderallorg/fix/timeline-trim-lag

fix(timeline): smooth clip trim resize
This commit is contained in:
Phạm Thị Minh Hồng
2026-05-28 16:23:30 +07:00
committed by GitHub
@@ -11,11 +11,7 @@ import { TimelineContext } from "dnd-timeline";
import type { Dispatch, ReactNode, SetStateAction } from "react";
import { useCallback, useRef } from "react";
import type { TimelineRegionSpan } from "../../core/timelineTypes";
import {
clampRange,
resolveDragEnd,
resolveResizeEnd,
} from "../../dnd/engine";
import { clampRange, resolveDragEnd, resolveResizeEnd } from "../../dnd/engine";
interface TimelineWrapperProps {
children: ReactNode;
@@ -162,9 +158,10 @@ export default function TimelineWrapper({
? (event.activatorEvent as PointerEvent).clientX + (event.delta?.x ?? 0)
: undefined;
if (span) showTooltip(span, screenX);
onLiveSpanPreviewChange?.(event.active.id as string, span ?? null);
// dnd-timeline mutates the active item's DOM during resize; React preview
// renders here can reset that inline width/edge position and make trims stutter.
},
[onLiveSpanPreviewChange, showTooltip],
[showTooltip],
);
const hideTooltip = useCallback(() => showTooltip(null), [showTooltip]);