{"version":3,"file":"WithLineGrowOnView.CTrAxbjG.mjs","names":["useState","useRef","useCallback","useMemo"],"sources":["https:/framerusercontent.com/modules/71WFhDQMcp3DIMbJv4fc/WYgSXXvqtt8yuIpltZsJ/WithLineGrowOnView.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{ControlType,useIsStaticRenderer}from\"framer\";export function withLineGrowOnView(Component){const Wrapped=/*#__PURE__*/forwardRef((props,ref)=>{const{duration=.5,delay=.5,threshold=.5,replay=false}=props;const[isGrown,setIsGrown]=useState(false);const isStaticRenderer=useIsStaticRenderer();const localRef=useRef(null);const hasPlayedRef=useRef(false);const setMergedRef=useCallback(node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);return;}if(ref&&typeof ref===\"object\"){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\")return;if(isStaticRenderer){startTransition(()=>{setIsGrown(true);});return;}const node=localRef.current;if(!node)return;const observer=new IntersectionObserver(entries=>{const entry=entries[0];if(!entry)return;if(entry.isIntersecting){if(!hasPlayedRef.current||replay){hasPlayedRef.current=true;startTransition(()=>{setIsGrown(true);});if(!replay){observer.disconnect();}}}else if(replay){startTransition(()=>{setIsGrown(false);});}},{threshold:Math.min(1,Math.max(0,threshold))});observer.observe(node);return()=>{observer.disconnect();};},[isStaticRenderer,replay,threshold]);const mergedTransform=useMemo(()=>{const incomingTransform=props.style?.transform;const growTransform=`scaleX(${isGrown?1:0})`;if(!incomingTransform||incomingTransform===\"none\"){return growTransform;}return`${String(incomingTransform)} ${growTransform}`;},[isGrown,props.style?.transform]);const mergedTransition=useMemo(()=>{const growTransition=`transform ${duration}s cubic-bezier(0.42, 0, 0.58, 1) ${delay}s`;const incomingTransition=props.style?.transition;if(!incomingTransition||incomingTransition===\"none\"){return growTransition;}return`${String(incomingTransition)}, ${growTransition}`;},[delay,duration,props.style?.transition]);const mergedWillChange=useMemo(()=>{const incomingWillChange=props.style?.willChange;if(!incomingWillChange||incomingWillChange===\"auto\"){return\"transform\";}const incomingText=String(incomingWillChange);if(incomingText.includes(\"transform\"))return incomingText;return`${incomingText}, transform`;},[props.style?.willChange]);return /*#__PURE__*/_jsx(Component,{ref:setMergedRef,...props,style:{...props.style||{},transformOrigin:\"left center\",transform:mergedTransform,transition:mergedTransition,willChange:mergedWillChange}});});Wrapped.propertyControls={duration:{type:ControlType.Number,title:\"Duration\",defaultValue:.3,min:0,max:3,step:.05},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:3,step:.05},threshold:{type:ControlType.Number,title:\"Threshold\",defaultValue:.35,min:0,max:1,step:.01},replay:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false}};return Wrapped;}\nexport const __FramerMetadata__ = {\"exports\":{\"withLineGrowOnView\":{\"type\":\"reactHoc\",\"name\":\"withLineGrowOnView\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WithLineGrowOnView.map"],"mappings":"oOAA2L,SAAgB,EAAmB,EAAU,CAAC,IAAM,EAAqB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,GAAG,QAAM,GAAG,YAAU,GAAG,SAAO,IAAO,EAAW,CAAC,EAAQ,GAAYA,EAAS,EAAK,EAAQ,EAAiB,EAAoB,EAAQ,EAASC,EAAO,IAAI,EAAQ,EAAaA,EAAO,EAAK,EAAQ,EAAaC,EAAY,GAAM,CAAuB,GAAtB,EAAS,QAAQ,EAAQ,OAAO,GAAM,WAAW,CAAC,EAAI,CAAI,EAAE,MAAO,CAAI,GAAK,OAAO,GAAM,WAAU,EAAI,QAAQ,EAAM,EAAE,CAAC,CAAG,CAAC,EAAE,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,GAAG,EAAiB,CAAC,MAAoB,CAAC,EAAW,EAAI,CAAE,CAAC,EAAE,MAAO,CAAC,IAAM,EAAK,EAAS,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAS,IAAI,qBAAqB,GAAS,CAAC,IAAM,EAAM,EAAQ,GAAO,IAAgB,EAAM,gBAAmB,CAAC,EAAa,SAAS,KAAQ,EAAa,QAAQ,GAAK,MAAoB,CAAC,EAAW,EAAI,CAAE,CAAC,EAAM,GAAQ,EAAS,WAAW,GAAa,GAAQ,MAAoB,CAAC,EAAW,EAAK,CAAE,CAAC,EAAG,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAS,CAAC,CAAC,CAAC,EAAyB,OAAvB,EAAS,QAAQ,CAAI,MAAY,CAAC,EAAS,WAAW,CAAE,CAAE,EAAE,CAAC,EAAiB,EAAO,CAAS,CAAC,EAAE,IAAM,EAAgBC,MAAY,CAAC,IAAM,EAAkB,EAAM,OAAO,UAAgB,EAAc,UAAU,KAAY,GAA4E,MAAtE,CAAC,GAAmB,IAAoB,OAAe,EAAqB,GAAG,OAAO,CAAiB,EAAE,GAAG,GAAgB,EAAE,CAAC,EAAQ,EAAM,OAAO,SAAS,CAAC,EAAQ,EAAiBA,MAAY,CAAC,IAAM,EAAe,aAAa,EAAS,mCAAmC,EAAM,GAAS,EAAmB,EAAM,OAAO,WAAuF,MAAzE,CAAC,GAAoB,IAAqB,OAAe,EAAsB,GAAG,OAAO,CAAkB,EAAE,IAAI,GAAiB,EAAE,CAAC,EAAM,EAAS,EAAM,OAAO,UAAU,CAAC,EAAQ,EAAiBA,MAAY,CAAC,IAAM,EAAmB,EAAM,OAAO,WAAW,GAAG,CAAC,GAAoB,IAAqB,OAAQ,MAAM,YAAa,IAAM,EAAa,OAAO,CAAkB,EAA4D,OAAvD,EAAa,SAAS,WAAW,EAAS,EAAmB,GAAG,EAAa,YAAa,EAAE,CAAC,EAAM,OAAO,UAAU,CAAC,EAAE,OAAoB,EAAK,EAAU,CAAC,IAAI,EAAa,GAAG,EAAM,MAAM,CAAC,GAAG,EAAM,OAAO,CAAC,EAAE,gBAAgB,cAAc,UAAU,EAAgB,WAAW,EAAiB,WAAW,CAAgB,CAAC,CAAC,CAAE,CAAC,EAAwW,MAAtW,GAAQ,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,EAAK,CAAC,EAAS,CAAQ,qBAA/tF,IAA4F,IAAoD"}