{"version":3,"file":"shared-lib.qYR4XAwZ.mjs","names":["useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/9n76C6q9zl56uFinzcUT/gKjpUvTqqYQLHrJBB6FY/Character.js","https:/framerusercontent.com/modules/9J9vw4CLdPLaucFtGhrn/iynz7Uw9fToqFAoB1rKX/siteMetadata.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useInView}from\"framer-motion\";import{useRef,useMemo}from\"react\";export default function TextRevealAnimation(props){const{baseText,textColor,textStyle,animationDirection,delay,letterDelay,letterDuration,letterDistance,rotateChar,padding,uppercase,replay,loop,repeatType=[\"mirror\",\"reverse\",\"loop\"]}=props;const ref=useRef(null);const isInView=useInView(ref,{once:replay?true:false});// Animation variants for letters\nconst letterVariants=useMemo(()=>({hidden:{y:animationDirection===\"bottom\"?letterDistance:-letterDistance,rotate:rotateChar},visible:i=>({y:0,rotate:0,transition:{delay:i*letterDelay+delay,duration:letterDuration,ease:[.16,.9,0,1],repeat:loop?50:0,repeatType:repeatType}})}),[animationDirection,letterDistance,rotateChar,letterDelay,delay,letterDuration]);// Calculate height based on font size\nconst fontSize=parseInt(textStyle.fontSize)||26;const lineHeight=parseFloat(textStyle.lineHeight)||1.2;const textHeight=fontSize*lineHeight;// Use useMemo to avoid recreating the characters array on each render\nconst characters=useMemo(()=>{return baseText.split(\"\");},[baseText]);// Create an array of indices for the multiple text copies\nconst textCopies=useMemo(()=>[0,1,2,3,4],[]);// For canvas rendering\nif(RenderTarget.current()===\"CANVAS\"){return /*#__PURE__*/_jsx(\"div\",{style:{...textStyle,width:\"auto\",height:\"auto\",display:\"flex\",justifyContent:\"start\",color:textColor,padding:padding,textTransform:uppercase?\"uppercase\":\"none\"},children:baseText});}return /*#__PURE__*/_jsx(\"div\",{style:{width:\"auto\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",height:`${textHeight}px`,overflow:\"hidden\",position:\"relative\",padding:padding,textTransform:uppercase?\"uppercase\":\"none\"},ref:ref,children:/*#__PURE__*/_jsx(motion.div,{style:{flexDirection:\"column\",alignItems:\"start\",justifyContent:\"start\",width:\"auto\",position:\"relative\",display:\"flex\"},children:textCopies.map(itemIndex=>/*#__PURE__*/_jsx(\"div\",{style:{...textStyle,color:textColor,textAlign:\"start\",width:\"auto\",justifyContent:\"center\",flexWrap:\"wrap\",height:`${textHeight}px`,alignItems:\"center\",whiteSpace:\"nowrap\",position:\"relative\",display:\"inline-block\",textTransform:uppercase?\"uppercase\":\"none\"},children:characters.map((char,charIndex)=>/*#__PURE__*/_jsx(motion.span,{custom:charIndex,variants:letterVariants,initial:\"hidden\",animate:isInView?\"visible\":\"hidden\",style:{position:\"relative\",display:\"inline-block\"},children:char===\" \"?\"\\xa0\":char},`${itemIndex}-${charIndex}`))},itemIndex))})});}addPropertyControls(TextRevealAnimation,{textStyle:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultValue:{fontSize:40,lineHeight:\"0.8\",fontWeight:700}},baseText:{title:\"Text\",type:ControlType.String,defaultValue:\"Animated Text\"},replay:{title:\"Replay Animation\",type:ControlType.Boolean,defaultValue:false},loop:{type:ControlType.Boolean,title:\"Loop Animation\",defaultValue:false},repeatType:{type:ControlType.Enum,defaultValue:\"mirror\",options:[\"mirror\",\"reverse\",\"loop\"],optionTitles:[\"mirror\",\"reverse\",\"loop\"]},textColor:{title:\"Text Color\",type:ControlType.Color,defaultValue:\"#000\"},animationDirection:{title:\"Animation Direction\",type:ControlType.Enum,options:[\"bottom\",\"top\"],defaultValue:\"bottom\",displaySegmentedControl:true,description:\"Direction letters flow from\"},rotateChar:{title:\"Rotate Char\",type:ControlType.Number,defaultValue:-24,step:.01,description:\"Initial rotation of characters\"},delay:{title:\"Delay Initial\",type:ControlType.Number,defaultValue:0,min:0,step:.01,description:\"Initial delay before animation starts\"},letterDelay:{title:\"Letter Delay (s)\",type:ControlType.Number,defaultValue:.02,min:0,max:.2,step:.01,description:\"Delay between each letter animation\"},letterDuration:{title:\"Letter Duration (s)\",type:ControlType.Number,defaultValue:2,min:0,max:10,step:.1,description:\"Duration of each letter's animation\"},letterDistance:{title:\"Letter Distance\",type:ControlType.Number,defaultValue:100,description:\"Distance letters move during animation\"},uppercase:{type:ControlType.Boolean,title:\"Text Transform\",defaultValue:false},padding:{type:ControlType.Padding,title:\"Padding\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextRevealAnimation\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Character.map","// Generated by Framer (b135809)\nexport default function metadata(params,activeLocale){return{description:\"Game co-development / outsourcing studio for AAA and indie teams. Character rigging, pipeline, technical art, animation, tools, and engineering in Unreal Engine 5 and Maya.\",favicon:\"https://framerusercontent.com/assets/s75BR3ClCzTM3c0CpO2vmF4VtIA.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/Y0M7iJP0WXg1DrlmVda731W7D4o.png\",title:\"Monster Puppet — Game Co-Development Studio | Tech Art & Rigging Outsourcing\"};}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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"}