{"version":3,"file":"TwoColorScrollText.Cq9UGieI.mjs","names":["useState","useRef","useMemo","React.useRef","React.useState"],"sources":["https:/framerusercontent.com/modules/eA4KvmvWXKBTlsvusrvC/5dc4mLcSKCpD36MlOdkc/SofiaCryptoTimeline.js","https:/framerusercontent.com/modules/niCHNhL1LkFhA88Jxfmn/xx0OhAuXUZP9irdIKVxm/TwoColorScrollText.js"],"sourcesContent":["// Timeline component for Sofia Crypto Week with horizontal desktop layout and vertical mobile layout\n// Desktop: horizontal timeline with hover interactions\n// Mobile: vertical scrollable timeline\n// Events: Sept 19 (Workshop), Sept 20-22 (Hackathon), Sept 23 (Conference), Sept 24 (Interoperability)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,startTransition,useEffect,useRef,useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Sofia Crypto Week Timeline\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 600\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function SimpleTimeline(props){const{backgroundColor,lineColor,dotColor,activeDotColor,textColor,activeTextColor,cardBackground,dateFont,titleFont,descriptionFont,layoutMode,breakpoints,mobileBreakpoint,tabletBreakpoint}=props;const resolvedMobileBreakpoint=breakpoints?.mobile??mobileBreakpoint;const resolvedTabletBreakpoint=breakpoints?.tablet??tabletBreakpoint;const safeMobileBreakpoint=Math.min(resolvedMobileBreakpoint,resolvedTabletBreakpoint);const safeTabletBreakpoint=Math.max(resolvedMobileBreakpoint,resolvedTabletBreakpoint);const events=props.events?.length?props.events:[{date:\"Date 1\",title:\"Title 1\",description:\"Description 1\"},{date:\"Date 2\",title:\"Title 2\",description:\"Description 2\"},{date:\"Date 3\",title:\"Title 3\",description:\"Description 3\"},{date:\"Date 4\",title:\"Title 4\",description:\"Description 4\"},{date:\"Date 5\",title:\"Title 5\",description:\"Description 5\"}];const[hoveredIndex,setHoveredIndex]=useState(null);const[isMobile,setIsMobile]=useState(false);const[isTablet,setIsTablet]=useState(false);const[visibleIndices,setVisibleIndices]=useState(new Set);const[scrollDirection,setScrollDirection]=useState(\"down\");const scrollDirectionRef=useRef(\"down\");const[activeIndex,setActiveIndex]=useState(0);const lastScrollPosRef=useRef(0);const eventRefs=useRef([]);const rootRef=useRef(null);const allIndices=useMemo(()=>new Set(events.map((_,i)=>i)),[events]);// Detect mobile on mount\nuseEffect(()=>{if(layoutMode!==\"auto\"){startTransition(()=>{setIsMobile(layoutMode===\"mobile\");setIsTablet(false);});return;}if(typeof window!==\"undefined\"){const checkMobile=()=>{const width=window.innerWidth;startTransition(()=>{setIsMobile(width<safeMobileBreakpoint);setIsTablet(width>=safeMobileBreakpoint&&width<safeTabletBreakpoint);});};checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);}else{// Framer Canvas/Editor: always show desktop version\nstartTransition(()=>{setIsMobile(false);setIsTablet(false);});}},[layoutMode,safeMobileBreakpoint,safeTabletBreakpoint]);const isStacked=isMobile||isTablet;const isCompactMobile=isMobile&&(typeof window===\"undefined\"?true:window.innerWidth<=350);// Track scroll direction (used to reverse animations)\nuseEffect(()=>{if(typeof window===\"undefined\")return;const el=rootRef.current;const isRootScrollable=!!el&&el.scrollHeight>el.clientHeight+1;const getPos=()=>isRootScrollable&&el?el.scrollTop:window.scrollY;lastScrollPosRef.current=getPos();const onScroll=()=>{const next=getPos();const prev=lastScrollPosRef.current;lastScrollPosRef.current=next;if(next===prev)return;const dir=next>prev?\"down\":\"up\";scrollDirectionRef.current=dir;startTransition(()=>setScrollDirection(dir));};if(isRootScrollable&&el){el.addEventListener(\"scroll\",onScroll,{passive:true});return()=>el.removeEventListener(\"scroll\",onScroll);}window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>window.removeEventListener(\"scroll\",onScroll);},[isStacked]);// Active item highlight based on scroll position\nuseEffect(()=>{if(typeof window===\"undefined\")return;const el=rootRef.current;const isRootScrollable=!!el&&el.scrollHeight>el.clientHeight+1;let raf=0;const update=()=>{raf=0;const viewportCenterY=(window.innerHeight||0)/2;let bestIdx=0;let bestDist=Number.POSITIVE_INFINITY;for(let i=0;i<eventRefs.current.length;i++){const item=eventRefs.current[i];if(!item)continue;const r=item.getBoundingClientRect();const itemCenter=r.top+r.height/2;const d=Math.abs(itemCenter-viewportCenterY);if(d<bestDist){bestDist=d;bestIdx=i;}}startTransition(()=>setActiveIndex(bestIdx));};const onScrollOrResize=()=>{if(raf)return;raf=window.requestAnimationFrame(update);};update();if(isRootScrollable&&el){el.addEventListener(\"scroll\",onScrollOrResize,{passive:true});window.addEventListener(\"resize\",onScrollOrResize);return()=>{if(raf)window.cancelAnimationFrame(raf);el.removeEventListener(\"scroll\",onScrollOrResize);window.removeEventListener(\"resize\",onScrollOrResize);};}window.addEventListener(\"scroll\",onScrollOrResize,{passive:true});window.addEventListener(\"resize\",onScrollOrResize);return()=>{if(raf)window.cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",onScrollOrResize);window.removeEventListener(\"resize\",onScrollOrResize);};},[events.length,isStacked]);// Mobile/tablet: animate + highlight as items come into view (details still always visible)\nuseEffect(()=>{if(!isStacked)return;if(typeof window===\"undefined\")return;const els=eventRefs.current;if(!els.length)return;// Fallback for environments where IntersectionObserver is unreliable (some mobile browsers).\nif(typeof window.IntersectionObserver!==\"function\"){startTransition(()=>setVisibleIndices(allIndices));return;}let raf=0;const computeVisible=()=>{raf=0;const vh=window.innerHeight||1;const next=new Set;for(let i=0;i<els.length;i++){const el=els[i];if(!el)continue;const r=el.getBoundingClientRect();const inView=r.top<vh*.8&&r.bottom>vh*.2;if(inView)next.add(i);}startTransition(()=>setVisibleIndices(prev=>{// When scrolling down, keep items revealed for smoother progress.\n    if(scrollDirectionRef.current===\"down\")return new Set([...prev,...next]);return next;}));};const scheduleCompute=()=>{if(raf)return;raf=window.requestAnimationFrame(computeVisible);};// Prefer viewport-based observation for stacked layouts.\nconst observer=new IntersectionObserver(entries=>{const deltas=[];for(const entry of entries){const indexAttr=entry.target.dataset.index;const idx=indexAttr?Number(indexAttr):NaN;if(!Number.isFinite(idx))continue;deltas.push({idx,isVisible:entry.isIntersecting});}if(!deltas.length)return;startTransition(()=>{setVisibleIndices(prev=>{const next=new Set(prev);for(const{idx,isVisible}of deltas){if(isVisible)next.add(idx);else if(scrollDirectionRef.current===\"up\")next.delete(idx);}return next;});});},{root:null,threshold:.12,rootMargin:\"0px 0px -20% 0px\"});for(const el of els){if(el)observer.observe(el);}// Scroll/resize fallback to ensure animations trigger on mobile even if IO is flaky.\nscheduleCompute();window.addEventListener(\"scroll\",scheduleCompute,{passive:true});window.addEventListener(\"resize\",scheduleCompute);return()=>{observer.disconnect();window.removeEventListener(\"scroll\",scheduleCompute);window.removeEventListener(\"resize\",scheduleCompute);if(raf)window.cancelAnimationFrame(raf);};},[isStacked,events.length,allIndices]);// Desktop: reveal + highlight as items come into view\nuseEffect(()=>{if(isStacked)return;if(typeof window===\"undefined\")return;const els=eventRefs.current;if(!els.length)return;const observer=new IntersectionObserver(entries=>{const deltas=[];for(const entry of entries){const indexAttr=entry.target.dataset.index;const idx=indexAttr?Number(indexAttr):NaN;if(!Number.isFinite(idx))continue;deltas.push({idx,isVisible:entry.isIntersecting});}if(!deltas.length)return;startTransition(()=>{setVisibleIndices(prev=>{const next=new Set(prev);for(const{idx,isVisible}of deltas){if(isVisible)next.add(idx);else next.delete(idx);}return next;});});},{root:null,threshold:.35,rootMargin:\"-10% 0px -25% 0px\"});for(const el of els){if(el)observer.observe(el);}return()=>observer.disconnect();},[isStacked,events.length]);const handleMouseEnter=index=>{if(!isStacked){startTransition(()=>setHoveredIndex(index));}};const handleMouseLeave=()=>{if(!isStacked){startTransition(()=>setHoveredIndex(null));}};return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"100%\",backgroundColor,padding:isStacked?isCompactMobile?\"52px 22px\":\"46px 22px\":\"70px 40px\",display:\"flex\",justifyContent:\"center\",overflow:isStacked?\"visible\":\"auto\",WebkitOverflowScrolling:\"touch\",position:\"relative\"},children:[!isStacked&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:`radial-gradient(circle at 50% 50%, ${activeDotColor}05 0%, transparent 70%)`,animation:\"breathe 4s ease-in-out infinite\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",gap:isStacked?\"60px\":\"44px\",maxWidth:isTablet?\"680px\":\"1100px\",width:\"100%\",padding:isStacked?0:\"0 20px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:isStacked?isCompactMobile?\"14px\":\"20px\":\"50%\",top:\"0\",bottom:\"0\",width:isStacked?\"4px\":\"3px\",transform:isStacked?\"none\":\"translateX(-50%)\",backgroundColor:lineColor,background:`linear-gradient(180deg, ${lineColor}00 0%, ${lineColor} 10%, ${lineColor} 90%, ${lineColor}00 100%)`,boxShadow:`0 0 10px ${activeDotColor}40`}}),events.map((event,index)=>{const isVisible=isStacked?visibleIndices.has(index):visibleIndices.has(index);const isCurrent=index===activeIndex;const isHovered=hoveredIndex===index;const alignLeft=index%2===0;return /*#__PURE__*/_jsxs(\"div\",{ref:el=>{eventRefs.current[index]=el;},\"data-index\":index,style:{position:\"relative\",display:\"flex\",flexDirection:isStacked?\"column\":\"row\",justifyContent:isStacked?\"flex-start\":alignLeft?\"flex-end\":\"flex-start\",paddingLeft:isStacked?isCompactMobile?\"44px\":\"60px\":0,minHeight:isStacked?undefined:\"140px\",transition:\"opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), filter 0.3s cubic-bezier(0.22, 1, 0.36, 1)\",opacity:isVisible?1:.12,transform:isVisible?\"translateY(0)\":`translateY(${scrollDirection===\"up\"?\"-14px\":\"14px\"})`,willChange:\"transform, opacity\",filter:!isStacked&&(isHovered||isVisible)?`drop-shadow(0 10px 30px ${activeDotColor}14)`:\"none\",cursor:isStacked?\"default\":\"pointer\"},onMouseEnter:isStacked?undefined:()=>handleMouseEnter(index),onMouseLeave:isStacked?undefined:handleMouseLeave,children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:isStacked?isCompactMobile?\"2px\":\"8px\":\"50%\",top:isStacked?\"16px\":\"50%\",transform:isStacked?\"none\":\"translate(-50%, -50%)\",width:isVisible||isCurrent?isStacked?\"28px\":\"32px\":isStacked?\"20px\":\"22px\",height:isVisible||isCurrent?isStacked?\"28px\":\"32px\":isStacked?\"20px\":\"22px\",borderRadius:\"50%\",backgroundColor:isVisible||isCurrent?activeDotColor:dotColor,border:`4px solid ${backgroundColor}`,boxShadow:isVisible||isCurrent?`0 0 0 3px ${lineColor}, 0 0 30px ${activeDotColor}80, 0 0 60px ${activeDotColor}40`:`0 0 0 3px ${lineColor}`,transition:\"all 0.6s cubic-bezier(0.4, 0, 0.2, 1)\",animation:isVisible||isCurrent?\"pulse 2s ease-in-out infinite\":\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{width:isStacked?\"100%\":\"calc(50% - 36px)\",display:\"flex\",flexDirection:\"column\",gap:isStacked?\"14px\":\"8px\",padding:isStacked?0:alignLeft?\"0 26px 0 0\":\"0 0 0 26px\",textAlign:isStacked?\"left\":alignLeft?\"right\":\"left\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...dateFont,color:isVisible||isCurrent?activeTextColor:textColor,transition:\"color 0.6s cubic-bezier(0.4, 0, 0.2, 1)\",textShadow:isVisible||isCurrent?`0 0 10px ${activeDotColor}40`:\"none\",display:\"inline-flex\",justifyContent:isStacked?\"flex-start\":alignLeft?\"flex-end\":\"flex-start\",marginTop:isStacked?\"0\":0},children:!isStacked?/*#__PURE__*/_jsx(\"span\",{style:{background:cardBackground,border:`1px solid ${lineColor}`,padding:\"8px 14px\",borderRadius:999,boxShadow:isHovered?`0 10px 25px ${activeDotColor}12`:\"none\",backdropFilter:\"blur(6px)\"},children:event.date}):event.date}),/*#__PURE__*/_jsx(\"div\",{style:{...titleFont,color:isVisible||isCurrent?activeTextColor:textColor,transition:\"color 0.6s cubic-bezier(0.4, 0, 0.2, 1)\",textShadow:isVisible||isCurrent?`0 0 10px ${activeDotColor}30`:\"none\",whiteSpace:\"normal\",overflowWrap:\"anywhere\",lineHeight:titleFont?.lineHeight??\"1.2em\",marginTop:isStacked?0:14},children:event.title}),/*#__PURE__*/_jsx(\"div\",{style:{...descriptionFont,color:textColor,opacity:isVisible?.82:.55,maxHeight:\"none\",overflow:\"visible\",transition:\"opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1)\"},children:event.description})]})]},index);})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n                    @keyframes pulse {\n                        0%, 100% { opacity: 1; filter: drop-shadow(0 0 0px rgba(0,0,0,0)); }\n                        50% { opacity: 0.8; filter: drop-shadow(0 0 10px ${activeDotColor}66); }\n                    }\n                    @keyframes breathe {\n                        0%, 100% { opacity: 0.3; }\n                        50% { opacity: 0.6; }\n                    }\n                    @keyframes fadeUp {\n                        from { opacity: 0; transform: translateY(12px); }\n                        to { opacity: 1; transform: translateY(0); }\n                    }\n                    @keyframes fadeDown {\n                        from { opacity: 0; transform: translateY(-12px); }\n                        to { opacity: 1; transform: translateY(0); }\n                    }\n                `})]});}addPropertyControls(SimpleTimeline,{layoutMode:{type:ControlType.Enum,title:\"Layout\",options:[\"auto\",\"mobile\",\"desktop\"],optionTitles:[\"Auto\",\"Mobile Only\",\"Desktop Only\"],defaultValue:\"auto\",displaySegmentedControl:true},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},lineColor:{type:ControlType.Color,title:\"Line Color\",defaultValue:\"#EEEEEE\"},dotColor:{type:ControlType.Color,title:\"Dot Color\",defaultValue:\"#CCCCCC\"},activeDotColor:{type:ControlType.Color,title:\"Active Dot\",defaultValue:\"#000000\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},activeTextColor:{type:ControlType.Color,title:\"Active Text\",defaultValue:\"#000000\"},cardBackground:{type:ControlType.Color,title:\"Card Background\",defaultValue:\"#FFFFFF\"},dateFont:{type:ControlType.Font,title:\"Date Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"20px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"22px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},descriptionFont:{type:ControlType.Font,title:\"Description Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"16px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},events:{type:ControlType.Array,title:\"Events\",control:{type:ControlType.Object,controls:{date:{type:ControlType.String,title:\"Date\",defaultValue:\"Date\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Title\"},description:{type:ControlType.String,title:\"Description\",defaultValue:\"Description\"}}},maxCount:8,defaultValue:[{date:\"Date 1\",title:\"Title 1\",description:\"Description 1\"},{date:\"Date 2\",title:\"Title 2\",description:\"Description 2\"},{date:\"Date 3\",title:\"Title 3\",description:\"Description 3\"},{date:\"Date 4\",title:\"Title 4\",description:\"Description 4\"},{date:\"Date 5\",title:\"Title 5\",description:\"Description 5\"}]},breakpoints:{type:ControlType.Object,title:\"Breakpoints\",icon:\"object\",controls:{mobile:{type:ControlType.Number,title:\"Mobile\",defaultValue:350,min:240,max:1024,step:1,unit:\"px\",displayStepper:true},tablet:{type:ControlType.Number,title:\"Tablet\",defaultValue:1024,min:480,max:1920,step:1,unit:\"px\",displayStepper:true}}},mobileBreakpoint:{type:ControlType.Number,title:\"Mobile Breakpoint\",defaultValue:350,min:240,max:1024,step:1,unit:\"px\",displayStepper:true,hidden:({breakpoints})=>Boolean(breakpoints)},tabletBreakpoint:{type:ControlType.Number,title:\"Tablet Breakpoint\",defaultValue:1024,min:768,max:1920,step:1,unit:\"px\",displayStepper:true,hidden:({breakpoints})=>Boolean(breakpoints)}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SimpleTimeline\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"600\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"1200\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SofiaCryptoTimeline.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useMotionValue,useTransform}from\"framer-motion\";// Instructions: Make an element of a text block, I want the text to be in 2 colours and animate to the primary colour as I scroll\n/**\n * Two Color Scroll Text\n *\n * @framerIntrinsicWidth 520\n * @framerIntrinsicHeight 60\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function TwoColorScrollText(props){const{prefix,highlight,suffix,primaryColor,secondaryColor,font,align,animateRange,style}=props;const isStatic=useIsStaticRenderer();const rootRef=React.useRef(null);const textRef=React.useRef(null);const progress=useMotionValue(0);const[lineCount,setLineCount]=React.useState(1);const wipeClip=useTransform(progress,v=>{const steps=Math.max(1,Math.round(lineCount));const snapped=steps<=1?v:Math.floor(Math.max(0,Math.min(1,v))*steps)/steps;const bottom=(1-snapped)*100;return`inset(0 0 ${bottom}% 0)`;});const isFullWidth=style?.width===\"100%\";React.useEffect(()=>{if(isStatic)return;if(typeof window===\"undefined\")return;const measureLines=()=>{const el=textRef.current;if(!el)return;const rect=el.getBoundingClientRect();const cs=window.getComputedStyle(el);const fontSize=parseFloat(cs.fontSize||\"0\")||0;const lhRaw=cs.lineHeight;const lineHeight=lhRaw===\"normal\"?fontSize*1.2:parseFloat(lhRaw||\"0\");const safeLineHeight=Math.max(1,lineHeight||fontSize||1);const count=Math.max(1,Math.round(rect.height/safeLineHeight));React.startTransition(()=>setLineCount(count));};measureLines();window.addEventListener(\"resize\",measureLines,{passive:true});return()=>window.removeEventListener(\"resize\",measureLines);},[isStatic,prefix,highlight,suffix,font,style?.width]);React.useEffect(()=>{if(isStatic)return;if(typeof window===\"undefined\")return;const clamp01=v=>Math.max(0,Math.min(1,v));const start=Math.max(0,Math.min(1,animateRange?.start??.2));const end=Math.max(0,Math.min(1,animateRange?.end??.8));const denom=Math.max(1e-4,end-start);let raf=0;const measure=()=>{raf=0;const el=rootRef.current;if(!el)return;const rect=el.getBoundingClientRect();const vh=window.innerHeight||0;// Raw progress: 0 when element just enters from bottom, 1 when it has fully passed above viewport\nconst raw=vh<=0?0:(vh-rect.top)/(vh+rect.height);const normalized=clamp01((raw-start)/denom);progress.set(normalized);};const onScrollOrResize=()=>{if(raf)return;raf=window.requestAnimationFrame(measure);};measure();window.addEventListener(\"scroll\",onScrollOrResize,{passive:true});window.addEventListener(\"resize\",onScrollOrResize,{passive:true});return()=>{if(raf)window.cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",onScrollOrResize);window.removeEventListener(\"resize\",onScrollOrResize);};},[animateRange,isStatic,progress]);const fullText=`${prefix}${highlight}${suffix}`;return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{position:\"relative\",width:\"100%\",...isFullWidth?null:{minWidth:\"max-content\"},margin:0,padding:0,textAlign:align,...style},children:/*#__PURE__*/_jsxs(\"span\",{ref:textRef,style:{position:\"relative\",display:\"inline-block\",width:\"fit-content\",maxWidth:\"100%\",whiteSpace:\"pre-wrap\",wordBreak:\"break-word\",...font,color:secondaryColor},children:[fullText,/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,color:primaryColor,clipPath:isStatic?\"inset(0 0 100% 0)\":wipeClip,WebkitClipPath:isStatic?\"inset(0 0 100% 0)\":wipeClip,pointerEvents:\"none\"},children:fullText})]})});}addPropertyControls(TwoColorScrollText,{prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"Build better \"},highlight:{type:ControlType.String,title:\"Highlight\",defaultValue:\"experiences\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\" with Framer.\"},primaryColor:{type:ControlType.Color,title:\"Primary\",defaultValue:\"#000000\"},secondaryColor:{type:ControlType.Color,title:\"Secondary\",defaultValue:\"#8855FF\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.03em\",lineHeight:\"1.1em\"}},align:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},animateRange:{type:ControlType.Object,title:\"Scroll Range\",icon:\"interaction\",controls:{start:{type:ControlType.Number,title:\"Start\",defaultValue:.2,min:0,max:1,step:.01},end:{type:ControlType.Number,title:\"End\",defaultValue:.8,min:0,max:1,step:.01}},defaultValue:{start:.2,end:.8}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TwoColorScrollText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"520\",\"framerIntrinsicHeight\":\"60\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TwoColorScrollText.map"],"mappings":"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"}