{"version":3,"file":"CMSTextMerger.CCdSSst5.mjs","names":["useRef","__esmMin","de","c","init_jsx_runtime","init_npm_react_18_3_1","ce","motion","useAnimation","useInView","init_framer_motion_DhsWWWsN","init_framer_DcxuU94H","RenderTarget","addPropertyControls","ControlType","CMSTextMerger","containerRef","isCanvasMode","isFramerCanvas","finalText","transform","text","word","props","segment","words","getTextShadow","getTextOutline","getFlexJustification","textAlign","renderText","elements","index","AnimatedWord","DynamicElement","init_CMSTextMerger","wordRef","isInView","controls","variants","slideVariants","animationType","slideDirection","timer","enableScrollTrigger","staggerDelay","textOutline","typography","textColor"],"sources":["https:/framerusercontent.com/modules/z5rbdywODIt95qQrUlPh/6m0bUNpLIb88dkW4oNh6/CMSTextMerger.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useAnimation,useInView}from\"framer-motion\";// Proper Canvas detection using Framer's RenderTarget API\nconst isFramerCanvas=()=>{const renderContext=RenderTarget.current();const isCanvasMode=renderContext===RenderTarget.canvas;return isCanvasMode;};// Optimized AnimatedWord component with proper font styling\nconst AnimatedWord=({word,index,typography,textColor,animationType,slideDirection,staggerDelay,enableScrollTrigger,isCanvasMode,textShadow,textOutline})=>{const wordRef=useRef(null);const isInView=useInView(wordRef,{once:true,margin:\"-10%\"});const controls=useAnimation();// Animation variants optimized for smooth performance\nconst getVariants=()=>{const slideVariants={left:{x:-8,opacity:0},right:{x:8,opacity:0},top:{y:-6,opacity:0},bottom:{y:6,opacity:0}};switch(animationType){case\"fadeInWords\":return{hidden:{opacity:0,y:2},visible:{opacity:1,y:0}};case\"slideIn\":return{hidden:slideVariants[slideDirection],visible:{x:0,y:0,opacity:1}};case\"stagger\":return{hidden:{opacity:0,scale:.99,y:1},visible:{opacity:1,scale:1,y:0}};default:return{hidden:{opacity:1},visible:{opacity:1}};}};const variants=getVariants();// Animation trigger logic - only animate when NOT in canvas mode\nuseEffect(()=>{if(!isCanvasMode){const shouldAnimate=enableScrollTrigger?isInView:true;if(shouldAnimate){const timer=setTimeout(()=>{controls.start(\"visible\");},100+index*10);return()=>clearTimeout(timer);}}},[isInView,enableScrollTrigger,controls,isCanvasMode,index]);return /*#__PURE__*/_jsx(motion.span,{ref:wordRef,initial:isCanvasMode?\"visible\":\"hidden\",animate:isCanvasMode?\"visible\":controls,variants:variants,transition:{duration:.5,delay:animationType===\"stagger\"?index*staggerDelay:0,ease:\"easeOut\"},style:{...textOutline,textShadow:textShadow,...typography,fontWeight:typography?.fontWeight||\"normal\",color:textColor,display:\"inline-block\",maxWidth:\"fit-content\"},children:word});};/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */// Main CMS Text Merger component with smart word spacing\nexport default function CMSTextMerger(props){const containerRef=useRef(null);const isInView=useInView(containerRef,{once:true,margin:\"-10%\"});// Use proper Framer RenderTarget detection for canvas vs preview mode\nconst isCanvasMode=isFramerCanvas();// Process and filter all 20 text segments\nconst textSegments=[props.segment1,props.segment2,props.segment3,props.segment4,props.segment5,props.segment6,props.segment7,props.segment8,props.segment9,props.segment10,props.segment11,props.segment12,props.segment13,props.segment14,props.segment15,props.segment16,props.segment17,props.segment18,props.segment19,props.segment20];// Filter out empty segments and trim whitespace\nconst validSegments=textSegments.filter(segment=>segment&&segment.trim().length>0);// Combine segments using the specified separator\nlet assembledText=validSegments.join(props.separator);// Apply text transformation based on user selection\nconst transformText=(text,transform)=>{switch(transform){case\"lowercase\":return text.toLowerCase();case\"uppercase\":return text.toUpperCase();case\"capitalize\":return text.split(\" \").map(word=>word.charAt(0).toUpperCase()+word.slice(1).toLowerCase()).join(\" \");case\"sentence\":return text.length>0?text.charAt(0).toUpperCase()+text.slice(1).toLowerCase():text;default:return text;}};const finalText=transformText(assembledText,props.textTransform);const words=finalText.split(\" \").filter(word=>word.length>0);// Generate CSS text shadow string\nconst getTextShadow=()=>{if(!props.textShadow.enabled)return\"none\";return`${props.textShadow.offsetX}px ${props.textShadow.offsetY}px ${props.textShadow.blur}px ${props.textShadow.color}`;};// Generate CSS text outline/stroke properties\nconst getTextOutline=()=>{if(!props.textOutline.enabled)return{};return{WebkitTextStroke:`${props.textOutline.width}px ${props.textOutline.color}`};};// Convert text alignment to flex justification\nconst getFlexJustification=textAlign=>{switch(textAlign){case\"center\":return\"center\";case\"right\":return\"flex-end\";case\"justify\":return\"space-between\";default:return\"flex-start\";}};// Render text based on animation settings with smart word spacing\nconst renderText=()=>{// When animations are disabled, show as single continuous text with CSS word-spacing\nif(!props.enableAnimations){return /*#__PURE__*/_jsx(\"span\",{style:{...props.typography,fontWeight:props.typography?.fontWeight||\"normal\",color:props.textColor,...getTextOutline(),textShadow:getTextShadow(),// Apply word gap as CSS word-spacing for single sentence\nwordSpacing:`${props.wordGap}px`},children:finalText||\"Add text segments to build your content\"});}// When animations are enabled, render word by word with custom spacing\nconst elements=[];// In canvas mode, show static text with word spacing for editing\nif(isCanvasMode){words.forEach((word,index)=>{elements.push(/*#__PURE__*/_jsx(\"span\",{style:{...props.typography,fontWeight:props.typography?.fontWeight||\"normal\",color:props.textColor,...getTextOutline(),textShadow:getTextShadow()},children:word},`word-${index}`));// Add space with custom width (except after last word)\nif(index<words.length-1){elements.push(/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:`${props.wordGap}px`,textAlign:\"center\"},children:\" \"},`space-${index}`));}});return elements;}// In preview/export mode with animations, show animated words with custom spacing\nwords.forEach((word,index)=>{elements.push(/*#__PURE__*/_jsx(AnimatedWord,{word:word,index:index,typography:props.typography,textColor:props.textColor,animationType:props.animationType,slideDirection:props.slideDirection,staggerDelay:props.staggerDelay,enableScrollTrigger:props.enableScrollTrigger,isCanvasMode:isCanvasMode,textShadow:getTextShadow(),textOutline:getTextOutline()},`word-${index}`));// Add space with custom width (except after last word)\nif(index<words.length-1){elements.push(/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:`${props.wordGap}px`,textAlign:\"center\"},children:\" \"},`space-${index}`));}});return elements;};// Create the dynamic element based on elementType\nconst DynamicElement=motion[props.elementType];return /*#__PURE__*/_jsx(DynamicElement,{ref:containerRef,role:\"text\",\"aria-label\":`CMS Text content: ${finalText}`,\"aria-live\":\"polite\",tabIndex:0,style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:getFlexJustification(props.typography.textAlign),wordWrap:\"break-word\",overflow:\"visible\",position:\"relative\",// Reset all default margins and padding for HTML elements\nmargin:0,padding:0,border:\"none\",outline:\"none\",background:\"transparent\",fontWeight:\"inherit\",fontSize:\"inherit\",fontFamily:\"inherit\"},// Container animations only in preview mode\ninitial:!isCanvasMode&&props.enableScrollTrigger?{opacity:0}:{opacity:1},animate:!isCanvasMode&&props.enableScrollTrigger&&isInView?{opacity:1}:{opacity:1},transition:{duration:.3},children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",justifyContent:getFlexJustification(props.typography.textAlign),width:\"100%\",maxWidth:\"100%\",overflow:\"visible\",position:\"relative\",// Only add padding when animations are enabled for custom word spacing\npadding:props.enableAnimations?\"0 12px\":\"0\",margin:props.enableAnimations?\"0 -12px\":\"0\"},children:renderText()})});}// Set display name for the component\nCMSTextMerger.displayName=\"CMS Text Merger\";// Default props - Enhanced with proper typography defaults\nCMSTextMerger.defaultProps={elementType:\"h1\",typography:{fontFamily:\"Inter\",fontSize:44,fontWeight:400,lineHeight:1.4,letterSpacing:0,textAlign:\"center\"},textColor:\"#000000\",segment1:\"Dynamic\",segment2:\"CMS\",segment3:\"Text Component\",segment4:\"with\",segment5:\"smooth animations\",segment6:\"and\",segment7:\"flexible styling\",segment8:\"\",segment9:\"\",segment10:\"\",segment11:\"\",segment12:\"\",segment13:\"\",segment14:\"\",segment15:\"\",segment16:\"\",segment17:\"\",segment18:\"\",segment19:\"\",segment20:\"\",textTransform:\"none\",separator:\" \",wordGap:8,enableAnimations:false,animationType:\"fadeInWords\",slideDirection:\"left\",staggerDelay:.1,enableScrollTrigger:false,textShadow:{enabled:false,color:\"#000000\",offsetX:2,offsetY:2,blur:4},textOutline:{enabled:false,color:\"#000000\",width:1}};// Property controls configuration with updated word gap description\naddPropertyControls(CMSTextMerger,{// === CONTENT SECTION ===\nelementType:{type:ControlType.Enum,title:\"HTML Element\",description:\"Choose the semantic HTML element type for SEO\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\",\"div\"],optionTitles:[\"Heading 1\",\"Heading 2\",\"Heading 3\",\"Heading 4\",\"Heading 5\",\"Heading 6\",\"Paragraph\",\"Span\",\"Div\"],defaultValue:\"h1\"},typography:{type:ControlType.Font,controls:\"extended\",title:\"Typography\",defaultFontType:\"sans-serif\",description:\"Configure font family, size, weight, and alignment\",defaultValue:{fontFamily:\"Inter\",fontSize:44,letterSpacing:0,lineHeight:1.4,fontWeight:400,textAlign:\"center\"}},textColor:{type:ControlType.Color,title:\"Text Color\",description:\"Choose the color of your text\",defaultValue:\"#000000\"},textTransform:{type:ControlType.Enum,title:\"Text Transform\",description:\"Apply text case transformation to the combined result\",options:[\"none\",\"lowercase\",\"uppercase\",\"capitalize\",\"sentence\"],optionTitles:[\"None\",\"lowercase\",\"UPPERCASE\",\"Capitalize Words\",\"Sentence case\"],defaultValue:\"none\"},wordGap:{type:ControlType.Number,title:\"Word Gap\",description:\"Word spacing in pixels.\",defaultValue:8,min:0,max:50,step:1,unit:\"px\",displayStepper:true},enableAnimations:{type:ControlType.Boolean,title:\"Enable Animations\",description:\"Turn on text reveal animations\",defaultValue:false},animationType:{type:ControlType.Enum,title:\"Animation Type\",description:\"Choose the text reveal animation style\",options:[\"fadeInWords\",\"slideIn\",\"stagger\"],optionTitles:[\"Fade In Words\",\"Slide In\",\"Stagger Animation\"],defaultValue:\"fadeInWords\",hidden:props=>!props.enableAnimations},slideDirection:{type:ControlType.Enum,title:\"Slide Direction\",description:\"Direction for slide-in animation\",options:[\"left\",\"right\",\"top\",\"bottom\"],optionTitles:[\"From Left\",\"From Right\",\"From Top\",\"From Bottom\"],defaultValue:\"left\",hidden:props=>!props.enableAnimations||props.animationType!==\"slideIn\"},staggerDelay:{type:ControlType.Number,title:\"Stagger Delay\",description:\"Delay between each word animation (seconds)\",defaultValue:.1,min:.05,max:1,step:.05,hidden:props=>!props.enableAnimations||props.animationType!==\"stagger\"},enableScrollTrigger:{type:ControlType.Boolean,title:\"Scroll Trigger\",description:\"Animate when text comes into view\",defaultValue:false,hidden:props=>!props.enableAnimations},textShadow:{icon:\"effect\",type:ControlType.Object,title:\"Text Shadow\",description:\"Configure text shadow effects\",controls:{enabled:{type:ControlType.Boolean,title:\"Enable Shadow\",defaultValue:false},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\",hidden:props=>!props.enabled},offsetX:{type:ControlType.Number,title:\"Offset X\",defaultValue:2,min:-20,max:20,step:1,hidden:props=>!props.enabled},offsetY:{type:ControlType.Number,title:\"Offset Y\",defaultValue:2,min:-20,max:20,step:1,hidden:props=>!props.enabled},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:4,min:0,max:20,step:1,hidden:props=>!props.enabled}},defaultValue:{enabled:false,color:\"#000000\",offsetX:2,offsetY:2,blur:4}},textOutline:{icon:\"effect\",type:ControlType.Object,title:\"Text Outline\",description:\"Configure text outline/stroke effects\",controls:{enabled:{type:ControlType.Boolean,title:\"Enable Outline\",defaultValue:false},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\",hidden:props=>!props.enabled},width:{type:ControlType.Number,title:\"Width\",defaultValue:1,min:.5,max:10,step:.5,hidden:props=>!props.enabled}},defaultValue:{enabled:false,color:\"#000000\",width:1}},// Text segments - 20 configurable segments for maximum CMS flexibility\nsegment1:{type:ControlType.String,title:\"Segment 1\",defaultValue:\"Dynamic\",placeholder:\"first text\"},segment2:{type:ControlType.String,title:\"Segment 2\",defaultValue:\"CMS\",placeholder:\"second text\"},segment3:{type:ControlType.String,title:\"Segment 3\",defaultValue:\"Text Component\",placeholder:\"third text\"},segment4:{type:ControlType.String,title:\"Segment 4\",defaultValue:\"with\",placeholder:\"fourth text\"},segment5:{type:ControlType.String,title:\"Segment 5\",defaultValue:\"smooth animations\",placeholder:\"fifth text\"},segment6:{type:ControlType.String,title:\"Segment 6\",defaultValue:\"and\",placeholder:\"sixth text\"},segment7:{type:ControlType.String,title:\"Segment 7\",defaultValue:\"flexible styling\",placeholder:\"seventh text\"},segment8:{type:ControlType.String,title:\"Segment 8\",placeholder:\"eighth text\"},segment9:{type:ControlType.String,title:\"Segment 9\",placeholder:\"ninth text\"},segment10:{type:ControlType.String,title:\"Segment 10\",placeholder:\"tenth text\"},segment11:{type:ControlType.String,title:\"Segment 11\",placeholder:\"eleventh text\"},segment12:{type:ControlType.String,title:\"Segment 12\",placeholder:\"twelfth text\"},segment13:{type:ControlType.String,title:\"Segment 13\",placeholder:\"thirteenth text\"},segment14:{type:ControlType.String,title:\"Segment 14\",placeholder:\"fourteenth text\"},segment15:{type:ControlType.String,title:\"Segment 15\",placeholder:\"fifteenth text\"},segment16:{type:ControlType.String,title:\"Segment 16\",placeholder:\"sixteenth text\"},segment17:{type:ControlType.String,title:\"Segment 17\",placeholder:\"seventeenth text\"},segment18:{type:ControlType.String,title:\"Segment 18\",placeholder:\"eighteenth text\"},segment19:{type:ControlType.String,title:\"Segment 19\",placeholder:\"nineteenth text\"},segment20:{type:ControlType.String,title:\"Segment 20\",placeholder:\"twentieth text\"},separator:{type:ControlType.String,title:\"Separator\",description:\"Character(s) used to join text segments. \\n\\nMade with ❤️ by [Nitso](https://framer.link/MBYIDPK)\",defaultValue:\" \",placeholder:\"Space, comma, etc.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSTextMerger\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSTextMerger.map"],"mappings":"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"}