{"version":3,"file":"FloatingCallButton.B75rrIvr.mjs","names":["useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/DxOSIoneKEWgRILWjPy0/SAS0sOrmWuvjnGxOxyAU/FloatingCallButton.js"],"sourcesContent":["// Floating phone call button with full calling functionality\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useRef,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/**\n * Floating Call Button\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function FloatingCallButton(props){const{phoneNumber=\"+1234567890\",tooltipText=\"Call Us\",backgroundColor=\"#FFFFFF\",iconColor=\"#000000\",glowColor=\"#FFFFFF\",glowIntensity=.4,showShadow=true,buttonSize=60,iconSize=24,verticalPosition=50,horizontalOffset=20,enableSounds=true,hoverSoundUrl=\"https://framerusercontent.com/assets/8w3IUatLX9a5JVJ6XPCVuHi94.mp3\",clickSoundUrl=\"https://framerusercontent.com/assets/8w3IUatLX9a5JVJ6XPCVuHi94.mp3\",soundVolume=.3}=props;const[isHovered,setIsHovered]=useState(false);const[isPressed,setIsPressed]=useState(false);const[showSparkle,setShowSparkle]=useState(false);const hoverAudioRef=useRef(null);const clickAudioRef=useRef(null);// Sparkle effect every 10 seconds\nuseEffect(()=>{const sparkleInterval=setInterval(()=>{startTransition(()=>setShowSparkle(true));setTimeout(()=>{startTransition(()=>setShowSparkle(false));},1e3);},1e4);return()=>clearInterval(sparkleInterval);},[]);const playSound=audioRef=>{if(enableSounds&&audioRef.current&&typeof window!==\"undefined\"){try{audioRef.current.currentTime=0;audioRef.current.volume=soundVolume;audioRef.current.play().catch(()=>{// Silently handle autoplay restrictions\n});}catch(error){// Silently handle audio errors\n}}};const handleCall=()=>{if(typeof window!==\"undefined\"){const telLink=phoneNumber.startsWith(\"tel:\")?phoneNumber:`tel:${phoneNumber}`;window.open(telLink,\"_self\");}};const handleMouseDown=()=>{startTransition(()=>setIsPressed(true));playSound(clickAudioRef);};const handleMouseUp=()=>{startTransition(()=>setIsPressed(false));handleCall();};const handleMouseEnter=()=>{startTransition(()=>setIsHovered(true));playSound(hoverAudioRef);};const handleMouseLeave=()=>{startTransition(()=>setIsHovered(false));startTransition(()=>setIsPressed(false));};const baseGlow=`0 0 ${20*glowIntensity}px ${glowColor}${Math.round(glowIntensity*100).toString(16).padStart(2,\"0\")}`;const hoverGlow=`0 0 ${30*glowIntensity}px ${glowColor}${Math.round(glowIntensity*150).toString(16).padStart(2,\"0\")}`;return /*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1,y:[0,-2,0]},transition:{opacity:{duration:.8,ease:\"easeOut\"},scale:{duration:.8,ease:\"easeOut\"},y:{duration:4,repeat:Infinity,ease:\"easeInOut\"}},style:{position:\"absolute\",top:`${verticalPosition}%`,left:`${horizontalOffset}px`,transform:\"translateY(-50%)\",zIndex:9999,pointerEvents:\"auto\"},children:[enableSounds&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"audio\",{ref:hoverAudioRef,preload:\"auto\",children:/*#__PURE__*/_jsx(\"source\",{src:hoverSoundUrl,type:\"audio/mpeg\"})}),/*#__PURE__*/_jsx(\"audio\",{ref:clickAudioRef,preload:\"auto\",children:/*#__PURE__*/_jsx(\"source\",{src:clickSoundUrl,type:\"audio/mpeg\"})})]}),showSparkle&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},exit:{opacity:0,scale:0},style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",pointerEvents:\"none\",zIndex:1},children:[...Array(6)].map((_,i)=>/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:0,rotate:0},animate:{opacity:[0,1,0],scale:[0,1,0],rotate:360,x:Math.cos(i*60*Math.PI/180)*(buttonSize*.8),y:Math.sin(i*60*Math.PI/180)*(buttonSize*.8)},transition:{duration:1,delay:i*.1,ease:\"easeOut\"},style:{position:\"absolute\",width:\"8px\",height:\"8px\",backgroundColor:glowColor,borderRadius:\"50%\",boxShadow:`0 0 10px ${glowColor}`}},i))}),isHovered&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:10},transition:{duration:.2,ease:\"easeOut\"},style:{position:\"absolute\",right:`${buttonSize+15}px`,top:\"50%\",transform:\"translateY(-50%)\",backgroundColor:\"#333333\",color:\"#FFFFFF\",padding:\"8px 12px\",borderRadius:\"6px\",fontSize:\"14px\",fontWeight:\"500\",whiteSpace:\"nowrap\",boxShadow:\"0 2px 8px rgba(0,0,0,0.15)\"},children:[tooltipText,/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:\"-6px\",top:\"50%\",transform:\"translateY(-50%)\",width:0,height:0,borderLeft:\"6px solid #333333\",borderTop:\"6px solid transparent\",borderBottom:\"6px solid transparent\"}})]}),/*#__PURE__*/_jsx(motion.button,{style:{width:`${buttonSize}px`,height:`${buttonSize}px`,borderRadius:\"50%\",backgroundColor,border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",outline:\"none\",boxShadow:showShadow?`0 4px 12px rgba(0,0,0,0.15), ${baseGlow}`:baseGlow},animate:{y:isHovered?-4:0,scale:isPressed?.95:1,boxShadow:isHovered?showShadow?`0 8px 20px rgba(0,0,0,0.2), ${hoverGlow}`:hoverGlow:showShadow?`0 4px 12px rgba(0,0,0,0.15), ${baseGlow}`:baseGlow},transition:{type:\"spring\",stiffness:400,damping:25},onMouseDown:handleMouseDown,onMouseUp:handleMouseUp,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,onTouchStart:handleMouseDown,onTouchEnd:handleMouseUp,\"aria-label\":tooltipText,children:/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"})})})]});}addPropertyControls(FloatingCallButton,{phoneNumber:{type:ControlType.String,title:\"Phone Number\",defaultValue:\"+1234567890\",placeholder:\"+1234567890\"},tooltipText:{type:ControlType.String,title:\"Tooltip Text\",defaultValue:\"Call Us\"},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#FFFFFF\"},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#000000\"},glowColor:{type:ControlType.Color,title:\"Glow Color\",defaultValue:\"#FFFFFF\"},glowIntensity:{type:ControlType.Number,title:\"Glow Intensity\",defaultValue:.4,min:0,max:1,step:.1},showShadow:{type:ControlType.Boolean,title:\"Show Shadow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},buttonSize:{type:ControlType.Number,title:\"Button Size\",defaultValue:60,min:40,max:100,step:2,unit:\"px\"},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:24,min:16,max:32,step:2,unit:\"px\"},verticalPosition:{type:ControlType.Number,title:\"Vertical Position\",defaultValue:50,min:10,max:90,step:5,unit:\"%\"},horizontalOffset:{type:ControlType.Number,title:\"Left Offset\",defaultValue:20,min:10,max:100,step:5,unit:\"px\"},enableSounds:{type:ControlType.Boolean,title:\"Enable Sounds\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},hoverSoundUrl:{type:ControlType.File,title:\"Hover Sound\",allowedFileTypes:[\"mp3\",\"wav\",\"ogg\"],hidden:({enableSounds})=>!enableSounds},clickSoundUrl:{type:ControlType.File,title:\"Click Sound\",allowedFileTypes:[\"mp3\",\"wav\",\"ogg\"],hidden:({enableSounds})=>!enableSounds},soundVolume:{type:ControlType.Number,title:\"Sound Volume\",defaultValue:.3,min:0,max:1,step:.1,hidden:({enableSounds})=>!enableSounds}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FloatingCallButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FloatingCallButton.map"],"mappings":"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"}