{"version":3,"file":"Text_Split.BfLFnX3w.mjs","names":["useRef","useMemo","Tag"],"sources":["https:/framerusercontent.com/modules/ielN2s3g4rxV7niYDE19/BK42Vk7LbFR4WY4H4ons/Text_Split.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion,useInView}from\"framer-motion\";import{useMemo,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * LINE MASK SPLIT COMPONENT\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function LineMaskSplit(props){const{text,font,trigger,viewPoint,replay,per,maskLines,stagger,animation,transition,color,tag,style}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const viewRef=useRef(null);// Viewport threshold logic\nconst amountValue=useMemo(()=>{if(viewPoint===\"start\")return .1;if(viewPoint===\"end\")return .8;return .5// Default for middle\n;},[viewPoint]);const isInView=useInView(viewRef,{amount:amountValue,once:!replay});const variants={hidden:{x:animation.offsetX,y:animation.offsetY,opacity:animation.opacity,scale:animation.scale,rotate:animation.rotate,filter:animation.blur>0?`blur(${animation.blur}px)`:\"none\"},visible:{x:0,y:0,opacity:1,scale:1,rotate:0,filter:\"none\"}};// Animation state check\nconst currentAnimationState=useMemo(()=>{if(isCanvas)return\"visible\";if(trigger===\"appear\")return\"visible\";return isInView?\"visible\":\"hidden\";},[isCanvas,trigger,isInView]);// Text splitting logic\nconst splitItems=useMemo(()=>{const cleanText=text||\"Type your text here\";if(per===\"characters\")return cleanText.split(\"\");if(per===\"words\")return cleanText.split(\" \");return cleanText.split(\"\\n\");},[text,per]);const Tag=tag;const containerStyle={...style,...font,color:color,margin:0,padding:0,display:\"block\",width:\"100%\",textAlign:style?.textAlign||\"left\",lineHeight:font?.lineHeight||\"1.2em\",wordBreak:\"break-word\",whiteSpace:\"normal\"};return /*#__PURE__*/_jsx(\"div\",{ref:viewRef,style:{width:\"100%\",height:\"auto\"},children:/*#__PURE__*/_jsx(Tag,{style:containerStyle,children:splitItems.map((item,index)=>{const isSpace=item===\" \";const isNewline=item===\"\\n\";return /*#__PURE__*/_jsxs(\"span\",{style:{display:per===\"lines\"?\"block\":\"inline-block\",overflow:maskLines?\"hidden\":\"visible\",verticalAlign:\"top\",paddingBottom:\"0.1em\",marginBottom:\"-0.1em\",whiteSpace:\"pre-wrap\"},children:[/*#__PURE__*/_jsx(motion.span,{variants:variants,initial:isCanvas?\"visible\":\"hidden\",animate:currentAnimationState,transition:{...transition,delay:isCanvas?0:index*stagger},style:{display:\"inline-block\",willChange:\"transform, opacity\"},children:isNewline?/*#__PURE__*/_jsx(\"br\",{}):isSpace?\"\\xa0\":item}),per===\"words\"&&!isSpace&&index!==splitItems.length-1&&\" \"]},index);})})});}LineMaskSplit.defaultProps={text:\"At OREO Studio, we architect brands that stand out in the digital age.\",color:\"#000000\",tag:\"h1\",trigger:\"layerInView\",viewPoint:\"middle\",replay:false,per:\"words\",maskLines:true,stagger:.05};addPropertyControls(LineMaskSplit,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"At OREO Studio, we architect brands that stand out in the digital age.\",displayTextArea:true},font:{type:ControlType.Font,title:\"Styles\",controls:\"extended\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},tag:{type:ControlType.Enum,title:\"Tag\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\"],defaultValue:\"h1\"},trigger:{type:ControlType.Enum,title:\"Trigger\",options:[\"appear\",\"layerInView\"],optionTitles:[\"Appear\",\"Layer in View\"],defaultValue:\"layerInView\"},// এই অপশনটি কেবল Trigger: Layer in View হলে দেখা যাবে\nviewPoint:{type:ControlType.Enum,title:\"View Point\",options:[\"start\",\"middle\",\"end\"],optionTitles:[\"Start\",\"Middle\",\"End\"],defaultValue:\"middle\",displaySegmentedControl:true,hidden:props=>props.trigger!==\"layerInView\"},replay:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>props.trigger!==\"layerInView\"},per:{type:ControlType.Enum,title:\"Split By\",options:[\"words\",\"characters\",\"lines\"],defaultValue:\"words\"},maskLines:{type:ControlType.Boolean,title:\"Masking\",defaultValue:true},stagger:{type:ControlType.Number,title:\"Stagger\",defaultValue:.05,min:0,max:1,step:.01,unit:\"s\"},animation:{type:ControlType.Object,title:\"Animation\",controls:{opacity:{type:ControlType.Number,title:\"Initial Opacity\",defaultValue:0,min:0,max:1,step:.1},offsetY:{type:ControlType.Number,title:\"Y Offset\",defaultValue:50,min:-500,max:500},offsetX:{type:ControlType.Number,title:\"X Offset\",defaultValue:0,min:-500,max:500},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:0,max:2,step:.1},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:0,min:0,max:20}}},transition:{type:ControlType.Transition,title:\"Transition\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LineMaskSplit\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Text_Split.map"],"mappings":"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"}