{"version":3,"file":"RollingText.D3RXaAlc.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/uPGjagWFzbKd7OyPdYvC/ago3bqPtphJd6veL4007/RollingText.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";export default function InfiniteRoll(props){const{text,font,color,startRolling,loop,pause,stagger,direction,transition}=props;const[cycle,setCycle]=useState(0);useEffect(()=>{if(!startRolling){setCycle(0);}},[startRolling]);const handleComplete=()=>{if(loop&&startRolling){setTimeout(()=>{setCycle(prev=>prev+1);},pause*1e3);}};const chars=text.split(\"\");const isUp=direction===\"up\";const initialY=isUp?\"0%\":\"-50%\";const targetY=isUp?\"-50%\":\"0%\";return /*#__PURE__*/_jsxs(\"div\",{style:{...font,color:color,display:\"inline-flex\",whiteSpace:\"nowrap\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",border:0},children:text}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{display:\"flex\"},children:chars.map((char,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-block\",position:\"relative\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{opacity:0,pointerEvents:\"none\"},children:char===\" \"?\"\\xa0\":char}),/*#__PURE__*/_jsxs(motion.span,{initial:{y:initialY},animate:startRolling?{y:targetY}:{y:initialY},transition:{...transition,delay:i*stagger},style:{position:\"absolute\",top:0,left:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",willChange:\"transform\"},onAnimationComplete:i===chars.length-1?handleComplete:undefined,children:[/*#__PURE__*/_jsx(\"span\",{children:char===\" \"?\"\\xa0\":char}),/*#__PURE__*/_jsx(\"span\",{children:char===\" \"?\"\\xa0\":char})]})]},i))},`${cycle}-${startRolling}`)]});}InfiniteRoll.defaultProps={text:\"Get Started\",startRolling:false,loop:true,pause:.2,stagger:.05,direction:\"up\",color:\"#000000\"};addPropertyControls(InfiniteRoll,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Get Started\"},font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},startRolling:{type:ControlType.Boolean,title:\"Start Roll\",defaultValue:false},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:true,hidden:props=>!props.startRolling},direction:{type:ControlType.SegmentedEnum,title:\"Direction\",options:[\"up\",\"down\"],optionTitles:[\"Up\",\"Down\"],defaultValue:\"up\"},pause:{type:ControlType.Number,title:\"Pause (s)\",min:0,max:5,step:.1,defaultValue:.2,hidden:props=>!props.loop||!props.startRolling},stagger:{type:ControlType.Number,title:\"Stagger\",min:0,max:.5,step:.01,defaultValue:.05},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"spring\",stiffness:250,damping:25,mass:1}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InfiniteRoll\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RollingText.map"],"mappings":"yOAAqL,SAAwB,EAAa,EAAM,CAAC,GAAK,CAAC,OAAK,OAAK,QAAM,eAAa,OAAK,QAAM,UAAQ,YAAU,cAAY,EAAW,CAAC,EAAM,GAAUA,EAAS,CAAC,EAAE,MAAc,CAAK,GAAc,EAAS,CAAC,CAAG,EAAE,CAAC,CAAY,CAAC,EAAE,IAAM,MAAmB,CAAI,GAAM,GAAc,eAAe,CAAC,EAAS,GAAM,EAAK,CAAC,CAAE,EAAE,EAAM,GAAG,CAAG,EAAQ,EAAM,EAAK,MAAM,EAAE,EAAQ,EAAK,IAAY,KAAW,EAAS,EAAK,KAAK,OAAa,EAAQ,EAAK,OAAO,KAAK,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAW,QAAM,QAAQ,cAAc,WAAW,SAAS,SAAS,UAAU,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,SAAS,KAAK,mBAAmB,WAAW,SAAS,OAAO,CAAC,EAAE,SAAS,CAAI,CAAC,EAAe,EAAK,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,QAAQ,MAAM,EAAE,SAAS,EAAM,KAAK,EAAK,IAAiB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,eAAe,SAAS,WAAW,SAAS,QAAQ,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,MAAM,EAAE,SAAS,IAAO,IAAI,OAAO,CAAI,CAAC,EAAe,EAAM,EAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAQ,EAAE,QAAQ,EAAa,CAAC,EAAE,CAAO,EAAE,CAAC,EAAE,CAAQ,EAAE,WAAW,CAAC,GAAG,EAAW,MAAM,EAAE,CAAO,EAAE,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,QAAQ,OAAO,cAAc,SAAS,WAAW,WAAW,EAAE,oBAAoB,IAAI,EAAM,OAAO,EAAE,EAAe,IAAA,GAAU,SAAS,CAAc,EAAK,OAAO,CAAC,SAAS,IAAO,IAAI,OAAO,CAAI,CAAC,EAAe,EAAK,OAAO,CAAC,SAAS,IAAO,IAAI,OAAO,CAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAM,GAAG,GAAc,CAAC,CAAC,CAAC,CAAE,iBAA5oD,IAAsC,IAAoD,IAAkC,EAAihD,EAAa,aAAa,CAAC,KAAK,cAAc,aAAa,GAAM,KAAK,GAAK,MAAM,GAAG,QAAQ,IAAI,UAAU,KAAK,MAAM,SAAS,EAAE,EAAoB,EAAa,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,aAAa,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,SAAS,WAAW,MAAM,MAAM,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,EAAK,EAAE,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,GAAK,OAAO,GAAO,CAAC,EAAM,YAAY,EAAE,UAAU,CAAC,KAAK,EAAY,cAAc,MAAM,YAAY,QAAQ,CAAC,KAAK,MAAM,EAAE,aAAa,CAAC,KAAK,MAAM,EAAE,aAAa,IAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,aAAa,GAAG,OAAO,GAAO,CAAC,EAAM,MAAM,CAAC,EAAM,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,GAAG,EAAE,WAAW,CAAC,KAAK,EAAY,WAAW,MAAM,aAAa,aAAa,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC"}