!function(n,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((n="undefined"!=typeof globalThis?globalThis:n||self).MotionUtils={})}(this,(function(n){"use strict";function s(n,s){-1===n.indexOf(s)&&n.push(s)}function i(n,s){const i=n.indexOf(s);i>-1&&n.splice(i,1)}const t=new Set;n.MotionGlobalConfig={skipAnimations:!1,useManualTiming:!1},n.SubscriptionManager=class{constructor(){this.subscriptions=[]}add(n){return s(this.subscriptions,n),()=>i(this.subscriptions,n)}notify(n,s,i){const t=this.subscriptions.length;if(t)if(1===t)this.subscriptions[0](n,s,i);else for(let e=0;e{},n.memo=function(n){let s;return()=>(void 0===s&&(s=n()),s)},n.millisecondsToSeconds=n=>n/1e3,n.moveItem=function([...n],s,i){const t=s<0?n.length+s:s;if(t>=0&&tn,n.progress=(n,s,i)=>{const t=s-n;return 0===t?1:(i-n)/t},n.removeItem=i,n.secondsToMilliseconds=n=>1e3*n,n.velocityPerSecond=function(n,s){return s?n*(1e3/s):0},n.warnOnce=function(n,s,i){n||t.has(s)||(console.warn(s),i&&console.warn(i),t.add(s))},n.warning=()=>{}}));