{"version":3,"file":"VideoScrollProgress.2AClvYC2.mjs","names":["e","t","n","e","i","o","t","n","useRef","useCallback","useState","useMemo","e","p","h","c","r","a","l","u","d","m","v","useRef","Lenis","_Fragment"],"sources":["https:/ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.14.0/dist/index.es.js","https:/framerusercontent.com/modules/cKGD16u2MGB7MfqfVXFp/wiztTCbXokZrMicHAmZc/Grain.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/IZ0vSV62Dv7ax4rBiGUk/Video.js","https:/ga.jspm.io/npm:@studio-freight/lenis@1.0.29/dist/lenis.modern.mjs","https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/ALzPzo9ZL7qsyNt6jnNi/Smooth_Scroll.js","https:/framerusercontent.com/modules/Zw0MF0lzCNHT0k6rDObk/rS1LffyvHmr54eSD3DwA/VideoScrollProgress.js"],"sourcesContent":["function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map","import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{steps}from\"@motionone/easing\";/**\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Grain(props){const{opacity,style}=props;const keyframesX=[\"0%\",\"-5%\",\"-15%\",\"7%\",\"-5%\",\"-15%\",\"15%\",\"0%\",\"3%\",\"-10%\",];const keyframesY=[\"0%\",\"-10%\",\"5%\",\"-25%\",\"25%\",\"10%\",\"0%\",\"15%\",\"35%\",\"10%\",];const isCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/ _jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(motion.div,{style:{...containerStyle,opacity:opacity,inset:isCanvas?0:\"-200%\",width:isCanvas?\"100%\":\"400%\",height:isCanvas?\"100%\":\"400%\",position:\"absolute\"},animate:!isCanvas&&{x:keyframesX,y:keyframesY},transition:{ease:steps(10,\"start\"),repeat:Infinity,duration:8}})});};Grain.defaultProps={opacity:.5};addPropertyControls(Grain,{opacity:{title:\"Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0}});const containerStyle={backgroundSize:\"256px 256px\",backgroundRepeat:\"repeat\",background:\"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Grain\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"100\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Grain.map","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();},[]);return{play,pause,setProgress};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\n * The Video component has some effects that sync the video element with props\n * like `startTime`, `progress`, etc. React calls these effects whenever these\n * props change. However, it also calls them on the first mount, and this is\n * troublesome – if we’re doing SSR, and the user changed the video state before\n * the video was hydrated, the initial `useEffect` call will reset the video\n * state. To avoid this, we use this flag.\n */let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?progress:0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime!==null&&startTime!==void 0?startTime:0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isOnCanvas\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked===null||onSeeked===void 0?void 0:onSeeked(e),onPause:e=>onPause===null||onPause===void 0?void 0:onPause(e),onPlay:e=>onPlay===null||onPlay===void 0?void 0:onPlay(e),onEnded:e=>onEnd===null||onEnd===void 0?void 0:onEnd(e),autoPlay:autoplayBehavior===\"on-mount\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";Video.defaultProps={srcType:\"URL\",srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-shining-sun-in-the-sky-surrounded-by-moving-clouds-31793-small.mp4\",srcFile:\"\",posterEnabled:false,controls:false,playing:true,loop:true,muted:true,playsinline:true,restartOnEnter:false,objectFit:\"cover\",backgroundColor:\"rgba(0,0,0,0)\",radius:0,volume:25,startTime:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.mp4\",hidden(props){return props.srcType===\"Upload\";},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"112\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","function t(){return t=Object.assign?Object.assign.bind():function(r){for(var h=1;h<arguments.length;h++){var a=arguments[h];for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(r[c]=a[c])}return r},t.apply(this,arguments)}function e(r,h,a){return Math.max(r,Math.min(h,a))}class i{advance(r){var h;if(!this.isRunning)return;let a=!1;if(this.lerp)this.value=(c=this.value,u=this.to,(1-(p=1-Math.exp(-60*this.lerp*r)))*c+p*u),Math.round(this.value)===this.to&&(this.value=this.to,a=!0);else{this.currentTime+=r;const h=e(0,this.currentTime/this.duration,1);a=h>=1;const c=a?1:this.easing(h);this.value=this.from+(this.to-this.from)*c}var c,u,p;null==(h=this.onUpdate)||h.call(this,this.value,a),a&&this.stop()}stop(){this.isRunning=!1}fromTo(r,h,{lerp:a=.1,duration:c=1,easing:u=(r=>r),onStart:p,onUpdate:d}){this.from=this.value=r,this.to=h,this.lerp=a,this.duration=c,this.easing=u,this.currentTime=0,this.isRunning=!0,null==p||p(),this.onUpdate=d}}class s{constructor({wrapper:r,content:h,autoResize:a=!0}={}){if(this.resize=()=>{this.onWrapperResize(),this.onContentResize()},this.onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)},this.onContentResize=()=>{this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth},this.wrapper=r,this.content=h,a){const r=function(r,h){let a;return function(){let h=arguments,c=this;clearTimeout(a),a=setTimeout((function(){r.apply(c,h)}),250)}}(this.resize);this.wrapper!==window&&(this.wrapperResizeObserver=new ResizeObserver(r),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(r),this.contentResizeObserver.observe(this.content)}this.resize()}destroy(){var r,h;null==(r=this.wrapperResizeObserver)||r.disconnect(),null==(h=this.contentResizeObserver)||h.disconnect()}get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class o{constructor(){this.events={}}emit(r,...h){let a=this.events[r]||[];for(let r=0,c=a.length;r<c;r++)a[r](...h)}on(r,h){var a;return(null==(a=this.events[r])?void 0:a.push(h))||(this.events[r]=[h]),()=>{var a;this.events[r]=null==(a=this.events[r])?void 0:a.filter((r=>h!==r))}}off(r,h){var a;this.events[r]=null==(a=this.events[r])?void 0:a.filter((r=>h!==r))}destroy(){this.events={}}}class n{constructor(r,{wheelMultiplier:h=1,touchMultiplier:a=2,normalizeWheel:c=!1}){this.onTouchStart=r=>{const{clientX:h,clientY:a}=r.targetTouches?r.targetTouches[0]:r;this.touchStart.x=h,this.touchStart.y=a,this.lastDelta={x:0,y:0}},this.onTouchMove=r=>{const{clientX:h,clientY:a}=r.targetTouches?r.targetTouches[0]:r,c=-(h-this.touchStart.x)*this.touchMultiplier,u=-(a-this.touchStart.y)*this.touchMultiplier;this.touchStart.x=h,this.touchStart.y=a,this.lastDelta={x:c,y:u},this.emitter.emit(\"scroll\",{deltaX:c,deltaY:u,event:r})},this.onTouchEnd=r=>{this.emitter.emit(\"scroll\",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:r})},this.onWheel=r=>{let{deltaX:h,deltaY:a}=r;this.normalizeWheel&&(h=e(-100,h,100),a=e(-100,a,100)),h*=this.wheelMultiplier,a*=this.wheelMultiplier,this.emitter.emit(\"scroll\",{deltaX:h,deltaY:a,event:r})},this.element=r,this.wheelMultiplier=h,this.touchMultiplier=a,this.normalizeWheel=c,this.touchStart={x:null,y:null},this.emitter=new o,this.element.addEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.addEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.addEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.addEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}on(r,h){return this.emitter.on(r,h)}destroy(){this.emitter.destroy(),this.element.removeEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.removeEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.removeEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.removeEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}}class l{constructor({wrapper:r=window,content:h=document.documentElement,wheelEventsTarget:a=r,eventsTarget:c=a,smoothWheel:u=!0,smoothTouch:p=!1,syncTouch:d=!1,syncTouchLerp:m=.1,__iosNoInertiaSyncTouchLerp:v=.4,touchInertiaMultiplier:g=35,duration:S,easing:w=(r=>Math.min(1,1.001-Math.pow(2,-10*r))),lerp:f=!S&&.1,infinite:y=!1,orientation:T=\"vertical\",gestureOrientation:z=\"vertical\",touchMultiplier:_=1,wheelMultiplier:M=1,normalizeWheel:L=!1,autoResize:b=!0}={}){this.onVirtualScroll=({deltaX:r,deltaY:h,event:a})=>{if(a.ctrlKey)return;const c=a.type.includes(\"touch\"),u=a.type.includes(\"wheel\");if(\"both\"===this.options.gestureOrientation&&0===r&&0===h||\"vertical\"===this.options.gestureOrientation&&0===h||\"horizontal\"===this.options.gestureOrientation&&0===r||c&&\"vertical\"===this.options.gestureOrientation&&0===this.scroll&&!this.options.infinite&&h<=0)return;let p=a.composedPath();if(p=p.slice(0,p.indexOf(this.rootElement)),p.find((r=>{var h;return(null==r.hasAttribute?void 0:r.hasAttribute(\"data-lenis-prevent\"))||c&&(null==r.hasAttribute?void 0:r.hasAttribute(\"data-lenis-prevent-touch\"))||u&&(null==r.hasAttribute?void 0:r.hasAttribute(\"data-lenis-prevent-wheel\"))||(null==(h=r.classList)?void 0:h.contains(\"lenis\"))})))return;if(this.isStopped||this.isLocked)return void a.preventDefault();if(this.isSmooth=(this.options.smoothTouch||this.options.syncTouch)&&c||this.options.smoothWheel&&u,!this.isSmooth)return this.isScrolling=!1,void this.animate.stop();a.preventDefault();let d=h;\"both\"===this.options.gestureOrientation?d=Math.abs(h)>Math.abs(r)?h:r:\"horizontal\"===this.options.gestureOrientation&&(d=r);const m=c&&this.options.syncTouch,v=c&&\"touchend\"===a.type&&Math.abs(d)>1;v&&(d=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+d,t({programmatic:!1},m&&{lerp:v?this.syncTouchLerp:this.options.__iosNoInertiaSyncTouchLerp}))},this.onNativeScroll=()=>{if(!this.__preventNextScrollEvent&&!this.isScrolling){const r=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.velocity=0,this.direction=Math.sign(this.animatedScroll-r),this.emit()}},window.lenisVersion=\"1.0.29\",r!==document.documentElement&&r!==document.body||(r=window),this.options={wrapper:r,content:h,wheelEventsTarget:a,eventsTarget:c,smoothWheel:u,smoothTouch:p,syncTouch:d,syncTouchLerp:m,__iosNoInertiaSyncTouchLerp:v,touchInertiaMultiplier:g,duration:S,easing:w,lerp:f,infinite:y,gestureOrientation:z,orientation:T,touchMultiplier:_,wheelMultiplier:M,normalizeWheel:L,autoResize:b},this.animate=new i,this.emitter=new o,this.dimensions=new s({wrapper:r,content:h,autoResize:b}),this.toggleClass(\"lenis\",!0),this.velocity=0,this.isLocked=!1,this.isStopped=!1,this.isSmooth=d||u||p,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener(\"scroll\",this.onNativeScroll,{passive:!1}),this.virtualScroll=new n(c,{touchMultiplier:_,wheelMultiplier:M,normalizeWheel:L}),this.virtualScroll.on(\"scroll\",this.onVirtualScroll)}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener(\"scroll\",this.onNativeScroll,{passive:!1}),this.virtualScroll.destroy(),this.dimensions.destroy(),this.toggleClass(\"lenis\",!1),this.toggleClass(\"lenis-smooth\",!1),this.toggleClass(\"lenis-scrolling\",!1),this.toggleClass(\"lenis-stopped\",!1),this.toggleClass(\"lenis-locked\",!1)}on(r,h){return this.emitter.on(r,h)}off(r,h){return this.emitter.off(r,h)}setScroll(r){this.isHorizontal?this.rootElement.scrollLeft=r:this.rootElement.scrollTop=r}resize(){this.dimensions.resize()}emit(){this.emitter.emit(\"scroll\",this)}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.velocity=0,this.animate.stop()}start(){this.isStopped=!1,this.reset()}stop(){this.isStopped=!0,this.animate.stop(),this.reset()}raf(r){const h=r-(this.time||r);this.time=r,this.animate.advance(.001*h)}scrollTo(r,{offset:h=0,immediate:a=!1,lock:c=!1,duration:u=this.options.duration,easing:p=this.options.easing,lerp:d=!u&&this.options.lerp,onComplete:m=null,force:v=!1,programmatic:g=!0}={}){if(!this.isStopped&&!this.isLocked||v){if([\"top\",\"left\",\"start\"].includes(r))r=0;else if([\"bottom\",\"right\",\"end\"].includes(r))r=this.limit;else{var S;let a;if(\"string\"==typeof r?a=document.querySelector(r):null!=(S=r)&&S.nodeType&&(a=r),a){if(this.options.wrapper!==window){const r=this.options.wrapper.getBoundingClientRect();h-=this.isHorizontal?r.left:r.top}const c=a.getBoundingClientRect();r=(this.isHorizontal?c.left:c.top)+this.animatedScroll}}if(\"number\"==typeof r){if(r+=h,r=Math.round(r),this.options.infinite?g&&(this.targetScroll=this.animatedScroll=this.scroll):r=e(0,r,this.limit),a)return this.animatedScroll=this.targetScroll=r,this.setScroll(this.scroll),this.reset(),void(null==m||m(this));if(!g){if(r===this.targetScroll)return;this.targetScroll=r}this.animate.fromTo(this.animatedScroll,r,{duration:u,easing:p,lerp:d,onStart:()=>{c&&(this.isLocked=!0),this.isScrolling=!0},onUpdate:(r,h)=>{this.isScrolling=!0,this.velocity=r-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=r,this.setScroll(this.scroll),g&&(this.targetScroll=r),h||this.emit(),h&&(this.reset(),this.emit(),null==m||m(this),this.__preventNextScrollEvent=!0,requestAnimationFrame((()=>{delete this.__preventNextScrollEvent})))}})}}}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.dimensions.limit[this.isHorizontal?\"x\":\"y\"]}get isHorizontal(){return\"horizontal\"===this.options.orientation}get actualScroll(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop}get scroll(){return this.options.infinite?(this.animatedScroll%(r=this.limit)+r)%r:this.animatedScroll;var r}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isSmooth(){return this.__isSmooth}set isSmooth(r){this.__isSmooth!==r&&(this.__isSmooth=r,this.toggleClass(\"lenis-smooth\",r))}get isScrolling(){return this.__isScrolling}set isScrolling(r){this.__isScrolling!==r&&(this.__isScrolling=r,this.toggleClass(\"lenis-scrolling\",r))}get isStopped(){return this.__isStopped}set isStopped(r){this.__isStopped!==r&&(this.__isStopped=r,this.toggleClass(\"lenis-stopped\",r))}get isLocked(){return this.__isLocked}set isLocked(r){this.__isLocked!==r&&(this.__isLocked=r,this.toggleClass(\"lenis-locked\",r))}get className(){let r=\"lenis\";return this.isStopped&&(r+=\" lenis-stopped\"),this.isLocked&&(r+=\" lenis-locked\"),this.isScrolling&&(r+=\" lenis-scrolling\"),this.isSmooth&&(r+=\" lenis-smooth\"),r}toggleClass(r,h){this.rootElement.classList.toggle(r,h),this.emitter.emit(\"className change\",this)}}export{l as default};\n//# sourceMappingURL=lenis.modern.mjs.map\n","import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"@studio-freight/lenis\";import{useEffect,useRef}from\"react\";/**\n * @framerDisableUnlink\n */export default function SmoothScroll(props){const{intensity}=props;const lenis=useRef(null);useEffect(()=>{if(lenis.current)lenis.current.scrollTo(0,{immediate:true});},[lenis]);useEffect(()=>{const overlayElement=document.getElementById(\"overlay\");if(overlayElement){const handleMutation=(mutationsList,observer)=>{for(const mutation of mutationsList){if(mutation.type===\"childList\"){const hasChildren=overlayElement.children.length>0;if(hasChildren){// Check if the html tag has the style \"overflow: hidden;\"\nconst htmlElement=document.documentElement;const computedStyle=window.getComputedStyle(htmlElement);const isOverflowHidden=computedStyle.getPropertyValue(\"overflow\")===\"hidden\";if(isOverflowHidden){lenis.current.stop();}else{lenis.current.start();}}else{lenis.current.start();}}}};const observer=new MutationObserver(handleMutation);const config={childList:true};observer.observe(overlayElement,config);return()=>observer.disconnect();}},[]);useEffect(()=>{lenis.current=new Lenis({duration:intensity/10});const raf=time=>{lenis.current.raf(time);requestAnimationFrame(raf);};requestAnimationFrame(raf);return()=>{lenis.current.destroy();lenis.current=null;};},[]);return /*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"style\",{children:`\n      html.lenis {\n        height: auto;\n      }\n\n      .lenis.lenis-smooth {\n        scroll-behavior: auto !important;\n      }\n\n      .lenis.lenis-smooth [data-lenis-prevent] {\n        overscroll-behavior: contain;\n      }\n\n      .lenis.lenis-stopped {\n        overflow: hidden;\n      }\n\n      .lenis.lenis-scrolling iframe {\n        pointer-events: none;\n      }\n    `})});}SmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(SmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Smooth_Scroll.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useScroll,useTransform}from\"framer-motion\";export function videoScrollProgress(Component){const SCROLL_START=1e3// Scroll position when animation starts\n;const SCROLL_DISTANCE=3e3// Scroll distance after which animation ends\n;const SCROLL_END=SCROLL_START+SCROLL_DISTANCE;return props=>{// useScroll() returns the current scroll position\nconst{scrollY}=useScroll();// Calculate the scroll progress from 0 to 1\nconst progress=useTransform(scrollY,[SCROLL_START,SCROLL_END],[0,1]);// Pass the progress as a prop to the original component\nreturn /*#__PURE__*/_jsx(Component,{...props,progress:progress});};}\nexport const __FramerMetadata__ = {\"exports\":{\"videoScrollProgress\":{\"type\":\"reactHoc\",\"name\":\"videoScrollProgress\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VideoScrollProgress.map"],"mappings":"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"}