cool-globe 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -68,7 +68,11 @@ export default function Example() {
68
68
  >
69
69
  Reset globe
70
70
  </button>
71
- <CoolGlobe statisticsData={statisticsData} resetSignal={resetSignal} />
71
+ <CoolGlobe
72
+ statisticsData={statisticsData}
73
+ resetSignal={resetSignal}
74
+ preselectedCountry="LT"
75
+ />
72
76
  </div>
73
77
  );
74
78
  }
@@ -77,7 +81,8 @@ export default function Example() {
77
81
  ## Props
78
82
 
79
83
  - `statisticsData` (required): country/region metric tree.
80
- - `resetSignal` (optional): when this value changes, globe view and selection state reset to default.
84
+ - `resetSignal` (optional): when this value changes, globe view and selection state reset. With `preselectedCountry`, reset returns to that country instead of the world view.
85
+ - `preselectedCountry` (optional): ISO 3166-1 alpha-2 code (e.g. `"LT"`). Auto-selects and zooms to this country once geo data and the globe are ready.
81
86
  - `primaryMetric` (optional, default: `"visits"`): metric key used for color scale.
82
87
  - `colorScale` (optional): `{ minColor, maxColor }`.
83
88
  - `countryNumericToIsoMap` (optional): fallback mapping from numeric country ids to ISO2.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ee=require("react/jsx-runtime"),w=require("react"),sn=require("react-globe.gl"),xe=require("three");function fn(e){return e}function un(e){if(e==null)return fn;var n,t,r=e.scale[0],i=e.scale[1],a=e.translate[0],o=e.translate[1];return function(s,l){l||(n=t=0);var f=2,h=s.length,c=new Array(h);for(c[0]=(n+=s[0])*r+a,c[1]=(t+=s[1])*i+o;f<h;)c[f]=s[f],++f;return c}}function cn(e,n){for(var t,r=e.length,i=r-n;i<--r;)t=e[i],e[i++]=e[r],e[r]=t}function ln(e,n){return typeof n=="string"&&(n=e.objects[n]),n.type==="GeometryCollection"?{type:"FeatureCollection",features:n.geometries.map(function(t){return Ie(e,t)})}:Ie(e,n)}function Ie(e,n){var t=n.id,r=n.bbox,i=n.properties==null?{}:n.properties,a=dn(e,n);return t==null&&r==null?{type:"Feature",properties:i,geometry:a}:r==null?{type:"Feature",id:t,properties:i,geometry:a}:{type:"Feature",id:t,bbox:r,properties:i,geometry:a}}function dn(e,n){var t=un(e.transform),r=e.arcs;function i(h,c){c.length&&c.pop();for(var d=r[h<0?~h:h],v=0,M=d.length;v<M;++v)c.push(t(d[v],v));h<0&&cn(c,M)}function a(h){return t(h)}function o(h){for(var c=[],d=0,v=h.length;d<v;++d)i(h[d],c);return c.length<2&&c.push(c[0]),c}function s(h){for(var c=o(h);c.length<4;)c.push(c[0]);return c}function l(h){return h.map(s)}function f(h){var c=h.type,d;switch(c){case"GeometryCollection":return{type:c,geometries:h.geometries.map(f)};case"Point":d=a(h.coordinates);break;case"MultiPoint":d=h.coordinates.map(a);break;case"LineString":d=o(h.arcs);break;case"MultiLineString":d=h.arcs.map(o);break;case"Polygon":d=l(h.arcs);break;case"MultiPolygon":d=h.arcs.map(l);break;default:return null}return{type:c,coordinates:d}}return f(n)}const hn="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_110m_admin_0_countries.geojson",mn="https://cdn.jsdelivr.net/npm/world-atlas@2/countries-110m.json",gn="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_10m_admin_1_states_provinces.geojson",pn="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4'><rect width='4' height='4' fill='%23f5f5f5'/></svg>",xn={minColor:"#f8fafc",maxColor:"#e5e7eb"};function Ce(e,n,t){e.prototype=n.prototype=t,t.constructor=e}function Ke(e,n){var t=Object.create(e.prototype);for(var r in n)t[r]=n[r];return t}function ee(){}var X=.7,ue=1/X,B="\\s*([+-]?\\d+)\\s*",W="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",E="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",bn=/^#([0-9a-f]{3,8})$/,yn=new RegExp(`^rgb\\(${B},${B},${B}\\)$`),wn=new RegExp(`^rgb\\(${E},${E},${E}\\)$`),vn=new RegExp(`^rgba\\(${B},${B},${B},${W}\\)$`),Mn=new RegExp(`^rgba\\(${E},${E},${E},${W}\\)$`),Nn=new RegExp(`^hsl\\(${W},${E},${E}\\)$`),_n=new RegExp(`^hsla\\(${W},${E},${E},${W}\\)$`),je={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Ce(ee,Q,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Fe,formatHex:Fe,formatHex8:Rn,formatHsl:$n,formatRgb:Pe,toString:Pe});function Fe(){return this.rgb().formatHex()}function Rn(){return this.rgb().formatHex8()}function $n(){return Xe(this).formatHsl()}function Pe(){return this.rgb().formatRgb()}function Q(e){var n,t;return e=(e+"").trim().toLowerCase(),(n=bn.exec(e))?(t=n[1].length,n=parseInt(n[1],16),t===6?Oe(n):t===3?new $(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):t===8?oe(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):t===4?oe(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=yn.exec(e))?new $(n[1],n[2],n[3],1):(n=wn.exec(e))?new $(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=vn.exec(e))?oe(n[1],n[2],n[3],n[4]):(n=Mn.exec(e))?oe(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Nn.exec(e))?He(n[1],n[2]/100,n[3]/100,1):(n=_n.exec(e))?He(n[1],n[2]/100,n[3]/100,n[4]):je.hasOwnProperty(e)?Oe(je[e]):e==="transparent"?new $(NaN,NaN,NaN,0):null}function Oe(e){return new $(e>>16&255,e>>8&255,e&255,1)}function oe(e,n,t,r){return r<=0&&(e=n=t=NaN),new $(e,n,t,r)}function Cn(e){return e instanceof ee||(e=Q(e)),e?(e=e.rgb(),new $(e.r,e.g,e.b,e.opacity)):new $}function Me(e,n,t,r){return arguments.length===1?Cn(e):new $(e,n,t,r??1)}function $(e,n,t,r){this.r=+e,this.g=+n,this.b=+t,this.opacity=+r}Ce($,Me,Ke(ee,{brighter(e){return e=e==null?ue:Math.pow(ue,e),new $(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?X:Math.pow(X,e),new $(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $(G(this.r),G(this.g),G(this.b),ce(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ze,formatHex:ze,formatHex8:kn,formatRgb:Te,toString:Te}));function ze(){return`#${H(this.r)}${H(this.g)}${H(this.b)}`}function kn(){return`#${H(this.r)}${H(this.g)}${H(this.b)}${H((isNaN(this.opacity)?1:this.opacity)*255)}`}function Te(){const e=ce(this.opacity);return`${e===1?"rgb(":"rgba("}${G(this.r)}, ${G(this.g)}, ${G(this.b)}${e===1?")":`, ${e})`}`}function ce(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function G(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function H(e){return e=G(e),(e<16?"0":"")+e.toString(16)}function He(e,n,t,r){return r<=0?e=n=t=NaN:t<=0||t>=1?e=n=NaN:n<=0&&(e=NaN),new A(e,n,t,r)}function Xe(e){if(e instanceof A)return new A(e.h,e.s,e.l,e.opacity);if(e instanceof ee||(e=Q(e)),!e)return new A;if(e instanceof A)return e;e=e.rgb();var n=e.r/255,t=e.g/255,r=e.b/255,i=Math.min(n,t,r),a=Math.max(n,t,r),o=NaN,s=a-i,l=(a+i)/2;return s?(n===a?o=(t-r)/s+(t<r)*6:t===a?o=(r-n)/s+2:o=(n-t)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new A(o,s,l,e.opacity)}function Ln(e,n,t,r){return arguments.length===1?Xe(e):new A(e,n,t,r??1)}function A(e,n,t,r){this.h=+e,this.s=+n,this.l=+t,this.opacity=+r}Ce(A,Ln,Ke(ee,{brighter(e){return e=e==null?ue:Math.pow(ue,e),new A(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?X:Math.pow(X,e),new A(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,t=this.l,r=t+(t<.5?t:1-t)*n,i=2*t-r;return new $(be(e>=240?e-240:e+120,i,r),be(e,i,r),be(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new A(Ge(this.h),ae(this.s),ae(this.l),ce(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ce(this.opacity);return`${e===1?"hsl(":"hsla("}${Ge(this.h)}, ${ae(this.s)*100}%, ${ae(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ge(e){return e=(e||0)%360,e<0?e+360:e}function ae(e){return Math.max(0,Math.min(1,e||0))}function be(e,n,t){return(e<60?n+(t-n)*e/60:e<180?t:e<240?n+(t-n)*(240-e)/60:n)*255}const ke=e=>()=>e;function An(e,n){return function(t){return e+t*n}}function Sn(e,n,t){return e=Math.pow(e,t),n=Math.pow(n,t)-e,t=1/t,function(r){return Math.pow(e+r*n,t)}}function En(e){return(e=+e)==1?We:function(n,t){return t-n?Sn(n,t,e):ke(isNaN(n)?t:n)}}function We(e,n){var t=n-e;return t?An(e,t):ke(isNaN(e)?n:e)}const Ne=(function e(n){var t=En(n);function r(i,a){var o=t((i=Me(i)).r,(a=Me(a)).r),s=t(i.g,a.g),l=t(i.b,a.b),f=We(i.opacity,a.opacity);return function(h){return i.r=o(h),i.g=s(h),i.b=l(h),i.opacity=f(h),i+""}}return r.gamma=e,r})(1);function In(e,n){n||(n=[]);var t=e?Math.min(n.length,e.length):0,r=n.slice(),i;return function(a){for(i=0;i<t;++i)r[i]=e[i]*(1-a)+n[i]*a;return r}}function jn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Fn(e,n){var t=n?n.length:0,r=e?Math.min(t,e.length):0,i=new Array(r),a=new Array(t),o;for(o=0;o<r;++o)i[o]=Le(e[o],n[o]);for(;o<t;++o)a[o]=n[o];return function(s){for(o=0;o<r;++o)a[o]=i[o](s);return a}}function Pn(e,n){var t=new Date;return e=+e,n=+n,function(r){return t.setTime(e*(1-r)+n*r),t}}function le(e,n){return e=+e,n=+n,function(t){return e*(1-t)+n*t}}function On(e,n){var t={},r={},i;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in e?t[i]=Le(e[i],n[i]):r[i]=n[i];return function(a){for(i in t)r[i]=t[i](a);return r}}var _e=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ye=new RegExp(_e.source,"g");function zn(e){return function(){return e}}function Tn(e){return function(n){return e(n)+""}}function Hn(e,n){var t=_e.lastIndex=ye.lastIndex=0,r,i,a,o=-1,s=[],l=[];for(e=e+"",n=n+"";(r=_e.exec(e))&&(i=ye.exec(n));)(a=i.index)>t&&(a=n.slice(t,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:le(r,i)})),t=ye.lastIndex;return t<n.length&&(a=n.slice(t),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?Tn(l[0].x):zn(n):(n=l.length,function(f){for(var h=0,c;h<n;++h)s[(c=l[h]).i]=c.x(f);return s.join("")})}function Le(e,n){var t=typeof n,r;return n==null||t==="boolean"?ke(n):(t==="number"?le:t==="string"?(r=Q(n))?(n=r,Ne):Hn:n instanceof Q?Ne:n instanceof Date?Pn:jn(n)?In:Array.isArray(n)?Fn:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?On:le)(e,n)}function Gn(e,n){return e=+e,n=+n,function(t){return Math.round(e*(1-t)+n*t)}}function fe(e,n){return e==null||n==null?NaN:e<n?-1:e>n?1:e>=n?0:NaN}function Un(e,n){return e==null||n==null?NaN:n<e?-1:n>e?1:n>=e?0:NaN}function Qe(e){let n,t,r;e.length!==2?(n=fe,t=(s,l)=>fe(e(s),l),r=(s,l)=>e(s)-l):(n=e===fe||e===Un?e:qn,t=e,r=e);function i(s,l,f=0,h=s.length){if(f<h){if(n(l,l)!==0)return h;do{const c=f+h>>>1;t(s[c],l)<0?f=c+1:h=c}while(f<h)}return f}function a(s,l,f=0,h=s.length){if(f<h){if(n(l,l)!==0)return h;do{const c=f+h>>>1;t(s[c],l)<=0?f=c+1:h=c}while(f<h)}return f}function o(s,l,f=0,h=s.length){const c=i(s,l,f,h-1);return c>f&&r(s[c-1],l)>-r(s[c],l)?c-1:c}return{left:i,center:o,right:a}}function qn(){return 0}function Dn(e){return e===null?NaN:+e}const Vn=Qe(fe),Bn=Vn.right;Qe(Dn).center;const Zn=Math.sqrt(50),Jn=Math.sqrt(10),Yn=Math.sqrt(2);function de(e,n,t){const r=(n-e)/Math.max(0,t),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=Zn?10:a>=Jn?5:a>=Yn?2:1;let s,l,f;return i<0?(f=Math.pow(10,-i)/o,s=Math.round(e*f),l=Math.round(n*f),s/f<e&&++s,l/f>n&&--l,f=-f):(f=Math.pow(10,i)*o,s=Math.round(e/f),l=Math.round(n/f),s*f<e&&++s,l*f>n&&--l),l<s&&.5<=t&&t<2?de(e,n,t*2):[s,l,f]}function Kn(e,n,t){if(n=+n,e=+e,t=+t,!(t>0))return[];if(e===n)return[e];const r=n<e,[i,a,o]=r?de(n,e,t):de(e,n,t);if(!(a>=i))return[];const s=a-i+1,l=new Array(s);if(r)if(o<0)for(let f=0;f<s;++f)l[f]=(a-f)/-o;else for(let f=0;f<s;++f)l[f]=(a-f)*o;else if(o<0)for(let f=0;f<s;++f)l[f]=(i+f)/-o;else for(let f=0;f<s;++f)l[f]=(i+f)*o;return l}function Re(e,n,t){return n=+n,e=+e,t=+t,de(e,n,t)[2]}function Xn(e,n,t){n=+n,e=+e,t=+t;const r=n<e,i=r?Re(n,e,t):Re(e,n,t);return(r?-1:1)*(i<0?1/-i:i)}function Wn(e,n){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(n).domain(e);break}return this}function Qn(e){return function(){return e}}function et(e){return+e}var Ue=[0,1];function V(e){return e}function $e(e,n){return(n-=e=+e)?function(t){return(t-e)/n}:Qn(isNaN(n)?NaN:.5)}function nt(e,n){var t;return e>n&&(t=e,e=n,n=t),function(r){return Math.max(e,Math.min(n,r))}}function tt(e,n,t){var r=e[0],i=e[1],a=n[0],o=n[1];return i<r?(r=$e(i,r),a=t(o,a)):(r=$e(r,i),a=t(a,o)),function(s){return a(r(s))}}function rt(e,n,t){var r=Math.min(e.length,n.length)-1,i=new Array(r),a=new Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),n=n.slice().reverse());++o<r;)i[o]=$e(e[o],e[o+1]),a[o]=t(n[o],n[o+1]);return function(s){var l=Bn(e,s,1,r)-1;return a[l](i[l](s))}}function it(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function ot(){var e=Ue,n=Ue,t=Le,r,i,a,o=V,s,l,f;function h(){var d=Math.min(e.length,n.length);return o!==V&&(o=nt(e[0],e[d-1])),s=d>2?rt:tt,l=f=null,c}function c(d){return d==null||isNaN(d=+d)?a:(l||(l=s(e.map(r),n,t)))(r(o(d)))}return c.invert=function(d){return o(i((f||(f=s(n,e.map(r),le)))(d)))},c.domain=function(d){return arguments.length?(e=Array.from(d,et),h()):e.slice()},c.range=function(d){return arguments.length?(n=Array.from(d),h()):n.slice()},c.rangeRound=function(d){return n=Array.from(d),t=Gn,h()},c.clamp=function(d){return arguments.length?(o=d?!0:V,h()):o!==V},c.interpolate=function(d){return arguments.length?(t=d,h()):t},c.unknown=function(d){return arguments.length?(a=d,c):a},function(d,v){return r=d,i=v,h()}}function at(){return ot()(V,V)}function st(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function he(e,n){if(!isFinite(e)||e===0)return null;var t=(e=n?e.toExponential(n-1):e.toExponential()).indexOf("e"),r=e.slice(0,t);return[r.length>1?r[0]+r.slice(2):r,+e.slice(t+1)]}function Z(e){return e=he(Math.abs(e)),e?e[1]:NaN}function ft(e,n){return function(t,r){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}}function ut(e){return function(n){return n.replace(/[0-9]/g,function(t){return e[+t]})}}var ct=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function me(e){if(!(n=ct.exec(e)))throw new Error("invalid format: "+e);var n;return new Ae({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}me.prototype=Ae.prototype;function Ae(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Ae.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function lt(e){e:for(var n=e.length,t=1,r=-1,i;t<n;++t)switch(e[t]){case".":r=i=t;break;case"0":r===0&&(r=t),i=t;break;default:if(!+e[t])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var ge;function dt(e,n){var t=he(e,n);if(!t)return ge=void 0,e.toPrecision(n);var r=t[0],i=t[1],a=i-(ge=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+he(e,Math.max(0,n+a-1))[0]}function qe(e,n){var t=he(e,n);if(!t)return e+"";var r=t[0],i=t[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const De={"%":(e,n)=>(e*100).toFixed(n),b:e=>Math.round(e).toString(2),c:e=>e+"",d:st,e:(e,n)=>e.toExponential(n),f:(e,n)=>e.toFixed(n),g:(e,n)=>e.toPrecision(n),o:e=>Math.round(e).toString(8),p:(e,n)=>qe(e*100,n),r:qe,s:dt,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ve(e){return e}var Be=Array.prototype.map,Ze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function ht(e){var n=e.grouping===void 0||e.thousands===void 0?Ve:ft(Be.call(e.grouping,Number),e.thousands+""),t=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?Ve:ut(Be.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function f(c,d){c=me(c);var v=c.fill,M=c.align,C=c.sign,F=c.symbol,I=c.zero,J=c.width,U=c.comma,k=c.precision,ne=c.trim,_=c.type;_==="n"?(U=!0,_="g"):De[_]||(k===void 0&&(k=12),ne=!0,_="g"),(I||v==="0"&&M==="=")&&(I=!0,v="0",M="=");var q=(d&&d.prefix!==void 0?d.prefix:"")+(F==="$"?t:F==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():""),te=(F==="$"?r:/[%p]/.test(_)?o:"")+(d&&d.suffix!==void 0?d.suffix:""),re=De[_],ie=/[defgprs%]/.test(_);k=k===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,k)):Math.max(0,Math.min(20,k));function Y(p){var j=q,R=te,S,K,D;if(_==="c")R=re(p)+R,p="";else{p=+p;var O=p<0||1/p<0;if(p=isNaN(p)?l:re(Math.abs(p),k),ne&&(p=lt(p)),O&&+p==0&&C!=="+"&&(O=!1),j=(O?C==="("?C:s:C==="-"||C==="("?"":C)+j,R=(_==="s"&&!isNaN(p)&&ge!==void 0?Ze[8+ge/3]:"")+R+(O&&C==="("?")":""),ie){for(S=-1,K=p.length;++S<K;)if(D=p.charCodeAt(S),48>D||D>57){R=(D===46?i+p.slice(S+1):p.slice(S))+R,p=p.slice(0,S);break}}}U&&!I&&(p=n(p,1/0));var z=j.length+p.length+R.length,L=z<J?new Array(J-z+1).join(v):"";switch(U&&I&&(p=n(L+p,L.length?J-R.length:1/0),L=""),M){case"<":p=j+p+R+L;break;case"=":p=j+L+p+R;break;case"^":p=L.slice(0,z=L.length>>1)+j+p+R+L.slice(z);break;default:p=L+j+p+R;break}return a(p)}return Y.toString=function(){return c+""},Y}function h(c,d){var v=Math.max(-8,Math.min(8,Math.floor(Z(d)/3)))*3,M=Math.pow(10,-v),C=f((c=me(c),c.type="f",c),{suffix:Ze[8+v/3]});return function(F){return C(M*F)}}return{format:f,formatPrefix:h}}var se,en,nn;mt({thousands:",",grouping:[3],currency:["$",""]});function mt(e){return se=ht(e),en=se.format,nn=se.formatPrefix,se}function gt(e){return Math.max(0,-Z(Math.abs(e)))}function pt(e,n){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Z(n)/3)))*3-Z(Math.abs(e)))}function xt(e,n){return e=Math.abs(e),n=Math.abs(n)-e,Math.max(0,Z(n)-Z(e))+1}function bt(e,n,t,r){var i=Xn(e,n,t),a;switch(r=me(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(n));return r.precision==null&&!isNaN(a=pt(i,o))&&(r.precision=a),nn(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=xt(i,Math.max(Math.abs(e),Math.abs(n))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=gt(i))&&(r.precision=a-(r.type==="%")*2);break}}return en(r)}function yt(e){var n=e.domain;return e.ticks=function(t){var r=n();return Kn(r[0],r[r.length-1],t??10)},e.tickFormat=function(t,r){var i=n();return bt(i[0],i[i.length-1],t??10,r)},e.nice=function(t){t==null&&(t=10);var r=n(),i=0,a=r.length-1,o=r[i],s=r[a],l,f,h=10;for(s<o&&(f=o,o=s,s=f,f=i,i=a,a=f);h-- >0;){if(f=Re(o,s,t),f===l)return r[i]=o,r[a]=s,n(r);if(f>0)o=Math.floor(o/f)*f,s=Math.ceil(s/f)*f;else if(f<0)o=Math.ceil(o*f)/f,s=Math.floor(s*f)/f;else break;l=f}return e},e}function tn(){var e=at();return e.copy=function(){return it(e,tn())},Wn.apply(e,arguments),yt(e)}const we=(e,n)=>{const t=e?.[n];return typeof t=="number"?t:0},Je=(e,n)=>{if(!e.length)return()=>n.minColor;const t=Math.min(...e),r=Math.max(...e);if(t===r)return()=>n.maxColor;const i=tn().domain([t,r]).range([0,1]),a=Ne(n.minColor,n.maxColor);return o=>a(i(o))},wt=e=>e<=1.35?2:e<=2.1?1:0,vt=e=>new Intl.NumberFormat("en-US",{maximumFractionDigits:0}).format(e),ve=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),Mt=(e,n)=>{let t=e.trim();if(!t)return t;const r=n?.trim().toUpperCase();return r&&/^[A-Z]{2}$/.test(r)&&(t=t.replace(new RegExp(`\\s*\\(${r}\\)`,"gi"),"").replace(new RegExp(`\\s*\\[${r}\\]`,"gi"),"").replace(new RegExp(`\\s*[-–—]\\s*${r}\\s*$`,"i"),"").replace(new RegExp(`\\s+${r}\\s*$`,"i"),"")),t.trim()||e.trim()},Nt=e=>e.replace(/_/g," ").replace(/\b\w/g,t=>t.toUpperCase()),_t=new Set(["countrycode","country_code","iso_a2","iso","adm0_a3","iso_3166_1"]),Rt=e=>_t.has(e.toLowerCase()),$t=(e,n)=>e.toLowerCase()==="revenue"?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",notation:"compact",maximumFractionDigits:1}).format(n):vt(n),Ye="cool-globe-float-tooltip-override",Ct=()=>{if(typeof document>"u"||document.getElementById(Ye))return;const e=document.createElement("style");e.id=Ye,e.textContent=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ie=require("react/jsx-runtime"),x=require("react"),hn=require("react-globe.gl"),be=require("three");function mn(e){return e}function gn(e){if(e==null)return mn;var n,t,r=e.scale[0],i=e.scale[1],o=e.translate[0],s=e.translate[1];return function(a,l){l||(n=t=0);var f=2,d=a.length,u=new Array(d);for(u[0]=(n+=a[0])*r+o,u[1]=(t+=a[1])*i+s;f<d;)u[f]=a[f],++f;return u}}function pn(e,n){for(var t,r=e.length,i=r-n;i<--r;)t=e[i],e[i++]=e[r],e[r]=t}function xn(e,n){return typeof n=="string"&&(n=e.objects[n]),n.type==="GeometryCollection"?{type:"FeatureCollection",features:n.geometries.map(function(t){return je(e,t)})}:je(e,n)}function je(e,n){var t=n.id,r=n.bbox,i=n.properties==null?{}:n.properties,o=bn(e,n);return t==null&&r==null?{type:"Feature",properties:i,geometry:o}:r==null?{type:"Feature",id:t,properties:i,geometry:o}:{type:"Feature",id:t,bbox:r,properties:i,geometry:o}}function bn(e,n){var t=gn(e.transform),r=e.arcs;function i(d,u){u.length&&u.pop();for(var m=r[d<0?~d:d],N=0,L=m.length;N<L;++N)u.push(t(m[N],N));d<0&&pn(u,L)}function o(d){return t(d)}function s(d){for(var u=[],m=0,N=d.length;m<N;++m)i(d[m],u);return u.length<2&&u.push(u[0]),u}function a(d){for(var u=s(d);u.length<4;)u.push(u[0]);return u}function l(d){return d.map(a)}function f(d){var u=d.type,m;switch(u){case"GeometryCollection":return{type:u,geometries:d.geometries.map(f)};case"Point":m=o(d.coordinates);break;case"MultiPoint":m=d.coordinates.map(o);break;case"LineString":m=s(d.arcs);break;case"MultiLineString":m=d.arcs.map(s);break;case"Polygon":m=l(d.arcs);break;case"MultiPolygon":m=d.arcs.map(l);break;default:return null}return{type:u,coordinates:m}}return f(n)}const yn="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_110m_admin_0_countries.geojson",wn="https://cdn.jsdelivr.net/npm/world-atlas@2/countries-110m.json",vn="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_10m_admin_1_states_provinces.geojson",Mn="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4'><rect width='4' height='4' fill='%23f5f5f5'/></svg>",Nn={minColor:"#f8fafc",maxColor:"#e5e7eb"};function ke(e,n,t){e.prototype=n.prototype=t,t.constructor=e}function en(e,n){var t=Object.create(e.prototype);for(var r in n)t[r]=n[r];return t}function ee(){}var X=.7,ce=1/X,K="\\s*([+-]?\\d+)\\s*",W="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",P="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_n=/^#([0-9a-f]{3,8})$/,Rn=new RegExp(`^rgb\\(${K},${K},${K}\\)$`),$n=new RegExp(`^rgb\\(${P},${P},${P}\\)$`),Cn=new RegExp(`^rgba\\(${K},${K},${K},${W}\\)$`),kn=new RegExp(`^rgba\\(${P},${P},${P},${W}\\)$`),Ln=new RegExp(`^hsl\\(${W},${P},${P}\\)$`),An=new RegExp(`^hsla\\(${W},${P},${P},${W}\\)$`),Fe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ke(ee,Q,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Pe,formatHex:Pe,formatHex8:Sn,formatHsl:En,formatRgb:Oe,toString:Oe});function Pe(){return this.rgb().formatHex()}function Sn(){return this.rgb().formatHex8()}function En(){return nn(this).formatHsl()}function Oe(){return this.rgb().formatRgb()}function Q(e){var n,t;return e=(e+"").trim().toLowerCase(),(n=_n.exec(e))?(t=n[1].length,n=parseInt(n[1],16),t===6?ze(n):t===3?new k(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):t===8?oe(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):t===4?oe(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=Rn.exec(e))?new k(n[1],n[2],n[3],1):(n=$n.exec(e))?new k(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=Cn.exec(e))?oe(n[1],n[2],n[3],n[4]):(n=kn.exec(e))?oe(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Ln.exec(e))?Ge(n[1],n[2]/100,n[3]/100,1):(n=An.exec(e))?Ge(n[1],n[2]/100,n[3]/100,n[4]):Fe.hasOwnProperty(e)?ze(Fe[e]):e==="transparent"?new k(NaN,NaN,NaN,0):null}function ze(e){return new k(e>>16&255,e>>8&255,e&255,1)}function oe(e,n,t,r){return r<=0&&(e=n=t=NaN),new k(e,n,t,r)}function In(e){return e instanceof ee||(e=Q(e)),e?(e=e.rgb(),new k(e.r,e.g,e.b,e.opacity)):new k}function Ne(e,n,t,r){return arguments.length===1?In(e):new k(e,n,t,r??1)}function k(e,n,t,r){this.r=+e,this.g=+n,this.b=+t,this.opacity=+r}ke(k,Ne,en(ee,{brighter(e){return e=e==null?ce:Math.pow(ce,e),new k(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?X:Math.pow(X,e),new k(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new k(V(this.r),V(this.g),V(this.b),le(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:He,formatHex:He,formatHex8:jn,formatRgb:Te,toString:Te}));function He(){return`#${D(this.r)}${D(this.g)}${D(this.b)}`}function jn(){return`#${D(this.r)}${D(this.g)}${D(this.b)}${D((isNaN(this.opacity)?1:this.opacity)*255)}`}function Te(){const e=le(this.opacity);return`${e===1?"rgb(":"rgba("}${V(this.r)}, ${V(this.g)}, ${V(this.b)}${e===1?")":`, ${e})`}`}function le(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function V(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function D(e){return e=V(e),(e<16?"0":"")+e.toString(16)}function Ge(e,n,t,r){return r<=0?e=n=t=NaN:t<=0||t>=1?e=n=NaN:n<=0&&(e=NaN),new I(e,n,t,r)}function nn(e){if(e instanceof I)return new I(e.h,e.s,e.l,e.opacity);if(e instanceof ee||(e=Q(e)),!e)return new I;if(e instanceof I)return e;e=e.rgb();var n=e.r/255,t=e.g/255,r=e.b/255,i=Math.min(n,t,r),o=Math.max(n,t,r),s=NaN,a=o-i,l=(o+i)/2;return a?(n===o?s=(t-r)/a+(t<r)*6:t===o?s=(r-n)/a+2:s=(n-t)/a+4,a/=l<.5?o+i:2-o-i,s*=60):a=l>0&&l<1?0:s,new I(s,a,l,e.opacity)}function Fn(e,n,t,r){return arguments.length===1?nn(e):new I(e,n,t,r??1)}function I(e,n,t,r){this.h=+e,this.s=+n,this.l=+t,this.opacity=+r}ke(I,Fn,en(ee,{brighter(e){return e=e==null?ce:Math.pow(ce,e),new I(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?X:Math.pow(X,e),new I(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,t=this.l,r=t+(t<.5?t:1-t)*n,i=2*t-r;return new k(ye(e>=240?e-240:e+120,i,r),ye(e,i,r),ye(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new I(Ue(this.h),ae(this.s),ae(this.l),le(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=le(this.opacity);return`${e===1?"hsl(":"hsla("}${Ue(this.h)}, ${ae(this.s)*100}%, ${ae(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ue(e){return e=(e||0)%360,e<0?e+360:e}function ae(e){return Math.max(0,Math.min(1,e||0))}function ye(e,n,t){return(e<60?n+(t-n)*e/60:e<180?t:e<240?n+(t-n)*(240-e)/60:n)*255}const Le=e=>()=>e;function Pn(e,n){return function(t){return e+t*n}}function On(e,n,t){return e=Math.pow(e,t),n=Math.pow(n,t)-e,t=1/t,function(r){return Math.pow(e+r*n,t)}}function zn(e){return(e=+e)==1?tn:function(n,t){return t-n?On(n,t,e):Le(isNaN(n)?t:n)}}function tn(e,n){var t=n-e;return t?Pn(e,t):Le(isNaN(e)?n:e)}const _e=(function e(n){var t=zn(n);function r(i,o){var s=t((i=Ne(i)).r,(o=Ne(o)).r),a=t(i.g,o.g),l=t(i.b,o.b),f=tn(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=f(d),i+""}}return r.gamma=e,r})(1);function Hn(e,n){n||(n=[]);var t=e?Math.min(n.length,e.length):0,r=n.slice(),i;return function(o){for(i=0;i<t;++i)r[i]=e[i]*(1-o)+n[i]*o;return r}}function Tn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Gn(e,n){var t=n?n.length:0,r=e?Math.min(t,e.length):0,i=new Array(r),o=new Array(t),s;for(s=0;s<r;++s)i[s]=Ae(e[s],n[s]);for(;s<t;++s)o[s]=n[s];return function(a){for(s=0;s<r;++s)o[s]=i[s](a);return o}}function Un(e,n){var t=new Date;return e=+e,n=+n,function(r){return t.setTime(e*(1-r)+n*r),t}}function de(e,n){return e=+e,n=+n,function(t){return e*(1-t)+n*t}}function qn(e,n){var t={},r={},i;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in e?t[i]=Ae(e[i],n[i]):r[i]=n[i];return function(o){for(i in t)r[i]=t[i](o);return r}}var Re=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,we=new RegExp(Re.source,"g");function Dn(e){return function(){return e}}function Vn(e){return function(n){return e(n)+""}}function Bn(e,n){var t=Re.lastIndex=we.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",n=n+"";(r=Re.exec(e))&&(i=we.exec(n));)(o=i.index)>t&&(o=n.slice(t,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:de(r,i)})),t=we.lastIndex;return t<n.length&&(o=n.slice(t),a[s]?a[s]+=o:a[++s]=o),a.length<2?l[0]?Vn(l[0].x):Dn(n):(n=l.length,function(f){for(var d=0,u;d<n;++d)a[(u=l[d]).i]=u.x(f);return a.join("")})}function Ae(e,n){var t=typeof n,r;return n==null||t==="boolean"?Le(n):(t==="number"?de:t==="string"?(r=Q(n))?(n=r,_e):Bn:n instanceof Q?_e:n instanceof Date?Un:Tn(n)?Hn:Array.isArray(n)?Gn:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?qn:de)(e,n)}function Zn(e,n){return e=+e,n=+n,function(t){return Math.round(e*(1-t)+n*t)}}function fe(e,n){return e==null||n==null?NaN:e<n?-1:e>n?1:e>=n?0:NaN}function Jn(e,n){return e==null||n==null?NaN:n<e?-1:n>e?1:n>=e?0:NaN}function rn(e){let n,t,r;e.length!==2?(n=fe,t=(a,l)=>fe(e(a),l),r=(a,l)=>e(a)-l):(n=e===fe||e===Jn?e:Kn,t=e,r=e);function i(a,l,f=0,d=a.length){if(f<d){if(n(l,l)!==0)return d;do{const u=f+d>>>1;t(a[u],l)<0?f=u+1:d=u}while(f<d)}return f}function o(a,l,f=0,d=a.length){if(f<d){if(n(l,l)!==0)return d;do{const u=f+d>>>1;t(a[u],l)<=0?f=u+1:d=u}while(f<d)}return f}function s(a,l,f=0,d=a.length){const u=i(a,l,f,d-1);return u>f&&r(a[u-1],l)>-r(a[u],l)?u-1:u}return{left:i,center:s,right:o}}function Kn(){return 0}function Yn(e){return e===null?NaN:+e}const Xn=rn(fe),Wn=Xn.right;rn(Yn).center;const Qn=Math.sqrt(50),et=Math.sqrt(10),nt=Math.sqrt(2);function he(e,n,t){const r=(n-e)/Math.max(0,t),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),s=o>=Qn?10:o>=et?5:o>=nt?2:1;let a,l,f;return i<0?(f=Math.pow(10,-i)/s,a=Math.round(e*f),l=Math.round(n*f),a/f<e&&++a,l/f>n&&--l,f=-f):(f=Math.pow(10,i)*s,a=Math.round(e/f),l=Math.round(n/f),a*f<e&&++a,l*f>n&&--l),l<a&&.5<=t&&t<2?he(e,n,t*2):[a,l,f]}function tt(e,n,t){if(n=+n,e=+e,t=+t,!(t>0))return[];if(e===n)return[e];const r=n<e,[i,o,s]=r?he(n,e,t):he(e,n,t);if(!(o>=i))return[];const a=o-i+1,l=new Array(a);if(r)if(s<0)for(let f=0;f<a;++f)l[f]=(o-f)/-s;else for(let f=0;f<a;++f)l[f]=(o-f)*s;else if(s<0)for(let f=0;f<a;++f)l[f]=(i+f)/-s;else for(let f=0;f<a;++f)l[f]=(i+f)*s;return l}function $e(e,n,t){return n=+n,e=+e,t=+t,he(e,n,t)[2]}function rt(e,n,t){n=+n,e=+e,t=+t;const r=n<e,i=r?$e(n,e,t):$e(e,n,t);return(r?-1:1)*(i<0?1/-i:i)}function it(e,n){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(n).domain(e);break}return this}function ot(e){return function(){return e}}function at(e){return+e}var qe=[0,1];function J(e){return e}function Ce(e,n){return(n-=e=+e)?function(t){return(t-e)/n}:ot(isNaN(n)?NaN:.5)}function st(e,n){var t;return e>n&&(t=e,e=n,n=t),function(r){return Math.max(e,Math.min(n,r))}}function ft(e,n,t){var r=e[0],i=e[1],o=n[0],s=n[1];return i<r?(r=Ce(i,r),o=t(s,o)):(r=Ce(r,i),o=t(o,s)),function(a){return o(r(a))}}function ut(e,n,t){var r=Math.min(e.length,n.length)-1,i=new Array(r),o=new Array(r),s=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),n=n.slice().reverse());++s<r;)i[s]=Ce(e[s],e[s+1]),o[s]=t(n[s],n[s+1]);return function(a){var l=Wn(e,a,1,r)-1;return o[l](i[l](a))}}function ct(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function lt(){var e=qe,n=qe,t=Ae,r,i,o,s=J,a,l,f;function d(){var m=Math.min(e.length,n.length);return s!==J&&(s=st(e[0],e[m-1])),a=m>2?ut:ft,l=f=null,u}function u(m){return m==null||isNaN(m=+m)?o:(l||(l=a(e.map(r),n,t)))(r(s(m)))}return u.invert=function(m){return s(i((f||(f=a(n,e.map(r),de)))(m)))},u.domain=function(m){return arguments.length?(e=Array.from(m,at),d()):e.slice()},u.range=function(m){return arguments.length?(n=Array.from(m),d()):n.slice()},u.rangeRound=function(m){return n=Array.from(m),t=Zn,d()},u.clamp=function(m){return arguments.length?(s=m?!0:J,d()):s!==J},u.interpolate=function(m){return arguments.length?(t=m,d()):t},u.unknown=function(m){return arguments.length?(o=m,u):o},function(m,N){return r=m,i=N,d()}}function dt(){return lt()(J,J)}function ht(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function me(e,n){if(!isFinite(e)||e===0)return null;var t=(e=n?e.toExponential(n-1):e.toExponential()).indexOf("e"),r=e.slice(0,t);return[r.length>1?r[0]+r.slice(2):r,+e.slice(t+1)]}function Y(e){return e=me(Math.abs(e)),e?e[1]:NaN}function mt(e,n){return function(t,r){for(var i=t.length,o=[],s=0,a=e[0],l=0;i>0&&a>0&&(l+a+1>r&&(a=Math.max(1,r-l)),o.push(t.substring(i-=a,i+a)),!((l+=a+1)>r));)a=e[s=(s+1)%e.length];return o.reverse().join(n)}}function gt(e){return function(n){return n.replace(/[0-9]/g,function(t){return e[+t]})}}var pt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ge(e){if(!(n=pt.exec(e)))throw new Error("invalid format: "+e);var n;return new Se({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}ge.prototype=Se.prototype;function Se(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Se.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function xt(e){e:for(var n=e.length,t=1,r=-1,i;t<n;++t)switch(e[t]){case".":r=i=t;break;case"0":r===0&&(r=t),i=t;break;default:if(!+e[t])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var pe;function bt(e,n){var t=me(e,n);if(!t)return pe=void 0,e.toPrecision(n);var r=t[0],i=t[1],o=i-(pe=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+me(e,Math.max(0,n+o-1))[0]}function De(e,n){var t=me(e,n);if(!t)return e+"";var r=t[0],i=t[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Ve={"%":(e,n)=>(e*100).toFixed(n),b:e=>Math.round(e).toString(2),c:e=>e+"",d:ht,e:(e,n)=>e.toExponential(n),f:(e,n)=>e.toFixed(n),g:(e,n)=>e.toPrecision(n),o:e=>Math.round(e).toString(8),p:(e,n)=>De(e*100,n),r:De,s:bt,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Be(e){return e}var Ze=Array.prototype.map,Je=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function yt(e){var n=e.grouping===void 0||e.thousands===void 0?Be:mt(Ze.call(e.grouping,Number),e.thousands+""),t=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?Be:gt(Ze.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",a=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function f(u,m){u=ge(u);var N=u.fill,L=u.align,A=u.sign,v=u.symbol,S=u.zero,_=u.width,B=u.comma,j=u.precision,G=u.trim,C=u.type;C==="n"?(B=!0,C="g"):Ve[C]||(j===void 0&&(j=12),G=!0,C="g"),(S||N==="0"&&L==="=")&&(S=!0,N="0",L="=");var ne=(m&&m.prefix!==void 0?m.prefix:"")+(v==="$"?t:v==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),F=(v==="$"?r:/[%p]/.test(C)?s:"")+(m&&m.suffix!==void 0?m.suffix:""),te=Ve[C],re=/[defgprs%]/.test(C);j=j===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,j)):Math.max(0,Math.min(20,j));function U(g){var O=ne,R=F,z,ie,Z;if(C==="c")R=te(g)+R,g="";else{g=+g;var E=g<0||1/g<0;if(g=isNaN(g)?l:te(Math.abs(g),j),G&&(g=xt(g)),E&&+g==0&&A!=="+"&&(E=!1),O=(E?A==="("?A:a:A==="-"||A==="("?"":A)+O,R=(C==="s"&&!isNaN(g)&&pe!==void 0?Je[8+pe/3]:"")+R+(E&&A==="("?")":""),re){for(z=-1,ie=g.length;++z<ie;)if(Z=g.charCodeAt(z),48>Z||Z>57){R=(Z===46?i+g.slice(z+1):g.slice(z))+R,g=g.slice(0,z);break}}}B&&!S&&(g=n(g,1/0));var H=O.length+g.length+R.length,$=H<_?new Array(_-H+1).join(N):"";switch(B&&S&&(g=n($+g,$.length?_-R.length:1/0),$=""),L){case"<":g=O+g+R+$;break;case"=":g=O+$+g+R;break;case"^":g=$.slice(0,H=$.length>>1)+O+g+R+$.slice(H);break;default:g=$+O+g+R;break}return o(g)}return U.toString=function(){return u+""},U}function d(u,m){var N=Math.max(-8,Math.min(8,Math.floor(Y(m)/3)))*3,L=Math.pow(10,-N),A=f((u=ge(u),u.type="f",u),{suffix:Je[8+N/3]});return function(v){return A(L*v)}}return{format:f,formatPrefix:d}}var se,on,an;wt({thousands:",",grouping:[3],currency:["$",""]});function wt(e){return se=yt(e),on=se.format,an=se.formatPrefix,se}function vt(e){return Math.max(0,-Y(Math.abs(e)))}function Mt(e,n){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Y(n)/3)))*3-Y(Math.abs(e)))}function Nt(e,n){return e=Math.abs(e),n=Math.abs(n)-e,Math.max(0,Y(n)-Y(e))+1}function _t(e,n,t,r){var i=rt(e,n,t),o;switch(r=ge(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(n));return r.precision==null&&!isNaN(o=Mt(i,s))&&(r.precision=o),an(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=Nt(i,Math.max(Math.abs(e),Math.abs(n))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=vt(i))&&(r.precision=o-(r.type==="%")*2);break}}return on(r)}function Rt(e){var n=e.domain;return e.ticks=function(t){var r=n();return tt(r[0],r[r.length-1],t??10)},e.tickFormat=function(t,r){var i=n();return _t(i[0],i[i.length-1],t??10,r)},e.nice=function(t){t==null&&(t=10);var r=n(),i=0,o=r.length-1,s=r[i],a=r[o],l,f,d=10;for(a<s&&(f=s,s=a,a=f,f=i,i=o,o=f);d-- >0;){if(f=$e(s,a,t),f===l)return r[i]=s,r[o]=a,n(r);if(f>0)s=Math.floor(s/f)*f,a=Math.ceil(a/f)*f;else if(f<0)s=Math.ceil(s*f)/f,a=Math.floor(a*f)/f;else break;l=f}return e},e}function sn(){var e=dt();return e.copy=function(){return ct(e,sn())},it.apply(e,arguments),Rt(e)}const ue=e=>e.trim().toUpperCase(),Ke=(e,n,t={})=>{const r=ue(n);return e.find(i=>{const o=i.properties??{};if((o.__isoA2??(typeof o.iso_a2=="string"?o.iso_a2.toUpperCase():void 0))===r)return!0;const a=String(o.name??"").toLowerCase();return t[a]===r})},$t=e=>{if(typeof e!="object"||e===null||!("coordinates"in e))return[];const n=e.coordinates,t=[],r=i=>{if(Array.isArray(i)){if(i.length>=2&&typeof i[0]=="number"&&typeof i[1]=="number"){t.push([i[0],i[1]]);return}i.forEach(r)}};return r(n),t},Ye=e=>{const n=$t(e.geometry);if(!n.length)return;const t=n.reduce((r,[i,o])=>({minLat:Math.min(r.minLat,o),maxLat:Math.max(r.maxLat,o),minLng:Math.min(r.minLng,i),maxLng:Math.max(r.maxLng,i)}),{minLat:Number.POSITIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY,minLng:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY});if(!(!Number.isFinite(t.minLat)||!Number.isFinite(t.minLng)))return t},Xe=e=>{const n=Math.max(.1,e.maxLat-e.minLat),t=Math.max(.1,e.maxLng-e.minLng),i=Math.max(n,t)/112;return Math.min(.9,Math.max(.14,i))},ve=(e,n)=>{const t=e?.[n];return typeof t=="number"?t:0},We=(e,n)=>{if(!e.length)return()=>n.minColor;const t=Math.min(...e),r=Math.max(...e);if(t===r)return()=>n.maxColor;const i=sn().domain([t,r]).range([0,1]),o=_e(n.minColor,n.maxColor);return s=>o(i(s))},Ct=e=>e<=1.35?2:e<=2.1?1:0,kt=e=>new Intl.NumberFormat("en-US",{maximumFractionDigits:0}).format(e),Me=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),Lt=(e,n)=>{let t=e.trim();if(!t)return t;const r=n?.trim().toUpperCase();return r&&/^[A-Z]{2}$/.test(r)&&(t=t.replace(new RegExp(`\\s*\\(${r}\\)`,"gi"),"").replace(new RegExp(`\\s*\\[${r}\\]`,"gi"),"").replace(new RegExp(`\\s*[-–—]\\s*${r}\\s*$`,"i"),"").replace(new RegExp(`\\s+${r}\\s*$`,"i"),"")),t.trim()||e.trim()},At=e=>e.replace(/_/g," ").replace(/\b\w/g,t=>t.toUpperCase()),St=new Set(["countrycode","country_code","iso_a2","iso","adm0_a3","iso_3166_1"]),Et=e=>St.has(e.toLowerCase()),It=(e,n)=>e.toLowerCase()==="revenue"?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",notation:"compact",maximumFractionDigits:1}).format(n):kt(n),Qe="cool-globe-float-tooltip-override",jt=()=>{if(typeof document>"u"||document.getElementById(Qe))return;const e=document.createElement("style");e.id=Qe,e.textContent=`
2
2
  .cool-globe-host .float-tooltip-kap {
3
3
  background: transparent !important;
4
4
  background-color: transparent !important;
@@ -10,7 +10,7 @@
10
10
  font-family: inherit !important;
11
11
  color: transparent !important;
12
12
  }
13
- `,document.head.appendChild(e)},kt=({statisticsData:e,resetSignal:n,countryNumericToIsoMap:t={},countryNameToIsoMap:r={},primaryMetric:i="visits",colorScale:a=xn})=>{const o=w.useRef(null),s=w.useRef(null),l=w.useRef(void 0),f=w.useRef({}),h=w.useRef(null),c=w.useRef(n),[d,v]=w.useState(0),[M,C]=w.useState(),[F,I]=w.useState(),[J,U]=w.useState(null),[k,ne]=w.useState([]),[_,q]=w.useState([]),[te,re]=w.useState({width:900,height:760});w.useEffect(()=>{Ct()},[]);const ie=w.useMemo(()=>Object.values(e.countries).map(u=>we(u,i)),[i,e.countries]),Y=w.useMemo(()=>M?Object.values(e.regions[M]??{}).map(u=>we(u,i)):[],[M,i,e.regions]),p=w.useMemo(()=>Je(ie,a),[ie,a]),j=w.useMemo(()=>Je(Y,a),[Y,a]);w.useEffect(()=>{(async()=>{let m=[];try{m=(await(await fetch(hn)).json()).features}catch{const g=await(await fetch(mn)).json(),b=g.objects.countries,N=ln(g,b);m=N.type==="FeatureCollection"?N.features:[N]}const y=m.map(x=>{const g=String(x.id??""),b=x.properties??{},N=String(b.name??b.NAME??b.name_en??b.ADMIN??"").trim()||`Country ${g}`,T=N.toLowerCase(),P=String(b.iso_a2??b.ISO_A2??b.iso_a2_eh??"").trim().toUpperCase(),pe=t[g]??r[T]??(P&&P!=="-99"?P:void 0)??(g.length===2?g.toUpperCase():g);return{...x,properties:{...b,__isoA2:pe,name:N||pe||`Country ${g}`}}});ne(y)})()},[]),w.useEffect(()=>{if(!s.current)return;const u=new ResizeObserver(m=>{const y=m[0];y&&re({width:Math.max(360,Math.floor(y.contentRect.width)),height:Math.max(520,Math.floor(y.contentRect.height))})});return u.observe(s.current),()=>u.disconnect()},[]),w.useEffect(()=>{if(!M){q([]);return}const u=f.current[M];if(u){q(u);return}(async()=>{if(!h.current){const b=await(await fetch(gn)).json();h.current=b.features}const x=(h.current??[]).filter(g=>(g.properties??{}).iso_a2===M).map(g=>{const b=g.properties??{},N=String(b.name??"").trim();return{...g,properties:{...b,__countryCode:M,__regionName:N,name:N}}});f.current[M]=x,q(x)})()},[M]),w.useEffect(()=>{if(F&&d<2)return void v(2);M&&d<1&&v(1)},[M,F,d]),w.useEffect(()=>{const u=o.current?.controls?.();if(!u)return;u.autoRotate=!0,u.autoRotateSpeed=.45,u.enablePan=!1,u.enableZoom=!0;const m=o.current?.renderer?.();m&&m.setPixelRatio(Math.min(window.devicePixelRatio,1.5))},[]),w.useEffect(()=>{const u=o.current?.controls?.();u&&(u.autoRotate=!M&&d===0)},[M,d]),w.useEffect(()=>{if(n===c.current)return;c.current=n,v(0),C(void 0),I(void 0),U(null),q([]);const u=o.current?.controls?.();u&&(u.autoRotate=!0),o.current?.pointOfView({lat:20,lng:15,altitude:2.6},650)},[n]);const R=()=>{const u=o.current?.globeMaterial?.();u&&(u.map=null,u.color=new xe.Color("#f5f5f5"),u.emissive=new xe.Color("#ffffff"),u.emissiveIntensity=.35,u.specular=new xe.Color("#d4d4d8"),u.shininess=3,u.needsUpdate=!0)},S=(u,m,y)=>{o.current?.pointOfView({lat:u,lng:m,altitude:y},650)},K=()=>{const u=o.current?.controls?.();u&&(u.autoRotate=!1)},D=u=>{if(typeof u!="object"||u===null||!("coordinates"in u))return[];const m=u.coordinates,y=[],x=g=>{if(Array.isArray(g)){if(g.length>=2&&typeof g[0]=="number"&&typeof g[1]=="number"){y.push([g[0],g[1]]);return}g.forEach(x)}};return x(m),y},O=u=>{const m=D(u.geometry);if(!m.length)return;const y=m.reduce((x,[g,b])=>({minLat:Math.min(x.minLat,b),maxLat:Math.max(x.maxLat,b),minLng:Math.min(x.minLng,g),maxLng:Math.max(x.maxLng,g)}),{minLat:Number.POSITIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY,minLng:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY});if(!(!Number.isFinite(y.minLat)||!Number.isFinite(y.minLng)))return y},z=u=>{const m=Math.max(.1,u.maxLat-u.minLat),y=Math.max(.1,u.maxLng-u.minLng),g=Math.max(m,y)/112;return Math.min(.9,Math.max(.14,g))},L=()=>{l.current&&window.clearTimeout(l.current),l.current=window.setTimeout(()=>{const u=o.current?.pointOfView?.().altitude??2.4,m=wt(u);v(m),m<=0&&I(void 0)},120)},rn=u=>{const m=u.properties??{};if(d===0){const y=r[String(m.name??"").toLowerCase()],x=m.__isoA2??(typeof m.iso_a2=="string"?m.iso_a2.toUpperCase():void 0)??y;if(!x)return;K(),v(1),C(x),I(void 0);const g=O(u);if(g){S((g.minLat+g.maxLat)/2,(g.minLng+g.maxLng)/2,z(g));return}return}if(d>=1){const y=m.__regionName;if(!y)return;K(),v(2),I(y);const x=O(u);if(x){S((x.minLat+x.maxLat)/2,(x.minLng+x.maxLng)/2,Math.max(.2,z(x)*.52));return}}},on=d===0?k:_.length?[...k,..._]:k,Se=(u,m)=>{if(m&&u)return e.regions[u]?.[m];if(u)return e.countries[u]},an=u=>{if(!u)return'<div style="color:#697386;font-weight:500;font-size:15px;">No data available</div>';const m=Object.entries(u).filter(([b,N])=>!Rt(b)&&typeof N=="number"&&Number.isFinite(N));if(!m.length)return'<div style="color:#697386;font-weight:500;font-size:15px;">No data available</div>';m.sort(([b],[N])=>b===i?-1:N===i?1:b.localeCompare(N));const y="display:flex;justify-content:space-between;align-items:center;gap:24px;padding:6px 0;",x="font-weight:500;color:#697386;font-size:15px;",g="font-weight:600;color:#1A1F36;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;";return m.map(([b,N])=>{const T=ve(Nt(b)),P=ve($t(b,N));return`<div style="${y}"><span style="${x}">${T}</span><span style="${g}">${P}</span></div>`}).join("")};return Ee.jsx("div",{ref:s,className:"cool-globe-host",style:{position:"relative",height:"100%",overflow:"hidden",background:"white"},children:Ee.jsx(sn,{ref:o,globeImageUrl:pn,backgroundColor:"#ffffff",polygonsData:on,polygonAltitude:.01,polygonsTransitionDuration:180,polygonCapColor:u=>{const m=u.properties??{},y=!!m.__regionName;if(d>0&&!y)return"rgba(148,163,184,0.027)";const x=d===0?m.__isoA2:m.__countryCode,g=m.__regionName,b=Se(x,g),N=we(b,i),T=d===0?p(N):j(N);return J===u?"#60a5fa":T},polygonSideColor:u=>{const m=u.properties??{};return d>0&&!m.__regionName?"rgba(148,163,184,0.027)":m.__regionName?"rgba(148,163,184,0.22)":"rgba(226,232,240,0.45)"},polygonStrokeColor:u=>{const m=u.properties??{};return d>0&&!m.__regionName?"rgba(100,116,139,0.067)":m.__regionName?"rgba(51,65,85,0.98)":"rgba(156,163,175,0.95)"},polygonLabel:u=>{const m=u.properties??{};if(d>0&&!m.__regionName)return"";const y=d===0?m.__isoA2:m.__countryCode,x=m.__regionName,g=x??m.name??"Unknown",b=d===0?m.__isoA2:m.__countryCode??m.__isoA2,N=Mt(String(g),b),T=Se(y,x),P=an(T);return`<div style="font-family:system-ui,-apple-system,'Segoe UI',Roboto,Inter,sans-serif;min-width:272px;max-width:320px;padding:20px;background:#ffffff;color:#1A1F36;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,0.12);">
14
- <div style="font-size:17px;font-weight:600;color:#1A1F36;line-height:1.25;margin-bottom:4px;">${ve(N)}</div>
15
- <div style="margin-top:8px;">${P}</div>
16
- </div>`},onPolygonHover:u=>{U(u??null)},onPolygonClick:u=>rn(u),onZoom:L,onGlobeReady:()=>{R(),S(20,15,2.6)},onGlobeClick:()=>{const u=o.current?.controls?.();u&&(u.autoRotate=!1)},lineHoverPrecision:0,width:te.width,height:te.height,showAtmosphere:!1})})};exports.CoolGlobe=kt;
13
+ `,document.head.appendChild(e)},Ft=({statisticsData:e,resetSignal:n,preselectedCountry:t,countryNumericToIsoMap:r={},countryNameToIsoMap:i={},primaryMetric:o="visits",colorScale:s=Nn})=>{const a=x.useRef(null),l=x.useRef(null),f=x.useRef(void 0),d=x.useRef({}),u=x.useRef(null),m=x.useRef(n),N=x.useRef(void 0),[L,A]=x.useState(!1),[v,S]=x.useState(0),[_,B]=x.useState(),[j,G]=x.useState(),[C,ne]=x.useState(null),[F,te]=x.useState([]),[re,U]=x.useState([]),[g,O]=x.useState({width:900,height:760});x.useEffect(()=>{jt()},[]);const R=x.useMemo(()=>Object.values(e.countries).map(c=>ve(c,o)),[o,e.countries]),z=x.useMemo(()=>_?Object.values(e.regions[_]??{}).map(c=>ve(c,o)):[],[_,o,e.regions]),ie=x.useMemo(()=>We(R,s),[R,s]),Z=x.useMemo(()=>We(z,s),[z,s]);x.useEffect(()=>{(async()=>{let h=[];try{h=(await(await fetch(yn)).json()).features}catch{const y=await(await fetch(wn)).json(),p=y.objects.countries,M=xn(y,p);h=M.type==="FeatureCollection"?M.features:[M]}const w=h.map(b=>{const y=String(b.id??""),p=b.properties??{},M=String(p.name??p.NAME??p.name_en??p.ADMIN??"").trim()||`Country ${y}`,q=M.toLowerCase(),T=String(p.iso_a2??p.ISO_A2??p.iso_a2_eh??"").trim().toUpperCase(),xe=r[y]??i[q]??(T&&T!=="-99"?T:void 0)??(y.length===2?y.toUpperCase():y);return{...b,properties:{...p,__isoA2:xe,name:M||xe||`Country ${y}`}}});te(w)})()},[]),x.useEffect(()=>{if(!l.current)return;const c=new ResizeObserver(h=>{const w=h[0];w&&O({width:Math.max(360,Math.floor(w.contentRect.width)),height:Math.max(520,Math.floor(w.contentRect.height))})});return c.observe(l.current),()=>c.disconnect()},[]),x.useEffect(()=>{if(!_){U([]);return}const c=d.current[_];if(c){U(c);return}(async()=>{if(!u.current){const p=await(await fetch(vn)).json();u.current=p.features}const b=(u.current??[]).filter(y=>(y.properties??{}).iso_a2===_).map(y=>{const p=y.properties??{},M=String(p.name??"").trim();return{...y,properties:{...p,__countryCode:_,__regionName:M,name:M}}});d.current[_]=b,U(b)})()},[_]),x.useEffect(()=>{if(j&&v<2)return void S(2);_&&v<1&&S(1)},[_,j,v]),x.useEffect(()=>{const c=a.current?.controls?.();if(!c)return;c.autoRotate=!0,c.autoRotateSpeed=.45,c.enablePan=!1,c.enableZoom=!0;const h=a.current?.renderer?.();h&&h.setPixelRatio(Math.min(window.devicePixelRatio,1.5))},[]),x.useEffect(()=>{const c=a.current?.controls?.();c&&(c.autoRotate=!_&&v===0)},[_,v]);const E=x.useCallback((c,h,w)=>{a.current?.pointOfView({lat:c,lng:h,altitude:w},650)},[]),H=x.useCallback(()=>{const c=a.current?.controls?.();c&&(c.autoRotate=!1)},[]),$=x.useCallback((c,h,w)=>{const b=ue(c);if(!b||(H(),S(1),B(b),G(void 0),w?.focusCamera===!1))return;const y=h??Ke(F,b,i),p=y?Ye(y):void 0;p&&E((p.minLat+p.maxLat)/2,(p.minLng+p.maxLng)/2,Xe(p))},[F,i,E,H]);x.useEffect(()=>{if(n===m.current)return;m.current=n,G(void 0),ne(null),N.current=void 0;const c=t?.trim()?ue(t):void 0;if(c){$(c);return}S(0),B(void 0),U([]);const h=a.current?.controls?.();h&&(h.autoRotate=!0),E(20,15,2.6)},[E,t,n,$]),x.useEffect(()=>{const c=t?.trim()?ue(t):void 0;if(!c||!L||!F.length)return;const h=`${c}:${String(n??"")}`;if(N.current===h)return;const w=Ke(F,c,i);$(c,w),N.current=h},[F,i,L,t,n,$]);const fn=()=>{const c=a.current?.globeMaterial?.();c&&(c.map=null,c.color=new be.Color("#f5f5f5"),c.emissive=new be.Color("#ffffff"),c.emissiveIntensity=.35,c.specular=new be.Color("#d4d4d8"),c.shininess=3,c.needsUpdate=!0)},un=()=>{f.current&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{const c=a.current?.pointOfView?.().altitude??2.4,h=Ct(c);S(h),h<=0&&G(void 0)},120)},cn=c=>{const h=c.properties??{};if(v===0){const w=i[String(h.name??"").toLowerCase()],b=h.__isoA2??(typeof h.iso_a2=="string"?h.iso_a2.toUpperCase():void 0)??w;if(!b)return;$(b,c);return}if(v>=1){const w=h.__regionName;if(!w)return;H(),S(2),G(w);const b=Ye(c);if(b){E((b.minLat+b.maxLat)/2,(b.minLng+b.maxLng)/2,Math.max(.2,Xe(b)*.52));return}}},ln=v===0?F:re.length?[...F,...re]:F,Ee=(c,h)=>{if(h&&c)return e.regions[c]?.[h];if(c)return e.countries[c]},dn=c=>{if(!c)return'<div style="color:#697386;font-weight:500;font-size:15px;">No data available</div>';const h=Object.entries(c).filter(([p,M])=>!Et(p)&&typeof M=="number"&&Number.isFinite(M));if(!h.length)return'<div style="color:#697386;font-weight:500;font-size:15px;">No data available</div>';h.sort(([p],[M])=>p===o?-1:M===o?1:p.localeCompare(M));const w="display:flex;justify-content:space-between;align-items:center;gap:24px;padding:6px 0;",b="font-weight:500;color:#697386;font-size:15px;",y="font-weight:600;color:#1A1F36;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;";return h.map(([p,M])=>{const q=Me(At(p)),T=Me(It(p,M));return`<div style="${w}"><span style="${b}">${q}</span><span style="${y}">${T}</span></div>`}).join("")};return Ie.jsx("div",{ref:l,className:"cool-globe-host",style:{position:"relative",height:"100%",overflow:"hidden",background:"white"},children:Ie.jsx(hn,{ref:a,globeImageUrl:Mn,backgroundColor:"#ffffff",polygonsData:ln,polygonAltitude:.01,polygonsTransitionDuration:180,polygonCapColor:c=>{const h=c.properties??{},w=!!h.__regionName;if(v>0&&!w)return"rgba(148,163,184,0.027)";const b=v===0?h.__isoA2:h.__countryCode,y=h.__regionName,p=Ee(b,y),M=ve(p,o),q=v===0?ie(M):Z(M);return C===c?"#60a5fa":q},polygonSideColor:c=>{const h=c.properties??{};return v>0&&!h.__regionName?"rgba(148,163,184,0.027)":h.__regionName?"rgba(148,163,184,0.22)":"rgba(226,232,240,0.45)"},polygonStrokeColor:c=>{const h=c.properties??{};return v>0&&!h.__regionName?"rgba(100,116,139,0.067)":h.__regionName?"rgba(51,65,85,0.98)":"rgba(156,163,175,0.95)"},polygonLabel:c=>{const h=c.properties??{};if(v>0&&!h.__regionName)return"";const w=v===0?h.__isoA2:h.__countryCode,b=h.__regionName,y=b??h.name??"Unknown",p=v===0?h.__isoA2:h.__countryCode??h.__isoA2,M=Lt(String(y),p),q=Ee(w,b),T=dn(q);return`<div style="font-family:system-ui,-apple-system,'Segoe UI',Roboto,Inter,sans-serif;min-width:272px;max-width:320px;padding:20px;background:#ffffff;color:#1A1F36;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,0.12);">
14
+ <div style="font-size:17px;font-weight:600;color:#1A1F36;line-height:1.25;margin-bottom:4px;">${Me(M)}</div>
15
+ <div style="margin-top:8px;">${T}</div>
16
+ </div>`},onPolygonHover:c=>{ne(c??null)},onPolygonClick:c=>cn(c),onZoom:un,onGlobeReady:()=>{fn(),A(!0),t?.trim()||E(20,15,2.6)},onGlobeClick:()=>{const c=a.current?.controls?.();c&&(c.autoRotate=!1)},lineHoverPrecision:0,width:g.width,height:g.height,showAtmosphere:!1})})};exports.CoolGlobe=Ft;