{"version":3,"file":"TextWave_Prod.Ba4arlID.mjs","names":["React.useContext","React.useMemo","React.Fragment","useRef","React.useId","useState","useMemo","useMemo","useRef","wordCount","lines","_Fragment","savedIndex","animation"],"sources":["https:/framerusercontent.com/modules/qWEvLSxz3MnyVzFVivoK/w4wmyTqEbE6y1qknIWlz/OAUBu_Muy.js","https:/framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js","https:/framerusercontent.com/modules/3IRcdSKMsgRyQ9gSaApX/ogNs8oLk22LSaz9iMnOu/TextWave_Prod.js"],"sourcesContent":["// Generated by Framer (98b71dc)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={verKAI42g:{hover:true}};const cycleOrder=[\"OAk0q8Kak\",\"verKAI42g\",\"PaP8b87Xc\",\"Gsil35obV\"];const serializationHash=\"framer-aSiR4\";const variantClassNames={Gsil35obV:\"framer-v-fy4f79\",OAk0q8Kak:\"framer-v-18u79dv\",PaP8b87Xc:\"framer-v-1b9bs7y\",verKAI42g:\"framer-v-zrx29\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Mobile Pressed\":\"Gsil35obV\",\"Syllabus Tabs\":\"OAk0q8Kak\",Default:\"verKAI42g\",Mobile:\"PaP8b87Xc\"};const getProps=({click,height,id,label,width,...props})=>{return{...props,N5sO42dqY:click??props.N5sO42dqY,oLZ6Crept:label??props.oLZ6Crept??\"Selected\",variant:humanReadableVariantMap[props.variant]??props.variant??\"OAk0q8Kak\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,oLZ6Crept,N5sO42dqY,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"OAk0q8Kak\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap5jseoi=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(N5sO42dqY){const res=await N5sO42dqY(...args);if(res===false)return false;}});const onTap10yz04g=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(N5sO42dqY){const res=await N5sO42dqY(...args);if(res===false)return false;}setVariant(\"Gsil35obV\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-18u79dv\",className,classNames),\"data-framer-name\":\"Syllabus Tabs\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"OAk0q8Kak\",onTap:onTap5jseoi,ref:refBinding,style:{backgroundColor:\"rgba(255, 255, 255, 0.05)\",borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12,boxShadow:\"none\",...style},variants:{\"verKAI42g-hover\":{boxShadow:\"none\"},Gsil35obV:{backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:2,borderBottomRightRadius:2,borderTopLeftRadius:2,borderTopRightRadius:2,boxShadow:\"0.24087492070975713px 0.48174984141951427px 0.7540577754946441px -1.25px rgba(26, 26, 26, 0.36), 0.9154133212973828px 1.8308266425947657px 2.865696979501725px -2.5px rgba(26, 26, 26, 0.32), 4px 8px 12.521980673998819px -3.75px rgba(26, 26, 26, 0.13)\"},PaP8b87Xc:{backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:2,borderBottomRightRadius:2,borderTopLeftRadius:2,borderTopRightRadius:2},verKAI42g:{backgroundColor:\"rgba(255, 255, 255, 0)\"}},...addPropertyOverrides({\"verKAI42g-hover\":{\"data-framer-name\":undefined},Gsil35obV:{\"data-framer-name\":\"Mobile Pressed\"},PaP8b87Xc:{\"data-framer-name\":\"Mobile\",onTap:onTap10yz04g},verKAI42g:{\"data-framer-name\":\"Default\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-bc5q46\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"JzO8GU4au\",style:{backgroundColor:\"rgb(94, 94, 94)\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8},variants:{\"verKAI42g-hover\":{backgroundColor:\"rgb(61, 61, 61)\"},Gsil35obV:{borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4},PaP8b87Xc:{backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4},verKAI42g:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Selected\"})}),className:\"framer-1jet0lz\",\"data-framer-name\":\"UX\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"ubSXKBS1d\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-paragraph-spacing\":\"0px\"},text:oLZ6Crept,variants:{PaP8b87Xc:{\"--extracted-r6o4lv\":\"rgb(122, 122, 122)\"},verKAI42g:{\"--extracted-r6o4lv\":\"rgb(122, 122, 122)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({Gsil35obV:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Selected\"})})},PaP8b87Xc:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(122, 122, 122))\"},children:\"Selected\"})})},verKAI42g:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(122, 122, 122))\"},children:\"Selected\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-aSiR4.framer-1ep8yu9, .framer-aSiR4 .framer-1ep8yu9 { display: block; }\",\".framer-aSiR4.framer-18u79dv { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-aSiR4 .framer-bc5q46 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: visible; padding: 12px 18px 12px 18px; position: relative; width: min-content; }\",\".framer-aSiR4 .framer-1jet0lz { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-aSiR4.framer-v-1b9bs7y .framer-bc5q46, .framer-aSiR4.framer-v-fy4f79 .framer-bc5q46 { padding: 6px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 42\n * @framerIntrinsicWidth 94\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"verKAI42g\":{\"layout\":[\"auto\",\"auto\"]},\"PaP8b87Xc\":{\"layout\":[\"auto\",\"auto\"]},\"Gsil35obV\":{\"layout\":[\"auto\",\"auto\"]},\"QWR5o9rN0\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"oLZ6Crept\":\"label\",\"N5sO42dqY\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerOAUBu_Muy=withCSS(Component,css,\"framer-aSiR4\");export default FramerOAUBu_Muy;FramerOAUBu_Muy.displayName=\"Portion Tabs\";FramerOAUBu_Muy.defaultProps={height:42,width:94};addPropertyControls(FramerOAUBu_Muy,{variant:{options:[\"OAk0q8Kak\",\"verKAI42g\",\"PaP8b87Xc\",\"Gsil35obV\"],optionTitles:[\"Syllabus Tabs\",\"Default\",\"Mobile\",\"Mobile Pressed\"],title:\"Variant\",type:ControlType.Enum},oLZ6Crept:{defaultValue:\"Selected\",displayTextArea:false,title:\"Label\",type:ControlType.String},N5sO42dqY:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerOAUBu_Muy,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerOAUBu_Muy\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"94\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"42\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"verKAI42g\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"PaP8b87Xc\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Gsil35obV\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"QWR5o9rN0\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"oLZ6Crept\\\":\\\"label\\\",\\\"N5sO42dqY\\\":\\\"click\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OAUBu_Muy.map","import{RenderTarget}from\"framer\";import{useEffect,useState,useMemo}from\"react\";const cssVariableRegex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:[^)(]+|\\((?:[^)(]+|\\([^)(]*\\))*\\))*))?\\s*\\)/;export function useColors(...colors){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const darkMode=useDarkMode();const[styleValues,setStyleValues]=useState(()=>extractStyleValues(colors.map(extractCSSVariableName)));useEffect(()=>{if(!isCanvas)return;const div=document.body.querySelector(\"main > div\");if(!div)return;const observer=new MutationObserver(()=>{setStyleValues(extractStyleValues(colors.map(extractCSSVariableName)));});observer.observe(div,{attributes:true,attributeFilter:[\"style\"]});return()=>observer.disconnect();},colors);const variableNames=useMemo(()=>colors.map(extractCSSVariableName),[colors]);if(isOptimizing){return colors.map(color=>extractDefaultValue(color));}let values=[];for(let i=0;i<colors.length;i++){const color=colors[i];// Return original value if not a string\nif(typeof color!==\"string\"){values.push(color);continue;}const variableName=variableNames[i];const colorValues=styleValues[variableName];if(variableName&&colorValues){values.push(darkMode?colorValues.dark||colorValues.light||color:colorValues.light||color);}else{values.push(color);}}return values;}////////////////////\nfunction extractStyleValues(variableNames){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const result={};let lightVars={};let darkVars={};if(isCanvas&&typeof document!==\"undefined\"){const div=document.body.querySelector(\"main > div\");if(div){const style=div.getAttribute(\"style\");if(style){const vars=parseVariables(style);lightVars=vars;darkVars=vars;}}}else{const{light,dark}=extractColorStyles();lightVars=parseVariables(light);darkVars=parseVariables(dark);}// Include all variables\nconst allVarNames=new Set([...Object.keys(lightVars),...Object.keys(darkVars)]);allVarNames.forEach(varName=>{result[varName]={light:lightVars[varName]||\"\",dark:darkVars[varName]||\"\"};});return result;}function extractColorStyles(){let lightSection=\"\";let darkSection=\"\";if(typeof document!==\"undefined\"){const styles=document.head.querySelectorAll(\"style[data-framer-css], style[data-framer-css-ssr], style[data-framer-css-ssr-minified]\");for(const style of styles){const rules=style.sheet?.cssRules;if(!rules)continue;const styleRules=[];for(const rule of rules){if(rule instanceof CSSStyleRule){styleRules.push([rule,false]);}else if(rule instanceof CSSMediaRule){if(rule.conditionText===\"(prefers-color-scheme: dark)\"){for(const subrule of rule.cssRules){if(subrule instanceof CSSStyleRule){styleRules.push([subrule,true]);}}}}}for(const[rule,isDarkMedia]of styleRules){const css=rule.cssText;const hasVars=css.includes(\"--token-\");if(!hasVars)continue;const isDark=isDarkMedia?rule.selectorText===\"body\":rule.selectorText==='body[data-framer-theme=\"dark\"]';const isLight=!isDarkMedia&&rule.selectorText===\"body\";if(!isDark&&!isLight)continue;if(isDark){if(!darkSection){darkSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}else{if(!lightSection){lightSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}if(darkSection&&lightSection)break;}if(darkSection&&lightSection)break;}}return{light:lightSection,dark:darkSection};}function useDarkMode(){const isPreview=typeof window!==\"undefined\"&&window.location.origin.endsWith(\"framercanvas.com\");const[isDarkMode,setIsDarkMode]=useState(()=>{if(typeof window===\"undefined\"){return false;}else if(isPreview&&typeof document!==\"undefined\"){return document.body.getAttribute(\"data-framer-theme\")===\"dark\";}else{return window.matchMedia(\"(prefers-color-scheme: dark)\").matches;}});useEffect(()=>{if(isPreview){const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{if(mutation.attributeName===\"data-framer-theme\"){const theme=document.body.getAttribute(\"data-framer-theme\");setIsDarkMode(theme===\"dark\");}});});observer.observe(document.body,{attributes:true,attributeFilter:[\"data-framer-theme\"]});return()=>observer.disconnect();}else{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleChange=e=>{setIsDarkMode(e.matches);};// Update initial value\nif(mediaQuery.matches!==isDarkMode){setIsDarkMode(mediaQuery.matches);}mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);}},[isPreview]);return isDarkMode;}function extractCSSVariableName(cssString){if(!cssString||!cssString.startsWith(\"var(\")){return\"\";}const match=cssVariableRegex.exec(cssString);if(match){const variableName=match[1];return variableName||\"\";}return\"\";}function parseVariables(section){const vars={};if(!section)return vars;const declarations=section.split(\";\").filter(Boolean);declarations.forEach(declaration=>{const[name,value]=declaration.split(\":\").map(s=>s.trim());if(name&&value){vars[name]=value;}});return vars;}function extractDefaultValue(cssVar){// Check if the string starts with \"var(\"\nif(!cssVar||!cssVar.startsWith(\"var(\")){return cssVar// Return the original value if it doesn't start with \"var(\"\n;}// Remove \"var(\" from the beginning and \")\" from the end\nconst content=cssVar.slice(4,-1);// Split the content by comma\nconst parts=content.split(\",\");// If there's more than one part, the second part is the default value\nif(parts.length>1){// Trim any whitespace from the default value\nreturn parts.slice(1).join(\",\").trim();}// If there's no comma, return an empty string or null\nreturn\"\";}\nexport const __FramerMetadata__ = {\"exports\":{\"useColors\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useColors.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,Color}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{motion,animate,easeInOut,useInView}from\"framer-motion\";import{useColors}from\"https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function TextWave(props){const{text,tag,per,origin,colors,font,userSelect,waveWidth,waveScale,speed,resize,animation,glow,direction}=props;const{loop,trigger,replay,delay}=animation;const id=useMemo(generateRandomString,[]);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const elementsRef=useRef([]);const spanWidthsRef=useRef([]);const[defaultColor,waveInColor,waveOutColor]=useColors(colors.defaultColor,colors.waveInColor,colors.waveOutColor);const waveInColorObject=useMemo(()=>Color(waveInColor),[waveInColor]);const glowColorObject=useMemo(()=>glow?Color(glow.color):null,[glow?.color]);const textColorObjectRef=useRef(Color(delay===0?waveOutColor:defaultColor));const interpolateColorRef=useRef(Color.interpolate(waveInColorObject,Color(waveOutColor||defaultColor)));const isInView=useInView(ref,{once:loop||!replay,amount:\"some\"});const textAlign=font?.textAlign||\"center\";const MotionTag=motion[tag]||motion.span;const spanClassName=`${id}-span`;const waveRange=(waveWidth+1)/2;const progressRef=useRef(-waveRange-1);const[lines,wordCount]=useMemo(()=>{const textLines=text.split(\"\\n\");let wordCount=0;const lines=[];for(let i=0;i<textLines.length;i++){const line=textLines[i].split(/[ \\t]+/);lines.push(line);wordCount+=line.length;}return[lines,wordCount];},[text]);let index=0;const createLineChildren=(lineIndex,lineWords)=>{return lineWords.map((word,wordIndex)=>{if(per===\"character\"){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:`${id}-word-wrapper`,children:word.split(\"\").map((char,charIndex)=>{const savedIndex=index;index++;return /*#__PURE__*/_jsx(\"span\",{ref:el=>{if(el)elementsRef.current[savedIndex]=el;},className:spanClassName,children:char},`${lineIndex}-${wordIndex}-${charIndex}`);})},`${lineIndex}-${wordIndex}`),wordIndex<lineWords.length-1&&\" \"]});}const savedIndex=index;index++;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{ref:el=>{if(el)elementsRef.current[savedIndex]=el;},className:spanClassName,children:word},`${lineIndex}-${wordIndex}`),wordIndex<lineWords.length-1&&\" \"]});});};useEffect(()=>{let colorAnimation=null;let animation=null;let timeoutId=null;let animationFrame=null;const animateTextColor=animateIn=>{if(!waveOutColor||defaultColor===waveOutColor){return;}if(colorAnimation){colorAnimation.stop();}const interpolateTextColor=Color.interpolate(textColorObjectRef.current,Color(animateIn?waveOutColor:defaultColor));colorAnimation=animate(0,1,{type:\"spring\",bounce:0,duration:mapRange(speed,0,100,1.5,1),onUpdate:value=>{const colorObject=interpolateTextColor(value);textColorObjectRef.current=colorObject;interpolateColorRef.current=Color.interpolate(waveInColorObject,colorObject);if(ref.current){ref.current.style.color=colorObject.toValue();}}});};const runAnimation=()=>{animateTextColor(true);const segments=per===\"word\"?wordCount:text.length;const start=direction===\"right\"?-waveRange:segments+waveRange;const end=direction===\"right\"?segments+waveRange:-waveRange;animation=animate(start,end,{type:\"ease\",ease:\"linear\",duration:Math.exp(mapRange(speed,0,100,Math.log(.3),Math.log(.01)))*(segments+waveRange*2),onUpdate:value=>{progressRef.current=value;},onComplete:()=>{if(ref.current){ref.current.style.transform=\"\";}if(loop&&isInView){timeoutId=setTimeout(runAnimation,delay*1e3);}animateTextColor(false);}});};const updateText=()=>{let cumulativeOffset=0;let elementOffset=[];let prevYPosition=0;const elementLineMap=new Map;const elementScaleMap=new Map;const lineOffsets=[];let lineIndex=-1;for(let i=0;i<elementsRef.current.length;i++){const element=elementsRef.current[i];if(!element)continue;const offset=Math.abs(progressRef.current-i);const boundingClientRect=element.getBoundingClientRect();const yPosition=origin===\"center\"?boundingClientRect.y+boundingClientRect.height/2:boundingClientRect.y+boundingClientRect.height;if(Math.abs(yPosition-prevYPosition)>2){// New line has started\nlineIndex++;if(lineIndex>0){lineOffsets[lineIndex-1]=cumulativeOffset;}cumulativeOffset=0;}prevYPosition=yPosition;elementLineMap.set(element,lineIndex);if(offset>waveRange){element.style.color=\"\";element.style.margin=\"\";element.style.textShadow=\"\";elementOffset[i]=cumulativeOffset;}else{const offsetPercent=easeInOut(offset/waveRange);const scaleValue=mapRange(offsetPercent,0,1,waveScale,1);const halfOffset=resize?spanWidthsRef.current[i]*(scaleValue-1)/2:0;elementScaleMap.set(element,scaleValue);cumulativeOffset+=halfOffset;elementOffset[i]=cumulativeOffset;if(glow){element.style.textShadow=glow.blur>0?`0 0 ${glow.blur}px rgba(${glowColorObject.r}, ${glowColorObject.g}, ${glowColorObject.b}, ${glowColorObject.a*(1-offsetPercent)})`:\"\";}element.style.color=offsetPercent>=1?waveOutColor||defaultColor:offsetPercent<=0?waveInColor:interpolateColorRef.current?.(offsetPercent).toValue()||waveOutColor||defaultColor;cumulativeOffset+=halfOffset;}if(i===elementsRef.current.length-1){lineOffsets[lineIndex]=cumulativeOffset;}}for(let i=0;i<elementsRef.current.length;i++){const element=elementsRef.current[i];if(!element)continue;const scaleValue=elementScaleMap.get(element)||1;const scale=scaleValue!==1?`scale(${scaleValue})`:\"\";if(!resize){element.style.transform=scale;continue;}const offset=elementOffset[i];const lineIndex=elementLineMap.get(element)||0;const lineOffset=lineOffsets[lineIndex];let offsetValue=offset;switch(textAlign){case\"center\":offsetValue-=lineOffset/2;break;case\"right\":offsetValue-=lineOffset;break;}const translate=Math.abs(offsetValue)>.1?`translateX(${offsetValue}px)`:\"\";element.style.transform=translate&&scale?`${translate} ${scale}`:translate||scale;}animationFrame=requestAnimationFrame(updateText);};if(!isCanvas){animationFrame=requestAnimationFrame(updateText);const shouldAnimate=loop?isInView:trigger===\"appear\"||trigger===\"layerInView\"&&isInView;if(shouldAnimate){if(delay){timeoutId=setTimeout(runAnimation,delay*1e3);}else{runAnimation();}}}return()=>{animation?.cancel();colorAnimation?.stop();if(animationFrame){cancelAnimationFrame(animationFrame);}if(timeoutId){clearTimeout(timeoutId);}};},[isInView]);useEffect(()=>{if(!isCanvas){elementsRef.current.forEach((el,i)=>{if(el){spanWidthsRef.current[i]=el.getBoundingClientRect().width;}});}},[isCanvas,text,font]);return /*#__PURE__*/_jsxs(MotionTag,{ref:ref,style:{...props.style,transformStyle:\"preserve-3d\",whiteSpace:props.style?.width?undefined:\"nowrap\",userSelect:userSelect?\"auto\":\"none\",margin:0,textAlign,color:isCanvas?colors.defaultColor:textColorObjectRef.current?.toValue()||colors.defaultColor,...font},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n\t\t\t\t.${id}-line {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t}\n\t\t\t\t.${id}-word-wrapper {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\twhite-space: pre;\n\t\t\t\t}\n\t\t\t\t.${id}-span {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\ttransform-style: preserve-3d;\n\t\t\t\t\twhite-space: pre;\n\t\t\t\t\twill-change: transform, color, text-shadow;\n\t\t\t\t\ttransform-origin: ${origin===\"center\"?\"50% 50%\":\"50% 100%\"};\n\t\t\t\t}\n\t\t\t\t`}),lines.length===1?createLineChildren(0,lines[0]):lines.map((lineWords,lineIndex)=>/*#__PURE__*/_jsx(\"span\",{className:`${id}-line`,children:createLineChildren(lineIndex,lineWords)},lineIndex))]});}TextWave.displayName=\"Text Wave\";addPropertyControls(TextWave,{text:{type:ControlType.String,defaultValue:\"Learn Framer With Framer University\",placeholder:\"Text\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:32,lineHeight:1}},colors:{type:ControlType.Object,buttonTitle:\"Colors\",controls:{defaultColor:{type:ControlType.Color,defaultValue:\"#FFF\",title:\"Default\"},waveInColor:{type:ControlType.Color,defaultValue:\"#FFF\",title:\"Wave In\"},waveOutColor:{type:ControlType.Color,defaultValue:\"rgba(255, 255, 255, 0.5)\",optional:true,title:\"Wave Out\"}}},glow:{type:ControlType.Object,optional:true,icon:\"effect\",controls:{color:{type:ControlType.Color,defaultValue:\"#FFF\"},blur:{type:ControlType.Number,defaultValue:10,min:0,max:100,step:1}}},per:{type:ControlType.Enum,options:[\"character\",\"word\"],optionTitles:[\"Letter\",\"Word\"],displaySegmentedControl:true},waveWidth:{type:ControlType.Number,defaultValue:10,min:1,max:100,step:1,title:\"Wave Width\"},waveScale:{type:ControlType.Number,defaultValue:1.2,min:0,max:2,step:.01,title:\"Scale\"},origin:{type:ControlType.Enum,defaultValue:\"center\",options:[\"center\",\"bottom\"],optionTitles:[\"Center\",\"Bottom\"],// optionIcons: [\"align-middle\", \"align-bottom\"],\ndisplaySegmentedControl:true,hidden:props=>props.waveScale===1},resize:{type:ControlType.Boolean,defaultValue:true},direction:{type:ControlType.Enum,defaultValue:\"right\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],optionIcons:[\"direction-left\",\"direction-right\"],displaySegmentedControl:true},speed:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,unit:\"%\"},animation:{type:ControlType.Object,icon:\"effect\",controls:{loop:{type:ControlType.Boolean,defaultValue:false},trigger:{type:ControlType.Enum,defaultValue:\"layerInView\",options:[\"appear\",\"layerInView\"],optionTitles:[\"Appear\",\"Layer in View\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:props=>props.loop},replay:{type:ControlType.Boolean,defaultValue:true,hidden:props=>props.loop||props.trigger!==\"layerInView\"},delay:{type:ControlType.Number,defaultValue:0,min:0,step:.1}}},userSelect:{type:ControlType.Boolean,defaultValue:false},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"p\",displaySegmentedControl:true,options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"],description:\"More components at [Framer University](https://frameruni.link/cc).\"}});function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";function generateRandomString(){let result=\"\";for(let i=0;i<8;i++){const randomIndex=Math.floor(Math.random()*CHARACTERS.length);result+=CHARACTERS.charAt(randomIndex);}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextWave\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}