{"version":3,"file":"Text_Opacity_Words.C4lGv64J.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/AhiGWcblFQsnMc0YX4Z2/vtUn0crw4N6NgGEV6mRI/Text_Opacity_Words.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useTransform}from\"framer-motion\";import{useRef}from\"react\";// Component to handle letter color changes\nconst EachLetter=({letter,starting,ending,progress,isHighlighted,primaryColor,defaultColor,scrollColor,useScrollColor})=>{// Determine the color transition range based on scroll color\nconst interpolatedColor=useTransform(progress,[starting,ending],useScrollColor?[scrollColor,isHighlighted?primaryColor:defaultColor]:[isHighlighted?primaryColor:defaultColor,isHighlighted?primaryColor:defaultColor]);return /*#__PURE__*/_jsx(motion.span,{style:{color:interpolatedColor},children:letter});};// Main component to handle text splitting and scroll color effect\nexport default function Text_Color_Change_Letters(props){const text=props.text;const totalLetters=text.length;const ref=useRef(null);// Scroll progress hook\nconst{scrollYProgress}=useScroll({target:ref,offset:[props.startOffset,props.endOffset]});return /*#__PURE__*/_jsx(\"p\",{ref:ref,style:{...props.font,margin:0,padding:0,height:\"auto\",display:\"inline-block\",whiteSpace:\"pre-wrap\",overflow:\"visible\"},children:text.split(\"\").map((letter,idx)=>{const starting=idx/totalLetters// Start progress per letter\n;const ending=(idx+1)/totalLetters// End progress per letter\n;const isHighlighted=idx>=props.startIndex&&idx<=props.endIndex;return /*#__PURE__*/_jsx(EachLetter,{letter:letter,starting:starting,ending:ending,progress:scrollYProgress,isHighlighted:isHighlighted,primaryColor:props.primaryColor,defaultColor:props.defaultColor,scrollColor:props.scrollColor,useScrollColor:props.useScrollColor},idx);})});}// Property Controls for Framer Studio\naddPropertyControls(Text_Color_Change_Letters,{text:{title:\"Text\",type:ControlType.String,defaultValue:\"Hello World, this is a sample sentence\"},font:{type:\"font\",controls:\"extended\"},defaultColor:{type:ControlType.Color,defaultValue:\"#000000\",title:\"Default Color\"},primaryColor:{title:\"Primary Color\",type:ControlType.Color,defaultValue:\"#ff0000\"},scrollColor:{title:\"Scroll Color\",type:ControlType.Color,defaultValue:\"#0000ff\"},useScrollColor:{title:\"Enable Scroll Color\",type:ControlType.Boolean,defaultValue:true},startIndex:{title:\"Highlight Start Index\",type:ControlType.Number,defaultValue:0,min:0},endIndex:{title:\"Highlight End Index\",type:ControlType.Number,defaultValue:11,min:0},startOffset:{title:\"Start Offset\",type:ControlType.String,defaultValue:\"start 0.75\"},endOffset:{title:\"End Offset\",type:ControlType.String,defaultValue:\"start 0.35\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Text_Color_Change_Letters\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Text_Opacity_Words.map"],"mappings":"yOAGA,SAAwB,EAA0B,EAAM,CAAC,IAAM,EAAK,EAAM,KAAW,EAAa,EAAK,OAAa,EAAIA,EAAO,KAAK,CAC/H,CAAC,mBAAiB,EAAU,CAAC,OAAO,EAAI,OAAO,CAAC,EAAM,YAAY,EAAM,UAAU,CAAC,CAAC,CAAC,OAAoB,EAAK,IAAI,CAAK,MAAI,MAAM,CAAC,GAAG,EAAM,KAAK,OAAO,EAAE,QAAQ,EAAE,OAAO,OAAO,QAAQ,eAAe,WAAW,WAAW,SAAS,UAAU,CAAC,SAAS,EAAK,MAAM,GAAG,CAAC,KAAK,EAAO,IAEvM,EAAK,EAAW,CAAQ,SAAO,SAF8L,EAAI,EAEhL,QADtH,EAAI,GAAG,EAC6H,SAAS,EAAgB,cAAvJ,GAAK,EAAM,YAAY,GAAK,EAAM,SAAiJ,aAAa,EAAM,aAAa,aAAa,EAAM,aAAa,YAAY,EAAM,YAAY,eAAe,EAAM,eAAe,CAAC,EAAI,CAAG,CAAC,CAAC,oBANzS,IAAoD,IAAyD,IAA0B,CAC5K,GAAY,CAAC,SAAO,WAAS,SAAO,WAAS,gBAAc,eAAa,eAAa,cAAY,oBAAkB,CACzH,IAAM,EAAkB,EAAa,EAAS,CAAC,EAAS,EAAO,CAAC,EAAe,CAAC,EAAY,EAAc,EAAa,EAAa,CAAC,CAAC,EAAc,EAAa,EAAa,EAAc,EAAa,EAAa,CAAC,CAAC,OAAoB,EAAK,EAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAkB,CAAC,SAAS,EAAO,CAAC,EAK/S,EAAoB,EAA0B,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,aAAa,yCAAyC,CAAC,KAAK,CAAC,KAAK,OAAO,SAAS,WAAW,CAAC,aAAa,CAAC,KAAK,EAAY,MAAM,aAAa,UAAU,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,gBAAgB,KAAK,EAAY,MAAM,aAAa,UAAU,CAAC,YAAY,CAAC,MAAM,eAAe,KAAK,EAAY,MAAM,aAAa,UAAU,CAAC,eAAe,CAAC,MAAM,sBAAsB,KAAK,EAAY,QAAQ,aAAa,GAAK,CAAC,WAAW,CAAC,MAAM,wBAAwB,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,sBAAsB,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,eAAe,KAAK,EAAY,OAAO,aAAa,aAAa,CAAC,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,OAAO,aAAa,aAAa,CAAC,CAAC"}