{"version":3,"file":"PingAnimation.CVUtuGuX.mjs","names":["useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/4NvN7u3A8fYYvqyLw8gE/WbyCMK4xC0LV7u9YkxnF/PingAnimation.js"],"sourcesContent":["// Instructions: Create a pulsating dot\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useInView}from\"framer-motion\";import{useMemo,useRef}from\"react\";/** \n * Pulsating Dot\n *\n * @framerIntrinsicWidth 28\n * @framerIntrinsicHeight 28\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function PulsatingDot(props){const{size=28,dotSize:dotSizeProp,dotColor=\"#000000\",ringColor=\"rgba(0, 0, 0, 0.35)\",ringCount=3,ringWidth=2,duration=2.4,maxScale=2.6,softenEdges=true,style}=props;const isStatic=useIsStaticRenderer();const ref=useRef(null);const inView=useInView(ref,{amount:.2,margin:\"-10% 0px -10% 0px\"});const shouldAnimate=!isStatic&&inView;const safeRingCount=Math.max(1,Math.min(6,Math.round(ringCount||1)));const safeDuration=Math.max(.6,duration||2.4);const stagger=safeDuration/safeRingCount;const repeatDelay=stagger*(safeRingCount-1);const ringStyles=useMemo(()=>{return new Array(safeRingCount).fill(0).map((_,i)=>({delay:i*stagger}));},[safeRingCount,stagger]);const containerSize=Math.max(1,size);const dotSize=Math.max(2,Math.min(containerSize,Math.round(dotSizeProp??containerSize*.28)));const startScale=Math.max(.2,Math.min(.95,(dotSize+Math.max(1,ringWidth)*2)/containerSize));return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{...style,position:\"relative\",width:containerSize,height:containerSize,overflow:\"visible\",display:\"block\",borderRadius:999,filter:softenEdges?\"blur(0px)\":undefined},\"aria-label\":\"Pulsating indicator\",children:[ringStyles.map((r,idx)=>{const baseStyle={position:\"absolute\",inset:0,borderRadius:999,border:`${Math.max(1,ringWidth)}px solid ${ringColor}`,boxSizing:\"border-box\",pointerEvents:\"none\",willChange:\"transform, opacity\"};if(!shouldAnimate){const staticScale=1+idx/safeRingCount*(maxScale-1)*.7;return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{...baseStyle,transform:`scale(${staticScale})`,opacity:.15}},idx);}return /*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":\"true\",style:baseStyle,initial:{scale:startScale,opacity:.55},animate:{scale:[startScale,maxScale],opacity:[.55,0]},transition:{duration:safeDuration,ease:\"easeOut\",repeat:Infinity,repeatType:\"loop\",delay:r.delay,repeatDelay}},idx);}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:dotSize,height:dotSize,borderRadius:999,transform:\"translate(-50%, -50%)\",background:dotColor,boxShadow:softenEdges?\"0 2px 10px rgba(0,0,0,0.12)\":\"none\"}})]});}addPropertyControls(PulsatingDot,{size:{type:ControlType.Number,title:\"Size\",defaultValue:28,min:8,max:200,step:1,unit:\"px\"},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:8,min:2,max:200,step:1,unit:\"px\"},dotColor:{type:ControlType.Color,title:\"Dot\",defaultValue:\"#000000\"},ringColor:{type:ControlType.Color,title:\"Rings\",defaultValue:\"rgba(0, 0, 0, 0.35)\"},ringCount:{type:ControlType.Number,title:\"Ring Count\",defaultValue:3,min:1,max:6,step:1},ringWidth:{type:ControlType.Number,title:\"Ring Width\",defaultValue:2,min:1,max:12,step:1,unit:\"px\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:2.4,min:.6,max:8,step:.1,unit:\"s\"},maxScale:{type:ControlType.Number,title:\"Max Scale\",defaultValue:2.6,min:1.2,max:6,step:.1},softenEdges:{type:ControlType.Boolean,title:\"Soft\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"}});PulsatingDot.displayName=\"PulsatingDot\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PulsatingDot\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"28\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"28\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PingAnimation.map"],"mappings":"mPASG,SAAwB,EAAa,EAAM,CAAC,GAAK,CAAC,OAAK,GAAG,QAAQ,EAAY,WAAS,UAAU,YAAU,sBAAsB,YAAU,EAAE,YAAU,EAAE,WAAS,IAAI,WAAS,IAAI,cAAY,GAAK,SAAO,EAAY,EAAS,GAAqB,CAAO,EAAIA,EAAO,KAAK,CAAO,EAAO,EAAU,EAAI,CAAC,OAAO,GAAG,OAAO,oBAAoB,CAAC,CAAO,EAAc,CAAC,GAAU,EAAa,EAAc,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,GAAW,EAAE,CAAC,CAAC,CAAO,EAAa,KAAK,IAAI,GAAG,GAAU,IAAI,CAAO,EAAQ,EAAa,EAAoB,EAAY,GAAS,EAAc,GAAS,EAAWC,MAAwB,MAAM,EAAc,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAQ,EAAE,CAAG,CAAC,EAAc,EAAQ,CAAC,CAAO,EAAc,KAAK,IAAI,EAAE,EAAK,CAAO,EAAQ,KAAK,IAAI,EAAE,KAAK,IAAI,EAAc,KAAK,MAAM,GAAa,EAAc,IAAI,CAAC,CAAC,CAAO,EAAW,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,EAAQ,KAAK,IAAI,EAAE,EAAU,CAAC,GAAG,EAAc,CAAC,CAAC,OAAoB,EAAM,MAAM,CAAK,MAAI,MAAM,CAAC,GAAG,EAAM,SAAS,WAAW,MAAM,EAAc,OAAO,EAAc,SAAS,UAAU,QAAQ,QAAQ,aAAa,IAAI,OAAO,EAAY,YAAY,IAAA,GAAU,CAAC,aAAa,sBAAsB,SAAS,CAAC,EAAW,KAAK,EAAE,IAAM,CAAC,IAAM,EAAU,CAAC,SAAS,WAAW,MAAM,EAAE,aAAa,IAAI,OAAO,GAAG,KAAK,IAAI,EAAE,EAAU,CAAC,WAAW,IAAY,UAAU,aAAa,cAAc,OAAO,WAAW,qBAAqB,CAAC,GAAG,CAAC,EAAc,CAAC,IAAM,EAAY,EAAE,EAAI,GAAe,EAAS,GAAG,GAAG,OAAoB,EAAK,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,GAAG,EAAU,UAAU,SAAS,EAAY,GAAG,QAAQ,IAAI,CAAC,CAAC,EAAI,CAAE,OAAoB,EAAK,EAAO,IAAI,CAAC,cAAc,OAAO,MAAM,EAAU,QAAQ,CAAC,MAAM,EAAW,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAW,EAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,EAAa,KAAK,UAAU,OAAO,IAAS,WAAW,OAAO,MAAM,EAAE,MAAM,cAAY,CAAC,CAAC,EAAI,EAAG,CAAc,EAAK,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,SAAS,WAAW,KAAK,MAAM,IAAI,MAAM,MAAM,EAAQ,OAAO,EAAQ,aAAa,IAAI,UAAU,wBAAwB,WAAW,EAAS,UAAU,EAAY,8BAA8B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,kBAR3iE,IAAwE,IAA4C,IAAkC,CAQu5D,EAAoB,EAAa,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,MAAM,aAAa,UAAU,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,sBAAsB,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,GAAK,aAAa,KAAK,cAAc,MAAM,CAAC,CAAC,CAAC,EAAa,YAAY"}