{"version":3,"file":"TableofContent.CMPj2iSd.mjs","names":["React.useState","useState"],"sources":["https:/framerusercontent.com/modules/eFUjhlGIvNjyYdLl2h3y/DXNJEGfdColmyFmcfxY0/AdsBanner.js","https:/framerusercontent.com/modules/EfmP9Fm4ANYa8NWfsXHY/ThVkQ5kSUHkzl8MSDkC5/TableofContent.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function RandomImage({image1,link1,image2,link2,image3,link3}){const images=[{src:image1,link:link1},{src:image2,link:link2},{src:image3,link:link3}];const[selected,setSelected]=React.useState(null);React.useEffect(()=>{const randomIndex=Math.floor(Math.random()*images.length);setSelected(images[randomIndex]);},[]);const handleClick=()=>{if(selected?.link){window.location.href=selected.link;}};return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",cursor:\"pointer\"},onClick:handleClick,children:selected?.src&&/*#__PURE__*/_jsx(\"img\",{src:selected.src,alt:\"Random\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})});}// Add props to Framer UI\naddPropertyControls(RandomImage,{image1:{type:ControlType.Image,title:\"Image 1\"},link1:{type:ControlType.String,title:\"Link 1\"},image2:{type:ControlType.Image,title:\"Image 2\"},link2:{type:ControlType.String,title:\"Link 2\"},image3:{type:ControlType.Image,title:\"Image 3\"},link3:{type:ControlType.String,title:\"Link 3\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RandomImage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AdsBanner.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{ControlType,addPropertyControls}from\"framer\";export function TableOfContents(props){const{richTextId,highlightColor}=props;const[headings,setHeadings]=useState([]);const[activeId,setActiveId]=useState(\"\");const[loading,setLoading]=useState(true);useEffect(()=>{if(!richTextId)return;const container=document.getElementById(richTextId);if(!container)return;const tags=Array.from(container.querySelectorAll(\"h2, h3, h4, h5, h6\"));const extracted=tags.map(el=>{const tag=el.tagName.toLowerCase();const level=parseInt(tag.replace(\"h\",\"\"));const text=el.textContent?.trim()||\"\";const id=el.id||text.toLowerCase().replace(/[^\\w\\s]/g,\"\").replace(/\\s+/g,\"-\");el.id=id;return{id,text,level};});setHeadings(extracted);setLoading(false);const observer=new IntersectionObserver(entries=>{const visible=entries.filter(e=>e.isIntersecting).sort((a,b)=>a.boundingClientRect.top-b.boundingClientRect.top)[0];if(visible)setActiveId(visible.target.id);},{rootMargin:`-${80}px 0px -60% 0px`,threshold:.1});extracted.forEach(h=>{const el=document.getElementById(h.id);if(el)observer.observe(el);});return()=>observer.disconnect();},[richTextId]);const scrollTo=id=>{const el=document.getElementById(id);if(!el)return;const headerOffset=80// adjust to your sticky header height\n;const elementPosition=el.getBoundingClientRect().top+window.scrollY;const offsetPosition=elementPosition-headerOffset;window.scrollTo({top:offsetPosition,behavior:\"smooth\"});};let h2Count=0;let subCount=0;return /*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"Plus Jakarta Sans\"},children:loading?/*#__PURE__*/_jsxs(\"div\",{style:{textAlign:\"center\",padding:\"40px 0\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"32px\",height:\"32px\",border:`4px solid ${highlightColor}`,borderTop:\"4px solid transparent\",borderRadius:\"50%\",animation:\"spin 1s linear infinite\",margin:\"0 auto\"}}),/*#__PURE__*/_jsx(\"style\",{children:`\n                        @keyframes spin {\n                            0% { transform: rotate(0deg); }\n                            100% { transform: rotate(360deg); }\n                        }\n                    `})]}):/*#__PURE__*/_jsx(\"ul\",{style:{padding:0,margin:0,listStyle:\"none\"},children:headings.map((h,i)=>{const isH2=h.level===2;if(isH2){h2Count++;subCount=0;}else{subCount++;}const label=isH2?`${h2Count}. ${h.text}`:`   ${String.fromCharCode(96+subCount)}. ${h.text}`;return /*#__PURE__*/_jsx(\"li\",{onClick:()=>scrollTo(h.id),style:{cursor:\"pointer\",marginLeft:isH2?0:24,fontWeight:500,fontSize:\"18px\",lineHeight:\"150%\",fontStyle:\"normal\",color:h.id===activeId?highlightColor:\"#0C0020\",marginBottom:12,transition:\"all 0.3s ease\"},onMouseEnter:e=>{if(h.id!==activeId){e.currentTarget.style.color=highlightColor;}},onMouseLeave:e=>{if(h.id!==activeId){e.currentTarget.style.color=\"#0C0020\";}},children:label},i);})})});}addPropertyControls(TableOfContents,{richTextId:{type:ControlType.String,title:\"Rich Text ID\",placeholder:\"e.g. blog-content\"},highlightColor:{type:ControlType.Color,title:\"Highlight Color\",defaultValue:\"#FFD700\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"TableOfContents\":{\"type\":\"reactComponent\",\"name\":\"TableOfContents\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TableofContent.map"],"mappings":"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"}