{"version":3,"file":"shared-lib.Cwy7MPpQ.mjs","names":["useRef","useState","fontSize","metadata","siteMetadata","metadataVersion","__FramerMetadata__","metadata","siteMetadata"],"sources":["https:/framerusercontent.com/modules/CFu9hIb3aUKvgWH6tLbN/RyrQOd4tkl1O5snRVVf3/TypographicTunnelRoom.js","https:/framerusercontent.com/modules/hGWQ6DoocusTRlKjXbzF/itczqvbEqpED3jEVlLGI/siteMetadata.js","https:/framerusercontent.com/modules/gRL2GWfRmingwA8J0A2u/Xw0WQPX8cRMA6iGJ50P1/augiA20Il.js","https:/framerusercontent.com/modules/tUpEYiXDHCwbxuUOl7Or/jwqolnIYTv7NrBUgJHkL/xSFqDe7fr.js"],"sourcesContent":["// Rebuild the \"TypographicRoom\" component — an immersive black-and-white\n// typographic environment that simulates the inside of a 3D box/room shown in\n// one-point perspective, with exact sealed geometry and no z-fighting.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef,startTransition}from\"react\";/**\n * Typographic Room\n *\n * An immersive black-and-white typographic environment simulating the inside\n * of a sealed 3D box/room in one-point perspective.\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 800\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function KineticTypographyWall(props){const{text=\"WHY NOT?\",depth=1400,perspective=1200,backgroundColor=\"#000000\",textColor=\"#FFFFFF\",accentColor=\"#777777\",font={fontFamily:\"Inter\",fontWeight:900,fontSize:\"142px\",lineHeight:\"1.1\",letterSpacing:\"-0.03em\"},outlineWidth=2,enableParallax=true,roomScale=1.3,animateRows=true,animationSpeed=20,flowDirection=\"toward\",alternateDirection=true,backWallContent=\"text\",backWallImage={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Back wall image\"},backWallVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",backWallVideoURL=\"\"}=props;// Hardcoded internal values (removed from property controls)\nconst maxTilt=8;const repeatDensity=2;const containerRef=useRef(null);const[mousePos,setMousePos]=useState({x:.5,y:.5});const[containerSize,setContainerSize]=useState({width:1200,height:800});const[isMounted,setIsMounted]=useState(false);// Set mounted flag\nuseEffect(()=>{setIsMounted(true);},[]);// Track container size\nuseEffect(()=>{if(typeof window===\"undefined\"||!containerRef.current)return;const updateSize=()=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();startTransition(()=>setContainerSize({width:rect.width||1200,height:rect.height||800}));};updateSize();const resizeObserver=new ResizeObserver(updateSize);resizeObserver.observe(containerRef.current);return()=>resizeObserver.disconnect();},[]);// Mouse parallax\nuseEffect(()=>{if(typeof window===\"undefined\"||!enableParallax||!isMounted)return;const handleMouseMove=e=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const x=(e.clientX-rect.left)/rect.width;const y=(e.clientY-rect.top)/rect.height;startTransition(()=>setMousePos({x,y}));};window.addEventListener(\"mousemove\",handleMouseMove);return()=>window.removeEventListener(\"mousemove\",handleMouseMove);},[enableParallax,isMounted]);// Calculate parallax rotation (clamped to max tilt)\nconst rotateX=enableParallax&&isMounted?(mousePos.y-.5)*-maxTilt*2:0;const rotateY=enableParallax&&isMounted?(mousePos.x-.5)*maxTilt*2:0;// Generate repeated text for a surface with mixed styles\nconst generateText=(rows,cols,face,reverseFlow=false)=>{const lines=[];// Extract font size as a number for calculations\nconst fontSize=typeof font.fontSize===\"string\"?parseFloat(font.fontSize):font.fontSize||142;// For ceiling and floor, we need a seamless marquee approach\nconst isDepthFace=face===\"ceiling\"||face===\"floor\";if(isDepthFace&&animateRows){// SEAMLESS MARQUEE METHOD for ceiling/floor:\n// 1. Calculate how many rows needed to fill the entire visible depth + OVERSCAN\nconst rowsNeededForFullDepth=Math.ceil(depth/fontSize)+8// extra overscan for near edge\n;// 2. Generate TWO identical copies of the text block\nfor(let copyIndex=0;copyIndex<2;copyIndex++){for(let i=0;i<rowsNeededForFullDepth;i++){const repeated=Array(cols).fill(text).join(\"  \");// Cycle through three styles: solid white, gray, outline\nconst styleIndex=i%3;const isOutline=styleIndex===2;const isAccent=styleIndex===1;lines.push(/*#__PURE__*/_jsx(\"div\",{style:{...font,color:isOutline?\"transparent\":isAccent?accentColor:textColor,WebkitTextStroke:isOutline?`${outlineWidth}px ${textColor}`:\"none\",whiteSpace:\"nowrap\",textTransform:\"uppercase\",padding:\"0.05em 0.1em\"},children:repeated},`${copyIndex}-${i}`));}}// 3. Determine animation direction\nlet animationDirection=flowDirection===\"toward\"?-1:1;if(alternateDirection&&face===\"ceiling\"){animationDirection*=-1;}// 4. Wrap all lines in an animated container that translates by exactly -50%\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",justifyContent:\"flex-start\",alignItems:\"center\",animation:`flowDepth${face} ${animationSpeed}s linear infinite`,willChange:\"transform\"},children:[lines,/*#__PURE__*/_jsx(\"style\",{children:`\n                            @keyframes flowDepth${face} {\n                                from {\n                                    transform: translateY(0);\n                                }\n                                to {\n                                    transform: translateY(${animationDirection*50}%);\n                                }\n                            }\n                        `})]});}// Original logic for back, left, right walls\nfor(let i=0;i<rows;i++){// Determine if this row should be animated based on face type\n// Left/Right walls: ALL rows now animate (odd and even in opposite directions)\nconst isAnimated=animateRows&&face!==\"back\";const isOddRow=i%2===1;// Double the text for seamless looping on animated rows\nconst colCount=isAnimated?cols*2:cols;const repeated=Array(colCount).fill(text).join(\"  \");// Cycle through three styles: solid white, gray, outline\nconst styleIndex=i%3;const isOutline=styleIndex===2;const isAccent=styleIndex===1;// Determine animation direction based on face and settings\nlet animationDirection=flowDirection===\"toward\"?-1:1;if(alternateDirection&&face===\"right\"){animationDirection*=-1;}// Even rows flow in opposite direction from odd rows\nif(!isOddRow&&isAnimated){animationDirection*=-1;}if(reverseFlow){animationDirection*=-1;}// Calculate animation distance for seamless loop (-50% of doubled content)\nconst singleCopyWidth=fontSize*text.length*.6*cols;// Use slower speed for side walls\nconst effectiveSpeed=face===\"left\"||face===\"right\"?animationSpeed*2:animationSpeed;lines.push(/*#__PURE__*/_jsxs(\"div\",{style:{...font,color:isOutline?\"transparent\":isAccent?accentColor:textColor,WebkitTextStroke:isOutline?`${outlineWidth}px ${textColor}`:\"none\",whiteSpace:\"nowrap\",textTransform:\"uppercase\",padding:\"0.05em 0.1em\",...isAnimated&&{animation:`flowDepth${face}${i} ${effectiveSpeed}s linear infinite`,willChange:\"transform\"}},children:[repeated,isAnimated&&/*#__PURE__*/_jsx(\"style\",{children:`\n                                @keyframes flowDepth${face}${i} {\n                                    from {\n                                        transform: translateX(0);\n                                    }\n                                    to {\n                                        transform: translateX(${animationDirection*singleCopyWidth}px);\n                                    }\n                                }\n                            `})]},i));}return lines;};const roomWidth=containerSize.width;const roomHeight=containerSize.height;// Extract font size as a number for layout calculations\nconst fontSize=typeof font.fontSize===\"string\"?parseFloat(font.fontSize):font.fontSize||142;return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{...props.style,position:\"relative\",width:\"100%\",height:\"100%\",minHeight:\"400px\",backgroundColor,overflow:\"hidden\",perspective:`${perspective}px`,perspectiveOrigin:\"50% 50%\"},children:/*#__PURE__*/_jsxs(\"div\",{className:\"room\",style:{position:\"absolute\",width:roomWidth,height:roomHeight,left:\"50%\",top:\"50%\",transform:`\n                        translate(-50%, -50%)\n                        rotateX(${rotateX}deg)\n                        rotateY(${rotateY}deg)\n                        scale(${roomScale})\n                    `,transformStyle:\"preserve-3d\",transition:enableParallax?\"transform 0.3s ease-out\":\"none\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",width:`${roomWidth}px`,height:`${roomHeight}px`,left:0,top:0,transform:`translateZ(-${depth}px)`,transformStyle:\"preserve-3d\",backfaceVisibility:\"hidden\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,zIndex:1,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"},children:[backWallContent===\"text\"&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"},children:generateText(Math.ceil(roomHeight/fontSize)+2,repeatDensity+2,\"back\")}),backWallContent===\"image\"&&/*#__PURE__*/_jsx(\"img\",{src:backWallImage.src,srcSet:backWallImage.srcSet,alt:backWallImage.alt||\"Back wall image\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}}),backWallContent===\"video\"&&/*#__PURE__*/_jsx(\"video\",{src:backWallVideoURL||backWallVideo,autoPlay:true,muted:true,loop:true,playsInline:true,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\"}})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,bottom:0,left:0,width:\"120px\",background:\"linear-gradient(to right, rgba(0, 0, 0, 0.6) 0%, transparent 100%)\",pointerEvents:\"none\",zIndex:2}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,bottom:0,right:0,width:\"120px\",background:\"linear-gradient(to left, rgba(0, 0, 0, 0.6) 0%, transparent 100%)\",pointerEvents:\"none\",zIndex:2}})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:`${depth}px`,height:`${roomHeight}px`,left:0,top:0,transformOrigin:\"left center\",transform:`rotateY(90deg)`,transformStyle:\"preserve-3d\",backfaceVisibility:\"hidden\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",maskImage:\"linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%)\",WebkitMaskImage:\"linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%)\"},children:generateText(Math.ceil(roomHeight/fontSize)+2,Math.ceil(depth/fontSize)+2,\"left\")}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:`${depth}px`,height:`${roomHeight}px`,right:0,top:0,transformOrigin:\"right center\",transform:`rotateY(-90deg)`,transformStyle:\"preserve-3d\",backfaceVisibility:\"hidden\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",maskImage:\"linear-gradient(to left, transparent 0%, black 15%, black 85%, transparent 100%)\",WebkitMaskImage:\"linear-gradient(to left, transparent 0%, black 15%, black 85%, transparent 100%)\"},children:generateText(Math.ceil(roomHeight/fontSize)+2,Math.ceil(depth/fontSize)+2,\"right\")}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",width:`${roomWidth}px`,height:`${depth}px`,left:0,top:0,transformOrigin:\"center top\",transform:`rotateX(-90deg)`,transformStyle:\"preserve-3d\",backfaceVisibility:\"hidden\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",maskImage:\"linear-gradient(to bottom, transparent 0%, black 15%, black 100%)\",WebkitMaskImage:\"linear-gradient(to bottom, transparent 0%, black 15%, black 100%)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,bottom:\"50px\",height:\"250px\",background:\"linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%)\",pointerEvents:\"none\",zIndex:1}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",zIndex:2,width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"},children:generateText(Math.ceil(depth/fontSize)+2,repeatDensity+2,\"ceiling\")})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",width:`${roomWidth}px`,height:`${depth}px`,left:0,bottom:0,transformOrigin:\"center bottom\",transform:`rotateX(90deg)`,transformStyle:\"preserve-3d\",backfaceVisibility:\"hidden\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",maskImage:\"linear-gradient(to top, transparent 0%, black 15%, black 100%)\",WebkitMaskImage:\"linear-gradient(to top, transparent 0%, black 15%, black 100%)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,bottom:\"50px\",height:\"250px\",background:\"linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%)\",pointerEvents:\"none\",zIndex:1}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",zIndex:2,width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"},children:generateText(Math.ceil(depth/fontSize)+2,repeatDensity+2,\"floor\")})]})]})});}addPropertyControls(KineticTypographyWall,{backWallContent:{type:ControlType.Enum,title:\"Back Wall Content\",options:[\"text\",\"image\",\"video\"],optionTitles:[\"Text\",\"Image\",\"Video\"],defaultValue:\"text\",displaySegmentedControl:true},backWallImage:{type:ControlType.ResponsiveImage,title:\"Back Wall Image\",hidden:({backWallContent})=>backWallContent!==\"image\"},backWallVideo:{type:ControlType.File,title:\"Back Wall Video\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:({backWallContent})=>backWallContent!==\"video\"},backWallVideoURL:{type:ControlType.String,title:\"Video URL\",placeholder:\"https://...\",hidden:({backWallContent})=>backWallContent!==\"video\"},text:{type:ControlType.String,title:\"Text\",defaultValue:\"WHY NOT?\",hidden:({backWallContent})=>backWallContent!==\"text\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"142px\",variant:\"Black\",lineHeight:\"1.1\",letterSpacing:\"-0.03em\"}},depth:{type:ControlType.Number,title:\"Depth\",defaultValue:1400,min:600,max:2500,step:100,unit:\"px\"},perspective:{type:ControlType.Number,title:\"Perspective\",defaultValue:1200,min:600,max:2500,step:100,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},accentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#777777\"},outlineWidth:{type:ControlType.Number,title:\"Outline Width\",defaultValue:2,min:1,max:5,step:.5,unit:\"px\"},enableParallax:{type:ControlType.Boolean,title:\"Enable Parallax\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},roomScale:{type:ControlType.Number,title:\"Room Scale\",defaultValue:1.3,min:1,max:2,step:.05},animateRows:{type:ControlType.Boolean,title:\"Animate Rows\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",defaultValue:20,min:5,max:60,step:1,unit:\"s\"},flowDirection:{type:ControlType.Enum,title:\"Flow Direction\",options:[\"toward\",\"away\"],optionTitles:[\"Toward Back\",\"Toward Camera\"],defaultValue:\"toward\",displaySegmentedControl:true},alternateDirection:{type:ControlType.Boolean,title:\"Alternate Direction\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KineticTypographyWall\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"800\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TypographicTunnelRoom.map","// Generated by Framer (3ad0d99)\nexport default function metadata(params,activeLocale){return{description:\"Made with Framer\",robots:\"max-image-preview:large\",title:\"My Framer Site\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (199f97e)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-PHblq\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=1200\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (199f97e)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"jul6li\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-HZRuA\",title:siteMetadata(params,activeLocale).title||\"Preview\",viewport:\"width=1200\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}