{"version":3,"file":"StackNav.B-jkFxPp.mjs","names":["React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/fe1GgK3u8KPWgrNAgJ9q/3t14iiXNq2x3OtGODTx1/R7cF9KeO_.js","https:/framerusercontent.com/modules/HchrCVonMvWyxdDe3bxl/maO2KC7bm4dq6ieIY0tS/StackNav.js"],"sourcesContent":["// Generated by Framer (b16259d)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"myQnLS_LY\",\"DGNy69QyO\"];const serializationHash=\"framer-pimvf\";const variantClassNames={DGNy69QyO:\"framer-v-vpirm3\",myQnLS_LY:\"framer-v-oyusf2\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Black:\"myQnLS_LY\",White:\"DGNy69QyO\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"myQnLS_LY\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"myQnLS_LY\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-oyusf2\",className,classNames),\"data-framer-name\":\"Black\",layoutDependency:layoutDependency,layoutId:\"myQnLS_LY\",ref:refBinding,style:{backgroundColor:\"var(--token-adad25f0-38f8-4b93-aee5-afaa8f94d3b5, rgb(0, 0, 0))\",...style},variants:{DGNy69QyO:{backgroundColor:\"var(--token-e86809db-bdc6-405e-942b-115a15fc7c33, rgb(251, 251, 251))\"}},...addPropertyOverrides({DGNy69QyO:{\"data-framer-name\":\"White\"}},baseVariant,gestureVariant)})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-pimvf.framer-8bzh2w, .framer-pimvf .framer-8bzh2w { display: block; }\",\".framer-pimvf.framer-oyusf2 { height: 153px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 153px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 153\n * @framerIntrinsicWidth 153\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"DGNy69QyO\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerR7cF9KeO_=withCSS(Component,css,\"framer-pimvf\");export default FramerR7cF9KeO_;FramerR7cF9KeO_.displayName=\"Background Fill\";FramerR7cF9KeO_.defaultProps={height:153,width:153};addPropertyControls(FramerR7cF9KeO_,{variant:{options:[\"myQnLS_LY\",\"DGNy69QyO\"],optionTitles:[\"Black\",\"White\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerR7cF9KeO_,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerR7cF9KeO_\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"153\",\"framerIntrinsicHeight\":\"153\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"DGNy69QyO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./R7cF9KeO_.map","// Surfaces use a shared dark-glass treatment: see the Button / Card colour,\n// Border and Blur controls to tune it.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";function findTargetLayer(targetId){if(typeof window===\"undefined\"||!targetId)return null;// Both breakpoint trees are in the DOM and carry the same Element IDs, but\n// only the active one is laid out. getElementById returns whichever comes\n// first in document order, which may be the hidden breakpoint -- so match\n// every candidate and take the one that is actually rendered.\nconst candidates=Array.from(document.querySelectorAll('[id=\"'+targetId+'\"]'));const visible=candidates.find(node=>node instanceof HTMLElement&&node.offsetParent!==null);return visible??null;}// Measure the layer's own LAYOUT position rather than a neighbour's rect.\n// position: sticky only shifts painting, so offsetTop still reports where the\n// layer sits in flow, and offsetParent is the stack group (position: relative).\n// The previous approach read previousElementSibling and assumed it was the\n// spacer -- for card-01 it is not, which put its target below card-02's and\n// past the end of the page, so the browser clamped the scroll to the footer.\nfunction scrollPositionFor(element){const group=element.parentElement;if(!(group instanceof HTMLElement)){return element.getBoundingClientRect().top+window.scrollY;}// Sum the layout heights of everything before this layer inside the group.\n// offsetHeight is a layout measurement, so unlike getBoundingClientRect or\n// offsetTop it is untouched by sticky pinning -- which is what broke every\n// earlier attempt: they read the painted position, and a pinned card is\n// painted at the current scroll offset rather than where it lives in flow.\nlet offset=0;for(const child of Array.from(group.children)){if(child===element)break;if(child instanceof HTMLElement)offset+=child.offsetHeight;}return group.getBoundingClientRect().top+window.scrollY+offset;}/**\n * Stack Nav\n *\n * Bottom-centre toggle that opens a floating menu above itself. Place it inside\n * a Frame set to position fixed -- code components cannot be fixed themselves.\n *\n * @framerIntrinsicWidth 48\n * @framerIntrinsicHeight 48\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function StackNav(props){const{homePath,homeLabel,homeTargetId,projectsLabel,projects,otherLabel,links,previewOpen,buttonSize,buttonRadius,buttonColor,buttonBorderColor,buttonBorderWidth,buttonBlur,iconColor,iconSize,iconThickness,iconGap,cardWidth,cardMaxWidthVw,cardColor,cardBorderColor,cardBlur,cardRadius,cardPadding,groupGap,itemGap,cardOffset,shadow,labelFont,labelColor,itemFont,itemColor,dividerColor,duration,riseDistance,startScale,hoverScale,pressScale,hoverDuration,springStiffness,springDamping,stagger,itemOffset}=props;const isStatic=useIsStaticRenderer();const[open,setOpen]=useState(false);const rootRef=useRef(null);// Clicking anywhere outside the button or the card closes the menu.\nuseEffect(()=>{if(!open||typeof window===\"undefined\")return;const onPointerDown=event=>{const root=rootRef.current;if(!root)return;if(event.target instanceof Node&&!root.contains(event.target)){setOpen(false);}};document.addEventListener(\"pointerdown\",onPointerDown);return()=>document.removeEventListener(\"pointerdown\",onPointerDown);},[open]);// Any page scroll closes the menu. On the stack page the nav is faded out\n// and disabled past a scroll threshold, and the overlay lives inside that\n// same wrapper -- so an open menu would otherwise vanish with it and then\n// reappear still open on the way back up.\nuseEffect(()=>{if(!open||typeof window===\"undefined\")return;const onScroll=()=>setOpen(false);window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>window.removeEventListener(\"scroll\",onScroll);},[open]);// Arriving from another page with a target in the hash. The stack page sizes\n// itself from measured heights, so the layout has to settle before an offset\n// means anything -- hence the wait for load plus a couple of frames.\nuseEffect(()=>{if(typeof window===\"undefined\"||isStatic)return;const hash=window.location.hash.replace(\"#\",\"\");if(!hash)return;let cancelled=false;const jump=()=>{if(cancelled)return;const layer=findTargetLayer(hash);if(!layer)return;window.scrollTo({top:scrollPositionFor(layer),behavior:\"auto\"});window.history.replaceState(null,\"\",window.location.pathname+window.location.search);};const start=()=>requestAnimationFrame(()=>requestAnimationFrame(()=>setTimeout(jump,80)));if(document.readyState===\"complete\")start();else window.addEventListener(\"load\",start,{once:true});return()=>{cancelled=true;};},[isStatic]);const goToProject=targetId=>{setOpen(false);if(typeof window===\"undefined\"||!targetId)return;// Whether the target exists on this page is a far more reliable test\n// than comparing pathnames, which do not match inside Framer's preview\n// and would send every click off on a cross-page navigation.\nconst layer=findTargetLayer(targetId);if(layer){window.scrollTo({top:scrollPositionFor(layer),behavior:\"smooth\"});return;}window.location.href=homePath+\"#\"+targetId;};const goHome=()=>{setOpen(false);if(typeof window===\"undefined\")return;// The same presence test the project anchors use. If the hero is on\n// this page we are already Home, so scroll rather than navigate --\n// comparing pathnames does not survive Framer's preview.\nif(findTargetLayer(homeTargetId)){window.scrollTo({top:0,behavior:\"smooth\"});return;}// No hash needed: a fresh navigation lands at the top anyway.\nwindow.location.href=homePath;};const goToLink=link=>{setOpen(false);if(typeof window===\"undefined\"||!link)return;window.location.href=link;};const labelStyle={...labelFont,color:labelColor};const itemStyle={background:\"transparent\",border:\"none\",padding:0,margin:0,cursor:\"pointer\",width:\"100%\",textAlign:\"left\",...itemFont,color:itemColor};const barStyle={position:\"absolute\",left:0,top:\"50%\",width:iconSize,height:iconThickness,marginTop:-iconThickness/2,borderRadius:iconThickness,background:iconColor};const transition={duration,ease:[.22,1,.36,1]};const showCard=open||isStatic&&previewOpen;const dividerSpace=Math.max(0,groupGap-itemGap);// Shared so both rules sit on identical spacing.\nconst dividerStyle={width:\"100%\",height:1,background:dividerColor,flex:\"none\",marginTop:dividerSpace,marginBottom:dividerSpace};const cardVariants={hidden:{opacity:0,y:riseDistance,scale:startScale,x:\"-50%\"},visible:{opacity:1,y:0,scale:1,x:\"-50%\",transition:{type:\"spring\",stiffness:springStiffness,damping:springDamping,staggerChildren:stagger,delayChildren:stagger}},// Closing is a quick simultaneous fade rather than a reverse stagger.\n// The children carry no exit variant, so they simply ride the card out\n// instead of animating against it, which is what would look janky.\nexit:{opacity:0,y:riseDistance,scale:startScale,x:\"-50%\",transition:{duration:duration*.6,ease:\"easeIn\"}}};const itemVariants={hidden:{opacity:0,y:itemOffset},visible:{opacity:1,y:0,transition:{duration,ease:[.22,1,.36,1]}}};return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{...props.style,position:\"relative\",width:buttonSize,height:buttonSize},children:[/*#__PURE__*/_jsx(AnimatePresence,{children:showCard?/*#__PURE__*/_jsxs(motion.div,{variants:cardVariants,initial:\"hidden\",animate:\"visible\",exit:\"exit\",style:{position:\"absolute\",bottom:buttonSize+cardOffset,left:\"50%\",width:cardWidth,// Keeps the fixed width on wider screens but lets\n// the card shrink rather than overflow on narrow\n// ones -- no breakpoint needed for either.\nmaxWidth:cardMaxWidthVw+\"vw\",background:cardColor,borderRadius:cardRadius,padding:cardPadding,boxShadow:shadow,// Same glass treatment as the button so the two\n// read as one floating system rather than two\n// separately styled surfaces.\nboxSizing:\"border-box\",border:buttonBorderWidth+\"px solid \"+cardBorderColor,backdropFilter:\"blur(\"+cardBlur+\"px)\",WebkitBackdropFilter:\"blur(\"+cardBlur+\"px)\",display:\"flex\",flexDirection:\"column\",// One flat list, so a single staggerChildren covers\n// labels, items and divider in visual order. Group\n// spacing comes from the divider's own margins.\ngap:itemGap,transformOrigin:\"bottom center\"},children:[homeLabel?/*#__PURE__*/_jsx(motion.button,{variants:itemVariants,style:itemStyle,onClick:goHome,children:homeLabel},\"home\"):null,homeLabel?/*#__PURE__*/_jsx(motion.div,{variants:itemVariants,style:dividerStyle},\"home-divider\"):null,projectsLabel?/*#__PURE__*/_jsx(motion.span,{variants:itemVariants,style:labelStyle,children:projectsLabel}):null,(projects??[]).map((item,index)=>/*#__PURE__*/_jsx(motion.button,{variants:itemVariants,style:itemStyle,onClick:()=>goToProject(item.targetId),children:item.label},\"project-\"+index)),(links??[]).length>0?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{variants:itemVariants,style:dividerStyle}),otherLabel?/*#__PURE__*/_jsx(motion.span,{variants:itemVariants,style:labelStyle,children:otherLabel}):null,links.map((item,index)=>/*#__PURE__*/_jsx(motion.button,{variants:itemVariants,style:itemStyle,onClick:()=>goToLink(item.link),children:item.label},\"link-\"+index))]}):null]},\"card\"):null}),/*#__PURE__*/_jsx(motion.button,{\"aria-label\":open?\"Close menu\":\"Open menu\",\"aria-expanded\":open,onClick:()=>setOpen(value=>!value),whileHover:{scale:hoverScale},whileTap:{scale:pressScale},transition:{duration:hoverDuration,ease:\"easeOut\"},style:{width:buttonSize,height:buttonSize,boxSizing:\"border-box\",borderRadius:buttonRadius,background:buttonColor,boxShadow:shadow,// The border and the blur do the separating; the shadow is\n// now a third layer on top rather than the only thing\n// holding the button apart from what is behind it.\nborder:buttonBorderWidth+\"px solid \"+buttonBorderColor,backdropFilter:\"blur(\"+buttonBlur+\"px)\",WebkitBackdropFilter:\"blur(\"+buttonBlur+\"px)\",padding:0,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",width:iconSize,height:iconGap*2+iconThickness},children:[/*#__PURE__*/_jsx(motion.span,{style:barStyle,animate:{rotate:open?45:0,y:open?0:-iconGap},transition:transition}),/*#__PURE__*/_jsx(motion.span,{style:barStyle,animate:{rotate:open?-45:0,y:open?0:iconGap},transition:transition})]})})]});}addPropertyControls(StackNav,{homePath:{type:ControlType.String,title:\"Home Path\",defaultValue:\"/home-scale-reveal\",description:\"Page holding the stack cards. Project items navigate here first when opened from elsewhere.\"},// Blank by design: the menu lists projects only. An instance cannot\n// override this to \"\" — Framer reads an empty string as \"no value\" and\n// falls back to the default — so the default is the only place it works.\nhomeLabel:{type:ControlType.String,title:\"Home Label\",defaultValue:\"\"},homeTargetId:{type:ControlType.String,title:\"Home Target\",defaultValue:\"hero\",description:\"Element ID that exists only on the home page. Used to tell 'already here' from 'navigate there'.\"},projectsLabel:{type:ControlType.String,title:\"Projects Label\",defaultValue:\"Projects\"},projects:{type:ControlType.Array,title:\"Projects\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,defaultValue:\"Carmarket\"},targetId:{type:ControlType.String,defaultValue:\"carmarket\",description:\"Element ID of the card layer to scroll to.\"}}},defaultValue:[{label:\"Carmarket\",targetId:\"carmarket\"},{label:\"Designwerk\",targetId:\"designwerk\"}]},otherLabel:{type:ControlType.String,title:\"Other Label\",defaultValue:\"\"},links:{type:ControlType.Array,title:\"Links\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,defaultValue:\"Photography\"},link:{type:ControlType.String,defaultValue:\"/photography\",placeholder:\"/photography\",description:\"Page path or full URL.\"}}},// Photography is unlisted: reachable by direct link only, so it is\n// deliberately absent from the menu.\ndefaultValue:[]},previewOpen:{type:ControlType.Boolean,title:\"Preview Open\",defaultValue:false,description:\"Shows the card on the canvas so it can be styled. Has no effect on the live site.\"},buttonSize:{type:ControlType.Number,title:\"Button Size\",defaultValue:48,min:32,max:96,unit:\"px\"},buttonRadius:{type:ControlType.BorderRadius,title:\"Button Radius\",defaultValue:\"12px\"},buttonColor:{type:ControlType.Color,title:\"Button\",defaultValue:\"rgba(32, 32, 36, 0.62)\"},buttonBorderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"rgba(255, 255, 255, 0.1)\"},buttonBorderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1,min:0,max:6,step:.5,unit:\"px\"},buttonBlur:{type:ControlType.Number,title:\"Blur\",defaultValue:12,min:0,max:40,unit:\"px\"},iconColor:{type:ControlType.Color,title:\"Icon\",defaultValue:\"rgba(255, 255, 255, 0.95)\"},iconSize:{type:ControlType.Number,title:\"Icon Width\",defaultValue:18,min:8,max:40,unit:\"px\"},iconThickness:{type:ControlType.Number,title:\"Icon Weight\",defaultValue:2,min:1,max:6,unit:\"px\"},iconGap:{type:ControlType.Number,title:\"Icon Gap\",defaultValue:5,min:2,max:14,unit:\"px\"},cardWidth:{type:ControlType.Number,title:\"Card Width\",defaultValue:260,min:160,max:480,unit:\"px\"},cardMaxWidthVw:{type:ControlType.Number,title:\"Card Max Width\",defaultValue:85,min:40,max:100,unit:\"vw\"},cardColor:{type:ControlType.Color,title:\"Card\",defaultValue:\"rgba(32, 32, 36, 0.62)\"},cardBorderColor:{type:ControlType.Color,title:\"Card Border\",defaultValue:\"rgba(255, 255, 255, 0.1)\"},cardBlur:{type:ControlType.Number,title:\"Card Blur\",defaultValue:12,min:0,max:40,unit:\"px\"},cardRadius:{type:ControlType.BorderRadius,title:\"Card Radius\",defaultValue:\"20px\"},cardPadding:{type:ControlType.Padding,title:\"Card Padding\",defaultValue:\"24px\"},groupGap:{type:ControlType.Number,title:\"Group Gap\",defaultValue:16,min:0,max:64,unit:\"px\"},itemGap:{type:ControlType.Number,title:\"Item Gap\",defaultValue:6,min:0,max:40,unit:\"px\"},cardOffset:{type:ControlType.Number,title:\"Card Offset\",defaultValue:16,min:0,max:80,unit:\"px\"},shadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0px 16px 40px 0px rgba(0, 0, 0, 0.18)\"},labelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"13px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"}},labelColor:{type:ControlType.Color,title:\"Label\",defaultValue:\"rgba(255, 255, 255, 0.5)\"},itemFont:{type:ControlType.Font,title:\"Item Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"20px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1.35em\"}},itemColor:{type:ControlType.Color,title:\"Item\",defaultValue:\"rgba(255, 255, 255, 0.95)\"},dividerColor:{type:ControlType.Color,title:\"Divider\",defaultValue:\"rgba(255, 255, 255, 0.12)\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:.28,min:.05,max:1.2,step:.01,unit:\"s\"},riseDistance:{type:ControlType.Number,title:\"Rise\",defaultValue:12,min:0,max:60,unit:\"px\"},startScale:{type:ControlType.Number,title:\"Start Scale\",defaultValue:.94,min:.5,max:1,step:.01},hoverScale:{type:ControlType.Number,title:\"Hover Scale\",defaultValue:1.08,min:1,max:1.4,step:.01},pressScale:{type:ControlType.Number,title:\"Press Scale\",defaultValue:.95,min:.7,max:1,step:.01},hoverDuration:{type:ControlType.Number,title:\"Hover Duration\",defaultValue:.16,min:.05,max:.6,step:.01,unit:\"s\"},springStiffness:{type:ControlType.Number,title:\"Spring Stiffness\",defaultValue:420,min:80,max:900,step:10},springDamping:{type:ControlType.Number,title:\"Spring Damping\",defaultValue:26,min:6,max:60,step:1},stagger:{type:ControlType.Number,title:\"Stagger\",defaultValue:.04,min:0,max:.2,step:.005,unit:\"s\"},itemOffset:{type:ControlType.Number,title:\"Item Offset\",defaultValue:8,min:0,max:40,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StackNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"48\",\"framerIntrinsicWidth\":\"48\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StackNav.map"],"mappings":"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"}