{"version":3,"file":"shared-lib.BkMbFQAw.mjs","names":["useRef","useMemo","useRef"],"sources":["https:/framerusercontent.com/modules/P3S2M04Yg53AO5F51mO2/pzJl44uxe09OYFf1Kkst/MagneticHover_Prod.js","https:/framerusercontent.com/modules/YMnstn19QiHz4tjcHxQK/LE0DMHixJgqrsqQCSVCk/Juicy_Button.js","https:/framerusercontent.com/modules/grhPfdmTBW4pEFEqYvzg/nj05mnuGsYMkhxT7PqDz/siteMetadata.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,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion,useMotionValue}from\"framer-motion\";import{useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */function getRelativeCoordinates(event,referenceElement){console.log(\"event\",event.pageX,event.pageY);const position={x:event.pageX,y:event.pageY};const offset={left:referenceElement.offsetLeft,top:referenceElement.offsetTop,width:referenceElement.clientWidth,height:referenceElement.clientHeight};let reference=referenceElement.offsetParent;while(reference){offset.left+=reference.offsetLeft;offset.top+=reference.offsetTop;reference=reference.offsetParent;}return{x:position.x-offset.left-offset.width/2,y:position.y-offset.top-offset.height/2,width:referenceElement.clientWidth,height:referenceElement.clientHeight};}const containerVariants={rest:({textColor})=>({color:textColor,transition:{duration:.6,type:\"tween\",ease:\"easeOut\"}}),hover:({textColorHover})=>({color:textColorHover,transition:{duration:.6,type:\"tween\",ease:\"easeOut\"}}),tapped:({textColor})=>({color:textColor,scale:1,transition:{duration:.1,type:\"tween\",ease:\"easeOut\"}})};export default function Juicy_Button({label,labelFont,textColor,scaleAmount,textColorHover,background,backgroundHover,scaleDuration,radius=2,topLeft,topRight,bottomRight,bottomLeft,isRadiusMixed=false,padding,top,easeType,right,bottom,left,isPaddingMixed,borderColor,borderSize,icon}){const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const boxRef=useRef();const borderRadius=isRadiusMixed?`${topLeft}px ${topRight}px ${bottomRight}px ${bottomLeft}px`:`${radius}px`;const allPadding=isPaddingMixed?`${top}px ${right}px ${bottom}px ${left}px`:`${padding}px`;const handleHover=event=>{const{x,y,width,height}=getRelativeCoordinates(event,boxRef.current);mouseX.set(x);mouseY.set(y);};const circleVariants={rest:{scale:0,opacity:1,transition:{duration:.2,type:\"tween\",ease:\"easeIn\"}},hover:{scale:scaleAmount,opacity:1,transition:{duration:scaleDuration,type:\"tween\",ease:easeType}},tapped:{scale:2,opacity:1}};return /*#__PURE__*/_jsxs(motion.button,{variants:containerVariants,initial:\"rest\",whileHover:\"hover\",whileTap:\"tapped\",custom:{textColor:textColor,textColorHover:textColorHover},style:{...containerStyle,padding:allPadding,border:`${borderSize}px solid ${borderColor}`,borderRadius,backgroundColor:background},ref:boxRef,onHoverStart:event=>{handleHover(event);},onHoverEnd:event=>{handleHover(event);},children:[/*#__PURE__*/_jsx(\"div\",{style:{...wrapper},children:/*#__PURE__*/_jsx(motion.div,{variants:circleVariants,style:{...circle,backgroundColor:backgroundHover,translateX:mouseX,translateY:mouseY,originX:.5,originY:.5}})}),/*#__PURE__*/_jsx(\"div\",{style:{...labelFont},children:/*#__PURE__*/_jsx(\"p\",{children:label})})]});}const wrapper={position:\"absolute\",width:\"100%\",zIndex:-1};const circle={paddingTop:\"100%\",borderRadius:\"50%\",zIndex:-1,backgroundColor:`#EADF75`};const containerStyle={position:\"relative\",width:\"100%\",height:\"100%\",display:\"grid\",// change text style here because we can't customise that yet\nfontFamily:\"'JetBrains Mono', monospace\",borderRadius:\"2px\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\",cursor:\"pointer\",zIndex:9};Juicy_Button.defaultProps={padding:12,top:4,right:12,bottom:4,left:12,background:\"transparent\",isPaddingMixed:true,borderSize:0,borderColor:\"transparent\"};addPropertyControls(Juicy_Button,{scaleAmount:{title:\"Scale\",type:ControlType.Number,defaultValue:2.5,min:.1,max:10,step:.1},scaleDuration:{title:\"Duration\",type:ControlType.Number,defaultValue:.3,min:.1,max:10,step:.1},easeType:{title:\"Easing Type\",type:ControlType.Enum,options:[\"linear\",\"easeIn\",\"easeOut\",\"easeInOut\",\"spring\"],defaultValue:\"easeOut\"},backgroundHover:{type:ControlType.Color,title:\"Hover Color\",defaultValue:\"#EADF75\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Juicy_Button\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Juicy_Button.map","// Generated by Framer (d50c24e)\nexport default function metadata(params,activeLocale){return{description:\"A modern portfolio template for influencers to showcase content, land brand deals, and stand out online.\",favicon:\"https://framerusercontent.com/assets/EBgY6VAMMDQe1WpUQniw6Haunk.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/bRb48TUgCZE1YmPT619I5crDeQ.png\",title:\"Influensa - Portfolio Template for Social media Influencers\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}