{"version":3,"file":"Lazyload.GllF6cJF.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/SpnehAp9d94B1rD5aupt/D1oEyWCG2XOZ4PvsgNbR/Pulse.js","https:/framerusercontent.com/modules/LlPAAuFkHWtpSTZo21eg/c7fgsZHQ90AKdStDfkyC/Lazyload.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{useEffect,useState}from\"react\";function Pulse({props,onAnimationComplete}){const animateOut=props.direction===\"out\";return /*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",backgroundColor:props.style===\"border\"?\"none\":props.color,border:props.style===\"border\"?`${props.borderWidth}px solid ${props.color}`:\"none\"},variants:{in:{opacity:props.pulseOpacity,inset:\"0px\",borderRadius:props.radiusType==\"full\"?1e4:props.radiusValue},out:{opacity:0,inset:`-${props.pulseSize}px`,borderRadius:props.radiusType==\"full\"?1e4:props.radiusValue+props.pulseSize}},initial:animateOut?\"in\":\"out\",animate:animateOut?\"out\":\"in\",transition:props.transition,onAnimationComplete:onAnimationComplete});}/*\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 20\n * @framerIntrinsicHeight 20\n */export default function PulseEffect(props){const[pulses,setPulses]=useState([]);useEffect(()=>{const createPulse=()=>{const newPulseKey=Date.now()// Unique key for new pulse\n;setPulses(prevPulses=>[...prevPulses,newPulseKey]);};const interval=setInterval(createPulse,props.delay*1e3);createPulse();return()=>clearInterval(interval)// Clear interval on component unmount\n;},[]);const handleAnimationComplete=completedPulseKey=>{setPulses(prevPulses=>prevPulses.filter(key=>key!==completedPulseKey));};return /*#__PURE__*/_jsxs(\"div\",{children:[pulses.map(key=>/*#__PURE__*/_jsx(Pulse,{props:props,onAnimationComplete:()=>handleAnimationComplete(key)},key)),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:props.color,borderRadius:props.radiusType==\"full\"?1e4:props.radiusValue}})]});}PulseEffect.displayName=\"Pulse\";addPropertyControls(PulseEffect,{color:{type:ControlType.Color},delay:{type:ControlType.Number,defaultValue:1,min:.1,step:.01,unit:\"s\"},direction:{type:ControlType.Enum,defaultValue:\"out\",options:[\"in\",\"out\"],optionTitles:[\"In\",\"Out\"],displaySegmentedControl:true},pulseSize:{type:ControlType.Number,defaultValue:20,min:1,step:1},pulseOpacity:{type:ControlType.Number,defaultValue:.5,min:0,max:1,step:.01},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"border\"],optionTitles:[\"Solid\",\"Outline\"],displaySegmentedControl:true},borderWidth:{type:ControlType.Number,defaultValue:5,min:1,step:1,title:\"Outline Width\",hidden:props=>props.style!==\"border\"},radiusType:{type:ControlType.Enum,defaultValue:\"full\",options:[\"full\",\"custom\"],optionTitles:[\"Full\",\"Custom\"],displaySegmentedControl:true,title:\"Radius\"},radiusValue:{type:ControlType.Number,defaultValue:20,min:1,step:1,title:\" \",hidden:props=>props.radiusType!==\"custom\"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:150,damping:60}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PulseEffect\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"20\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"20\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pulse.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";export function withLazyLoading(Component){return props=>{const wrapperRef=useRef(null);useEffect(()=>{const applyLazyLoading=()=>{if(!wrapperRef.current)return;const targets=wrapperRef.current.querySelectorAll(\"img, iframe\");targets.forEach(target=>{const rect=target.getBoundingClientRect();const isOffscreen=rect.top>window.innerHeight+100;if(isOffscreen){target.setAttribute(\"loading\",\"lazy\");target.setAttribute(\"decoding\",\"async\");}else{target.setAttribute(\"loading\",\"eager\");}});};applyLazyLoading();const observer=new MutationObserver(()=>{applyLazyLoading();});if(wrapperRef.current){observer.observe(wrapperRef.current,{childList:true,subtree:true});}window.addEventListener(\"load\",applyLazyLoading);window.addEventListener(\"resize\",applyLazyLoading);window.addEventListener(\"scroll\",applyLazyLoading);return()=>{observer.disconnect();window.removeEventListener(\"load\",applyLazyLoading);window.removeEventListener(\"resize\",applyLazyLoading);window.removeEventListener(\"scroll\",applyLazyLoading);};},[]);return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,children:/*#__PURE__*/_jsx(Component,{...props})});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withLazyLoading\":{\"type\":\"reactHoc\",\"name\":\"withLazyLoading\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lazyload.map"],"mappings":"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"}