diff --git a/packages/svelte/src/internal/client/dom/elements/transitions.js b/packages/svelte/src/internal/client/dom/elements/transitions.js index 21e95f624e..162869a5ab 100644 --- a/packages/svelte/src/internal/client/dom/elements/transitions.js +++ b/packages/svelte/src/internal/client/dom/elements/transitions.js @@ -423,6 +423,7 @@ function animate(element, options, counterpart, t2, on_finish, on_abort) { }); }); } + if (tick) { // Timer if (t1 === 0) { @@ -432,7 +433,7 @@ function animate(element, options, counterpart, t2, on_finish, on_abort) { task = loop((now) => { if (now >= end) { tick(t2, 1 - t2); - on_finish?.(); // TODO is this supposed to not be called when tick == undefined? + if (!css) on_finish?.(); return false; }