{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/K9XZikamzRg8diOTO0v6/WTFEtpHUbJ1zBoWfXvpa/BlurCycle_Prod.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";const MAX_SPEED=20;const defaultTransition={stiffness:100,damping:20,mass:1};/**\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function BlurCycle({text,speed,delay,font,userSelect,color,tag,loop,alignment}){const Tag=tag;const content=text.split(\", \").map(phrase=>phrase.replace(/\\s+/g,\" \").trim());const[iteration,setIteration]=useState(0);const[isFirstRender,setIsFirstRender]=useState(true);const speedFormatted=(MAX_SPEED-speed+1)/20*5;const delayFormattedMs=delay*1e3;const speedFormattedMs=speedFormatted*1e3;const MAX_BLUR=parseInt(font.fontSize)*.2||4.8;useEffect(()=>{const timeout=isFirstRender?speedFormattedMs/3+delayFormattedMs:speedFormattedMs+delayFormattedMs;const interval=setInterval(()=>{setIsFirstRender(false);if(iteration<content.length-1){setIteration(prev=>prev+1);}else if(loop){setIteration(0);}},timeout);return()=>clearInterval(interval);},[iteration,loop,isFirstRender]);return /*#__PURE__*/_jsxs(\"div\",{style:{userSelect:userSelect?\"auto\":\"none\",position:\"relative\",display:\"flex\",flexDirection:\"row\",overflow:\"visible\",width:\"calc(100% + 10px)\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\"},children:[/*#__PURE__*/_jsx(Tag,{\"aria-hidden\":true,style:{fontSize:\"24px\",...font,marginBlockStart:\"0px\",marginBlockEnd:\"0px\",pointerEvents:\"none\",opacity:0,whiteSpace:\"pre-wrap\",width:\"100%\",textAlign:alignment},children:content.reduce((longest,current)=>current.length>longest.length?current:longest)}),RenderTarget.current()===RenderTarget.canvas&&/*#__PURE__*/_jsx(Tag,{style:{fontSize:\"24px\",...font,color,marginBlockStart:\"0px\",marginBlockEnd:\"0px\",whiteSpace:\"pre-wrap\",position:\"absolute\",top:0,left:0,width:\"100%\",textAlign:alignment},children:content[0]}),RenderTarget.current()!==RenderTarget.canvas&&/*#__PURE__*/_jsx(_Fragment,{children:content.map((phrase,phraseIndex)=>{// Calculate the absolute index for each character up front\nlet charIndex=0;const segments=phrase.split(/(\\s+|\\b)/).map(segment=>({text:segment,chars:segment.split(\"\").map(char=>({char,originalIndex:charIndex++}))}));return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,overflow:\"visible\",width:\"100%\",textAlign:alignment},children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"sync\",children:iteration===phraseIndex&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",width:\"100%\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\",gap:0},children:segments.map((segment,segmentIndex)=>/*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\",flexWrap:\"nowrap\",whiteSpace:\"pre\"},children:segment.chars.map(({char,originalIndex})=>{const itemTransition={hidden:{opacity:0,filter:`blur(${MAX_BLUR}px)`,zIndex:1,transition:{...defaultTransition,duration:speedFormatted/2,delay:speedFormatted/2*.5}},show:{opacity:1,filter:\"blur(0px)\",zIndex:1,transition:{...defaultTransition,duration:speedFormatted/2,delay:speedFormatted/2*.5+originalIndex/(phrase.length-1)*(speedFormatted/3)}},exit:{opacity:0,filter:`blur(${MAX_BLUR/60}px)`,zIndex:0,transition:{...defaultTransition,duration:speedFormatted/2}}};return /*#__PURE__*/_jsx(motion.div,{variants:itemTransition,initial:isFirstRender?\"show\":\"hidden\",animate:\"show\",exit:\"exit\",style:{display:\"inline-block\"},children:/*#__PURE__*/_jsx(Tag,{style:{fontSize:\"24px\",...font,color,marginBlockStart:\"0px\",marginBlockEnd:\"0px\",opacity:1},children:char})},phrase+originalIndex);})},segmentIndex))})})},phraseIndex);})})]});}BlurCycle.displayName=\"Blur Cycle\";addPropertyControls(BlurCycle,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"to learn Framer, to build websites\",description:\"Divide phrases with a comma (,) if you want to display them separately.\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:MAX_SPEED/2,min:1,max:MAX_SPEED},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:1,min:0,max:10},font:{title:\"Font\",type:ControlType.Font,controls:\"extended\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#999\"},alignment:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Alignment\",defaultValue:\"left\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"]},userSelect:{title:\"User Select\",type:ControlType.Boolean,defaultValue:false},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"p\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"]},loop:{title:\"Loop\",type:ControlType.Boolean,defaultValue:true,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BlurCycle\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlurCycle_Prod.map"],
  "mappings": "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",
  "names": ["MAX_SPEED", "defaultTransition", "BlurCycle", "text", "speed", "delay", "font", "userSelect", "color", "tag", "loop", "alignment", "Tag", "content", "phrase", "iteration", "setIteration", "ye", "isFirstRender", "setIsFirstRender", "speedFormatted", "delayFormattedMs", "speedFormattedMs", "MAX_BLUR", "ue", "timeout", "interval", "prev", "u", "p", "longest", "current", "RenderTarget", "l", "phraseIndex", "charIndex", "segments", "segment", "char", "AnimatePresence", "segmentIndex", "originalIndex", "itemTransition", "motion", "addPropertyControls", "ControlType"]
}
