{"version":3,"file":"ScrollColorText.CRnPs2K7.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/k4MZtCX0FIPjFzmthqbO/WJ2cvvoam53ZHWli2TP2/ScrollColorText.js"],"sourcesContent":["/** @framerDisableUnlink */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ScrollColorText(props){const{text=\"Scroll Fill Text\",startColor=\"#999999\",fillColor=\"#000000\",font,triggerStart=\"top 90%\",triggerEnd=\"top 10%\",scrubAnimation=true,backgroundColor,padding,borderRadius,border,shadow,textTransform=\"none\",textDecoration=\"none\",opacity=1,zIndex=1,overflow=\"visible\",cursor,userSelect=true}=props;const containerRef=useRef(null);const[scrollProgress,setScrollProgress]=useState(0);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\"||!containerRef.current)return;let gsap,ScrollTrigger;const loadGSAP=async()=>{try{const gsapModule=await import(\"https://esm.sh/gsap@3.12.2\");const scrollTriggerModule=await import(\"https://esm.sh/gsap@3.12.2/ScrollTrigger\");gsap=gsapModule.gsap||gsapModule.default;ScrollTrigger=scrollTriggerModule.ScrollTrigger||scrollTriggerModule.default;gsap.registerPlugin(ScrollTrigger);ScrollTrigger.create({trigger:containerRef.current,start:triggerStart,end:triggerEnd,scrub:scrubAnimation?.3:false,onUpdate:self=>{setScrollProgress(self.progress);}});}catch(err){console.warn(\"GSAP Load Failed:\",err);}};loadGSAP();},[isStatic,triggerStart,triggerEnd,scrubAnimation]);const renderWords=()=>{const words=text.split(\" \");const total=words.length;const filledWords=Math.floor(scrollProgress*total);return words.map((word,i)=>{const color=i<=filledWords?fillColor:startColor;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",color,textTransform:textTransform,textDecoration:textDecoration,transition:\"color 0.3s linear\",willChange:\"color\",marginRight:\"0.25em\"},children:word},i);});};return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{...props.style,position:\"relative\",display:\"block\",width:\"100%\",backgroundColor,padding,borderRadius,...border,boxShadow:shadow,opacity,zIndex,overflow,cursor,userSelect:userSelect?\"text\":\"none\",...font},children:renderWords()});}addPropertyControls(ScrollColorText,{/** @framerDisableUnlink */text:{type:ControlType.String,title:\"Text\",defaultValue:\"Scroll Fill Text\",displayTextArea:true},/** @framerDisableUnlink */startColor:{type:ControlType.Color,title:\"Start Color\",defaultValue:\"#999999\"},/** @framerDisableUnlink */fillColor:{type:ControlType.Color,title:\"Fill Color\",defaultValue:\"#000000\"},/** @framerDisableUnlink */font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"32px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1.2em\",textAlign:\"left\"},controls:\"extended\",displayTextAlignment:true,displayFontSize:true},triggerStart:{type:ControlType.String,title:\"Trigger Start\",defaultValue:\"top 90%\"},triggerEnd:{type:ControlType.String,title:\"Trigger End\",defaultValue:\"top 10%\"},scrubAnimation:{type:ControlType.Boolean,title:\"Scrub\",defaultValue:true,enabledTitle:\"Smooth\",disabledTitle:\"Instant\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#ffffff\",optional:true},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"16px\"},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"8px\"},border:{type:ControlType.Border,title:\"Border\",optional:true},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"},textTransform:{type:ControlType.Enum,title:\"Text Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],defaultValue:\"none\"},textDecoration:{type:ControlType.Enum,title:\"Decoration\",options:[\"none\",\"underline\",\"overline\",\"line-through\"],defaultValue:\"none\"},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:1,min:0,max:1,step:.1},zIndex:{type:ControlType.Number,title:\"Z Index\",defaultValue:1},overflow:{type:ControlType.Enum,title:\"Overflow\",options:[\"visible\",\"hidden\",\"scroll\",\"auto\"],defaultValue:\"visible\"},cursor:{type:ControlType.Cursor,title:\"Cursor\"},userSelect:{type:ControlType.Boolean,title:\"User Select\",defaultValue:true,enabledTitle:\"Enabled\",disabledTitle:\"Disabled\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollColorText\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollColorText.map"],"mappings":"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"}