{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/FCYp8FRx320SWq9QcLcn/qpET2t2Z0ryTCtBpcD2G/magtext.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"],
  "mappings": "iHAOmB,SAARA,EAAyBC,EAAM,CAAC,IAAMC,EAAOC,EAAe,CAAC,EAAE,OAAqBC,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,OAAO,UAAU,WAAW,MAAM,WAAWH,EAAM,KAAK,WAAW,MAAMA,EAAM,MAAM,SAASA,EAAM,KAAK,SAAS,WAAWA,EAAM,KAAK,WAAW,cAAcA,EAAM,KAAK,cAAc,WAAWA,EAAM,KAAK,UAAU,EAAE,aAAa,IAAI,CAACC,EAAO,IAAI,GAAQ,CAAE,EAAE,YAAYG,GAAG,CAACH,EAAO,IAAIG,EAAE,OAAO,CAAE,EAAE,SAASJ,EAAM,KAAK,MAAM,EAAE,EAAE,IAAI,CAACK,EAAEC,IAAoBH,EAAKI,EAAU,CAAC,EAAEF,EAAE,OAAOJ,CAAM,EAAEK,CAAG,CAAC,CAAC,CAAC,CAAE,CAAE,SAASC,EAAU,CAAC,EAAAF,EAAE,OAAAJ,CAAM,EAAE,CAAC,IAAMO,EAAIC,EAAO,IAAI,EAAQC,EAAW,CAAC,EAAE,GAAG,EAAQC,EAAOC,EAAU,EAAE,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC,EAAQC,EAAEC,EAAaH,EAAOD,EAAW,CAAC,EAAE,GAAG,CAAC,EAAQK,EAAQD,EAAaH,EAAOD,EAAW,CAAC,EAAE,GAAG,CAAC,EAAQM,EAAOF,EAAaH,EAAOD,EAAW,CAAC,EAAE,GAAG,CAAC,EAAE,OAAAO,EAAoBhB,EAAO,SAASiB,GAAI,CAAC,GAAGV,EAAI,QAAQ,CAAC,GAAK,CAAC,KAAAW,EAAK,MAAAC,CAAK,EAAEZ,EAAI,QAAQ,sBAAsB,EAAQa,EAAgBF,EAAKC,EAAM,EAAQE,EAAS,KAAK,IAAID,EAAgBH,CAAE,EAAEP,EAAO,IAAIY,EAAUD,EAAS,CAAC,GAAG,CAAC,EAAEZ,CAAU,CAAC,EAAG,CAAC,EAAuBP,EAAKqB,EAAO,KAAK,CAAC,IAAIhB,EAAI,MAAM,CAAC,QAAQ,eAAe,OAAOG,EAAO,OAAOK,EAAO,sBAAsB,eAAe,sBAAsBS,IAAoBZ,MAAM,cAAcY,IAAoBV,KAAW,EAAE,SAASV,CAAC,CAAC,CAAE,CAACN,EAAQ,YAAY,UAAUA,EAAQ,aAAa,CAAC,KAAK,wCAAwC,MAAM,OAAO,EAAE2B,EAAoB3B,EAAQ,CAAC,KAAK,CAAC,KAAK4B,EAAY,OAAO,MAAM,OAAO,aAAa,wCAAwC,gBAAgB,EAAI,EAAE,KAAK,CAAC,MAAM,OAAO,KAAK,OAAO,SAAS,UAAU,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,MAAM,CAAC,CAAC",
  "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"]
}
