D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
hrfiudwx
/
enterpriseuplift.com
/
wp-content
/
themes
/
themify-ultra
/
themify
/
js
/
modules
/
Filename :
lottie.js
back
Copy
let TF_Lottie;((t,e,i,s,n,a,o)=>{"use strict";let r,l,c=0;const h=new Map,f=new WeakSet,p=t=>{if(!t.shadowRoot&&!f.has(t)){const e=t.tfTag("template")[0]||t.tfTag("script")[0],i=e?.content.textContent||t.dataset.args;if(i){f.add(t);new TF_Lottie(t,JSON.parse(i.replace(/[”“″]/g,'"'))).run()}}};class u extends HTMLElement{connectedCallback(){this.dataset.lazy||p(this)}attributeChangedCallback(e,i,s){(!s&&"data-lazy"===e||t.is_builder_active)&&p(this)}disconnectedCallback(){if(i.lottie){const t=lottie.getRegisteredAnimations(),e=this.dataset.id;if(e)for(let i=t.length-1;i>-1;--i)if(t[i].animationID===e){setTimeout((()=>{this.isConnected||t[i].destroy()}),100);break}}}static get observedAttributes(){return["data-lazy"]}}TF_Lottie=class{constructor(t,e){const i=e.actions||e,s=this;s.el=t,s.actions=Array.isArray(i)?i:[i],s.loop=!!e.loop,s.type=e.type||"svg",s.index=0}static async getJson(e){let i=h.get(e);return i?i=JSON.parse(i):(i=await t.fetch("",null,{credentials:"omit",method:"GET",mode:"cors"},this.t(e)),h.set(e,JSON.stringify(i))),i}static t(t){if(!t.includes(".json")){let e="https://assets"+s.floor(10*s.random()+1)+".lottiefiles.com";"/"!==t[0]&&(e+="/packages/"),t=encodeURI(e+t+".json")}return t}i(){return!(!this.el?.isConnected||!this.player?._cbs)||(this.destroy(),!1)}destroy(t){const e=this;if(e.player?.destroy(),t&&e.actions)for(let t=e.actions.length-1;t>-1;--t)e.actions[t].path&&h.delete(e.actions[t].path);e.el&&f.delete(e.el),e.el=e.player=e.actions=e.action=null}o(){const t=[];for(let e=this.index,i=0;e<this.actions.length;++e){let s=this.actions[e],n=e<1;if(s.data)t.push(s.data);else if(s.path){if(!1===n){if(++i,i>2)break;1===i&&(n=!0)}!0===n&&t.push(TF_Lottie.getJson(s.path))}}return t}run(){return new a((async s=>{if(0===this.actions.length)return void s();const n=this,o=n.actions[n.index],r=[t.loadJs("https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.12.2/lottie.min.js",!!i.lottie),...n.o()];"click"!==o.st&&"hover"!==o.st||r.push(t.loadCss("lottie.min","tf_lottie"));const l=await a.all(r),c=()=>{n.player?.removeEventListener("DOMLoaded",c),n.el?.classList.remove("tf_lazy"),n.init(),n.el&&(n.el.dataset.id=n.player.animationID),s()};if(!n.el)return void s();let h=o.r||"svg",f=n.el.shadowRoot;"c"===h?h="canvas":"h"===h&&(h="html"),f?(n.player?.destroy(),f=f.firstChild):(f=e.createElement("div"),n.el.attachShadow({mode:"open"}).appendChild(f),f.style.width=f.style.height="100%",f.style.display="flex",lottie.setQuality("medium"));try{n.player=lottie.loadAnimation({container:f,animationData:l[1],renderer:h,loop:!1,autoplay:!1,rendererSettings:{progressiveLoad:!0}}),n.player.addEventListener("DOMLoaded",c)}catch(t){}}))}async init(){const t=this;if(t.i()){t.action=t.actions[t.index];const{action:e,player:i}=t;let n=e.st;if(i.resetSegments(!0),!e.segment){n||(n=e.st="autoplay"),e.dir=~~e.dir<0?-1:1,e.sp=e.sp>0?parseFloat(e.sp):1;let t=[0,i.getDuration(!0)];if(e.fid||e.seg){let s;if(e.fid&&(s=i.getMarkerData(e.fid.trim()),s&&(t[0]=s.time,t[1]=t[0]+s.duration)),e.seg){s=e.seg.split(",");for(let e=s.length-1;e>-1;--e)s[e]=~~s[e].trim(),(s[e]<t[0]||s[e]>t[1])&&(s[e]=0===e?t[0]:t[1])}t=s}-1===e.dir&&t.reverse(),"scroll"===n?(e.count=0,e.vis?(e.vis=e.vis.split(","),e.vis[0]=e.vis[0]/100,e.vis[1]=e.vis[1]/100):e.vis=[0,1],e.min=s.min(...t),e.max=s.max(...t)):"hold"===n||"pausehold"===n?e.count=0:(e.sp<1&&"seek"===n&&(e.sp=1),e.count=e.count>0?~~e.count:1),"click"!==n&&"hover"!==n&&e.sel&&"parent"!==e.sel&&(e.sel=""),t[0]+=i.firstFrame,t[1]+=i.firstFrame,e.segment=t}i.loop=!1,i.setSpeed(e.sp),i.goToAndStop(e.segment[0],!0);try{const e=t.el.classList;if(t.index>0&&e.remove("tf_lottie_"+t.actions[t.index-1].st),e.add("tf_lottie_"+n),"none"!==n)await t[n]();else if(1===t.actions.length)return;"scroll"!==n&&await t.l()}catch(t){}}}p(){return this.el.closest("a,button")||this.el.closest("em,i")||this.el}async autoplay(){for(let t=this.action.count-1;t>-1;--t)await this.play()}click(i,s){return new a((n=>{let a=0,r=!1;s===o&&(s=this.action.count);let l=i||t.click,c=l===t.click?null:{passive:!0},h=this.action.sel,f=h?e.body:this.el,p=async e=>{if(!h||!e||e.target.closest(h)){const i=c?null:e?.target.closest("a");if(i&&e.preventDefault(),!r){if(r=!0,++a,a>=s){f.tfOff(l,p,c);const s=e?.target;try{await this.play()}catch(e){}if(i&&!t.is_builder_active){const e=i.getAttribute("href");e&&"#"!==e&&t.triggerEvent(s,l)}a=f=h=l=c=null,n()}r=null}}};if("parent"===h&&(h="",f=this.p()),f.tfOn(l,p,c),i!==o&&this.player.isPaused){const t=h?e.querySelectorAll(h):[f];for(let e=t.length-1;e>-1;--e)if(t[e].matches(":hover")){p();break}}}))}hover(){const t=this.action.sel;return this.click(t&&"parent"!==t?"pointerover":"pointerenter")}hold(t){return new a((e=>{let i=this,s=i.action.segment.slice(),n=i.player,a=s[0]-n.firstFrame,o=n.renderer,r="parent"===i.action.sel?i.p():i.el;n.goToAndStop(a,!0);const l=async()=>{if(n.pause(),n.trigger("reject"),"pausehold"!==t)try{const t=[o.renderedFrame,a+n.firstFrame];n.resetSegments(!0),await i.play(t)}catch(t){}},c=async()=>{try{n.trigger("reject"),r.tfOff("pointerleave",l,{passive:!0,once:!0}).tfOn("pointerleave",l,{passive:!0,once:!0}),s[0]=o.renderedFrame,await i.play(s),r.tfOff("pointerenter",c,{passive:!0}).tfOff("pointerleave",l,{passive:!0,once:!0}),s=a=o=null,e()}catch(t){}};r.tfOn("pointerenter",c,{passive:!0}),n.isPaused&&r.matches(":hover")&&c()}))}pausehold(){return this.hold("pausehold")}scroll(){(e=>{if(!r){const e=new Set,n=t=>!1,a=e=>{const{top:i,height:s}=e.getBoundingClientRect(),n=t.h;return(n-i)/(n+s)},o=async()=>{if(e.size>0)for(let t of e){let o=l.get(t);if("scroll"===o?.action.st&&t.isConnected){let r=n(t),h=r?null:a(t),f=o.action,{vis:p,s_ev:u}=f;if(r||h>=p[0]&&h<=p[1]){o.player.loop=!1;let n=o.player.isPaused;if("seek"===u){if(!f.min){let t=o.player.firstFrame||0;f.min=s.min(...f.segment)-t,f.max=s.max(...f.segment)-t}let n,{min:a,max:u}=f;if(r){const t=i.scrollY,e=t>c?1:-1;c=t,n=o.player.currentFrame+e}else o.player.resetSegments(!0),n=s.round((h-p[0])/(p[1]-p[0])*(u-a));if(n=-1===f.dir?u-n:a+n,n*=f.sp,n>u?n=u:n<a&&(n=a),o.player.goToAndStop(~~n,!0),r&&(n===u||n===a)){let i=o.index+1;n===a&&(i-=2,i<0&&(i=0)),l.delete(t),e.delete(t),await o.l(i)}}else n&&(await o.play(),await o.l())}else if(h<p[0]||h>p[1]){let i=o.index+1;h<p[0]&&(i-=2,i<0&&(i=0)),l.delete(t),e.delete(t),await o.l(i)}}else l.delete(t),e.delete(t)}};i.tfOn("scroll",o,{passive:!0}),r=new IntersectionObserver(((t,s)=>{if(t.length>0)for(let i=t.length-1;i>-1;--i){let n=t[i].target;if(t[i].intersectionRatio>0){let t=l.get(n);"scroll"===t?.action.st?e.has(n)||(e.add(n),t.isScrolled||(t.isScrolled=!0,o())):(s.unobserve(n),e.delete(n),l.delete(n))}else e.delete(n)}0===l.size&&(s.disconnect(),i.tfOff("scroll",o,{passive:!0}),e.clear(),r=l=null)})),l=new WeakMap}l.set(e.el,e),r.unobserve(e.el),r.observe(e.el)})(this)}seek(){return new a((t=>{const e="parent"===this.action.sel?this.p():this.el,i=a=>{let o,r=e.getBoundingClientRect().width,l=s.max(...this.action.segment)-this.player.firstFrame,c=s.min(...this.action.segment)-this.player.firstFrame,h=l-c,f=-1===this.action.dir,p=0;const u=t=>{e.tfOff("pointermove",d,{passive:!0}).tfOff("pointerleave",u,{passive:!0,once:!0}),cancelAnimationFrame(o),t&&d(t),n((()=>{r=h=p=o=l=c=f=null}))},d=a=>{o=n((()=>{if(null!==c){let n=0===a.offsetX?a.layerX-a.target.offsetLeft:a.offsetX;n<0&&(n=0);let o=s.ceil(~~(parseFloat(n/r)*h)*this.action.sp);o=f?l-o:c+o,o>l?o=l:o<c&&(o=c),p!==o&&(p=o,this.player.goToAndStop(o,!0)),(!f&&o>=l-1||f&&o<=c+1)&&(e.tfOff("pointerenter",i,{passive:!0}),u(),t())}}))};e.tfOn("pointerleave",u,{passive:!0,once:!0}).tfOn("pointermove",d,{passive:!0})};e.tfOn("pointerenter",i,{passive:!0}),this.player.isPaused&&e.matches(":hover")&&i()}))}basket(){return new a((t=>{jQuery("body").one("added_to_cart",(async e=>{try{for(let t=this.action.count-1;t>-1;--t)await this.play()}catch(e){}t()}))}))}l(t){return new a((e=>{if(null===this.actions)return void e();if(t??=this.index+1,t>=this.actions.length){if(!0!==this.loop)return;t=0}const i=this.index,s=this.action.del>0?1e3*parseFloat(this.action.del):0,n=async()=>{this.index=t,this.actions[t].path===this.actions[i].path?await this.init():await this.run(),e()};s>0?setTimeout((()=>{n()}),s):n()}))}play(t){return new a(((e,i)=>{n((()=>{const s=()=>!!this.i()||(i(),!1);if(s()){const n=this.player,a=n.loop?"loopComplete":"complete",o=t=>{s()&&(n.removeEventListener(a,o),n.removeEventListener("reject",o)),t?.type===a?e():i("rejected")};t??=this.action.segment,t[0]===t[1]?(n.goToAndStop(t[0],!0),e()):(n.addEventListener(a,o),n.addEventListener("reject",o),n.playSegments(t,!0))}}))}))}},customElements.define("tf-lottie",u)})(Themify,document,window,Math,requestAnimationFrame,Promise,void 0);