{"version":3,"file":"AutoTableOfContents.5SyOukdD.mjs","names":["useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/yzzpC6QCLf9ItHNhrAQ8/1DXFxOT7AXwCKyIkRRBq/AutoTableOfContents.js"],"sourcesContent":["// User request: Create a new Framer code component named AutoTableOfContents that auto-builds a TOC from page anchors, supports includeIds/depthMap parsing, smooth scrolling, active-section highlighting, accessibility, dark translucent styling, and configurable property controls with SSR-safe runtime document/window access.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function idToTitle(id){return id.replace(/[-_]+/g,\" \").replace(/\\s+/g,\" \").trim().replace(/\\b\\w/g,char=>char.toUpperCase());}function parseCsv(value){return value.split(\",\").map(part=>part.trim()).filter(Boolean);}function parseDepthMap(value){const entries=parseCsv(value);const map={};for(const entry of entries){const[idPart,depthPart]=entry.split(\":\").map(part=>part?.trim()??\"\");if(!idPart)continue;const parsedDepth=Number(depthPart);if(parsedDepth===2||parsedDepth===3){map[idPart]=parsedDepth;}else{map[idPart]=1;}}return map;}function inferLabelFromElement(element){const ariaLabel=element.getAttribute(\"aria-label\")?.trim();if(ariaLabel)return ariaLabel;const dataLabel=element.getAttribute(\"data-toc-label\")?.trim();if(dataLabel)return dataLabel;const heading=element.querySelector(\"h1, h2, h3\");const headingText=heading?.textContent?.trim();if(headingText)return headingText;return idToTitle(element.id);}const friendlyFallbackLabels={\"storm-reavers\":\"Storm Reavers\",\"version-1\":\"Version 1 — Concept\",\"version-2\":\"Version 2 — The pivot\",\"gravity-mechanics\":\"Gravity mechanic overview\",\"island-generation\":\"Island generation\",\"enemies-movement\":\"Enemies\",tooling:\"Tooling\",\"rd-movement\":\"R&D / Experiments — 3D movement in 2D\"};/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function AutoTableOfContents(props){const{useCustomItems,items:customItems,includeIds,depthMap,selector,backgroundColor,borderColor,accentColor,textColor,mutedColor,currentBackground,radius,padding,rowGap,fontSize,numberStyle,numberMode,indentSize,numberWidth,groupTextColor,groupBackground,groupFontSize,groupFontWeight,font}=props;const isStatic=useIsStaticRenderer();const[items,setItems]=useState([]);const[activeId,setActiveId]=useState(\"\");const[hasMounted,setHasMounted]=useState(false);const resolvedFontSize=font?.fontSize??`${fontSize}px`;const depthLookup=useMemo(()=>parseDepthMap(depthMap),[depthMap]);const includeList=useMemo(()=>parseCsv(includeIds),[includeIds]);const includeSet=useMemo(()=>new Set(includeList),[includeList]);const fallbackItems=useMemo(()=>includeList.map(id=>({id,label:friendlyFallbackLabels[id]??idToTitle(id),depth:depthLookup[id]??1})),[includeList,depthLookup]);const displayItems=useMemo(()=>items.length>0?items:fallbackItems,[items,fallbackItems]);const discoveredLabelMap=useMemo(()=>{const map=new Map;for(const item of displayItems){map.set(item.id,item.label);}return map;},[displayItems]);const visibleCustomItems=useMemo(()=>(customItems||[]).filter(item=>item?.visible!==false),[customItems]);const hasCustomItems=useCustomItems&&visibleCustomItems.length>0;const inferLabelById=useCallback(id=>{const discovered=discoveredLabelMap.get(id);if(discovered)return discovered;if(typeof document!==\"undefined\"){const element=document.getElementById(id);if(element)return inferLabelFromElement(element);}return friendlyFallbackLabels[id]??idToTitle(id);},[discoveredLabelMap]);const renderRows=useMemo(()=>{if(hasCustomItems){return visibleCustomItems.map((item,index)=>{const safeDepth=Math.max(1,Math.min(4,Number(item.depth)||1));const itemType=item.type===\"Group\"?\"Group\":\"Link\";const id=itemType===\"Link\"?(item.id||\"\").trim():\"\";const baseLabel=(item.label||\"\").trim();const fallbackLabel=id?inferLabelById(id):`Group ${index+1}`;const key=(item.key||id||`row-${index}`).trim();return{type:itemType,id:id||undefined,label:baseLabel||fallbackLabel,depth:safeDepth,parentKey:(item.parentKey||\"\").trim(),key,numbered:item.numbered!==false};});}const latestKeyByDepth={};return displayItems.map((item,index)=>{const depth=Math.max(1,Math.min(4,item.depth));const key=item.id||`row-${index}`;const parentDepth=depth-1;const parentKey=depth===1?\"root\":latestKeyByDepth[parentDepth]||\"root\";latestKeyByDepth[depth]=key;for(let d=depth+1;d<=4;d++){delete latestKeyByDepth[d];}return{type:\"Link\",id:item.id,label:item.label,depth,parentKey,key,numbered:true};});},[hasCustomItems,visibleCustomItems,displayItems,inferLabelById]);const showAutoDetectHint=!useCustomItems&&includeList.length===0&&(isStatic||!hasMounted&&renderRows.length===0);const resolvedRenderRows=useMemo(()=>{if(!showAutoDetectHint||renderRows.length>0)return renderRows;return[{type:\"Group\",label:\"Auto-detecting page sections…\",depth:1,parentKey:\"root\",key:\"__auto_detect_hint__\",numbered:false}];},[showAutoDetectHint,renderRows]);const effectiveNumberMode=useMemo(()=>{if(numberStyle===\"None\")return\"None\";return numberMode;},[numberMode,numberStyle]);const rowNumbers=useMemo(()=>{const numbers=new Map;if(effectiveNumberMode===\"None\")return numbers;if(effectiveNumberMode===\"Global\"){let count=0;for(const row of resolvedRenderRows){if(!row.numbered)continue;count+=1;numbers.set(row.key,count.toString().padStart(2,\"0\"));}return numbers;}if(effectiveNumberMode===\"Reset by parent\"){const parentCounts={};let nearestGroupKey=\"\";for(const row of resolvedRenderRows){if(row.type===\"Group\"&&row.key){nearestGroupKey=row.key;}if(!row.numbered)continue;const resolvedParent=row.parentKey||nearestGroupKey||\"root\";parentCounts[resolvedParent]=(parentCounts[resolvedParent]??0)+1;numbers.set(row.key,parentCounts[resolvedParent].toString().padStart(2,\"0\"));}return numbers;}const counters=[0,0,0,0];for(const row of resolvedRenderRows){if(!row.numbered)continue;const depthIndex=row.depth-1;counters[depthIndex]+=1;for(let i=depthIndex+1;i<counters.length;i++)counters[i]=0;for(let i=0;i<depthIndex;i++){if(counters[i]===0)counters[i]=1;}const hierarchical=counters.slice(0,depthIndex+1).map(value=>value.toString().padStart(2,\"0\")).join(\".\");numbers.set(row.key,hierarchical);}return numbers;},[resolvedRenderRows,effectiveNumberMode]);const excludedIdPattern=/^(framer|__framer|header|footer|nav|navigation|menu|top|bottom|skip|page|root)/i;const collectItems=useCallback(()=>{if(typeof document===\"undefined\")return;const query=selector?.trim()||\"[id]\";const selectedElements=Array.from(document.querySelectorAll(query));const idToElement=new Map;for(const node of selectedElements){if(!(node instanceof HTMLElement))continue;const elementId=node.id?.trim();if(!elementId)continue;if(node.closest(\"header, footer, nav\"))continue;if(excludedIdPattern.test(elementId))continue;idToElement.set(elementId,node);}const nextItems=[];if(includeList.length>0){for(const id of includeList){const element=idToElement.get(id)||document.getElementById(id);if(!element)continue;nextItems.push({id,label:inferLabelFromElement(element),depth:depthLookup[id]??1});}}else{for(const element of idToElement.values()){const id=element.id;if(includeSet.size>0&&!includeSet.has(id))continue;nextItems.push({id,label:inferLabelFromElement(element),depth:depthLookup[id]??1});}}startTransition(()=>{setItems(nextItems);});},[selector,includeList,depthLookup,includeSet]);useEffect(()=>{if(typeof window!==\"undefined\"){startTransition(()=>setHasMounted(true));}else{startTransition(()=>setHasMounted(false));}},[]);useEffect(()=>{if(!hasMounted||isStatic)return;collectItems();},[collectItems,hasMounted,isStatic]);useEffect(()=>{if(!hasMounted||isStatic||resolvedRenderRows.length===0)return;if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(!(\"IntersectionObserver\"in window))return;const observer=new IntersectionObserver(entries=>{const visible=entries.filter(entry=>entry.isIntersecting).sort((a,b)=>b.intersectionRatio-a.intersectionRatio);if(visible.length===0)return;const first=visible[0].target;if(!first?.id)return;startTransition(()=>setActiveId(first.id));},{root:null,rootMargin:\"-20% 0px -65% 0px\",threshold:[.1,.25,.5,.75]});for(const item of resolvedRenderRows){if(item.type!==\"Link\"||!item.id)continue;const element=document.getElementById(item.id);if(element)observer.observe(element);}return()=>observer.disconnect();},[resolvedRenderRows,hasMounted,isStatic]);const handleLinkClick=useCallback((event,id)=>{event.preventDefault();if(typeof document!==\"undefined\"){const target=document.getElementById(id);if(target){target.scrollIntoView({behavior:\"smooth\",block:\"start\"});}}if(typeof window!==\"undefined\"){window.history.pushState(null,\"\",`#${id}`);}startTransition(()=>setActiveId(id));},[]);return /*#__PURE__*/_jsxs(\"nav\",{\"aria-label\":\"Table of contents\",style:{position:\"relative\",width:\"100%\",height:\"auto\",boxSizing:\"border-box\",background:backgroundColor,border:`1px solid ${borderColor}`,borderRadius:radius,padding,color:textColor,fontFamily:font?.fontFamily},children:[/*#__PURE__*/_jsx(\"ol\",{style:{margin:0,padding:0,listStyle:\"none\",display:\"flex\",flexDirection:\"column\",gap:rowGap},children:resolvedRenderRows.map(item=>{const isCurrent=item.type===\"Link\"&&item.id===activeId;const depthIndent=(item.depth-1)*indentSize;const numberValue=rowNumbers.get(item.key);const showNumber=effectiveNumberMode!==\"None\"&&item.numbered&&!!numberValue;return /*#__PURE__*/_jsx(\"li\",{style:{margin:0,padding:0},children:item.type===\"Link\"&&item.id?/*#__PURE__*/_jsxs(\"a\",{href:`#${item.id}`,onClick:event=>handleLinkClick(event,item.id),style:{minHeight:36,display:\"flex\",alignItems:\"center\",columnGap:10,textDecoration:\"none\",color:textColor,background:isCurrent?currentBackground:\"transparent\",borderRadius:8,padding:\"6px 8px\",paddingLeft:8+depthIndent,outline:\"none\",transition:\"background-color 180ms ease\"},children:[showNumber?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:numberWidth,minWidth:numberWidth,textAlign:\"right\",color:mutedColor,fontSize:12,lineHeight:\"1.35\"},children:numberValue}):null,/*#__PURE__*/_jsx(\"span\",{style:{color:isCurrent?accentColor:textColor,fontSize:resolvedFontSize,lineHeight:font?.lineHeight??\"1.35\",letterSpacing:font?.letterSpacing,fontWeight:font?.fontWeight,fontStyle:font?.fontStyle,textAlign:font?.textAlign??\"left\",minWidth:0,width:\"100%\",overflowWrap:\"anywhere\"},children:item.label})]}):/*#__PURE__*/_jsxs(\"div\",{role:\"listitem\",style:{minHeight:32,display:\"flex\",alignItems:\"center\",columnGap:10,color:groupTextColor,background:groupBackground,borderRadius:8,padding:\"6px 8px\",paddingLeft:8+depthIndent},children:[showNumber?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:numberWidth,minWidth:numberWidth,textAlign:\"right\",color:mutedColor,fontSize:12,lineHeight:\"1.35\"},children:numberValue}):null,/*#__PURE__*/_jsx(\"span\",{style:{color:groupTextColor,fontSize:groupFontSize,fontWeight:groupFontWeight,lineHeight:\"1.35\",minWidth:0,width:\"100%\",overflowWrap:\"anywhere\"},children:item.label})]})},item.key);})}),/*#__PURE__*/_jsx(\"style\",{children:`\n                    a[href^=\"#\"]:hover {\n                        background: ${currentBackground};\n                    }\n                    a[href^=\"#\"]:focus-visible {\n                        box-shadow: 0 0 0 2px ${accentColor} inset;\n                        background: ${currentBackground};\n                    }\n                `})]});}addPropertyControls(AutoTableOfContents,{// Custom items provide saved/manual structure. Disable to use runtime auto mode from selector/includeIds.\nuseCustomItems:{type:ControlType.Boolean,title:\"Use Custom\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Auto\"},items:{type:ControlType.Array,title:\"Items\",control:{type:ControlType.Object,controls:{type:{type:ControlType.Enum,options:[\"Link\",\"Group\"],optionTitles:[\"Link\",\"Group\"],defaultValue:\"Link\"},id:{type:ControlType.String,defaultValue:\"\",placeholder:\"section-id\"},label:{type:ControlType.String,defaultValue:\"\",placeholder:\"Optional label\"},depth:{type:ControlType.Number,defaultValue:1,min:1,max:4,step:1},parentKey:{type:ControlType.String,defaultValue:\"\",placeholder:\"root or group key\"},key:{type:ControlType.String,defaultValue:\"\",placeholder:\"Unique key\"},numbered:{type:ControlType.Boolean,defaultValue:true},visible:{type:ControlType.Boolean,defaultValue:true}}},defaultValue:[{type:\"Link\",id:\"storm-reavers\",label:\"Storm Reavers\",depth:1,parentKey:\"root\",key:\"storm-reavers\",numbered:true,visible:true},{type:\"Group\",key:\"versions\",label:\"Versions\",depth:2,parentKey:\"\",numbered:false,visible:true},{type:\"Link\",id:\"version-1\",label:\"Version 1 — Concept\",depth:3,parentKey:\"versions\",key:\"version-1\",numbered:true,visible:true},{type:\"Link\",id:\"version-2\",label:\"Version 2 — The pivot\",depth:3,parentKey:\"versions\",key:\"version-2\",numbered:true,visible:true},{type:\"Link\",id:\"gravity-mechanics\",label:\"Gravity mechanic overview\",depth:2,parentKey:\"root\",key:\"gravity-mechanics\",numbered:true,visible:true},{type:\"Link\",id:\"island-generation\",label:\"Island generation\",depth:2,parentKey:\"root\",key:\"island-generation\",numbered:true,visible:true},{type:\"Link\",id:\"enemies-movement\",label:\"Enemies\",depth:2,parentKey:\"root\",key:\"enemies-movement\",numbered:true,visible:true},{type:\"Link\",id:\"tooling\",label:\"Tooling\",depth:1,parentKey:\"root\",key:\"tooling\",numbered:true,visible:true},{type:\"Link\",id:\"rd-movement\",label:\"R&D / Experiments — 3D movement in 2D\",depth:1,parentKey:\"root\",key:\"rd-movement\",numbered:true,visible:true}]},includeIds:{type:ControlType.String,title:\"Include IDs\",defaultValue:\"storm-reavers,version-1,version-2,gravity-mechanics,island-generation,enemies-movement,tooling,rd-movement\",placeholder:\"id-one,id-two,id-three\"},depthMap:{type:ControlType.String,title:\"Depth Map\",defaultValue:\"storm-reavers:1,version-1:2,version-2:2,gravity-mechanics:2,island-generation:2,enemies-movement:2,tooling:1,rd-movement:1\",placeholder:\"id:1,id:2,id:3\"},selector:{type:ControlType.String,title:\"Selector\",defaultValue:\"[id]\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(20,20,20,0.75)\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"rgba(255,114,89,0.24)\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#FF7259\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#F5F5F5\"},mutedColor:{type:ControlType.Color,title:\"Number\",defaultValue:\"rgba(255,114,89,0.7)\"},currentBackground:{type:ControlType.Color,title:\"Current Row\",defaultValue:\"rgba(255,114,89,0.14)\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:14,min:0,max:40,step:1,unit:\"px\"},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:14,min:0,max:40,step:1,unit:\"px\"},rowGap:{type:ControlType.Number,title:\"Row Gap\",defaultValue:4,min:0,max:24,step:1,unit:\"px\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:14,min:10,max:24,step:1,unit:\"px\"},numberStyle:{type:ControlType.Enum,title:\"Numbers\",defaultValue:\"Decimal\",options:[\"Decimal\",\"None\"],optionTitles:[\"Decimal\",\"None\"],displaySegmentedControl:true},numberMode:{type:ControlType.Enum,title:\"Number Mode\",defaultValue:\"Reset by parent\",options:[\"Global\",\"Reset by parent\",\"Hierarchical\",\"None\"],optionTitles:[\"Global\",\"Reset\",\"Hierarchy\",\"None\"]},indentSize:{type:ControlType.Number,title:\"Indent\",defaultValue:20,min:8,max:48,step:1,unit:\"px\"},numberWidth:{type:ControlType.Number,title:\"Num Width\",defaultValue:28,min:16,max:64,step:1,unit:\"px\"},groupTextColor:{type:ControlType.Color,title:\"Group Text\",defaultValue:\"#F5F5F5\"},groupBackground:{type:ControlType.Color,title:\"Group BG\",defaultValue:\"rgba(255,114,89,0.08)\"},groupFontSize:{type:ControlType.Number,title:\"Group Size\",defaultValue:13,min:10,max:24,step:1,unit:\"px\"},groupFontWeight:{type:ControlType.Number,title:\"Group Weight\",defaultValue:600,min:100,max:900,step:100},font:{type:ControlType.Font,title:\"Label Font\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.35em\"},controls:\"extended\",defaultFontType:\"sans-serif\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AutoTableOfContents\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AutoTableOfContents.map"],"mappings":"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"}