@lottiefiles/lottie-interactivity
Advanced tools
Comparing version 1.3.7 to 1.3.8
@@ -6,2 +6,9 @@ # Changelog | ||
## [1.3.8](https://github.com/LottieFiles/lottie-interactivity/compare/v1.3.7...v1.3.8) (2022-03-16) | ||
### Bug Fixes | ||
* added fixes to click and hold transitions ([43eb8c5](https://github.com/LottieFiles/lottie-interactivity/commit/43eb8c514e29369535b4c2906976717399d86e51)) | ||
## [1.3.7](https://github.com/LottieFiles/lottie-interactivity/compare/v1.3.6...v1.3.7) (2022-03-07) | ||
@@ -8,0 +15,0 @@ |
@@ -1,2 +0,2 @@ | ||
function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function i(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function a(e,t){var n=t.get(e);if(!n)throw new TypeError("attempted to get private field on non-instance");return n.get?n.get.call(e):n.value}var r={player:"lottie-player"},o="[lottieInteractivity]:",s=function(){function s(){var n=this,M=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,C=M.actions,A=M.container,T=M.mode,H=M.player,O=i(M,["actions","container","mode","player"]);if(t(this,s),l.set(this,{writable:!0,value:function(){if(n.player){var e=function(){n.player.addEventListener("enterFrame",a(n,L)),n.container.addEventListener("mouseenter",a(n,g)),n.container.addEventListener("mouseleave",a(n,E)),n.container.addEventListener("touchstart",a(n,g),{passive:!0}),n.container.addEventListener("touchend",a(n,E),{passive:!0})};n.stateHandler.set("loop",(function(){n.actions[n.interactionIdx].loop?n.player.loop=parseInt(n.actions[n.interactionIdx].loop)-1:n.player.loop=!0,n.player.autoplay=!0})),n.stateHandler.set("autoplay",(function(){n.player.loop=!1,n.player.autoplay=!0})),n.stateHandler.set("click",(function(){n.player.loop=!1,n.player.autoplay=!1,n.container.addEventListener("click",a(n,c))})),n.stateHandler.set("hover",(function(){n.player.loop=!1,n.player.autoplay=!1,n.container.addEventListener("mouseenter",a(n,c)),n.container.addEventListener("touchstart",a(n,c),{passive:!0})})),n.transitionHandler.set("click",(function(){n.container.addEventListener("click",a(n,d))})),n.transitionHandler.set("hover",(function(){n.container.addEventListener("mouseenter",a(n,d)),n.container.addEventListener("touchstart",a(n,d),{passive:!0})})),n.transitionHandler.set("hold",e),n.transitionHandler.set("pauseHold",e),n.transitionHandler.set("repeat",(function(){n.player.loop=!0,n.player.autoplay=!0;n.player.addEventListener("loopComplete",(function e(){a(n,m).call(n,{handler:e})}))})),n.transitionHandler.set("onComplete",(function(){"loop"===n.actions[n.interactionIdx].state?n.player.addEventListener("loopComplete",a(n,v)):n.player.addEventListener("complete",a(n,v))})),n.transitionHandler.set("seek",(function(){n.player.stop(),n.player.addEventListener("enterFrame",a(n,f)),n.container.addEventListener("mousemove",a(n,h)),n.container.addEventListener("touchmove",a(n,y),{passive:!1}),n.container.addEventListener("mouseout",a(n,u))}))}}}),c.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].forceFlag;e||!0!==n.player.isPaused?e&&a(n,k).call(n,!0):a(n,k).call(n,!0)}}),p.set(this,{writable:!0,value:function(){0===n.clickCounter?(n.player.play(),n.clickCounter++):(n.clickCounter++,n.player.setDirection(-1*n.player.playDirection),n.player.play())}}),d.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].forceFlag;if("chain"===n.mode){if(n.actions[n.interactionIdx].count){var t=parseInt(n.actions[n.interactionIdx].count);if(n.clickCounter<t-1)return void(n.clickCounter+=1)}return n.clickCounter=0,n.container.removeEventListener("click",a(n,d)),n.container.removeEventListener("mouseenter",a(n,d)),void a(n,b).call(n)}e||!0!==n.player.isPaused?e&&n.player.goToAndPlay(0,!0):n.player.goToAndPlay(0,!0)}}),h.set(this,{writable:!0,value:function(e){a(n,P).call(n,e.clientX,e.clientY)}}),y.set(this,{writable:!0,value:function(e){e.cancelable&&e.preventDefault(),a(n,P).call(n,e.touches[0].clientX,e.touches[0].clientY)}}),u.set(this,{writable:!0,value:function(){a(n,P).call(n,-1,-1)}}),v.set(this,{writable:!0,value:function(){"loop"===n.actions[n.interactionIdx].state?n.player.removeEventListener("loopComplete",a(n,v)):n.player.removeEventListener("complete",a(n,v)),a(n,b).call(n)}}),m.set(this,{writable:!0,value:function(e){var t=e.handler,i=1;n.actions[n.interactionIdx].repeat&&(i=n.actions[n.interactionIdx].repeat),n.playCounter>=i-1?(n.playCounter=0,n.player.removeEventListener("loopComplete",t),n.player.loop=!1,n.player.autoplay=!1,a(n,b).call(n)):n.playCounter+=1}}),f.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].frames;e&&n.player.currentFrame>=parseInt(e[1])-1&&(n.player.removeEventListener("enterFrame",a(n,f)),n.container.removeEventListener("mousemove",a(n,h)),n.container.removeEventListener("mouseout",a(n,u)),setTimeout(a(n,b),0))}}),L.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].frames;(e&&n.player.currentFrame>=e[1]||n.player.currentFrame>=n.player.totalFrames-1)&&(n.player.removeEventListener("enterFrame",a(n,L)),n.container.removeEventListener("mouseenter",a(n,g)),n.container.removeEventListener("mouseleave",a(n,E)),n.player.pause(),a(n,b).call(n))}}),g.set(this,{writable:!0,value:function(){-1!==n.player.playDirection&&0!==n.player.currentFrame&&"pauseHold"!==n.actions[n.interactionIdx].transition&&"pauseHold"!==n.actions[0].type||(n.player.setDirection(1),n.player.play())}}),E.set(this,{writable:!0,value:function(){"hold"===n.actions[n.interactionIdx].transition||"hold"===n.actions[0].type?(n.player.setDirection(-1),n.player.play()):"pauseHold"!==n.actions[n.interactionIdx].transition&&"pauseHold"!==n.actions[0].type||n.player.pause()}}),w.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].state;"hover"!==e&&"click"!==e||(n.container.removeEventListener("click",a(n,c)),n.container.removeEventListener("mouseenter",a(n,c)))}}),b.set(this,{writable:!0,value:function(){var e=n.interactionIdx;a(n,w).call(n);var t=n.actions[n.interactionIdx].jumpTo;t?t>=0&&t<n.actions.length?(n.interactionIdx=t,a(n,I).call(n,{ignorePath:!1})):(n.interactionIdx=0,n.player.goToAndStop(0,!0),a(n,I).call(n,{ignorePath:!1})):(n.interactionIdx++,n.interactionIdx>=n.actions.length?n.actions[n.actions.length-1].reset?(n.interactionIdx=0,n.player.goToAndStop(0,!0),a(n,I).call(n,{ignorePath:!1})):(n.interactionIdx=n.actions.length-1,a(n,I).call(n,{ignorePath:!1})):a(n,I).call(n,{ignorePath:!1})),n.container.dispatchEvent(new CustomEvent("transition",{bubbles:!0,composed:!0,detail:{oldIndex:e,newIndex:n.interactionIdx}}))}}),k.set(this,{writable:!0,value:function(e){var t=n.actions[n.interactionIdx].frames;if(!t)return n.player.resetSegments(!0),void n.player.goToAndPlay(0,!0);"string"==typeof t?n.player.goToAndPlay(t,e):n.player.playSegments(t,e)}}),x.set(this,{writable:!0,value:function(){var t=n.actions[n.interactionIdx].path;if(!t)if("object"===e(n.enteredPlayer)&&"AnimationItem"===n.enteredPlayer.constructor.name){if(t=n.enteredPlayer,n.player===t)return void a(n,I).call(n,{ignorePath:!0})}else{var i=(t=n.loadedAnimation).substr(t.lastIndexOf("/")+1);if(i=i.substr(0,i.lastIndexOf(".json")),n.player.fileName===i)return void a(n,I).call(n,{ignorePath:!0})}var r=n.container.getBoundingClientRect(),s="width: "+r.width+"px !important; height: "+r.height+"px !important; background: "+n.container.style.background;if(n.container.setAttribute("style",s),"object"!==e(n.enteredPlayer)||"AnimationItem"!==n.enteredPlayer.constructor.name){if("string"==typeof n.enteredPlayer){var l=document.querySelector(n.enteredPlayer);l&&"LOTTIE-PLAYER"===l.nodeName&&(n.attachedListeners||(l.addEventListener("ready",(function(){n.container.style.width="",n.container.style.height=""})),l.addEventListener("load",(function(){n.player=l.getLottie(),a(n,I).call(n,{ignorePath:!0})})),n.attachedListeners=!0),l.load(t))}else n.enteredPlayer instanceof HTMLElement&&"LOTTIE-PLAYER"===n.enteredPlayer.nodeName&&(n.attachedListeners||(n.enteredPlayer.addEventListener("ready",(function(){n.container.style.width="",n.container.style.height=""})),n.enteredPlayer.addEventListener("load",(function(){n.player=n.enteredPlayer.getLottie(),a(n,I).call(n,{ignorePath:!0})})),n.attachedListeners=!0),n.enteredPlayer.load(t));if(!n.player)throw new Error("".concat(o," Specified player is invalid."),n.enteredPlayer)}else{if(!window.lottie)throw new Error("".concat(o," A Lottie player is required."));n.stop(),n.player.destroy(),n.container.innerHTML="","object"===e(t)&&"AnimationItem"===t.constructor.name?n.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,animationData:t.animationData,container:n.container}):n.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,path:t,container:n.container}),n.player.addEventListener("DOMLoaded",(function(){n.container.style.width="",n.container.style.height="",a(n,I).call(n,{ignorePath:!0})}))}n.clickCounter=0,n.playCounter=0}}),I.set(this,{writable:!0,value:function(e){var t=e.ignorePath,i=n.actions[n.interactionIdx].state,r=n.actions[n.interactionIdx].transition,o=n.actions[n.interactionIdx].path,s=n.stateHandler.get(i),l=n.transitionHandler.get(r),c=n.actions[n.interactionIdx].speed?n.actions[n.interactionIdx].speed:1,p=n.actions[n.interactionIdx].delay?n.actions[n.interactionIdx].delay:0;t||!(o||n.actions[n.actions.length-1].reset&&0===n.interactionIdx)?setTimeout((function(){s?s.call():"none"===i&&(n.player.loop=!1,n.player.autoplay=!1),l&&l.call(),n.player.autoplay&&(n.player.resetSegments(!0),a(n,k).call(n,!0)),n.player.setSpeed(c)}),p):a(n,x).call(n)}}),P.set(this,{writable:!0,value:function(e,t){if(-1!==e&&-1!==t){var i=n.getContainerCursorPosition(e,t);e=i.x,t=i.y}var a=n.actions.find((function(n){var i=n.position;if(i){if(Array.isArray(i.x)&&Array.isArray(i.y))return e>=i.x[0]&&e<=i.x[1]&&t>=i.y[0]&&t<=i.y[1];if(!Number.isNaN(i.x)&&!Number.isNaN(i.y))return e===i.x&&t===i.y}return!1}));if(a)if("seek"===a.type||"seek"===a.transition){var r=(e-a.position.x[0])/(a.position.x[1]-a.position.x[0]),o=(t-a.position.y[0])/(a.position.y[1]-a.position.y[0]);n.player.playSegments(a.frames,!0),a.position.y[0]<0&&a.position.y[1]>1?n.player.goToAndStop(Math.floor(r*n.player.totalFrames),!0):n.player.goToAndStop(Math.ceil((r+o)/2*n.player.totalFrames),!0)}else"loop"===a.type?n.player.playSegments(a.frames,!0):"play"===a.type?(!0===n.player.isPaused&&n.player.resetSegments(),n.player.playSegments(a.frames)):"stop"===a.type&&(n.player.resetSegments(!0),n.player.goToAndStop(a.frames[0],!0))}}),S.set(this,{writable:!0,value:function(){var e=n.getContainerVisibility(),t=n.actions.find((function(t){var n=t.visibility;return e>=n[0]&&e<=n[1]}));if(t)if("seek"===t.type){var i=t.frames[0],a=2==t.frames.length?t.frames[1]:n.player.totalFrames-1;null!==n.assignedSegment&&(n.player.resetSegments(!0),n.assignedSegment=null),n.player.goToAndStop(i+Math.round((e-t.visibility[0])/(t.visibility[1]-t.visibility[0])*(a-i)),!0)}else"loop"===t.type?(n.player.loop=!0,(null===n.assignedSegment||n.assignedSegment!==t.frames||!0===n.player.isPaused)&&(n.player.playSegments(t.frames,!0),n.assignedSegment=t.frames)):"play"===t.type?n.scrolledAndPlayed||(n.scrolledAndPlayed=!0,n.player.resetSegments(!0),t.frames?n.player.playSegments(t.frames,!0):n.player.play()):"stop"===t.type&&n.player.goToAndStop(t.frames[0],!0)}}),this.enteredPlayer=H,"object"!==e(H)||"AnimationItem"!==H.constructor.name){if("string"==typeof H){var W=document.querySelector(H);W&&"LOTTIE-PLAYER"===W.nodeName&&(H=W.getLottie())}else H instanceof HTMLElement&&"LOTTIE-PLAYER"===H.nodeName&&(H=H.getLottie());if(!H){var F=o+"Specified player:"+H+" is invalid.";throw new Error(F)}}"string"==typeof A&&(A=document.querySelector(A)),A||(A=H.wrapper),this.player=H,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=A,this.mode=T,this.actions=C,this.options=O,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.clickCounter=0,this.playCounter=0,this.stateHandler=new Map,this.transitionHandler=new Map}var M,C,A;return M=s,(C=[{key:"getContainerVisibility",value:function(){var e=this.container.getBoundingClientRect(),t=e.top,n=e.height;return(window.innerHeight-t)/(window.innerHeight+n)}},{key:"getContainerCursorPosition",value:function(e,t){var n=this.container.getBoundingClientRect(),i=n.top;return{x:(e-n.left)/n.width,y:(t-i)/n.height}}},{key:"initScrollMode",value:function(){this.player.stop(),window.addEventListener("scroll",a(this,S),!0)}},{key:"initCursorMode",value:function(){this.actions&&1===this.actions.length?"click"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",a(this,d))):"hover"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("mouseenter",a(this,d)),this.container.addEventListener("touchstart",a(this,d),{passive:!0})):"toggle"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",a(this,p))):"hold"===this.actions[0].type||"pauseHold"===this.actions[0].type?(this.container.addEventListener("mouseenter",a(this,g)),this.container.addEventListener("mouseleave",a(this,E)),this.container.addEventListener("touchstart",a(this,g),{passive:!0}),this.container.addEventListener("touchend",a(this,E),{passive:!0})):"seek"===this.actions[0].type&&(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",a(this,h)),this.container.addEventListener("touchmove",a(this,y),{passive:!1}),this.container.addEventListener("mouseout",a(this,u))):(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",a(this,h)),this.container.addEventListener("mouseleave",a(this,u)),a(this,P).call(this,-1,-1))}},{key:"initChainMode",value:function(){a(this,l).call(this),this.player.loop=!1,this.player.stop(),a(this,I).call(this,{ignorePath:!1})}},{key:"start",value:function(){var e=this;"scroll"===this.mode?this.player.isLoaded?this.initScrollMode():this.player.addEventListener("DOMLoaded",(function(){e.initScrollMode()})):"cursor"===this.mode?this.player.isLoaded?this.initCursorMode():this.player.addEventListener("DOMLoaded",(function(){e.initCursorMode()})):"chain"===this.mode&&(this.player.isLoaded?this.initChainMode():this.player.addEventListener("DOMLoaded",(function(){e.initChainMode()})))}},{key:"redefineOptions",value:function(t){var n=t.actions,a=t.container,r=t.mode,s=t.player,l=i(t,["actions","container","mode","player"]);if(this.stop(),this.enteredPlayer=s,"object"!==e(s)||"AnimationItem"!==s.constructor.name){if("string"==typeof s){var c=document.querySelector(s);c&&"LOTTIE-PLAYER"===c.nodeName&&(s=c.getLottie())}else s instanceof HTMLElement&&"LOTTIE-PLAYER"===s.nodeName&&(s=s.getLottie());if(!s)throw new Error(o+"Specified player:"+s+" is invalid.",s)}"string"==typeof a&&(a=document.querySelector(a)),a||(a=s.wrapper),this.player=s,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=a,this.mode=r,this.actions=n,this.options=l,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.clickCounter=0,this.playCounter=0,this.stateHandler=new Map,this.transitionHandler=new Map,this.start()}},{key:"stop",value:function(){if("scroll"===this.mode&&window.removeEventListener("scroll",a(this,S),!0),"cursor"===this.mode&&(this.container.removeEventListener("click",a(this,d)),this.container.removeEventListener("click",a(this,p)),this.container.removeEventListener("mouseenter",a(this,d)),this.container.removeEventListener("touchstart",a(this,d)),this.container.removeEventListener("touchmove",a(this,y)),this.container.removeEventListener("mousemove",a(this,h)),this.container.removeEventListener("mouseleave",a(this,u)),this.container.removeEventListener("touchstart",a(this,g)),this.container.removeEventListener("touchend",a(this,E))),"chain"===this.mode&&(this.container.removeEventListener("click",a(this,d)),this.container.removeEventListener("click",a(this,c)),this.container.removeEventListener("mouseenter",a(this,d)),this.container.removeEventListener("touchstart",a(this,d)),this.container.removeEventListener("touchmove",a(this,y)),this.container.removeEventListener("mouseenter",a(this,c)),this.container.removeEventListener("touchstart",a(this,c)),this.container.removeEventListener("mouseenter",a(this,g)),this.container.removeEventListener("touchstart",a(this,g)),this.container.removeEventListener("mouseleave",a(this,E)),this.container.removeEventListener("mousemove",a(this,h)),this.container.removeEventListener("mouseout",a(this,u)),this.container.removeEventListener("touchend",a(this,E)),this.player))try{this.player.removeEventListener("loopComplete",a(this,v)),this.player.removeEventListener("complete",a(this,v)),this.player.removeEventListener("enterFrame",a(this,f)),this.player.removeEventListener("enterFrame",a(this,L))}catch(e){}this.player=null}}])&&n(M.prototype,C),A&&n(M,A),s}(),l=new WeakMap,c=new WeakMap,p=new WeakMap,d=new WeakMap,h=new WeakMap,y=new WeakMap,u=new WeakMap,v=new WeakMap,m=new WeakMap,f=new WeakMap,L=new WeakMap,g=new WeakMap,E=new WeakMap,w=new WeakMap,b=new WeakMap,k=new WeakMap,x=new WeakMap,I=new WeakMap,P=new WeakMap,S=new WeakMap,M=function(e){var t=new s(e);return t.start(),t};export default M;export{s as LottieInteractivity,M as create}; | ||
function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function i(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function a(e,t){var n=t.get(e);if(!n)throw new TypeError("attempted to get private field on non-instance");return n.get?n.get.call(e):n.value}var r={player:"lottie-player"},o="[lottieInteractivity]:",s=function(){function s(){var n=this,M=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,C=M.actions,A=M.container,T=M.mode,H=M.player,O=i(M,["actions","container","mode","player"]);if(t(this,s),l.set(this,{writable:!0,value:function(){if(n.player){var e=function(){n.player.addEventListener("enterFrame",a(n,L)),n.container.addEventListener("mouseenter",a(n,g)),n.container.addEventListener("mouseleave",a(n,E)),n.container.addEventListener("touchstart",a(n,g),{passive:!0}),n.container.addEventListener("touchend",a(n,E),{passive:!0})};n.stateHandler.set("loop",(function(){n.actions[n.interactionIdx].loop?n.player.loop=parseInt(n.actions[n.interactionIdx].loop)-1:n.player.loop=!0,n.player.autoplay=!0})),n.stateHandler.set("autoplay",(function(){n.player.loop=!1,n.player.autoplay=!0})),n.stateHandler.set("click",(function(){n.player.loop=!1,n.player.autoplay=!1,n.container.addEventListener("click",a(n,c))})),n.stateHandler.set("hover",(function(){n.player.loop=!1,n.player.autoplay=!1,n.container.addEventListener("mouseenter",a(n,c)),n.container.addEventListener("touchstart",a(n,c),{passive:!0})})),n.transitionHandler.set("click",(function(){n.container.addEventListener("click",a(n,d))})),n.transitionHandler.set("hover",(function(){n.container.addEventListener("mouseenter",a(n,d)),n.container.addEventListener("touchstart",a(n,d),{passive:!0})})),n.transitionHandler.set("hold",e),n.transitionHandler.set("pauseHold",e),n.transitionHandler.set("repeat",(function(){n.player.loop=!0,n.player.autoplay=!0;n.player.addEventListener("loopComplete",(function e(){a(n,m).call(n,{handler:e})}))})),n.transitionHandler.set("onComplete",(function(){"loop"===n.actions[n.interactionIdx].state?n.player.addEventListener("loopComplete",a(n,v)):n.player.addEventListener("complete",a(n,v))})),n.transitionHandler.set("seek",(function(){n.player.stop(),n.player.addEventListener("enterFrame",a(n,f)),n.container.addEventListener("mousemove",a(n,h)),n.container.addEventListener("touchmove",a(n,y),{passive:!1}),n.container.addEventListener("mouseout",a(n,u))}))}}}),c.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].forceFlag;e||!0!==n.player.isPaused?e&&a(n,x).call(n,!0):a(n,x).call(n,!0)}}),p.set(this,{writable:!0,value:function(){0===n.clickCounter?(n.player.play(),n.clickCounter++):(n.clickCounter++,n.player.setDirection(-1*n.player.playDirection),n.player.play())}}),d.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].forceFlag,t=n.actions[n.interactionIdx].state,i=n.actions[n.interactionIdx].transition;if("chain"===n.mode){if(n.actions[n.interactionIdx].count){var r=parseInt(n.actions[n.interactionIdx].count);if(n.clickCounter<r-1)return void(n.clickCounter+=1)}return n.clickCounter=0,"click"===i&&"click"===t||"hover"===i&&"hover"===t?n.transitionHandler.get("onComplete").call():a(n,I).call(n),n.container.removeEventListener("click",a(n,d)),void n.container.removeEventListener("mouseenter",a(n,d))}e||!0!==n.player.isPaused?e&&n.player.goToAndPlay(0,!0):n.player.goToAndPlay(0,!0)}}),h.set(this,{writable:!0,value:function(e){a(n,S).call(n,e.clientX,e.clientY)}}),y.set(this,{writable:!0,value:function(e){e.cancelable&&e.preventDefault(),a(n,S).call(n,e.touches[0].clientX,e.touches[0].clientY)}}),u.set(this,{writable:!0,value:function(){a(n,S).call(n,-1,-1)}}),v.set(this,{writable:!0,value:function(){"loop"===n.actions[n.interactionIdx].state?n.player.removeEventListener("loopComplete",a(n,v)):n.player.removeEventListener("complete",a(n,v)),a(n,I).call(n)}}),m.set(this,{writable:!0,value:function(e){var t=e.handler,i=1;n.actions[n.interactionIdx].repeat&&(i=n.actions[n.interactionIdx].repeat),n.playCounter>=i-1?(n.playCounter=0,n.player.removeEventListener("loopComplete",t),n.player.loop=!1,n.player.autoplay=!1,a(n,I).call(n)):n.playCounter+=1}}),f.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].frames;e&&n.player.currentFrame>=parseInt(e[1])-1&&(n.player.removeEventListener("enterFrame",a(n,f)),n.container.removeEventListener("mousemove",a(n,h)),n.container.removeEventListener("mouseout",a(n,u)),setTimeout(a(n,I),0))}}),L.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].frames;(e&&n.player.currentFrame>=e[1]||n.player.currentFrame>=n.player.totalFrames-1)&&(n.player.removeEventListener("enterFrame",a(n,L)),n.container.removeEventListener("mouseenter",a(n,g)),n.container.removeEventListener("mouseleave",a(n,E)),n.container.removeEventListener("touchstart",a(n,g),{passive:!0}),n.container.removeEventListener("touchend",a(n,E),{passive:!0}),n.player.pause(),n.holdStatus=!1,a(n,I).call(n))}}),g.set(this,{writable:!0,value:function(){-1!==n.player.playDirection&&null!==n.holdStatus&&n.holdStatus||(n.player.setDirection(1),n.player.play(),n.holdStatus=!0)}}),E.set(this,{writable:!0,value:function(){"hold"===n.actions[n.interactionIdx].transition||"hold"===n.actions[0].type?(n.player.setDirection(-1),n.player.play()):"pauseHold"!==n.actions[n.interactionIdx].transition&&"pauseHold"!==n.actions[0].type||n.player.pause(),n.holdStatus=!1}}),w.set(this,{writable:!0,value:function(){var e=n.actions[n.interactionIdx].state;"hover"!==e&&"click"!==e||(n.container.removeEventListener("click",a(n,c)),n.container.removeEventListener("mouseenter",a(n,c)))}}),I.set(this,{writable:!0,value:function(){n.oldInterctionIdx=n.interactionIdx,a(n,w).call(n);var e=n.actions[n.interactionIdx].jumpTo;e?e>=0&&e<n.actions.length?(n.interactionIdx=e,a(n,b).call(n,{ignorePath:!1})):(n.interactionIdx=0,n.player.goToAndStop(0,!0),a(n,b).call(n,{ignorePath:!1})):(n.interactionIdx++,n.interactionIdx>=n.actions.length?n.actions[n.actions.length-1].reset?(n.interactionIdx=0,n.player.resetSegments(!0),n.actions[n.interactionIdx].frames?n.player.goToAndStop(n.actions[n.interactionIdx].frames,!0):n.player.goToAndStop(0,!0),a(n,b).call(n,{ignorePath:!1})):(n.interactionIdx=n.actions.length-1,a(n,b).call(n,{ignorePath:!1})):a(n,b).call(n,{ignorePath:!1})),n.container.dispatchEvent(new CustomEvent("transition",{bubbles:!0,composed:!0,detail:{oldIndex:n.oldInterctionIdx,newIndex:n.interactionIdx}}))}}),x.set(this,{writable:!0,value:function(e){var t=n.actions[n.interactionIdx].frames;if(!t)return n.player.resetSegments(!0),void n.player.goToAndPlay(0,!0);"string"==typeof t?n.player.goToAndPlay(t,e):n.player.playSegments(t,e)}}),k.set(this,{writable:!0,value:function(){var t=n.actions[n.interactionIdx].path;if(!t)if("object"===e(n.enteredPlayer)&&"AnimationItem"===n.enteredPlayer.constructor.name){if(t=n.enteredPlayer,n.player===t)return void a(n,b).call(n,{ignorePath:!0})}else{var i=(t=n.loadedAnimation).substr(t.lastIndexOf("/")+1);if(i=i.substr(0,i.lastIndexOf(".json")),n.player.fileName===i)return void a(n,b).call(n,{ignorePath:!0})}var r=n.container.getBoundingClientRect(),s="width: "+r.width+"px !important; height: "+r.height+"px !important; background: "+n.container.style.background;if(n.container.setAttribute("style",s),"object"!==e(n.enteredPlayer)||"AnimationItem"!==n.enteredPlayer.constructor.name){if("string"==typeof n.enteredPlayer){var l=document.querySelector(n.enteredPlayer);l&&"LOTTIE-PLAYER"===l.nodeName&&(n.attachedListeners||(l.addEventListener("ready",(function(){n.container.style.width="",n.container.style.height=""})),l.addEventListener("load",(function(){n.player=l.getLottie(),a(n,b).call(n,{ignorePath:!0})})),n.attachedListeners=!0),l.load(t))}else n.enteredPlayer instanceof HTMLElement&&"LOTTIE-PLAYER"===n.enteredPlayer.nodeName&&(n.attachedListeners||(n.enteredPlayer.addEventListener("ready",(function(){n.container.style.width="",n.container.style.height=""})),n.enteredPlayer.addEventListener("load",(function(){n.player=n.enteredPlayer.getLottie(),a(n,b).call(n,{ignorePath:!0})})),n.attachedListeners=!0),n.enteredPlayer.load(t));if(!n.player)throw new Error("".concat(o," Specified player is invalid."),n.enteredPlayer)}else{if(!window.lottie)throw new Error("".concat(o," A Lottie player is required."));n.stop(),n.player.destroy(),n.container.innerHTML="","object"===e(t)&&"AnimationItem"===t.constructor.name?n.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,animationData:t.animationData,container:n.container}):n.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,path:t,container:n.container}),n.player.addEventListener("DOMLoaded",(function(){n.container.style.width="",n.container.style.height="",a(n,b).call(n,{ignorePath:!0})}))}n.clickCounter=0,n.playCounter=0}}),b.set(this,{writable:!0,value:function(e){var t=e.ignorePath,i=n.actions[n.interactionIdx].state,r=n.actions[n.interactionIdx].transition,o=n.actions[n.interactionIdx].path,s=n.stateHandler.get(i),l=n.transitionHandler.get(r),c=n.actions[n.interactionIdx].speed?n.actions[n.interactionIdx].speed:1,p=n.actions[n.interactionIdx].delay?n.actions[n.interactionIdx].delay:0;t||!(o||n.actions[n.actions.length-1].reset&&0===n.interactionIdx)?setTimeout((function(){s?s.call():"none"===i&&(n.player.loop=!1,n.player.autoplay=!1),l&&l.call(),n.player.autoplay&&(n.player.resetSegments(!0),a(n,x).call(n,!0)),n.player.setSpeed(c)}),p):a(n,k).call(n)}}),S.set(this,{writable:!0,value:function(e,t){if(-1!==e&&-1!==t){var i=n.getContainerCursorPosition(e,t);e=i.x,t=i.y}var a=n.actions.find((function(n){var i=n.position;if(i){if(Array.isArray(i.x)&&Array.isArray(i.y))return e>=i.x[0]&&e<=i.x[1]&&t>=i.y[0]&&t<=i.y[1];if(!Number.isNaN(i.x)&&!Number.isNaN(i.y))return e===i.x&&t===i.y}return!1}));if(a)if("seek"===a.type||"seek"===a.transition){var r=(e-a.position.x[0])/(a.position.x[1]-a.position.x[0]),o=(t-a.position.y[0])/(a.position.y[1]-a.position.y[0]);n.player.playSegments(a.frames,!0),a.position.y[0]<0&&a.position.y[1]>1?n.player.goToAndStop(Math.floor(r*n.player.totalFrames),!0):n.player.goToAndStop(Math.ceil((r+o)/2*n.player.totalFrames),!0)}else"loop"===a.type?n.player.playSegments(a.frames,!0):"play"===a.type?(!0===n.player.isPaused&&n.player.resetSegments(),n.player.playSegments(a.frames)):"stop"===a.type&&(n.player.resetSegments(!0),n.player.goToAndStop(a.frames[0],!0))}}),P.set(this,{writable:!0,value:function(){var e=n.getContainerVisibility(),t=n.actions.find((function(t){var n=t.visibility;return e>=n[0]&&e<=n[1]}));if(t)if("seek"===t.type){var i=t.frames[0],a=2==t.frames.length?t.frames[1]:n.player.totalFrames-1;null!==n.assignedSegment&&(n.player.resetSegments(!0),n.assignedSegment=null),n.player.goToAndStop(i+Math.round((e-t.visibility[0])/(t.visibility[1]-t.visibility[0])*(a-i)),!0)}else"loop"===t.type?(n.player.loop=!0,(null===n.assignedSegment||n.assignedSegment!==t.frames||!0===n.player.isPaused)&&(n.player.playSegments(t.frames,!0),n.assignedSegment=t.frames)):"play"===t.type?n.scrolledAndPlayed||(n.scrolledAndPlayed=!0,n.player.resetSegments(!0),t.frames?n.player.playSegments(t.frames,!0):n.player.play()):"stop"===t.type&&n.player.goToAndStop(t.frames[0],!0)}}),this.enteredPlayer=H,"object"!==e(H)||"AnimationItem"!==H.constructor.name){if("string"==typeof H){var W=document.querySelector(H);W&&"LOTTIE-PLAYER"===W.nodeName&&(H=W.getLottie())}else H instanceof HTMLElement&&"LOTTIE-PLAYER"===H.nodeName&&(H=H.getLottie());if(!H){var F=o+"Specified player:"+H+" is invalid.";throw new Error(F)}}"string"==typeof A&&(A=document.querySelector(A)),A||(A=H.wrapper),this.player=H,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=A,this.mode=T,this.actions=C,this.options=O,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.oldInterctionIdx=0,this.clickCounter=0,this.playCounter=0,this.stateHandler=new Map,this.transitionHandler=new Map}var M,C,A;return M=s,(C=[{key:"getContainerVisibility",value:function(){var e=this.container.getBoundingClientRect(),t=e.top,n=e.height;return(window.innerHeight-t)/(window.innerHeight+n)}},{key:"getContainerCursorPosition",value:function(e,t){var n=this.container.getBoundingClientRect(),i=n.top;return{x:(e-n.left)/n.width,y:(t-i)/n.height}}},{key:"initScrollMode",value:function(){this.player.stop(),window.addEventListener("scroll",a(this,P),!0)}},{key:"initCursorMode",value:function(){this.actions&&1===this.actions.length?"click"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",a(this,d))):"hover"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("mouseenter",a(this,d)),this.container.addEventListener("touchstart",a(this,d),{passive:!0})):"toggle"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",a(this,p))):"hold"===this.actions[0].type||"pauseHold"===this.actions[0].type?(this.container.addEventListener("mouseenter",a(this,g)),this.container.addEventListener("mouseleave",a(this,E)),this.container.addEventListener("touchstart",a(this,g),{passive:!0}),this.container.addEventListener("touchend",a(this,E),{passive:!0})):"seek"===this.actions[0].type&&(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",a(this,h)),this.container.addEventListener("touchmove",a(this,y),{passive:!1}),this.container.addEventListener("mouseout",a(this,u))):(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",a(this,h)),this.container.addEventListener("mouseleave",a(this,u)),a(this,S).call(this,-1,-1))}},{key:"initChainMode",value:function(){a(this,l).call(this),this.player.loop=!1,this.player.stop(),a(this,b).call(this,{ignorePath:!1})}},{key:"start",value:function(){var e=this;"scroll"===this.mode?this.player.isLoaded?this.initScrollMode():this.player.addEventListener("DOMLoaded",(function(){e.initScrollMode()})):"cursor"===this.mode?this.player.isLoaded?this.initCursorMode():this.player.addEventListener("DOMLoaded",(function(){e.initCursorMode()})):"chain"===this.mode&&(this.player.isLoaded?this.initChainMode():this.player.addEventListener("DOMLoaded",(function(){e.initChainMode()})))}},{key:"redefineOptions",value:function(t){var n=t.actions,a=t.container,r=t.mode,s=t.player,l=i(t,["actions","container","mode","player"]);if(this.stop(),this.enteredPlayer=s,"object"!==e(s)||"AnimationItem"!==s.constructor.name){if("string"==typeof s){var c=document.querySelector(s);c&&"LOTTIE-PLAYER"===c.nodeName&&(s=c.getLottie())}else s instanceof HTMLElement&&"LOTTIE-PLAYER"===s.nodeName&&(s=s.getLottie());if(!s)throw new Error(o+"Specified player:"+s+" is invalid.",s)}"string"==typeof a&&(a=document.querySelector(a)),a||(a=s.wrapper),this.player=s,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=a,this.mode=r,this.actions=n,this.options=l,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.clickCounter=0,this.playCounter=0,this.holdStatus=null,this.stateHandler=new Map,this.transitionHandler=new Map,this.start()}},{key:"stop",value:function(){if("scroll"===this.mode&&window.removeEventListener("scroll",a(this,P),!0),"cursor"===this.mode&&(this.container.removeEventListener("click",a(this,d)),this.container.removeEventListener("click",a(this,p)),this.container.removeEventListener("mouseenter",a(this,d)),this.container.removeEventListener("touchstart",a(this,d)),this.container.removeEventListener("touchmove",a(this,y)),this.container.removeEventListener("mousemove",a(this,h)),this.container.removeEventListener("mouseleave",a(this,u)),this.container.removeEventListener("touchstart",a(this,g)),this.container.removeEventListener("touchend",a(this,E))),"chain"===this.mode&&(this.container.removeEventListener("click",a(this,d)),this.container.removeEventListener("click",a(this,c)),this.container.removeEventListener("mouseenter",a(this,d)),this.container.removeEventListener("touchstart",a(this,d)),this.container.removeEventListener("touchmove",a(this,y)),this.container.removeEventListener("mouseenter",a(this,c)),this.container.removeEventListener("touchstart",a(this,c)),this.container.removeEventListener("mouseenter",a(this,g)),this.container.removeEventListener("touchstart",a(this,g)),this.container.removeEventListener("mouseleave",a(this,E)),this.container.removeEventListener("mousemove",a(this,h)),this.container.removeEventListener("mouseout",a(this,u)),this.container.removeEventListener("touchend",a(this,E)),this.player))try{this.player.removeEventListener("loopComplete",a(this,v)),this.player.removeEventListener("complete",a(this,v)),this.player.removeEventListener("enterFrame",a(this,f)),this.player.removeEventListener("enterFrame",a(this,L))}catch(e){}this.player=null}}])&&n(M.prototype,C),A&&n(M,A),s}(),l=new WeakMap,c=new WeakMap,p=new WeakMap,d=new WeakMap,h=new WeakMap,y=new WeakMap,u=new WeakMap,v=new WeakMap,m=new WeakMap,f=new WeakMap,L=new WeakMap,g=new WeakMap,E=new WeakMap,w=new WeakMap,I=new WeakMap,x=new WeakMap,k=new WeakMap,b=new WeakMap,S=new WeakMap,P=new WeakMap,M=function(e){var t=new s(e);return t.start(),t};export default M;export{s as LottieInteractivity,M as create}; | ||
//# sourceMappingURL=lottie-interactivity.es.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).LottieInteractivity={})}(this,(function(e){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function a(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function r(e,t){var n=t.get(e);if(!n)throw new TypeError("attempted to get private field on non-instance");return n.get?n.get.call(e):n.value}var o={player:"lottie-player"},s="[lottieInteractivity]:",l=function(){function e(){var i=this,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,C=l.actions,A=l.container,T=l.mode,H=l.player,O=a(l,["actions","container","mode","player"]);if(n(this,e),c.set(this,{writable:!0,value:function(){if(i.player){var e=function(){i.player.addEventListener("enterFrame",r(i,g)),i.container.addEventListener("mouseenter",r(i,E)),i.container.addEventListener("mouseleave",r(i,w)),i.container.addEventListener("touchstart",r(i,E),{passive:!0}),i.container.addEventListener("touchend",r(i,w),{passive:!0})};i.stateHandler.set("loop",(function(){i.actions[i.interactionIdx].loop?i.player.loop=parseInt(i.actions[i.interactionIdx].loop)-1:i.player.loop=!0,i.player.autoplay=!0})),i.stateHandler.set("autoplay",(function(){i.player.loop=!1,i.player.autoplay=!0})),i.stateHandler.set("click",(function(){i.player.loop=!1,i.player.autoplay=!1,i.container.addEventListener("click",r(i,p))})),i.stateHandler.set("hover",(function(){i.player.loop=!1,i.player.autoplay=!1,i.container.addEventListener("mouseenter",r(i,p)),i.container.addEventListener("touchstart",r(i,p),{passive:!0})})),i.transitionHandler.set("click",(function(){i.container.addEventListener("click",r(i,h))})),i.transitionHandler.set("hover",(function(){i.container.addEventListener("mouseenter",r(i,h)),i.container.addEventListener("touchstart",r(i,h),{passive:!0})})),i.transitionHandler.set("hold",e),i.transitionHandler.set("pauseHold",e),i.transitionHandler.set("repeat",(function(){i.player.loop=!0,i.player.autoplay=!0;i.player.addEventListener("loopComplete",(function e(){r(i,f).call(i,{handler:e})}))})),i.transitionHandler.set("onComplete",(function(){"loop"===i.actions[i.interactionIdx].state?i.player.addEventListener("loopComplete",r(i,m)):i.player.addEventListener("complete",r(i,m))})),i.transitionHandler.set("seek",(function(){i.player.stop(),i.player.addEventListener("enterFrame",r(i,L)),i.container.addEventListener("mousemove",r(i,y)),i.container.addEventListener("touchmove",r(i,u),{passive:!1}),i.container.addEventListener("mouseout",r(i,v))}))}}}),p.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].forceFlag;e||!0!==i.player.isPaused?e&&r(i,I).call(i,!0):r(i,I).call(i,!0)}}),d.set(this,{writable:!0,value:function(){0===i.clickCounter?(i.player.play(),i.clickCounter++):(i.clickCounter++,i.player.setDirection(-1*i.player.playDirection),i.player.play())}}),h.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].forceFlag;if("chain"===i.mode){if(i.actions[i.interactionIdx].count){var t=parseInt(i.actions[i.interactionIdx].count);if(i.clickCounter<t-1)return void(i.clickCounter+=1)}return i.clickCounter=0,i.container.removeEventListener("click",r(i,h)),i.container.removeEventListener("mouseenter",r(i,h)),void r(i,k).call(i)}e||!0!==i.player.isPaused?e&&i.player.goToAndPlay(0,!0):i.player.goToAndPlay(0,!0)}}),y.set(this,{writable:!0,value:function(e){r(i,M).call(i,e.clientX,e.clientY)}}),u.set(this,{writable:!0,value:function(e){e.cancelable&&e.preventDefault(),r(i,M).call(i,e.touches[0].clientX,e.touches[0].clientY)}}),v.set(this,{writable:!0,value:function(){r(i,M).call(i,-1,-1)}}),m.set(this,{writable:!0,value:function(){"loop"===i.actions[i.interactionIdx].state?i.player.removeEventListener("loopComplete",r(i,m)):i.player.removeEventListener("complete",r(i,m)),r(i,k).call(i)}}),f.set(this,{writable:!0,value:function(e){var t=e.handler,n=1;i.actions[i.interactionIdx].repeat&&(n=i.actions[i.interactionIdx].repeat),i.playCounter>=n-1?(i.playCounter=0,i.player.removeEventListener("loopComplete",t),i.player.loop=!1,i.player.autoplay=!1,r(i,k).call(i)):i.playCounter+=1}}),L.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].frames;e&&i.player.currentFrame>=parseInt(e[1])-1&&(i.player.removeEventListener("enterFrame",r(i,L)),i.container.removeEventListener("mousemove",r(i,y)),i.container.removeEventListener("mouseout",r(i,v)),setTimeout(r(i,k),0))}}),g.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].frames;(e&&i.player.currentFrame>=e[1]||i.player.currentFrame>=i.player.totalFrames-1)&&(i.player.removeEventListener("enterFrame",r(i,g)),i.container.removeEventListener("mouseenter",r(i,E)),i.container.removeEventListener("mouseleave",r(i,w)),i.player.pause(),r(i,k).call(i))}}),E.set(this,{writable:!0,value:function(){-1!==i.player.playDirection&&0!==i.player.currentFrame&&"pauseHold"!==i.actions[i.interactionIdx].transition&&"pauseHold"!==i.actions[0].type||(i.player.setDirection(1),i.player.play())}}),w.set(this,{writable:!0,value:function(){"hold"===i.actions[i.interactionIdx].transition||"hold"===i.actions[0].type?(i.player.setDirection(-1),i.player.play()):"pauseHold"!==i.actions[i.interactionIdx].transition&&"pauseHold"!==i.actions[0].type||i.player.pause()}}),b.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].state;"hover"!==e&&"click"!==e||(i.container.removeEventListener("click",r(i,p)),i.container.removeEventListener("mouseenter",r(i,p)))}}),k.set(this,{writable:!0,value:function(){var e=i.interactionIdx;r(i,b).call(i);var t=i.actions[i.interactionIdx].jumpTo;t?t>=0&&t<i.actions.length?(i.interactionIdx=t,r(i,P).call(i,{ignorePath:!1})):(i.interactionIdx=0,i.player.goToAndStop(0,!0),r(i,P).call(i,{ignorePath:!1})):(i.interactionIdx++,i.interactionIdx>=i.actions.length?i.actions[i.actions.length-1].reset?(i.interactionIdx=0,i.player.goToAndStop(0,!0),r(i,P).call(i,{ignorePath:!1})):(i.interactionIdx=i.actions.length-1,r(i,P).call(i,{ignorePath:!1})):r(i,P).call(i,{ignorePath:!1})),i.container.dispatchEvent(new CustomEvent("transition",{bubbles:!0,composed:!0,detail:{oldIndex:e,newIndex:i.interactionIdx}}))}}),I.set(this,{writable:!0,value:function(e){var t=i.actions[i.interactionIdx].frames;if(!t)return i.player.resetSegments(!0),void i.player.goToAndPlay(0,!0);"string"==typeof t?i.player.goToAndPlay(t,e):i.player.playSegments(t,e)}}),x.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].path;if(!e)if("object"===t(i.enteredPlayer)&&"AnimationItem"===i.enteredPlayer.constructor.name){if(e=i.enteredPlayer,i.player===e)return void r(i,P).call(i,{ignorePath:!0})}else{var n=(e=i.loadedAnimation).substr(e.lastIndexOf("/")+1);if(n=n.substr(0,n.lastIndexOf(".json")),i.player.fileName===n)return void r(i,P).call(i,{ignorePath:!0})}var a=i.container.getBoundingClientRect(),o="width: "+a.width+"px !important; height: "+a.height+"px !important; background: "+i.container.style.background;if(i.container.setAttribute("style",o),"object"!==t(i.enteredPlayer)||"AnimationItem"!==i.enteredPlayer.constructor.name){if("string"==typeof i.enteredPlayer){var l=document.querySelector(i.enteredPlayer);l&&"LOTTIE-PLAYER"===l.nodeName&&(i.attachedListeners||(l.addEventListener("ready",(function(){i.container.style.width="",i.container.style.height=""})),l.addEventListener("load",(function(){i.player=l.getLottie(),r(i,P).call(i,{ignorePath:!0})})),i.attachedListeners=!0),l.load(e))}else i.enteredPlayer instanceof HTMLElement&&"LOTTIE-PLAYER"===i.enteredPlayer.nodeName&&(i.attachedListeners||(i.enteredPlayer.addEventListener("ready",(function(){i.container.style.width="",i.container.style.height=""})),i.enteredPlayer.addEventListener("load",(function(){i.player=i.enteredPlayer.getLottie(),r(i,P).call(i,{ignorePath:!0})})),i.attachedListeners=!0),i.enteredPlayer.load(e));if(!i.player)throw new Error("".concat(s," Specified player is invalid."),i.enteredPlayer)}else{if(!window.lottie)throw new Error("".concat(s," A Lottie player is required."));i.stop(),i.player.destroy(),i.container.innerHTML="","object"===t(e)&&"AnimationItem"===e.constructor.name?i.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,animationData:e.animationData,container:i.container}):i.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,path:e,container:i.container}),i.player.addEventListener("DOMLoaded",(function(){i.container.style.width="",i.container.style.height="",r(i,P).call(i,{ignorePath:!0})}))}i.clickCounter=0,i.playCounter=0}}),P.set(this,{writable:!0,value:function(e){var t=e.ignorePath,n=i.actions[i.interactionIdx].state,a=i.actions[i.interactionIdx].transition,o=i.actions[i.interactionIdx].path,s=i.stateHandler.get(n),l=i.transitionHandler.get(a),c=i.actions[i.interactionIdx].speed?i.actions[i.interactionIdx].speed:1,p=i.actions[i.interactionIdx].delay?i.actions[i.interactionIdx].delay:0;t||!(o||i.actions[i.actions.length-1].reset&&0===i.interactionIdx)?setTimeout((function(){s?s.call():"none"===n&&(i.player.loop=!1,i.player.autoplay=!1),l&&l.call(),i.player.autoplay&&(i.player.resetSegments(!0),r(i,I).call(i,!0)),i.player.setSpeed(c)}),p):r(i,x).call(i)}}),M.set(this,{writable:!0,value:function(e,t){if(-1!==e&&-1!==t){var n=i.getContainerCursorPosition(e,t);e=n.x,t=n.y}var a=i.actions.find((function(n){var i=n.position;if(i){if(Array.isArray(i.x)&&Array.isArray(i.y))return e>=i.x[0]&&e<=i.x[1]&&t>=i.y[0]&&t<=i.y[1];if(!Number.isNaN(i.x)&&!Number.isNaN(i.y))return e===i.x&&t===i.y}return!1}));if(a)if("seek"===a.type||"seek"===a.transition){var r=(e-a.position.x[0])/(a.position.x[1]-a.position.x[0]),o=(t-a.position.y[0])/(a.position.y[1]-a.position.y[0]);i.player.playSegments(a.frames,!0),a.position.y[0]<0&&a.position.y[1]>1?i.player.goToAndStop(Math.floor(r*i.player.totalFrames),!0):i.player.goToAndStop(Math.ceil((r+o)/2*i.player.totalFrames),!0)}else"loop"===a.type?i.player.playSegments(a.frames,!0):"play"===a.type?(!0===i.player.isPaused&&i.player.resetSegments(),i.player.playSegments(a.frames)):"stop"===a.type&&(i.player.resetSegments(!0),i.player.goToAndStop(a.frames[0],!0))}}),S.set(this,{writable:!0,value:function(){var e=i.getContainerVisibility(),t=i.actions.find((function(t){var n=t.visibility;return e>=n[0]&&e<=n[1]}));if(t)if("seek"===t.type){var n=t.frames[0],a=2==t.frames.length?t.frames[1]:i.player.totalFrames-1;null!==i.assignedSegment&&(i.player.resetSegments(!0),i.assignedSegment=null),i.player.goToAndStop(n+Math.round((e-t.visibility[0])/(t.visibility[1]-t.visibility[0])*(a-n)),!0)}else"loop"===t.type?(i.player.loop=!0,(null===i.assignedSegment||i.assignedSegment!==t.frames||!0===i.player.isPaused)&&(i.player.playSegments(t.frames,!0),i.assignedSegment=t.frames)):"play"===t.type?i.scrolledAndPlayed||(i.scrolledAndPlayed=!0,i.player.resetSegments(!0),t.frames?i.player.playSegments(t.frames,!0):i.player.play()):"stop"===t.type&&i.player.goToAndStop(t.frames[0],!0)}}),this.enteredPlayer=H,"object"!==t(H)||"AnimationItem"!==H.constructor.name){if("string"==typeof H){var W=document.querySelector(H);W&&"LOTTIE-PLAYER"===W.nodeName&&(H=W.getLottie())}else H instanceof HTMLElement&&"LOTTIE-PLAYER"===H.nodeName&&(H=H.getLottie());if(!H){var j=s+"Specified player:"+H+" is invalid.";throw new Error(j)}}"string"==typeof A&&(A=document.querySelector(A)),A||(A=H.wrapper),this.player=H,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=A,this.mode=T,this.actions=C,this.options=O,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.clickCounter=0,this.playCounter=0,this.stateHandler=new Map,this.transitionHandler=new Map}var l,C,A;return l=e,(C=[{key:"getContainerVisibility",value:function(){var e=this.container.getBoundingClientRect(),t=e.top,n=e.height;return(window.innerHeight-t)/(window.innerHeight+n)}},{key:"getContainerCursorPosition",value:function(e,t){var n=this.container.getBoundingClientRect(),i=n.top;return{x:(e-n.left)/n.width,y:(t-i)/n.height}}},{key:"initScrollMode",value:function(){this.player.stop(),window.addEventListener("scroll",r(this,S),!0)}},{key:"initCursorMode",value:function(){this.actions&&1===this.actions.length?"click"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",r(this,h))):"hover"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("mouseenter",r(this,h)),this.container.addEventListener("touchstart",r(this,h),{passive:!0})):"toggle"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",r(this,d))):"hold"===this.actions[0].type||"pauseHold"===this.actions[0].type?(this.container.addEventListener("mouseenter",r(this,E)),this.container.addEventListener("mouseleave",r(this,w)),this.container.addEventListener("touchstart",r(this,E),{passive:!0}),this.container.addEventListener("touchend",r(this,w),{passive:!0})):"seek"===this.actions[0].type&&(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",r(this,y)),this.container.addEventListener("touchmove",r(this,u),{passive:!1}),this.container.addEventListener("mouseout",r(this,v))):(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",r(this,y)),this.container.addEventListener("mouseleave",r(this,v)),r(this,M).call(this,-1,-1))}},{key:"initChainMode",value:function(){r(this,c).call(this),this.player.loop=!1,this.player.stop(),r(this,P).call(this,{ignorePath:!1})}},{key:"start",value:function(){var e=this;"scroll"===this.mode?this.player.isLoaded?this.initScrollMode():this.player.addEventListener("DOMLoaded",(function(){e.initScrollMode()})):"cursor"===this.mode?this.player.isLoaded?this.initCursorMode():this.player.addEventListener("DOMLoaded",(function(){e.initCursorMode()})):"chain"===this.mode&&(this.player.isLoaded?this.initChainMode():this.player.addEventListener("DOMLoaded",(function(){e.initChainMode()})))}},{key:"redefineOptions",value:function(e){var n=e.actions,i=e.container,r=e.mode,o=e.player,l=a(e,["actions","container","mode","player"]);if(this.stop(),this.enteredPlayer=o,"object"!==t(o)||"AnimationItem"!==o.constructor.name){if("string"==typeof o){var c=document.querySelector(o);c&&"LOTTIE-PLAYER"===c.nodeName&&(o=c.getLottie())}else o instanceof HTMLElement&&"LOTTIE-PLAYER"===o.nodeName&&(o=o.getLottie());if(!o)throw new Error(s+"Specified player:"+o+" is invalid.",o)}"string"==typeof i&&(i=document.querySelector(i)),i||(i=o.wrapper),this.player=o,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=i,this.mode=r,this.actions=n,this.options=l,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.clickCounter=0,this.playCounter=0,this.stateHandler=new Map,this.transitionHandler=new Map,this.start()}},{key:"stop",value:function(){if("scroll"===this.mode&&window.removeEventListener("scroll",r(this,S),!0),"cursor"===this.mode&&(this.container.removeEventListener("click",r(this,h)),this.container.removeEventListener("click",r(this,d)),this.container.removeEventListener("mouseenter",r(this,h)),this.container.removeEventListener("touchstart",r(this,h)),this.container.removeEventListener("touchmove",r(this,u)),this.container.removeEventListener("mousemove",r(this,y)),this.container.removeEventListener("mouseleave",r(this,v)),this.container.removeEventListener("touchstart",r(this,E)),this.container.removeEventListener("touchend",r(this,w))),"chain"===this.mode&&(this.container.removeEventListener("click",r(this,h)),this.container.removeEventListener("click",r(this,p)),this.container.removeEventListener("mouseenter",r(this,h)),this.container.removeEventListener("touchstart",r(this,h)),this.container.removeEventListener("touchmove",r(this,u)),this.container.removeEventListener("mouseenter",r(this,p)),this.container.removeEventListener("touchstart",r(this,p)),this.container.removeEventListener("mouseenter",r(this,E)),this.container.removeEventListener("touchstart",r(this,E)),this.container.removeEventListener("mouseleave",r(this,w)),this.container.removeEventListener("mousemove",r(this,y)),this.container.removeEventListener("mouseout",r(this,v)),this.container.removeEventListener("touchend",r(this,w)),this.player))try{this.player.removeEventListener("loopComplete",r(this,m)),this.player.removeEventListener("complete",r(this,m)),this.player.removeEventListener("enterFrame",r(this,L)),this.player.removeEventListener("enterFrame",r(this,g))}catch(e){}this.player=null}}])&&i(l.prototype,C),A&&i(l,A),e}(),c=new WeakMap,p=new WeakMap,d=new WeakMap,h=new WeakMap,y=new WeakMap,u=new WeakMap,v=new WeakMap,m=new WeakMap,f=new WeakMap,L=new WeakMap,g=new WeakMap,E=new WeakMap,w=new WeakMap,b=new WeakMap,k=new WeakMap,I=new WeakMap,x=new WeakMap,P=new WeakMap,M=new WeakMap,S=new WeakMap,C=function(e){var t=new l(e);return t.start(),t};e.LottieInteractivity=l,e.create=C,e.default=C,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).LottieInteractivity={})}(this,(function(e){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function a(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function r(e,t){var n=t.get(e);if(!n)throw new TypeError("attempted to get private field on non-instance");return n.get?n.get.call(e):n.value}var o={player:"lottie-player"},s="[lottieInteractivity]:",l=function(){function e(){var i=this,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,C=l.actions,A=l.container,T=l.mode,H=l.player,O=a(l,["actions","container","mode","player"]);if(n(this,e),c.set(this,{writable:!0,value:function(){if(i.player){var e=function(){i.player.addEventListener("enterFrame",r(i,g)),i.container.addEventListener("mouseenter",r(i,E)),i.container.addEventListener("mouseleave",r(i,w)),i.container.addEventListener("touchstart",r(i,E),{passive:!0}),i.container.addEventListener("touchend",r(i,w),{passive:!0})};i.stateHandler.set("loop",(function(){i.actions[i.interactionIdx].loop?i.player.loop=parseInt(i.actions[i.interactionIdx].loop)-1:i.player.loop=!0,i.player.autoplay=!0})),i.stateHandler.set("autoplay",(function(){i.player.loop=!1,i.player.autoplay=!0})),i.stateHandler.set("click",(function(){i.player.loop=!1,i.player.autoplay=!1,i.container.addEventListener("click",r(i,p))})),i.stateHandler.set("hover",(function(){i.player.loop=!1,i.player.autoplay=!1,i.container.addEventListener("mouseenter",r(i,p)),i.container.addEventListener("touchstart",r(i,p),{passive:!0})})),i.transitionHandler.set("click",(function(){i.container.addEventListener("click",r(i,h))})),i.transitionHandler.set("hover",(function(){i.container.addEventListener("mouseenter",r(i,h)),i.container.addEventListener("touchstart",r(i,h),{passive:!0})})),i.transitionHandler.set("hold",e),i.transitionHandler.set("pauseHold",e),i.transitionHandler.set("repeat",(function(){i.player.loop=!0,i.player.autoplay=!0;i.player.addEventListener("loopComplete",(function e(){r(i,f).call(i,{handler:e})}))})),i.transitionHandler.set("onComplete",(function(){"loop"===i.actions[i.interactionIdx].state?i.player.addEventListener("loopComplete",r(i,m)):i.player.addEventListener("complete",r(i,m))})),i.transitionHandler.set("seek",(function(){i.player.stop(),i.player.addEventListener("enterFrame",r(i,L)),i.container.addEventListener("mousemove",r(i,y)),i.container.addEventListener("touchmove",r(i,u),{passive:!1}),i.container.addEventListener("mouseout",r(i,v))}))}}}),p.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].forceFlag;e||!0!==i.player.isPaused?e&&r(i,b).call(i,!0):r(i,b).call(i,!0)}}),d.set(this,{writable:!0,value:function(){0===i.clickCounter?(i.player.play(),i.clickCounter++):(i.clickCounter++,i.player.setDirection(-1*i.player.playDirection),i.player.play())}}),h.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].forceFlag,t=i.actions[i.interactionIdx].state,n=i.actions[i.interactionIdx].transition;if("chain"===i.mode){if(i.actions[i.interactionIdx].count){var a=parseInt(i.actions[i.interactionIdx].count);if(i.clickCounter<a-1)return void(i.clickCounter+=1)}return i.clickCounter=0,"click"===n&&"click"===t||"hover"===n&&"hover"===t?i.transitionHandler.get("onComplete").call():r(i,x).call(i),i.container.removeEventListener("click",r(i,h)),void i.container.removeEventListener("mouseenter",r(i,h))}e||!0!==i.player.isPaused?e&&i.player.goToAndPlay(0,!0):i.player.goToAndPlay(0,!0)}}),y.set(this,{writable:!0,value:function(e){r(i,P).call(i,e.clientX,e.clientY)}}),u.set(this,{writable:!0,value:function(e){e.cancelable&&e.preventDefault(),r(i,P).call(i,e.touches[0].clientX,e.touches[0].clientY)}}),v.set(this,{writable:!0,value:function(){r(i,P).call(i,-1,-1)}}),m.set(this,{writable:!0,value:function(){"loop"===i.actions[i.interactionIdx].state?i.player.removeEventListener("loopComplete",r(i,m)):i.player.removeEventListener("complete",r(i,m)),r(i,x).call(i)}}),f.set(this,{writable:!0,value:function(e){var t=e.handler,n=1;i.actions[i.interactionIdx].repeat&&(n=i.actions[i.interactionIdx].repeat),i.playCounter>=n-1?(i.playCounter=0,i.player.removeEventListener("loopComplete",t),i.player.loop=!1,i.player.autoplay=!1,r(i,x).call(i)):i.playCounter+=1}}),L.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].frames;e&&i.player.currentFrame>=parseInt(e[1])-1&&(i.player.removeEventListener("enterFrame",r(i,L)),i.container.removeEventListener("mousemove",r(i,y)),i.container.removeEventListener("mouseout",r(i,v)),setTimeout(r(i,x),0))}}),g.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].frames;(e&&i.player.currentFrame>=e[1]||i.player.currentFrame>=i.player.totalFrames-1)&&(i.player.removeEventListener("enterFrame",r(i,g)),i.container.removeEventListener("mouseenter",r(i,E)),i.container.removeEventListener("mouseleave",r(i,w)),i.container.removeEventListener("touchstart",r(i,E),{passive:!0}),i.container.removeEventListener("touchend",r(i,w),{passive:!0}),i.player.pause(),i.holdStatus=!1,r(i,x).call(i))}}),E.set(this,{writable:!0,value:function(){-1!==i.player.playDirection&&null!==i.holdStatus&&i.holdStatus||(i.player.setDirection(1),i.player.play(),i.holdStatus=!0)}}),w.set(this,{writable:!0,value:function(){"hold"===i.actions[i.interactionIdx].transition||"hold"===i.actions[0].type?(i.player.setDirection(-1),i.player.play()):"pauseHold"!==i.actions[i.interactionIdx].transition&&"pauseHold"!==i.actions[0].type||i.player.pause(),i.holdStatus=!1}}),I.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].state;"hover"!==e&&"click"!==e||(i.container.removeEventListener("click",r(i,p)),i.container.removeEventListener("mouseenter",r(i,p)))}}),x.set(this,{writable:!0,value:function(){i.oldInterctionIdx=i.interactionIdx,r(i,I).call(i);var e=i.actions[i.interactionIdx].jumpTo;e?e>=0&&e<i.actions.length?(i.interactionIdx=e,r(i,S).call(i,{ignorePath:!1})):(i.interactionIdx=0,i.player.goToAndStop(0,!0),r(i,S).call(i,{ignorePath:!1})):(i.interactionIdx++,i.interactionIdx>=i.actions.length?i.actions[i.actions.length-1].reset?(i.interactionIdx=0,i.player.resetSegments(!0),i.actions[i.interactionIdx].frames?i.player.goToAndStop(i.actions[i.interactionIdx].frames,!0):i.player.goToAndStop(0,!0),r(i,S).call(i,{ignorePath:!1})):(i.interactionIdx=i.actions.length-1,r(i,S).call(i,{ignorePath:!1})):r(i,S).call(i,{ignorePath:!1})),i.container.dispatchEvent(new CustomEvent("transition",{bubbles:!0,composed:!0,detail:{oldIndex:i.oldInterctionIdx,newIndex:i.interactionIdx}}))}}),b.set(this,{writable:!0,value:function(e){var t=i.actions[i.interactionIdx].frames;if(!t)return i.player.resetSegments(!0),void i.player.goToAndPlay(0,!0);"string"==typeof t?i.player.goToAndPlay(t,e):i.player.playSegments(t,e)}}),k.set(this,{writable:!0,value:function(){var e=i.actions[i.interactionIdx].path;if(!e)if("object"===t(i.enteredPlayer)&&"AnimationItem"===i.enteredPlayer.constructor.name){if(e=i.enteredPlayer,i.player===e)return void r(i,S).call(i,{ignorePath:!0})}else{var n=(e=i.loadedAnimation).substr(e.lastIndexOf("/")+1);if(n=n.substr(0,n.lastIndexOf(".json")),i.player.fileName===n)return void r(i,S).call(i,{ignorePath:!0})}var a=i.container.getBoundingClientRect(),o="width: "+a.width+"px !important; height: "+a.height+"px !important; background: "+i.container.style.background;if(i.container.setAttribute("style",o),"object"!==t(i.enteredPlayer)||"AnimationItem"!==i.enteredPlayer.constructor.name){if("string"==typeof i.enteredPlayer){var l=document.querySelector(i.enteredPlayer);l&&"LOTTIE-PLAYER"===l.nodeName&&(i.attachedListeners||(l.addEventListener("ready",(function(){i.container.style.width="",i.container.style.height=""})),l.addEventListener("load",(function(){i.player=l.getLottie(),r(i,S).call(i,{ignorePath:!0})})),i.attachedListeners=!0),l.load(e))}else i.enteredPlayer instanceof HTMLElement&&"LOTTIE-PLAYER"===i.enteredPlayer.nodeName&&(i.attachedListeners||(i.enteredPlayer.addEventListener("ready",(function(){i.container.style.width="",i.container.style.height=""})),i.enteredPlayer.addEventListener("load",(function(){i.player=i.enteredPlayer.getLottie(),r(i,S).call(i,{ignorePath:!0})})),i.attachedListeners=!0),i.enteredPlayer.load(e));if(!i.player)throw new Error("".concat(s," Specified player is invalid."),i.enteredPlayer)}else{if(!window.lottie)throw new Error("".concat(s," A Lottie player is required."));i.stop(),i.player.destroy(),i.container.innerHTML="","object"===t(e)&&"AnimationItem"===e.constructor.name?i.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,animationData:e.animationData,container:i.container}):i.player=window.lottie.loadAnimation({loop:!1,autoplay:!1,path:e,container:i.container}),i.player.addEventListener("DOMLoaded",(function(){i.container.style.width="",i.container.style.height="",r(i,S).call(i,{ignorePath:!0})}))}i.clickCounter=0,i.playCounter=0}}),S.set(this,{writable:!0,value:function(e){var t=e.ignorePath,n=i.actions[i.interactionIdx].state,a=i.actions[i.interactionIdx].transition,o=i.actions[i.interactionIdx].path,s=i.stateHandler.get(n),l=i.transitionHandler.get(a),c=i.actions[i.interactionIdx].speed?i.actions[i.interactionIdx].speed:1,p=i.actions[i.interactionIdx].delay?i.actions[i.interactionIdx].delay:0;t||!(o||i.actions[i.actions.length-1].reset&&0===i.interactionIdx)?setTimeout((function(){s?s.call():"none"===n&&(i.player.loop=!1,i.player.autoplay=!1),l&&l.call(),i.player.autoplay&&(i.player.resetSegments(!0),r(i,b).call(i,!0)),i.player.setSpeed(c)}),p):r(i,k).call(i)}}),P.set(this,{writable:!0,value:function(e,t){if(-1!==e&&-1!==t){var n=i.getContainerCursorPosition(e,t);e=n.x,t=n.y}var a=i.actions.find((function(n){var i=n.position;if(i){if(Array.isArray(i.x)&&Array.isArray(i.y))return e>=i.x[0]&&e<=i.x[1]&&t>=i.y[0]&&t<=i.y[1];if(!Number.isNaN(i.x)&&!Number.isNaN(i.y))return e===i.x&&t===i.y}return!1}));if(a)if("seek"===a.type||"seek"===a.transition){var r=(e-a.position.x[0])/(a.position.x[1]-a.position.x[0]),o=(t-a.position.y[0])/(a.position.y[1]-a.position.y[0]);i.player.playSegments(a.frames,!0),a.position.y[0]<0&&a.position.y[1]>1?i.player.goToAndStop(Math.floor(r*i.player.totalFrames),!0):i.player.goToAndStop(Math.ceil((r+o)/2*i.player.totalFrames),!0)}else"loop"===a.type?i.player.playSegments(a.frames,!0):"play"===a.type?(!0===i.player.isPaused&&i.player.resetSegments(),i.player.playSegments(a.frames)):"stop"===a.type&&(i.player.resetSegments(!0),i.player.goToAndStop(a.frames[0],!0))}}),M.set(this,{writable:!0,value:function(){var e=i.getContainerVisibility(),t=i.actions.find((function(t){var n=t.visibility;return e>=n[0]&&e<=n[1]}));if(t)if("seek"===t.type){var n=t.frames[0],a=2==t.frames.length?t.frames[1]:i.player.totalFrames-1;null!==i.assignedSegment&&(i.player.resetSegments(!0),i.assignedSegment=null),i.player.goToAndStop(n+Math.round((e-t.visibility[0])/(t.visibility[1]-t.visibility[0])*(a-n)),!0)}else"loop"===t.type?(i.player.loop=!0,(null===i.assignedSegment||i.assignedSegment!==t.frames||!0===i.player.isPaused)&&(i.player.playSegments(t.frames,!0),i.assignedSegment=t.frames)):"play"===t.type?i.scrolledAndPlayed||(i.scrolledAndPlayed=!0,i.player.resetSegments(!0),t.frames?i.player.playSegments(t.frames,!0):i.player.play()):"stop"===t.type&&i.player.goToAndStop(t.frames[0],!0)}}),this.enteredPlayer=H,"object"!==t(H)||"AnimationItem"!==H.constructor.name){if("string"==typeof H){var W=document.querySelector(H);W&&"LOTTIE-PLAYER"===W.nodeName&&(H=W.getLottie())}else H instanceof HTMLElement&&"LOTTIE-PLAYER"===H.nodeName&&(H=H.getLottie());if(!H){var j=s+"Specified player:"+H+" is invalid.";throw new Error(j)}}"string"==typeof A&&(A=document.querySelector(A)),A||(A=H.wrapper),this.player=H,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=A,this.mode=T,this.actions=C,this.options=O,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.oldInterctionIdx=0,this.clickCounter=0,this.playCounter=0,this.stateHandler=new Map,this.transitionHandler=new Map}var l,C,A;return l=e,(C=[{key:"getContainerVisibility",value:function(){var e=this.container.getBoundingClientRect(),t=e.top,n=e.height;return(window.innerHeight-t)/(window.innerHeight+n)}},{key:"getContainerCursorPosition",value:function(e,t){var n=this.container.getBoundingClientRect(),i=n.top;return{x:(e-n.left)/n.width,y:(t-i)/n.height}}},{key:"initScrollMode",value:function(){this.player.stop(),window.addEventListener("scroll",r(this,M),!0)}},{key:"initCursorMode",value:function(){this.actions&&1===this.actions.length?"click"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",r(this,h))):"hover"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("mouseenter",r(this,h)),this.container.addEventListener("touchstart",r(this,h),{passive:!0})):"toggle"===this.actions[0].type?(this.player.loop=!1,this.player.stop(),this.container.addEventListener("click",r(this,d))):"hold"===this.actions[0].type||"pauseHold"===this.actions[0].type?(this.container.addEventListener("mouseenter",r(this,E)),this.container.addEventListener("mouseleave",r(this,w)),this.container.addEventListener("touchstart",r(this,E),{passive:!0}),this.container.addEventListener("touchend",r(this,w),{passive:!0})):"seek"===this.actions[0].type&&(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",r(this,y)),this.container.addEventListener("touchmove",r(this,u),{passive:!1}),this.container.addEventListener("mouseout",r(this,v))):(this.player.loop=!0,this.player.stop(),this.container.addEventListener("mousemove",r(this,y)),this.container.addEventListener("mouseleave",r(this,v)),r(this,P).call(this,-1,-1))}},{key:"initChainMode",value:function(){r(this,c).call(this),this.player.loop=!1,this.player.stop(),r(this,S).call(this,{ignorePath:!1})}},{key:"start",value:function(){var e=this;"scroll"===this.mode?this.player.isLoaded?this.initScrollMode():this.player.addEventListener("DOMLoaded",(function(){e.initScrollMode()})):"cursor"===this.mode?this.player.isLoaded?this.initCursorMode():this.player.addEventListener("DOMLoaded",(function(){e.initCursorMode()})):"chain"===this.mode&&(this.player.isLoaded?this.initChainMode():this.player.addEventListener("DOMLoaded",(function(){e.initChainMode()})))}},{key:"redefineOptions",value:function(e){var n=e.actions,i=e.container,r=e.mode,o=e.player,l=a(e,["actions","container","mode","player"]);if(this.stop(),this.enteredPlayer=o,"object"!==t(o)||"AnimationItem"!==o.constructor.name){if("string"==typeof o){var c=document.querySelector(o);c&&"LOTTIE-PLAYER"===c.nodeName&&(o=c.getLottie())}else o instanceof HTMLElement&&"LOTTIE-PLAYER"===o.nodeName&&(o=o.getLottie());if(!o)throw new Error(s+"Specified player:"+o+" is invalid.",o)}"string"==typeof i&&(i=document.querySelector(i)),i||(i=o.wrapper),this.player=o,this.loadedAnimation=this.player.path+this.player.fileName+".json",this.attachedListeners=!1,this.container=i,this.mode=r,this.actions=n,this.options=l,this.assignedSegment=null,this.scrolledAndPlayed=!1,this.interactionIdx=0,this.clickCounter=0,this.playCounter=0,this.holdStatus=null,this.stateHandler=new Map,this.transitionHandler=new Map,this.start()}},{key:"stop",value:function(){if("scroll"===this.mode&&window.removeEventListener("scroll",r(this,M),!0),"cursor"===this.mode&&(this.container.removeEventListener("click",r(this,h)),this.container.removeEventListener("click",r(this,d)),this.container.removeEventListener("mouseenter",r(this,h)),this.container.removeEventListener("touchstart",r(this,h)),this.container.removeEventListener("touchmove",r(this,u)),this.container.removeEventListener("mousemove",r(this,y)),this.container.removeEventListener("mouseleave",r(this,v)),this.container.removeEventListener("touchstart",r(this,E)),this.container.removeEventListener("touchend",r(this,w))),"chain"===this.mode&&(this.container.removeEventListener("click",r(this,h)),this.container.removeEventListener("click",r(this,p)),this.container.removeEventListener("mouseenter",r(this,h)),this.container.removeEventListener("touchstart",r(this,h)),this.container.removeEventListener("touchmove",r(this,u)),this.container.removeEventListener("mouseenter",r(this,p)),this.container.removeEventListener("touchstart",r(this,p)),this.container.removeEventListener("mouseenter",r(this,E)),this.container.removeEventListener("touchstart",r(this,E)),this.container.removeEventListener("mouseleave",r(this,w)),this.container.removeEventListener("mousemove",r(this,y)),this.container.removeEventListener("mouseout",r(this,v)),this.container.removeEventListener("touchend",r(this,w)),this.player))try{this.player.removeEventListener("loopComplete",r(this,m)),this.player.removeEventListener("complete",r(this,m)),this.player.removeEventListener("enterFrame",r(this,L)),this.player.removeEventListener("enterFrame",r(this,g))}catch(e){}this.player=null}}])&&i(l.prototype,C),A&&i(l,A),e}(),c=new WeakMap,p=new WeakMap,d=new WeakMap,h=new WeakMap,y=new WeakMap,u=new WeakMap,v=new WeakMap,m=new WeakMap,f=new WeakMap,L=new WeakMap,g=new WeakMap,E=new WeakMap,w=new WeakMap,I=new WeakMap,x=new WeakMap,b=new WeakMap,k=new WeakMap,S=new WeakMap,P=new WeakMap,M=new WeakMap,C=function(e){var t=new l(e);return t.start(),t};e.LottieInteractivity=l,e.create=C,e.default=C,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=lottie-interactivity.min.js.map |
{ | ||
"name": "@lottiefiles/lottie-interactivity", | ||
"description": "This is a small effects and interactivity library written to be paired with the Lottie Web Player", | ||
"version": "1.3.7", | ||
"version": "1.3.8", | ||
"license": "MIT", | ||
@@ -6,0 +6,0 @@ "main": "./dist/lottie-interactivity.min.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
203810
275