{"version":3,"file":"SectionMorph.DCc8U5cA.mjs","names":["React.useState","React.useRef","React.useMemo","React.useId"],"sources":["https:/framerusercontent.com/modules/za2dKLa80GycZw4DZTgu/8s2kvt3ndUphBzIPrUiT/SectionMorph.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useMotionValue,useSpring}from\"framer-motion\";const PRESETS={smooth:{spring:{stiffness:120,damping:28,mass:.8},sensitivity:.95,overshoot:.05,verticalShift:6,smoothing:.14},elastic:{spring:{stiffness:85,damping:15,mass:1},sensitivity:1.35,overshoot:.18,verticalShift:14,smoothing:.28},cinematic:{spring:{stiffness:95,damping:24,mass:1},sensitivity:1.1,overshoot:.1,verticalShift:10,smoothing:.18}};function clamp(value,min,max){return Math.min(max,Math.max(min,value));}function mix(from,to,amount){return from+(to-from)*amount;}function usePrefersReducedMotion(enabled){const[matches,setMatches]=React.useState(false);React.useEffect(()=>{if(!enabled||typeof window===\"undefined\"){setMatches(false);return;}const query=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const update=()=>setMatches(query.matches);update();query.addEventListener?.(\"change\",update);return()=>query.removeEventListener?.(\"change\",update);},[enabled]);return matches;}/**\n * @framerDisableUnlink\n */export default function SectionMorph(props){const{topColor=\"#111111\",bottomColor=\"#F4F1E8\",visualHeight=340,curveDepth=165,curveWidth=72,responseMode=\"cinematic\",sensitivity=1.1,velocitySmoothing=.18,stiffness=95,damping=24,mass=1,overshoot=.1,settleDelay=70,verticalShift=10,edgeTension=78,highlightStrength=.08,reverseMorph=false,fullBleed=true,reducedMotion=true,style}=props;const wrapperRef=React.useRef(null);const animationFrameRef=React.useRef(null);const settleTimerRef=React.useRef(null);const returnTimerRef=React.useRef(null);const previousScrollRef=React.useRef(0);const smoothedVelocityRef=React.useRef(0);const lastDirectionRef=React.useRef(1);const isStatic=useIsStaticRenderer();const prefersReducedMotion=usePrefersReducedMotion(reducedMotion&&!isStatic);const settings=React.useMemo(()=>{if(responseMode!==\"custom\")return PRESETS[responseMode];return{spring:{stiffness,damping,mass},sensitivity,overshoot,verticalShift,smoothing:velocitySmoothing};},[responseMode,stiffness,damping,mass,sensitivity,overshoot,verticalShift,velocitySmoothing]);const impulse=useMotionValue(isStatic?.55:0);const spring=useSpring(impulse,{stiffness:prefersReducedMotion?300:settings.spring.stiffness,damping:prefersReducedMotion?45:settings.spring.damping,mass:prefersReducedMotion?.5:settings.spring.mass,restDelta:5e-4,restSpeed:5e-4});const[morphAmount,setMorphAmount]=React.useState(isStatic?.55:0);const[isReady,setIsReady]=React.useState(isStatic);React.useEffect(()=>{if(isStatic)return;return spring.on(\"change\",latest=>{setMorphAmount(clamp(latest,-1.2,1.2));});},[isStatic,spring]);React.useLayoutEffect(()=>{// Static renderers (Framer Canvas and static export) use the initial\n// fallback geometry and must not initialize any animation work.\nif(isStatic||typeof window===\"undefined\")return;previousScrollRef.current=window.scrollY;smoothedVelocityRef.current=0;impulse.set(0);spring.jump(0);setMorphAmount(0);setIsReady(true);const clearTimers=()=>{if(settleTimerRef.current!==null){window.clearTimeout(settleTimerRef.current);settleTimerRef.current=null;}if(returnTimerRef.current!==null){window.clearTimeout(returnTimerRef.current);returnTimerRef.current=null;}};const scheduleSettle=()=>{clearTimers();settleTimerRef.current=window.setTimeout(()=>{if(prefersReducedMotion||settings.overshoot===0){impulse.set(0);return;}impulse.set(-lastDirectionRef.current*settings.overshoot);returnTimerRef.current=window.setTimeout(()=>impulse.set(0),55);},settleDelay);};const updateFromScroll=()=>{animationFrameRef.current=null;const element=wrapperRef.current;if(!element)return;const rect=element.getBoundingClientRect();const visibilityBuffer=visualHeight*1.5;const isNearViewport=rect.bottom>-visibilityBuffer&&rect.top<window.innerHeight+visibilityBuffer;const currentScroll=window.scrollY;const scrollDelta=currentScroll-previousScrollRef.current;previousScrollRef.current=currentScroll;if(!isNearViewport){clearTimers();smoothedVelocityRef.current=0;impulse.set(0);return;}if(scrollDelta===0)return;lastDirectionRef.current=Math.sign(scrollDelta)||1;const rawVelocity=scrollDelta/42*settings.sensitivity;smoothedVelocityRef.current=mix(smoothedVelocityRef.current,rawVelocity,clamp(settings.smoothing,.02,1));let nextImpulse=clamp(smoothedVelocityRef.current,-1,1);if(prefersReducedMotion)nextImpulse*=.18;impulse.set(nextImpulse);scheduleSettle();};const requestScrollUpdate=()=>{if(animationFrameRef.current!==null)return;animationFrameRef.current=window.requestAnimationFrame(updateFromScroll);};const handleResize=()=>{previousScrollRef.current=window.scrollY;smoothedVelocityRef.current=0;clearTimers();impulse.set(0);};window.addEventListener(\"scroll\",requestScrollUpdate,{passive:true});window.addEventListener(\"resize\",handleResize);return()=>{window.removeEventListener(\"scroll\",requestScrollUpdate);window.removeEventListener(\"resize\",handleResize);clearTimers();if(animationFrameRef.current!==null){window.cancelAnimationFrame(animationFrameRef.current);}};},[isStatic,visualHeight,settleDelay,prefersReducedMotion,settings,impulse,spring]);const svgWidth=1e3;const signedAmount=morphAmount*(reverseMorph?-1:1);const signedDepth=signedAmount*curveDepth;// Move only the divider geometry, never the entire SVG. Translating the\n// SVG creates fractional-pixel compositing seams in Chromium while scrolling.\nconst dividerShift=signedAmount*settings.verticalShift;const centerY=visualHeight/2+dividerShift;const curveY=centerY+signedDepth;const normalizedCurveWidth=clamp(curveWidth,10,100)/100;const normalizedTension=clamp(edgeTension,0,100)/100;const baseInset=normalizedCurveWidth*500;const tensionAdjustment=mix(130,20,normalizedTension);const handleInset=clamp(baseInset+tensionAdjustment,40,475);const edgeLift=signedDepth*mix(.18,.03,normalizedTension);const edgeY=centerY+edgeLift;const pathData=[\"M 0 0\",`H ${svgWidth}`,`V ${edgeY}`,`C ${svgWidth-handleInset} ${curveY}, ${handleInset} ${curveY}, 0 ${edgeY}`,\"Z\"].join(\" \");const highlightOpacity=clamp(highlightStrength,0,.4);const id=React.useId().replace(/:/g,\"\");const bleedStyles=fullBleed?{position:\"relative\",left:\"50%\",width:\"100vw\",minWidth:\"100vw\",maxWidth:\"100vw\",marginLeft:\"-50vw\"}:{position:\"relative\",width:\"100%\",minWidth:\"100%\",maxWidth:\"100%\"};return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:{...style,...bleedStyles,// Overlap adjacent sections slightly. Chromium/Framer can expose\n// a one-pixel compositing boundary while the page is scrolling.\nmarginTop:-3,marginBottom:-3,height:visualHeight+6,minHeight:visualHeight+6,overflow:\"hidden\",pointerEvents:\"none\",boxSizing:\"border-box\",backgroundColor:topColor,isolation:\"isolate\",visibility:isReady?\"visible\":\"hidden\",opacity:isReady?1:0},children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:`0 0 ${svgWidth} ${visualHeight}`,preserveAspectRatio:\"none\",\"aria-hidden\":\"true\",focusable:\"false\",style:{display:\"block\",width:\"100%\",height:\"100%\",overflow:\"hidden\",backgroundColor:topColor,transform:\"translateZ(0)\",backfaceVisibility:\"hidden\"},children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-highlight`,x1:\"0\",y1:\"0\",x2:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:\"#FFFFFF\",stopOpacity:\"0\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"85%\",stopColor:\"#FFFFFF\",stopOpacity:highlightOpacity}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:\"#FFFFFF\",stopOpacity:\"0\"})]})}),/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"-40\",width:svgWidth,height:visualHeight+80,fill:bottomColor}),/*#__PURE__*/_jsx(\"path\",{d:pathData,fill:topColor}),highlightStrength>0&&/*#__PURE__*/_jsx(\"path\",{d:pathData,fill:`url(#${id}-highlight)`})]})});}SectionMorph.defaultProps={topColor:\"#111111\",bottomColor:\"#F4F1E8\",visualHeight:340,curveDepth:165,curveWidth:72,responseMode:\"cinematic\",sensitivity:1.1,velocitySmoothing:.18,stiffness:95,damping:24,mass:1,overshoot:.1,settleDelay:70,verticalShift:10,edgeTension:78,highlightStrength:.08,reverseMorph:false,fullBleed:true,reducedMotion:true};addPropertyControls(SectionMorph,{topColor:{type:ControlType.Color,title:\"Top Color\",defaultValue:\"#111111\"},bottomColor:{type:ControlType.Color,title:\"Bottom Color\",defaultValue:\"#F4F1E8\"},visualHeight:{type:ControlType.Number,title:\"Height\",defaultValue:340,min:160,max:700,step:10,unit:\"px\"},curveDepth:{type:ControlType.Number,title:\"Curve Depth\",defaultValue:165,min:0,max:350,step:5,unit:\"px\"},curveWidth:{type:ControlType.Number,title:\"Curve Width\",defaultValue:72,min:10,max:100,step:1,unit:\"%\"},responseMode:{type:ControlType.Enum,title:\"Response\",options:[\"smooth\",\"elastic\",\"cinematic\",\"custom\"],optionTitles:[\"Smooth\",\"Elastic\",\"Cinematic\",\"Custom\"],defaultValue:\"cinematic\",displaySegmentedControl:true},sensitivity:{type:ControlType.Number,title:\"Sensitivity\",defaultValue:1.1,min:.2,max:4,step:.05,hidden:props=>props.responseMode!==\"custom\"},velocitySmoothing:{type:ControlType.Number,title:\"Velocity Smooth\",defaultValue:.18,min:.02,max:1,step:.01,hidden:props=>props.responseMode!==\"custom\"},stiffness:{type:ControlType.Number,title:\"Spring Force\",defaultValue:95,min:20,max:300,step:5,hidden:props=>props.responseMode!==\"custom\"},damping:{type:ControlType.Number,title:\"Spring Smooth\",defaultValue:24,min:5,max:60,step:1,hidden:props=>props.responseMode!==\"custom\"},mass:{type:ControlType.Number,title:\"Spring Weight\",defaultValue:1,min:.1,max:3,step:.1,hidden:props=>props.responseMode!==\"custom\"},overshoot:{type:ControlType.Number,title:\"Overshoot\",defaultValue:.1,min:0,max:.5,step:.01,hidden:props=>props.responseMode!==\"custom\"},settleDelay:{type:ControlType.Number,title:\"Settle Delay\",defaultValue:70,min:0,max:300,step:10,unit:\"ms\"},verticalShift:{type:ControlType.Number,title:\"Vertical Shift\",defaultValue:10,min:0,max:60,step:1,unit:\"px\",hidden:props=>props.responseMode!==\"custom\"},edgeTension:{type:ControlType.Number,title:\"Edge Tension\",defaultValue:78,min:0,max:100,step:1,unit:\"%\"},highlightStrength:{type:ControlType.Number,title:\"Highlight\",defaultValue:.08,min:0,max:.4,step:.01},reverseMorph:{type:ControlType.Boolean,title:\"Reverse Morph\",defaultValue:false,enabledTitle:\"Reverse\",disabledTitle:\"Normal\"},fullBleed:{type:ControlType.Boolean,title:\"Full Width\",defaultValue:true,enabledTitle:\"Viewport\",disabledTitle:\"Parent\"},reducedMotion:{type:ControlType.Boolean,title:\"Reduced Motion\",defaultValue:true,enabledTitle:\"Respect\",disabledTitle:\"Ignore\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SectionMorph\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SectionMorph.map"],"mappings":"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"}