{"version":3,"file":"RailNav.B1PCQKUw.mjs","names":["React.useRef","React.useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/8rhHDyjilWk5IrSj2bic/fLMXRzGiFaErEx7n9uMg/RailNav.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,Link,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";// ---------------------------------------------------------------\n// RailNav — the rae's-room sconce nav as a standalone component\n// for use on every page (case studies, play, resume).\n//\n// Same light system as the RaesRoom homepage nav. The active\n// page's lamp stays lit; hovering another lamp takes priority and\n// dims the active one to 50%. Glows snap hard on/off (stepped) —\n// like real light switches — matching the homepage.\n//\n// WORK → HOME OVERLAY: clicking \"work\" navigates via its Link as\n// usual, but first drops a one-shot sessionStorage flag\n// (\"raesroom:openWork\"). RaesRoom reads that flag on mount and\n// opens the case-study overlay for its \"Work opens frame #\"\n// frame — so \"work\" from any interior page lands on the room\n// with the case study already up. Toggle with \"Work opens home\n// overlay\".\n//\n// MOBILE GLOW: the fixtures stay hidden below the breakpoint;\n// each label instead gets a soft RADIAL HALO centered behind it\n// (no beam cone) — a warm pool of light with the text sitting in\n// the middle. Mechanism identical to desktop — active page lit,\n// hover/touch takes priority and dims the active one — with touch\n// standing in for hover: touching a label lights its halo, and it\n// clears shortly after release.\n//\n// BOOT — \"TURN ON THE LIGHT\" (optional, \"Boot light-up\"):\n// On load (preview/published, desktop only) the page starts\n// under a dark cover rendered as a fixed full-viewport layer\n// INSIDE this component (never a canvas sibling — see project\n// rule about fixed covers blocking clicks). The four lamps snap\n// on one by one; each snap lifts a quarter of the darkness, so\n// the page is fully revealed when the fourth lamp lights. All\n// four hold lit for \"All-lit hold (s)\", then every lamp except\n// the Active page's fades off softly over \"Others fade (s)\".\n// NOTE: for the blackout to cover the page, the RailNav instance\n// must sit ABOVE the page content in the Framer layer order\n// (it normally does, being the nav).\n//\n// The ENTIRE sconce assembly (fixture image + label + the gap\n// between them) is one clickable anchor. Anchors carry a real\n// href when the link resolves to a string AND are wrapped in\n// Framer's Link.\n//\n// Mobile: below the breakpoint — judged by BOTH the window width\n// AND the component's own measured width — fixtures/beams hide\n// and the labels spread edge-to-edge with 10% side padding and a\n// guaranteed minimum gap (same look as the homepage). NOTE: the\n// instance itself must be set to FILL WIDTH on the breakpoint.\n// Boot is skipped on mobile (no fixtures to light).\n// ---------------------------------------------------------------\n// steps(n, end) as a framer-motion easing function\nconst stepsEase=n=>t=>t>=1?1:Math.floor(t*Math.max(1,n))/Math.max(1,n);const src=img=>img&&img.src?img.src:undefined;const hrefOf=link=>typeof link===\"string\"&&link?link:undefined;const WORK_FLAG=\"raesroom:openWork\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 220\n */export default function RailNav(props){const{spotImage,spotW,navGap,navTop,navLabelY,labelSize,labelColor,glowColor,glowW,glowH,glowTopW,glowBlur,glowEdgeFade,glowHold,sourceColor,sourceW,mobileBreak,mobileGlow,mobileGlowScale,mobileGlowTop,activePage,labelHome,labelWork,labelPlay,labelResume,linkHome,linkWork,linkPlay,linkResume,workOpensHome,bootOn,bootDark,bootDelay,bootStagger,bootHold,bootFadeT,font,style}=props;const onCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=React.useRef(null);const[vw,setVw]=React.useState(1280);const[cw,setCw]=React.useState(1200);const[hoverNav,setHoverNav]=React.useState(-1);const touchTimer=React.useRef(0);// --- boot (\"turn on the light\") state ---\nconst bootWanted=(bootOn??false)&&!onCanvas;const[litCount,setLitCount]=React.useState(bootWanted?0:4);const[bootDone,setBootDone]=React.useState(!bootWanted);const[settled,setSettled]=React.useState(!bootWanted);React.useEffect(()=>{if(!bootWanted)return;if(typeof window===\"undefined\")return;// fixtures are hidden on mobile — skip the light show\nif(window.innerWidth<(mobileBreak||810)){setLitCount(4);setBootDone(true);setSettled(true);return;}const ts=[];const d0=Math.max(0,bootDelay??.3)*1e3;const st=Math.max(.05,bootStagger??.28)*1e3;for(let i=0;i<4;i++)ts.push(setTimeout(()=>setLitCount(i+1),d0+i*st));const holdEnd=d0+4*st+Math.max(0,bootHold??1.2)*1e3;ts.push(setTimeout(()=>setBootDone(true),holdEnd));ts.push(setTimeout(()=>setSettled(true),holdEnd+Math.max(.1,bootFadeT??.7)*1e3+120));return()=>ts.forEach(clearTimeout);// run once on mount; timing props are read at mount time\n// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;const onResize=()=>setVw(window.innerWidth);onResize();window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[]);// clear any pending touch-glow timer on unmount\nReact.useEffect(()=>{return()=>{if(touchTimer.current)window.clearTimeout(touchTimer.current);};},[]);// Measure the component's own width so breakpoint instances\n// collapse correctly even where window width isn't reliable\n// (e.g. the Framer canvas).\nReact.useEffect(()=>{const el=ref.current;if(!el)return;if(typeof ResizeObserver===\"undefined\"){if(el.offsetWidth)setCw(el.offsetWidth);return;}const ro=new ResizeObserver(entries=>{const w=entries[0].contentRect.width;if(w)setCw(w);});ro.observe(el);return()=>ro.disconnect();},[]);const isMobile=Math.min(vw,cw||vw)<(mobileBreak||810);// \"work\" → drop the one-shot flag RaesRoom reads on mount,\n// then let the Link navigate normally\nconst armWorkOverlay=()=>{if(workOpensHome===false)return;try{window.sessionStorage.setItem(WORK_FLAG,\"1\");}catch(e){}};const items=[{key:\"home\",label:labelHome,link:linkHome},{key:\"work\",label:labelWork,link:linkWork},{key:\"play\",label:labelPlay,link:linkPlay},{key:\"resume\",label:labelResume,link:linkResume}];const spotSrc=src(spotImage);const topW=Math.max(2,Math.min(90,glowTopW));const beamInset=(100-topW)/2;const beamClip=`polygon(${beamInset}% 0%, ${100-beamInset}% 0%, 100% 100%, 0% 100%)`;const edgeFill=`linear-gradient(to bottom, ${glowColor} 0%, transparent 78%)`;const edgeNearEnd=Math.max(8,glowEdgeFade*.55);const edgeMaskNear=`radial-gradient(ellipse 80% 70% at 50% 0%, rgba(0,0,0,1) 0%, rgba(0,0,0,0) ${edgeNearEnd}%)`;const edgeMaskFar=`radial-gradient(ellipse 80% 70% at 50% 0%, rgba(0,0,0,1) 0%, rgba(0,0,0,0) ${glowEdgeFade}%)`;const hold=Math.max(0,Math.min(60,glowHold));const mid=hold+(72-hold)*.4;const far=hold+(82-hold)*.72;const diffuseFill=`radial-gradient(ellipse 72% 88% at 50% 0%, ${glowColor} 0%, ${glowColor} ${hold}%, color-mix(in srgb, ${glowColor} 50%, transparent) ${mid}%, color-mix(in srgb, ${glowColor} 18%, transparent) ${far}%, transparent 84%)`;// lamp glow transitions: snap on/off (like the homepage),\n// one soft fade window right after the all-lit hold\nconst glowSnapT={duration:.12,ease:stepsEase(1)};const glowFadeT={duration:Math.max(.1,bootFadeT??.7),ease:\"easeOut\"};const glowT=!bootDone?glowSnapT:!settled?glowFadeT:glowSnapT;const labelStyle={position:\"relative\",fontSize:labelSize,color:labelColor,textDecoration:\"none\",fontWeight:500,letterSpacing:.2,zIndex:1};// mobile halo — a soft radial pool of light centered behind\n// each label (no beam cone)\nconst mGlowOn=isMobile&&mobileGlow!==false;const ms=Math.max(.2,Math.min(1.5,mobileGlowScale??.5));const mTop=typeof mobileGlowTop===\"number\"?mobileGlowTop:0;const haloW=glowW*ms;const haloH=haloW*.85;const haloFill=`radial-gradient(ellipse at center, ${glowColor} 0%, color-mix(in srgb, ${glowColor} 55%, transparent) 40%, transparent 70%)`;return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{position:\"relative\",width:\"100%\",height:\"100%\",fontFamily:font,pointerEvents:\"none\",...style},children:[bootWanted&&!settled&&!isMobile&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",inset:0,zIndex:1,backgroundColor:bootDark??\"#0d0c0b\",opacity:Math.max(0,1-litCount/4),pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:isMobile?{position:\"absolute\",top:navTop,left:0,width:\"100%\",boxSizing:\"border-box\",padding:\"0 10%\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:12,pointerEvents:\"auto\",zIndex:2}:{position:\"absolute\",top:navTop,left:\"50%\",transform:\"translateX(-50%)\",display:\"flex\",gap:navGap,pointerEvents:\"auto\",zIndex:2},children:items.map((it,i)=>{const isHovered=hoverNav===i;const isActive=activePage===it.key;let glowOpacity=0;if(!bootDone){// boot: lamps switch on left to right\nglowOpacity=i<litCount?1:0;}else if(isHovered)glowOpacity=1;else if(isActive)glowOpacity=hoverNav>=0?.5:1;const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[!isMobile&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[spotSrc&&/*#__PURE__*/_jsx(\"img\",{src:spotSrc,alt:\"\",style:{position:\"relative\",width:spotW,display:\"block\",zIndex:1}}),/*#__PURE__*/_jsxs(motion.div,{animate:{opacity:glowOpacity},transition:glowT,style:{position:\"absolute\",top:\"94%\",left:\"50%\",marginLeft:-glowW/2,width:glowW,height:glowH,pointerEvents:\"none\",zIndex:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:diffuseFill,filter:`blur(${glowBlur}px)`}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,clipPath:beamClip,background:edgeFill,filter:\"blur(9px)\",WebkitMaskImage:edgeMaskFar,maskImage:edgeMaskFar}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,clipPath:beamClip,background:edgeFill,filter:\"blur(1.5px)\",WebkitMaskImage:edgeMaskNear,maskImage:edgeMaskNear}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:\"50%\",transform:\"translate(-50%, -45%)\",width:sourceW,height:sourceW*.5,background:`radial-gradient(ellipse at center, ${sourceColor} 0%, transparent 70%)`,filter:\"blur(6px)\"}})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:isMobile?0:navLabelY,...labelStyle},children:[mGlowOn&&// soft halo pooled behind the\n// label — no cone, just light\n/*#__PURE__*/_jsxs(motion.div,{animate:{opacity:glowOpacity},transition:glowT,style:{position:\"absolute\",left:\"50%\",top:\"50%\",transform:\"translate(-50%, -50%)\",marginTop:mTop,width:haloW,height:haloH,pointerEvents:\"none\",zIndex:-1},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:haloFill,filter:`blur(${Math.max(6,glowBlur*ms)}px)`}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",top:\"50%\",transform:\"translate(-50%, -50%)\",width:sourceW*ms*1.6,height:sourceW*ms*1.2,background:`radial-gradient(ellipse at center, ${sourceColor} 0%, transparent 70%)`,filter:\"blur(10px)\",opacity:.85}})]}),it.label]})]});const columnStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textDecoration:\"none\"};const isWork=it.key===\"work\";return /*#__PURE__*/_jsx(\"div\",{onMouseEnter:()=>setHoverNav(i),onMouseLeave:()=>setHoverNav(-1),onTouchStart:()=>{if(touchTimer.current)window.clearTimeout(touchTimer.current);setHoverNav(i);},onTouchEnd:()=>{if(touchTimer.current)window.clearTimeout(touchTimer.current);touchTimer.current=window.setTimeout(()=>setHoverNav(-1),900);},children:it.link?/*#__PURE__*/_jsx(Link,{href:it.link,children:/*#__PURE__*/_jsx(\"a\",{href:hrefOf(it.link),onClick:isWork?armWorkOverlay:undefined,style:{...columnStyle,cursor:\"pointer\"},children:inner})}):/*#__PURE__*/_jsx(\"div\",{style:columnStyle,children:inner})},it.key);})})]});}addPropertyControls(RailNav,{spotImage:{type:ControlType.ResponsiveImage,title:\"Spotlight PNG\"},spotW:{type:ControlType.Number,title:\"Spotlight width\",defaultValue:50,min:16,max:240,step:2},navGap:{type:ControlType.Number,title:\"Nav gap\",defaultValue:140,min:20,max:500,step:5},navTop:{type:ControlType.Number,title:\"Nav top\",defaultValue:0,min:-100,max:300,step:2},navLabelY:{type:ControlType.Number,title:\"Label offset\",defaultValue:16,min:0,max:300,step:2},labelSize:{type:ControlType.Number,title:\"Label size\",defaultValue:15,min:10,max:40,step:1},labelColor:{type:ControlType.Color,title:\"Label color\",defaultValue:\"#121111\"},glowColor:{type:ControlType.Color,title:\"Beam color\",defaultValue:\"rgba(227, 212, 182, 0.45)\"},glowW:{type:ControlType.Number,title:\"Beam width (bottom)\",defaultValue:500,min:40,max:600,step:5},glowH:{type:ControlType.Number,title:\"Beam length\",defaultValue:104,min:40,max:600,step:4},glowTopW:{type:ControlType.Number,title:\"Beam width (top) %\",defaultValue:9,min:2,max:90,step:1},glowBlur:{type:ControlType.Number,title:\"Beam blur\",defaultValue:30,min:0,max:60,step:1},glowEdgeFade:{type:ControlType.Number,title:\"Edge fade %\",defaultValue:20,min:5,max:100,step:5},glowHold:{type:ControlType.Number,title:\"Hot zone %\",defaultValue:30,min:0,max:60,step:1},sourceColor:{type:ControlType.Color,title:\"Source glow color\",defaultValue:\"rgba(242, 199, 124, 0.95)\"},sourceW:{type:ControlType.Number,title:\"Source glow width\",defaultValue:60,min:20,max:300,step:5},bootOn:{type:ControlType.Boolean,title:\"Boot light-up\",defaultValue:false},bootDark:{type:ControlType.Color,title:\"Boot dark color\",defaultValue:\"#0d0c0b\"},bootDelay:{type:ControlType.Number,title:\"Boot delay (s)\",defaultValue:.3,min:0,max:3,step:.1},bootStagger:{type:ControlType.Number,title:\"Boot stagger (s)\",defaultValue:.28,min:.05,max:1.5,step:.01},bootHold:{type:ControlType.Number,title:\"All-lit hold (s)\",defaultValue:1.2,min:0,max:6,step:.1},bootFadeT:{type:ControlType.Number,title:\"Others fade (s)\",defaultValue:.7,min:.1,max:3,step:.1},mobileBreak:{type:ControlType.Number,title:\"Mobile breakpoint\",defaultValue:810,min:320,max:1200,step:10},mobileGlow:{type:ControlType.Boolean,title:\"Mobile glow\",description:\"Soft halo behind each label on mobile — same on/off mechanism as desktop, touch stands in for hover\",defaultValue:true},mobileGlowScale:{type:ControlType.Number,title:\"↳ Mobile glow scale\",defaultValue:.5,min:.2,max:1.5,step:.05,hidden:p=>p.mobileGlow===false},mobileGlowTop:{type:ControlType.Number,title:\"↳ Mobile glow Y\",description:\"Vertical offset of the halo center from the label\",defaultValue:0,min:-120,max:120,step:2,unit:\"px\",hidden:p=>p.mobileGlow===false},activePage:{type:ControlType.Enum,title:\"Active page\",options:[\"none\",\"home\",\"work\",\"play\",\"resume\"],optionTitles:[\"None\",\"RaeKim\",\"Work\",\"Play\",\"Resume\"],defaultValue:\"work\"},labelHome:{type:ControlType.String,title:\"Label 1\",defaultValue:\"raekim\"},linkHome:{type:ControlType.Link,title:\"Link 1\"},labelWork:{type:ControlType.String,title:\"Label 2\",defaultValue:\"work\"},linkWork:{type:ControlType.Link,title:\"Link 2\"},workOpensHome:{type:ControlType.Boolean,title:\"Work opens home overlay\",description:\"On click, flags RaesRoom to open its Work frame overlay after navigating\",defaultValue:true},labelPlay:{type:ControlType.String,title:\"Label 3\",defaultValue:\"play\"},linkPlay:{type:ControlType.Link,title:\"Link 3\"},labelResume:{type:ControlType.String,title:\"Label 4\",defaultValue:\"resume\"},linkResume:{type:ControlType.Link,title:\"Link 4\"},font:{type:ControlType.String,title:\"Font family\",defaultValue:\"Manrope, 'Instrument Sans', sans-serif\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RailNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"220\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RailNav.map"],"mappings":"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"}