{"version":3,"file":"CustomCursor.DkyTfdCT.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/9BdoRwmb9udiDGrknqQ6/GMuzOdS0BMCXkuLGm415/CustomCursor.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useMotionValue,useSpring}from\"framer-motion\";import{useEffect,useState}from\"react\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function CustomCursor(props){const{dotSize=6,ringSize=64,color=\"#FFFFFF\",hoverSelector='a[href*=\"/services/branding/\"]',showArrow=true}=props;const[isHovering,setIsHovering]=useState(false);const[isVisible,setIsVisible]=useState(false);const mouseX=useMotionValue(-100);const mouseY=useMotionValue(-100);const springConfig={damping:30,stiffness:420,mass:.35};const x=useSpring(mouseX,springConfig);const y=useSpring(mouseY,springConfig);useEffect(()=>{if(typeof window===\"undefined\")return;const move=e=>{mouseX.set(e.clientX);mouseY.set(e.clientY);setIsVisible(true);};const overHandler=e=>{const target=e.target;if(target&&target.closest&&target.closest(hoverSelector)){setIsHovering(true);}};const outHandler=e=>{const target=e.target;if(target&&target.closest&&target.closest(hoverSelector)){setIsHovering(false);}};const leaveHandler=()=>setIsVisible(false);window.addEventListener(\"mousemove\",move);document.addEventListener(\"mouseover\",overHandler);document.addEventListener(\"mouseout\",outHandler);document.documentElement.addEventListener(\"mouseleave\",leaveHandler);const styleTag=document.createElement(\"style\");styleTag.setAttribute(\"data-custom-cursor\",\"true\");styleTag.innerHTML=\"* { cursor: none !important; }\";document.head.appendChild(styleTag);return()=>{window.removeEventListener(\"mousemove\",move);document.removeEventListener(\"mouseover\",overHandler);document.removeEventListener(\"mouseout\",outHandler);document.documentElement.removeEventListener(\"mouseleave\",leaveHandler);styleTag.remove();};},[hoverSelector]);const size=isHovering?ringSize:dotSize;return /*#__PURE__*/_jsx(motion.div,{style:{position:\"fixed\",top:0,left:0,x,y,translateX:\"-50%\",translateY:\"-50%\",pointerEvents:\"none\",zIndex:999999,opacity:isVisible?1:0},children:/*#__PURE__*/_jsx(motion.div,{animate:{width:size,height:size},transition:{type:\"spring\",damping:24,stiffness:340},style:{borderRadius:\"50%\",border:isHovering?`1.5px solid ${color}`:\"none\",backgroundColor:isHovering?\"transparent\":color,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:isHovering&&showArrow&&/*#__PURE__*/_jsx(\"svg\",{width:\"34%\",height:\"34%\",viewBox:\"0 0 24 24\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 17L17 7M17 7H8M17 7V16\",stroke:color,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})});}addPropertyControls(CustomCursor,{dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:6,min:2,max:40},ringSize:{type:ControlType.Number,title:\"Ring Size\",defaultValue:64,min:20,max:200},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"},hoverSelector:{type:ControlType.String,title:\"Hover Selector\",defaultValue:'a[href*=\"/services/branding/\"]'},showArrow:{type:ControlType.Boolean,title:\"Show Arrow\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CustomCursor\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CustomCursor.map"],"mappings":"yPAGG,SAAwB,EAAa,EAAM,CAAC,GAAK,CAAC,UAAQ,EAAE,WAAS,GAAG,QAAM,UAAU,gBAAc,iCAAiC,YAAU,IAAM,EAAW,CAAC,EAAW,GAAeA,EAAS,EAAK,EAAO,CAAC,EAAU,GAAcA,EAAS,EAAK,EAAQ,EAAO,EAAe,IAAI,EAAQ,EAAO,EAAe,IAAI,EAAQ,EAAa,CAAC,QAAQ,GAAG,UAAU,IAAI,KAAK,GAAG,EAAQ,EAAE,EAAU,EAAO,CAAY,EAAQ,EAAE,EAAU,EAAO,CAAY,EAAE,MAAc,CAAC,GAAU,IAAS,OAAY,OAAO,IAAM,EAAK,GAAG,CAAC,EAAO,IAAI,EAAE,OAAO,EAAE,EAAO,IAAI,EAAE,OAAO,EAAE,EAAa,EAAI,CAAE,EAAQ,EAAY,GAAG,CAAC,IAAM,EAAO,EAAE,OAAU,GAAQ,EAAO,SAAS,EAAO,QAAQ,CAAa,GAAG,EAAc,EAAI,CAAG,EAAQ,EAAW,GAAG,CAAC,IAAM,EAAO,EAAE,OAAU,GAAQ,EAAO,SAAS,EAAO,QAAQ,CAAa,GAAG,EAAc,EAAK,CAAG,EAAQ,MAAiB,EAAa,EAAK,EAAE,EAAO,iBAAiB,YAAY,CAAI,EAAE,SAAS,iBAAiB,YAAY,CAAW,EAAE,SAAS,iBAAiB,WAAW,CAAU,EAAE,SAAS,gBAAgB,iBAAiB,aAAa,CAAY,EAAE,IAAM,EAAS,SAAS,cAAc,OAAO,EAA6I,OAA3I,EAAS,aAAa,qBAAqB,MAAM,EAAE,EAAS,UAAU,iCAAiC,SAAS,KAAK,YAAY,CAAQ,MAAY,CAAC,EAAO,oBAAoB,YAAY,CAAI,EAAE,SAAS,oBAAoB,YAAY,CAAW,EAAE,SAAS,oBAAoB,WAAW,CAAU,EAAE,SAAS,gBAAgB,oBAAoB,aAAa,CAAY,EAAE,EAAS,OAAO,CAAE,CAAE,EAAE,CAAC,CAAa,CAAC,EAAE,IAAM,EAAK,EAAW,EAAS,EAAQ,OAAoB,EAAK,EAAO,IAAI,CAAC,MAAM,CAAC,SAAS,QAAQ,IAAI,EAAE,KAAK,EAAE,IAAE,IAAE,WAAW,OAAO,WAAW,OAAO,cAAc,OAAO,OAAO,OAAO,QAAQ,IAAa,EAAE,SAAsB,EAAK,EAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAK,OAAO,CAAI,EAAE,WAAW,CAAC,KAAK,SAAS,QAAQ,GAAG,UAAU,GAAG,EAAE,MAAM,CAAC,aAAa,MAAM,OAAO,EAAW,eAAe,IAAQ,OAAO,gBAAgB,EAAW,cAAc,EAAM,QAAQ,OAAO,WAAW,SAAS,eAAe,QAAQ,EAAE,SAAS,GAAY,GAAwB,EAAK,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,QAAQ,YAAY,KAAK,OAAO,SAAsB,EAAK,OAAO,CAAC,EAAE,4BAA4B,OAAO,EAAM,YAAY,EAAE,cAAc,QAAQ,eAAe,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,qBAH5uE,IAAoD,IAA2D,IAAsC,EAGwlE,EAAoB,EAAa,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,gCAAgC,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,EAAI,CAAC,CAAC"}