{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/FCYp8FRx320SWq9QcLcn/qpET2t2Z0ryTCtBpcD2G/magtext.js", "ssg:https://framerusercontent.com/modules/tbEkT9bCH16lwWNzkpph/1hn8TzsQ02phLIfaierM/H8QlJArq6.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{motion,useMotionTemplate,useSpring,useTransform,useMotionValue,useMotionValueEvent,transform}from\"framer-motion\";import{useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * These annotations control how your component sizes\n * Learn more: https://www.framer.com/developers/#code-components-auto-sizing\n *\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */ export default function MagText(props){const mouseX=useMotionValue(0);return /*#__PURE__*/ _jsx(\"div\",{style:{position:\"relative\",cursor:\"default\",whiteSpace:\"pre\",fontFamily:props.font.fontFamily,color:props.color,fontSize:props.font.fontSize,fontWeight:props.font.fontWeight,letterSpacing:props.font.letterSpacing,lineHeight:props.font.lineHeight},onMouseLeave:()=>{mouseX.set(Infinity);},onMouseMove:e=>{mouseX.set(e.clientX);},children:props.text.split(\"\").map((c,idx)=>/*#__PURE__*/ _jsx(Character,{c:c,mouseX:mouseX},idx))});};function Character({c,mouseX}){const ref=useRef(null);const scaleRange=[1,1.2];const scaleX=useSpring(1,{stiffness:350,damping:40});const w=useTransform(scaleX,scaleRange,[0,.07]);const padding=useTransform(scaleX,scaleRange,[0,.05]);const scaleY=useTransform(scaleX,scaleRange,[1,.95]);useMotionValueEvent(mouseX,\"change\",mx=>{if(ref.current){const{left,width}=ref.current.getBoundingClientRect();const characterCenter=left+width/2;const distance=Math.abs(characterCenter-mx);scaleX.set(transform(distance,[70,0],scaleRange));}});return /*#__PURE__*/ _jsx(motion.span,{ref:ref,style:{display:\"inline-block\",scaleX:scaleX,scaleY:scaleY,WebkitTextStrokeColor:\"currentColor\",WebkitTextStrokeWidth:useMotionTemplate`${w}em`,paddingInline:useMotionTemplate`${padding}em`},children:c});}MagText.displayName=\"MagText\";MagText.defaultProps={text:\"Colorless green ideas sleep furiously\",color:\"black\"};addPropertyControls(MagText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Colorless green ideas sleep furiously\",displayTextArea:true},font:{title:\"Font\",type:\"font\",controls:\"extended\"},color:{type:ControlType.Color,defaultValue:\"#000\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./magtext.map", "// Generated by Framer (e074804)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,cx,Image,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"GxvQhDXrz\"];const serializationHash=\"framer-CMUxO\";const variantClassNames={GxvQhDXrz:\"framer-v-1cktcck\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"GxvQhDXrz\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-1cktcck\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"GxvQhDXrz\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:62.5,intrinsicWidth:62.5,pixelHeight:125,pixelWidth:125,src:\"https://framerusercontent.com/images/tCBkoNRoxRbgVqdM2fHybpRWKE.png\"},className:\"framer-1dedw99\",\"data-framer-name\":\"evcursor\",layoutDependency:layoutDependency,layoutId:\"l3Dct68tR\"})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-CMUxO.framer-14bt14t, .framer-CMUxO .framer-14bt14t { display: block; }\",\".framer-CMUxO.framer-1cktcck { height: 30px; overflow: hidden; position: relative; width: 30px; }\",\".framer-CMUxO .framer-1dedw99 { aspect-ratio: 1 / 1; bottom: -17px; flex: none; height: var(--framer-aspect-ratio-supported, 48px); left: -12px; overflow: visible; position: absolute; right: -6px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 30\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerH8QlJArq6=withCSS(Component,css,\"framer-CMUxO\");export default FramerH8QlJArq6;FramerH8QlJArq6.displayName=\"cursor\";FramerH8QlJArq6.defaultProps={height:30,width:30};addFonts(FramerH8QlJArq6,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerH8QlJArq6\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"30\",\"framerIntrinsicWidth\":\"30\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./H8QlJArq6.map"],
  "mappings": "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",
  "names": ["MagText", "props", "mouseX", "useMotionValue", "p", "e", "c", "idx", "Character", "ref", "pe", "scaleRange", "scaleX", "useSpring", "w", "useTransform", "padding", "scaleY", "useMotionValueEvent", "mx", "left", "width", "characterCenter", "distance", "transform", "motion", "useMotionTemplate", "addPropertyControls", "ControlType", "cycleOrder", "serializationHash", "variantClassNames", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "width", "props", "createLayoutDependency", "variants", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "variant", "restProps", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "cycleOrder", "variantClassNames", "layoutDependency", "ref1", "pe", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "cx", "serializationHash", "Image2", "css", "FramerH8QlJArq6", "withCSS", "H8QlJArq6_default", "addFonts"]
}
