"use strict";(globalThis.webpackChunk_websiteComponents=globalThis.webpackChunk_websiteComponents||[]).push([[9124],{86338(e,t,o){o.d(t,{t:()=>a});var n=o(78677),r=o(33814),i=o(80401);const s=e=>!(!e.complete||!e.src);class a{constructor(e){let{imageNode:t,containerNode:o,effectProps:a,WebGLComponent:c}=e;(0,n.A)(this,"currentImageSrc",""),(0,n.A)(this,"onPrefersReducedMotionChange",e=>{e?this.destroyComponent():this.prepareImage()}),(0,n.A)(this,"onContainerResize",()=>{var e;null===(e=this.componentManager)||void 0===e||e.refresh()}),(0,n.A)(this,"onImageLoaded",()=>{var e;this.currentImageSrc=this.imageNode.src,this.componentManager?this.componentManager.setProps({image:this.imageNode,imageNeedsUpdate:!0}):this.componentManager=new r.A(this.WebGLComponent,this.containerNode,{image:this.imageNode,pixelRatio:(null===(e=window)||void 0===e?void 0:e.devicePixelRatio)||1,...this.effectProps,focalPoint:this.getFocalPoint()},{scrollWindowRef:window,normalizeScroll:!1})}),(0,n.A)(this,"updateImage",e=>{this.componentManager&&(this.imageNode===e&&this.currentImageSrc===e.src||(this.imageNode.removeEventListener("load",this.onImageLoaded),this.imageNode=e,this.imageNode.addEventListener("load",this.onImageLoaded),s(this.imageNode)&&this.componentManager.setProps({image:this.imageNode,imageNeedsUpdate:!0})))}),(0,n.A)(this,"updateProps",e=>{this.componentManager&&this.componentManager.setProps(e)}),(0,n.A)(this,"getType",()=>{var e;return null===(e=this.componentManager)||void 0===e||null===(e=e.props)||void 0===e?void 0:e.type}),(0,n.A)(this,"destroy",()=>{this.destroyComponent(),this.removeListeners()}),this.imageNode=t,this.containerNode=o,this.effectProps=a,this.WebGLComponent=c,i.A&&(this.prefersReducedMotionHandler=((e,t)=>{const o=window.matchMedia("(prefers-reduced-motion: reduce)"),n={},r=((e,t)=>(e.addEventListener?e.addEventListener("change",t):e.addListener(t),t))(o,e=>{n.matches=e.matches,null==t||t(n.matches)});return n.matches=o.matches,n.destroy=()=>{((e,t)=>{e.removeEventListener?e.removeEventListener("change",t):e.removeListener(t)})(o,r)},n})(0,this.onPrefersReducedMotionChange),this.prefersReducedMotionHandler.matches||this.prepareImage())}prepareImage(){this.imageNode.addEventListener("load",this.onImageLoaded),this.imageNode.style.visibility="hidden",s(this.imageNode)&&this.onImageLoaded()}getFocalPoint(){if(this.effectProps.focalPoint)return this.effectProps.focalPoint;const[e,t]=window.getComputedStyle(this.imageNode).objectPosition.split(" ");return{x:parseFloat(e)/100,y:parseFloat(t)/100}}destroyComponent(){var e;null===(e=this.componentManager)||void 0===e||e.destroy(),this.componentManager=void 0,this.imageNode&&(this.imageNode.style.visibility="",this.imageNode.removeEventListener("load",this.onImageLoaded))}removeListeners(){var e,t;null===(e=this.prefersReducedMotionHandler)||void 0===e||null===(t=e.destroy)||void 0===t||t.call(e)}}},50069(e,t,o){o.r(t),o.d(t,{default:()=>f}),o(41427),o(64648),o(36027),o(78382),o(88792),o(49347),o(87241),o(90620);var n=o(39551),r=o(42363),i=o(59596),s=o(84264),a=o(31747),c=o(83279),u=o(78677);function d(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,n)}return o}function m(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?d(Object(o),!0).forEach(function(t){(0,u.A)(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):d(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function l(e,t,o){return t=(0,s.A)(t),(0,i.A)(e,g()?Reflect.construct(t,o||[],(0,s.A)(e).constructor):t.apply(e,o))}function g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(g=function(){return!!e})()}var h=function(e){function t(e,o){var r;return(0,n.A)(this,t),r=l(this,t,[e,m({programKey:"parallax-program",vert:"\nattribute vec3 aPosition;\n\nuniform mat3 uvMatrix;\nuniform float uAmount;\nuniform vec2 uAngle;\nuniform float uZoomStart;\nuniform float uZoomEnd;\nuniform float uProgress;\nuniform vec2 uOrigin;\n\nvarying vec2 vUv;\n\nvoid main(){\n  gl_Position = vec4(aPosition, 1.);\n  vec2 uv = gl_Position.xy * .5 + .5;\n\n  vUv = (uvMatrix * vec3(uv, 1.)).xy;\n  vUv -= uOrigin;\n  vUv *= 1.0 - uAmount - mix(uZoomStart, uZoomEnd, uProgress);\n  vUv -= uAngle * mix(\n    (vec2(1.0) - uOrigin) * -uAmount,\n    uOrigin * uAmount,\n    uProgress\n  );\n  vUv += uOrigin;\n}\n",uniforms:{uOrigin:[.5,.5],uProgress:0}},o)]),(0,u.A)(r,"targetProgress",0),(0,u.A)(r,"isImmediate",!0),(0,u.A)(r,"onIntersection",function(e){e&&(r.isImmediate=!0)}),(0,u.A)(r,"onScrollProgress",function(e){r.isImmediate&&(r.uniforms.uProgress=e,r.isDirty=!0,r.isImmediate=!1),r.targetProgress=e}),r.autoUpdate=!1,r}return(0,c.A)(t,e),(0,r.A)(t,[{key:"getUniformsFromProps",value:function(){var e=this.props,t=e.intensity,o=e.rotation,n=e.zoomStart,r=e.zoomEnd,i=e.focalPoint;return{uAmount:.01*t*.5,uAngle:[Math.cos(o*Math.PI/180),Math.sin(o*Math.PI/180)],uZoomStart:.01*n,uZoomEnd:.01*r,uOrigin:[i.x,1-i.y]}}},{key:"update",value:function(){var e=this.uniforms.uProgress,t=this.targetProgress;if(this.props.scrollProgress>=0&&(t=.01*this.props.scrollProgress),e!==t){var o=t-e;this.uniforms.uProgress=o<.01?t:e+.1*o,this.isDirty=!0}}},{key:"onRefresh",value:function(){var e,o,n;(e=t,o=this,"function"==typeof(n=(0,a.A)((0,s.A)(e.prototype),"onRefresh",o))?function(e){return n.apply(o,e)}:n)([]),this.isImmediate=!0}}])}(o(17699).A);(0,u.A)(h,"defaultProps",{intensity:0,rotation:0,zoomStart:0,zoomEnd:0,scrollProgress:-1});var p=o(86338);class f extends p.t{constructor(e){super({...e,WebGLComponent:h})}}},31747(e,t,o){o.d(t,{A:()=>r});var n=o(81160);function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,o){var r=(0,n.A)(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:o):i.value}},r.apply(null,arguments)}},81160(e,t,o){o.d(t,{A:()=>r});var n=o(84264);function r(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=(0,n.A)(e)););return e}}}]);