{"version":3,"file":"FallingText.CaJ63bEI.mjs","names":["useRef","useState","containerRect"],"sources":["https:/framerusercontent.com/modules/FpkKLjhf6904Qu1E2jtR/nHHvM8REWut3X0J6CaCQ/FallingText.js"],"sourcesContent":["// Falling Text Physics Component - Text breaks apart and falls with realistic physics when triggered\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useState,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * Falling Text Physics\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function FallingText(props){const{text=\"Click me to see the magic happen!\",trigger=\"click\",backgroundColor=\"transparent\",wireframes=false,gravity=1,mouseConstraintStiffness=.2,textFont,textColor=\"#000000\",verticalAlignment=\"center\",paddingTop=32,floorOffset=100,chaos=.3,style}=props;const containerRef=useRef(null);const textRef=useRef(null);const canvasContainerRef=useRef(null);const[effectStarted,setEffectStarted]=useState(false);const[matterLoaded,setMatterLoaded]=useState(false);const isStatic=useIsStaticRenderer();// Load Matter.js dynamically\nuseEffect(()=>{if(isStatic)return;const loadMatter=async()=>{try{// @ts-ignore\nconst Matter=await import(\"https://cdn.skypack.dev/matter-js@0.19.0\");// @ts-ignore\nwindow.Matter=Matter.default||Matter;setMatterLoaded(true);}catch(error){console.error(\"Failed to load Matter.js:\",error);}};loadMatter();},[isStatic]);// Setup text with highlighting\nuseEffect(()=>{if(!textRef.current)return;const letters=text.split(\"\");const newHTML=letters.map(letter=>{if(letter===\" \"){return`<span style=\"display: inline-block; width: 0.3em; user-select: none;\"></span>`;}return`<span style=\"display: inline-block; user-select: none; color: ${textColor};\">${letter}</span>`;}).join(\"\");textRef.current.innerHTML=newHTML;},[text,textColor]);// Handle trigger setup\nuseEffect(()=>{if(isStatic)return;if(trigger===\"auto\"){// Add a small delay to prevent glitch on first preview\nconst timer=setTimeout(()=>{startTransition(()=>setEffectStarted(true));},100);return()=>clearTimeout(timer);}if(trigger===\"scroll\"&&containerRef.current){const observer=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){startTransition(()=>setEffectStarted(true));observer.disconnect();}},{threshold:.1});observer.observe(containerRef.current);return()=>observer.disconnect();}},[trigger,isStatic]);// Physics simulation\nuseEffect(()=>{if(!effectStarted||!matterLoaded||isStatic)return;// @ts-ignore\nconst Matter=window.Matter;if(!Matter)return;const{Engine,Render,World,Bodies,Runner,Mouse,MouseConstraint}=Matter;if(!containerRef.current||!canvasContainerRef.current)return;const containerRect=containerRef.current.getBoundingClientRect();const width=containerRect.width;const height=containerRect.height;if(width<=0||height<=0)return;const engine=Engine.create();engine.world.gravity.y=gravity;const render=Render.create({element:canvasContainerRef.current,engine,options:{width,height,background:backgroundColor,wireframes,showVelocity:false,showAngleIndicator:false,showDebug:false}});// Prevent canvas from capturing pointer events to allow scrolling\nif(render.canvas){render.canvas.style.pointerEvents=\"none\";}const boundaryOptions={isStatic:true,render:{fillStyle:\"transparent\"}};const floor=Bodies.rectangle(width/2,height+floorOffset,width*2,60,boundaryOptions);const leftWall=Bodies.rectangle(-50,height/2,50,height*4,boundaryOptions);const rightWall=Bodies.rectangle(width+50,height/2,50,height*4,boundaryOptions);const ceiling=Bodies.rectangle(width/2,-200,width,50,boundaryOptions);if(!textRef.current)return;// Hide the original text\ntextRef.current.style.opacity=\"0\";const letterSpans=textRef.current.querySelectorAll(\"span\");const letterBodies=[...letterSpans].filter(elem=>elem.textContent&&elem.textContent.trim()!==\"\").map(elem=>{const rect=elem.getBoundingClientRect();const containerRect=containerRef.current.getBoundingClientRect();const x=rect.left-containerRect.left+rect.width/2;const y=rect.top-containerRef.current.getBoundingClientRect().top+rect.height/2;// Create a new element for physics\nconst physicsElem=elem.cloneNode(true);physicsElem.style.position=\"absolute\";physicsElem.style.left=`${x}px`;physicsElem.style.top=`${y}px`;physicsElem.style.transform=\"translate(-50%, -50%)\";physicsElem.style.zIndex=\"10\";physicsElem.style.pointerEvents=\"none\";physicsElem.style.opacity=\"1\";physicsElem.style.visibility=\"visible\";// Preserve all original styling\nphysicsElem.style.fontSize=textFont?.fontSize||\"24px\";physicsElem.style.fontFamily=textFont?.fontFamily||\"\";physicsElem.style.fontWeight=textFont?.fontWeight||\"\";physicsElem.style.fontStyle=textFont?.fontStyle||\"\";physicsElem.style.letterSpacing=textFont?.letterSpacing||\"-0.01em\";physicsElem.style.lineHeight=textFont?.lineHeight||\"1.4em\";physicsElem.style.color=textColor;physicsElem.style.display=\"inline-block\";physicsElem.style.userSelect=\"none\";// Add to container\ncontainerRef.current.appendChild(physicsElem);const body=Bodies.rectangle(x,y,rect.width,rect.height,{render:{fillStyle:\"transparent\"},restitution:.3,frictionAir:.05,friction:.3});Matter.Body.setVelocity(body,{x:(Math.random()-.5)*chaos*3,y:0});Matter.Body.setAngularVelocity(body,(Math.random()-.5)*chaos*.1);return{elem:physicsElem,body};});const mouse=Mouse.create(containerRef.current);mouse.element.removeEventListener(\"mousewheel\",mouse.mousewheel);mouse.element.removeEventListener(\"DOMMouseScroll\",mouse.mousewheel);const mouseConstraint=MouseConstraint.create(engine,{mouse,constraint:{stiffness:mouseConstraintStiffness,render:{visible:false}}});render.mouse=mouse;World.add(engine.world,[floor,leftWall,rightWall,ceiling,mouseConstraint,...letterBodies.map(wb=>wb.body)]);const runner=Runner.create();Runner.run(runner,engine);Render.run(render);const updateLoop=()=>{letterBodies.forEach(({body,elem})=>{const{x,y}=body.position;const element=elem;element.style.left=`${x}px`;element.style.top=`${y}px`;element.style.transform=`translate(-50%, -50%) rotate(${body.angle}rad)`;});requestAnimationFrame(updateLoop);};updateLoop();return()=>{Render.stop(render);Runner.stop(runner);if(render.canvas&&canvasContainerRef.current){canvasContainerRef.current.removeChild(render.canvas);}// Clean up physics elements and restore original text\nletterBodies.forEach(({elem})=>{if(elem.parentNode){elem.parentNode.removeChild(elem);}});if(textRef.current){textRef.current.style.opacity=\"1\";}World.clear(engine.world,false);Engine.clear(engine);};},[effectStarted,matterLoaded,gravity,wireframes,backgroundColor,mouseConstraintStiffness,textFont,textColor,isStatic,chaos]);const handleTrigger=()=>{if(!effectStarted&&(trigger===\"click\"||trigger===\"hover\")){startTransition(()=>setEffectStarted(true));}};const getVerticalAlignment=()=>{switch(verticalAlignment){case\"top\":return\"flex-start\";case\"bottom\":return\"flex-end\";default:return\"center\";}};if(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:100,minHeight:50,display:\"flex\",alignItems:getVerticalAlignment(),justifyContent:textFont?.textAlign||\"center\",paddingTop:`${paddingTop}px`,overflow:\"hidden\",cursor:trigger===\"click\"?\"pointer\":\"default\",...textFont},children:/*#__PURE__*/_jsx(\"div\",{style:{textAlign:textFont?.textAlign||\"center\",lineHeight:textFont?.lineHeight||\"1.4em\",letterSpacing:textFont?.letterSpacing||\"-0.01em\",fontSize:textFont?.fontSize||\"24px\",fontFamily:textFont?.fontFamily,fontWeight:textFont?.fontWeight,fontStyle:textFont?.fontStyle},dangerouslySetInnerHTML:{__html:text.split(\"\").map(letter=>{if(letter===\" \"){return`<span style=\"display: inline-block; width: 0.3em;\"></span>`;}return`<span style=\"display: inline-block; color: ${textColor};\">${letter}</span>`;}).join(\"\")}})});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",zIndex:1,width:\"100%\",height:\"100%\",minWidth:100,minHeight:50,cursor:trigger===\"click\"?\"pointer\":\"default\",display:\"flex\",alignItems:getVerticalAlignment(),justifyContent:textFont?.textAlign||\"center\",paddingTop:`${paddingTop}px`,overflow:effectStarted?\"visible\":\"hidden\",touchAction:\"pan-y\",pointerEvents:effectStarted?\"none\":\"auto\"},onClick:trigger===\"click\"?handleTrigger:undefined,onMouseEnter:trigger===\"hover\"?handleTrigger:undefined,children:[/*#__PURE__*/_jsx(\"div\",{ref:textRef,style:{display:\"inline-block\",textAlign:textFont?.textAlign||\"center\",lineHeight:textFont?.lineHeight||\"1.4em\",letterSpacing:textFont?.letterSpacing||\"-0.01em\",fontSize:textFont?.fontSize||\"24px\",fontFamily:textFont?.fontFamily,fontWeight:textFont?.fontWeight,fontStyle:textFont?.fontStyle}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,zIndex:0,pointerEvents:\"none\",overflow:\"visible\"},ref:canvasContainerRef})]});}addPropertyControls(FallingText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Click me to see the magic happen!\",displayTextArea:true},trigger:{type:ControlType.Enum,title:\"Trigger\",options:[\"auto\",\"scroll\",\"click\",\"hover\"],optionTitles:[\"Auto\",\"On Scroll\",\"On Click\",\"On Hover\"],defaultValue:\"click\"},textFont:{type:ControlType.Font,title:\"Text Font\",defaultValue:{fontSize:\"24px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\",textAlign:\"center\"},controls:\"extended\",defaultFontType:\"sans-serif\",displayTextAlignment:true,displayFontSize:true},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},verticalAlignment:{type:ControlType.Enum,title:\"Vertical Alignment\",options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],defaultValue:\"center\",displaySegmentedControl:true},paddingTop:{type:ControlType.Number,title:\"Top Padding\",defaultValue:32,min:0,max:100,step:1,unit:\"px\"},floorOffset:{type:ControlType.Number,title:\"Floor Offset\",defaultValue:100,min:-100,max:200,step:1,unit:\"px\"},gravity:{type:ControlType.Number,title:\"Gravity\",defaultValue:1,min:0,max:3,step:.1},mouseConstraintStiffness:{type:ControlType.Number,title:\"Mouse Interaction\",defaultValue:.2,min:0,max:1,step:.1},wireframes:{type:ControlType.Boolean,title:\"Show Physics Debug\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},chaos:{type:ControlType.Number,title:\"Chaos\",defaultValue:.3,min:0,max:1,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FallingText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FallingText.map"],"mappings":"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"}