{"version":3,"file":"HackPartnersGrid.BeC_p7pt.mjs","names":["p","React.useState","React.useMemo"],"sources":["https:/framerusercontent.com/modules/u4zRZ5AAPjlYLG8aWsnE/wJxqGfW4Opx7hAdCspYA/HackPartnersGrid.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// -------- helpers --------\nfunction tryParseJson(s){if(!s)return null;try{return JSON.parse(s);}catch{return null;}}function getByPath(obj,path){if(!path)return undefined;return path.split(\".\").reduce((o,k)=>o==null?o:o[k],obj);}function resolveLogoSrc(input){if(!input)return null;const raw=typeof input===\"string\"?input:input?.url||input?.src||input?.value||null;if(!raw)return null;return String(raw).replace(/(\\.(svg|png|jpg|jpeg|webp))(,\\d+,\\d+)$/i,\"$1\");}// HubDB year (select/multiselect) → Array<string|number>\nfunction toYearArray(v){if(v==null)return[];if(Array.isArray(v)){return v.map(it=>it&&typeof it===\"object\"?(it.label??it.name??it.value??\"\").toString():it).filter(x=>`${x}`.trim()!==\"\");}if(typeof v===\"object\"){const label=v.label??v.name??v.value;return label!=null?[label]:[];}return[`${v}`];}// HubDB category (select) → String\nfunction toCategoryString(v){if(v==null)return null;if(typeof v===\"object\"){const label=v.label??v.name??v.value;return label!=null?String(label):null;}return String(v);}function normalizeItems(raw,keys){const{nameKey,logoKey,urlKey,yearKey,categoryKey}=keys;return(raw||[]).map(r=>{const name=getByPath(r,nameKey)??\"\";const logoVal=getByPath(r,logoKey);const url=getByPath(r,urlKey)??null;const years=toYearArray(getByPath(r,yearKey));const category=toCategoryString(getByPath(r,categoryKey));const logoSrc=resolveLogoSrc(logoVal);return{name,logoSrc,url,years,category};});}function uniqueSortedYears(items){const set=new Set;for(const it of items){for(const y of it.years||[]){if(`${y}`.trim()!==\"\")set.add(y);}}const arr=Array.from(set);const numeric=arr.every(y=>!isNaN(Number(y)));return arr.sort((a,b)=>numeric?Number(b)-Number(a):`${b}`.localeCompare(`${a}`,undefined,{numeric:true}));}function parseSectionsOrder(input){const parts=(input||\"\").split(\",\").map(p=>p.trim()).filter(Boolean);const out=[];for(const p of parts){const[valueRaw,labelRaw]=p.split(\"|\");const value=(valueRaw??\"\").trim();const label=(labelRaw??value).trim();if(value)out.push({value,label});}return out;}// -------- data hook (fetch or props) --------\nfunction useRawData(dataUrl,rootKey,itemsJson,items){const[state,setState]=React.useState({raw:[],source:\"empty\"});React.useEffect(()=>{let cancelled=false;async function run(){if(dataUrl){try{const res=await fetch(dataUrl,{cache:\"no-store\"});const status=res.status;const json=await res.json();const arr=Array.isArray(rootKey?json?.[rootKey]:json)?rootKey?json[rootKey]:json:Array.isArray(json?.results)?json.results:[];if(!cancelled)setState({raw:arr,source:\"url\",fetchStatus:status});return;}catch(e){if(!cancelled)setState({raw:[],source:\"url\",error:String(e?.message||e)});return;}}if(Array.isArray(items)&&items.length>0){if(!cancelled)setState({raw:items,source:\"array\"});return;}const fromItemsJson=Array.isArray(itemsJson)?itemsJson:tryParseJson(typeof itemsJson===\"string\"?itemsJson:undefined);if(Array.isArray(fromItemsJson)){if(!cancelled)setState({raw:fromItemsJson,source:\"json\"});return;}const parsedRoot=typeof itemsJson===\"string\"?tryParseJson(itemsJson):Array.isArray(itemsJson)?null:itemsJson;const rootResults=parsedRoot?.results;if(Array.isArray(rootResults)){if(!cancelled)setState({raw:rootResults,source:\"fallback\"});return;}if(!cancelled)setState({raw:[],source:\"empty\"});}run();return()=>{cancelled=true;};},[dataUrl,rootKey,itemsJson,items]);return state;}// -------- component --------\nexport default function PartnerYearGrid(props){const{dataUrl,rootKey,itemsJson,items,nameKey,logoKey,urlKey,yearKey,categoryKey,heading,sectionsOrder,defaultYear,openInNewTab,columnsDesktop,columnsTablet,columnsMobile,gap,logoMaxHeight,paddingX,paddingY,invertOnDark,bgColor,textColor,tabInactiveOpacity,underlineThickness,showAllTab,showNoYearTab,noYearLabel,debug,debugMaxItems}=props;// Rohdaten holen\nconst{raw,source,error,fetchStatus}=useRawData(dataUrl,rootKey,itemsJson,items);const data=React.useMemo(()=>normalizeItems(raw,{nameKey,logoKey,urlKey,yearKey,categoryKey}),[raw,nameKey,logoKey,urlKey,yearKey,categoryKey]);const yearsPure=React.useMemo(()=>uniqueSortedYears(data),[data]);const hasNoYear=React.useMemo(()=>data.some(i=>!i.years.length),[data]);const yearsTabs=React.useMemo(()=>yearsPure,[yearsPure]);const initialYear=React.useMemo(()=>{if(defaultYear&&yearsTabs.includes(defaultYear))return defaultYear;if(defaultYear&&yearsTabs.includes(Number(defaultYear)))return Number(defaultYear);return yearsTabs[0];},[yearsTabs,defaultYear]);const[activeYear,setActiveYear]=React.useState(initialYear);React.useEffect(()=>setActiveYear(initialYear),[initialYear]);const itemsForYear=React.useMemo(()=>{if(activeYear===\"All\")return data;if(activeYear===noYearLabel)return data.filter(i=>!i.years.length);return data.filter(i=>i.years.map(String).includes(String(activeYear)));},[data,activeYear,noYearLabel]);// Sections\nconst sections=React.useMemo(()=>parseSectionsOrder(sectionsOrder),[sectionsOrder]);// --- fix: kein \"Other\" mehr, Kategorien werden tolerant gematcht ---\nconst buckets=React.useMemo(()=>{const map={};for(const s of sections)map[s.value]=[];// normalisierte Vergleichswerte (alles lowercase + getrimmt)\nconst knownNorm=new Map(sections.map(s=>[s.value.trim().toLowerCase(),s.value]));for(const it of itemsForYear){const rawKey=(it.category??\"\").toString().trim().toLowerCase();const matchKey=knownNorm.get(rawKey);if(matchKey){map[matchKey].push(it);}// kein else → keine \"__other\" mehr\n}// sortieren\nfor(const k of Object.keys(map)){map[k].sort((a,b)=>String(a.name).localeCompare(String(b.name)));}return map;},[itemsForYear,sections]);const hasAnyYear=yearsPure.length>0;const debugInfo=debug?{source,fetchStatus,error,typeof_itemsJson:typeof itemsJson,isArray_itemsJson:Array.isArray(itemsJson),items_length:Array.isArray(items)?items.length:undefined,raw_length:Array.isArray(raw)?raw.length:0,raw_first_keys:Array.isArray(raw)&&raw[0]?Object.keys(raw[0]):[],sample_raw_0:Array.isArray(raw)?raw.slice(0,1):raw,mapped_length:data.length,sample_mapped:data.slice(0,Math.max(1,debugMaxItems)),yearsPure,yearsTabs,activeYear,itemsForYear_length:itemsForYear.length,categories_present:Array.from(new Set(data.map(d=>(d.category??\"\").toString()))).filter(Boolean)}:null;return /*#__PURE__*/_jsxs(\"div\",{style:{fontFamily:\"Prompt, sans-serif\",width:\"100%\",color:textColor,background:bgColor,boxSizing:\"border-box\",// 🟢 wie Summit: kompakter & zentriert\npadding:\"24px 80px\",display:\"flex\",flexDirection:\"column\",gap:16},children:[yearsTabs.length>0&&/*#__PURE__*/_jsx(\"div\",{role:\"tablist\",\"aria-label\":\"Years\",style:{position:\"relative\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",gap:16,paddingBottom:10},children:yearsTabs.map(y=>{const active=`${y}`===`${activeYear}`;return /*#__PURE__*/_jsx(\"button\",{role:\"tab\",\"aria-selected\":active,onClick:()=>setActiveYear(y),style:{background:\"transparent\",border:\"none\",color:textColor,cursor:\"pointer\",fontSize:26,fontWeight:700,fontFamily:\"Prompt, sans-serif\",letterSpacing:\"-0.01em\",opacity:active?1:tabInactiveOpacity,padding:\"10px 12px\",minWidth:64,textAlign:\"center\",borderBottom:active?`${underlineThickness}px solid ${textColor}`:\"none\",transition:\"border-bottom 0.25s ease, opacity 0.2s ease\"},children:y},`tab-${y}`);})}),heading?.trim()&&/*#__PURE__*/_jsx(\"h2\",{style:{margin:\"8px 0 0\",fontSize:36,lineHeight:1.15,fontWeight:700,fontFamily:\"Prompt, sans-serif\",letterSpacing:\"-0.01em\"},children:heading}),sections.map(s=>(buckets[s.value]||[]).length?/*#__PURE__*/_jsx(SectionGrid,{title:s.label,items:buckets[s.value],openInNewTab:openInNewTab,columnsDesktop:columnsDesktop,columnsTablet:columnsTablet,columnsMobile:columnsMobile,gap:gap,logoMaxHeight:logoMaxHeight,invertOnDark:invertOnDark},`sec-${s.value}`):null),!itemsForYear.length&&/*#__PURE__*/_jsx(\"div\",{style:{opacity:.7,fontSize:14},children:hasAnyYear?\"No partners for this year.\":\"No data.\"}),debug&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:16,padding:12,border:`1px dashed ${textColor}`,borderRadius:8,fontFamily:\"ui-monospace, Menlo, Monaco, Consolas, monospace\",fontSize:12,lineHeight:1.4,whiteSpace:\"pre-wrap\",wordBreak:\"break-word\",opacity:.95},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:800,marginBottom:8},children:\"DEBUG\"}),/*#__PURE__*/_jsx(\"pre\",{style:{margin:0,maxHeight:280,overflow:\"auto\"},children:JSON.stringify(debugInfo,null,2)})]})]});}function SectionGrid({title,items,openInNewTab,columnsDesktop,columnsTablet,columnsMobile,gap,logoMaxHeight,invertOnDark}){return /*#__PURE__*/_jsxs(\"section\",{style:{display:\"flex\",flexDirection:\"column\",gap:16},children:[title&&/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:28,fontWeight:700,opacity:.9,fontFamily:\"Prompt, sans-serif\",letterSpacing:\"-0.01em\"},children:title}),/*#__PURE__*/_jsxs(\"div\",{className:\"partner-grid\",style:{display:\"grid\",gap,gridTemplateColumns:`repeat(${columnsDesktop}, minmax(0, 1fr))`},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n          @media (max-width: 1080px) { .partner-grid { grid-template-columns: repeat(${columnsTablet}, minmax(0, 1fr)) !important; } }\n          @media (max-width: 720px) { .partner-grid { grid-template-columns: repeat(${columnsMobile}, minmax(0, 1fr)) !important; } }\n        `}),items.map((it,idx)=>{const content=/*#__PURE__*/_jsx(\"div\",{title:it.name,style:{width:\"100%\",minHeight:logoMaxHeight+16,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:8},children:it.logoSrc?/*#__PURE__*/_jsx(\"img\",{src:it.logoSrc,alt:it.name||\"logo\",loading:\"lazy\",style:{maxWidth:\"100%\",maxHeight:logoMaxHeight,objectFit:\"contain\",filter:invertOnDark?\"invert(1) brightness(1.1)\":\"none\",display:\"block\"}}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:logoMaxHeight,opacity:.3,border:\"1px dashed currentColor\",borderRadius:8,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:12},children:it.name||\"No logo\"})},`item-${idx}`);return it.url?/*#__PURE__*/_jsx(\"a\",{href:it.url||undefined,target:openInNewTab?\"_blank\":undefined,rel:openInNewTab?\"noopener noreferrer\":undefined,style:{textDecoration:\"none\",color:\"inherit\"},children:content},`wrap-${idx}`):content;})]})]});}// -------- defaults & controls --------\nPartnerYearGrid.defaultProps={dataUrl:\"\",rootKey:\"results\",// Mapping passend zu HubSpot results[].values.*\nnameKey:\"values.partner_name\",logoKey:\"values.partner_logo\",urlKey:\"values.url\",yearKey:\"values.year\",categoryKey:\"values.category\",heading:\"\",sectionsOrder:\"START Area Sankt Gallen|START Area Sankt Gallen,Key Partners|Key Partners,Key Investor Partners|Key Investor Partners,Strategic Partners|Strategic Partners,Primary Investor Partners|Primary Investor Partners,Primary Partners|Primary Partners,Event Investor Partners|Event Investor Partners,Event Partners|Event Partners,Partners|Partners,Sponsoring Partners|Sponsoring Partners,Media Partners|Media Partners,Network Partners|Network Partners,Ecosystem Partners|Ecosystem Partners,Host Region|Host Region,Gold Partners|Gold Partners,Silver Partners|Silver Partners,Bronze Partners|Bronze Partners,Premium Investment Partners|Premium Investment Partners,Regular Investment Partners|Regular Investment Partners,Basic Investment Partners|Basic Investment Partners,Sustainability Partners|Sustainability Partners,Software and Media Partners|Software and Media Partners,Software & Mobility Partners|Software & Mobility Partners,Presenting Partners|Presenting Partners,Partner Conferences|Partner Conferences,Partner Clubs|Partner Clubs,Mobility Partner|Mobility Partner,Legal & Software Partners|Legal & Software Partners,Legal & Tax Partner|Legal & Tax Partner,Software Partners|Software Partners,Official Legal & Tax Partner|Official Legal & Tax Partner,Official Furniture Partner|Official Furniture Partner, Growth & Workshop Partners|Growth & Workshop Partners,Challenge Partners|Challenge Partners,Case Partners|Case Partners\",showAllTab:true,showNoYearTab:true,noYearLabel:\"No Year\",openInNewTab:true,columnsDesktop:6,columnsTablet:4,columnsMobile:2,gap:24,logoMaxHeight:56,paddingX:16,paddingY:12,invertOnDark:false,bgColor:\"#000000\",textColor:\"#ffffff\",tabInactiveOpacity:.6,underlineThickness:2,debug:false,debugMaxItems:3};addPropertyControls(PartnerYearGrid,{dataUrl:{type:ControlType.String,title:\"Data URL\"},rootKey:{type:ControlType.String,title:\"Root Key\"},items:{type:ControlType.Array,title:\"Data (Array)\"},itemsJson:{type:ControlType.String,title:\"Data (JSON)\",displayTextArea:true},nameKey:{type:ControlType.String,title:\"Field \\xb7 partner_name\"},logoKey:{type:ControlType.String,title:\"Field \\xb7 partner_logo\"},urlKey:{type:ControlType.String,title:\"Field \\xb7 url\"},yearKey:{type:ControlType.String,title:\"Field \\xb7 year (multiselect)\"},categoryKey:{type:ControlType.String,title:\"Field \\xb7 category (select)\"},heading:{type:ControlType.String,title:\"Main Heading\"},sectionsOrder:{type:ControlType.String,title:\"Sections (value|label, …)\"},defaultYear:{type:ControlType.String,title:\"Default Year\"},showAllTab:{type:ControlType.Boolean,title:\"Show 'All' Tab\"},showNoYearTab:{type:ControlType.Boolean,title:\"Show 'No Year' Tab\"},noYearLabel:{type:ControlType.String,title:\"No Year Label\"},openInNewTab:{type:ControlType.Boolean,title:\"Open in new tab\"},columnsDesktop:{type:ControlType.Number,title:\"Cols \\xb7 Desktop\",min:1,max:12,step:1},columnsTablet:{type:ControlType.Number,title:\"Cols \\xb7 Tablet\",min:1,max:8,step:1},columnsMobile:{type:ControlType.Number,title:\"Cols \\xb7 Mobile\",min:1,max:6,step:1},gap:{type:ControlType.Number,title:\"Gap\",min:0,max:64,step:1},logoMaxHeight:{type:ControlType.Number,title:\"Logo Max H\",min:24,max:160,step:2},paddingX:{type:ControlType.Number,title:\"Padding X\",min:0,max:64,step:1},paddingY:{type:ControlType.Number,title:\"Padding Y\",min:0,max:64,step:1},invertOnDark:{type:ControlType.Boolean,title:\"Invert Logos\"},bgColor:{type:ControlType.Color,title:\"BG\"},textColor:{type:ControlType.Color,title:\"Text\"},tabInactiveOpacity:{type:ControlType.Number,title:\"Tab Inactive Opacity\",min:.2,max:1,step:.05},underlineThickness:{type:ControlType.Number,title:\"Underline\",min:0,max:6,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PartnerYearGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HackPartnersGrid.map"],"mappings":"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"}