{"version":3,"file":"ScrollColorText.UaWAIPQ6.mjs","names":["useState","useState","useRef"],"sources":["https:/framerusercontent.com/modules/z9grsFbNODsb0b5E9jPu/2ldPqjTNu55zgqfSmExt/StyleConfig.js","https:/framerusercontent.com/modules/mg8cWpUoscYCphkRJvV7/BRaSBvnjuTsdxOhK5UJC/ScrollColorText.js"],"sourcesContent":["/**\n * StyleConfig.tsx\n * Flat Capital – Shared design tokens for all Framer code components.\n *\n * HOW TO USE IN A COMPONENT:\n *\n *   import { useBreakpoint, getStyle, colors } from \"./StyleConfig.tsx\"\n *\n *   const bp = useBreakpoint()\n *   const titleStyle = getStyle(\"headingL\", bp)\n *   const bodyStyle  = getStyle(\"body\", bp)\n */import{useState,useEffect}from\"react\";// ─── Breakpoints ──────────────────────────────────────────────────────────────\nexport const breakpoints={large:1440,desktop:1100,tablet:768,phone:0};export function useBreakpoint(){const getBreakpoint=w=>{if(w>=breakpoints.large)return\"large\";if(w>=breakpoints.desktop)return\"desktop\";if(w>=breakpoints.tablet)return\"tablet\";return\"phone\";};const[bp,setBp]=useState(()=>typeof window!==\"undefined\"?getBreakpoint(window.innerWidth):\"desktop\");useEffect(()=>{const handler=()=>setBp(getBreakpoint(window.innerWidth));window.addEventListener(\"resize\",handler);return()=>window.removeEventListener(\"resize\",handler);},[]);return bp;}// ─── Font families ────────────────────────────────────────────────────────────\nexport const fontFamily={heading:\"Aeonik\",body:\"Aeonik\"};// ─── Typography tokens ────────────────────────────────────────────────────────\n// Sizes at \"large\" (1440px+) and line-heights are taken directly from the\n// design reference. Smaller breakpoints scale down proportionally.\n// letterSpacing is in em units.\nexport const typography={// H1 — 104px / 1.0\ndisplay:{fontFamily:\"\",large:{fontSize:104,fontWeight:400,lineHeight:1,letterSpacing:-.02},desktop:{fontSize:104,fontWeight:400,lineHeight:1,letterSpacing:-.02},tablet:{fontSize:80,fontWeight:400,lineHeight:1,letterSpacing:-.02},phone:{fontSize:60,fontWeight:400,lineHeight:1,letterSpacing:-.02}},// Display S — 80px / 1.0\ndisplayS:{fontFamily:\"\",large:{fontSize:80,fontWeight:400,lineHeight:1,letterSpacing:-.02},desktop:{fontSize:80,fontWeight:400,lineHeight:1,letterSpacing:-.02},tablet:{fontSize:72,fontWeight:400,lineHeight:1,letterSpacing:-.02},phone:{fontSize:40,fontWeight:400,lineHeight:1,letterSpacing:-.02}},// H1 — 64px / 1.1\nheadingL:{fontFamily:\"\",large:{fontSize:64,fontWeight:400,lineHeight:1.1,letterSpacing:-.01},desktop:{fontSize:64,fontWeight:400,lineHeight:1.1,letterSpacing:-.01},tablet:{fontSize:56,fontWeight:400,lineHeight:1.1,letterSpacing:-.01},phone:{fontSize:40,fontWeight:400,lineHeight:1.1,letterSpacing:-.01}},// H2 — 48px / 1.2\nheadingM:{fontFamily:\"\",large:{fontSize:48,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},desktop:{fontSize:48,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},tablet:{fontSize:40,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},phone:{fontSize:32,fontWeight:400,lineHeight:1.2,letterSpacing:-.01}},// H3 — 36px / 1.2\nheadingS:{fontFamily:\"\",large:{fontSize:36,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},desktop:{fontSize:36,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},tablet:{fontSize:32,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},phone:{fontSize:32,fontWeight:400,lineHeight:1.2,letterSpacing:-.01}},// H4 — 28px / 1.2\nheadingXS:{fontFamily:\"\",large:{fontSize:28,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},desktop:{fontSize:28,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},tablet:{fontSize:24,fontWeight:400,lineHeight:1.2,letterSpacing:-.01},phone:{fontSize:24,fontWeight:400,lineHeight:1.2,letterSpacing:-.01}},// H5 — 22px / 1.2\nheadingXXS:{fontFamily:\"\",large:{fontSize:22,fontWeight:400,lineHeight:1.2,letterSpacing:0},desktop:{fontSize:22,fontWeight:400,lineHeight:1.2,letterSpacing:0},tablet:{fontSize:18,fontWeight:400,lineHeight:1.2,letterSpacing:0},phone:{fontSize:18,fontWeight:400,lineHeight:1.2,letterSpacing:0}},// H6 — 12px / 1.2\nheadingXXXS:{fontFamily:\"\",large:{fontSize:12,fontWeight:500,lineHeight:1.2,letterSpacing:0},desktop:{fontSize:12,fontWeight:500,lineHeight:1.2,letterSpacing:0},tablet:{fontSize:12,fontWeight:500,lineHeight:1.2,letterSpacing:0},phone:{fontSize:12,fontWeight:500,lineHeight:1.2,letterSpacing:0}},// Subtitle — 18px / 1.2 — Medium weight\nsubtitle:{fontFamily:\"\",large:{fontSize:18,fontWeight:500,lineHeight:1.2,letterSpacing:0},desktop:{fontSize:18,fontWeight:500,lineHeight:1.2,letterSpacing:0},tablet:{fontSize:16,fontWeight:500,lineHeight:1.2,letterSpacing:0},phone:{fontSize:16,fontWeight:500,lineHeight:1.2,letterSpacing:0}},// Subtitle 2 — 16px / 1.2 — Subtitle - 2px per breakpoint\nsubtitle2:{fontFamily:\"\",large:{fontSize:16,fontWeight:500,lineHeight:1.2,letterSpacing:0},desktop:{fontSize:16,fontWeight:500,lineHeight:1.2,letterSpacing:0},tablet:{fontSize:14,fontWeight:500,lineHeight:1.2,letterSpacing:0},phone:{fontSize:14,fontWeight:500,lineHeight:1.2,letterSpacing:0}},// Body L — 18px / 1.5 — Body + 2px per breakpoint\nbodyL:{fontFamily:\"\",large:{fontSize:18,fontWeight:400,lineHeight:1.5,letterSpacing:0},desktop:{fontSize:18,fontWeight:400,lineHeight:1.5,letterSpacing:0},tablet:{fontSize:16,fontWeight:400,lineHeight:1.5,letterSpacing:0},phone:{fontSize:16,fontWeight:400,lineHeight:1.5,letterSpacing:0}},// P — 16px / 1.5\nbody:{fontFamily:\"\",large:{fontSize:16,fontWeight:400,lineHeight:1.5,letterSpacing:0},desktop:{fontSize:16,fontWeight:400,lineHeight:1.5,letterSpacing:0},tablet:{fontSize:14,fontWeight:400,lineHeight:1.5,letterSpacing:0},phone:{fontSize:14,fontWeight:400,lineHeight:1.5,letterSpacing:0}},// P S — 14px / 1.5\nbodyS:{fontFamily:\"\",large:{fontSize:14,fontWeight:400,lineHeight:1.5,letterSpacing:0},desktop:{fontSize:14,fontWeight:400,lineHeight:1.5,letterSpacing:0},tablet:{fontSize:14,fontWeight:400,lineHeight:1.5,letterSpacing:0},phone:{fontSize:14,fontWeight:400,lineHeight:1.5,letterSpacing:0}},// Button — 16px / 1.2\nbutton:{fontFamily:\"Aeonik\",large:{fontSize:16,fontWeight:500,lineHeight:1.2,letterSpacing:0},desktop:{fontSize:16,fontWeight:500,lineHeight:1.2,letterSpacing:0},tablet:{fontSize:14,fontWeight:500,lineHeight:1.2,letterSpacing:0},phone:{fontSize:14,fontWeight:500,lineHeight:1.2,letterSpacing:0}},// Button S — 14px / 1.2\nbuttonS:{fontFamily:\"Aeonik\",large:{fontSize:14,fontWeight:500,lineHeight:1.2,letterSpacing:0},desktop:{fontSize:14,fontWeight:500,lineHeight:1.2,letterSpacing:0},tablet:{fontSize:13,fontWeight:500,lineHeight:1.2,letterSpacing:0},phone:{fontSize:13,fontWeight:500,lineHeight:1.2,letterSpacing:0}},// H5 — 18px / 1.2\nlink:{fontFamily:\"\",large:{fontSize:18,fontWeight:500,lineHeight:1.2,letterSpacing:0},desktop:{fontSize:16,fontWeight:500,lineHeight:1.2,letterSpacing:0},tablet:{fontSize:15,fontWeight:500,lineHeight:1.2,letterSpacing:0},phone:{fontSize:15,fontWeight:500,lineHeight:1.2,letterSpacing:0}}};export const typographyKeys=Object.keys(typography);// ─── getStyle helper ──────────────────────────────────────────────────────────\nexport function getStyle(key,bp){const token=typography[key]??typography.body;const safeBp=bp&&bp in token?bp:\"desktop\";const values=token[safeBp]??token.desktop;const resolvedFont=token.fontFamily!==\"\"?token.fontFamily:fontFamily.body;return{fontFamily:resolvedFont,fontSize:values.fontSize,fontWeight:values.fontWeight,lineHeight:values.lineHeight,letterSpacing:`${values.letterSpacing}em`,color:getTextColor(key)};}// ─── Colors ───────────────────────────────────────────────────────────────────\nexport const colors={primary:\"#000000\",secondary:\"#999999\",background:\"#FFFFFF\",accent:\"#000000\",divider:\"#CCCCCC\",muted:\"#888888\"};// ─── Text color overrides ─────────────────────────────────────────────────────\n// Leave as \"\" to fall back to colors.primary.\nexport const textColors={display:\"\",displayS:\"\",headingL:\"\",headingM:\"\",headingS:\"\",headingXS:\"\",headingXXS:\"\",headingXXXS:\"\",subtitle:\"\",subtitle2:\"\",bodyL:\"\",body:\"\",bodyS:\"\",button:\"\",buttonS:\"\",link:\"\"};export function getTextColor(key){const c=textColors[key];return c&&c!==\"\"?c:colors.primary;}// ─── Spacing tokens ───────────────────────────────────────────────────────────\nexport const spacing={metaToTitle:6,titleToIngress:8,itemPaddingY:20,filterBarMarginBottom:32,filterBarGap:8};// ─── Font hook ────────────────────────────────────────────────────────────────\n// Call useAeonik() inside any code component that uses Aeonik to ensure\n// the font is available in Framer's code component scope.\nlet aeonikInjected=false;export function useAeonik(){useEffect(()=>{if(aeonikInjected)return;aeonikInjected=true;const style=document.createElement(\"style\");style.textContent=`\n            @font-face {\n                font-family: \"Aeonik\";\n                src: url(\"https://framerusercontent.com/assets/DhwTgd7b9SqwXBDDMacg1s8iKc.woff2\") format(\"woff2\");\n                font-weight: 400;\n                font-style: normal;\n            }\n            @font-face {\n                font-family: \"Aeonik\";\n                src: url(\"https://framerusercontent.com/assets/dZOxNi5NPJITNXoldR4bh0xYM9Q.woff2\") format(\"woff2\");\n                font-weight: 500;\n                font-style: normal;\n            }\n            @font-face {\n                font-family: \"Aeonik\";\n                src: url(\"https://framerusercontent.com/assets/YXNEkThJxwN8JMl6J0A5t1eNY.woff2\") format(\"woff2\");\n                font-weight: 600;\n                font-style: normal;\n            }\n        `;document.head.appendChild(style);},[]);}\nexport const __FramerMetadata__ = {\"exports\":{\"getStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontFamily\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"breakpoints\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAeonik\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"textColors\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TypographyKey\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colors\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"typography\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"typographyKeys\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useBreakpoint\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Breakpoint\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"spacing\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getTextColor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StyleConfig.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useScroll,useTransform,motion}from\"framer-motion\";import{useRef,useState,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{typography,typographyKeys,fontFamily,colors,useAeonik}from\"https://framerusercontent.com/modules/z9grsFbNODsb0b5E9jPu/2ldPqjTNu55zgqfSmExt/StyleConfig.js\";function AnimatedWord({word,index,total,scrollYProgress,colorStops,isLast,isCanvas,visible,trickleFadeDuration,enableAnimation,staticColor}){const wordStart=index/total;const wordEnd=(index+1)/total;const remapped=useTransform(scrollYProgress,[wordStart,wordEnd],[0,1],{clamp:true});const color=useTransform(remapped,colorStops.map(s=>s.position),colorStops.map(s=>s.color));if(isCanvas){return /*#__PURE__*/_jsxs(\"span\",{style:{color:\"#888888\",display:\"inline\"},children:[word,!isLast?\" \":\"\"]});}return /*#__PURE__*/_jsxs(motion.span,{style:{color:enableAnimation?color:staticColor,display:\"inline\",opacity:visible?1:0,transition:`opacity ${trickleFadeDuration}ms ease`},children:[word,!isLast?\" \":\"\"]});}export default function ScrollColorText(props){const{text=\"Your text here\",textStyle=\"headingM\",color1=colors.secondary,color1Position=1,color2=\"#888888\",color2Position=4,color3=\"#444444\",color3Position=7,color4=colors.primary,color4Position=10,textAlign=\"left\",scrollStart=.8,scrollEnd=.2,enableAnimation=true,enableTrickle=true,trickleInterval=80,trickleFadeDuration=300}=props;useAeonik();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const words=text.split(\" \");const[visibleCount,setVisibleCount]=useState(enableAnimation&&enableTrickle&&!isCanvas?0:-1);const ref=useRef(null);const trickleStarted=useRef(false);useEffect(()=>{if(!enableAnimation||!enableTrickle||isCanvas)return;const el=ref.current;if(!el)return;const observer=new IntersectionObserver(entries=>{const entry=entries[0];if(entry.isIntersecting&&!trickleStarted.current){trickleStarted.current=true;observer.disconnect();setVisibleCount(0);let count=0;const interval=setInterval(()=>{count+=1;setVisibleCount(count);if(count>=words.length){clearInterval(interval);setTimeout(()=>{setVisibleCount(-1);},trickleFadeDuration+50);}},trickleInterval);}},{threshold:.1});observer.observe(el);return()=>observer.disconnect();},[enableAnimation,enableTrickle,trickleInterval,trickleFadeDuration,words.length]);const{scrollYProgress}=useScroll({target:ref,offset:[`start ${scrollStart}`,`end ${scrollEnd}`]});const style=typography[textStyle]??typography.headingM;const textTransform=style.textTransform;const colorStops=[{color:color1,position:(color1Position-1)/9},{color:color2,position:(color2Position-1)/9},{color:color3,position:(color3Position-1)/9},{color:color4,position:(color4Position-1)/9}].sort((a,b)=>a.position-b.position);const renderWords=()=>words.map((word,index)=>{const visible=visibleCount===-1?true:index<visibleCount;return /*#__PURE__*/_jsx(AnimatedWord,{word:word,index:index,total:words.length,scrollYProgress:scrollYProgress,colorStops:colorStops,isLast:index===words.length-1,isCanvas:isCanvas,visible:visible,trickleFadeDuration:trickleFadeDuration,enableAnimation:enableAnimation,staticColor:color4},`${word}-${index}`);});return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{width:\"100%\",fontFamily:fontFamily.heading,textAlign:textAlign,...textTransform?{textTransform}:{}},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"large-scroll-text\",style:{fontSize:style.large.fontSize,fontWeight:style.large.fontWeight,lineHeight:style.large.lineHeight,letterSpacing:`${style.large.letterSpacing}em`},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                    @media (max-width: 1439px) {\n                        .large-scroll-text { display: none !important; }\n                    }\n                    @media (min-width: 1440px) {\n                        .desktop-scroll-text, .tablet-scroll-text, .phone-scroll-text { display: none !important; }\n                    }\n                `}),renderWords()]}),/*#__PURE__*/_jsxs(\"div\",{className:\"desktop-scroll-text\",style:{fontSize:style.desktop.fontSize,fontWeight:style.desktop.fontWeight,lineHeight:style.desktop.lineHeight,letterSpacing:`${style.desktop.letterSpacing}em`},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                    @media (max-width: 1099px) {\n                        .desktop-scroll-text { display: none !important; }\n                    }\n                    @media (min-width: 1440px) {\n                        .desktop-scroll-text { display: none !important; }\n                    }\n                `}),renderWords()]}),/*#__PURE__*/_jsxs(\"div\",{className:\"tablet-scroll-text\",style:{fontSize:style.tablet.fontSize,fontWeight:style.tablet.fontWeight,lineHeight:style.tablet.lineHeight,letterSpacing:`${style.tablet.letterSpacing}em`},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                    @media (max-width: 767px) {\n                        .tablet-scroll-text { display: none !important; }\n                    }\n                    @media (min-width: 1100px) {\n                        .tablet-scroll-text { display: none !important; }\n                    }\n                `}),renderWords()]}),/*#__PURE__*/_jsxs(\"div\",{className:\"phone-scroll-text\",style:{fontSize:style.phone.fontSize,fontWeight:style.phone.fontWeight,lineHeight:style.phone.lineHeight,letterSpacing:`${style.phone.letterSpacing}em`},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                    @media (min-width: 768px) {\n                        .phone-scroll-text { display: none !important; }\n                    }\n                `}),renderWords()]})]});}ScrollColorText.defaultProps={text:\"Your text here\",textStyle:\"headingM\",color1:colors.secondary,color1Position:1,color2:\"#888888\",color2Position:4,color3:\"#444444\",color3Position:7,color4:colors.primary,color4Position:10,textAlign:\"left\",scrollStart:.8,scrollEnd:.2,enableAnimation:true,enableTrickle:true,trickleInterval:80,trickleFadeDuration:300};addPropertyControls(ScrollColorText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Your text here\",displayTextArea:true},textStyle:{type:ControlType.Enum,title:\"Text Style\",options:typographyKeys,optionTitles:typographyKeys,defaultValue:\"headingM\"},color1:{type:ControlType.Color,title:\"Color 1\",defaultValue:colors.secondary},color1Position:{type:ControlType.Number,title:\"  ↳ Position\",defaultValue:1,min:1,max:10,step:1,displayStepper:true},color2:{type:ControlType.Color,title:\"Color 2\",defaultValue:\"#888888\"},color2Position:{type:ControlType.Number,title:\"  ↳ Position\",defaultValue:4,min:1,max:10,step:1,displayStepper:true},color3:{type:ControlType.Color,title:\"Color 3\",defaultValue:\"#444444\"},color3Position:{type:ControlType.Number,title:\"  ↳ Position\",defaultValue:7,min:1,max:10,step:1,displayStepper:true},color4:{type:ControlType.Color,title:\"Color 4\",defaultValue:colors.primary},color4Position:{type:ControlType.Number,title:\"  ↳ Position\",defaultValue:10,min:1,max:10,step:1,displayStepper:true},textAlign:{type:ControlType.Enum,title:\"Text Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\"},// ── Animation ─────────────────────────────────────────\nenableAnimation:{type:ControlType.Boolean,title:\"Animation\",defaultValue:true},scrollStart:{type:ControlType.Number,title:\"  ↳ Scroll Start\",defaultValue:.8,min:0,max:1,step:.05,displayStepper:true,hidden:props=>!props.enableAnimation},scrollEnd:{type:ControlType.Number,title:\"  ↳ Scroll End\",defaultValue:.2,min:0,max:1,step:.05,displayStepper:true,hidden:props=>!props.enableAnimation},// ── Trickle ──────────────────────────────────────────\nenableTrickle:{type:ControlType.Boolean,title:\"Trickle\",defaultValue:true,hidden:props=>!props.enableAnimation},trickleInterval:{type:ControlType.Number,title:\"  ↳ Interval\",defaultValue:80,min:10,max:500,step:10,displayStepper:true,description:\"Milliseconds between each word appearing\",hidden:props=>!props.enableAnimation||!props.enableTrickle},trickleFadeDuration:{type:ControlType.Number,title:\"  ↳ Fade\",defaultValue:300,min:0,max:1e3,step:50,displayStepper:true,description:\"Fade-in duration per word in milliseconds\",hidden:props=>!props.enableAnimation||!props.enableTrickle}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollColorText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}