{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/ycJ3hvya1E2nZy9LZOBU/O291Xu091Yq1T3OphWWY/ToC_Code.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{motion}from\"framer-motion\";// Function to generate a unique ID for headings\nfunction generateId(text){return text.toLowerCase().replace(/[^a-z0-9]+/g,\"-\");}export function TableOfContents(){const[headings,setHeadings]=useState([]);const[activeId,setActiveId]=useState(\"\");const[isVisible,setIsVisible]=useState(false);useEffect(()=>{const headingElements=Array.from(document.querySelectorAll(\"h2\")).map(el=>{const id=el.id||generateId(el.innerText);el.id=id;return{id,text:el.innerText,tag:el.tagName};});// Filter out the \"Table of Contents\" heading by its text\nconst filteredHeadings=headingElements.filter(heading=>heading.text!==\"Table of Contents\");const uniqueHeadings=Array.from(new Set(filteredHeadings.map(heading=>heading.id))).map(id=>filteredHeadings.find(heading=>heading.id===id));setHeadings(uniqueHeadings);const handleScroll=()=>{let currentId=\"\";filteredHeadings.forEach(heading=>{const section=document.getElementById(heading.id);const bounding=section.getBoundingClientRect();if(bounding.top<window.innerHeight&&bounding.bottom>0){currentId=heading.id;}});setActiveId(currentId);};window.addEventListener(\"scroll\",handleScroll);return()=>window.removeEventListener(\"scroll\",handleScroll);},[]);const handleClick=id=>{const element=document.getElementById(id);if(element){const headerOffset=150// Adjust this value between 100-200px\n;const elementPosition=element.getBoundingClientRect().top+window.scrollY;const offsetPosition=elementPosition-headerOffset;window.scrollTo({top:offsetPosition,behavior:\"smooth\"});}};const toggleToC=()=>{setIsVisible(!isVisible);};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.button,{onClick:toggleToC,style:{position:\"fixed\",bottom:\"20px\",left:\"20px\",padding:\"10px\",backgroundColor:\"#D4B15B\",color:\"#fff\",borderRadius:\"50%\",border:\"none\",zIndex:99999,boxShadow:\"0px 4px 8px rgba(0, 0, 0, 0.2)\",fontSize:\"20px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},whileHover:{scale:1.1},children:isVisible?/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"feather feather-x\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})]}):/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"feather feather-list\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"8\",y1:\"6\",x2:\"21\",y2:\"6\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"8\",y1:\"12\",x2:\"21\",y2:\"12\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"8\",y1:\"18\",x2:\"21\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"6\",x2:\"3\",y2:\"6\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"12\",x2:\"3\",y2:\"12\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"18\",x2:\"3\",y2:\"18\"})]})}),/*#__PURE__*/_jsxs(motion.div,{initial:{left:\"-400px\"},animate:{left:isVisible?\"20px\":\"-400px\"},transition:{duration:.4},style:{position:\"fixed\",bottom:\"80px\",width:\"320px\",maxHeight:\"60vh\",overflowY:\"auto\",backgroundColor:\"#fff\",boxShadow:\"0 4px 12px rgba(0, 0, 0, 0.1)\",padding:\"10px 20px 20px 20px\",zIndex:99999,borderRadius:\"8px\"},children:[/*#__PURE__*/_jsx(\"h2\",{style:{fontFamily:\"'Poppins', sans-serif\",color:\"#333\",marginBottom:\"20px\",textAlign:\"left\"},children:\"Table of Contents\"}),/*#__PURE__*/_jsx(\"ul\",{style:{listStyleType:\"none\",padding:0},children:headings.map(heading=>/*#__PURE__*/_jsx(\"li\",{style:{marginBottom:\"10px\"},children:/*#__PURE__*/_jsx(\"a\",{href:`#${heading.id}`,onClick:e=>{e.preventDefault();handleClick(heading.id);},style:{color:activeId===heading.id?\"#D4B15B\"// Gold color for active heading\n    :\"#333\",fontWeight:activeId===heading.id?\"bold\":\"normal\",fontSize:\"14px\",fontFamily:\"'Poppins', sans-serif\",textDecoration:activeId===heading.id?\"underline\":\"none\",cursor:\"pointer\"},children:heading.text})},heading.id))})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n                    @media (max-width: 390px) {\n                        .motion-button {\n                            bottom: 10px;\n                            left: 10px;\n                            padding: 8px;\n                            font-size: 18px; /* Slightly smaller button for mobile */\n                        }\n                        .motion-div {\n                            width: 90vw; /* 90% of the viewport width for ToC */\n                            max-height: 50vh; /* Slightly shorter height for mobile */\n                            bottom: 60px; /* More padding at the bottom */\n                            padding: 8px 16px; /* Reduced padding for mobile */\n                        }\n                        .motion-heading {\n                            font-size: 16px; /* Smaller font size for heading */\n                        }\n                        .motion-link {\n                            font-size: 12px; /* Smaller font size for links */\n                        }\n                    }\n                `})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"TableOfContents\":{\"type\":\"reactComponent\",\"name\":\"TableOfContents\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ToC_Code.map"],
  "mappings": "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",
  "names": ["generateId", "text", "TableOfContents", "headings", "setHeadings", "ye", "activeId", "setActiveId", "isVisible", "setIsVisible", "ue", "filteredHeadings", "el", "id", "heading", "uniqueHeadings", "handleScroll", "currentId", "bounding", "window", "handleClick", "element", "offsetPosition", "toggleToC", "u", "l", "p", "motion", "e"]
}
