{"version":3,"file":"CustomMAP.CDRbu-eD.mjs","names":["useState","useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/wxalM8LjOsPkdaVtq2kj/tVRjOkgChRu68LU075kY/CustomMAP.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,// @ts-ignore\nuseQueryData}from\"framer\";/* -----------------------------\n   Mapbox GL loader + CSS inject\n----------------------------- */let mapboxModulePromise=null;function loadMapboxGL(){if(mapboxModulePromise)return mapboxModulePromise;mapboxModulePromise=new Promise(async(resolve,reject)=>{try{const cssId=\"mapbox-gl-css\";if(!document.getElementById(cssId)){const link=document.createElement(\"link\");link.id=cssId;link.rel=\"stylesheet\";link.href=\"https://api.mapbox.com/mapbox-gl-js/v2.15.0/mapbox-gl.css\";document.head.appendChild(link);}const mod=await import(\"mapbox-gl\");resolve(mod.default??mod);}catch(e){reject(e);}});return mapboxModulePromise;}/* -----------------------------\n   UI Styles\n----------------------------- */const containerStyle={width:\"100%\",height:\"100%\",borderRadius:\"16px\",overflow:\"hidden\",position:\"relative\",border:\"2px solid #004E7F\",boxSizing:\"border-box\"};const mapContainerStyle={width:\"100%\",height:\"100%\",borderRadius:\"16px\"};/** Desktop default: flush with the map edge — no top/left/bottom padding, no right corner radius.\n    Now also no inner padding, so the image stack itself sits flush inside the sidebar. */const sidebarStyle={position:\"absolute\",top:0,left:0,width:\"25%\",height:\"100%\",backgroundColor:\"#ffffff\",borderRadius:0,padding:0,boxShadow:\"0 4px 12px rgba(0, 0, 0, 0.15)\",zIndex:1e3,display:\"flex\",flexDirection:\"column\",overflowY:\"auto\",boxSizing:\"border-box\"};/* No gap between cards — they stack directly against each other */const previewContainerStyle={display:\"flex\",flexDirection:\"column\",gap:0};/* Card is now edge-to-edge: no border, no radius, no gap — pure image stack */const previewCardStyle={position:\"relative\",width:\"100%\",height:\"140px\",borderRadius:0,overflow:\"hidden\",cursor:\"pointer\",transition:\"transform 0.2s ease, box-shadow 0.2s ease\",display:\"block\"};const previewImageStyle={width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"};const previewFallbackStyle={width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"#f0f0f0\",color:\"#004E7F\",fontFamily:\"'Baloo 2', sans-serif\",fontSize:\"14px\",textAlign:\"center\",padding:\"8px\",boxSizing:\"border-box\"};/* -----------------------------\n   Overlay: always centered on the map, never clipped\n\n   The wrapper spans the whole map container and centers the card with\n   flexbox, so the card's own center always matches the map's center —\n   no matter how tall it gets. maxHeight keeps it inside the container;\n   if the content is still taller (many distance badges), only the middle\n   section scrolls, while image and DISCOVER button stay pinned.\n----------------------------- */const OVERLAY_SAFE_MARGIN=24;const OVERLAY_CARD_WIDTH=420;const overlayWrapStyle={position:\"absolute\",inset:0,zIndex:1200,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:`${OVERLAY_SAFE_MARGIN}px`,boxSizing:\"border-box\",/* wrapper itself must not swallow map/sidebar clicks */pointerEvents:\"none\"};const overlayCardShellStyle={position:\"relative\",width:`${OVERLAY_CARD_WIDTH}px`,maxWidth:\"100%\",maxHeight:\"100%\",minHeight:0,display:\"flex\",pointerEvents:\"auto\"};const overlayCardStyle={position:\"relative\",width:\"100%\",maxHeight:\"100%\",minHeight:0,display:\"flex\",flexDirection:\"column\",background:\"#fff\",borderRadius:\"24px\",boxShadow:\"0 18px 40px rgba(0,0,0,0.20)\",overflow:\"hidden\"};/* Image sits flush at the top of the card (no inner margin/box).\n   It may shrink a little on short containers, but never below 110px. */const overlayImageBoxStyle={position:\"relative\",width:\"100%\",height:\"220px\",flexGrow:0,flexShrink:1,flexBasis:\"220px\",minHeight:\"110px\",background:\"#D9D9D9\",overflow:\"hidden\"};const overlayImageStyle={width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"};/* Scrollable middle section — this is what absorbs long badge lists */const overlayBodyStyle={padding:\"20px 22px 4px 22px\",display:\"flex\",flexDirection:\"column\",gap:\"14px\",flexGrow:1,flexShrink:1,flexBasis:\"auto\",minHeight:0,overflowY:\"auto\",overscrollBehavior:\"contain\",WebkitOverflowScrolling:\"touch\"};/* Button stays pinned at the bottom, outside the scroll area */const overlayFooterStyle={padding:\"14px 22px 22px 22px\",flexGrow:0,flexShrink:0,background:\"#fff\"};const overlayRowStyle={display:\"flex\",alignItems:\"center\",gap:\"10px\"};const overlayIconWrapStyle={width:\"20px\",height:\"20px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0};const overlayFlagStyle={width:\"24px\",height:\"16px\",objectFit:\"cover\",borderRadius:\"2px\",flexShrink:0};const overlayRowTextStyle={fontFamily:\"'Baloo 2', sans-serif\",fontSize:\"15px\",fontWeight:500,color:\"#333333\"};const overlayDistanceImagesWrapStyle={display:\"flex\",gap:\"8px\",flexWrap:\"wrap\",alignItems:\"center\"};const overlayDistanceImageStyle={height:\"26px\",width:\"auto\",objectFit:\"contain\",borderRadius:\"4px\",display:\"block\"};const overlayButtonStyle={width:\"100%\",height:\"50px\",border:\"none\",borderRadius:\"12px\",background:\"#004E7F\",color:\"#fff\",fontSize:\"18px\",fontWeight:700,letterSpacing:\"1px\",cursor:\"pointer\",fontFamily:\"'Baloo 2', sans-serif\"};/* -----------------------------\n   Small inline icons\n----------------------------- */const CalendarIcon=()=>/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#1a1a1a\",strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"5\",width:\"18\",height:\"16\",rx:\"2\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"10\",x2:\"21\",y2:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"8\",y1:\"3\",x2:\"8\",y2:\"7\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"16\",y1:\"3\",x2:\"16\",y2:\"7\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"14.5\",r:\"0.9\",fill:\"#1a1a1a\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"14.5\",r:\"0.9\",fill:\"#1a1a1a\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"16\",cy:\"14.5\",r:\"0.9\",fill:\"#1a1a1a\",stroke:\"none\"})]});const RouteIcon=()=>/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#1a1a1a\",strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M3 16c2 0 2-3 4-3s2 3 4 3 2-3 4-3\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"19\",cy:\"13\",r:\"2.4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M19 15.4c0 1.8-2.2 4-2.2 4\"})]});/* -----------------------------\n   Responsive Helpers\n----------------------------- */const BREAKPOINT_TABLET=1024;const BREAKPOINT_MOBILE=640;function getModeByContainerWidth(w){if(w<BREAKPOINT_MOBILE)return\"mobile\";if(w<BREAKPOINT_TABLET)return\"tablet\";return\"desktop\";}function resolveImageValue(val){if(!val)return null;if(typeof val===\"string\")return val;if(typeof val===\"object\"){if(val.src)return val.src;if(val.srcSet){const firstUrl=String(val.srcSet).split(\",\")[0].trim().split(\" \")[0];return firstUrl||null;}}return null;}function formatDate(rawValue){if(!rawValue)return undefined;const d=new Date(rawValue);if(Number.isNaN(d.getTime()))return String(rawValue);return d.toLocaleDateString(\"en-US\",{month:\"short\",day:\"numeric\",year:\"numeric\"});}function parseLatLngFlexible(rawValue){const raw=String(rawValue??\"\").trim().replace(\";\",\",\");const parts=raw.includes(\",\")?raw.split(\",\").map(s=>s.trim()):raw.split(/\\s+/).map(s=>s.trim());const a=Number(parts[0]);const b=Number(parts[1]);let lat=a;let lng=b;if(Number.isFinite(a)&&Number.isFinite(b)){const aIsLat=Math.abs(a)<=90;const bIsLat=Math.abs(b)<=90;const aIsLng=Math.abs(a)<=180;const looksSwapped=aIsLng&&bIsLat&&!aIsLat;if(looksSwapped){lat=b;lng=a;}}return{lat,lng};}/* -----------------------------\n   Distance switch <-> image field pairs\n   (matches the exact CMS field titles, incl. their typos)\n----------------------------- */const DISTANCE_FIELD_PAIRS=[{switchField:\"LONG DISTANCE\",imageField:\"Long Distance\"},{switchField:\"DOUBLE\",imageField:\"Double\"},{switchField:\"TRIPLE\",imageField:\"Triple\"},{switchField:\"QUADRUPLE\",imageField:\"Quadruple\"},{switchField:\"QUINTUPLE\",imageField:\"Quintuple\"},{switchField:\"DECA\",imageField:\"Deca\"},{switchField:\"DOUBLE DECA\",imageField:\"Double Deca\"},{switchField:\"TRIPLE DECA\",imageField:\"Triple Deca\"},{switchField:\"DOUBLE PER-DAY\",imageField:\"Double PER-DAY\"},{switchField:\"TRIPLE PER-DAY\",imageField:\"Ttriple PER-DAY\"},{switchField:\"QUADRUPLE PER-DAY\",imageField:\"Quadruple PER-DAY\"},{switchField:\"QUINTUPLE PER-DAY\",imageField:\"QUintuple PER-DAY\"},{switchField:\"DECA PER-DAY\",imageField:\"DecA PER-DAY\"},{switchField:\"DOUBLE DECA PER-DAY\",imageField:\"DouBLE DECA PER-DAY\"},{switchField:\"TRIPLE DECA PER-DAY\",imageField:\"TRipLE DECA PER-DAY\"}];function extractDistanceImages(input){const images=[];for(const pair of DISTANCE_FIELD_PAIRS){if(input[pair.switchField]===true){const img=resolveImageValue(input[pair.imageField]);if(img)images.push(img);}}return images;}function formatToMarkerObject(input){const{lat,lng}=parseLatLngFlexible(input.position);return{id:input.id,position:[lat,lng],icon:resolveImageValue(input.Logo),name:input.Titel||input.Title||\"Race Title\",slug:input.Slug,image:resolveImageValue(input.Bild),address:input.Location||input.Address||input.Adresse||input.address,flag:resolveImageValue(input.Flag),date:formatDate(input.Datum||input.Date),anmeldeLink:input[\"Anmelde Link\"]||input.AnmeldeLink||null,distanceImages:extractDistanceImages(input)};}/* The overlay is centered on the map, so the marker has to be pushed\n   sideways far enough to clear the card's right edge. */function flyToForOverlayResponsive(map,lngLat,zoom,mode){const container=map.getContainer();const w=container?.clientWidth||0;if(mode===\"mobile\"){map.flyTo({center:lngLat,zoom,offset:[0,0],speed:1.2,curve:1.4,essential:true});return;}const cardWidth=Math.min(OVERLAY_CARD_WIDTH,Math.max(0,w-OVERLAY_SAFE_MARGIN*2));/* half the card + a little breathing room, but never so far that the\n       marker leaves the visible map area */const offsetX=Math.min(cardWidth/2+60,Math.max(0,w/2-OVERLAY_SAFE_MARGIN*2));map.flyTo({center:lngLat,zoom,offset:[offsetX,0],speed:1.2,curve:1.4,essential:true});}/* -----------------------------\n   Component\n----------------------------- */export default function OpenStreetMaps(props){const[markers,setMarkers]=useState([]);const[filteredMarkers,setFilteredMarkers]=useState([]);const[mapboxLoaded,setMapboxLoaded]=useState(false);const[selectedMarker,setSelectedMarker]=useState(null);const wrapperRef=useRef(null);const[mode,setMode]=useState(\"desktop\");useEffect(()=>{const el=wrapperRef.current;if(!el)return;const ro=new ResizeObserver(()=>{const w=el.clientWidth||0;setMode(getModeByContainerWidth(w));});ro.observe(el);setMode(getModeByContainerWidth(el.clientWidth||0));return()=>ro.disconnect();},[]);const mapContainerRef=useRef(null);const mapRef=useRef(null);const mapboxRef=useRef(null);const markerInstancesRef=useRef([]);const markerIndexRef=useRef(new Map);/* Tracks whether the current map \"click\" event originated from a marker,\n       so the map-wide click-to-close handler can ignore it */const markerClickGuardRef=useRef(false);/* ---- CMS integration ---- */const collectionList=props.collectionList?.[0];const query=collectionList?.props?.children?.props?.children?.props?.query;const propertyControlsById=query?.from?.data?.propertyControls||{};const select=[...Object.keys(propertyControlsById).map(id=>({name:id,type:\"Identifier\"})),{name:\"id\",type:\"Identifier\"}];const cmsData=query?useQueryData({...query,select}):[];/* ---- Load Mapbox ---- */useEffect(()=>{loadMapboxGL().then(mb=>{mapboxRef.current=mb;setMapboxLoaded(true);}).catch(e=>console.error(\"Failed to load mapbox-gl:\",e));},[]);/* ---- Monochrome map filter (CSS only, applied to the canvas only —\n       leaves markers/logos, sidebar, and popup at full color) ---- */useEffect(()=>{const styleId=\"osm-monochrome-style\";let styleEl=document.getElementById(styleId);if(props.monochromeMap){if(!styleEl){styleEl=document.createElement(\"style\");styleEl.id=styleId;document.head.appendChild(styleEl);}styleEl.textContent=`\n                .mapboxgl-canvas {\n                    filter: grayscale(1) contrast(1.05) brightness(1.02);\n                }\n            `;}else if(styleEl){styleEl.textContent=\"\";}},[props.monochromeMap]);/* ---- Slim scrollbar inside the popup body ---- */useEffect(()=>{const styleId=\"osm-overlay-scrollbar-style\";if(document.getElementById(styleId))return;const styleEl=document.createElement(\"style\");styleEl.id=styleId;styleEl.textContent=`\n            .osm-overlay-body::-webkit-scrollbar { width: 6px; }\n            .osm-overlay-body::-webkit-scrollbar-track { background: transparent; }\n            .osm-overlay-body::-webkit-scrollbar-thumb {\n                background: rgba(0,78,127,0.25);\n                border-radius: 999px;\n            }\n            .osm-overlay-body {\n                scrollbar-width: thin;\n                scrollbar-color: rgba(0,78,127,0.25) transparent;\n            }\n        `;document.head.appendChild(styleEl);},[]);/* ---- Parse markers ---- */useEffect(()=>{if(!collectionList)return;const formattedMarkers=(cmsData||[]).map(item=>{const marker={};for(const id in propertyControlsById){const property=propertyControlsById[id];const value=item[id];if(property.type===\"string\"||property.type===\"number\"||property.type===\"date\"||property.type===\"link\"){marker[property.title]=value;}else if(property.type===\"boolean\"){marker[property.title]=value;}else if(property.type===\"list\"){marker[property.title]=Array.isArray(value)?value:[];}else if(property.type===\"responsiveimage\"||property.type===\"image\"){marker[property.title]=value;}}if(!marker.position&&marker.Position)marker.position=marker.Position;if(!marker.position&&marker.Koordinaten)marker.position=marker.Koordinaten;if(!marker.position&&marker.Coordinates)marker.position=marker.Coordinates;return formatToMarkerObject(marker);});setMarkers(formattedMarkers);setFilteredMarkers(formattedMarkers);},[cmsData,propertyControlsById]);/* ---- Map init ---- */useEffect(()=>{if(!mapboxLoaded)return;if(!mapContainerRef.current)return;if(mapRef.current)return;const mb=mapboxRef.current;const token=props.mapboxAccessToken||props.accessToken||props.token||props.mapboxToken||\"\";const styleUrl=props.mapStyle||props.anonymousStyle||\"\";if(!token)return;mb.accessToken=token;const{lat,lng}=parseLatLngFlexible(props.initialLatLng||\"0,0\");const map=new mb.Map({container:mapContainerRef.current,style:styleUrl,center:[lng,lat],zoom:props.initialZoom??1,projection:\"mercator\",antialias:true});map.on(\"style.load\",()=>{renderMarkers();});/* Clicking anywhere on the map that isn't a marker closes the popup */map.on(\"click\",()=>{if(markerClickGuardRef.current){markerClickGuardRef.current=false;return;}setSelectedMarker(null);});mapRef.current=map;return()=>{try{map.remove();}catch{}mapRef.current=null;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[mapboxLoaded,props.mapboxAccessToken,props.accessToken,props.token,props.mapboxToken,props.mapStyle,props.anonymousStyle,props.initialLatLng,props.initialZoom]);/* ---- Apply style changes ---- */useEffect(()=>{const map=mapRef.current;if(!map)return;const styleUrl=props.mapStyle||props.anonymousStyle||\"\";try{if(styleUrl)map.setStyle(styleUrl);}catch{}},[props.mapStyle,props.anonymousStyle]);/* ---- Resize ---- */useEffect(()=>{const map=mapRef.current;if(!map||!mapContainerRef.current)return;const ro=new ResizeObserver(()=>{try{map.resize();}catch{}});ro.observe(mapContainerRef.current);return()=>ro.disconnect();},[mapboxLoaded]);const openOverlayForMarker=m=>{const map=mapRef.current;if(!map)return;/* Mark this as a marker-originated interaction so the map's own\n           click-to-close handler (which fires right after this) skips it */markerClickGuardRef.current=true;setSelectedMarker(m);const[lat,lng]=m.position;if(!Number.isFinite(lat)||!Number.isFinite(lng))return;const lngLat=[lng,lat];flyToForOverlayResponsive(map,lngLat,Math.max(map.getZoom(),props.initialZoom??1),mode);};/* -----------------------------\n       Render markers\n----------------------------- */const renderMarkers=()=>{const map=mapRef.current;const mb=mapboxRef.current;if(!map||!mb)return;markerInstancesRef.current.forEach(mk=>{try{mk.remove();}catch{}});markerInstancesRef.current=[];markerIndexRef.current.clear();/* Uniform height for every pin's logo image (width is auto, so each\n           logo keeps its own aspect ratio but they all read as \"same size\") */const PIN_LOGO_HEIGHT=42;filteredMarkers.forEach(m=>{const[lat,lng]=m.position;if(!Number.isFinite(lat)||!Number.isFinite(lng))return;const lngLat=[lng,lat];const el=document.createElement(\"div\");el.style.cursor=\"pointer\";el.style.userSelect=\"none\";el.style.display=\"flex\";el.style.alignItems=\"center\";el.style.justifyContent=\"center\";el.style.background=\"transparent\";const iconUrl=m.icon||props.defaultIcon;if(iconUrl){/* No background plate — just the logo image itself,\n                   fit-to-content width, uniform height across all pins.\n                   Filter forces every logo to render as a solid black\n                   silhouette (regardless of its original colors), with a\n                   thin white outline + drop shadow so it stays visible on\n                   both light and dark map areas. */const img=document.createElement(\"img\");img.src=iconUrl;img.style.height=`${PIN_LOGO_HEIGHT}px`;img.style.width=\"auto\";img.style.maxWidth=\"70px\";img.style.objectFit=\"contain\";img.style.display=\"block\";img.style.filter=\"brightness(0) saturate(100%) drop-shadow(0 0 1px rgba(255,255,255,0.9)) drop-shadow(0 0 1px rgba(255,255,255,0.9)) drop-shadow(0 3px 6px rgba(0,0,0,0.35))\";img.style.pointerEvents=\"none\";el.appendChild(img);}else{/* Fallback: plain dot when no logo is set at all */el.style.width=\"18px\";el.style.height=\"18px\";el.style.borderRadius=\"999px\";el.style.background=\"#004E7F\";el.style.boxShadow=\"0 6px 14px rgba(0,0,0,0.25)\";el.style.border=\"2px solid #fff\";}const markerInstance=new mb.Marker({element:el,anchor:\"center\"}).setLngLat(lngLat).addTo(map);el.addEventListener(\"click\",()=>openOverlayForMarker(m));markerInstancesRef.current.push(markerInstance);markerIndexRef.current.set(m.id,markerInstance);});};useEffect(()=>{const map=mapRef.current;if(!map)return;try{if(map.isStyleLoaded&&map.isStyleLoaded())renderMarkers();}catch{renderMarkers();}// eslint-disable-next-line react-hooks/exhaustive-deps\n},[filteredMarkers,props.defaultIcon]);/* -----------------------------\n       Sidebar interactions\n----------------------------- */const openFromSidebar=m=>{openOverlayForMarker(m);};const goToDetails=m=>{if(m.slug){window.location.href=`/races/${m.slug}`;}else{openFromSidebar(m);}};const previewMarkers=useMemo(()=>filteredMarkers,[filteredMarkers]);const computedSidebarStyle=mode===\"desktop\"?sidebarStyle:mode===\"tablet\"?{...sidebarStyle,width:\"50%\"}:{...sidebarStyle,width:\"100%\"};return /*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:containerStyle,children:[/*#__PURE__*/_jsx(\"div\",{ref:mapContainerRef,style:mapContainerStyle}),selectedMarker&&/*#__PURE__*/_jsx(\"div\",{style:overlayWrapStyle,children:/*#__PURE__*/_jsx(\"div\",{style:overlayCardShellStyle,children:/*#__PURE__*/_jsxs(\"div\",{style:overlayCardStyle,children:[/*#__PURE__*/_jsx(\"div\",{style:overlayImageBoxStyle,children:selectedMarker.image?/*#__PURE__*/_jsx(\"img\",{src:selectedMarker.image,alt:selectedMarker.name,style:overlayImageStyle}):null}),/*#__PURE__*/_jsxs(\"div\",{className:\"osm-overlay-body\",style:overlayBodyStyle,children:[selectedMarker.address&&/*#__PURE__*/_jsxs(\"div\",{style:overlayRowStyle,children:[selectedMarker.flag&&/*#__PURE__*/_jsx(\"img\",{src:selectedMarker.flag,alt:\"\",style:overlayFlagStyle}),/*#__PURE__*/_jsx(\"span\",{style:overlayRowTextStyle,children:selectedMarker.address})]}),selectedMarker.date&&/*#__PURE__*/_jsxs(\"div\",{style:overlayRowStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:overlayIconWrapStyle,children:/*#__PURE__*/_jsx(CalendarIcon,{})}),/*#__PURE__*/_jsx(\"span\",{style:overlayRowTextStyle,children:selectedMarker.date})]}),selectedMarker.distanceImages&&selectedMarker.distanceImages.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:overlayRowStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:overlayIconWrapStyle,children:/*#__PURE__*/_jsx(RouteIcon,{})}),/*#__PURE__*/_jsx(\"div\",{style:overlayDistanceImagesWrapStyle,children:selectedMarker.distanceImages.map((imgUrl,idx)=>/*#__PURE__*/_jsx(\"img\",{src:imgUrl,alt:\"\",style:overlayDistanceImageStyle},idx))})]})]}),/*#__PURE__*/_jsx(\"div\",{style:overlayFooterStyle,children:/*#__PURE__*/_jsx(\"button\",{style:overlayButtonStyle,onClick:()=>{if(selectedMarker.slug){window.location.href=`/races/${selectedMarker.slug}`;}},children:\"DISCOVER\"})})]})})}),/*#__PURE__*/_jsx(\"div\",{style:computedSidebarStyle,children:previewMarkers.length>0&&/*#__PURE__*/_jsx(\"div\",{style:previewContainerStyle,children:previewMarkers.map(m=>/*#__PURE__*/_jsx(\"div\",{style:previewCardStyle,onClick:()=>goToDetails(m),onMouseEnter:e=>{e.currentTarget.style.transform=\"scale(1.02)\";if(props.sidebarHoverOpensPopup){openFromSidebar(m);}},onMouseLeave:e=>{e.currentTarget.style.transform=\"scale(1)\";},children:m.image?/*#__PURE__*/_jsx(\"img\",{src:m.image,alt:m.name,style:previewImageStyle}):/*#__PURE__*/_jsx(\"div\",{style:previewFallbackStyle,children:m.name})},m.id))})})]});}/* -----------------------------\n   Defaults + Controls (Hardcoded Credentials)\n----------------------------- */OpenStreetMaps.defaultProps={defaultIcon:null,initialLatLng:\"0,0\",initialZoom:1,mapStyle:\"mapbox://styles/masostudio/cmql6xevo009201sd14xjeutp\",mapboxAccessToken:\"pk.eyJ1IjoibWFzb3N0dWRpbyIsImEiOiJjbWh2djZobzkwMGFsMmlzYXF4cGFrenF3In0.G5oqh62JBNduAs0xOQOU6g\",sidebarHoverOpensPopup:true,monochromeMap:true};addPropertyControls(OpenStreetMaps,{collectionList:{type:ControlType.ComponentInstance,title:\"CMS Collection\"},mapboxAccessToken:{type:ControlType.String,title:\"Mapbox Token\",displayTextArea:true,defaultValue:\"pk.eyJ1IjoibWFzb3N0dWRpbyIsImEiOiJjbWh2djZobzkwMGFsMmlzYXF4cGFrenF3In0.G5oqh62JBNduAs0xOQOU6g\"},mapStyle:{type:ControlType.String,title:\"Map Style URL\",placeholder:\"mapbox://styles/<user>/<styleId>\",defaultValue:\"mapbox://styles/masostudio/cmql6xevo009201sd14xjeutp\"},defaultIcon:{type:ControlType.String,title:\"Fallback Icon URL\",placeholder:\"PNG URL (used if a race has no Logo set)\"},initialLatLng:{type:ControlType.String,title:\"Initial Position\",defaultValue:\"0,0\",placeholder:\"lat,lng\"},initialZoom:{type:ControlType.Number,title:\"Initial Zoom\",defaultValue:1,min:1,max:18,step:1},sidebarHoverOpensPopup:{type:ControlType.Boolean,title:\"Sidebar hover opens\",defaultValue:true},monochromeMap:{type:ControlType.Boolean,title:\"Monochrome Map\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OpenStreetMaps\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CustomMAP.map"],"mappings":"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"}