{"version":3,"file":"IPadOSPointerEffect_Prod.DZPO5EUQ.mjs","names":["useState","mapRange","useRef","useMemo","useState","useRef","parentElement","_Fragment","useId"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/P3S2M04Yg53AO5F51mO2/pzJl44uxe09OYFf1Kkst/MagneticHover_Prod.js","https:/framerusercontent.com/modules/3HKUZcIGK84HZuBMYIhI/aTCoUhKndIPrdPW8rp24/IPadOSPointerEffect_Prod.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useMotionValue,useSpring,motion}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function MagneticHover(props){const{distance,smoothing,hoverArea,enabled}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=generateInstanceId();const transition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const x=useMotionValue(0);const y=useMotionValue(0);const springX=useSpring(x,transition);const springY=useSpring(y,transition);const scale=useMotionValue(1);const springScale=useSpring(scale,transition);const ref=useRef(null);const containerRef=useRef(null);const parentRef=useRef(null);const isHoveringRef=useRef(false);const transformRef=useRef(null);const motionTransformRef=useRef(null);const styleRef=useRef(null);const hasSpringRef=useRef(smoothing!==0);const previousXRef=useRef(null);const previousYRef=useRef(null);const previousChildrenXRef=useRef(null);const previousChildrenYRef=useRef(null);const previousChildrenScaleRef=useRef(null);const previousStyleTransformRef=useRef(null);const previousChildrenStyleTransformsRef=useRef({});useEffect(()=>{const unsubscribeX=mouseX.onChange(v=>x.set(enabled?v:0));const unsubscribeY=mouseY.onChange(v=>y.set(enabled?v:0));return()=>{unsubscribeX();unsubscribeY();};},[enabled,mouseX,mouseY,x,y]);useEffect(()=>{x.set(enabled?mouseX.get():0);y.set(enabled?mouseY.get():0);if(!enabled){scale.set(1);}else if(isHoveringRef.current&&props.children){scale.set(props.children.scale);}},[enabled]);useEffect(()=>{hasSpringRef.current=smoothing!==0;},[smoothing]);useEffect(()=>{let animationFrameId;const updateTransform=()=>{if(isCanvas){return;}animationFrameId=requestAnimationFrame(updateTransform);if(!parentRef.current||!styleRef.current){return;}const xValue=hasSpringRef.current?springX.get():x.get();const yValue=hasSpringRef.current?springY.get():y.get();const computedStyle=window.getComputedStyle(parentRef.current);const parentTransform=calculateTransform(parentRef.current,computedStyle,xValue*distance,yValue*distance,1,previousXRef.current*distance,previousYRef.current*distance,1,previousStyleTransformRef.current);// Store parent's style transform\npreviousStyleTransformRef.current=parentRef.current.style.transform;// Handle children transforms\nlet childrenStyles=\"\";if(props.children){const children=parentRef.current.children;const scaleValue=hasSpringRef.current?springScale.get():scale.get();const childrenXValue=xValue*props.children.distance;const childrenYValue=yValue*props.children.distance;for(let i=0;i<children.length;i++){const child=children[i];if(child===containerRef.current){continue;}const childComputedStyle=window.getComputedStyle(child);const childTransform=calculateTransform(child,childComputedStyle,childrenXValue,childrenYValue,scaleValue,previousChildrenXRef.current,previousChildrenYRef.current,previousChildrenScaleRef.current,previousChildrenStyleTransformsRef.current[i]);// Store child's style transform\npreviousChildrenStyleTransformsRef.current[i]=child.style.transform;childrenStyles+=`\n\t\t\t\t\t\t[data-magnetichover=\"${id}\"] > :nth-child(${i+1}) { \n\t\t\t\t\t\t\ttransform: ${childTransform} !important \n\t\t\t\t\t\t}\n\t\t\t\t\t`;}previousChildrenXRef.current=childrenXValue;previousChildrenYRef.current=childrenYValue;previousChildrenScaleRef.current=scaleValue;}transformRef.current=parentTransform;styleRef.current.textContent=`\n\t\t\t\t[data-magnetichover=\"${id}\"] { transform: ${parentTransform} !important }\n\t\t\t\t${childrenStyles}\n\t\t\t`;previousXRef.current=xValue;previousYRef.current=yValue;};if(ref.current){const container=ref.current.parentElement;if(container){containerRef.current=container;const parent=container.parentElement;if(parent){parentRef.current=parent;parent.setAttribute(\"data-magnetichover\",id);motionTransformRef.current=motion(parent,\"transform\");}}}// Start the animation loop\nupdateTransform();// Cleanup function\nreturn()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[props.children]);useEffect(()=>{const handleMouseMove=event=>{if(!parentRef.current){return;}const element=parentRef.current;const rect=element.getBoundingClientRect();const mouseXPos=event.clientX;const mouseYPos=event.clientY;const isHovering=mouseXPos>=rect.left-hoverArea&&mouseXPos<=rect.right+hoverArea&&mouseYPos>=rect.top-hoverArea&&mouseYPos<=rect.bottom+hoverArea;isHoveringRef.current=isHovering;if(isHovering){const displacementX=mouseXPos-(rect.left+rect.width/2);const displacementY=mouseYPos-(rect.top+rect.height/2);const normalizedX=displacementX/(rect.width/2);const normalizedY=displacementY/(rect.height/2);mouseX.set(normalizedX);mouseY.set(normalizedY);scale.set(enabled&&props.children?props.children.scale:1);}else{mouseX.set(0);mouseY.set(0);scale.set(1);}};window.addEventListener(\"mousemove\",handleMouseMove);return()=>window.removeEventListener(\"mousemove\",handleMouseMove);},[distance,x,y,transition,enabled,props.children]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style},children:/*#__PURE__*/_jsx(\"style\",{ref:styleRef})});}MagneticHover.displayName=\"Magnetic Hover\";addPropertyControls(MagneticHover,{enabled:{type:ControlType.Boolean,defaultValue:true},distance:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>!props.enabled},hoverArea:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>!props.enabled},children:{type:ControlType.Object,optional:true,controls:{distance:{type:ControlType.Number,defaultValue:10,min:0,step:1},scale:{type:ControlType.Number,defaultValue:1,min:0,step:.01}},hidden:props=>!props.enabled},smoothing:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";function generateInstanceId(){const id=useMemo(()=>{let result=\"\";for(let i=0;i<13;i++){result+=CHARACTERS.charAt(Math.floor(Math.random()*CHARACTERS.length));}return result;},[]);return id;}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function calculateTransform(element,computedStyle,xValue,yValue,scale=1,previousX,previousY,previousScale,previousStyleTransform){xValue=xValue||0;yValue=yValue||0;previousX=previousX||0;previousY=previousY||0;scale=scale||1;previousScale=previousScale||1;// Get transform\nconst computedTransform=computedStyle.transform;const styleTransform=element.style.transform;// Subtract previous values from current values for a single transform\nconst finalX=xValue-previousX;const finalY=yValue-previousY;const finalScale=scale/(previousScale||1)// Prevent division by zero\n;const translateTransform=`translate(${finalX.toFixed(3)}px, ${finalY.toFixed(3)}px)`;const transformWithScale=scale!==1?`${translateTransform} scale(${finalScale})`:translateTransform;let transform=transformWithScale;if(styleTransform&&styleTransform!==\"none\"){if(previousStyleTransform&&previousStyleTransform!==\"none\"){transform=`${transformWithScale} ${invertTransform(previousStyleTransform)} ${styleTransform}`;}else{transform=`${transformWithScale} ${styleTransform}`;}}return computedTransform&&computedTransform!==\"none\"?`${transform} ${computedTransform}`:transform;}function invertTransform(transformString){const transforms=transformString.match(/\\w+\\([^)]+\\)/g)||[];const invertedTransforms=transforms.reverse().map(transform=>{const[func,valuesString]=transform.match(/(\\w+)\\(([^)]+)\\)/).slice(1);const values=valuesString.split(\",\").map(v=>v.trim());const invertNumber=v=>{const[_,sign,num,unit]=v.match(/^(-?)(\\d*\\.?\\d+)(\\D*)$/);return`${sign?\"\":\"-\"}${num}${unit}`;};switch(func.toLowerCase()){case\"translate\":case\"translate3d\":case\"translatex\":case\"translatey\":case\"translatez\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"scale\":case\"scale3d\":return`${func}(${values.map(v=>1/parseFloat(v)).join(\", \")})`;case\"scalex\":case\"scaley\":case\"scalez\":return`${func}(${1/parseFloat(values[0])})`;case\"rotate\":case\"rotatex\":case\"rotatey\":case\"rotatez\":return`${func}(${invertNumber(values[0])})`;case\"rotate3d\":const rotateValues=values.map(parseFloat);return`${func}(${rotateValues[0]}, ${rotateValues[1]}, ${rotateValues[2]}, ${invertNumber(values[3])})`;case\"skew\":case\"skewx\":case\"skewy\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"matrix\":case\"matrix3d\":console.warn(`Inverting ${func} is not supported. Returning original.`);return transform;default:console.warn(`Unknown transform function: ${func}. Returning original.`);return transform;}});return invertedTransforms.join(\" \");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagneticHover\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MagneticHover_Prod.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useId,useState}from\"react\";import{createPortal}from\"react-dom\";import{useMotionValue,animate,motion}from\"framer-motion\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import MagneticHover from\"https://framerusercontent.com/modules/P3S2M04Yg53AO5F51mO2/pzJl44uxe09OYFf1Kkst/MagneticHover_Prod.js\";const ATTRIBUTE=\"data-frameruni-ipad-cursor\";const AREA_ATTRIBUTE=\"data-frameruni-ipad-cursor-area\";const RADIUS_ATTRIBUTE=\"data-frameruni-ipad-cursor-radius\";const MAGNETISM_ATTRIBUTE=\"data-frameruni-ipad-cursor-magnetism\";const COLOR_ATTRIBUTE=\"data-frameruni-ipad-cursor-color\";const HOVER_COLOR_ATTRIBUTE=\"data-frameruni-ipad-cursor-hover-color\";const PRESSED_COLOR_ATTRIBUTE=\"data-frameruni-ipad-cursor-pressed-color\";const useInstanceStore=createStore({instances:[]});/**\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerSupportedLayoutHeight any-prefer-auto\n *\n * @framerDisableUnlink\n */export default function IPadOSCursor({color,hoverColor,pressedColor,size,magnetism,childrenMagnetism,radius,transition,hideCursor,zIndex,style}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[isTouchDevice,setIsTouchDevice]=useState(false);const[instanceStore,setInstanceStore]=useInstanceStore();const id=useInstanceId();const containerRef=useRef(null);const[isInitialized,setIsInitialized]=useState(false);const isInitializedRef=useRef(false);const mousePositionRef=useRef(null);const scrollOffsetRef=useRef(null);const cursorRef=useRef(null);const instancesRef=useRef(instanceStore.instances);const hoveringElementRef=useRef(null);const[pressed,setPressed]=useState(false);const[hovering,setHovering]=useState(false);const[currentColor,setCurrentColor]=useState(color);const[currentHoverColor,setCurrentHoverColor]=useState(hoverColor);const[currentPressedColor,setCurrentPressedColor]=useState(pressedColor);const rectCenterXMotionValue=useMotionValue(Infinity);const rectCenterXAnimationRef=useRef(null);const rectCenterYMotionValue=useMotionValue(Infinity);const rectCenterYAnimationRef=useRef(null);const rectCenterXScrollOffset=useRef(0);const rectCenterYScrollOffset=useRef(0);const widthMotionValue=useMotionValue(size);const widthAnimationRef=useRef(null);const heightMotionValue=useMotionValue(size);const heightAnimationRef=useRef(null);const pullMotionValue=useMotionValue(0);const pullAnimationRef=useRef(null);const radiusMotionValue=useMotionValue(convertRadius(radius));const radiusAnimationRef=useRef(null);const magnetismValue=useRef(magnetism);// Add touch detection on mount\nuseEffect(()=>{const checkTouch=()=>{setIsTouchDevice(\"ontouchstart\"in window||navigator.maxTouchPoints>0);};checkTouch();window.addEventListener(\"touchstart\",checkTouch);return()=>window.removeEventListener(\"touchstart\",checkTouch);},[]);useEffect(()=>{let animationFrameId;const handleScroll=()=>{if(mousePositionRef.current&&scrollOffsetRef.current){const scrollDeltaX=window.scrollX-scrollOffsetRef.current.x;const scrollDeltaY=window.scrollY-scrollOffsetRef.current.y;rectCenterXScrollOffset.current-=scrollDeltaX;rectCenterYScrollOffset.current-=scrollDeltaY;scrollOffsetRef.current={x:window.scrollX,y:window.scrollY};}};const updateCursor=()=>{if(isCanvas)return;if(cursorRef.current){if(instancesRef.current[0]!==id){cursorRef.current.style.display=\"none\";}else if(mousePositionRef.current){let left=mousePositionRef.current.x;let top=mousePositionRef.current.y;let width=widthMotionValue.get();let height=heightMotionValue.get();const pull=pullMotionValue.get();if(pull>0){const centerX=rectCenterXMotionValue.get()+rectCenterXScrollOffset.current;const centerY=rectCenterYMotionValue.get()+rectCenterYScrollOffset.current;const displacementX=left-centerX;const displacementY=top-centerY;const normalizedX=displacementX/(width/2);const normalizedY=displacementY/(height/2);const offset=pull*magnetismValue.current;// Move cursor position towards the center based on normalized values\nleft=mapRange(pull,0,1,left,centerX+normalizedX*offset);top=mapRange(pull,0,1,top,centerY+normalizedY*offset);}cursorRef.current.style.display=\"block\";cursorRef.current.style.left=`${left}px`;cursorRef.current.style.top=`${top}px`;cursorRef.current.style.width=`${width}px`;cursorRef.current.style.height=`${height}px`;cursorRef.current.style.borderRadius=radiusMotionValue.get();}}animationFrameId=requestAnimationFrame(updateCursor);};const handleMouseDown=()=>{setPressed(true);};const handleMouseUp=()=>{setPressed(false);};const handleMouseMove=e=>{if(!isInitializedRef.current){mousePositionRef.current={x:e.clientX,y:e.clientY};scrollOffsetRef.current={x:window.scrollX,y:window.scrollY};setIsInitialized(true);isInitializedRef.current=true;// Start the animation loop only after first mouse move\nanimationFrameId=requestAnimationFrame(updateCursor);}mousePositionRef.current={x:e.clientX,y:e.clientY};// Add hover detection\nconst elementUnderCursor=document.elementFromPoint(e.clientX,e.clientY);const hoveringElement=elementUnderCursor?.closest(`[${ATTRIBUTE}]`);// Update hovering state based on whether we're over an element\nsetHovering(hoveringElement?true:false);let animateTo=null;let animatePullTo=null;let animateRadiusTo=null;let animateRectCenterTo=null;if(hoveringElement){const area=hoveringElement.querySelector(`[${AREA_ATTRIBUTE}]`);let rect=area?.getBoundingClientRect();if(!rect||rect.width===0&&rect.height===0){rect=hoveringElement.getBoundingClientRect();}if(hoveringElement!==hoveringElementRef.current){animateTo={x:rect.width,y:rect.height};animatePullTo=1;animateRadiusTo=hoveringElement.getAttribute(RADIUS_ATTRIBUTE)??radius;setCurrentColor(hoveringElement.getAttribute(COLOR_ATTRIBUTE)??color);setCurrentPressedColor(hoveringElement.getAttribute(PRESSED_COLOR_ATTRIBUTE)??pressedColor);setCurrentHoverColor(hoveringElement.getAttribute(HOVER_COLOR_ATTRIBUTE)??hoverColor);magnetismValue.current=hoveringElement.getAttribute(MAGNETISM_ATTRIBUTE)??magnetism;animateRectCenterTo={x:rect.left+rect.width/2,y:rect.top+rect.height/2};}scrollOffsetRef.current={x:window.scrollX,y:window.scrollY};}else{if(hoveringElementRef.current){animateTo={x:size,y:size};animatePullTo=0;animateRadiusTo=radius;setCurrentColor(color);setCurrentPressedColor(pressedColor);setCurrentHoverColor(hoverColor);}}if(animateTo){if(widthAnimationRef.current){widthAnimationRef.current.stop();}if(heightAnimationRef.current){heightAnimationRef.current.stop();}widthAnimationRef.current=animate(widthMotionValue,animateTo.x,transition);heightAnimationRef.current=animate(heightMotionValue,animateTo.y,transition);}if(animatePullTo!==null){if(pullAnimationRef.current){pullAnimationRef.current.stop();}pullAnimationRef.current=animate(pullMotionValue,animatePullTo,transition);if(animatePullTo===0){pullAnimationRef.current.then(()=>{if(!hoveringElementRef.current){rectCenterXMotionValue.set(Infinity);rectCenterYMotionValue.set(Infinity);rectCenterXScrollOffset.current=0;rectCenterYScrollOffset.current=0;}});}}if(animateRadiusTo!==null){if(radiusAnimationRef.current){radiusAnimationRef.current.stop();}radiusAnimationRef.current=animate(radiusMotionValue,convertRadius(animateRadiusTo),transition);}if(animateRectCenterTo!==null){if(rectCenterXAnimationRef.current){rectCenterXAnimationRef.current.stop();}if(rectCenterYAnimationRef.current){rectCenterYAnimationRef.current.stop();}if(rectCenterXMotionValue.get()===Infinity){rectCenterXMotionValue.set(animateRectCenterTo.x);}else{rectCenterXAnimationRef.current=animate(rectCenterXMotionValue,animateRectCenterTo.x,transition);}if(rectCenterYMotionValue.get()===Infinity){rectCenterYMotionValue.set(animateRectCenterTo.y);}else{rectCenterYAnimationRef.current=animate(rectCenterYMotionValue,animateRectCenterTo.y,transition);}rectCenterXScrollOffset.current=0;rectCenterYScrollOffset.current=0;}hoveringElementRef.current=hoveringElement;};window.addEventListener(\"mousedown\",handleMouseDown);window.addEventListener(\"mouseup\",handleMouseUp);window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"scroll\",handleScroll);setInstanceStore(prev=>({...prev,instances:[...prev.instances,id]}));return()=>{window.removeEventListener(\"mousedown\",handleMouseDown);window.removeEventListener(\"mouseup\",handleMouseUp);window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"scroll\",handleScroll);if(animationFrameId){cancelAnimationFrame(animationFrameId);}setInstanceStore(prev=>({...prev,instances:prev.instances.filter(instance=>instance!==id)}));};},[]);useEffect(()=>{const parentElement=containerRef.current?.parentElement?.parentElement;if(parentElement){parentElement.setAttribute(ATTRIBUTE,\"true\");parentElement.setAttribute(RADIUS_ATTRIBUTE,radius);parentElement.setAttribute(MAGNETISM_ATTRIBUTE,magnetism);parentElement.setAttribute(COLOR_ATTRIBUTE,color);if(pressedColor){parentElement.setAttribute(PRESSED_COLOR_ATTRIBUTE,pressedColor);}if(hoverColor){parentElement.setAttribute(HOVER_COLOR_ATTRIBUTE,hoverColor);}}return()=>{const parentElement=containerRef.current?.parentElement?.parentElement;if(parentElement){parentElement.removeAttribute(ATTRIBUTE);parentElement.removeAttribute(RADIUS_ATTRIBUTE);parentElement.removeAttribute(MAGNETISM_ATTRIBUTE);parentElement.removeAttribute(COLOR_ATTRIBUTE);parentElement.removeAttribute(PRESSED_COLOR_ATTRIBUTE);parentElement.removeAttribute(HOVER_COLOR_ATTRIBUTE);}};},[radius,magnetism]);useEffect(()=>{instancesRef.current=instanceStore.instances;},[instanceStore.instances]);const cursorElement=/*#__PURE__*/_jsx(motion.div,{ref:cursorRef,style:{position:\"absolute\",width:size,height:size,borderRadius:size/2,transform:\"translate(-50%, -50%)\"},animate:{backgroundColor:pressed?currentPressedColor||hovering&&currentHoverColor||currentColor:hovering&&currentHoverColor||currentColor},intiial:false,transition:transition});return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{ref:containerRef,id:id,\"data-frameruni-ipad-cursor-area\":true,style:{...style,pointerEvents:\"none\",display:isTouchDevice?\"none\":\"block\"},children:[!isCanvas&&isInitialized&&!isTouchDevice?/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",pointerEvents:\"none\",zIndex:zIndex===\"max\"?9999:undefined,userSelect:\"none\",overflow:\"hidden\"},children:cursorElement}),document.body):null,!isCanvas&&hideCursor&&!isTouchDevice&&/*#__PURE__*/_jsx(\"style\",{children:`* { cursor: none !important; }`})]}),!isCanvas&&!isTouchDevice&&magnetism>0&&childrenMagnetism>0&&/*#__PURE__*/_jsx(MagneticHover,{enabled:true,distance:0,children:{distance:magnetism*(childrenMagnetism/100),scale:1},hoverArea:0,smoothing:20,style:{}})]});}IPadOSCursor.displayName=\"iPadOS Cursor\";addPropertyControls(IPadOSCursor,{color:{type:ControlType.Color,defaultValue:\"rgba(153, 153, 153, 0.3)\"},hoverColor:{type:ControlType.Color,optional:true,title:\"Hover\"},pressedColor:{type:ControlType.Color,optional:true,title:\"Pressed\"},size:{type:ControlType.Number,defaultValue:19,min:1,step:1},magnetism:{type:ControlType.Number,defaultValue:4,min:0,max:100,step:1},childrenMagnetism:{title:\"Children\",type:ControlType.Number,defaultValue:50,min:0,max:200,step:1,unit:\"%\",hidden:props=>props.magnetism===0},radius:{type:ControlType.BorderRadius,defaultValue:\"12px\"},hideCursor:{type:ControlType.Boolean,defaultValue:true},zIndex:{type:ControlType.Enum,defaultValue:\"max\",options:[\"none\",\"max\"],optionTitles:[\"None\",\"Max\"],displaySegmentedControl:true},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",time:.3,bounce:.1}}});function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}const useInstanceId=()=>{const id=useId();const cleanId=id.replace(/:/g,\"\");const instanceId=`frameruni-${cleanId}`;return instanceId;};const convertRadius=radius=>{if(typeof radius===\"string\"){if(radius.includes(\" \")){return radius;}return`${radius} ${radius} ${radius} ${radius}`;}return`${radius}px ${radius}px ${radius}px ${radius}px`;};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"IPadOSCursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any-prefer-auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IPadOSPointerEffect_Prod.map"],"mappings":"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"}