{"version":3,"file":"CaseStudyNav.CsZHcFxn.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/iFZyQWypRGXsTSHZDCSq/YssEtmRM1hfzfD3quSls/CaseStudyNav.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";/**\n * CaseStudyNav\n *\n * Side navigation for case study pages.\n *\n * Behaviour:\n * - While the trigger layer (default: HeaderImage) is visible, the nav sits\n *   in its normal layout position.\n * - Once the trigger scrolls out of view the nav switches to position:fixed\n *   (bypasses any ancestor overflow:hidden) and the right-side scroll\n *   container (default: SectionMainWrapper) gets a fixed viewport height\n *   and overflow-y:auto so it becomes independently scrollable.\n * - Clicking a nav item smooth-scrolls within that container.\n * - IntersectionObserver tracks active section using the container as root.\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 332\n * @framerIntrinsicHeight 400\n */export default function CaseStudyNav(props){const{sections,activeColor,inactiveColor,hoverColor,accentColor,fontFamily,fontSize,fontWeight,activeFontWeight,gap,stickyTop,scrollOffset,width,tabletBreakpoint,tabletWidth,tabletFontSize,tabletGap,tabletStickyTop,triggerLayerName,scrollContainerName}=props;const[activeIndex,setActiveIndex]=useState(0);const[hoverIndex,setHoverIndex]=useState(null);const[isFixed,setIsFixed]=useState(false);const[viewportWidth,setViewportWidth]=useState(()=>typeof window===\"undefined\"?1200:window.innerWidth);const outerRef=useRef(null);const navLeftRef=useRef(0);const observerRef=useRef(null);const targetsRef=useRef([]);const scrollContainerRef=useRef(null);const isFixedRef=useRef(false);const isPhone=viewportWidth<600;const isTablet=!isPhone&&viewportWidth<=tabletBreakpoint;const effectiveWidth=isTablet?tabletWidth:width;const effectiveFontSize=isTablet?tabletFontSize:fontSize;const effectiveGap=isTablet?tabletGap:gap;const effectiveStickyTop=isTablet?tabletStickyTop:stickyTop;const effectiveScrollOffset=isTablet?Math.max(40,scrollOffset-20):scrollOffset;// Track viewport width\nuseEffect(()=>{if(typeof window===\"undefined\")return;const onResize=()=>setViewportWidth(window.innerWidth);window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[]);// Apply scrollable styles to the right-side container and watch the trigger\nuseEffect(()=>{if(typeof window===\"undefined\"||isPhone)return;const escape=s=>window.CSS&&CSS.escape?CSS.escape(s):s.replace(/\"/g,'\\\\\"');const scrollContainer=document.querySelector(`[data-framer-name=\"${escape(scrollContainerName)}\"]`);scrollContainerRef.current=scrollContainer;const trigger=document.querySelector(`[data-framer-name=\"${escape(triggerLayerName)}\"]`);if(scrollContainer){scrollContainer.style.overflowY=\"auto\";scrollContainer.style.height=`calc(100vh - ${effectiveStickyTop}px)`;}const onScroll=()=>{if(!trigger)return;const shouldFix=trigger.getBoundingClientRect().bottom<=effectiveStickyTop;if(shouldFix&&!isFixedRef.current&&outerRef.current){navLeftRef.current=outerRef.current.getBoundingClientRect().left;}isFixedRef.current=shouldFix;setIsFixed(shouldFix);};window.addEventListener(\"scroll\",onScroll,{passive:true});onScroll();return()=>{window.removeEventListener(\"scroll\",onScroll);if(scrollContainer){scrollContainer.style.overflowY=\"\";scrollContainer.style.height=\"\";}};},[effectiveStickyTop,isPhone,triggerLayerName,scrollContainerName]);// Set up IntersectionObserver using the scroll container as root\nuseEffect(()=>{if(typeof window===\"undefined\"||isPhone)return;if(!sections||sections.length===0)return;const escape=s=>window.CSS&&CSS.escape?CSS.escape(s):s.replace(/\"/g,'\\\\\"');const container=scrollContainerRef.current;const targets=sections.map(s=>{if(!s.targetName)return null;return document.querySelector(`[data-framer-name=\"${escape(s.targetName)}\"]`);}).filter(el=>el!==null);targetsRef.current=targets;if(targets.length===0)return;const visibility=new Map;const observer=new IntersectionObserver(entries=>{for(const e of entries){visibility.set(e.target,e.intersectionRatio);}let bestEl=null;let bestRatio=-1;for(const[el,ratio]of visibility.entries()){if(ratio>bestRatio){bestRatio=ratio;bestEl=el;}}if(bestEl){const idx=targets.indexOf(bestEl);if(idx>=0)setActiveIndex(idx);}},{root:container||null,rootMargin:`-${effectiveScrollOffset}px 0px -45% 0px`,threshold:[0,.25,.5,.75,1]});targets.forEach(t=>observer.observe(t));observerRef.current=observer;return()=>{observer.disconnect();observerRef.current=null;};},[sections,effectiveScrollOffset,isPhone,scrollContainerName]);const handleClick=i=>{const t=targetsRef.current[i];if(!t)return;const container=scrollContainerRef.current;if(container){const top=t.getBoundingClientRect().top-container.getBoundingClientRect().top+container.scrollTop-effectiveScrollOffset;container.scrollTo({top,behavior:\"smooth\"});}else{const top=t.getBoundingClientRect().top+window.scrollY-effectiveScrollOffset;window.scrollTo({top,behavior:\"smooth\"});}setActiveIndex(i);};if(isPhone)return null;return(// Outer div always occupies space in the flex layout\n/*#__PURE__*/_jsx(\"div\",{ref:outerRef,style:{width:effectiveWidth,flexShrink:0,alignSelf:\"flex-start\"},children:/*#__PURE__*/_jsx(\"nav\",{style:{position:isFixed?\"fixed\":\"relative\",top:isFixed?effectiveStickyTop:0,left:isFixed?navLeftRef.current:undefined,width:effectiveWidth,display:\"flex\",flexDirection:\"column\",gap:effectiveGap,fontFamily,fontSize:effectiveFontSize,lineHeight:1.4,zIndex:isFixed?100:undefined},\"aria-label\":\"Case study sections\",children:sections&&sections.map((s,i)=>{const isActive=i===activeIndex;const isHovered=i===hoverIndex;const color=isActive?activeColor:isHovered?hoverColor:inactiveColor;const weight=isActive||isHovered?activeFontWeight:fontWeight;return /*#__PURE__*/_jsxs(\"button\",{onClick:()=>handleClick(i),onMouseEnter:()=>setHoverIndex(i),onMouseLeave:()=>setHoverIndex(prev=>prev===i?null:prev),onFocus:()=>setHoverIndex(i),onBlur:()=>setHoverIndex(prev=>prev===i?null:prev),style:{position:\"relative\",background:\"transparent\",border:\"none\",padding:\"4px 0 4px 16px\",margin:0,textAlign:\"left\",cursor:\"pointer\",color,fontFamily:\"inherit\",fontSize:\"inherit\",fontWeight:weight,transition:\"color 200ms ease, font-weight 200ms ease\",outline:\"none\",WebkitTapHighlightColor:\"transparent\"},\"aria-current\":isActive?\"true\":undefined,children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:0,top:0,bottom:0,width:2,background:isActive?accentColor:\"transparent\",borderRadius:1,transition:\"background 200ms ease\"}}),s.label]},`${s.label}-${i}`);})})}));}CaseStudyNav.defaultProps={sections:[{label:\"My Role\",targetName:\"section-my role\"},{label:\"Context\",targetName:\"section-context\"},{label:\"Goals\",targetName:\"section-goal\"},{label:\"Process\",targetName:\"section-process\"},{label:\"System impact\",targetName:\"section-system impact\"},{label:\"AI integration\",targetName:\"section-ai integration\"},{label:\"Unified system\",targetName:\"section-unified system\"},{label:\"Learning\",targetName:\"section-learning\"}],activeColor:\"#222222\",inactiveColor:\"#8F8F8F\",hoverColor:\"#222222\",accentColor:\"#222222\",fontFamily:\"Bricolage Grotesque, sans-serif\",fontSize:16,fontWeight:400,activeFontWeight:600,gap:24,stickyTop:120,scrollOffset:120,width:332,tabletBreakpoint:1e3,tabletWidth:220,tabletFontSize:14,tabletGap:16,tabletStickyTop:100,triggerLayerName:\"HeaderImage\",scrollContainerName:\"SectionMainWrapper\"};addPropertyControls(CaseStudyNav,{sections:{type:ControlType.Array,title:\"Sections\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Section\"},targetName:{type:ControlType.String,title:\"Target Layer Name\",description:\"Must match the Framer layer name (data-framer-name) of the target section.\",defaultValue:\"\"}}},defaultValue:[{label:\"My Role\",targetName:\"section-my role\"},{label:\"Context\",targetName:\"section-context\"},{label:\"Goals\",targetName:\"section-goal\"},{label:\"Process\",targetName:\"section-process\"},{label:\"System impact\",targetName:\"section-system impact\"},{label:\"AI integration\",targetName:\"section-ai integration\"},{label:\"Unified system\",targetName:\"section-unified system\"},{label:\"Learning\",targetName:\"section-learning\"}]},triggerLayerName:{type:ControlType.String,title:\"Trigger Layer\",description:\"Framer layer name of the element to scroll past before the nav becomes fixed.\",defaultValue:\"HeaderImage\"},scrollContainerName:{type:ControlType.String,title:\"Scroll Container\",description:\"Framer layer name of the right-side content wrapper that becomes scrollable.\",defaultValue:\"SectionMainWrapper\"},activeColor:{type:ControlType.Color,title:\"Active Color\",defaultValue:\"#222222\"},inactiveColor:{type:ControlType.Color,title:\"Default Color\",defaultValue:\"#8F8F8F\"},hoverColor:{type:ControlType.Color,title:\"Hover Color\",defaultValue:\"#222222\"},accentColor:{type:ControlType.Color,title:\"Accent Bar\",defaultValue:\"#222222\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Bricolage Grotesque, sans-serif\"},fontSize:{type:ControlType.Number,title:\"Font Size\",min:10,max:32,step:1,defaultValue:16},fontWeight:{type:ControlType.Number,title:\"Default Weight\",min:100,max:900,step:100,defaultValue:400},activeFontWeight:{type:ControlType.Number,title:\"Active / Hover Weight\",min:100,max:900,step:100,defaultValue:600},gap:{type:ControlType.Number,title:\"Gap\",min:0,max:80,step:2,defaultValue:24},stickyTop:{type:ControlType.Number,title:\"Sticky Top\",min:0,max:400,step:4,defaultValue:120},scrollOffset:{type:ControlType.Number,title:\"Scroll Offset\",description:\"Pixels of headroom when scrolling to a section (height of fixed top nav).\",min:0,max:300,step:4,defaultValue:120},width:{type:ControlType.Number,title:\"Width (Desktop)\",min:200,max:500,step:4,defaultValue:332},tabletBreakpoint:{type:ControlType.Number,title:\"Tablet Breakpoint\",min:600,max:1400,step:10,defaultValue:1e3},tabletWidth:{type:ControlType.Number,title:\"Width (Tablet)\",min:140,max:400,step:4,defaultValue:220},tabletFontSize:{type:ControlType.Number,title:\"Font Size (Tablet)\",min:10,max:24,step:1,defaultValue:14},tabletGap:{type:ControlType.Number,title:\"Gap (Tablet)\",min:0,max:60,step:2,defaultValue:16},tabletStickyTop:{type:ControlType.Number,title:\"Sticky Top (Tablet)\",min:0,max:300,step:4,defaultValue:100}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CaseStudyNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"332\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaseStudyNav.map"],"mappings":"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"}