{"version":3,"file":"InfiniteTicker.DIussKKc.mjs","names":["useState","useRef","useMemo","useRef","useState","useCallback","useMemo"],"sources":["https:/framerusercontent.com/modules/J3CpiecFvZkDLmCONZuv/9Xz2ajYcel1TlNnAm6y6/StaggeredText.js","https:/framerusercontent.com/modules/rHO4aNIIkGiQnPDOPXfp/pxB9o5vu2iO01Qf1gAct/InfiniteTicker.js"],"sourcesContent":["// Text appear component with staggered word animation, each word slides up from below\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import React from\"react\";import{useEffect,useRef,useState,useMemo}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer,RenderTarget}from\"framer\";import{useInView}from\"framer-motion\";/**\n * Staggered Text Appear\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 60\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */function StaggeredText(props){const{text,delay,duration,color,font,style,tag,textIndent=0,shiftBlock=false,initialDelay=0,staggerBy=\"words\",animate=true,disableForSafari=true,paragraphGap=0}=props;const isStatic=useIsStaticRenderer();const[visible,setVisible]=useState(false);const[lineIndices,setLineIndices]=useState([]);const ref=useRef(null);const wordRefs=useRef([]);const inView=useInView(ref,{once:true,margin:\"-10% 0px\"});// Detect Safari browser\nconst isSafari=useMemo(()=>{if(typeof window===\"undefined\")return false;const ua=window.navigator.userAgent;return/^((?!chrome|android).)*safari/i.test(ua);},[]);// Disable animation for Safari\nconst shouldUseAnimation=animate&&!(isSafari&&disableForSafari);const{paragraphs,items}=useMemo(()=>{const paragraphs=text.split(\"\\n\").filter(p=>p.trim());if(staggerBy===\"symbols\"){const allItems=paragraphs.map(para=>para.trim().split(/\\s+/).map(word=>word.split(\"\")));return{paragraphs,items:allItems};}const allItems=paragraphs.map(para=>para.trim().split(/\\s+/));return{paragraphs,items:allItems};},[text,staggerBy]);useEffect(()=>{if(staggerBy!==\"lines\"||!ref.current)return;const measureLines=()=>{const positions=wordRefs.current.map(el=>{if(!el)return 0;return el.getBoundingClientRect().top;});const lines=[];let currentLine=0;let currentTop=positions[0];positions.forEach((top,i)=>{if(Math.abs(top-currentTop)>5){currentLine++;currentTop=top;}lines[i]=currentLine;});setLineIndices(lines);};measureLines();window.addEventListener(\"resize\",measureLines);return()=>window.removeEventListener(\"resize\",measureLines);},[staggerBy,items,font,textIndent]);useEffect(()=>{if(isStatic||RenderTarget.current()!==RenderTarget.preview)return;if(inView){const timeout=setTimeout(()=>{setVisible(true);},initialDelay);return()=>clearTimeout(timeout);}},[isStatic,inView,initialDelay]);const shouldAnimate=shouldUseAnimation&&(visible||isStatic||RenderTarget.current()!==RenderTarget.preview);const justifyContent=font.textAlign===\"center\"?\"center\":font.textAlign===\"right\"?\"flex-end\":\"flex-start\";const baseStyle={...style,color,...font,width:\"100%\",minWidth:0,margin:0,padding:0,transform:shiftBlock&&textIndent>0?`translateX(-${textIndent}px)`:undefined};// If animation is off, render as simple text block\nif(!shouldUseAnimation){return /*#__PURE__*/React.createElement(tag,{style:{...baseStyle,textIndent:textIndent>0?`${textIndent}px`:0,whiteSpace:\"pre-wrap\"}},text);}let symbolIndex=0;let wordIndex=0;return /*#__PURE__*/React.createElement(tag,{ref,style:{...baseStyle,display:\"flex\",flexDirection:\"column\",gap:paragraphGap}},items.map((paragraphItems,paraIndex)=>{return /*#__PURE__*/React.createElement(\"span\",{key:paraIndex,style:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-end\",justifyContent,width:\"100%\"}},paragraphItems.map((item,itemIndex)=>{if(staggerBy===\"symbols\"){const wordSymbols=item.map((symbol,symbolIndexInWord)=>{const currentSymbolIndex=symbolIndex++;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",verticalAlign:\"bottom\"},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",transform:shouldAnimate?\"translateY(0%)\":\"translateY(100%)\",transition:`transform ${duration}ms cubic-bezier(.4,1,.4,1) ${currentSymbolIndex*delay}ms`,willChange:\"transform\",whiteSpace:\"pre\"},children:symbol})},symbolIndexInWord);});const currentWordIndex=wordIndex++;return /*#__PURE__*/_jsxs(\"span\",{ref:el=>wordRefs.current[currentWordIndex]=el,style:{display:\"inline-flex\",overflow:\"hidden\",marginLeft:paraIndex===0&&itemIndex===0&&textIndent>0?textIndent:0,paddingRight:font.letterSpacing&&parseFloat(font.letterSpacing)<0?`${Math.abs(parseFloat(font.letterSpacing))}em`:0},children:[wordSymbols,itemIndex<paragraphItems.length-1&&/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"pre\"},children:\" \"})]},itemIndex);}const displayText=item+(itemIndex<paragraphItems.length-1?\" \":\"\");const currentWordIndex=wordIndex++;const itemDelay=staggerBy===\"lines\"?(lineIndices[currentWordIndex]||0)*delay:currentWordIndex*delay;return /*#__PURE__*/_jsx(\"span\",{ref:el=>wordRefs.current[currentWordIndex]=el,style:{display:\"inline-block\",overflow:\"hidden\",verticalAlign:\"bottom\"},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",transform:shouldAnimate?\"translateY(0%)\":\"translateY(100%)\",transition:`transform ${duration}ms cubic-bezier(.4,1,.4,1) ${itemDelay}ms`,willChange:\"transform\",whiteSpace:\"pre\",marginLeft:paraIndex===0&&itemIndex===0&&textIndent>0?textIndent:0},children:displayText})},itemIndex);}));}));}addPropertyControls(StaggeredText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Staggered text appear animation\",displayTextArea:true},animate:{type:ControlType.Boolean,title:\"Animate\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},staggerBy:{type:ControlType.Enum,title:\"Stagger By\",options:[\"symbols\",\"words\",\"lines\"],optionTitles:[\"Symbols\",\"Words\",\"Lines\"],defaultValue:\"words\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:400,min:100,max:2e3,unit:\"ms\",step:50},initialDelay:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:2e3,unit:\"ms\",step:10},delay:{type:ControlType.Number,title:\"Stagger\",defaultValue:80,min:0,max:1e3,unit:\"ms\",step:10},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},tag:{type:ControlType.Enum,title:\"Tag\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\"],optionTitles:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\"],defaultValue:\"h2\"},textIndent:{type:ControlType.Number,title:\"Text Indent\",defaultValue:0,min:0,max:800,unit:\"px\",step:1},shiftBlock:{type:ControlType.Boolean,title:\"Shift Block\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},disableForSafari:{type:ControlType.Boolean,title:\"Disable for Safari\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},paragraphGap:{type:ControlType.Number,title:\"Paragraph\",defaultValue:0,min:0,max:200,unit:\"px\",step:1,description:\"Component made by Anton Drukarov\"}});export default StaggeredText;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StaggeredText\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"60\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StaggeredText.map","// Simple infinite and seamless ticker component that accepts child frames\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useMotionValue,useAnimationFrame}from\"framer-motion\";import{useRef,useLayoutEffect,useState,startTransition,useMemo,useEffect,useCallback}from\"react\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function InfiniteTicker(props){const{children,speed=50,direction=\"left\",gap=20,verticalAlign=\"center\",scrollToReverse=false,scrollToSpeed=false}=props;const contentRef=useRef(null);const containerRef=useRef(null);const[contentWidth,setContentWidth]=useState(0);const[containerWidth,setContainerWidth]=useState(0);const[maxHeight,setMaxHeight]=useState(0);const lastScrollY=useRef(0);const scrollVelocity=useRef(0);const lastScrollTime=useRef(0);const scrollRAF=useRef(null);const resizeTimeout=useRef(null);const currentDirectionRef=useRef(direction);const x=useMotionValue(0);// Memoize measurement function\nconst measureContent=useCallback(()=>{if(!contentRef.current)return;const width=contentRef.current.offsetWidth;const childElements=contentRef.current.children;let tallest=0;Array.from(childElements).forEach(child=>{const childHeight=child.offsetHeight;if(childHeight>tallest)tallest=childHeight;});// Batch state updates\nstartTransition(()=>{setContentWidth(width);setMaxHeight(tallest);});},[]);const measureContainer=useCallback(()=>{if(!containerRef.current)return;startTransition(()=>{setContainerWidth(containerRef.current.offsetWidth);});},[]);useLayoutEffect(()=>{measureContent();measureContainer();// Debounced ResizeObserver\nconst resizeObserver=new ResizeObserver(()=>{if(resizeTimeout.current!==null){cancelAnimationFrame(resizeTimeout.current);}resizeTimeout.current=requestAnimationFrame(()=>{measureContent();measureContainer();});});if(contentRef.current){resizeObserver.observe(contentRef.current);}if(containerRef.current){resizeObserver.observe(containerRef.current);}return()=>{resizeObserver.disconnect();if(resizeTimeout.current!==null){cancelAnimationFrame(resizeTimeout.current);}};},[children,gap,measureContent,measureContainer]);// Calculate how many copies we need to fill the screen plus buffers\nconst numCopies=useMemo(()=>{return contentWidth>0?Math.ceil(containerWidth*3/(contentWidth+gap))+2:3;},[contentWidth,containerWidth,gap]);useEffect(()=>{if(typeof window===\"undefined\"||!scrollToReverse&&!scrollToSpeed)return;currentDirectionRef.current=direction;let isScrolling=false;const handleScroll=()=>{if(!isScrolling){isScrolling=true;if(scrollRAF.current!==null){cancelAnimationFrame(scrollRAF.current);}scrollRAF.current=requestAnimationFrame(()=>{const currentScrollY=window.scrollY;const currentTime=Date.now();const timeDelta=currentTime-lastScrollTime.current;const scrollDelta=Math.abs(currentScrollY-lastScrollY.current);if(scrollToSpeed&&timeDelta>0){// Calculate scroll velocity in pixels per second\nscrollVelocity.current=scrollDelta/timeDelta*1e3;}if(scrollToReverse){if(currentScrollY<lastScrollY.current){// Scrolling up - reverse direction\ncurrentDirectionRef.current=direction===\"left\"?\"right\":\"left\";}else if(currentScrollY>lastScrollY.current){// Scrolling down - return to default\ncurrentDirectionRef.current=direction;}}lastScrollY.current=currentScrollY;lastScrollTime.current=currentTime;isScrolling=false;});}};// Decay scroll velocity when not scrolling - only if scrollToSpeed is enabled\nconst decayInterval=scrollToSpeed?setInterval(()=>{scrollVelocity.current*=.9;if(scrollVelocity.current<1){scrollVelocity.current=0;}},50):null;window.addEventListener(\"scroll\",handleScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",handleScroll);if(decayInterval)clearInterval(decayInterval);if(scrollRAF.current!==null){cancelAnimationFrame(scrollRAF.current);}};},[direction,scrollToReverse,scrollToSpeed]);// Continuous animation loop\nuseAnimationFrame((t,delta)=>{if(contentWidth===0)return;const effectiveSpeed=scrollToSpeed?speed+scrollVelocity.current:speed;const moveDistance=effectiveSpeed*delta/1e3;const currentX=x.get();const loopDistance=contentWidth+gap;if(currentDirectionRef.current===\"left\"){const newX=currentX-moveDistance;x.set(newX<=-loopDistance?newX+loopDistance:newX);}else{const newX=currentX+moveDistance;x.set(newX>=0?newX-loopDistance:newX);}});// Memoize alignment style\nconst alignmentStyle=useMemo(()=>({alignItems:verticalAlign===\"top\"?\"flex-start\":verticalAlign===\"bottom\"?\"flex-end\":\"center\"}),[verticalAlign]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:maxHeight>0?`${maxHeight}px`:\"100%\",minHeight:\"5px\",overflow:\"visible\",position:\"relative\",display:\"flex\"},children:/*#__PURE__*/_jsx(motion.div,{style:{display:\"flex\",gap:`${gap}px`,position:\"absolute\",left:0,willChange:\"transform\",height:\"100%\",x},children:Array.from({length:numCopies}).map((_,index)=>/*#__PURE__*/_jsx(\"div\",{ref:index===0?contentRef:null,style:{display:\"flex\",gap:`${gap}px`,...alignmentStyle,height:\"100%\"},\"aria-hidden\":index>0,children:children},index))})});}addPropertyControls(InfiniteTicker,{children:{type:ControlType.Array,control:{type:ControlType.ComponentInstance},title:\"Items\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:50,min:1,max:500,step:1},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:20,min:0,max:500,step:1,unit:\"px\"},verticalAlign:{type:ControlType.Enum,title:\"Alignment\",options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],defaultValue:\"center\",displaySegmentedControl:true},scrollToReverse:{type:ControlType.Boolean,title:\"Scroll to Reverse\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},scrollToSpeed:{type:ControlType.Boolean,title:\"Scroll to Speed\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Component made by Anton Drukarov\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InfiniteTicker\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InfiniteTicker.map"],"mappings":"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"}