|
|
@@ -1178,16 +1178,9 @@
|
|
|
|
|
|
this._updateFlowActions();
|
|
|
|
|
|
- // Switch panes with smooth opacity/translate; animate content height to reduce jitter
|
|
|
- const dy = (direction === 'prev') ? -8 : 8;
|
|
|
-
|
|
|
- // Show both panes during animation (stacked)
|
|
|
+ // Switch panes with only content height transition (no slide/fade between steps)
|
|
|
toPane.style.display = '';
|
|
|
toPane.style.position = 'relative';
|
|
|
- toPane.style.opacity = '0';
|
|
|
- toPane.style.transform = `translateY(${dy}px)`;
|
|
|
- toPane.style.willChange = 'opacity, transform';
|
|
|
- fromPane.style.willChange = 'opacity, transform';
|
|
|
|
|
|
// Lock content height during transition
|
|
|
content.style.height = oldH + 'px';
|
|
|
@@ -1202,35 +1195,14 @@
|
|
|
);
|
|
|
} catch {}
|
|
|
|
|
|
- // Animate panes
|
|
|
- try {
|
|
|
- fromPane.animate(
|
|
|
- [{ opacity: 1, transform: 'translateY(0px)' }, { opacity: 0, transform: `translateY(${-dy}px)` }],
|
|
|
- { duration: 160, easing: 'ease-out', fill: 'forwards' }
|
|
|
- );
|
|
|
- } catch {}
|
|
|
-
|
|
|
- let paneIn = null;
|
|
|
- try {
|
|
|
- paneIn = toPane.animate(
|
|
|
- [{ opacity: 0, transform: `translateY(${dy}px)` }, { opacity: 1, transform: 'translateY(0px)' }],
|
|
|
- { duration: 220, easing: 'cubic-bezier(0.2, 0.9, 0.2, 1)', fill: 'forwards' }
|
|
|
- );
|
|
|
- } catch {}
|
|
|
-
|
|
|
try {
|
|
|
await Promise.all([
|
|
|
- heightAnim && heightAnim.finished ? heightAnim.finished.catch(() => {}) : Promise.resolve(),
|
|
|
- paneIn && paneIn.finished ? paneIn.finished.catch(() => {}) : Promise.resolve()
|
|
|
+ heightAnim && heightAnim.finished ? heightAnim.finished.catch(() => {}) : Promise.resolve()
|
|
|
]);
|
|
|
} catch {}
|
|
|
|
|
|
// Cleanup styles and hide old pane
|
|
|
fromPane.style.display = 'none';
|
|
|
- fromPane.style.willChange = '';
|
|
|
- toPane.style.willChange = '';
|
|
|
- toPane.style.opacity = '';
|
|
|
- toPane.style.transform = '';
|
|
|
content.style.height = '';
|
|
|
content.style.overflow = '';
|
|
|
|