{"version":3,"file":"RotatingText.C0tp53_g.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/b6zOgcxqQ627t8RHBoJ8/oBlXPP6IQfW2pdXllDfZ/RotatingText.js"],"sourcesContent":["// Framer component: RotatingText - Premium animated hero heading with smooth vertical roll transitions\n// On canvas: static (first word only). In preview/live: GSAP-powered rotation loop.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function RotatingText(props){const{word1=\"AI agents respect the rules\",word2=\"people follow what's defined\",word3=\"operators act with confidence\",word4=\"frontline workers have clarity\",word5=\"quality events surface fast\",word6=\"nonconformities become visible\",word7=\"thousands of hours are saved\",word8=\"changes show what they affect\",word9=\"updates become action\",word10=\"teams move faster together\",word11=\"decisions are backed by data\",word12=\"processes run like clockwork\",word13=\"compliance becomes effortless\",word14=\"excellence is the standard\",highlightColor=\"#7B5EA7\",font,textAlign=\"left\",stepDuration=2,transitionDuration=.6,style}=props;const words=[word1,word2,word3,word4,word5,word6,word7,word8,word9,word10,word11,word12,word13,word14].filter(w=>w&&w.trim());const containerRef=useRef(null);const rotatingRef=useRef(null);const[maxWidth,setMaxWidth]=useState(0);const[maxHeight,setMaxHeight]=useState(0);const[gsapLoaded,setGsapLoaded]=useState(false);const timelineRef=useRef(null);const isCanvasMode=typeof window!==\"undefined\"&&window.__framer_isCanvasMode===true;const fontSize=`clamp(1.8rem, ${font?.fontSize||\"5vw\"}, 5rem)`;useEffect(()=>{if(isCanvasMode||words.length===0)return;const script=document.createElement(\"script\");script.src=\"https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js\";script.async=true;script.onload=()=>setGsapLoaded(true);document.head.appendChild(script);return()=>{if(document.head.contains(script)){document.head.removeChild(script);}};},[isCanvasMode,words.length]);useEffect(()=>{if(isCanvasMode||!rotatingRef.current||words.length===0)return;const measureContainer=document.createElement(\"div\");measureContainer.style.position=\"absolute\";measureContainer.style.visibility=\"hidden\";measureContainer.style.fontSize=font?.fontSize||\"5vw\";measureContainer.style.fontFamily=font?.fontFamily||\"inherit\";measureContainer.style.fontWeight=font?.fontWeight||\"700\";measureContainer.style.lineHeight=font?.lineHeight||\"1.2em\";measureContainer.style.letterSpacing=font?.letterSpacing||\"0\";// Set width constraint if component is set to 100% width\nif(style?.width===\"100%\"&&containerRef.current){measureContainer.style.width=`${containerRef.current.offsetWidth}px`;measureContainer.style.whiteSpace=\"normal\";measureContainer.style.wordWrap=\"break-word\";}else{measureContainer.style.whiteSpace=\"nowrap\";}document.body.appendChild(measureContainer);let maxW=0;let maxH=0;words.forEach(word=>{measureContainer.textContent=word;const w=measureContainer.offsetWidth;const h=measureContainer.offsetHeight;if(w>maxW)maxW=w;if(h>maxH)maxH=h;});document.body.removeChild(measureContainer);setMaxWidth(maxW);setMaxHeight(maxH);},[words,font,isCanvasMode,style?.width]);useEffect(()=>{if(isCanvasMode||!gsapLoaded||!rotatingRef.current||words.length===0||maxWidth===0)return;const gsap=window.gsap;if(!gsap)return;const wordElements=Array.from(rotatingRef.current.children);if(wordElements.length===0)return;wordElements.forEach((el,i)=>{gsap.set(el,{position:\"absolute\",top:0,left:0,opacity:i===0?1:0,y:i===0?\"0%\":\"100%\"});});const tl=gsap.timeline({repeat:-1});wordElements.forEach((_,i)=>{const current=wordElements[i];const next=wordElements[(i+1)%wordElements.length];// Add delay before transition (except for the very first one)\nif(i>0){tl.to({},{duration:stepDuration});}tl.to(current,{y:\"-100%\",opacity:0,duration:transitionDuration,ease:\"power3.inOut\"},`>`);tl.fromTo(next,{y:\"100%\",opacity:0},{y:\"0%\",opacity:1,duration:transitionDuration,ease:\"power3.inOut\"},`<`);});// Add final delay before loop restarts\ntl.to({},{duration:stepDuration});timelineRef.current=tl;return()=>{if(timelineRef.current){timelineRef.current.kill();timelineRef.current=null;}};},[gsapLoaded,words,maxWidth,stepDuration,transitionDuration,isCanvasMode]);const containerStyle={display:\"inline-flex\",flexDirection:\"row\",alignItems:\"baseline\",color:highlightColor,textAlign,width:style?.width===\"100%\"?\"100%\":\"auto\",justifyContent:textAlign===\"center\"?\"center\":textAlign===\"right\"?\"flex-end\":\"flex-start\",...font,...style};const rotatingContainerStyle={position:\"relative\",display:\"inline-block\",overflow:\"hidden\",height:maxHeight>0?`${maxHeight}px`:\"auto\",minHeight:\"1.2em\",width:style?.width===\"100%\"?\"100%\":isCanvasMode?\"auto\":maxWidth>0?`${maxWidth}px`:\"auto\",willChange:\"transform\"};const wordStyle={willChange:\"transform\",whiteSpace:style?.width===\"100%\"?\"normal\":\"nowrap\",wordWrap:\"break-word\"};return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:containerStyle,children:/*#__PURE__*/_jsx(\"div\",{ref:rotatingRef,style:rotatingContainerStyle,children:words.map((word,i)=>/*#__PURE__*/_jsx(\"span\",{style:{...wordStyle,position:i===0?\"relative\":\"absolute\",top:0,left:0,opacity:i===0?1:0,transform:i===0?\"translateY(0%)\":\"translateY(100%)\"},children:word},i))})});}addPropertyControls(RotatingText,{word1:{type:ControlType.String,title:\"Word 1\",defaultValue:\"AI agents respect the rules\"},word2:{type:ControlType.String,title:\"Word 2\",defaultValue:\"people follow what's defined\"},word3:{type:ControlType.String,title:\"Word 3\",defaultValue:\"operators act with confidence\"},word4:{type:ControlType.String,title:\"Word 4\",defaultValue:\"frontline workers have clarity\"},word5:{type:ControlType.String,title:\"Word 5\",defaultValue:\"quality events surface fast\"},word6:{type:ControlType.String,title:\"Word 6\",defaultValue:\"nonconformities become visible\"},word7:{type:ControlType.String,title:\"Word 7\",defaultValue:\"thousands of hours are saved\"},word8:{type:ControlType.String,title:\"Word 8\",defaultValue:\"changes show what they affect\"},word9:{type:ControlType.String,title:\"Word 9\",defaultValue:\"updates become action\"},word10:{type:ControlType.String,title:\"Word 10\",defaultValue:\"teams move faster together\"},word11:{type:ControlType.String,title:\"Word 11\",defaultValue:\"decisions are backed by data\"},word12:{type:ControlType.String,title:\"Word 12\",defaultValue:\"processes run like clockwork\"},word13:{type:ControlType.String,title:\"Word 13\",defaultValue:\"compliance becomes effortless\"},word14:{type:ControlType.String,title:\"Word 14\",defaultValue:\"excellence is the standard\"},highlightColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#7B5EA7\"},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"40px\",variant:\"Bold\",letterSpacing:\"-0.04em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},textAlign:{type:ControlType.Enum,title:\"Text Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},stepDuration:{type:ControlType.Number,title:\"Step Duration (s)\",defaultValue:2,min:.5,max:10,step:.1},transitionDuration:{type:ControlType.Number,title:\"Transition Duration (s)\",defaultValue:.6,min:.1,max:3,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RotatingText\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RotatingText.map"],"mappings":"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"}