{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/5FqIIZZcVGbWt0Jnl3Vz/rHTihFabDGYCz3C7P7uj/Table.js", "ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framerusercontent.com/modules/N3dKyHmOoCpV4niN3IpU/k3hZDoDDnLFADjvdR8Ys/EMmObntiK.js", "ssg:https://framerusercontent.com/modules/aVWLbsgaEkSRVlCJ5wCi/6p8NTQPSIytxxcinawDt/fJhmVyiCy.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";const useStore=createStore({background:\"#f0f0f0\"});export function TableOverride(Component){return props=>{const[store]=useStore();const extractAndFormatTable=React.useCallback(()=>{// Find all potential code blocks that might contain markdown tables\n// We'll look for both the specific Framer elements and general code blocks\nconst potentialCodeBlocks=[// Original Framer selectors\n...document.querySelectorAll(\".framer-text.framer-text-module\"),// CodeMirror content\n...document.querySelectorAll(\".cm-content\"),// Other possible code blocks with 'code' or 'pre' tags\n...document.querySelectorAll(\"pre, code\")];potentialCodeBlocks.forEach(codeBlock=>{// Skip if not an HTML element\nif(!(codeBlock instanceof HTMLElement))return;// Skip if already processed\nif(codeBlock.getAttribute(\"data-table-processed\")===\"true\")return;// Check if the content looks like a markdown table (has pipe characters)\nconst content=codeBlock.textContent||\"\";const lines=content.split(/\\r?\\n/).filter(line=>line.trim()!==\"\");// Simple check for markdown table format:\n// 1. First line has pipe characters\n// 2. Second line has dashes and pipes (separator row)\n// 3. At least three lines total (header, separator, at least one data row)\nif(lines.length<3||!lines[0].includes(\"|\")||!lines[1].includes(\"|\")||!lines[1].includes(\"-\")){return;}// Get border and style information\nlet borderWidth=\"1px\";let borderColor=\"#ddd\";let borderRadius=\"8px\";let padding=\"15px\";let backgroundColor=store.background;let textColor=\"#333\";// Look for parent elements that might contain styling info\nconst layoutDiv=codeBlock.closest(\".sp-layout\")||codeBlock.querySelector(\".sp-layout\");if(layoutDiv){const style=window.getComputedStyle(layoutDiv);borderWidth=style.borderWidth||borderWidth;borderColor=style.borderColor||borderColor;padding=style.getPropertyValue(\"--cb-padding\")||padding;}// Check for dark mode\nconst isDarkMode=codeBlock.closest(\".framer-cb\")!==null||document.body.classList.contains(\"dark\");if(isDarkMode){backgroundColor=\"#161820\";textColor=\"#eeeeee\";borderColor=\"#555\";}// Create containers for the table\nconst outerContainer=document.createElement(\"div\");outerContainer.style.cssText=`\n                    border: ${borderWidth} solid ${borderColor};\n                    border-radius: ${borderRadius};\n                    overflow: hidden;\n                    width: 100%;\n                    margin: 15px 0;\n                `;const innerContainer=document.createElement(\"div\");innerContainer.style.cssText=`\n                    overflow: auto;\n                    width: 100%;\n                `;// Process the markdown table\nconst tableHtml=lines.map((row,index)=>{// Skip separator row\nif(index===1)return\"\";// Split by pipe and clean cells\nconst cells=row.split(\"|\").map(cell=>cell.trim()).filter(cell=>cell!==\"\");if(cells.length===0)return\"\";if(index===0){// Header row\nreturn`<tr>${cells.map(cell=>`<th>${cell}</th>`).join(\"\")}</tr>`;}else{// Data row - make sure all rows have same number of cells\nconst headerCells=lines[0].split(\"|\").map(cell=>cell.trim()).filter(cell=>cell!==\"\");while(cells.length<headerCells.length){cells.push(\"\");}return`<tr>${cells.map(cell=>`<td>${cell}</td>`).join(\"\")}</tr>`;}}).filter(row=>row!==\"\").join(\"\");// Create the table\nconst tableElement=document.createElement(\"div\");tableElement.innerHTML=`\n                    <style>\n                        table {\n                            width: 100%;\n                            border-collapse: separate;\n                            border-spacing: 0;\n                        }\n                        table th, table td {\n                            padding: ${padding};\n                            text-align: left;\n                            background-color: ${backgroundColor};\n                            color: ${textColor};\n                            border-right: 1px solid ${borderColor};\n                            border-bottom: 1px solid ${borderColor};\n                        }\n                        table th {\n                            font-weight: bold;\n                            position: sticky;\n                            top: 0;\n                            z-index: 1;\n                        }\n                        table tr:last-child td {\n                            border-bottom: none;\n                        }\n                        table th:last-child,\n                        table td:last-child {\n                            border-right: none;\n                        }\n                    </style>\n                    <table>\n                        ${tableHtml}\n                    </table>\n                `;// Assemble and replace\ninnerContainer.appendChild(tableElement);outerContainer.appendChild(innerContainer);// Replace the original content\ncodeBlock.innerHTML=\"\";codeBlock.appendChild(outerContainer);codeBlock.setAttribute(\"data-table-processed\",\"true\");});},[store.background]);React.useEffect(()=>{// Initial processing\nextractAndFormatTable();// Watch for changes\nconst observer=new MutationObserver(mutations=>{let shouldProcess=false;mutations.forEach(mutation=>{if(mutation.type===\"childList\"&&mutation.addedNodes.length>0){shouldProcess=true;}});if(shouldProcess){extractAndFormatTable();}});// Observe the entire document\nobserver.observe(document.body,{childList:true,subtree:true});return()=>{observer.disconnect();};},[extractAndFormatTable]);return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"TableOverride\":{\"type\":\"reactHoc\",\"name\":\"TableOverride\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Table.map", "import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map", "// Generated by Framer (fed3180)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Georgia\"]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-aZpVP .framer-styles-preset-1mipb20:not(.rich-text-wrapper), .framer-aZpVP .framer-styles-preset-1mipb20.rich-text-wrapper h1 { --framer-font-family: \\\"Georgia\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 45px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-acbac929-3573-4a8a-b853-f771bc548a6a, #1b1b1b); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\",\"@media (max-width: 1439px) and (min-width: 810px) { .framer-aZpVP .framer-styles-preset-1mipb20:not(.rich-text-wrapper), .framer-aZpVP .framer-styles-preset-1mipb20.rich-text-wrapper h1 { --framer-font-family: \\\"Georgia\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-acbac929-3573-4a8a-b853-f771bc548a6a, #1b1b1b); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\",\"@media (max-width: 809px) and (min-width: 0px) { .framer-aZpVP .framer-styles-preset-1mipb20:not(.rich-text-wrapper), .framer-aZpVP .framer-styles-preset-1mipb20.rich-text-wrapper h1 { --framer-font-family: \\\"Georgia\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 29px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-acbac929-3573-4a8a-b853-f771bc548a6a, #1b1b1b); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\"];export const className=\"framer-aZpVP\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (ab6b6d5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Georgia\"]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-guM6E .framer-styles-preset-l09tm5:not(.rich-text-wrapper), .framer-guM6E .framer-styles-preset-l09tm5.rich-text-wrapper h6 { --framer-font-family: \\\"Georgia\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0.1px; --framer-line-height: 1.4em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\"];export const className=\"framer-guM6E\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "useStore", "createStore", "TableOverride", "Component", "props", "store", "extractAndFormatTable", "te", "codeBlock", "lines", "line", "borderWidth", "borderColor", "borderRadius", "padding", "backgroundColor", "textColor", "layoutDiv", "style", "outerContainer", "innerContainer", "tableHtml", "row", "index", "cells", "cell", "headerCells", "tableElement", "ue", "observer", "mutations", "shouldProcess", "mutation", "p", "init_ssg_sandbox_shims", "fontStore", "fonts", "css", "className", "init_ssg_sandbox_shims", "fontStore", "fonts", "css", "className"]
}
