{"version":3,"file":"SectionHeaderToggle.vmcFoDvy.mjs","names":["React.useState","React.useMemo","p"],"sources":["https:/framerusercontent.com/modules/tS2zkdCLaZnv2BfIFK4T/1NAYHDBcPeS8mCEIqkoK/SectionHeaderToggle.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import*as ReactDOM from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";const SEED_ROWS=[{label:\"Selected Work\",link:\"/work\"},{label:\"Career & Shelves\",link:\"/career\"},{label:\"Publications\",link:\"/publications\"},{label:\"Company\",link:\"/company\"}];export default function SectionMenu(props){const{rows,hideRow,homeLabel,homeLink,showHome,eyebrow,barTitle,paper,ink,blue,mobile}=props;const M=mobile;const[open,setOpen]=React.useState(false);// Esc closes; scroll closes\nReact.useEffect(()=>{if(!open)return;const onKey=e=>{if(e.key===\"Escape\")setOpen(false);};const onScroll=()=>setOpen(false);window.addEventListener(\"keydown\",onKey);window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{window.removeEventListener(\"keydown\",onKey);window.removeEventListener(\"scroll\",onScroll);};},[open]);// Build visible list: optional Home + filtered sections.\n// hideRow is 1-based against the rows list (NOT counting Home). 0 = none hidden.\nconst fullList=React.useMemo(()=>{const out=[];if(showHome){out.push({label:homeLabel||\"Home\",link:homeLink||\"/\",isHome:true});}(rows||[]).forEach((r,i)=>{if(hideRow&&i+1===hideRow)return;out.push(r);});return out;},[rows,hideRow,showHome,homeLabel,homeLink]);const renderRow=(r,last,key)=>/*#__PURE__*/_jsxs(\"a\",{href:r.link||\"#\",onClick:e=>{if((r.link||\"\").startsWith(\"#\")){e.preventDefault();const el=document.getElementById((r.link||\"\").slice(1));if(el){const top=el.getBoundingClientRect().top+window.scrollY-60;window.scrollTo({top,behavior:\"smooth\"});}setOpen(false);return;}setOpen(false);},style:{display:\"grid\",gridTemplateColumns:\"1fr auto\",alignItems:\"baseline\",gap:16,padding:M?\"12px 0\":\"14px 0\",borderBottom:last?\"none\":`1px dotted rgba(18,18,18,0.18)`,color:ink,textDecoration:\"none\",cursor:\"pointer\",fontFamily:\"Copernicus, Georgia, serif\",transition:\"color 0.15s ease\"},onMouseEnter:e=>e.currentTarget.style.color=blue,onMouseLeave:e=>e.currentTarget.style.color=ink,children:[/*#__PURE__*/_jsx(\"span\",{style:{fontStyle:\"italic\",fontWeight:600,fontSize:M?22:28,letterSpacing:\"-0.01em\",lineHeight:1.1},children:r.label}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:18,color:blue,fontStyle:\"italic\"},children:r.isHome?\"↑\":\"→\"})]},key);const stickyBar=/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,zIndex:9999,background:paper,color:ink,borderBottom:`1px solid ${ink}22`,fontFamily:\"Copernicus, Georgia, serif\",boxShadow:\"0 6px 20px rgba(0,0,0,0.06)\"},children:[/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setOpen(v=>!v),style:{width:\"100%\",padding:M?\"10px 20px\":\"12px 32px\",background:\"transparent\",border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",color:ink,fontFamily:\"inherit\",textAlign:\"left\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"baseline\",gap:14},children:[eyebrow&&/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Futura, sans-serif\",fontSize:9,letterSpacing:\"0.4em\",textTransform:\"uppercase\",opacity:.55},children:eyebrow}),barTitle&&/*#__PURE__*/_jsxs(\"span\",{style:{fontStyle:\"italic\",fontSize:M?16:18,fontWeight:600,letterSpacing:\"-0.01em\"},children:[barTitle,/*#__PURE__*/_jsx(\"span\",{style:{color:blue,fontStyle:\"normal\"},children:\".\"})]})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,color:blue,fontStyle:\"italic\",transition:\"transform 0.2s ease\",transform:open?\"rotate(180deg)\":\"rotate(0deg)\",display:\"inline-block\"},children:\"▾\"})]}),open&&/*#__PURE__*/_jsx(\"div\",{style:{maxHeight:\"70vh\",overflowY:\"auto\",borderTop:`1px solid ${ink}22`,background:paper},onClick:e=>e.stopPropagation(),children:/*#__PURE__*/_jsx(\"div\",{style:{padding:M?\"8px 20px 24px\":\"16px 32px 32px\"},children:fullList.map((r,i)=>renderRow(r,i===fullList.length-1,i))})}),open&&/*#__PURE__*/_jsx(\"div\",{onClick:()=>setOpen(false),style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,zIndex:-1,background:\"transparent\"}})]});return typeof document!==\"undefined\"?/*#__PURE__*/ReactDOM.createPortal(stickyBar,document.body):null;}SectionMenu.defaultProps={rows:SEED_ROWS,hideRow:0,homeLabel:\"Home\",homeLink:\"/\",showHome:true,eyebrow:\"Menu\",barTitle:\"\",paper:\"#F4EFE6\",ink:\"#121212\",blue:\"#006EB6\",mobile:false};addPropertyControls(SectionMenu,{eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"Menu\",description:\"Small caps text on the left of the bar. Leave blank to hide.\"},barTitle:{type:ControlType.String,title:\"Bar title\",defaultValue:\"\",description:\"Italic text on the bar. Leave blank to hide.\"},hideRow:{type:ControlType.Number,title:\"Hide row\",min:0,max:12,step:1,defaultValue:0,description:\"1-based index of the row to hide (e.g. 4 hides Company). 0 = show all.\"},showHome:{type:ControlType.Boolean,title:\"Show Home\",defaultValue:true},homeLabel:{type:ControlType.String,title:\"Home label\",defaultValue:\"Home\",hidden:p=>!p.showHome},homeLink:{type:ControlType.Link,title:\"Home link\",hidden:p=>!p.showHome},rows:{type:ControlType.Array,title:\"Sections\",maxCount:12,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Selected Work\"},link:{type:ControlType.Link,title:\"Link\",description:\"Internal Framer page, external URL, or #anchor\"}}},defaultValue:SEED_ROWS},paper:{type:ControlType.Color,title:\"Paper\",defaultValue:\"#F4EFE6\"},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#121212\"},blue:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#006EB6\"},mobile:{type:ControlType.Boolean,title:\"Mobile\",defaultValue:false,description:\"Turn ON in Phone breakpoint\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SectionMenu\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SectionHeaderToggle.map"],"mappings":"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"}