{"version":3,"file":"Rotate.DBP8FuKb.mjs","names":["useRef","useMemo","useState","__esmMin","init_npm_react_18_3_1","pe","window","ce","init_jsx_runtime","c","_e","de","init_ssg_sandbox_shims","useSpring","init_framer_motion_DhsWWWsN","motion","useMotionValue","RenderTarget","init_framer_B6PCHH0A","addPropertyControls","ControlType","MagneticHover","props","isCanvas","id","generateInstanceId","transition","mapRange","smoothing","mouseX","mouseY","x","y","springX","springY","scale","springScale","ref","containerRef","parentRef","isHoveringRef","transformRef","motionTransformRef","styleRef","hasSpringRef","previousXRef","previousYRef","previousChildrenXRef","previousChildrenYRef","previousChildrenScaleRef","previousStyleTransformRef","previousChildrenStyleTransformsRef","unsubscribeX","enabled","v","unsubscribeY","animationFrameId","updateTransform","xValue","yValue","computedStyle","parentTransform","calculateTransform","distance","childrenStyles","children","scaleValue","childrenXValue","childrenYValue","i","child","childTransform","container","parent","handleMouseMove","rect","mouseXPos","event","mouseYPos","isHovering","hoverArea","displacementX","displacementY","normalizedX","normalizedY","result","CHARACTERS","fromLow","fromHigh","toLow","value","toHigh","computedTransform","styleTransform","element","finalX","previousX","finalY","previousY","finalScale","previousScale","translateTransform","transformWithScale","transform","previousStyleTransform","invertTransform","transformString","func","valuesString","values","invertNumber","_","sign","num","unit","rotateValues","init_MagneticHover_Prod","withRandomRotation","init_Rotate","angle","setAngle","randomRotation","Component"],"sources":["https:/framerusercontent.com/modules/P3S2M04Yg53AO5F51mO2/pzJl44uxe09OYFf1Kkst/MagneticHover_Prod.js","https:/framerusercontent.com/modules/mL8icVDs3Dvstt8VvjKO/7RvaVvyotQdliKK7KW2M/Rotate.js"],"sourcesContent":["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}from\"react/jsx-runtime\";import{useState}from\"react\";import{motion}from\"framer-motion\";export const withRandomRotation=Component=>{return props=>{const[angle,setAngle]=useState(0);const randomRotation=()=>{let value=0;do{value=Math.random()*6-3// Jetzt zwischen -3° und +3°\n;}while(Math.abs(value)<1)// Mindestens ±1°, damit es nicht zu unauffällig ist\nreturn value;};return /*#__PURE__*/_jsx(motion.div,{whileHover:{rotate:angle,scale:1.005},onMouseEnter:()=>setAngle(randomRotation()),children:/*#__PURE__*/_jsx(Component,{...props})});};};\nexport const __FramerMetadata__ = {\"exports\":{\"withRandomRotation\":{\"type\":\"reactHoc\",\"name\":\"withRandomRotation\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Rotate.map"],"mappings":"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"}