{"version":3,"file":"CSVDataTable.DLo7rNdG.mjs","names":["useState","useMemo","error","useCallback","searchTerm","_Fragment"],"sources":["https:/framerusercontent.com/modules/TQx9Xzs91mbX2xcKg8MC/1Oi1lkhqkL8Cy5PBnNTM/CSVDataTable.js"],"sourcesContent":["// CSV Data Table with sorting, filtering, pagination and all datatable features\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useMemo,useCallback,startTransition,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Helper function to properly parse CSV lines with quoted values\nconst parseCSVLine=line=>{const result=[];let current=\"\";let inQuotes=false;for(let i=0;i<line.length;i++){const char=line[i];if(char==='\"'){if(inQuotes&&line[i+1]==='\"'){// Handle escaped quotes\ncurrent+='\"';i++;}else{// Toggle quote state\ninQuotes=!inQuotes;}}else if(char===\",\"&&!inQuotes){// Only split on commas outside of quotes\nresult.push(current.trim());current=\"\";}else{current+=char;}}result.push(current.trim());return result;};/**\n * CSV Data Table\n *\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 600\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CSVDataTable(props){const{csvFile=\"\",darkMode=false,backgroundColor,borderColor,hoverColor,inputBackgroundColor,accentColor,mutedTextColor,darkBackgroundColor,darkBorderColor,darkHoverColor,darkInputBackgroundColor,darkAccentColor,darkMutedTextColor,rowsPerPage,showSearch,headerFont,bodyFont,borderRadius,enableFiltering=false,filterableColumns=\"\"}=props;// Dark mode color overrides (shadcn style)\nconst bgColor=darkMode?darkBackgroundColor:backgroundColor;const borderCol=darkMode?darkBorderColor:borderColor;const hoverCol=darkMode?darkHoverColor:hoverColor;const accentCol=darkMode?darkAccentColor:accentColor;const mutedText=darkMode?darkMutedTextColor:mutedTextColor;const cardBg=darkMode?darkBackgroundColor:backgroundColor;const inputBg=darkMode?darkInputBackgroundColor:inputBackgroundColor;const[data,setData]=useState([]);const[headers,setHeaders]=useState([]);const[sortConfig,setSortConfig]=useState(null);const[searchTerm,setSearchTerm]=useState(\"\");const[currentPage,setCurrentPage]=useState(1);const[selectedRows,setSelectedRows]=useState(new Set);const[visibleColumns,setVisibleColumns]=useState(new Set);const[showColumnMenu,setShowColumnMenu]=useState(false);const[error,setError]=useState(null);// New filtering state with checkboxes\nconst[columnFilters,setColumnFilters]=useState(new Map);const[showFilterMenu,setShowFilterMenu]=useState(false);const[filterSearchTerms,setFilterSearchTerms]=useState(new Map);// Parse filterable columns from comma-separated string\nconst filterableColumnIndices=useMemo(()=>{if(!enableFiltering||!filterableColumns.trim())return new Set;const columnNames=filterableColumns.split(\",\").map(col=>col.trim().toLowerCase());return new Set(headers.map((header,index)=>columnNames.includes(header.toLowerCase())?index:-1).filter(index=>index!==-1));},[enableFiltering,filterableColumns,headers]);// Get unique values for each filterable column\nconst columnUniqueValues=useMemo(()=>{const uniqueValues=new Map;filterableColumnIndices.forEach(columnIndex=>{const values=new Set;data.forEach(row=>{const value=row[columnIndex]?.trim()||\"\";if(value){values.add(value);}});uniqueValues.set(columnIndex,Array.from(values).sort());});return uniqueValues;},[data,filterableColumnIndices]);// Parse CSV from property control\nuseEffect(()=>{if(!csvFile){startTransition(()=>{setData([]);setHeaders([]);setCurrentPage(1);setSortConfig(null);setSearchTerm(\"\");setSelectedRows(new Set);setColumnFilters(new Map);setFilterSearchTerms(new Map);setError(null);});return;}fetch(csvFile).then(response=>{if(!response.ok){throw new Error(`Failed to load CSV: ${response.statusText}`);}return response.text();}).then(text=>{const lines=text.split(\"\\n\").filter(line=>line.trim());if(lines.length===0){throw new Error(\"CSV file is empty\");}// Use proper CSV parsing to handle quoted values\nconst parsedHeaders=parseCSVLine(lines[0]);const parsedData=lines.slice(1).map(line=>parseCSVLine(line));startTransition(()=>{setHeaders(parsedHeaders);setData(parsedData);setCurrentPage(1);setSortConfig(null);setSearchTerm(\"\");setSelectedRows(new Set);setVisibleColumns(new Set(parsedHeaders.map((_,i)=>i)));setColumnFilters(new Map);setFilterSearchTerms(new Map);setError(null);});}).catch(error=>{console.error(\"Error loading CSV:\",error);startTransition(()=>{setError(error.message||\"Failed to load CSV file\");setData([]);setHeaders([]);});});},[csvFile]);const handleSort=useCallback(columnIndex=>{startTransition(()=>{setSortConfig(prevConfig=>{if(prevConfig?.key===columnIndex){return{key:columnIndex,direction:prevConfig.direction===\"asc\"?\"desc\":\"asc\"};}return{key:columnIndex,direction:\"asc\"};});});},[]);const toggleCheckboxFilter=useCallback((columnIndex,value)=>{startTransition(()=>{setColumnFilters(prev=>{const newFilters=new Map(prev);const columnFilter=newFilters.get(columnIndex)||new Set;const newColumnFilter=new Set(columnFilter);if(newColumnFilter.has(value)){newColumnFilter.delete(value);}else{newColumnFilter.add(value);}if(newColumnFilter.size===0){newFilters.delete(columnIndex);}else{newFilters.set(columnIndex,newColumnFilter);}return newFilters;});setCurrentPage(1);});},[]);const selectAllInColumn=useCallback(columnIndex=>{startTransition(()=>{setColumnFilters(prev=>{const newFilters=new Map(prev);const allValues=columnUniqueValues.get(columnIndex)||[];const searchTerm=filterSearchTerms.get(columnIndex)?.toLowerCase()||\"\";const filteredValues=allValues.filter(value=>value.toLowerCase().includes(searchTerm));newFilters.set(columnIndex,new Set(filteredValues));return newFilters;});setCurrentPage(1);});},[columnUniqueValues,filterSearchTerms]);const clearColumnFilter=useCallback(columnIndex=>{startTransition(()=>{setColumnFilters(prev=>{const newFilters=new Map(prev);newFilters.delete(columnIndex);return newFilters;});setCurrentPage(1);});},[]);const clearAllFilters=useCallback(()=>{startTransition(()=>{setColumnFilters(new Map);setCurrentPage(1);});},[]);const setFilterSearchTerm=useCallback((columnIndex,term)=>{startTransition(()=>{setFilterSearchTerms(prev=>{const newTerms=new Map(prev);if(term){newTerms.set(columnIndex,term);}else{newTerms.delete(columnIndex);}return newTerms;});});},[]);// Apply column filters first, then search\nconst columnFilteredData=useMemo(()=>{if(columnFilters.size===0)return data;return data.filter(row=>{return Array.from(columnFilters.entries()).every(([columnIndex,allowedValues])=>{const cellValue=row[columnIndex]?.trim()||\"\";return allowedValues.has(cellValue);});});},[data,columnFilters]);// Apply search term to column-filtered data\nconst filteredData=useMemo(()=>{if(!searchTerm)return columnFilteredData;return columnFilteredData.filter(row=>row.some(cell=>cell.toLowerCase().includes(searchTerm.toLowerCase())));},[columnFilteredData,searchTerm]);const sortedData=useMemo(()=>{if(!sortConfig)return filteredData;return[...filteredData].sort((a,b)=>{const aVal=a[sortConfig.key]||\"\";const bVal=b[sortConfig.key]||\"\";const aNum=parseFloat(aVal);const bNum=parseFloat(bVal);if(!isNaN(aNum)&&!isNaN(bNum)){return sortConfig.direction===\"asc\"?aNum-bNum:bNum-aNum;}return sortConfig.direction===\"asc\"?aVal.localeCompare(bVal):bVal.localeCompare(aVal);});},[filteredData,sortConfig]);const totalPages=Math.ceil(sortedData.length/rowsPerPage);const startIndex=(currentPage-1)*rowsPerPage;const paginatedData=sortedData.slice(startIndex,startIndex+rowsPerPage);const handlePageChange=useCallback(page=>{startTransition(()=>setCurrentPage(page));},[]);const handleSearchChange=useCallback(e=>{startTransition(()=>{setSearchTerm(e.target.value);setCurrentPage(1);});},[]);const toggleRowSelection=useCallback(rowIndex=>{startTransition(()=>{setSelectedRows(prev=>{const newSet=new Set(prev);if(newSet.has(rowIndex)){newSet.delete(rowIndex);}else{newSet.add(rowIndex);}return newSet;});});},[]);const toggleAllRows=useCallback(()=>{startTransition(()=>{if(selectedRows.size===paginatedData.length){setSelectedRows(new Set);}else{setSelectedRows(new Set(paginatedData.map((_,i)=>startIndex+i)));}});},[selectedRows.size,paginatedData.length,startIndex]);const toggleColumn=useCallback(columnIndex=>{startTransition(()=>{setVisibleColumns(prev=>{const newSet=new Set(prev);if(newSet.has(columnIndex)){// Don't allow hiding all columns\nif(newSet.size>1){newSet.delete(columnIndex);}}else{newSet.add(columnIndex);}return newSet;});});},[]);const activeFilterCount=columnFilters.size;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor:bgColor,display:\"flex\",flexDirection:\"column\",padding:24,gap:16,borderRadius},children:[showSearch&&data.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",flex:1,maxWidth:320},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:mutedText,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{position:\"absolute\",left:12,top:\"50%\",transform:\"translateY(-50%)\",opacity:.5,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m21 21-4.35-4.35\"})]}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Search data...\",value:searchTerm,onChange:handleSearchChange,style:{width:\"100%\",padding:\"8px 12px 8px 40px\",borderRadius:8,border:`1px solid ${borderCol}`,backgroundColor:inputBg,color:mutedText,outline:\"none\",transition:\"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",...bodyFont,fontSize:\"14px\",boxShadow:darkMode?\"0 1px 2px 0 rgba(0, 0, 0, 0.3)\":\"0 1px 2px 0 rgba(0, 0, 0, 0.05)\"},onFocus:e=>{e.currentTarget.style.borderColor=accentCol;e.currentTarget.style.boxShadow=darkMode?`0 0 0 3px ${accentCol}20, 0 1px 2px 0 rgba(0, 0, 0, 0.3)`:`0 0 0 3px ${accentCol}15, 0 1px 2px 0 rgba(0, 0, 0, 0.05)`;},onBlur:e=>{e.currentTarget.style.borderColor=borderCol;e.currentTarget.style.boxShadow=darkMode?\"0 1px 2px 0 rgba(0, 0, 0, 0.3)\":\"0 1px 2px 0 rgba(0, 0, 0, 0.05)\";}})]}),enableFiltering&&filterableColumnIndices.size>0&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setShowFilterMenu(!showFilterMenu),style:{padding:\"8px 16px\",borderRadius:8,border:`1px solid ${borderCol}`,backgroundColor:activeFilterCount>0?accentCol:cardBg,color:activeFilterCount>0?\"#FFFFFF\":mutedText,cursor:\"pointer\",transition:\"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",fontSize:\"14px\",fontWeight:500,display:\"flex\",alignItems:\"center\",gap:8,boxShadow:darkMode?\"0 1px 2px 0 rgba(0, 0, 0, 0.3)\":\"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",...bodyFont},onMouseEnter:e=>{if(activeFilterCount===0){e.currentTarget.style.backgroundColor=hoverCol;}},onMouseLeave:e=>{if(activeFilterCount===0){e.currentTarget.style.backgroundColor=cardBg;}},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polygon\",{points:\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"})}),\"Filter\",activeFilterCount>0&&/*#__PURE__*/_jsx(\"span\",{style:{backgroundColor:darkMode?\"#FFFFFF\":accentCol,color:darkMode?accentCol:\"#FFFFFF\",padding:\"2px 6px\",borderRadius:12,fontSize:\"12px\",fontWeight:600,minWidth:20,textAlign:\"center\"},children:activeFilterCount})]}),showFilterMenu&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:\"calc(100% + 8px)\",right:0,backgroundColor:cardBg,border:`1px solid ${borderCol}`,borderRadius:12,padding:16,minWidth:320,maxWidth:400,boxShadow:darkMode?\"0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3)\":\"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",zIndex:100,display:\"flex\",flexDirection:\"column\",gap:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",marginBottom:8},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:\"14px\",fontWeight:600,color:mutedText,...headerFont},children:\"Filter Columns\"}),activeFilterCount>0&&/*#__PURE__*/_jsx(\"button\",{onClick:clearAllFilters,style:{padding:\"4px 8px\",borderRadius:6,border:\"none\",backgroundColor:\"transparent\",color:accentCol,cursor:\"pointer\",fontSize:\"12px\",fontWeight:500,...bodyFont},children:\"Clear all\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:16,maxHeight:500,overflowY:\"auto\"},children:headers.map((header,columnIndex)=>{if(!filterableColumnIndices.has(columnIndex))return null;const uniqueValues=columnUniqueValues.get(columnIndex)||[];const selectedValues=columnFilters.get(columnIndex)||new Set;const searchTerm=filterSearchTerms.get(columnIndex)||\"\";const filteredValues=uniqueValues.filter(value=>value.toLowerCase().includes(searchTerm.toLowerCase()));return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,padding:12,backgroundColor:hoverCol,borderRadius:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"label\",{style:{fontSize:\"13px\",fontWeight:600,color:mutedText,...bodyFont},children:header}),selectedValues.size>0&&/*#__PURE__*/_jsx(\"button\",{onClick:()=>clearColumnFilter(columnIndex),style:{padding:\"2px 6px\",borderRadius:4,border:\"none\",backgroundColor:\"transparent\",color:accentCol,cursor:\"pointer\",fontSize:\"11px\",fontWeight:500,...bodyFont},children:\"Clear\"})]}),uniqueValues.length>5&&/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Search...\",value:searchTerm,onChange:e=>setFilterSearchTerm(columnIndex,e.target.value),style:{padding:\"6px 10px\",borderRadius:6,border:`1px solid ${borderCol}`,backgroundColor:inputBg,color:mutedText,outline:\"none\",fontSize:\"13px\",...bodyFont}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6,maxHeight:200,overflowY:\"auto\"},children:[filteredValues.map(value=>{const isChecked=selectedValues.has(value);return /*#__PURE__*/_jsxs(\"label\",{style:{display:\"flex\",alignItems:\"center\",gap:8,cursor:\"pointer\",padding:\"4px 6px\",borderRadius:4,transition:\"background-color 0.15s\"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=cardBg;},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=\"transparent\";},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:isChecked,onChange:()=>toggleCheckboxFilter(columnIndex,value),style:{cursor:\"pointer\",accentColor:accentCol}}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"13px\",color:mutedText,...bodyFont},children:value})]},value);}),filteredValues.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"12px\",color:mutedText,opacity:.6,padding:\"8px 0\",textAlign:\"center\"},children:\"No matches found\"})]})]},columnIndex);})})]})]})]}),data.length===0?/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",color:mutedText,gap:16,padding:48,border:`2px dashed ${borderCol}`,borderRadius:12,...bodyFont},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:64,height:64,borderRadius:12,backgroundColor:hoverCol,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"32\",height:\"32\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{opacity:.4},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"14 2 14 8 20 8\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"16\",y1:\"13\",x2:\"8\",y2:\"13\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"16\",y1:\"17\",x2:\"8\",y2:\"17\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"10\",y1:\"9\",x2:\"8\",y2:\"9\"})]})}),/*#__PURE__*/_jsxs(\"div\",{style:{textAlign:\"center\",maxWidth:320},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"16px\",fontWeight:600,marginBottom:8,color:mutedText},children:error?\"Failed to load CSV\":\"No data available\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\",opacity:.7,lineHeight:\"1.5\"},children:error||\"Upload a CSV file using the property panel to get started\"})]})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{overflow:\"auto\",border:`1px solid ${borderCol}`,borderRadius,boxShadow:darkMode?\"0 1px 3px 0 rgba(0, 0, 0, 0.4), 0 1px 2px 0 rgba(0, 0, 0, 0.3)\":\"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)\"},children:/*#__PURE__*/_jsxs(\"table\",{style:{width:\"100%\",borderCollapse:\"collapse\"},children:[/*#__PURE__*/_jsx(\"thead\",{children:/*#__PURE__*/_jsx(\"tr\",{style:{borderBottom:`1px solid ${borderCol}`},children:headers.map((header,index)=>/*#__PURE__*/_jsx(\"th\",{onClick:()=>handleSort(index),style:{backgroundColor:hoverCol,color:mutedText,padding:\"12px 16px\",textAlign:\"left\",cursor:\"pointer\",userSelect:\"none\",transition:\"background-color 0.15s cubic-bezier(0.4, 0, 0.2, 1)\",...headerFont,fontSize:\"12px\",fontWeight:600,textTransform:\"uppercase\",letterSpacing:\"0.05em\",display:visibleColumns.has(index)?\"table-cell\":\"none\",position:\"sticky\",top:0,zIndex:10},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=darkMode?\"#27272A\":borderColor;},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=hoverCol;},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6},children:[header,columnFilters.has(index)&&/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:accentCol,stroke:accentCol,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polygon\",{points:\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"})}),sortConfig?.key===index?/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{transform:sortConfig.direction===\"desc\"?\"rotate(180deg)\":\"none\",transition:\"transform 0.2s cubic-bezier(0.4, 0, 0.2, 1)\"},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"18 15 12 9 6 15\"})}):/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{opacity:.3},children:[/*#__PURE__*/_jsx(\"polyline\",{points:\"7 10 12 15 17 10\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"7 14 12 9 17 14\"})]})]})},index))})}),/*#__PURE__*/_jsx(\"tbody\",{children:paginatedData.map((row,rowIndex)=>{const globalRowIndex=startIndex+rowIndex;const isSelected=selectedRows.has(globalRowIndex);return /*#__PURE__*/_jsx(\"tr\",{style:{backgroundColor:isSelected?accentCol+\"08\":\"transparent\",borderBottom:`1px solid ${borderCol}`,transition:\"background-color 0.15s cubic-bezier(0.4, 0, 0.2, 1)\"},onMouseEnter:e=>{if(!isSelected){e.currentTarget.style.backgroundColor=hoverCol;}},onMouseLeave:e=>{if(!isSelected){e.currentTarget.style.backgroundColor=\"transparent\";}},children:row.map((cell,cellIndex)=>/*#__PURE__*/_jsx(\"td\",{style:{padding:\"12px 16px\",color:mutedText,...bodyFont,fontSize:\"14px\",display:visibleColumns.has(cellIndex)?\"table-cell\":\"none\"},children:cell},cellIndex))},rowIndex);})})]})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",...bodyFont,flexWrap:\"wrap\",gap:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:mutedText,fontSize:\"14px\",fontWeight:500},children:selectedRows.size>0?`${selectedRows.size} of ${sortedData.length} row(s) selected`:`${sortedData.length} row(s) total`}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8,alignItems:\"center\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{color:mutedText,fontSize:\"14px\",fontWeight:500},children:[\"Page \",currentPage,\" of \",totalPages]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:4},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>handlePageChange(currentPage-1),disabled:currentPage===1,style:{padding:\"8px 16px\",borderRadius:8,border:`1px solid ${borderCol}`,backgroundColor:cardBg,color:mutedText,cursor:currentPage===1?\"not-allowed\":\"pointer\",opacity:currentPage===1?.5:1,transition:\"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",fontSize:\"14px\",fontWeight:500,boxShadow:darkMode?\"0 1px 2px 0 rgba(0, 0, 0, 0.3)\":\"0 1px 2px 0 rgba(0, 0, 0, 0.05)\"},onMouseEnter:e=>{if(currentPage!==1){e.currentTarget.style.backgroundColor=hoverCol;e.currentTarget.style.borderColor=darkMode?\"#3F3F46\":mutedTextColor+\"40\";}},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=cardBg;e.currentTarget.style.borderColor=borderCol;},children:\"Previous\"}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>handlePageChange(currentPage+1),disabled:currentPage===totalPages,style:{padding:\"8px 16px\",borderRadius:8,border:`1px solid ${borderCol}`,backgroundColor:cardBg,color:mutedText,cursor:currentPage===totalPages?\"not-allowed\":\"pointer\",opacity:currentPage===totalPages?.5:1,transition:\"all 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",fontSize:\"14px\",fontWeight:500,boxShadow:darkMode?\"0 1px 2px 0 rgba(0, 0, 0, 0.3)\":\"0 1px 2px 0 rgba(0, 0, 0, 0.05)\"},onMouseEnter:e=>{if(currentPage!==totalPages){e.currentTarget.style.backgroundColor=hoverCol;e.currentTarget.style.borderColor=darkMode?\"#3F3F46\":mutedTextColor+\"40\";}},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=cardBg;e.currentTarget.style.borderColor=borderCol;},children:\"Next\"})]})]})]})]})]});}addPropertyControls(CSVDataTable,{csvFile:{type:ControlType.File,title:\"CSV File\",allowedFileTypes:[\"csv\"]},darkMode:{type:ControlType.Boolean,title:\"Dark Mode\",defaultValue:false,enabledTitle:\"Dark\",disabledTitle:\"Light\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\",hidden:({darkMode})=>darkMode},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#E5E7EB\",hidden:({darkMode})=>darkMode},hoverColor:{type:ControlType.Color,title:\"Hover Color\",defaultValue:\"#F9FAFB\",hidden:({darkMode})=>darkMode},inputBackgroundColor:{type:ControlType.Color,title:\"Input Background\",defaultValue:\"#FFFFFF\",hidden:({darkMode})=>darkMode},accentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#3B82F6\",hidden:({darkMode})=>darkMode},mutedTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#6B7280\",hidden:({darkMode})=>darkMode},darkBackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#09090B\",hidden:({darkMode})=>!darkMode},darkBorderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#27272A\",hidden:({darkMode})=>!darkMode},darkHoverColor:{type:ControlType.Color,title:\"Hover Color\",defaultValue:\"#18181B\",hidden:({darkMode})=>!darkMode},darkInputBackgroundColor:{type:ControlType.Color,title:\"Input Background\",defaultValue:\"#18181B\",hidden:({darkMode})=>!darkMode},darkAccentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#3B82F6\",hidden:({darkMode})=>!darkMode},darkMutedTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#A1A1AA\",hidden:({darkMode})=>!darkMode},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:12,min:0,max:32,step:1,unit:\"px\"},rowsPerPage:{type:ControlType.Number,title:\"Rows Per Page\",defaultValue:10,min:5,max:100,step:5},showSearch:{type:ControlType.Boolean,title:\"Show Search\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},enableFiltering:{type:ControlType.Boolean,title:\"Enable Filtering\",defaultValue:false,enabledTitle:\"Enabled\",disabledTitle:\"Disabled\"},filterableColumns:{type:ControlType.String,title:\"Filterable Columns\",defaultValue:\"\",placeholder:\"e.g., Name, Email, Status\",description:\"Comma-separated column names to enable filtering\",hidden:({enableFiltering})=>!enableFiltering,displayTextArea:true},headerFont:{type:ControlType.Font,title:\"Header Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",variant:\"Medium\",letterSpacing:\"0em\",lineHeight:\"1em\"}},bodyFont:{type:ControlType.Font,title:\"Body Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.3em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CSVDataTable\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"800\",\"framerIntrinsicHeight\":\"600\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CSVDataTable.map"],"mappings":"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"}