{"version":3,"file":"Markdown_Comparison_Table.9nPy5C11.mjs","names":["x","headers","rows","p","React.useRef","React.useState","React.Fragment"],"sources":["https:/framerusercontent.com/modules/xNAN2EUBD3yPv4n2l7gG/BGgYyWgthtgeGE3Dgw6s/Markdown_Comparison_Table.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Default markdown sample\nconst DEFAULT_MARKDOWN=`| Category | Feature | Aha! | Productboard | Canny | ProdPad | Roadmunk | Released.so |\n|---|---|---|---|---|---|---|---|\n| Strategy & Planning | Strategy & Goal Alignment | full | partial | none | full | partial | none |\n| Strategy & Planning | OKR / KPI Tracking | full | none | none | full | none | none |\n| Feedback & Discovery | Feedback Intake (multiple channels) | full | full | full | full | full | full |\n| Feedback & Discovery | End-User Feedback Portal | full | full | full | full | partial | full |\n| Roadmapping & Communication | Timeline View | full | full | none | partial | full | full |\n| Roadmapping & Communication | Public Roadmap Sharing | full | full | full | full | full | full |\n| Integrations & Automation | Jira (bi-directional) | full | full | full | full | full | full |\n| Integrations & Automation | AI / Automation | partial | none | partial | full | none | partial |`;const DEFAULT_FULL_SVG='<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7 13.125C10.3828 13.125 13.125 10.3828 13.125 7C13.125 3.61726 10.3828 0.875 7 0.875C3.61726 0.875 0.875 3.61726 0.875 7C0.875 10.3828 3.61726 13.125 7 13.125ZM10.3107 5.62538C10.5751 5.3262 10.5608 4.8563 10.2788 4.57583C9.9967 4.29535 9.55378 4.31051 9.28935 4.60968L6.25556 8.04232L4.66506 6.54264C4.37611 6.27019 3.93366 6.2978 3.67682 6.6043C3.41998 6.9108 3.446 7.38014 3.73496 7.65258L5.49528 9.31236C5.96786 9.758 6.68905 9.72318 7.1215 9.23388L10.3107 5.62538Z\" fill=\"#27AE60\"/></svg>';const DEFAULT_PARTIAL_SVG='<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.99622 12.1304C9.83132 12.1304 12.1296 9.83217 12.1296 6.99708C12.1296 4.16201 9.83132 1.86375 6.99622 1.86375C4.16116 1.86375 1.86289 4.16201 1.86289 6.99708C1.86289 9.83217 4.16116 12.1304 6.99622 12.1304ZM6.99622 13.5304C10.6045 13.5304 13.5296 10.6053 13.5296 6.99708C13.5296 3.38882 10.6045 0.463745 6.99622 0.463745C3.38797 0.463745 0.462891 3.38882 0.462891 6.99708C0.462891 10.6053 3.38797 13.5304 6.99622 13.5304ZM10.3296 6.99708C10.3296 8.83803 8.8372 10.3304 6.99625 10.3304L6.99602 3.66375C8.83697 3.66375 10.3296 5.15613 10.3296 6.99708Z\" fill=\"#F2994A\"/><path d=\"M10.3296 6.99708C10.3296 8.83803 8.8372 10.3304 6.99625 10.3304L6.99602 3.66375C8.83697 3.66375 10.3296 5.15613 10.3296 6.99708Z\" fill=\"#F2994A\"/></svg>';const DEFAULT_NONE_SVG='<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7 13.125C10.3828 13.125 13.125 10.3828 13.125 7C13.125 3.61726 10.3828 0.875 7 0.875C3.61726 0.875 0.875 3.61726 0.875 7C0.875 10.3828 3.61726 13.125 7 13.125ZM5.27654 4.34846C5.02026 4.09218 4.60474 4.09218 4.34846 4.34846C4.09218 4.60474 4.09218 5.02026 4.34846 5.27654L6.07192 7L4.34846 8.72346C4.09218 8.97974 4.09218 9.39526 4.34846 9.65151C4.60474 9.9078 5.02026 9.9078 5.27654 9.65151L7 7.92808L8.72346 9.65151C8.97974 9.9078 9.39526 9.9078 9.65151 9.65151C9.9078 9.39526 9.9078 8.97974 9.65151 8.72346L7.92808 7L9.65151 5.27654C9.9078 5.02026 9.9078 4.60474 9.65151 4.34846C9.39526 4.09218 8.97974 4.09218 8.72346 4.34846L7 6.07192L5.27654 4.34846Z\" fill=\"#95A2B3\"/></svg>';const DEFAULT_HEIGHT=500;const SMALL_SCREEN_BREAKPOINT=768;// Little helper to unescape if SVGs get HTML-escaped\nconst unescapeHtml=s=>{if(!s||typeof s!==\"string\")return s;return s.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&amp;/g,\"&\");};// Tooltip component (renders a single floating tooltip)\nfunction TooltipLayer({visible,x,y,text}){if(!visible)return null;const wrapperStyle={position:\"fixed\",left:x,top:y,transform:\"translate(-50%, -12px)\",zIndex:9999,pointerEvents:\"none\"};const tooltipStyle={background:\"#0f172a\",color:\"#fff\",padding:\"10px 14px\",borderRadius:8,boxShadow:\"0 8px 30px rgba(2,6,23,0.16)\",fontSize:13,lineHeight:\"1.2\",maxWidth:320,textAlign:\"center\",whiteSpace:\"nowrap\",display:\"inline-block\",transformOrigin:\"50% 100%\",transition:\"opacity 120ms ease, transform 140ms ease\"};return /*#__PURE__*/_jsx(\"div\",{style:wrapperStyle,role:\"tooltip\",\"aria-hidden\":!visible,children:/*#__PURE__*/_jsx(\"div\",{style:tooltipStyle,children:/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:700},children:text})})});}export default function SimpleFeatureTable({markdown=DEFAULT_MARKDOWN,iconFullSvg=DEFAULT_FULL_SVG,iconPartialSvg=DEFAULT_PARTIAL_SVG,iconNoneSvg=DEFAULT_NONE_SVG,height=DEFAULT_HEIGHT}){// parse markdown table\nconst parseMarkdownTable=md=>{if(!md||typeof md!==\"string\")return{headers:[],rows:[]};const lines=md.split(/\\r?\\n/).map(l=>l.trim());let start=-1;for(let i=0;i<lines.length-1;i++){if(lines[i].includes(\"|\")&&/\\|?[\\s:-]+(\\|[\\s:-]+)+\\|?/.test(lines[i+1])){start=i;break;}}if(start===-1)return{headers:[],rows:[]};const headerLine=lines[start];const bodyLines=[];for(let i=start+2;i<lines.length;i++){const line=lines[i];if(!line||!line.includes(\"|\"))break;bodyLines.push(line);}const splitRow=line=>line.split(\"|\").map(c=>c.trim()).filter((_,idx,arr)=>{if(idx===0&&arr.length>1&&line[0]===\"|\")return false;if(idx===arr.length-1&&arr.length>1&&line[line.length-1]===\"|\")return false;return true;});const headers=splitRow(headerLine);const rows=bodyLines.map(l=>splitRow(l));return{headers,rows};};// normalize: return { status, displayText, tooltip }\nconst normalizeStatusCell=cell=>{if(cell===null||cell===undefined)return{status:\"none\",displayText:\"none\",tooltip:null};const raw=String(cell).trim();if(!raw)return{status:\"none\",displayText:\"none\",tooltip:null};// extract trailing bracket text\nlet tooltip=null;const bracketMatch=raw.match(/\\(([^)]+)\\)\\s*$/);let withoutBrackets=raw;if(bracketMatch){tooltip=bracketMatch[1].trim();withoutBrackets=raw.slice(0,bracketMatch.index).trim();}const s=withoutBrackets.toLowerCase();if(s.includes(\"full\")||s.includes(\"yes\")||s.includes(\"true\")||s===\"y\"||s===\"1\"){return{status:\"full\",displayText:withoutBrackets||\"full\",tooltip};}if(s.includes(\"partial\")||s.includes(\"part\")||s.includes(\"half\")||s===\"p\"||s===\"-\"){return{status:\"partial\",displayText:withoutBrackets||\"partial\",tooltip};}if(s.includes(\"none\")||s.includes(\"no\")||s===\"n\"||s===\"0\"){return{status:\"none\",displayText:withoutBrackets||\"none\",tooltip};}return{status:withoutBrackets||raw,displayText:withoutBrackets||raw,tooltip};};const{headers,rows}=parseMarkdownTable(markdown);const headerLower=headers.map(h=>(h||\"\").toLowerCase());const categoryIdx=headerLower.indexOf(\"category\");const nameIdx=headerLower.findIndex(h=>[\"feature\",\"name\",\"title\"].includes(h))>=0?headerLower.findIndex(h=>[\"feature\",\"name\",\"title\"].includes(h)):0;const productCols=headers.map((h,i)=>({header:h||`col${i}`,index:i})).filter(c=>c.index!==categoryIdx&&c.index!==nameIdx);const productHeaders=productCols.map(p=>p.header);const features=rows.map(r=>{const category=categoryIdx>=0&&r[categoryIdx]?r[categoryIdx]:\"Other\";const name=r[nameIdx]||\"\";const obj={category,name};productCols.forEach(p=>{const raw=r[p.index]||\"\";obj[p.header]=normalizeStatusCell(raw);});return obj;});const grouped=features.reduce((acc,f)=>{const cat=f.category||\"Other\";if(!acc[cat])acc[cat]=[];acc[cat].push(f);return acc;},{});const statusToSvg={full:iconFullSvg,partial:iconPartialSvg,none:iconNoneSvg};const statusTooltip={full:\"Full support\",partial:\"Partial support\",none:\"No support\"};const statusColor={full:\"#16a34a\",partial:\"#d97706\",none:\"#6b7280\"};const normalizeSvg=svgString=>{if(!svgString||typeof svgString!==\"string\")return\"\";let s=unescapeHtml(svgString);const svgOpen=s.match(/<svg\\b[^>]*>/);if(!svgOpen)return s;let tag=svgOpen[0];let newTag=tag;if(!/(\\bwidth=)/i.test(tag))newTag=newTag.replace(\"<svg\",'<svg width=\"1em\" height=\"1em\"');if(!/(\\bfill=)/i.test(tag)&&!/(\\bstroke=)/i.test(tag))newTag=newTag.replace(\"<svg\",'<svg fill=\"currentColor\"');return s.replace(tag,newTag);};// Render svg safely into a span using dangerouslySetInnerHTML\nconst renderSvgIcon=(svgString,color)=>{const normalized=normalizeSvg(svgString);if(!normalized)return null;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:18,height:18,lineHeight:1,color,verticalAlign:\"middle\"},// eslint-disable-next-line react/no-danger\ndangerouslySetInnerHTML:{__html:normalized}});};// scrolling UI\nconst wrapperRef=React.useRef(null);const tableRef=React.useRef(null);const isSmallScreen=typeof window!==\"undefined\"?window.innerWidth<=SMALL_SCREEN_BREAKPOINT:false;const perColWidth=110// px estimate per product column\n;const computedMinWidth=Math.max(440,220+productHeaders.length*perColWidth);const baseOuterStyle={width:\"100%\",background:\"#fff\",borderRadius:6,position:\"relative\",overflow:\"visible\"};const wrapperStyle={display:\"block\",minWidth:0,overflowX:\"auto\",WebkitOverflowScrolling:\"touch\",touchAction:\"pan-x\",overscrollBehaviorX:\"contain\",boxSizing:\"content-box\",paddingLeft:12,scrollPaddingLeft:12};const tableStyle={width:\"100%\",borderCollapse:\"collapse\",tableLayout:\"auto\",minWidth:computedMinWidth,margin:0,transform:\"none\"};const thStyle={padding:isSmallScreen?\"10px 12px 8px 12px\":\"16px 16px 12px 16px\",textAlign:\"left\",fontSize:isSmallScreen?13:15,fontWeight:700,color:\"#0f172a\",borderBottom:\"1px solid #e6e9ee\",verticalAlign:\"middle\",whiteSpace:\"nowrap\"};const tdStyle={padding:isSmallScreen?\"10px 12px\":\"14px 16px\",fontSize:isSmallScreen?13:15,fontWeight:400,color:\"#374151\",borderBottom:\"1px solid #f1f3f5\",verticalAlign:\"middle\",whiteSpace:\"nowrap\"};const nameCellStyle={...tdStyle,textAlign:\"left\",minWidth:160};const iconCellStyle={...tdStyle,textAlign:\"center\",width:92,whiteSpace:\"nowrap\"};const unknownTextCellStyle={...tdStyle,textAlign:\"center\",width:120,whiteSpace:\"normal\",wordBreak:\"break-word\"};const unknownTextStyle={color:\"#6b7280\",fontSize:isSmallScreen?12:13,fontWeight:400,opacity:.9,lineHeight:\"1.2\"};const categoryStyle={padding:isSmallScreen?\"10px 12px\":\"12px 16px\",fontWeight:600,color:\"#374151\",background:\"transparent\",borderBottom:\"1px solid #eef2f5\"};// collapse/expand state\nconst collapsedPx=Math.max(Number(height)||DEFAULT_HEIGHT,DEFAULT_HEIGHT);const[isExpanded,setIsExpanded]=React.useState(false);const[isOverflowing,setIsOverflowing]=React.useState(false);const[maxHeight,setMaxHeight]=React.useState(`${collapsedPx}px`);const[isTransitioning,setIsTransitioning]=React.useState(false);React.useEffect(()=>{const tableEl=tableRef.current;if(!tableEl)return;const measured=tableEl.scrollHeight||0;setIsOverflowing(measured>collapsedPx+1);if(isExpanded)setMaxHeight(\"none\");else setMaxHeight(`${collapsedPx}px`);},[markdown,height,isExpanded,computedMinWidth]);const toggleExpanded=()=>{setIsTransitioning(true);setIsExpanded(s=>!s);setTimeout(()=>setIsTransitioning(false),320);};// Tooltip state: single floating tooltip instance\nconst[tooltipState,setTooltipState]=React.useState({visible:false,text:\"\",x:0,y:0});const touchTimeoutRef=React.useRef(null);// Show tooltip at centered x of target, y above target\nconst showTooltip=(targetEl,text)=>{if(!targetEl)return;const rect=targetEl.getBoundingClientRect();const x=rect.left+rect.width/2;// position above center of icon (with small offset)\nconst y=rect.top-10;setTooltipState({visible:true,text,x,y});};const hideTooltip=()=>setTooltipState(s=>({...s,visible:false}));// handlers for status cell: hover / focus / touch\nconst onStatusPointerEnter=(e,tooltipText)=>{// desktop hover\nconst el=e.currentTarget;showTooltip(el,tooltipText);};const onStatusPointerLeave=()=>{hideTooltip();};const onStatusFocus=(e,tooltipText)=>{showTooltip(e.currentTarget,tooltipText);};const onStatusBlur=()=>{hideTooltip();};// touch: short tap shows tooltip (toggle). Use timeout to avoid immediate double events.\nconst onStatusTouchStart=(e,tooltipText)=>{e.stopPropagation();if(touchTimeoutRef.current){clearTimeout(touchTimeoutRef.current);touchTimeoutRef.current=null;hideTooltip();return;}const el=e.currentTarget;// show immediately\nshowTooltip(el,tooltipText);// auto-hide after 3s\ntouchTimeoutRef.current=setTimeout(()=>{hideTooltip();touchTimeoutRef.current=null;},3e3);};// clean touch timeout on unmount\nReact.useEffect(()=>{return()=>{if(touchTimeoutRef.current)clearTimeout(touchTimeoutRef.current);};},[]);// Determine categories and whether we should hide single \"Other\" header\nconst categories=Object.keys(grouped);const onlyOther=categories.length===1&&categories[0]&&categories[0].toLowerCase()===\"other\";return /*#__PURE__*/_jsxs(\"div\",{style:baseOuterStyle,children:[/*#__PURE__*/_jsx(\"div\",{id:\"feature-comparison-wrapper\",\"aria-expanded\":isExpanded,style:{maxHeight:maxHeight===\"none\"?\"none\":maxHeight,overflow:\"hidden\",transition:isTransitioning?\"max-height 320ms ease\":\"none\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\"},children:/*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:wrapperStyle,children:/*#__PURE__*/_jsxs(\"table\",{ref:tableRef,role:\"table\",\"aria-label\":\"Feature comparison table\",style:tableStyle,children:[/*#__PURE__*/_jsx(\"thead\",{children:/*#__PURE__*/_jsxs(\"tr\",{children:[/*#__PURE__*/_jsx(\"th\",{style:{...thStyle,textTransform:\"none\"},children:headers[nameIdx]||\"Feature\"}),productHeaders.map(ph=>/*#__PURE__*/_jsx(\"th\",{style:thStyle,scope:\"col\",children:ph},ph))]})}),/*#__PURE__*/_jsx(\"tbody\",{children:categories.map(category=>/*#__PURE__*/_jsxs(React.Fragment,{children:[!(onlyOther&&category.toLowerCase()===\"other\")&&/*#__PURE__*/_jsx(\"tr\",{children:/*#__PURE__*/_jsx(\"td\",{colSpan:1+productHeaders.length,style:categoryStyle,children:category})}),grouped[category].map((feature,rowIndex)=>/*#__PURE__*/_jsxs(\"tr\",{children:[/*#__PURE__*/_jsx(\"td\",{style:nameCellStyle,children:feature.name}),productHeaders.map(ph=>{const cell=feature[ph]||{status:\"none\",displayText:\"none\",tooltip:null};const status=cell.status;const tooltipOverride=cell.tooltip||null;const tooltipText=tooltipOverride||statusTooltip[status]||statusTooltip.none;if(status===\"full\"||status===\"partial\"||status===\"none\"){const svgString=statusToSvg[status]||statusToSvg.none;const color=statusColor[status]||statusColor.none;return /*#__PURE__*/_jsx(\"td\",{style:iconCellStyle,onMouseEnter:e=>onStatusPointerEnter(e,tooltipText),onMouseLeave:onStatusPointerLeave,onFocus:e=>onStatusFocus(e,tooltipText),onBlur:onStatusBlur,onTouchStart:e=>onStatusTouchStart(e,tooltipText),tabIndex:0,\"aria-describedby\":tooltipState.visible?\"fancy-tooltip\":undefined,children:renderSvgIcon(svgString,color)},ph);}const text=cell.displayText;const textTooltip=tooltipOverride||null;return /*#__PURE__*/_jsx(\"td\",{style:unknownTextCellStyle,children:/*#__PURE__*/_jsx(\"span\",{style:unknownTextStyle,title:textTooltip||undefined,\"aria-label\":textTooltip||undefined,children:text})},ph);})]},feature.name+rowIndex))]},category))})]})})})}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":!isOverflowing||isExpanded,style:{position:\"absolute\",left:0,right:0,bottom:0,height:96,pointerEvents:\"none\",background:\"linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 60%, rgba(255,255,255,1) 100%)\",display:isOverflowing&&!isExpanded?\"block\":\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",transform:\"translateX(-50%)\",bottom:30,pointerEvents:\"auto\",display:isOverflowing&&!isExpanded?\"block\":\"none\"},children:/*#__PURE__*/_jsx(\"button\",{onClick:toggleExpanded,\"aria-expanded\":isExpanded,\"aria-controls\":\"feature-comparison-wrapper\",style:{background:\"#0f172a\",color:\"#fff\",border:\"none\",padding:\"8px 14px\",borderRadius:6,fontSize:14,cursor:\"pointer\",boxShadow:\"0 6px 18px rgba(12,20,40,0.12)\"},children:isExpanded?\"Show less\":\"Show full table\"})}),/*#__PURE__*/_jsx(TooltipLayer,{visible:tooltipState.visible,x:tooltipState.x,y:tooltipState.y,text:tooltipState.text})]});}// Framer property controls\naddPropertyControls(SimpleFeatureTable,{markdown:{type:ControlType.String,title:\"Markdown\",defaultValue:DEFAULT_MARKDOWN,displayTextArea:true},iconFullSvg:{type:ControlType.String,title:\"Full SVG\",defaultValue:DEFAULT_FULL_SVG},iconPartialSvg:{type:ControlType.String,title:\"Partial SVG\",defaultValue:DEFAULT_PARTIAL_SVG},iconNoneSvg:{type:ControlType.String,title:\"None SVG\",defaultValue:DEFAULT_NONE_SVG},height:{type:ControlType.Number,title:\"Height (px)\",defaultValue:DEFAULT_HEIGHT,min:100}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SimpleFeatureTable\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Markdown_Comparison_Table.map"],"mappings":"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"}