nanoplot 0.0.2 → 0.0.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.
Files changed (68) hide show
  1. package/CONTRIBUTIONS.md +24 -0
  2. package/README.md +26 -20
  3. package/bun.lockb +0 -0
  4. package/cypress.config.ts +14 -0
  5. package/dist/Bars/Bars.d.ts +3 -0
  6. package/dist/Bars/Bars.js +1 -0
  7. package/dist/Graph/Graph.d.ts +22 -0
  8. package/dist/Graph/Graph.js +1 -0
  9. package/dist/GridLines/GridLines.d.ts +9 -0
  10. package/dist/GridLines/GridLines.js +1 -0
  11. package/dist/Legend/Legend.d.ts +44 -0
  12. package/dist/Legend/Legend.js +1 -0
  13. package/dist/Lines/Lines.d.ts +6 -0
  14. package/dist/Lines/Lines.js +1 -0
  15. package/dist/Pie/Pie.d.ts +9 -0
  16. package/dist/Pie/Pie.js +1 -0
  17. package/dist/Radar/Radar.d.ts +8 -0
  18. package/dist/Radar/Radar.js +2 -0
  19. package/dist/Scatter/Scatter.d.ts +5 -0
  20. package/dist/Scatter/Scatter.js +1 -0
  21. package/dist/Sunburst/Sunburst.d.ts +10 -0
  22. package/dist/Sunburst/Sunburst.js +1 -0
  23. package/dist/Worldmap/Worldmap.css +1 -0
  24. package/dist/Worldmap/Worldmap.d.ts +328 -0
  25. package/dist/Worldmap/Worldmap.js +1 -0
  26. package/dist/XAxis/XAxis.d.ts +50 -0
  27. package/dist/XAxis/XAxis.js +1 -0
  28. package/dist/YAxis/YAxis.d.ts +50 -0
  29. package/dist/YAxis/YAxis.js +1 -0
  30. package/dist/chunk-27FBH32H.js +1 -0
  31. package/dist/chunk-DCUZK3HV.js +1 -0
  32. package/dist/chunk-I554ST6O.js +1 -0
  33. package/dist/chunk-IPNLOTJZ.js +1 -0
  34. package/dist/chunk-JRRAKL7W.js +1 -0
  35. package/dist/chunk-LALBDKPZ.js +1 -0
  36. package/dist/chunk-Y5BEPFEI.js +1 -0
  37. package/dist/chunk-YFBVZ3EG.js +1 -0
  38. package/dist/components/Overlay/Overlay.d.ts +9 -0
  39. package/dist/components/Tooltip/Popup.d.ts +9 -0
  40. package/dist/export/index.d.ts +14 -1
  41. package/dist/hooks/use-graph/use-client-graph.d.ts +7 -0
  42. package/dist/hooks/use-graph/use-graph.d.ts +58 -0
  43. package/dist/hooks/use-tether.d.ts +38 -0
  44. package/dist/index.css +2 -0
  45. package/dist/library-global.css.map +7 -0
  46. package/dist/tsconfig.typings.tsbuildinfo +1 -0
  47. package/dist/utils/children/children.d.ts +5 -0
  48. package/dist/utils/color/color.d.ts +4 -0
  49. package/dist/utils/coordinates/coordinates.d.ts +5 -0
  50. package/dist/utils/countries.d.ts +136 -0
  51. package/dist/utils/cx/cx.d.ts +3 -0
  52. package/dist/utils/domain/domain.d.ts +17 -0
  53. package/dist/utils/graph/graph.d.ts +5 -0
  54. package/dist/utils/math/math.d.ts +4 -0
  55. package/dist/utils/path/path.d.ts +24 -0
  56. package/esbuild.js +80 -0
  57. package/package.json +67 -9
  58. package/rollup.config.mjs +74 -0
  59. package/tsconfig.json +27 -26
  60. package/tsconfig.typings.json +16 -0
  61. package/.idea/codeStyles/Project.xml +0 -61
  62. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  63. package/.idea/modules.xml +0 -8
  64. package/.idea/nanoplotx.iml +0 -12
  65. package/.idea/prettier.xml +0 -7
  66. package/.idea/vcs.xml +0 -6
  67. package/bunfig.toml +0 -2
  68. package/dist/index.js +0 -1
