11/**
22 * Anime.js - ESM bundle
3- * @version v4.3.3
3+ * @version v4.3.4
44 * @license MIT
55 * @copyright 2026 - Julian Garnier
66 */
@@ -803,7 +803,7 @@ const globals = {
803803
804804const devTools = isBrowser && win . AnimeJSDevTools ;
805805
806- const globalVersions = { version : '4.3.3 ' , engine : null } ;
806+ const globalVersions = { version : '4.3.4 ' , engine : null } ;
807807
808808if ( isBrowser ) {
809809 if ( ! win . AnimeJS ) win . AnimeJS = [ ] ;
@@ -4307,6 +4307,10 @@ class Timeline extends Timer {
43074307 if ( isUnd ( synced ) || synced && isUnd ( synced . pause ) ) return this ;
43084308 synced . pause ( ) ;
43094309 const duration = + ( /** @type {globalThis.Animation } */ ( synced ) . effect ? /** @type {globalThis.Animation } */ ( synced ) . effect . getTiming ( ) . duration : /** @type {Tickable } */ ( synced ) . duration ) ;
4310+ // Forces WAAPI Animation to persist; otherwise, they will stop syncing on finish.
4311+ if ( ! isUnd ( synced ) && ! isUnd ( /** @type {WAAPIAnimation } */ ( synced ) . persist ) ) {
4312+ /** @type {WAAPIAnimation } */ ( synced ) . persist = true ;
4313+ }
43104314 return this . add ( synced , { currentTime : [ 0 , duration ] , duration, delay : 0 , ease : 'linear' , playbackEase : 'linear' } , position ) ;
43114315 }
43124316
@@ -4373,8 +4377,8 @@ class Timeline extends Timer {
43734377 * @return {this }
43744378 */
43754379 refresh ( ) {
4376- forEachChildren ( this , ( /** @type {JSAnimation } */ child ) => {
4377- if ( child . refresh ) child . refresh ( ) ;
4380+ forEachChildren ( this , ( /** @type {JSAnimation|Timer } */ child ) => {
4381+ if ( /** @type { JSAnimation } */ ( child ) . refresh ) /** @type { JSAnimation } */ ( child ) . refresh ( ) ;
43784382 } ) ;
43794383 return this ;
43804384 }
@@ -4384,7 +4388,7 @@ class Timeline extends Timer {
43844388 */
43854389 revert ( ) {
43864390 super . revert ( ) ;
4387- forEachChildren ( this , ( /** @type {JSAnimation } */ child ) => child . revert , true ) ;
4391+ forEachChildren ( this , ( /** @type {JSAnimation|Timer } */ child ) => child . revert , true ) ;
43884392 return cleanInlineStyles ( this ) ;
43894393 }
43904394
@@ -6758,7 +6762,9 @@ class ScrollObserver {
67586762 linked . pause ( ) ;
67596763 this . linked = linked ;
67606764 // Forces WAAPI Animation to persist; otherwise, they will stop syncing on finish.
6761- if ( ! isUnd ( /** @type {WAAPIAnimation } */ ( linked ) ) ) /** @type {WAAPIAnimation } */ ( linked ) . persist = true ;
6765+ if ( ! isUnd ( linked ) && ! isUnd ( /** @type {WAAPIAnimation } */ ( linked ) . persist ) ) {
6766+ /** @type {WAAPIAnimation } */ ( linked ) . persist = true ;
6767+ }
67626768 // Try to use a target of the linked object if no target parameters specified
67636769 if ( ! this . _params . target ) {
67646770 /** @type {HTMLElement } */
@@ -6960,12 +6966,11 @@ class ScrollObserver {
69606966 // let offsetX = 0;
69616967 // let offsetY = 0;
69626968 // let $offsetParent = $el;
6963- /** @type {Element } */
69646969 if ( linked ) {
69656970 linkedTime = linked . currentTime ;
69666971 linked . seek ( 0 , true ) ;
69676972 }
6968- /* Old implementation to get offset and targetSize before fixing https://github.com/juliangarnier/anime/issues/1021
6973+ // Old implementation to get offset and targetSize before fixing https://github.com/juliangarnier/anime/issues/1021
69696974 // const isContainerStatic = get(container.element, 'position') === 'static' ? set(container.element, { position: 'relative '}) : false;
69706975 // while ($el && $el !== container.element && $el !== doc.body) {
69716976 // const isSticky = get($el, 'position') === 'sticky' ?
0 commit comments