"use strict";(globalThis.webpackChunk_websiteComponents=globalThis.webpackChunk_websiteComponents||[]).push([[3606],{56619:(t,i,e)=>{e.r(i),e.d(i,{PreviewManager:()=>y});var s=e(19371),a=e(72104),n=e(18059),r=e(95006),o=e(41103),m=e(98375);class h{constructor(t){let{target:i,baseTransform:e,composite:a=n.oH.ACCUMULATE,index:r=0,id:o="preview-sequence"}=t;(0,s.A)(this,"type",n.P8.PREVIEW),(0,s.A)(this,"steps",[]),(0,s.A)(this,"animations",[]),(0,s.A)(this,"wait",(t=>{this.steps.push((()=>new Promise((i=>{this.timeoutId=setTimeout(i,t)}))))})),this.target=i,this.baseTransform=e,this.composite=a,this.index=r,this.id=o}async play(){this.style=new m.A({target:this.target,baseTransform:this.baseTransform,animations:[this],componentId:this.id});try{for(const t of this.steps)await t()}catch(t){}}destroy(){var t;clearTimeout(this.timeoutId),this.animations.forEach((t=>{t.destroy()})),null===(t=this.style)||void 0===t||t.destroy()}}class c extends h{animate(t){const i=new o.A(this.target,{...t,composite:this.composite,index:this.index});this.animations.push(i),this.steps.push((()=>(i.play(),i.finished)))}}var l=e(15302),d=e.n(l);class g{constructor(t){let{source:i,demoCursor:e,onUpdate:n}=t;(0,s.A)(this,"onComplete",d()),(0,s.A)(this,"rAF",0),(0,s.A)(this,"startTime",0),(0,s.A)(this,"radius",0),(0,s.A)(this,"step",(t=>{const i=t-this.startTime,e=Math.min(i/this.duration,1),s=(0,a.wq)(e),n=.15*this.radius,r=n+(.65*this.radius-n)*s,o=1.2*Math.PI*2.1*e,m=Math.cos(o)*r,h=Math.sin(o)*r;this.demoCursor&&(this.demoCursor.style.translate=`${.5*m}px ${.5*h*this.ratioY}px`);const c=this.source.getBoundingClientRect(),l=c.left+.5*c.width+m,d=c.top+.5*c.height+h;this.onUpdate(l,d),e<1?this.rAF=requestAnimationFrame(this.step):(this.cancel(),this.onUpdate(-999,-999),this.onComplete())})),this.source=i,this.demoCursor=e,this.onUpdate=n,this.ratioY=1,this.duration=1500,this.delay=250,this.rAF=0,this.startTime=0}play(t){const i=this.source.getBoundingClientRect(),e=Math.hypot(i.width,i.height);this.radius=.5*e,this.ratioY=i.height/i.width,this.cancel(),this.onComplete=t,this.startTime=performance.now(),this.rAF=requestAnimationFrame(this.step)}cancel(){cancelAnimationFrame(this.rAF),this.demoCursor&&delete this.demoCursor.dataset.animating}}var u=e(72770),p=e(33196),f=e(28454),A=e(34387);class T extends h{constructor(t){super(t),(0,s.A)(this,"sharedState",new A.X);const{animationData:i}=t,e=(0,a.h$)(i.triggerElement,this.target);this.tracker=new u.A(this.target,this.sharedState),this.trigger=new f.A({componentId:this.id,index:this.index,createSyncedAnimation:p.Hi,sharedState:this.sharedState,target:this.target,trigger:e,baseTransform:this.baseTransform,transform:(0,a.kX)(i.transforms[0]),timing:(0,a.UP)(i),snapBack:i.snapBack,radius:i.radius.value,composite:this.composite}),this.simulator=new g({source:e,onUpdate:this.trigger.update})}animate(){this.steps.push((()=>new Promise((t=>{this.simulator.play((()=>t(null)))}))))}destroy(){super.destroy(),this.tracker.destroy(),this.trigger.destroy(),this.simulator.cancel()}}var w=e(18662),k=function(t){return t.start="PREVIEW_BLOCK_ANIMATION_START",t.end="PREVIEW_BLOCK_ANIMATION_END",t.cancel="PREVIEW_BLOCK_ANIMATION_CANCEL",t}(k||{});const P=t=>{try{var i;null===(i=window.top)||void 0===i||i.dispatchEvent(new CustomEvent(t))}catch(t){}};class y{constructor(){(0,s.A)(this,"previewSequence",null),(0,s.A)(this,"editingBlockData",null),(0,s.A)(this,"editingAnimationIndex",-1),(0,s.A)(this,"editingTransformIndex",-1),(0,s.A)(this,"isTimingPanel",!1),(0,s.A)(this,"scrollTriggerPreviewBlockData",null),(0,s.A)(this,"clearPreviewAnimation",(()=>{this.previewSequence&&(this.previewSequence.destroy(),P(k.cancel)),this.scrollTriggerPreviewBlockData&&(w.A.destroyAnimationTriggers(this.scrollTriggerPreviewBlockData),this.scrollTriggerPreviewBlockData=null)})),(0,s.A)(this,"clearStyles",(t=>{const i=(0,a.OJ)(t.componentId);i&&(i.style.translate="",i.style.transform="",i.style.opacity="")})),(0,s.A)(this,"clearEditingState",(t=>{this.clearPreviewAnimation(),this.clearStyles(t),this.editingBlockData=null,this.editingAnimationIndex=-1,this.editingTransformIndex=-1})),(0,s.A)(this,"setEditingState",(t=>{const{blockData:i,animationIndex:e,transformIndex:s,isTimingPanel:o}=t;if(this.clearPreviewAnimation(),this.clearStyles(i),this.editingBlockData=i,this.editingAnimationIndex=e,this.editingTransformIndex=s,this.isTimingPanel=o,!i)return;const{componentId:m,animations:h,transforms:c}=i,l=(0,a.OJ)(m);if(!l||!h)return;const d=h[e];if(!d)return;if(d.trigger===n.P8.SCROLL&&o)return this.scrollTriggerPreviewBlockData={componentId:m,animations:[d],transforms:c},void w.A.createAnimationTriggers(this.scrollTriggerPreviewBlockData);const{transforms:g}=d;g[s]&&Object.assign(l.style,function(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;const{transforms:s,animations:n}=t;if(!s)return;const o=null==n?void 0:n[i],m=null==o?void 0:o.transforms[e];return o&&m?(0,r.fl)(o.trigger,i,n)?(0,r.nO)((0,a.kX)(m),(0,a.kX)(s)):(0,r.lz)((0,a.kX)(m),(0,a.kX)(s)):(0,r.JZ)((0,a.kX)(s))}(i,this.editingAnimationIndex,this.editingTransformIndex))})),(0,s.A)(this,"previewAnimation",((t,i)=>{this.clearPreviewAnimation(),this.clearStyles(t);const{componentId:e,animations:s}=t,o=(0,a.OJ)(e);if(!o)return;const m=t.animations[i];if(!m)return;const{trigger:h}=m,l=(t=>{let{target:i,animationData:e,baseTransform:s,composite:r=n.oH.ACCUMULATE,isEditing:o=!1}=t,m=null;const h={target:i,baseTransform:s,animationData:e,composite:r,isEditing:o};switch(e.trigger){case n.P8.LOOP:m=(t=>{let{target:i,baseTransform:e,animationData:s,composite:n}=t;const r=new c({target:i,baseTransform:(0,a.kX)(e),composite:n}),o=(0,a.kX)(),m=(0,a.kX)(s.transforms[0]),h=(0,a.UP)(s);return r.animate({from:o,to:m,timing:h}),r.wait(1e3*s.delay),s.alternate?r.animate({from:m,to:o,timing:h}):r.animate({from:o,to:m,timing:h}),r})(h);break;case n.P8.SCROLL:m=(t=>{let{target:i,baseTransform:e,animationData:s,composite:n}=t;const r=new c({target:i,baseTransform:(0,a.kX)(e),composite:n}),o=(0,a.kX)(s.transforms[0]),m=(0,a.kX)(s.transforms[1]),h={...(0,a.UP)(s),duration:1e3,delay:0};return r.animate({from:o,to:m,timing:h}),r})(h);break;case n.P8.APPEAR:m=(t=>{let{target:i,baseTransform:e,animationData:s,composite:n}=t;const r=new c({target:i,baseTransform:(0,a.kX)(e),composite:n}),o=(0,a.kX)(s.transforms[0]),m=(0,a.kX)(),h=(0,a.UP)(s),{delay:l}=h;return l&&r.wait(l),r.animate({from:o,to:m,timing:h}),r})(h);break;case n.P8.HOVER:m=(t=>{let{target:i,baseTransform:e,animationData:s,isEditing:r,composite:o}=t;const m=new c({target:i,baseTransform:(0,a.kX)(e),composite:o}),h=o===n.oH.REPLACE,l=(0,a.kX)(h?e:void 0,!0),d=(0,a.kX)(s.transforms[0]),g=(0,a.UP)(s),{delay:u}=g;return u&&m.wait(u),m.animate({from:l,to:d,timing:g}),r||(m.wait(500),m.animate({from:d,to:l,timing:g,separateOffset:h})),m})(h);break;case n.P8.PRESS:m=(t=>{let{target:i,baseTransform:e,animationData:s,isEditing:r,composite:o}=t;const m=new c({target:i,baseTransform:(0,a.kX)(e),composite:o}),h=o===n.oH.REPLACE,l=(0,a.kX)(h?e:void 0,!0),d=(0,a.kX)(s.transforms[0]),g=(0,a.UP)(s),{delay:u}=g;return u&&m.wait(u),m.animate({from:l,to:d,timing:g,separateOffset:h}),r||(m.wait(500),m.animate({from:d,to:l,timing:g})),m})(h);break;case n.P8.FOLLOW:m=(t=>{let{target:i,baseTransform:e,animationData:s}=t;const r=new T({target:i,baseTransform:(0,a.kX)(e),composite:n.oH.ACCUMULATE,animationData:s});return r.wait(500),r.animate(),r})(h);break;default:console.error("no preview for type",e.trigger)}return m})({target:o,baseTransform:t.transforms,animationData:m,isEditing:i===this.editingAnimationIndex&&-1!==this.editingTransformIndex,composite:(0,r.fl)(h,i,s)?n.oH.REPLACE:n.oH.ACCUMULATE});l&&(l.wait(100),P(k.start),l.play().then((()=>{l.destroy(),P(k.end),this.editingBlockData&&this.setEditingState({blockData:this.editingBlockData,animationIndex:this.editingAnimationIndex,transformIndex:this.editingTransformIndex,isTimingPanel:this.isTimingPanel})})),this.previewSequence=l)}))}}}}]);