@@ -0,0 +1,24 @@
1
+ ### Get started
2
+ Step 1: Fork the Repository
3
+
4
+ Click the Fork Button: In the upper right corner of the repository page, click on the Fork button. This will create a copy of the repository under your GitHub account.
5
+ Step 2: Clone your Forked Repository
6
+
7
+ Go to Your Forked Repository:
8
+ Navigate to your GitHub profile and find the newly forked repository.
9
+ Copy the Clone URL:
10
+ Click on the green Code button.
11
+ Choose either HTTPS, SSH, or GitHub CLI based on your preference and copy the URL.
12
+ Open Your Terminal: Open a terminal or command prompt on your local machine.
13
+ Run the Clone Command: Use the git clone https//xxxx.git command to clone your forked repository:
14
+
15
+ Step 3:
16
+ Navigate into Your Cloned Repository and install bun packages cd nanoplot
17
+
18
+ ```bash
19
+ bun i
20
+ bun run dev
21
+ ```
22
+ The application should run locally on your machine on port: 3000
23
+
24
+ Step 4: Start Implementing
package/README.md CHANGED
@@ -1,20 +1,26 @@
1
- ## Get started
2
- ```bash
3
- bun i
4
- bun run dev
5
- ```
6
-
7
- ### Contributing Guide [Placeholder]
8
-
9
- ### Worldmap
10
-
11
- - Make sure countries -> paths on map are mapped correctly.
12
- - Make sure PathUtils.center is more accurate. (gpt generated and inaccurate)
13
- - Use flag images for every country, and find CDN that's not what it's set to currently.
14
- - Potential gradient helpers.
15
- - Ensure tooltips have progressive enhancement from server->client, by adding ability to position tooltip to mouse via client only code.
16
-
17
- ### LineGraph
18
-
19
- - Ensure tooltips have progressive enhancement from server->client
20
- -
1
+ <div align="center">
2
+ <a href="https://nanoplot.com">
3
+ <img src="https://nanoplot.com/nanoplot_logo.jpg" alt="Nanoplot Logo" width="80" height="80" />
4
+ </a>
5
+ <h1>Nanoplot</h1>
6
+ </div>
7
+
8
+ ## Getting Started
9
+ ```shell
10
+ npm install nanoplot
11
+ ```
12
+
13
+ ## Documentation
14
+ The world's smallest companies use our software to plot their data.
15
+
16
+ - Visit our [Learn Nanoplot](https://nanoplot.com) documentation website to get started.
17
+
18
+ ## Usage
19
+ ```javascript
20
+ import { Graph, Pie } from 'nanoplot';
21
+
22
+ <Graph data={[{name: "Male", value: 50}, {name: "Female", value: 50}]}>
23
+ <Pie />
24
+ </Graph>
25
+ ```
26
+
package/bun.lockb CHANGED
Binary file
@@ -0,0 +1,14 @@
1
+ import { defineConfig } from "cypress";
2
+
3
+ export default defineConfig({
4
+ e2e: {
5
+ baseUrl: 'http://localhost:3000',
6
+ specPattern: 'src/**/*.e2e.ts', // Updated to look for test files in src
7
+ setupNodeEvents(on, config) {
8
+ // implement node event listeners here
9
+ },
10
+ supportFile: false, // Optional, disable the default support file
11
+ },
12
+ });
13
+
14
+
@@ -0,0 +1,3 @@
1
+ import { VerticalBars } from "@/components/Bars/components/VerticalBars";
2
+ import { ComponentProps } from "react";
3
+ export declare const Bars: (props: ComponentProps<typeof VerticalBars>) => import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ import{a as i}from"../chunk-I554ST6O.js";import{a as s}from"../chunk-YFBVZ3EG.js";import{a as m}from"../chunk-JRRAKL7W.js";import{a as c}from"../chunk-DCUZK3HV.js";import"../chunk-27FBH32H.js";import{c as p}from"../chunk-LALBDKPZ.js";import d from"react";var f=({children:a,className:u})=>{let t=p();if(!t||!m.isXYData(t.data))return null;let x=i.xCoordinateFor(t),h=i.yCoordinateFor(t),r=t.data.map((o,e,l)=>({...o,id:o.id??o.name,stroke:o.stroke??s.colorFor(e,l.length),fill:o.fill===!0?o.stroke??s.colorFor(e,l.length):o.fill,bar:o.group??o.name,data:o.data.map(n=>({x:x(n.x),y:h(n.y)}))}))[0],y=r.data[1].x-r.data[1].x/2;return d.createElement("svg",{viewBox:`0 0 ${t.viewbox.x} ${t.viewbox.y}`,className:c("[grid-area:graph] h-full w-full",u),preserveAspectRatio:"none"},r.data.map((o,e)=>d.createElement("path",{key:e,d:`M ${o.x} ${t.viewbox.y} l0 ${-o.y} l${y} 0 l0 ${o.y} Z`,fill:"transparent",stroke:r.stroke,vectorEffect:"non-scaling-stroke",strokeWidth:1.5})),a)};var G=a=>React.createElement(f,{...a});export{G as Bars};
@@ -0,0 +1,22 @@
1
+ import React, { HTMLAttributes, ReactNode } from "react";
2
+ import { GraphContext } from "@/hooks/use-graph/use-graph";
3
+ type Props = {
4
+ data: GraphContext["data"];
5
+ gap?: {
6
+ top?: number;
7
+ right?: number;
8
+ bottom?: number;
9
+ left?: number;
10
+ };
11
+ interactions?: {
12
+ hovered?: string[];
13
+ pinned?: string[];
14
+ };
15
+ children: ReactNode;
16
+ };
17
+ export declare const Graph: {
18
+ ({ data, gap, children, interactions }: Props): React.JSX.Element;
19
+ Row({ children, ...rest }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
20
+ Column({ children, ...rest }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
21
+ };
22
+ export {};
@@ -0,0 +1 @@
1
+ import{b as a}from"../chunk-Y5BEPFEI.js";import"../chunk-JRRAKL7W.js";import"../chunk-DCUZK3HV.js";import"../chunk-27FBH32H.js";import"../chunk-LALBDKPZ.js";export{a as Graph};
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface Props extends React.SVGAttributes<SVGSVGElement> {
3
+ trendline?: boolean;
4
+ border?: boolean;
5
+ horizontal?: boolean;
6
+ vertical?: boolean;
7
+ }
8
+ export declare const GridLines: ({ border, horizontal, vertical, className }: Props) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{a as e}from"../chunk-DCUZK3HV.js";import{c as i}from"../chunk-LALBDKPZ.js";import t from"react";var h=({border:l,horizontal:c,vertical:d,className:f})=>{let n=i(),{x:o,y:s}=n.viewbox,{domain:a}=n;return t.createElement("svg",{viewBox:`0 0 ${o} ${s}`,className:e("[grid-area:graph] h-full w-full",f),preserveAspectRatio:"none"},l&&t.createElement("path",{d:`M 0 0 l${o} 0 l0 ${s} l${-o} 0 Z`,strokeWidth:3,vectorEffect:"non-scaling-stroke",fill:"transparent",className:e("stroke-foreground grid-lines__border")}),c&&t.createElement("path",{d:a.y.map(({coordinate:r})=>`M 0 ${r} L ${o} ${r}`).join(" "),strokeWidth:3,vectorEffect:"non-scaling-stroke",strokeDasharray:"4, 7",className:e("stroke-foreground grid-lines__horizontal")}),d&&t.createElement("path",{d:a.x.map(({coordinate:r})=>`M ${r} 0 L ${r} ${s}`).join(" "),strokeWidth:3,vectorEffect:"non-scaling-stroke",strokeDasharray:"4, 10",className:e("stroke-foreground grid-lines__vertical")}))};export{h as GridLines};
@@ -0,0 +1,44 @@
1
+ import { GraphContext } from "@/hooks/use-graph/use-graph";
2
+ import { ReactNode } from "react";
3
+ type Props = {
4
+ position?: "top" | "bottom" | "left" | "right";
5
+ alignment?: "center" | "left" | "right";
6
+ children?: ReactNode;
7
+ };
8
+ export declare const Legend: {
9
+ ({ position, alignment }: Props): import("react").JSX.Element;
10
+ context(ctx: GraphContext, props: Props): {
11
+ layout: {
12
+ rows: string;
13
+ columns: string;
14
+ };
15
+ id: string;
16
+ attributes: import("react").HTMLAttributes<HTMLDivElement>;
17
+ gap: {
18
+ top: number;
19
+ right: number;
20
+ bottom: number;
21
+ left: number;
22
+ };
23
+ viewbox: {
24
+ x: number;
25
+ y: number;
26
+ };
27
+ data: import("@/hooks/use-graph/use-graph").XYDataset | import("@/hooks/use-graph/use-graph").SegmentDataset;
28
+ domain: {
29
+ x: Array<{
30
+ coordinate: number;
31
+ tick: string | number | Date;
32
+ }>;
33
+ y: Array<{
34
+ coordinate: number;
35
+ tick: string | number | Date;
36
+ }>;
37
+ };
38
+ interactions: {
39
+ hovered: string[];
40
+ pinned: string[];
41
+ };
42
+ };
43
+ };
44
+ export {};
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-YFBVZ3EG.js";import{b as n}from"../chunk-Y5BEPFEI.js";import"../chunk-JRRAKL7W.js";import{a as m}from"../chunk-DCUZK3HV.js";import"../chunk-27FBH32H.js";import{c as s}from"../chunk-LALBDKPZ.js";var f=({position:t="top",alignment:o="left"})=>{let e=s(),r=t==="top"||t==="bottom"?n.Row:n.Column;return React.createElement(r,{className:m("flex","gap-2",(t==="left"||t==="right")&&"flex-col",o==="left"&&"justify-start",o==="right"&&"justify-end",o==="center"&&"justify-center")},e.data?.map(({name:u,stroke:i},l,c)=>React.createElement("div",{key:l,className:"flex items-center"},React.createElement("div",{className:"size-4 mr-1 rounded-full",style:{background:i??a.colorFor(l,c.length)}}),React.createElement("div",null,u))))};f.context=(t,o)=>{let e=o.position==="top"?"max-content "+t.layout.rows:o.position==="bottom"?t.layout.rows+" max-content":t.layout.rows,r=o.position==="left"?"max-content "+t.layout.columns:o.position==="right"?t.layout.columns+" max-content":t.layout.columns;return{...t,layout:{...t.layout,rows:e,columns:r}}};export{f as Legend};
@@ -0,0 +1,6 @@
1
+ import React, { ReactNode } from "react";
2
+ type Props = {
3
+ children?: ReactNode;
4
+ };
5
+ export declare const Lines: ({ children }: Props) => React.JSX.Element | null;
6
+ export {};
@@ -0,0 +1 @@
1
+ import{a as i}from"../chunk-I554ST6O.js";import{a as s}from"../chunk-YFBVZ3EG.js";import{a as p}from"../chunk-JRRAKL7W.js";import"../chunk-27FBH32H.js";import{c as n}from"../chunk-LALBDKPZ.js";import d from"react";var F=({children:c})=>{let t=n();if(!p.isXYData(t.data))return null;let m=i.xCoordinateFor(t),l=i.yCoordinateFor(t),f=t.data.map((o,e,a)=>({...o,id:o.id??o.name,stroke:o.stroke??s.colorFor(e,a.length),fill:o.fill===!0?o.stroke??s.colorFor(e,a.length):o.fill,data:o.data.map(r=>({x:m(r.x),y:l(r.y)}))}));return d.createElement("svg",{viewBox:`0 0 ${t.viewbox.x} ${t.viewbox.y}`,height:"100%",width:"100%",preserveAspectRatio:"none"},f.map((o,e)=>{let a=o.data.map((r,h)=>`${h===0?"M":"L"} ${r.x} ${r.y}`).join(" ");return d.createElement("path",{key:e,d:a,fill:"transparent",stroke:o.stroke,vectorEffect:"non-scaling-stroke",strokeWidth:1.5})}),c)};export{F as Lines};
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from "react";
2
+ type Props = {
3
+ loading?: boolean;
4
+ donut?: boolean;
5
+ labels?: boolean;
6
+ children?: ReactNode;
7
+ };
8
+ export declare const Pie: ({ donut, labels, loading, children }: Props) => import("react").JSX.Element | null;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{a as N}from"../chunk-YFBVZ3EG.js";import{a as s}from"../chunk-IPNLOTJZ.js";import{a as S}from"../chunk-JRRAKL7W.js";import{a as m}from"../chunk-DCUZK3HV.js";import{a as d}from"../chunk-27FBH32H.js";import{c as O}from"../chunk-LALBDKPZ.js";import{useId as T}from"react";var _=({children:l,tag:h,...n})=>React.createElement("div",{...n,className:m("[grid-area:graph]",n.className)},l),$=new Proxy(_,{get:function(l,h){return({children:n,...g})=>React.createElement(_,{...g,tag:h},n)}});var r=3e3,i=3e3,G=.8,W=({donut:l,labels:h=!0,loading:n,children:g})=>{let A=T(),L=T(),D=T(),v=O();if(!v||!S.isSegmentData(v.data))return null;let{data:x}=v,c=r/3*G,y=x.length===1,b=x.reduce((e,{value:t})=>e+Number(t),0);if(n)return React.createElement("svg",{viewBox:"0 0 3000 3000",role:"status","aria-busy":n,className:"h-full w-full"},React.createElement("path",{d:s.circleArc(r/2,i/2,c),className:"[filter:brightness(300%)] dark:[filter:brightness(100%)]"},React.createElement("animate",{attributeName:"fill",values:"#2d2d2d; #3c3c3c; #2d2d2d; #2d2d2d;",dur:"2s",repeatCount:"indefinite",calcMode:"spline",keyTimes:"0; 0.3; 0.6; 1",keySplines:"0.15 0.25 0.25 0.15; 0.15 0.25 0.25 0.15; 0 0 0 0"})),l&&React.createElement("path",{className:"",d:s.circleArc(r/2,i/2,c*.65)}));if(!v.data.length)return React.createElement(React.Fragment,null,React.createElement("svg",{"data-testid":"pie-empty-state",role:"img",viewBox:"0 0 3000 3000",height:"100%",width:"100%"},React.createElement("path",{d:"M 1500 1500 m 800, 1.9594348786357651e-13 a 800, 800 0 1,0 -1600, -3.9188697572715303e-13 a 800, 800 0 1,0 1600, 3.9188697572715303e-13",fill:`url(#${D})`,className:"[filter:invert(1)] dark:[filter:invert(0)]"}),React.createElement("linearGradient",{id:D,gradientTransform:"rotate(90)"},React.createElement("stop",{offset:"0%","stop-color":"#3c3c3c"}),React.createElement("stop",{offset:"100%","stop-color":"#3c3c3c","stop-opacity":"0.2"}))));let I=x.map((e,t,o)=>({...e,id:e.name??e.name,value:Number(e.value),stroke:e.stroke??N.colorFor(t,o.length),fill:typeof e.fill=="string"?e.fill:N.colorFor(t,o.length)})).sort((e,t)=>t.value-e.value).map((e,t,o)=>({...e,previousTotalDegrees:o.slice(0,t).map(({value:p})=>d.scale(p,b,360)).reduce((p,f)=>p+f,180),degrees:d.scale(e.value,b,360)})).map((e,t,o)=>{let p=s.polarToCartesian(r/2,i/2,c,e.previousTotalDegrees+e.degrees/(y?.75:2)+180),f=o.slice(0,t+1).map(a=>({name:a.name,position:s.polarToCartesian(r/2,i/2,c*1.2,a.previousTotalDegrees+a.degrees/(y?.75:2)+180)})).filter((a,P,E)=>{if(!E[P-1])return!1;let R=.15,{y:U,x:B}=a.position,{y:C,x:M}=E[P-1].position;return d.isBetween(C*(1-R),C*(1+R),U)&&d.isBetween(M*.7,M*1.3,B)}).map(a=>a.name).findIndex(a=>e.name===a),w=f>4,u=s.polarToCartesian(r/2,i/2,c*(1.2+.1*((w?f-4:f)+1)),e.previousTotalDegrees+e.degrees/(y?.75:2)+180),k=w||d.scale(u.x,r,100)>50,H=React.createElement("g",{className:"transform origin-center rotate-180 group",key:t},h&&React.createElement(React.Fragment,null,React.createElement("path",{className:"stroke-2 fill-transparent group-hover:stroke-[15] transform origin-center rotate-180",key:e.name,d:`M ${p.x} ${p.y} L ${u.x} ${u.y} ${k?"l 100 0":"l -100 0"}`,stroke:e.stroke}),React.createElement("g",{className:m("text-7xl font-bold pointer-events-auto transform origin-center rotate-180")},React.createElement("text",{"aria-label":`${e.name}-label`,y:u.y,x:u.x,stroke:e.stroke,fill:e.fill,dx:k?140:-140,style:{textAnchor:k?"start":"end"}},React.createElement("tspan",null,e.name.length>20?e.name.slice(0,20)+"...":e.name),React.createElement("tspan",{dx:25},+(Math.round(+((e.value/b*100).toFixed(1)+"e+2"))+"e-2"),"%")))),React.createElement("path",{className:"transition-all duration-200 ease-in-out scale-100 origin-center pointer-events-auto gorup-hover:drop-shadow-[0_0_50px_rgba(0,0,0,0.5)] hover:brightness-110 hover:scale-102",d:s.describeArc(r/2,i/2,c,e.previousTotalDegrees,e.previousTotalDegrees+e.degrees)+` L ${r/2} ${r/2} Z`,fill:e.fill,"data-degrees":e.degrees}));return{id:e.id,path:H}});return React.createElement(React.Fragment,null,l&&React.createElement($.div,{className:"absolute inset-0 flex items-center justify-center"},g),I.map(({path:e,id:t},o)=>React.createElement("svg",{key:o,viewBox:`0 0 ${r} ${i}`,role:"img",className:m("[grid-area:graph] pointer-events-none h-full w-full has-[path:hover]:z-[1] has-[path:hover]:[&_.label-path]:stroke-current",l&&"mask-radial [mask-position:50%_50%] [mask-repeat:no-repeat] [mask-image:radial-gradient(circle,transparent_14%,black_14.1%)]")},React.createElement("filter",{id:A+t,filterUnits:"userSpaceOnUse"},React.createElement("feDropShadow",{dx:"0",dy:"-150",stdDeviation:"100",floodColor:"#000000",floodOpacity:"0.4"}),React.createElement("feDropShadow",{dx:"0",dy:"200",stdDeviation:"100",floodColor:"#000000",floodOpacity:"0.5"})),React.createElement("use",{xlinkHref:`#${L+t}`,filter:"blur(150px)",opacity:.5,scale:.9}),React.createElement("g",{id:L+t},e),l&&React.createElement("path",{className:"",d:s.circleArc(r/2,i/2,c*.65)}))))};export{W as Pie};
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ type Props = {
3
+ loading?: boolean;
4
+ scalars?: number[];
5
+ className?: string;
6
+ };
7
+ export declare const Radar: ({ scalars, loading, className }: Props) => React.JSX.Element | null;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ import{a as n}from"../chunk-IPNLOTJZ.js";import{a as T}from"../chunk-JRRAKL7W.js";import{a as b}from"../chunk-DCUZK3HV.js";import{a as O}from"../chunk-27FBH32H.js";import{c as w}from"../chunk-LALBDKPZ.js";import r,{useId as v}from"react";var G=({})=>React.createElement("div",null,"placeholder");var H=.8,X=4,R=({scalars:p=[0,20,40,60,80,100],loading:k,className:M})=>{let x=w();if(!T.isSegmentData(x.data))return null;let{data:m,viewbox:t}=x,h=!k&&x.data.length==0,e=t.x/2*H,d=Math.max(...p),u=m.length,$=Array.from({length:u},(o,s)=>s*360/u),C=Array.from({length:p.length},(o,s)=>1-s*(1/(p.length-1))),N=C.toReversed(),f="white",c=360/u,D=d/(p.length-1),S=m.every(({value:o})=>!o);if(k)return r.createElement(G,null);let I=o=>{if(o===0)return X;if(o>=d)return d;let s=p.findIndex((y,a,Z)=>{let g=Z[a+1];return g!==o&&O.isBetween(o,y,g)||g===void 0}),i=[D*s,D*Math.min(p.length,s+1)];return O.scale(o,[p[s],p[s+1]||p[s]],i)},A=m.map(o=>({...o,scaled:S?0:I(+o.value)})),U=A.map(({scaled:o},s)=>n.polarToCartesian(t.x/2,t.y/2,o*e/d,s*c)).map(({x:o,y:s},i)=>i===0?`M ${o} ${s}`:`L ${o} ${s}`).join(" ").concat(" Z"),E=$.map(o=>{let{x:s,y:i}=n.polarToCartesian(t.x/2,t.y/2,e,o);return`M ${t.x/2} ${t.y/2} L ${s} ${i}`}).join(" "),L=C.map(o=>{let s=n.polarToCartesian(t.x/2,t.y/2,e*o,90).x,i=n.polarToCartesian(t.x/2,t.y/2,e,90).y;return`M ${s} ${i}
2
+ L ${s} ${i+t.y/100}`}).join(" "),j=C.slice(0,h?2:1/0).map(o=>n.circleArc(t.x/2,t.y/2,e*o)).join(" "),_=A.filter(({scaled:o})=>!!o).map(({scaled:o},s)=>{let{x:i,y}=n.polarToCartesian(t.x/2,t.y/2,o*e/d,s*c),a=t.x/100;return`M ${i-a} ${y} A ${a} ${a} 0 1 1 ${i+a} ${y} A ${a} ${a} 0 1 1 ${i-a} ${y} Z`}).join(" "),B=v(),P=v(),l="#11ACAE";return r.createElement("svg",{className:b("h-full w-full",M),viewBox:`0 0 ${t.x} ${t.y}`},r.createElement("defs",null,r.createElement("filter",{id:"radarPointGlow",filterUnits:"userSpaceOnUse"},r.createElement("feDropShadow",{dx:"0",dy:"0",stdDeviation:"20",floodColor:"white",floodOpacity:"1"})),r.createElement("radialGradient",{id:B},r.createElement("stop",{offset:"30%",stopColor:f,stopOpacity:.3}),r.createElement("stop",{offset:"50%",stopColor:f,stopOpacity:.2}),r.createElement("stop",{offset:"60%",stopColor:f,stopOpacity:.15}),r.createElement("stop",{offset:"70%",stopColor:f,stopOpacity:.08}),r.createElement("stop",{offset:"80%",stopColor:f,stopOpacity:.06}),r.createElement("stop",{offset:"100%",stopColor:f,stopOpacity:.03})),r.createElement("radialGradient",{id:P,cx:t.x/2,cy:t.y/2,gradientUnits:"userSpaceOnUse"},r.createElement("stop",{offset:"30%",stopColor:l}),r.createElement("stop",{offset:"50%",stopColor:l,stopOpacity:.7}),r.createElement("stop",{offset:"60%",stopColor:l,stopOpacity:.5}),r.createElement("stop",{offset:"70%",stopColor:l,stopOpacity:.4}),r.createElement("stop",{offset:"80%",stopColor:l,stopOpacity:.3}),r.createElement("stop",{offset:"100%",stopColor:l,stopOpacity:.2}))),r.createElement("path",{d:n.circleArc(t.x/2,t.y/2,e),fill:"#111111"}),r.createElement("path",{d:j,fillRule:"evenodd",fill:"#1b1b1b",className:"[vector-effect:non-scaling-stroke] stroke-1 stroke-[#2D2D2D]"}),h?r.createElement("text",{x:t.x/2,y:t.y/2},"NA"):r.createElement(r.Fragment,null,r.createElement("path",{d:E}),r.createElement("path",{d:L}),p.map((o,s)=>o===0?"0":s===p.length-1?`>${o}x`:`${o}x`).map((o,s)=>r.createElement("text",{key:s,x:n.polarToCartesian(t.x/2,t.y/2,e*N[s],90).x,y:n.polarToCartesian(t.x/2,t.y/2,e,90).y+135},o))),r.createElement("path",{d:_,strokeOpacity:"0",fillOpacity:.5,filter:"url(#radarPointGlow)"}),!h&&$.map((o,s)=>r.createElement("circle",{key:s,cx:n.polarToCartesian(t.x/2,t.y/2,e,o).x,cy:n.polarToCartesian(t.x/2,t.y/2,e,o).y,r:t.x/150,fill:"white"})),r.createElement("path",{stroke:l,d:U,fill:`url(#${P}`,className:"stroke-[10] [fill-opacity:0.7]"}),$.map((o,s)=>r.createElement("path",{key:s,className:"[vector-effect:non-scaling-stroke] dark:fill-white [fill-opacity:0] [stroke-opacity:0]",d:n.describeArc(t.x/2,t.y/2,e,o-c/2,o+c/2)+` L ${t.x/2} ${t.x/2} Z`})))};export{R as Radar};
@@ -0,0 +1,5 @@
1
+ type Props = {
2
+ trendline?: boolean;
3
+ };
4
+ export declare const Scatter: ({ trendline }: Props) => import("react").JSX.Element | null;
5
+ export {};
@@ -0,0 +1 @@
1
+ import{a as s}from"../chunk-I554ST6O.js";import{a as l}from"../chunk-YFBVZ3EG.js";import{a as p}from"../chunk-IPNLOTJZ.js";import{a as c}from"../chunk-JRRAKL7W.js";import"../chunk-27FBH32H.js";import{c as i}from"../chunk-LALBDKPZ.js";var w=({trendline:m})=>{let o=i(),{x:d,y:k}=o.viewbox;if(!c.isXYData(o.data))return null;let f=s.xCoordinateFor(o),h=s.yCoordinateFor(o),n=o.data.map((t,a,r)=>({id:t.name??t.id,...t,data:t.data.map(({x:e,y:u})=>({x:f(e),y:h(u)})),stroke:t.stroke??l.colorFor(a,r.length)}));return React.createElement("svg",{viewBox:`0 0 ${d} ${k}`,className:"[grid-area:graph] h-full w-full",preserveAspectRatio:"none"},n.map((t,a)=>React.createElement("path",{key:a,d:t.data.map(({x:r,y:e})=>`M ${r} ${e} A 0 0 0 0 1 ${r} ${e}`).join(" "),strokeWidth:10,stroke:t.stroke,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),m&&React.createElement("path",{strokeWidth:3,strokeDasharray:"4,4",className:"stroke-black dark:stroke-white [vector-effect:non-scaling-stroke]",d:p.trend(n.flatMap(({data:t})=>t),o.viewbox)}))};export{w as Scatter};
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export type Sunburst = Array<{
3
+ name: string;
4
+ value: number;
5
+ stroke?: string;
6
+ children: Sunburst;
7
+ }>;
8
+ type Props = {};
9
+ export declare const Sunburst: ({}: Props) => React.JSX.Element;
10
+ export {};
@@ -0,0 +1 @@
1
+ import{a as G}from"../chunk-YFBVZ3EG.js";import{a as p}from"../chunk-IPNLOTJZ.js";import{c as b}from"../chunk-LALBDKPZ.js";import s,{Fragment as y,useState as E}from"react";var D=[{name:"Other",value:50,children:[]},{name:"Amazon",value:30,children:[{name:"",value:20,children:[{name:"",value:10,children:[{name:"",value:5,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:1,children:[]}]},{name:"",value:10,children:[]}]},{name:"",value:5,children:[{name:"",value:2,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]}]},{name:"",value:5,children:[]}]},{name:"Disney",value:40,children:[{name:"Anime",value:20,children:[{name:"Spirited Away",value:20,children:[{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]},{name:"",value:2,children:[]}]}]},{name:"Action",value:20,children:[{name:"y",value:10,children:[{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]}]},{name:"x",value:10,children:[{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]},{name:"",value:1,children:[]}]}]}]},{name:"Netflix",value:30,children:[{name:"ABC",value:20,children:[]},{name:"",value:5,children:[]},{name:"",value:5,children:[]}]}],F=({})=>{let{viewbox:l}=b(),[d,t]=E(),v=D.toSorted((e,n)=>n.value-e.value),h=function e(n,a=1){let u=n.map(i=>i.children.length?a+e(i.children):a);return Math.max(...u)}(D),c=({ring:e,availableDegrees:n,startDegrees:a,previousTotal:u,color:i})=>(r,o,k)=>{let g=d===r,S=(()=>{if(g)return 360;let m=n*(r.value/u);return m===360?m:m-.5})(),f=g?0:a+n*(k.slice(0,o).reduce((m,{value:x})=>m+x,0)/u),A=i||G.colorFor(o);return d&&!g&&e===1?null:s.createElement(y,{key:o},s.createElement(N,{segment:r,degrees:S,previousDegrees:f,ring:e,stroke:A,onClick:()=>{r.children.length&&t(r)}}),r.children.map(c({ring:e+1,availableDegrees:S,startDegrees:f,previousTotal:r.value,color:A})))};return s.createElement("svg",{viewBox:`0 0 ${l.x} ${l.y}`,className:"h-full w-full"},v.map(c({ring:1,availableDegrees:360,startDegrees:0,previousTotal:v.reduce((e,{value:n})=>e+n,0)})),s.createElement("path",{d:p.circleArc(l.x/2,l.y/2,320),fill:"black",stroke:"black",onClick:()=>t(void 0)}))},N=({onClick:l,segment:d,previousDegrees:t,degrees:v,ring:h,stroke:c})=>{let{viewbox:e}=b(),n=300,a=20,u=t,i=t+v;return s.createElement("path",{d:p.annularArc(e.x/2,e.y/2,u,i,n*h+a,n*h+n),fill:c,stroke:c,onClick:l})};export{F as Sunburst};
@@ -0,0 +1 @@
1
+ ._base_17xbr_2{border-radius:5px;position:absolute;width:auto}._inner_17xbr_8{display:inline-block;position:relative;z-index:20;color:#fff;min-width:48px;max-width:28rem;padding:8px}._inner--center-top_17xbr_17{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="20px" height="10px" viewBox="0 0 60 30" xmlns="http://www.w3.org/2000/svg"><path d="M 0 30 L 30 0 L 60 30 Z" /></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 10px,100% 10px,0 100%,100% 100%,0 15px,5px 10px,50% 0;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,100% calc(100% - 20px),calc(100% - 10px) 100%,20px 10px}._inner--left-top_17xbr_25{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="20px" height="10px" viewBox="0 0 60 30" xmlns="http://www.w3.org/2000/svg"><path d="M 0 30 L 30 0 L 60 30 Z" /></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 10px,100% 10px,0 100%,100% 100%,0 15px,5px 10px,calc(10% - 10px) 0;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,100% calc(100% - 20px),calc(100% - 10px) 100%,20px 10px}._inner--right-top_17xbr_33{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="20px" height="10px" viewBox="0 0 60 30" xmlns="http://www.w3.org/2000/svg"><path d="M 0 30 L 30 0 L 60 30 Z" /></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 10px,100% 10px,0 100%,100% 100%,0 15px,5px 10px,calc(90% + 10px) 0;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,100% calc(100% - 20px),calc(100% - 10px) 100%,20px 10px}._inner--left-middle_17xbr_41{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="10px" height="20px" viewBox="0 0 30 60" xmlns="http://www.w3.org/2000/svg"><path d="M 30 0 L 30 60 L 0 30 Z" /></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:10px 0,100% 0,10px 100%,100% 100%,10px 5px,15px 0,0 50%;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,100% calc(100% - 10px),calc(100% - 20px) 100%,10px 20px}._inner--left-bottom_17xbr_49{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="20px" height="10px" viewBox="0 0 60 30" xmlns="http://www.w3.org/2000/svg"><path d="M 0 0 L 60 0 L 30 30 Z"/></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 0,100% 0,0 calc(100% - 10px),100% calc(100% - 10px),0 5px,5px 0,calc(10% - 10px) 100%;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,100% calc(100% - 20px),calc(100% - 10px) calc(100% - 10px),20px 10px}._inner--right-bottom_17xbr_57{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="20px" height="10px" viewBox="0 0 60 30" xmlns="http://www.w3.org/2000/svg"><path d="M 0 0 L 60 0 L 30 30 Z"/></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 0,100% 0,0 calc(100% - 10px),100% calc(100% - 10px),0 5px,5px 0,calc(90% + 10px) 100%;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,100% calc(100% - 20px),calc(100% - 10px) calc(100% - 10px),20px 10px}._inner--bottom-center_17xbr_65{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="20px" height="10px" viewBox="0 0 60 30" xmlns="http://www.w3.org/2000/svg"><path d="M 0 0 L 60 0 L 30 30 Z"/></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 0,100% 0,100% calc(100% - 9px),0 calc(100% - 9px),0 5px,5px 0,50% 100%;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,100% calc(100% - 20px),calc(100% - 10px) calc(100% - 9px),20px 10px}._inner--right-middle_17xbr_73{-webkit-mask-image:radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),radial-gradient(#fff 4.5px,rgba(255,255,255,0) 5px),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),url('data:image/svg+xml;utf8,<svg width="10px" height="20px" viewBox="0 0 30 60" xmlns="http://www.w3.org/2000/svg"><path d="M 0 0 L 0 60 L 30 30 Z" /></svg>');-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 0,calc(100% - 10px) 0,0 100%,calc(100% - 10px) 100%,0 5px,5px 0,100% 50%;-webkit-mask-size:10px 10px,10px 10px,10px 10px,10px 10px,calc(100% - 10px) calc(100% - 10px),calc(100% - 20px) 100%,10px 20px}._inner--top_17xbr_81{padding-top:18px}._inner--bottom_17xbr_65{padding-bottom:18px}._inner--left_17xbr_25{padding-left:18px}._inner--right_17xbr_33{padding-right:18px}._title_17xbr_94{font-size:.875rem;font-weight:700;line-height:1.125rem;color:#c3c3c3;text-transform:uppercase;margin-bottom:12px}._description_17xbr_103{color:#fff;font-size:.875rem;font-weight:400;line-height:1.25rem}._triangle_17xbr_110{display:none;position:absolute;height:10px;width:20px;stroke-width:5;fill:transparent}._triangle--top-left_17xbr_118{top:0;left:10%;transform:translate(calc(-50% - 2px))}._triangle--top-right_17xbr_123{top:0;left:90%;transform:translate(calc(-50% + 2px))}._triangle--top-center_17xbr_128{top:0;left:50%;stroke-width:3;transform:translate(-50%)}._triangle--bottom-left_17xbr_134{top:100%;left:10%;transform:translate(calc(-50% - 2px),-100%)}._triangle--bottom-right_17xbr_139{top:100%;left:90%;transform:translate(calc(-50% + 2px),-100%)}._triangle--bottom-center_17xbr_144{top:100%;left:50%;stroke-width:2;transform:translate(-50%,-100%) scale(.9)}._tooltip_1bizk_1{display:none}._base_1bizk_6:has(svg path[data-iso=GF]:hover)>._tooltip_1bizk_1[data-iso=GF]{display:block}._base_1bizk_6:has(svg path[data-iso=MT]:hover)>._tooltip_1bizk_1[data-iso=MT]{display:block}._base_1bizk_6:has(svg path[data-iso="??"]:hover)>._tooltip_1bizk_1[data-iso="??"]{display:block}._base_1bizk_6:has(svg path[data-iso="???"]:hover)>._tooltip_1bizk_1[data-iso="???"]{display:block}._base_1bizk_6:has(svg path[data-iso=BN]:hover)>._tooltip_1bizk_1[data-iso=BN]{display:block}._base_1bizk_6:has(svg path[data-iso=PR]:hover)>._tooltip_1bizk_1[data-iso=PR]{display:block}._base_1bizk_6:has(svg path[data-iso=LU]:hover)>._tooltip_1bizk_1[data-iso=LU]{display:block}._base_1bizk_6:has(svg path[data-iso=BW]:hover)>._tooltip_1bizk_1[data-iso=BW]{display:block}._base_1bizk_6:has(svg path[data-iso=CF]:hover)>._tooltip_1bizk_1[data-iso=CF]{display:block}._base_1bizk_6:has(svg path[data-iso=DE]:hover)>._tooltip_1bizk_1[data-iso=DE]{display:block}._base_1bizk_6:has(svg path[data-iso=YE]:hover)>._tooltip_1bizk_1[data-iso=YE]{display:block}._base_1bizk_6:has(svg path[data-iso=OM]:hover)>._tooltip_1bizk_1[data-iso=OM]{display:block}._base_1bizk_6:has(svg path[data-iso=CG]:hover)>._tooltip_1bizk_1[data-iso=CG]{display:block}._base_1bizk_6:has(svg path[data-iso=PL]:hover)>._tooltip_1bizk_1[data-iso=PL]{display:block}._base_1bizk_6:has(svg path[data-iso=EH]:hover)>._tooltip_1bizk_1[data-iso=EH]{display:block}._base_1bizk_6:has(svg path[data-iso=GR]:hover)>._tooltip_1bizk_1[data-iso=GR]{display:block}._base_1bizk_6:has(svg path[data-iso=KG]:hover)>._tooltip_1bizk_1[data-iso=KG]{display:block}._base_1bizk_6:has(svg path[data-iso=RO]:hover)>._tooltip_1bizk_1[data-iso=RO]{display:block}._base_1bizk_6:has(svg path[data-iso=GN]:hover)>._tooltip_1bizk_1[data-iso=GN]{display:block}._base_1bizk_6:has(svg path[data-iso=GY]:hover)>._tooltip_1bizk_1[data-iso=GY]{display:block}._base_1bizk_6:has(svg path[data-iso=IS]:hover)>._tooltip_1bizk_1[data-iso=IS]{display:block}._base_1bizk_6:has(svg path[data-iso=SY]:hover)>._tooltip_1bizk_1[data-iso=SY]{display:block}._base_1bizk_6:has(svg path[data-iso=TN]:hover)>._tooltip_1bizk_1[data-iso=TN]{display:block}._base_1bizk_6:has(svg path[data-iso=GH]:hover)>._tooltip_1bizk_1[data-iso=GH]{display:block}._base_1bizk_6:has(svg path[data-iso=UY]:hover)>._tooltip_1bizk_1[data-iso=UY]{display:block}._base_1bizk_6:has(svg path[data-iso=BD]:hover)>._tooltip_1bizk_1[data-iso=BD]{display:block}._base_1bizk_6:has(svg path[data-iso=SN]:hover)>._tooltip_1bizk_1[data-iso=SN]{display:block}._base_1bizk_6:has(svg path[data-iso=HR]:hover)>._tooltip_1bizk_1[data-iso=HR]{display:block}._base_1bizk_6:has(svg path[data-iso=AT]:hover)>._tooltip_1bizk_1[data-iso=AT]{display:block}._base_1bizk_6:has(svg path[data-iso=NI]:hover)>._tooltip_1bizk_1[data-iso=NI]{display:block}._base_1bizk_6:has(svg path[data-iso=HU]:hover)>._tooltip_1bizk_1[data-iso=HU]{display:block}._base_1bizk_6:has(svg path[data-iso=HN]:hover)>._tooltip_1bizk_1[data-iso=HN]{display:block}._base_1bizk_6:has(svg path[data-iso=BG]:hover)>._tooltip_1bizk_1[data-iso=BG]{display:block}._base_1bizk_6:has(svg path[data-iso=JO]:hover)>._tooltip_1bizk_1[data-iso=JO]{display:block}._base_1bizk_6:has(svg path[data-iso=AZ]:hover)>._tooltip_1bizk_1[data-iso=AZ]{display:block}._base_1bizk_6:has(svg path[data-iso=LV]:hover)>._tooltip_1bizk_1[data-iso=LV]{display:block}._base_1bizk_6:has(svg path[data-iso=SR]:hover)>._tooltip_1bizk_1[data-iso=SR]{display:block}._base_1bizk_6:has(svg path[data-iso=PT]:hover)>._tooltip_1bizk_1[data-iso=PT]{display:block}._base_1bizk_6:has(svg path[data-iso=AE]:hover)>._tooltip_1bizk_1[data-iso=AE]{display:block}._base_1bizk_6:has(svg path[data-iso=IE]:hover)>._tooltip_1bizk_1[data-iso=IE]{display:block}._base_1bizk_6:has(svg path[data-iso=GT]:hover)>._tooltip_1bizk_1[data-iso=GT]{display:block}._base_1bizk_6:has(svg path[data-iso=RS]:hover)>._tooltip_1bizk_1[data-iso=RS]{display:block}._base_1bizk_6:has(svg path[data-iso=CZ]:hover)>._tooltip_1bizk_1[data-iso=CZ]{display:block}._base_1bizk_6:has(svg path[data-iso=KR]:hover)>._tooltip_1bizk_1[data-iso=KR]{display:block}._base_1bizk_6:has(svg path[data-iso=PA]:hover)>._tooltip_1bizk_1[data-iso=PA]{display:block}._base_1bizk_6:has(svg path[data-iso=LT]:hover)>._tooltip_1bizk_1[data-iso=LT]{display:block}._base_1bizk_6:has(svg path[data-iso=EE]:hover)>._tooltip_1bizk_1[data-iso=EE]{display:block}._base_1bizk_6:has(svg path[data-iso=DK]:hover)>._tooltip_1bizk_1[data-iso=DK]{display:block}._base_1bizk_6:has(svg path[data-iso=NL]:hover)>._tooltip_1bizk_1[data-iso=NL]{display:block}._base_1bizk_6:has(svg path[data-iso=SK]:hover)>._tooltip_1bizk_1[data-iso=SK]{display:block}._base_1bizk_6:has(svg path[data-iso=CR]:hover)>._tooltip_1bizk_1[data-iso=CR]{display:block}._base_1bizk_6:has(svg path[data-iso=BA]:hover)>._tooltip_1bizk_1[data-iso=BA]{display:block}._base_1bizk_6:has(svg path[data-iso=MD]:hover)>._tooltip_1bizk_1[data-iso=MD]{display:block}._base_1bizk_6:has(svg path[data-iso=CH]:hover)>._tooltip_1bizk_1[data-iso=CH]{display:block}._base_1bizk_6:has(svg path[data-iso=TG]:hover)>._tooltip_1bizk_1[data-iso=TG]{display:block}._base_1bizk_6:has(svg path[data-iso=LK]:hover)>._tooltip_1bizk_1[data-iso=LK]{display:block}._base_1bizk_6:has(svg path[data-iso=DO]:hover)>._tooltip_1bizk_1[data-iso=DO]{display:block}._base_1bizk_6:has(svg path[data-iso=BE]:hover)>._tooltip_1bizk_1[data-iso=BE]{display:block}._base_1bizk_6:has(svg path[data-iso=IL]:hover)>._tooltip_1bizk_1[data-iso=IL]{display:block}._base_1bizk_6:has(svg path[data-iso=FJ]:hover)>._tooltip_1bizk_1[data-iso=FJ]{display:block}._base_1bizk_6:has(svg path[data-iso=TW]:hover)>._tooltip_1bizk_1[data-iso=TW]{display:block}._base_1bizk_6:has(svg path[data-iso=HT]:hover)>._tooltip_1bizk_1[data-iso=HT]{display:block}._base_1bizk_6:has(svg path[data-iso=AL]:hover)>._tooltip_1bizk_1[data-iso=AL]{display:block}._base_1bizk_6:has(svg path[data-iso=LS]:hover)>._tooltip_1bizk_1[data-iso=LS]{display:block}._base_1bizk_6:has(svg path[data-iso=SI]:hover)>._tooltip_1bizk_1[data-iso=SI]{display:block}._base_1bizk_6:has(svg path[data-iso=BI]:hover)>._tooltip_1bizk_1[data-iso=BI]{display:block}._base_1bizk_6:has(svg path[data-iso=MK]:hover)>._tooltip_1bizk_1[data-iso=MK]{display:block}._base_1bizk_6:has(svg path[data-iso=ME]:hover)>._tooltip_1bizk_1[data-iso=ME]{display:block}._base_1bizk_6:has(svg path[data-iso=KW]:hover)>._tooltip_1bizk_1[data-iso=KW]{display:block}._base_1bizk_6:has(svg path[data-iso=GQ]:hover)>._tooltip_1bizk_1[data-iso=GQ]{display:block}._base_1bizk_6:has(svg path[data-iso=LB]:hover)>._tooltip_1bizk_1[data-iso=LB]{display:block}._base_1bizk_6:has(svg path[data-iso=CY]:hover)>._tooltip_1bizk_1[data-iso=CY]{display:block}._base_1bizk_6:has(svg path[data-iso=QA]:hover)>._tooltip_1bizk_1[data-iso=QA]{display:block}._base_1bizk_6:has(svg path[data-iso=JM]:hover)>._tooltip_1bizk_1[data-iso=JM]{display:block}._base_1bizk_6:has(svg path[data-iso=GM]:hover)>._tooltip_1bizk_1[data-iso=GM]{display:block}._base_1bizk_6:has(svg path[data-iso=RU]:hover)>._tooltip_1bizk_1[data-iso=RU]{display:block}._base_1bizk_6:has(svg path[data-iso=US]:hover)>._tooltip_1bizk_1[data-iso=US]{display:block}._base_1bizk_6:has(svg path[data-iso=CA]:hover)>._tooltip_1bizk_1[data-iso=CA]{display:block}._base_1bizk_6:has(svg path[data-iso=CN]:hover)>._tooltip_1bizk_1[data-iso=CN]{display:block}._base_1bizk_6:has(svg path[data-iso=BR]:hover)>._tooltip_1bizk_1[data-iso=BR]{display:block}._base_1bizk_6:has(svg path[data-iso=GL]:hover)>._tooltip_1bizk_1[data-iso=GL]{display:block}._base_1bizk_6:has(svg path[data-iso=AU]:hover)>._tooltip_1bizk_1[data-iso=AU]{display:block}._base_1bizk_6:has(svg path[data-iso=IN]:hover)>._tooltip_1bizk_1[data-iso=IN]{display:block}._base_1bizk_6:has(svg path[data-iso=ID]:hover)>._tooltip_1bizk_1[data-iso=ID]{display:block}._base_1bizk_6:has(svg path[data-iso=AR]:hover)>._tooltip_1bizk_1[data-iso=AR]{display:block}._base_1bizk_6:has(svg path[data-iso=KZ]:hover)>._tooltip_1bizk_1[data-iso=KZ]{display:block}._base_1bizk_6:has(svg path[data-iso=MX]:hover)>._tooltip_1bizk_1[data-iso=MX]{display:block}._base_1bizk_6:has(svg path[data-iso=DZ]:hover)>._tooltip_1bizk_1[data-iso=DZ]{display:block}._base_1bizk_6:has(svg path[data-iso=CD]:hover)>._tooltip_1bizk_1[data-iso=CD]{display:block}._base_1bizk_6:has(svg path[data-iso=NO]:hover)>._tooltip_1bizk_1[data-iso=NO]{display:block}._base_1bizk_6:has(svg path[data-iso=MN]:hover)>._tooltip_1bizk_1[data-iso=MN]{display:block}._base_1bizk_6:has(svg path[data-iso=SA]:hover)>._tooltip_1bizk_1[data-iso=SA]{display:block}._base_1bizk_6:has(svg path[data-iso=CL]:hover)>._tooltip_1bizk_1[data-iso=CL]{display:block}._base_1bizk_6:has(svg path[data-iso=ES]:hover)>._tooltip_1bizk_1[data-iso=ES]{display:block}._base_1bizk_6:has(svg path[data-iso=IR]:hover)>._tooltip_1bizk_1[data-iso=IR]{display:block}._base_1bizk_6:has(svg path[data-iso=ML]:hover)>._tooltip_1bizk_1[data-iso=ML]{display:block}._base_1bizk_6:has(svg path[data-iso=PE]:hover)>._tooltip_1bizk_1[data-iso=PE]{display:block}._base_1bizk_6:has(svg path[data-iso=JP]:hover)>._tooltip_1bizk_1[data-iso=JP]{display:block}._base_1bizk_6:has(svg path[data-iso=PK]:hover)>._tooltip_1bizk_1[data-iso=PK]{display:block}._base_1bizk_6:has(svg path[data-iso=SD]:hover)>._tooltip_1bizk_1[data-iso=SD]{display:block}._base_1bizk_6:has(svg path[data-iso=LY]:hover)>._tooltip_1bizk_1[data-iso=LY]{display:block}._base_1bizk_6:has(svg path[data-iso=ZA]:hover)>._tooltip_1bizk_1[data-iso=ZA]{display:block}._base_1bizk_6:has(svg path[data-iso=CO]:hover)>._tooltip_1bizk_1[data-iso=CO]{display:block}._base_1bizk_6:has(svg path[data-iso=NE]:hover)>._tooltip_1bizk_1[data-iso=NE]{display:block}._base_1bizk_6:has(svg path[data-iso=SE]:hover)>._tooltip_1bizk_1[data-iso=SE]{display:block}._base_1bizk_6:has(svg path[data-iso=MM]:hover)>._tooltip_1bizk_1[data-iso=MM]{display:block}._base_1bizk_6:has(svg path[data-iso=BO]:hover)>._tooltip_1bizk_1[data-iso=BO]{display:block}._base_1bizk_6:has(svg path[data-iso=VE]:hover)>._tooltip_1bizk_1[data-iso=VE]{display:block}._base_1bizk_6:has(svg path[data-iso=MR]:hover)>._tooltip_1bizk_1[data-iso=MR]{display:block}._base_1bizk_6:has(svg path[data-iso=UA]:hover)>._tooltip_1bizk_1[data-iso=UA]{display:block}._base_1bizk_6:has(svg path[data-iso=SO]:hover)>._tooltip_1bizk_1[data-iso=SO]{display:block}._base_1bizk_6:has(svg path[data-iso=FR]:hover)>._tooltip_1bizk_1[data-iso=FR]{display:block}._base_1bizk_6:has(svg path[data-iso=NZ]:hover)>._tooltip_1bizk_1[data-iso=NZ]{display:block}._base_1bizk_6:has(svg path[data-iso=AF]:hover)>._tooltip_1bizk_1[data-iso=AF]{display:block}._base_1bizk_6:has(svg path[data-iso=IT]:hover)>._tooltip_1bizk_1[data-iso=IT]{display:block}._base_1bizk_6:has(svg path[data-iso=PG]:hover)>._tooltip_1bizk_1[data-iso=PG]{display:block}._base_1bizk_6:has(svg path[data-iso=PH]:hover)>._tooltip_1bizk_1[data-iso=PH]{display:block}._base_1bizk_6:has(svg path[data-iso=TZ]:hover)>._tooltip_1bizk_1[data-iso=TZ]{display:block}._base_1bizk_6:has(svg path[data-iso=TH]:hover)>._tooltip_1bizk_1[data-iso=TH]{display:block}._base_1bizk_6:has(svg path[data-iso=EG]:hover)>._tooltip_1bizk_1[data-iso=EG]{display:block}._base_1bizk_6:has(svg path[data-iso=TR]:hover)>._tooltip_1bizk_1[data-iso=TR]{display:block}._base_1bizk_6:has(svg path[data-iso=NG]:hover)>._tooltip_1bizk_1[data-iso=NG]{display:block}._base_1bizk_6:has(svg path[data-iso=ZM]:hover)>._tooltip_1bizk_1[data-iso=ZM]{display:block}._base_1bizk_6:has(svg path[data-iso=MY]:hover)>._tooltip_1bizk_1[data-iso=MY]{display:block}._base_1bizk_6:has(svg path[data-iso=FI]:hover)>._tooltip_1bizk_1[data-iso=FI]{display:block}._base_1bizk_6:has(svg path[data-iso=VN]:hover)>._tooltip_1bizk_1[data-iso=VN]{display:block}._base_1bizk_6:has(svg path[data-iso=TM]:hover)>._tooltip_1bizk_1[data-iso=TM]{display:block}._base_1bizk_6:has(svg path[data-iso=EC]:hover)>._tooltip_1bizk_1[data-iso=EC]{display:block}._base_1bizk_6:has(svg path[data-iso=MA]:hover)>._tooltip_1bizk_1[data-iso=MA]{display:block}._base_1bizk_6:has(svg path[data-iso=MG]:hover)>._tooltip_1bizk_1[data-iso=MG]{display:block}._base_1bizk_6:has(svg path[data-iso=KE]:hover)>._tooltip_1bizk_1[data-iso=KE]{display:block}._base_1bizk_6:has(svg path[data-iso=IQ]:hover)>._tooltip_1bizk_1[data-iso=IQ]{display:block}._base_1bizk_6:has(svg path[data-iso=PY]:hover)>._tooltip_1bizk_1[data-iso=PY]{display:block}._base_1bizk_6:has(svg path[data-iso=GB]:hover)>._tooltip_1bizk_1[data-iso=GB]{display:block}