{"version":3,"file":"InteractiveMap.Cyc3yonm.mjs","names":["useState","useRef","useMemo","project","useCallback"],"sources":["https:/framerusercontent.com/modules/lrnDiizwUDgu8ZInb4eR/iJJqizRYCq7SxFTx7MmB/InteractiveMap.js"],"sourcesContent":["// Interactive map component with GeoJSON data visualization\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,startTransition,useMemo,useCallback,useRef}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// Map endpoints\nconst MAP_SOURCES={World:\"https://code.highcharts.com/mapdata/custom/world.geo.json\",Afghanistan:\"https://code.highcharts.com/mapdata/countries/af/af-all.geo.json\",Albania:\"https://code.highcharts.com/mapdata/countries/al/al-all.geo.json\",Algeria:\"https://code.highcharts.com/mapdata/countries/dz/dz-all.geo.json\",Argentina:\"https://code.highcharts.com/mapdata/countries/ar/ar-all.geo.json\",Armenia:\"https://code.highcharts.com/mapdata/countries/am/am-all.geo.json\",Australia:\"https://code.highcharts.com/mapdata/countries/au/au-all.geo.json\",Austria:\"https://code.highcharts.com/mapdata/countries/at/at-all.geo.json\",Azerbaijan:\"https://code.highcharts.com/mapdata/countries/az/az-all.geo.json\",Bahrain:\"https://code.highcharts.com/mapdata/countries/bh/bh-all.geo.json\",Bangladesh:\"https://code.highcharts.com/mapdata/countries/bd/bd-all.geo.json\",Belarus:\"https://code.highcharts.com/mapdata/countries/by/by-all.geo.json\",Belgium:\"https://code.highcharts.com/mapdata/countries/be/be-all.geo.json\",Bolivia:\"https://code.highcharts.com/mapdata/countries/bo/bo-all.geo.json\",\"Bosnia and Herzegovina\":\"https://code.highcharts.com/mapdata/countries/ba/ba-all.geo.json\",Brazil:\"https://code.highcharts.com/mapdata/countries/br/br-all.geo.json\",Bulgaria:\"https://code.highcharts.com/mapdata/countries/bg/bg-all.geo.json\",Cambodia:\"https://code.highcharts.com/mapdata/countries/kh/kh-all.geo.json\",Canada:\"https://code.highcharts.com/mapdata/countries/ca/ca-all.geo.json\",Chile:\"https://code.highcharts.com/mapdata/countries/cl/cl-all.geo.json\",China:\"https://code.highcharts.com/mapdata/countries/cn/cn-all.geo.json\",Colombia:\"https://code.highcharts.com/mapdata/countries/co/co-all.geo.json\",Croatia:\"https://code.highcharts.com/mapdata/countries/hr/hr-all.geo.json\",Cyprus:\"https://code.highcharts.com/mapdata/countries/cy/cy-all.geo.json\",\"Czech Republic\":\"https://code.highcharts.com/mapdata/countries/cz/cz-all.geo.json\",Denmark:\"https://code.highcharts.com/mapdata/countries/dk/dk-all.geo.json\",Ecuador:\"https://code.highcharts.com/mapdata/countries/ec/ec-all.geo.json\",Egypt:\"https://code.highcharts.com/mapdata/countries/eg/eg-all.geo.json\",Estonia:\"https://code.highcharts.com/mapdata/countries/ee/ee-all.geo.json\",Finland:\"https://code.highcharts.com/mapdata/countries/fi/fi-all.geo.json\",France:\"https://code.highcharts.com/mapdata/countries/fr/fr-all.geo.json\",Georgia:\"https://code.highcharts.com/mapdata/countries/ge/ge-all.geo.json\",Germany:\"https://code.highcharts.com/mapdata/countries/de/de-all.geo.json\",Ghana:\"https://code.highcharts.com/mapdata/countries/gh/gh-all.geo.json\",Greece:\"https://code.highcharts.com/mapdata/countries/gr/gr-all.geo.json\",Guatemala:\"https://code.highcharts.com/mapdata/countries/gt/gt-all.geo.json\",Hungary:\"https://code.highcharts.com/mapdata/countries/hu/hu-all.geo.json\",Iceland:\"https://code.highcharts.com/mapdata/countries/is/is-all.geo.json\",India:\"https://code.highcharts.com/mapdata/countries/in/in-all.geo.json\",Indonesia:\"https://code.highcharts.com/mapdata/countries/id/id-all.geo.json\",Iran:\"https://code.highcharts.com/mapdata/countries/ir/ir-all.geo.json\",Iraq:\"https://code.highcharts.com/mapdata/countries/iq/iq-all.geo.json\",Ireland:\"https://code.highcharts.com/mapdata/countries/ie/ie-all.geo.json\",Israel:\"https://code.highcharts.com/mapdata/countries/il/il-all.geo.json\",Italy:\"https://code.highcharts.com/mapdata/countries/it/it-all.geo.json\",Japan:\"https://code.highcharts.com/mapdata/countries/jp/jp-all.geo.json\",Jordan:\"https://code.highcharts.com/mapdata/countries/jo/jo-all.geo.json\",Kazakhstan:\"https://code.highcharts.com/mapdata/countries/kz/kz-all.geo.json\",Kenya:\"https://code.highcharts.com/mapdata/countries/ke/ke-all.geo.json\",Kuwait:\"https://code.highcharts.com/mapdata/countries/kw/kw-all.geo.json\",Latvia:\"https://code.highcharts.com/mapdata/countries/lv/lv-all.geo.json\",Lebanon:\"https://code.highcharts.com/mapdata/countries/lb/lb-all.geo.json\",Lithuania:\"https://code.highcharts.com/mapdata/countries/lt/lt-all.geo.json\",Luxembourg:\"https://code.highcharts.com/mapdata/countries/lu/lu-all.geo.json\",Malaysia:\"https://code.highcharts.com/mapdata/countries/my/my-all.geo.json\",Mexico:\"https://code.highcharts.com/mapdata/countries/mx/mx-all.geo.json\",Moldova:\"https://code.highcharts.com/mapdata/countries/md/md-all.geo.json\",Mongolia:\"https://code.highcharts.com/mapdata/countries/mn/mn-all.geo.json\",Montenegro:\"https://code.highcharts.com/mapdata/countries/me/me-all.geo.json\",Morocco:\"https://code.highcharts.com/mapdata/countries/ma/ma-all.geo.json\",Myanmar:\"https://code.highcharts.com/mapdata/countries/mm/mm-all.geo.json\",Nepal:\"https://code.highcharts.com/mapdata/countries/np/np-all.geo.json\",Netherlands:\"https://code.highcharts.com/mapdata/countries/nl/nl-all.geo.json\",\"New Zealand\":\"https://code.highcharts.com/mapdata/countries/nz/nz-all.geo.json\",Nigeria:\"https://code.highcharts.com/mapdata/countries/ng/ng-all.geo.json\",\"North Korea\":\"https://code.highcharts.com/mapdata/countries/kp/kp-all.geo.json\",Norway:\"https://code.highcharts.com/mapdata/countries/no/no-all.geo.json\",Oman:\"https://code.highcharts.com/mapdata/countries/om/om-all.geo.json\",Pakistan:\"https://code.highcharts.com/mapdata/countries/pk/pk-all.geo.json\",Palestine:\"https://code.highcharts.com/mapdata/countries/ps/ps-all.geo.json\",Panama:\"https://code.highcharts.com/mapdata/countries/pa/pa-all.geo.json\",Peru:\"https://code.highcharts.com/mapdata/countries/pe/pe-all.geo.json\",Philippines:\"https://code.highcharts.com/mapdata/countries/ph/ph-all.geo.json\",Poland:\"https://code.highcharts.com/mapdata/countries/pl/pl-all.geo.json\",Portugal:\"https://code.highcharts.com/mapdata/countries/pt/pt-all.geo.json\",Qatar:\"https://code.highcharts.com/mapdata/countries/qa/qa-all.geo.json\",Romania:\"https://code.highcharts.com/mapdata/countries/ro/ro-all.geo.json\",Russia:\"https://code.highcharts.com/mapdata/countries/ru/ru-all.geo.json\",\"Saudi Arabia\":\"https://code.highcharts.com/mapdata/countries/sa/sa-all.geo.json\",Serbia:\"https://code.highcharts.com/mapdata/countries/rs/rs-all.geo.json\",Singapore:\"https://code.highcharts.com/mapdata/countries/sg/sg-all.geo.json\",Slovakia:\"https://code.highcharts.com/mapdata/countries/sk/sk-all.geo.json\",Slovenia:\"https://code.highcharts.com/mapdata/countries/si/si-all.geo.json\",\"South Africa\":\"https://code.highcharts.com/mapdata/countries/za/za-all.geo.json\",\"South Korea\":\"https://code.highcharts.com/mapdata/countries/kr/kr-all.geo.json\",Spain:\"https://code.highcharts.com/mapdata/countries/es/es-all.geo.json\",\"Sri Lanka\":\"https://code.highcharts.com/mapdata/countries/lk/lk-all.geo.json\",Sweden:\"https://code.highcharts.com/mapdata/countries/se/se-all.geo.json\",Switzerland:\"https://code.highcharts.com/mapdata/countries/ch/ch-all.geo.json\",Syria:\"https://code.highcharts.com/mapdata/countries/sy/sy-all.geo.json\",Taiwan:\"https://code.highcharts.com/mapdata/countries/tw/tw-all.geo.json\",Thailand:\"https://code.highcharts.com/mapdata/countries/th/th-all.geo.json\",Tunisia:\"https://code.highcharts.com/mapdata/countries/tn/tn-all.geo.json\",Turkey:\"https://code.highcharts.com/mapdata/countries/tr/tr-all.geo.json\",Ukraine:\"https://code.highcharts.com/mapdata/countries/ua/ua-all.geo.json\",\"United Arab Emirates\":\"https://code.highcharts.com/mapdata/countries/ae/ae-all.geo.json\",\"United Kingdom\":\"https://code.highcharts.com/mapdata/countries/gb/gb-all.geo.json\",USA:\"https://code.highcharts.com/mapdata/countries/us/us-all.geo.json\",Uruguay:\"https://code.highcharts.com/mapdata/countries/uy/uy-all.geo.json\",Venezuela:\"https://code.highcharts.com/mapdata/countries/ve/ve-all.geo.json\",Vietnam:\"https://code.highcharts.com/mapdata/countries/vn/vn-all.geo.json\",Yemen:\"https://code.highcharts.com/mapdata/countries/ye/ye-all.geo.json\",\"S\\xe3o Tom\\xe9 and Pr\\xedncipe\":\"https://code.highcharts.com/mapdata/countries/st/st-all.geo.json\"};// Country code mapping for GeoDB API\nconst COUNTRY_CODES={World:\"WORLD\",Afghanistan:\"AF\",Albania:\"AL\",Algeria:\"DZ\",Argentina:\"AR\",Armenia:\"AM\",Australia:\"AU\",Austria:\"AT\",Azerbaijan:\"AZ\",Bahrain:\"BH\",Bangladesh:\"BD\",Belarus:\"BY\",Belgium:\"BE\",Bolivia:\"BO\",\"Bosnia and Herzegovina\":\"BA\",Brazil:\"BR\",Bulgaria:\"BG\",Cambodia:\"KH\",Canada:\"CA\",Chile:\"CL\",China:\"CN\",Colombia:\"CO\",Croatia:\"HR\",Cyprus:\"CY\",\"Czech Republic\":\"CZ\",Denmark:\"DK\",Ecuador:\"EC\",Egypt:\"EG\",Estonia:\"EE\",Finland:\"FI\",France:\"FR\",Georgia:\"GE\",Germany:\"DE\",Ghana:\"GH\",Greece:\"GR\",Guatemala:\"GT\",Hungary:\"HU\",Iceland:\"IS\",India:\"IN\",Indonesia:\"ID\",Iran:\"IR\",Iraq:\"IQ\",Ireland:\"IE\",Israel:\"IL\",Italy:\"IT\",Japan:\"JP\",Jordan:\"JO\",Kazakhstan:\"KZ\",Kenya:\"KE\",Kuwait:\"KW\",Latvia:\"LV\",Lebanon:\"LB\",Lithuania:\"LT\",Luxembourg:\"LU\",Malaysia:\"MY\",Mexico:\"MX\",Moldova:\"MD\",Mongolia:\"MN\",Montenegro:\"ME\",Morocco:\"MA\",Myanmar:\"MM\",Nepal:\"NP\",Netherlands:\"NL\",\"New Zealand\":\"NZ\",Nigeria:\"NG\",\"North Korea\":\"KP\",Norway:\"NO\",Oman:\"OM\",Pakistan:\"PK\",Palestine:\"PS\",Panama:\"PA\",Peru:\"PE\",Philippines:\"PH\",Poland:\"PL\",Portugal:\"PT\",Qatar:\"QA\",Romania:\"RO\",Russia:\"RU\",\"Saudi Arabia\":\"SA\",Serbia:\"RS\",Singapore:\"SG\",Slovakia:\"SK\",Slovenia:\"SI\",\"South Africa\":\"ZA\",\"South Korea\":\"KR\",Spain:\"ES\",\"Sri Lanka\":\"LK\",Sweden:\"SE\",Switzerland:\"CH\",Syria:\"SY\",Taiwan:\"TW\",Thailand:\"TH\",Tunisia:\"TN\",Turkey:\"TR\",Ukraine:\"UA\",\"United Arab Emirates\":\"AE\",\"United Kingdom\":\"GB\",USA:\"US\",Uruguay:\"UY\",Venezuela:\"VE\",Vietnam:\"VN\",Yemen:\"YE\",\"S\\xe3o Tom\\xe9 and Pr\\xedncipe\":\"ST\"};// Cache for storing loaded map data\nconst mapCache=new Map;/**\n * Interactive map component with hover effects and data visualization\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function InteractiveMap(props){const{country=\"World\",locationSelector=\"\",color=\"#A0AEC0\",hoverColor=\"#3182CE\",strokeColor=\"#FFFFFF\",strokeWidth=.5,data={Mumbai:{title:\"Children Reached\",details:\"Educational program coverage\",value:\"2,500\",percentage:75},Delhi:{title:\"Healthcare Access\",details:\"Medical facilities available\",value:\"1,800\",percentage:60}},tooltipData=[{region:\"India\",title:\"Children Reached\",subtitle:\"Educational Impact\",details:\"Educational program coverage\",value:\"2,500\",percentage:75},{region:\"Canada\",title:\"Healthcare Access\",subtitle:\"Medical Services\",details:\"Medical facilities available\",value:\"1,800\",percentage:60}],showTooltip=true,tooltipBackground=\"#000000\",tooltipTextColor=\"#FFFFFF\",showProgressBar=true,progressBarColor=\"#4CAF50\",progressBarBackground=\"#333333\",tooltipMode=\"dark\",tooltipStroke=false,tooltipStrokeColor=\"#FFFFFF\",tooltipStrokeWidth=1,tooltipCornerRadius=12,tooltipShadow=true,font,mapBackground=\"#F5F5F5\",style}=props;const[mapData,setMapData]=useState(null);const[hoveredRegion,setHoveredRegion]=useState(null);const[mousePosition,setMousePosition]=useState({x:0,y:0});const[loading,setLoading]=useState(true);const[error,setError]=useState(null);const[locationOptions,setLocationOptions]=useState([]);const isStatic=useIsStaticRenderer();const hoverTimeoutRef=useRef(null);const containerRef=useRef(null);// Fetch location data from GeoDB Cities API\nuseEffect(()=>{if(typeof window===\"undefined\")return;const fetchLocationData=async()=>{try{const countryCode=COUNTRY_CODES[country];if(!countryCode)return;let url;if(country===\"World\"){// Fetch all countries\nurl=\"https://wft-geo-db.p.rapidapi.com/v1/geo/countries\";}else{// Fetch regions/states for specific country\nurl=`https://wft-geo-db.p.rapidapi.com/v1/geo/countries/${countryCode}/regions`;}const response=await fetch(url,{headers:{\"X-RapidAPI-Key\":\"your-api-key-here\",\"X-RapidAPI-Host\":\"wft-geo-db.p.rapidapi.com\"}});if(response.ok){const data=await response.json();const options=data.data?.map(item=>item.name||item.region)||[];startTransition(()=>{setLocationOptions(options.sort());});}}catch(err){console.warn(\"Could not fetch location data:\",err);// Fallback to empty array if API fails\nstartTransition(()=>{setLocationOptions([]);});}};fetchLocationData();},[country]);// Load selected country's map data\nuseEffect(()=>{if(typeof window===\"undefined\"){setLoading(false);return;}const loadMap=async()=>{try{startTransition(()=>{setLoading(true);setError(null);});// Check cache first\nif(mapCache.has(country)){const cachedData=mapCache.get(country);startTransition(()=>{setMapData(cachedData);// Extract region names for dropdown\nconst regions=cachedData.features.map(feature=>feature.properties?.name||feature.properties?.NAME||feature.properties?.NAME_EN||feature.properties?.NAME_1||feature.properties?.admin||`region-${cachedData.features.indexOf(feature)}`).filter(Boolean).sort();setLoading(false);});return;}const url=MAP_SOURCES[country];if(!url){throw new Error(`No map data available for ${country}`);}const response=await fetch(url);if(!response.ok){throw new Error(`Failed to fetch ${country} map: ${response.status}`);}const geoData=await response.json();// Cache the data\nmapCache.set(country,geoData);startTransition(()=>{setMapData(geoData);// Extract region names for dropdown\nconst regions=geoData.features.map(feature=>feature.properties?.name||feature.properties?.NAME||feature.properties?.NAME_EN||feature.properties?.NAME_1||feature.properties?.admin||`region-${geoData.features.indexOf(feature)}`).filter(Boolean).sort();setLoading(false);});}catch(err){console.error(\"Error loading map\",err);startTransition(()=>{setError(err.message);setLoading(false);});}};loadMap();},[country]);// Calculate bounds and create responsive projection\nconst{project,viewBox}=useMemo(()=>{if(!mapData?.features||mapData.features.length===0){return{project:coord=>coord,viewBox:\"0 0 500 300\"};}// Calculate geographic bounds\nlet minLon=Infinity,maxLon=-Infinity;let minLat=Infinity,maxLat=-Infinity;const extractCoords=(coords,type)=>{if(type===\"Polygon\"){coords.forEach(ring=>{ring.forEach(([lon,lat])=>{if(typeof lon===\"number\"&&typeof lat===\"number\"&&!isNaN(lon)&&!isNaN(lat)&&isFinite(lon)&&isFinite(lat)){minLon=Math.min(minLon,lon);maxLon=Math.max(maxLon,lon);minLat=Math.min(minLat,lat);maxLat=Math.max(maxLat,lat);}});});}else if(type===\"MultiPolygon\"){coords.forEach(polygon=>{polygon.forEach(ring=>{ring.forEach(([lon,lat])=>{if(typeof lon===\"number\"&&typeof lat===\"number\"&&!isNaN(lon)&&!isNaN(lat)&&isFinite(lon)&&isFinite(lat)){minLon=Math.min(minLon,lon);maxLon=Math.max(maxLon,lon);minLat=Math.min(minLat,lat);maxLat=Math.max(maxLat,lat);}});});});}};mapData.features.forEach(feature=>{if(feature.geometry&&feature.geometry.coordinates){extractCoords(feature.geometry.coordinates,feature.geometry.type);}});// Fallback if no valid coordinates found\nif(!isFinite(minLon)||!isFinite(maxLon)||!isFinite(minLat)||!isFinite(maxLat)){return{project:coord=>coord,viewBox:\"0 0 500 300\"};}// Add padding\nconst lonRange=maxLon-minLon;const latRange=maxLat-minLat;const padding=Math.max(lonRange,latRange)*.05// 5% padding\n;minLon-=padding;maxLon+=padding;minLat-=padding;maxLat+=padding;// Calculate dimensions for viewBox\nconst geoWidth=maxLon-minLon;const geoHeight=maxLat-minLat;// Fit to 1000x600, but preserve aspect by adjusting either width or height for single countries\nlet viewWidth=1e3;let viewHeight=600;const aspect=geoWidth/geoHeight;const targetAspect=viewWidth/viewHeight;if(country!==\"World\"){if(aspect>targetAspect){viewHeight=viewWidth/aspect;}else{viewWidth=viewHeight*aspect;}}const project=coord=>{const[lon,lat]=coord;if(typeof lon!==\"number\"||typeof lat!==\"number\"||!isFinite(lon)||!isFinite(lat)){return[0,0];}const x=(lon-minLon)/geoWidth*viewWidth;const y=(maxLat-lat)/geoHeight*viewHeight// Flip Y axis\n;return[x,y];};return{project,viewBox:`0 0 ${viewWidth} ${viewHeight}`};},[mapData,country]);// Convert GeoJSON polygons to path strings\nconst geoToPath=useCallback(feature=>{if(!feature.geometry||!feature.geometry.coordinates){return\"\";}const coords=feature.geometry.coordinates;try{if(feature.geometry.type===\"Polygon\"){return coords.map(ring=>{const pathData=ring.map((c,i)=>{const projected=project(c);return(i===0?\"M\":\"L\")+projected.join(\",\");}).join(\" \");return pathData;}).join(\" \")+\" Z\";}if(feature.geometry.type===\"MultiPolygon\"){return coords.map(poly=>poly.map(ring=>{const pathData=ring.map((c,i)=>{const projected=project(c);return(i===0?\"M\":\"L\")+projected.join(\",\");}).join(\" \");return pathData;}).join(\" \")+\" Z\").join(\" \");}}catch(err){console.warn(\"Error converting geometry to path:\",err);}return\"\";},[project]);const handleMouseEnter=useCallback((id,event)=>{if(!isStatic){// Clear any pending timeout\nif(hoverTimeoutRef.current){clearTimeout(hoverTimeoutRef.current);hoverTimeoutRef.current=null;}// Update mouse position relative to container\nif(containerRef.current){const rect=containerRef.current.getBoundingClientRect();setMousePosition({x:event.clientX-rect.left,y:event.clientY-rect.top});}// Immediately set hover state\nif(hoveredRegion!==id){setHoveredRegion(id);}}},[isStatic,hoveredRegion]);const handleMouseMove=useCallback(event=>{if(!isStatic&&hoveredRegion&&containerRef.current){const rect=containerRef.current.getBoundingClientRect();setMousePosition({x:event.clientX-rect.left,y:event.clientY-rect.top});}},[isStatic,hoveredRegion]);const handleMouseLeave=useCallback(()=>{if(!isStatic){// Debounce the mouse leave to prevent flickering\nif(hoverTimeoutRef.current){clearTimeout(hoverTimeoutRef.current);}hoverTimeoutRef.current=setTimeout(()=>{setHoveredRegion(null);hoverTimeoutRef.current=null;},50)// 50ms delay\n;}},[isStatic]);// Cleanup timeout on unmount\nuseEffect(()=>{return()=>{if(hoverTimeoutRef.current){clearTimeout(hoverTimeoutRef.current);}};},[]);// Convert tooltipData array to data object for easier lookup\nconst processedData=useMemo(()=>{const dataMap={...data};// Add data from tooltipData array\ntooltipData.forEach(item=>{if(item.region){dataMap[item.region]={title:item.title,subtitle:item.subtitle,details:item.details,value:item.value,percentage:item.percentage};}});return dataMap;},[data,tooltipData]);// Memoize path elements to prevent unnecessary re-renders\nconst pathElements=useMemo(()=>{if(!mapData?.features||mapData.features.length===0){return[];}return mapData.features.map((feature,i)=>{const id=feature.properties?.name||feature.properties?.NAME||feature.properties?.NAME_EN||feature.properties?.NAME_1||feature.properties?.admin||`region-${i}`;const path=geoToPath(feature);if(!path)return null;const hasData=processedData[id]!==undefined;return{id,path,hasData,key:i};}).filter(Boolean);},[mapData,geoToPath,processedData]);// Prevent hover/click on regions with no data\nconst regionMouseEvents=element=>!props.disableHoverOnNoData||element.hasData?{onMouseEnter:e=>handleMouseEnter(element.id,e),onMouseLeave:handleMouseLeave}:{onMouseEnter:undefined,onMouseLeave:undefined};if(loading){return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:mapBackground,color:\"#666666\",...font},children:[\"Loading \",country,\" map...\"]});}if(error){return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:mapBackground,color:\"#CC0000\",...font},children:[\"Error: \",error]});}if(!mapData||!mapData.features||mapData.features.length===0){return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:mapBackground,color:\"#666666\",...font},children:[\"No map data available for \",country]});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",backgroundColor:mapBackground,fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,fontSize:font&&font.fontSize?typeof font.fontSize===\"number\"?`${font.fontSize}px`:font.fontSize:\"18px\",lineHeight:font&&font.lineHeight?typeof font.lineHeight===\"number\"?`${font.lineHeight}${Number.isFinite(font.lineHeight)?\"px\":\"\"}`:font.lineHeight:\"1.2em\",color:tooltipTextColor,textAlign:font?.textAlign},onMouseMove:handleMouseMove,children:[/*#__PURE__*/_jsx(\"svg\",{width:\"100%\",height:\"100%\",viewBox:viewBox,style:{display:\"block\",backgroundColor:mapBackground},preserveAspectRatio:\"xMidYMid meet\",children:pathElements.map(element=>{const isHovered=hoveredRegion===element.id;return /*#__PURE__*/_jsx(\"path\",{d:element.path,fill:isHovered?hoverColor:color,stroke:strokeColor,strokeWidth:strokeWidth,style:{cursor:isStatic||!element.hasData?\"default\":\"pointer\",opacity:element.hasData?1:.7},...regionMouseEvents(element)},element.key);})}),showTooltip&&hoveredRegion&&!isStatic&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:Math.min(Math.max(mousePosition.x+15,8),(containerRef.current?.offsetWidth||0)-170),top:Math.min(Math.max(mousePosition.y+8,8),(containerRef.current?.offsetHeight||0)-120),backgroundColor:tooltipBackground,color:tooltipTextColor,padding:\"0.75rem\",borderRadius:tooltipCornerRadius,boxShadow:tooltipShadow?\"0 8px 24px rgba(0,0,0,0.2)\":\"none\",border:tooltipStroke?`${tooltipStrokeWidth}px solid ${tooltipStrokeColor}`:\"none\",pointerEvents:\"none\",zIndex:10,minWidth:font&&font.fontSize?typeof font.fontSize===\"number\"?`${font.fontSize*7}px`:`${parseInt(font.fontSize,10)*7}px`:\"126px\",maxWidth:font&&font.fontSize?typeof font.fontSize===\"number\"?`${font.fontSize*16}px`:`${parseInt(font.fontSize,10)*16}px`:\"288px\",width:\"max-content\",transform:undefined,fontFamily:font?.fontFamily,fontWeight:font?.fontWeight,fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,fontSize:font&&font.fontSize?typeof font.fontSize===\"number\"?`${font.fontSize}px`:font.fontSize:\"18px\",lineHeight:font&&font.lineHeight?typeof font.lineHeight===\"number\"?`${font.lineHeight}${Number.isFinite(font.lineHeight)?\"px\":\"\"}`:font.lineHeight:\"1.2em\",minHeight:font&&font.fontSize?typeof font.fontSize===\"number\"?`${font.fontSize*4.2}px`:`${parseInt(font.fontSize,10)*4.2}px`:\"76px\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",justifyContent:\"flex-start\",boxSizing:\"content-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"0.625rem\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:font&&font.fontSize?typeof font.fontSize===\"number\"?`${Math.max(font.fontSize*.85,12)}px`:font.fontSize:\"0.75rem\",marginBottom:\"0.25rem\",color:tooltipTextColor,lineHeight:font&&font.lineHeight?typeof font.lineHeight===\"number\"?`${Math.max(font.lineHeight*.85,12)}px`:font.lineHeight:\"1.2\",fontFamily:font?.fontFamily,fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,fontWeight:font?.fontWeight,textAlign:font?.textAlign,width:\"100%\"},children:hoveredRegion}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:font&&font.fontSize?typeof font.fontSize===\"number\"?`${Math.max(font.fontSize*.55,9)}px`:font.fontSize:\"0.5rem\",opacity:1,color:tooltipTextColor,lineHeight:font&&font.lineHeight?typeof font.lineHeight===\"number\"?`${Math.max(font.lineHeight*.75,9)}px`:font.lineHeight:\"1.3\",fontWeight:font?.fontWeight,fontFamily:font?.fontFamily,fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,textAlign:font?.textAlign,width:\"100%\"},children:processedData[hoveredRegion]?.title||\"No data available\"}),processedData[hoveredRegion]?.subtitle&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:font&&font.fontSize?typeof font.fontSize===\"number\"?`${Math.max(font.fontSize*.65,10)}px`:font.fontSize:\"0.6rem\",opacity:1,color:tooltipTextColor,lineHeight:font&&font.lineHeight?typeof font.lineHeight===\"number\"?`${Math.max(font.lineHeight*.8,10)}px`:font.lineHeight:\"1.3\",fontWeight:font?.fontWeight,fontFamily:font?.fontFamily,fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,textAlign:font?.textAlign,width:\"100%\"},children:processedData[hoveredRegion].subtitle})]}),processedData[hoveredRegion]?.details&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:font&&font.fontSize?typeof font.fontSize===\"number\"?`${Math.max(font.fontSize*.6,9)}px`:font.fontSize:\"0.5rem\",opacity:1,color:tooltipTextColor,lineHeight:font&&font.lineHeight?typeof font.lineHeight===\"number\"?`${Math.max(font.lineHeight*.8,10)}px`:font.lineHeight:\"1.3\",marginBottom:\"0.5rem\",padding:\"0.25rem 0\",borderTop:`1px solid ${tooltipTextColor}20`,whiteSpace:\"pre-wrap\",wordWrap:\"break-word\",overflowWrap:\"break-word\",fontFamily:font?.fontFamily,fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,fontWeight:font?.fontWeight,textAlign:font?.textAlign,width:\"100%\"},children:processedData[hoveredRegion].details}),(processedData[hoveredRegion]?.value||processedData[hoveredRegion]?.value===0)&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:font&&font.fontSize?typeof font.fontSize===\"number\"?`${Math.max(font.fontSize*.95,13)}px`:font.fontSize:\"0.7rem\",marginTop:\"0.25rem\",color:tooltipTextColor,fontWeight:font?.fontWeight,lineHeight:font&&font.lineHeight?typeof font.lineHeight===\"number\"?`${Math.max(font.lineHeight*.95,13)}px`:font.lineHeight:1.2,fontFamily:font?.fontFamily,fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,textAlign:font?.textAlign,width:\"100%\"},children:processedData[hoveredRegion].value})]})]});}addPropertyControls(InteractiveMap,{country:{type:ControlType.Enum,title:\"Map Country\",description:\"Select the country map to display.\",options:Object.keys(MAP_SOURCES),defaultValue:\"World\"},tooltipData:{type:ControlType.Array,title:\"Region Tooltip Data\",description:\"Array of data objects for tooltips on regions.\",control:{type:ControlType.Object,controls:{region:{type:ControlType.String,title:\"Region Name\",description:\"Name of the region or state.\",defaultValue:\"Region Name\"},title:{type:ControlType.String,title:\"Tooltip Title\",description:\"Title for the data shown in tooltip.\",defaultValue:\"Data Title\"},subtitle:{type:ControlType.String,title:\"Tooltip Subtitle\",description:\"Optional subtitle for the tooltip.\",defaultValue:\"\"},details:{type:ControlType.String,title:\"Tooltip Details\",description:\"Detailed description for the tooltip.\",displayTextArea:true,defaultValue:\"Detailed description of the data\"},value:{type:ControlType.String,title:\"Tooltip Value\",description:\"Value to display in the tooltip.\",defaultValue:\"1,000\"},percentage:{type:ControlType.Number,title:\"Tooltip Progress (%)\",description:\"Progress percentage for the region.\",defaultValue:50,min:0,max:100,step:1}}},defaultValue:[{region:\"India\",title:\"Children Reached\",subtitle:\"Educational Impact\",details:\"Educational program coverage\",value:\"2,500\",percentage:75},{region:\"Canada\",title:\"Healthcare Access\",subtitle:\"Medical Services\",details:\"Medical facilities available\",value:\"1,800\",percentage:60}],maxCount:50},color:{type:ControlType.Color,title:\"Region Base Color\",description:\"Base fill color for map regions.\",defaultValue:\"#A0AEC0\"},hoverColor:{type:ControlType.Color,title:\"Region Hover Color\",description:\"Color for regions on hover.\",defaultValue:\"#3182CE\"},strokeColor:{type:ControlType.Color,title:\"Region Border Color\",description:\"Stroke color for map regions.\",defaultValue:\"#FFFFFF\"},strokeWidth:{type:ControlType.Number,title:\"Region Border Width\",description:\"Width of the region border stroke.\",defaultValue:.5,min:0,max:5,step:.1},showTooltip:{type:ControlType.Boolean,title:\"Enable Tooltip\",description:\"Enable or disable tooltips on hover.\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},tooltipBackground:{type:ControlType.Color,title:\"Tooltip Background Color\",description:\"Background color for the tooltip.\",defaultValue:\"#000000\",hidden:({showTooltip})=>!showTooltip},tooltipTextColor:{type:ControlType.Color,title:\"Tooltip Text Color\",description:\"Text color for the tooltip.\",defaultValue:\"#FFFFFF\",hidden:({showTooltip})=>!showTooltip},tooltipStroke:{type:ControlType.Boolean,title:\"Show Tooltip Border\",description:\"Show a border around the tooltip.\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:({showTooltip})=>!showTooltip},tooltipStrokeColor:{type:ControlType.Color,title:\"Tooltip Border Color\",description:\"Border color for the tooltip.\",defaultValue:\"#FFFFFF\",hidden:({showTooltip,tooltipStroke})=>!showTooltip||!tooltipStroke},tooltipCornerRadius:{type:ControlType.Number,title:\"Tooltip Corner Radius\",description:\"Corner radius for the tooltip.\",defaultValue:12,min:0,max:20,step:1,unit:\"px\",hidden:({showTooltip})=>!showTooltip},tooltipShadow:{type:ControlType.Boolean,title:\"Show Tooltip Shadow\",description:\"Show a shadow under the tooltip.\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:({showTooltip})=>!showTooltip},font:{type:ControlType.Font,title:\"Map & Tooltip Font\",description:\"Font style for map and tooltip text.\",defaultValue:{fontSize:\"18px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\",hidden:({showTooltip})=>!showTooltip},mapBackground:{type:ControlType.Color,title:\"Map Background Color\",description:\"Background color for the map container (the white/gap space).\",defaultValue:\"#F5F5F5\"},disableHoverOnNoData:{type:ControlType.Boolean,title:\"Disable Hover (No Data regions)\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Disables hover/click for regions with no associated data.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InteractiveMap\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InteractiveMap.map"],"mappings":"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"}