{"version":3,"file":"WithLineGrowOnView.BHcLNDd8.mjs","names":["useState","useRef","useCallback","useMemo","__esmMin","ne","window","init_npm_react_18_3_1","te","pe","init_ssg_sandbox_shims","_e","de","init_jsx_runtime","J","c","ce","useIsStaticRenderer","init_framer_DKWANagr","ControlType","withLineGrowOnView","Wrapped","props","isGrown","setIsGrown","isStaticRenderer","localRef","hasPlayedRef","setMergedRef","node","ref","observer","entry","entries","replay","threshold","mergedTransform","incomingTransform","growTransform","mergedTransition","growTransition","duration","delay","incomingTransition","mergedWillChange","incomingWillChange","incomingText","Component","init_WithLineGrowOnView"],"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":"A,mOAA2L,SAAgBoB,EAAmB,EAAU,CAAC,IAAMC,EAAqB,iBAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,GAAG,QAAM,GAAG,YAAU,GAAG,SAAO,IAAOC,EAAW,CAACC,EAAQC,GAAYxB,EAAS,EAAK,EAAQyB,EAAiBR,EAAoB,EAAQS,EAASzB,EAAO,IAAI,EAAQ0B,EAAa1B,EAAO,EAAK,EAAQ2B,EAAa1B,EAAY,GAAM,CAAC,EAAS,QAAQ2B,EAAQ,OAAOC,GAAM,WAAYA,EAAID,CAAI,EAAaC,GAAK,OAAOA,GAAM,WAAU,EAAI,QAAQD,EAAM,EAAE,CAACC,CAAG,CAAC,EAAEd,MAAc,CAAC,GAAUV,IAAS,OAAY,OAAO,GAAGmB,EAAiB,CAACjB,MAAoB,CAACgB,EAAW,EAAI,CAAE,CAAC,EAAE,MAAO,CAAC,IAAMK,EAAKH,EAAS,QAAQ,GAAG,CAACG,EAAK,OAAO,IAAME,EAAS,IAAI,qBAAqB,GAAS,CAAC,IAAMC,EAAMC,EAAQ,GAAOD,IAAgBA,EAAM,gBAAmB,CAACL,EAAa,SAASO,KAAQ,EAAa,QAAQ,GAAK1B,MAAoB,CAACgB,EAAW,EAAI,CAAE,CAAC,EAAMU,GAAQH,EAAS,WAAW,GAAaG,GAAQ1B,MAAoB,CAACgB,EAAW,EAAK,CAAE,CAAC,EAAG,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,KAAK,IAAI,EAAEW,CAAS,CAAC,CAAC,CAAC,EAAyB,OAAvBJ,EAAS,QAAQF,CAAI,MAAY,CAACE,EAAS,WAAW,CAAE,CAAE,EAAE,CAACN,EAAiBS,EAAOC,CAAS,CAAC,EAAE,IAAMC,EAAgBjC,MAAY,CAAC,IAAMkC,EAAkBf,EAAM,OAAO,UAAgBgB,EAAc,UAAU,KAAY,GAA4E,MAAtE,CAACD,GAAmBA,IAAoB,OAAeC,EAAqB,GAAG,OAAOD,CAAiB,EAAE,GAAGC,GAAgB,EAAE,CAACf,EAAQD,EAAM,OAAO,SAAS,CAAC,EAAQiB,EAAiBpC,MAAY,CAAC,IAAMqC,EAAe,aAAaC,EAAS,mCAAmCC,EAAM,GAASC,EAAmBrB,EAAM,OAAO,WAAuF,MAAzE,CAACqB,GAAoBA,IAAqB,OAAeH,EAAsB,GAAG,OAAOG,CAAkB,EAAE,IAAIH,GAAiB,EAAE,CAACE,EAAMD,EAASnB,EAAM,OAAO,UAAU,CAAC,EAAQsB,EAAiBzC,MAAY,CAAC,IAAM0C,EAAmBvB,EAAM,OAAO,WAAW,GAAG,CAACuB,GAAoBA,IAAqB,OAAQ,MAAM,YAAa,IAAMC,EAAa,OAAOD,CAAkB,EAA4D,OAAvDC,EAAa,SAAS,WAAW,EAASA,EAAmB,GAAGA,EAAa,YAAa,EAAE,CAACxB,EAAM,OAAO,UAAU,CAAC,EAAE,MAAoB,gBAAKyB,EAAU,CAAC,IAAInB,EAAa,GAAGN,EAAM,MAAM,CAAC,GAAGA,EAAM,OAAO,CAAC,EAAE,gBAAgB,cAAc,UAAUc,EAAgB,WAAWG,EAAiB,WAAWK,CAAgB,CAAC,CAAC,CAAE,CAAC,EAAwW,MAAtW,GAAQ,iBAAiB,CAAC,SAAS,CAAC,KAAKzB,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,MAAM,YAAY,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,KAAKA,EAAY,QAAQ,MAAM,SAAS,aAAa,EAAK,CAAC,EAASE,CAAQ,C"}