{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/MjTUiNi40xgubEYlNpWp/z6AOEKCUx2HaCqmqHMFk/AnimateTextMask.js", "ssg:https://framerusercontent.com/modules/pHtOYOYOx8JQ34ZOyTSs/pW5rtYnickJd19zgdbvn/AnimateText.js", "ssg:https://framerusercontent.com/modules/4Iv68Iyp6idJYXw3JpEO/m6DjeKKevFTR7XHn0Neu/hwSyFaRkr.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export function AnimateTextMask(props){const{text,fontFamily,fontSize,fontWeight,letterSpacing,lineHeight,alignment,textDecoration,image,cssAnimate,initialOffsetX,initialOffsetY,mobileInitialOffsetX,mobileInitialOffsetY,scrollSpeed,mobileScrollSpeed}=props;const[scrollY,setScrollY]=React.useState(0);const[isMobile,setIsMobile]=React.useState(false);const elementRef=React.useRef(null);React.useEffect(()=>{const handleScroll=()=>{if(elementRef.current){const rect=elementRef.current.getBoundingClientRect();console.log(rect.top+window.scrollY);const elementTop=rect.top+window.scrollY-(rect.top+window.scrollY>window.innerHeight?window.innerHeight:0);const relativeScrollY=Math.max(window.scrollY-elementTop+(isMobile?mobileInitialOffsetY:initialOffsetY),0);setScrollY(relativeScrollY);}else{setScrollY(window.scrollY);}};window.addEventListener(\"scroll\",handleScroll);return()=>{window.removeEventListener(\"scroll\",handleScroll);};},[]);const offsetY=-(scrollY*(isMobile?mobileScrollSpeed:scrollSpeed));const offsetX=isMobile?mobileInitialOffsetX:initialOffsetX;const style={fontFamily,fontSize:`${fontSize}`,fontWeight,letterSpacing,lineHeight:`${lineHeight}em`,textAlign:alignment,textDecoration,background:`url(${image}) no-repeat`,backgroundPosition:`${offsetX}px ${offsetY}px`,WebkitBackgroundClip:\"text\",backgroundClip:\"text\",color:\"transparent\",display:\"block\",transition:cssAnimate};return /*#__PURE__*/_jsx(\"div\",{ref:elementRef,style:style,children:text});}addPropertyControls(AnimateTextMask,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Masked Text\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Arial\"},fontSize:{type:ControlType.String,title:\"Font Size\",defaultValue:\"32px\"},fontWeight:{type:ControlType.Number,title:\"Font Weight\",defaultValue:400,min:100,max:900,step:100},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:0,max:20,step:.1},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1,min:0,max:5,step:.1},alignment:{type:ControlType.Enum,title:\"Text Alignment\",defaultValue:\"left\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"]},textDecoration:{type:ControlType.String,title:\"Text Decoration\",defaultValue:\"none\"},image:{type:ControlType.Image,title:\"Background Image\",defaultValue:\"\"},cssAnimate:{type:ControlType.String,title:\"Animation value\",defaultValue:\"all 0s cubic-bezier(0.250, 0.250, 0.750, 0.750)\"},initialOffsetX:{type:ControlType.Number,title:\"Image Offset X\",defaultValue:0,min:-1e4,max:1e4,step:1},initialOffsetY:{type:ControlType.Number,title:\"Image Offset Y\",defaultValue:0,min:-1e4,max:1e4,step:1},scrollSpeed:{type:ControlType.Number,title:\"Scroll Speed\",defaultValue:1,min:-10,max:10,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"AnimateTextMask\":{\"type\":\"reactComponent\",\"name\":\"AnimateTextMask\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimateTextMask.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,AnimatePresence,useAnimation}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";import{useInView}from\"react-intersection-observer\";export function AnimatedText(props){const{fontFamily,fontSize,color,fontWeight,shadow,letterSpacing,lineHeight,alignment,textDecoration,transform,text,globalDelay,animationDelay,animationDuration,triggerOnView}=props;const controls=useAnimation();const[ref,inView]=useInView({triggerOnce:true});const[isMobile,setIsMobile]=React.useState(false);React.useEffect(()=>{if(inView&&triggerOnView){controls.start(\"visible\");}},[inView]);const style={fontFamily,fontSize,color,fontWeight,textShadow:shadow,letterSpacing,lineHeight,textAlign:alignment,textDecoration,transform};const letterVariants={hidden:{opacity:0,y:50},visible:{opacity:1,y:0}};return /*#__PURE__*/_jsx(\"div\",{style:{textAlign:alignment},ref:ref,children:/*#__PURE__*/_jsx(AnimatePresence,{children:text.split(\"\").map((char,i)=>/*#__PURE__*/_jsx(motion.span,{custom:i,initial:\"hidden\",animate:controls,exit:\"hidden\",variants:letterVariants,transition:{delay:i*animationDelay+globalDelay,duration:animationDuration},style:style,children:char},i))})});}addPropertyControls(AnimatedText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Animated Text\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Arial\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:16,min:1,max:200},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},fontWeight:{type:ControlType.Number,title:\"Font Weight\",defaultValue:400,min:100,max:900,step:100},shadow:{type:ControlType.String,title:\"Text Shadow\",defaultValue:\"none\"},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:0,max:20,step:.1},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:1,min:0,max:5,step:.1},alignment:{type:ControlType.Enum,title:\"Text Alignment\",defaultValue:\"left\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"]},textDecoration:{type:ControlType.String,title:\"Text Decoration\",defaultValue:\"none\"},transform:{type:ControlType.String,title:\"Transform\",defaultValue:\"none\"},globalDelay:{type:ControlType.Number,title:\"Animation Total Delay\",defaultValue:0,min:0,max:1,step:.01},animationDelay:{type:ControlType.Number,title:\"Delay\",defaultValue:.1,min:0,max:1,step:.01},animationDuration:{type:ControlType.Number,title:\"Duration\",defaultValue:.5,min:0,max:5,step:.1},triggerOnView:{type:ControlType.Boolean,title:\"Trigger on View\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"AnimatedText\":{\"type\":\"reactComponent\",\"name\":\"AnimatedText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimateText.map", "import{fontStore as r}from\"framer\";r.loadWebFontsFromSelectors([]);export const fonts=[];export const css=[\".framer-9rjk4 .framer-styles-preset-7bpind:not(.rich-text-wrapper), .framer-9rjk4 .framer-styles-preset-7bpind.rich-text-wrapper a { --framer-link-current-text-color: #ffffff; --framer-link-current-text-decoration: none; --framer-link-hover-text-color: #ffffff; --framer-link-hover-text-decoration: none; --framer-link-text-color: #ffffff; --framer-link-text-decoration: none; }\"];export const className=\"framer-9rjk4\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["AnimateTextMask", "props", "text", "fontFamily", "fontSize", "fontWeight", "letterSpacing", "lineHeight", "alignment", "textDecoration", "image", "cssAnimate", "initialOffsetX", "initialOffsetY", "mobileInitialOffsetX", "mobileInitialOffsetY", "scrollSpeed", "mobileScrollSpeed", "scrollY", "setScrollY", "ye", "isMobile", "setIsMobile", "elementRef", "pe", "ue", "handleScroll", "rect", "window", "elementTop", "relativeScrollY", "offsetY", "offsetX", "style", "p", "addPropertyControls", "ControlType", "AnimatedText", "props", "fontFamily", "fontSize", "color", "fontWeight", "shadow", "letterSpacing", "lineHeight", "alignment", "textDecoration", "transform", "text", "globalDelay", "animationDelay", "animationDuration", "triggerOnView", "controls", "useAnimation", "ref", "inView", "useInView", "isMobile", "setIsMobile", "ye", "ue", "style", "letterVariants", "p", "AnimatePresence", "char", "i", "motion", "addPropertyControls", "ControlType", "fontStore", "fonts", "css", "className"]
}
