{"version":3,"file":"ContentOverview.Cy0aNP3F.mjs","names":["useState","useCallback","useMemo"],"sources":["https:/framerusercontent.com/modules/sLrmzV00cES0OJMOaS9l/X1YhyHuBBCFmTGTQHAjL/ContentOverview.js"],"sourcesContent":["// CMS Content Overview with filtering, sorting and search functionality\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useMemo,useCallback,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * CMS Content Overview with filtering, sorting and search\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ContentOverview(props){const{casesData=[],blogsData=[],webinarsData=[],showSearch=true,showFilters=true,showSort=true,itemsPerRow=3,backgroundColor=\"#FFFFFF\",cardBackgroundColor=\"#F5F5F5\",textColor=\"#000000\",accentColor=\"#0099FF\",borderRadius=8,titleFont,bodyFont,buttonFont}=props;// Define spacing constant\nconst spacing=24;// State for filtering, sorting, and searching\nconst[searchTerm,setSearchTerm]=useState(\"\");const[selectedCategory,setSelectedCategory]=useState(\"all\");const[selectedType,setSelectedType]=useState(\"all\");const[sortBy,setSortBy]=useState(\"date\");const[sortOrder,setSortOrder]=useState(\"desc\");// Function to detect current language from URL\nconst getCurrentLanguage=useCallback(()=>{if(typeof window===\"undefined\")return\"\";const path=window.location.pathname;// Check if path starts with /en/ or /nl/ etc.\nconst langMatch=path.match(/^\\/([a-z]{2})(\\/|$)/);if(langMatch){return langMatch[1]// Returns 'en', 'nl', etc.\n;}return\"\"// Default language (no prefix)\n;},[]);// Function to build URL with language prefix\nconst buildUrlWithLanguage=useCallback(url=>{if(!url)return\"\";const currentLang=getCurrentLanguage();// If no language detected, return URL as is\nif(!currentLang)return url;// If URL already starts with a language code, return as is\nif(url.match(/^\\/[a-z]{2}\\//))return url;// If URL is absolute (starts with http), handle it\nif(url.match(/^https?:\\/\\//)){try{const urlObj=new URL(url);// Only modify if it's the same domain\nif(typeof window!==\"undefined\"&&urlObj.hostname===window.location.hostname){// Check if pathname already has language prefix\nif(!urlObj.pathname.match(/^\\/[a-z]{2}\\//)){// Add language prefix to pathname\nurlObj.pathname=urlObj.pathname===\"/\"?`/${currentLang}`:`/${currentLang}${urlObj.pathname}`;}return urlObj.toString();}return url;}catch{return url;}}// For relative URLs, add language prefix\nconst cleanUrl=url.startsWith(\"/\")?url:`/${url}`;return`/${currentLang}${cleanUrl}`;},[getCurrentLanguage]);// Sample data\nconst allItems=useMemo(()=>{const items=[];// Add cases\ncasesData.forEach((item,index)=>{items.push({id:`case-${index}`,title:item.title,image:item.image||{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Default image\"},category:\"Case\",date:item.date,type:\"case\",url:item.url});});// Add blogs\nblogsData.forEach((item,index)=>{items.push({id:`blog-${index}`,title:item.title,image:item.image||{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Default image\"},category:\"Blog\",date:item.date,type:\"blog\",url:item.url});});// Add webinars\nwebinarsData.forEach((item,index)=>{items.push({id:`webinar-${index}`,title:item.title,image:item.image||{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Default image\"},category:\"Webinar\",date:item.date,type:\"webinar\",url:item.url});});return items;},[casesData,blogsData,webinarsData]);// Get unique categories\nconst categories=useMemo(()=>{const cats=new Set(allItems.map(item=>item.category));return Array.from(cats).sort();},[allItems]);// Filter and sort items\nconst filteredAndSortedItems=useMemo(()=>{let filtered=allItems;// Apply search filter\nif(searchTerm){filtered=filtered.filter(item=>item.title.toLowerCase().includes(searchTerm.toLowerCase())||item.category.toLowerCase().includes(searchTerm.toLowerCase()));}// Apply category filter - only filter if not \"all\"\nif(selectedCategory!==\"all\"){filtered=filtered.filter(item=>item.category===selectedCategory);}// Apply type filter - only filter if not \"all\"\nif(selectedType!==\"all\"){filtered=filtered.filter(item=>item.type===selectedType);}// Apply sorting\nfiltered.sort((a,b)=>{let comparison=0;switch(sortBy){case\"title\":comparison=a.title.localeCompare(b.title);break;case\"category\":comparison=a.category.localeCompare(b.category);break;case\"type\":comparison=a.type.localeCompare(b.type);break;case\"date\":default:comparison=new Date(a.date).getTime()-new Date(b.date).getTime();break;}return sortOrder===\"asc\"?comparison:-comparison;});return filtered;},[allItems,searchTerm,selectedCategory,selectedType,sortBy,sortOrder]);const handleSearch=useCallback(value=>{startTransition(()=>setSearchTerm(value));},[]);const handleCategoryFilter=useCallback(category=>{startTransition(()=>setSelectedCategory(category));},[]);const handleTypeFilter=useCallback(type=>{startTransition(()=>setSelectedType(type));},[]);const handleSort=useCallback(field=>{startTransition(()=>{if(sortBy===field){setSortOrder(prev=>prev===\"asc\"?\"desc\":\"asc\");}else{setSortBy(field);setSortOrder(\"desc\");}});},[sortBy]);const formatDate=dateString=>{try{// If empty or invalid string, return as is\nif(!dateString||typeof dateString!==\"string\"){return dateString;}// Try to parse various date formats\nlet day,month,year;// Check for DD/MM/YYYY or DD-MM-YYYY or DD.MM.YYYY format\nconst dmyMatch=dateString.match(/^(\\d{1,2})[\\/\\-\\.](\\d{1,2})[\\/\\-\\.](\\d{4})$/);if(dmyMatch){day=parseInt(dmyMatch[1]);month=parseInt(dmyMatch[2]);year=parseInt(dmyMatch[3]);}else if(/^\\d{4}[\\/\\-\\.]\\d{1,2}[\\/\\-\\.]\\d{1,2}$/.test(dateString)){const date=new Date(dateString);if(!isNaN(date.getTime())){day=date.getDate();month=date.getMonth()+1;year=date.getFullYear();}else{return dateString;}}else if(/^\\d{1,2}[\\/\\-\\.]\\d{1,2}[\\/\\-\\.]\\d{4}$/.test(dateString)){// Try parsing as MM/DD/YYYY\nconst parts=dateString.split(/[\\/\\-\\.]/);const testDate=new Date(parseInt(parts[2]),parseInt(parts[0])-1,parseInt(parts[1]));if(!isNaN(testDate.getTime())){day=testDate.getDate();month=testDate.getMonth()+1;year=testDate.getFullYear();}else{return dateString;}}else{const date=new Date(dateString);if(!isNaN(date.getTime())){day=date.getDate();month=date.getMonth()+1;year=date.getFullYear();}else{return dateString;}}// Validate the parsed date\nconst validationDate=new Date(year,month-1,day);if(validationDate.getDate()!==day||validationDate.getMonth()!==month-1||validationDate.getFullYear()!==year){return dateString// Invalid date, return original\n;}// Format as DD/MM/YYYY\nconst dayStr=String(day).padStart(2,\"0\");const monthStr=String(month).padStart(2,\"0\");return`${dayStr}/${monthStr}/${year}`;}catch{return dateString;}};const getTypeLabel=type=>{switch(type){case\"case\":return\"Case\";case\"blog\":return\"Blog\";case\"webinar\":return\"Webinar\";default:return type;}};const getCategoryBackgroundColor=category=>{switch(category){case\"Blog\":return\"#01759A\";case\"Case\":return\"#72C9BE\";case\"Webinar\":return\"#0D1116\";default:return\"#000000\";}};return /*#__PURE__*/_jsxs(\"div\",{className:\"content-overview-container\",style:{...props.style,backgroundColor,\"--container-padding\":`${spacing}px`,padding:spacing,minHeight:\"100%\",width:\"100%\",fontFamily:\"Poppins, sans-serif\"},children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap\",rel:\"stylesheet\"}),/*#__PURE__*/_jsx(\"style\",{children:`\n\n                @media screen and (min-width: 1024px) {\n                    .filter-heading {\n                        gap: 30px !important;\n                    }\n                }\n\n                .filter-heading_row {\n                    display: flex;\n                    align-items: center;\n                    gap: 20px !important;\n                }\n\n                .filter-heading_search {\n                    flex-grow: 1;\n                }\n\n                @media screen and (max-width: 900px) {\n                    .filter-heading {\n                        flex-direction: column;\n                    }\n\n                    .filter-heading_row {\n                        width: 100%;\n                    }\n\n                    .filter-heading_row label {\n                        min-width: 80px;\n                    }\n\n                    .filter-heading_row select {\n                        width: calc(100% - 100px) !important;\n                    }\n                }\n                \n\n                .content-overview-title {\n                    font-family: Poppins, sans-serif;\n                    font-weight: 700;\n                    font-size: 22px;\n                    line-height: 1.2em;\n                }\n\n                .content-overview-container {\n                    padding: var(--container-padding);\n                }\n                @media screen and (max-width: 900px) {\n                    .content-overview-title {\n                        font-size: 18px;\n                        padding: 0 !important;\n                        margin-top: 20px;\n                        line-height: 1.2em;\n                    }\n                    .content-overview-container {\n                        padding: 16px !important;\n                    }\n                }\n                .content-overview-card {\n                    display: flex;\n                    flex-direction: row;\n                }\n                .content-overview-card-image {\n                    width: 180px;\n                    height: 140px;\n                    flex-shrink: 0;\n                }\n                @media screen and (max-width: 900px) {\n                    .content-overview-card {\n                        flex-direction: column;\n                        gap: 12px !important;\n                        margin-bottom: 10px !important;\n                    }\n                    .content-overview-card-image {\n                        width: 100%;\n                    }\n\n                    .content-overview-card-image + div {\n                        padding-left: 0 !important;\n                    }\n                }\n            `}),/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:spacing*1.5},children:/*#__PURE__*/_jsxs(\"div\",{className:\"filter-heading\",style:{display:\"flex\",alignItems:\"center\",gap:spacing,marginBottom:spacing},children:[showFilters&&/*#__PURE__*/_jsxs(\"div\",{className:\"filter-heading_row filter-heading_category\",style:{display:\"flex\",alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsx(\"label\",{style:{...bodyFont,color:textColor,fontSize:\"16px\",fontWeight:500},children:\"Categorie\"}),/*#__PURE__*/_jsxs(\"select\",{value:selectedCategory,onChange:e=>handleCategoryFilter(e.target.value),style:{padding:\"10px 16px\",border:\"1px solid #E0E0E0\",borderRadius,backgroundColor:\"#FFFFFF\",color:textColor,...bodyFont,fontSize:\"14px\",minWidth:\"200px\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"all\",children:\"All\"}),categories.map(category=>/*#__PURE__*/_jsx(\"option\",{value:category,children:category},category))]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"filter-heading_row filter-heading_sort\",children:[/*#__PURE__*/_jsx(\"label\",{style:{...bodyFont,color:textColor,fontSize:\"16px\",fontWeight:500,whiteSpace:\"nowrap\"},children:\"Sorteren\"}),showSort&&/*#__PURE__*/_jsxs(\"select\",{value:`${sortBy}-${sortOrder}`,onChange:e=>{const[field,order]=e.target.value.split(\"-\");startTransition(()=>{setSortBy(field);setSortOrder(order);});},style:{padding:\"10px 16px\",border:\"1px solid #E0E0E0\",borderRadius,backgroundColor:\"#FFFFFF\",color:textColor,...bodyFont,fontSize:\"14px\",minWidth:\"200px\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"date-desc\",children:\"Datum — nieuw → oud\"}),/*#__PURE__*/_jsx(\"option\",{value:\"date-asc\",children:\"Datum — oud → nieuw\"}),/*#__PURE__*/_jsx(\"option\",{value:\"title-asc\",children:\"Titel — A → Z\"}),/*#__PURE__*/_jsx(\"option\",{value:\"title-desc\",children:\"Titel — Z → A\"})]})]}),showSearch&&/*#__PURE__*/_jsx(\"div\",{className:\"filter-heading_row filter-heading_search\",children:/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Zoeken...\",value:searchTerm,onChange:e=>handleSearch(e.target.value),style:{flex:1,padding:\"10px 16px\",border:\"1px solid #E0E0E0\",borderRadius,fontSize:\"14px\",...bodyFont,color:textColor,backgroundColor:\"#FFFFFF\"}})})]})}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:spacing,...bodyFont,color:textColor,opacity:.7},children:[filteredAndSortedItems.length,\" result\",filteredAndSortedItems.length!==1?\"s\":\"\"]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${itemsPerRow}, 1fr)`,gap:50,width:\"100%\"},children:filteredAndSortedItems.map(item=>/*#__PURE__*/_jsxs(\"div\",{onClick:()=>{if(item.url){const urlWithLang=buildUrlWithLanguage(item.url);window.location.href=urlWithLang;}},className:\"content-overview-card\",style:{backgroundColor:\"transparent\",borderRadius,overflow:\"hidden\",transition:\"transform 0.2s ease\",cursor:item.url?\"pointer\":\"default\",textDecoration:\"none\",color:\"inherit\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"content-overview-card-image\",style:{backgroundImage:`url(${item.image?.src||\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\"})`,backgroundSize:\"cover\",backgroundPosition:\"center\"}}),/*#__PURE__*/_jsx(\"div\",{style:{padding:`0 0 0 ${spacing}px`,display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",justifyContent:\"flex-start\",textAlign:\"left\"},children:/*#__PURE__*/_jsxs(\"div\",{className:\"content-overview-card-text-wrapper\",style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",justifyContent:\"flex-start\",textAlign:\"left\"},children:[/*#__PURE__*/_jsx(\"h3\",{className:\"content-overview-title\",style:{margin:\"0 0 8px 0\",color:textColor,textAlign:\"left\"},children:item.title}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",fontSize:\"12px\",color:textColor,opacity:.6,...bodyFont,textAlign:\"left\",marginBottom:\"8px\"},children:/*#__PURE__*/_jsx(\"span\",{children:formatDate(item.date)})}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"fit-content\",height:\"fit-content\",backgroundColor:getCategoryBackgroundColor(item.category),borderRadius:\"20px\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",padding:\"4px 10px\",fontFamily:\"Poppins, sans-serif\",fontSize:\"13px\",fontWeight:600,lineHeight:\"1.2em\",color:\"#FFFFFF\",textTransform:\"uppercase\"},children:item.category})]})})]},item.id))}),filteredAndSortedItems.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",padding:spacing*2,color:textColor,opacity:.6,...bodyFont},children:allItems.length===0?\"No data available. Please add content to your CMS collections (Case, Blog, or Webinar).\":\"No content found matching your criteria.\"})]});}addPropertyControls(ContentOverview,{// Data Controls\ncasesData:{type:ControlType.Array,title:\"Cases Data\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Case Study Title\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"},date:{type:ControlType.String,title:\"Date\",defaultValue:\"15/01/2024\",placeholder:\"DD/MM/YYYY\"},url:{type:ControlType.String,title:\"URL\",defaultValue:\"\"}}},defaultValue:[]},blogsData:{type:ControlType.Array,title:\"Blogs Data\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Blog Post Title\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"},date:{type:ControlType.String,title:\"Date\",defaultValue:\"15/01/2024\",placeholder:\"DD/MM/YYYY\"},url:{type:ControlType.String,title:\"URL\",defaultValue:\"\"}}},defaultValue:[]},webinarsData:{type:ControlType.Array,title:\"Webinars Data\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Webinar Title\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"},date:{type:ControlType.String,title:\"Date\",defaultValue:\"15/01/2024\",placeholder:\"DD/MM/YYYY\"},url:{type:ControlType.String,title:\"URL\",defaultValue:\"\"}}},defaultValue:[]},// UI Controls\nshowSearch:{type:ControlType.Boolean,title:\"Show Search\",defaultValue:true},showFilters:{type:ControlType.Boolean,title:\"Show Filters\",defaultValue:true},showSort:{type:ControlType.Boolean,title:\"Show Sort\",defaultValue:true},itemsPerRow:{type:ControlType.Number,title:\"Items Per Row\",defaultValue:2,min:1,max:6,step:1},// Colors\nbackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},cardBackgroundColor:{type:ControlType.Color,title:\"Card Background\",defaultValue:\"#F5F5F5\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},accentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#0099FF\"},// Layout\nborderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:0,min:0,max:20,step:1,unit:\"px\"},// Typography\ntitleFont:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:\"18px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},bodyFont:{type:ControlType.Font,title:\"Body Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},buttonFont:{type:ControlType.Font,title:\"Button Font\",defaultValue:{fontSize:\"12px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ContentOverview\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ContentOverview.map"],"mappings":"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"}