Spaces:
Running
Running
David Pomerenke
commited on
Commit
·
867080c
1
Parent(s):
51a302e
Simple Plot map
Browse files- frontend/package-lock.json +516 -0
- frontend/package.json +2 -0
- frontend/public/LICENSE +1 -0
- frontend/public/countries-110m.json +0 -0
- frontend/public/un.topo.json +0 -0
- frontend/src/App.js +5 -22
- frontend/src/components/WorldMap.js +40 -53
frontend/package-lock.json
CHANGED
|
@@ -8,6 +8,7 @@
|
|
| 8 |
"name": "frontend",
|
| 9 |
"version": "0.1.0",
|
| 10 |
"dependencies": {
|
|
|
|
| 11 |
"@testing-library/dom": "^10.4.0",
|
| 12 |
"@testing-library/jest-dom": "^6.6.3",
|
| 13 |
"@testing-library/react": "^16.2.0",
|
|
@@ -17,6 +18,7 @@
|
|
| 17 |
"react": "^19.0.0",
|
| 18 |
"react-dom": "^19.0.0",
|
| 19 |
"react-scripts": "5.0.1",
|
|
|
|
| 20 |
"web-vitals": "^2.1.4"
|
| 21 |
}
|
| 22 |
},
|
|
@@ -3034,6 +3036,20 @@
|
|
| 3034 |
"node": ">= 8"
|
| 3035 |
}
|
| 3036 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3037 |
"node_modules/@pkgjs/parseargs": {
|
| 3038 |
"version": "0.11.0",
|
| 3039 |
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
|
@@ -5228,6 +5244,12 @@
|
|
| 5228 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 5229 |
}
|
| 5230 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5231 |
"node_modules/bluebird": {
|
| 5232 |
"version": "3.7.2",
|
| 5233 |
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
|
@@ -6390,6 +6412,416 @@
|
|
| 6390 |
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
| 6391 |
"license": "MIT"
|
| 6392 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6393 |
"node_modules/damerau-levenshtein": {
|
| 6394 |
"version": "1.0.8",
|
| 6395 |
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
|
|
@@ -6560,6 +6992,15 @@
|
|
| 6560 |
"url": "https://github.com/sponsors/ljharb"
|
| 6561 |
}
|
| 6562 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6563 |
"node_modules/delayed-stream": {
|
| 6564 |
"version": "1.0.0",
|
| 6565 |
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
@@ -9304,6 +9745,24 @@
|
|
| 9304 |
"node": ">= 0.4"
|
| 9305 |
}
|
| 9306 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9307 |
"node_modules/ipaddr.js": {
|
| 9308 |
"version": "2.2.0",
|
| 9309 |
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
|
|
@@ -9820,6 +10279,12 @@
|
|
| 9820 |
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
| 9821 |
"license": "ISC"
|
| 9822 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9823 |
"node_modules/istanbul-lib-coverage": {
|
| 9824 |
"version": "3.2.2",
|
| 9825 |
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
|
|
@@ -14463,6 +14928,12 @@
|
|
| 14463 |
"url": "https://github.com/sponsors/isaacs"
|
| 14464 |
}
|
| 14465 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14466 |
"node_modules/rollup": {
|
| 14467 |
"version": "2.79.2",
|
| 14468 |
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
|
|
@@ -14540,6 +15011,12 @@
|
|
| 14540 |
"queue-microtask": "^1.2.2"
|
| 14541 |
}
|
| 14542 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14543 |
"node_modules/safe-array-concat": {
|
| 14544 |
"version": "1.1.3",
|
| 14545 |
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
|
|
@@ -16190,6 +16667,45 @@
|
|
| 16190 |
"node": ">=0.6"
|
| 16191 |
}
|
| 16192 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16193 |
"node_modules/tough-cookie": {
|
| 16194 |
"version": "4.1.4",
|
| 16195 |
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
|
|
|
|
| 8 |
"name": "frontend",
|
| 9 |
"version": "0.1.0",
|
| 10 |
"dependencies": {
|
| 11 |
+
"@observablehq/plot": "^0.6.17",
|
| 12 |
"@testing-library/dom": "^10.4.0",
|
| 13 |
"@testing-library/jest-dom": "^6.6.3",
|
| 14 |
"@testing-library/react": "^16.2.0",
|
|
|
|
| 18 |
"react": "^19.0.0",
|
| 19 |
"react-dom": "^19.0.0",
|
| 20 |
"react-scripts": "5.0.1",
|
| 21 |
+
"topojson-simplify": "^3.0.3",
|
| 22 |
"web-vitals": "^2.1.4"
|
| 23 |
}
|
| 24 |
},
|
|
|
|
| 3036 |
"node": ">= 8"
|
| 3037 |
}
|
| 3038 |
},
|
| 3039 |
+
"node_modules/@observablehq/plot": {
|
| 3040 |
+
"version": "0.6.17",
|
| 3041 |
+
"resolved": "https://registry.npmjs.org/@observablehq/plot/-/plot-0.6.17.tgz",
|
| 3042 |
+
"integrity": "sha512-/qaXP/7mc4MUS0s4cPPFASDRjtsWp85/TbfsciqDgU1HwYixbSbbytNuInD8AcTYC3xaxACgVX06agdfQy9W+g==",
|
| 3043 |
+
"license": "ISC",
|
| 3044 |
+
"dependencies": {
|
| 3045 |
+
"d3": "^7.9.0",
|
| 3046 |
+
"interval-tree-1d": "^1.0.0",
|
| 3047 |
+
"isoformat": "^0.2.0"
|
| 3048 |
+
},
|
| 3049 |
+
"engines": {
|
| 3050 |
+
"node": ">=12"
|
| 3051 |
+
}
|
| 3052 |
+
},
|
| 3053 |
"node_modules/@pkgjs/parseargs": {
|
| 3054 |
"version": "0.11.0",
|
| 3055 |
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
|
|
|
| 5244 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 5245 |
}
|
| 5246 |
},
|
| 5247 |
+
"node_modules/binary-search-bounds": {
|
| 5248 |
+
"version": "2.0.5",
|
| 5249 |
+
"resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz",
|
| 5250 |
+
"integrity": "sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==",
|
| 5251 |
+
"license": "MIT"
|
| 5252 |
+
},
|
| 5253 |
"node_modules/bluebird": {
|
| 5254 |
"version": "3.7.2",
|
| 5255 |
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
|
|
|
| 6412 |
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
| 6413 |
"license": "MIT"
|
| 6414 |
},
|
| 6415 |
+
"node_modules/d3": {
|
| 6416 |
+
"version": "7.9.0",
|
| 6417 |
+
"resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz",
|
| 6418 |
+
"integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==",
|
| 6419 |
+
"license": "ISC",
|
| 6420 |
+
"dependencies": {
|
| 6421 |
+
"d3-array": "3",
|
| 6422 |
+
"d3-axis": "3",
|
| 6423 |
+
"d3-brush": "3",
|
| 6424 |
+
"d3-chord": "3",
|
| 6425 |
+
"d3-color": "3",
|
| 6426 |
+
"d3-contour": "4",
|
| 6427 |
+
"d3-delaunay": "6",
|
| 6428 |
+
"d3-dispatch": "3",
|
| 6429 |
+
"d3-drag": "3",
|
| 6430 |
+
"d3-dsv": "3",
|
| 6431 |
+
"d3-ease": "3",
|
| 6432 |
+
"d3-fetch": "3",
|
| 6433 |
+
"d3-force": "3",
|
| 6434 |
+
"d3-format": "3",
|
| 6435 |
+
"d3-geo": "3",
|
| 6436 |
+
"d3-hierarchy": "3",
|
| 6437 |
+
"d3-interpolate": "3",
|
| 6438 |
+
"d3-path": "3",
|
| 6439 |
+
"d3-polygon": "3",
|
| 6440 |
+
"d3-quadtree": "3",
|
| 6441 |
+
"d3-random": "3",
|
| 6442 |
+
"d3-scale": "4",
|
| 6443 |
+
"d3-scale-chromatic": "3",
|
| 6444 |
+
"d3-selection": "3",
|
| 6445 |
+
"d3-shape": "3",
|
| 6446 |
+
"d3-time": "3",
|
| 6447 |
+
"d3-time-format": "4",
|
| 6448 |
+
"d3-timer": "3",
|
| 6449 |
+
"d3-transition": "3",
|
| 6450 |
+
"d3-zoom": "3"
|
| 6451 |
+
},
|
| 6452 |
+
"engines": {
|
| 6453 |
+
"node": ">=12"
|
| 6454 |
+
}
|
| 6455 |
+
},
|
| 6456 |
+
"node_modules/d3-array": {
|
| 6457 |
+
"version": "3.2.4",
|
| 6458 |
+
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
|
| 6459 |
+
"integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
|
| 6460 |
+
"license": "ISC",
|
| 6461 |
+
"dependencies": {
|
| 6462 |
+
"internmap": "1 - 2"
|
| 6463 |
+
},
|
| 6464 |
+
"engines": {
|
| 6465 |
+
"node": ">=12"
|
| 6466 |
+
}
|
| 6467 |
+
},
|
| 6468 |
+
"node_modules/d3-axis": {
|
| 6469 |
+
"version": "3.0.0",
|
| 6470 |
+
"resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
|
| 6471 |
+
"integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
|
| 6472 |
+
"license": "ISC",
|
| 6473 |
+
"engines": {
|
| 6474 |
+
"node": ">=12"
|
| 6475 |
+
}
|
| 6476 |
+
},
|
| 6477 |
+
"node_modules/d3-brush": {
|
| 6478 |
+
"version": "3.0.0",
|
| 6479 |
+
"resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
|
| 6480 |
+
"integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
|
| 6481 |
+
"license": "ISC",
|
| 6482 |
+
"dependencies": {
|
| 6483 |
+
"d3-dispatch": "1 - 3",
|
| 6484 |
+
"d3-drag": "2 - 3",
|
| 6485 |
+
"d3-interpolate": "1 - 3",
|
| 6486 |
+
"d3-selection": "3",
|
| 6487 |
+
"d3-transition": "3"
|
| 6488 |
+
},
|
| 6489 |
+
"engines": {
|
| 6490 |
+
"node": ">=12"
|
| 6491 |
+
}
|
| 6492 |
+
},
|
| 6493 |
+
"node_modules/d3-chord": {
|
| 6494 |
+
"version": "3.0.1",
|
| 6495 |
+
"resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
|
| 6496 |
+
"integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
|
| 6497 |
+
"license": "ISC",
|
| 6498 |
+
"dependencies": {
|
| 6499 |
+
"d3-path": "1 - 3"
|
| 6500 |
+
},
|
| 6501 |
+
"engines": {
|
| 6502 |
+
"node": ">=12"
|
| 6503 |
+
}
|
| 6504 |
+
},
|
| 6505 |
+
"node_modules/d3-color": {
|
| 6506 |
+
"version": "3.1.0",
|
| 6507 |
+
"resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
|
| 6508 |
+
"integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
|
| 6509 |
+
"license": "ISC",
|
| 6510 |
+
"engines": {
|
| 6511 |
+
"node": ">=12"
|
| 6512 |
+
}
|
| 6513 |
+
},
|
| 6514 |
+
"node_modules/d3-contour": {
|
| 6515 |
+
"version": "4.0.2",
|
| 6516 |
+
"resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
|
| 6517 |
+
"integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
|
| 6518 |
+
"license": "ISC",
|
| 6519 |
+
"dependencies": {
|
| 6520 |
+
"d3-array": "^3.2.0"
|
| 6521 |
+
},
|
| 6522 |
+
"engines": {
|
| 6523 |
+
"node": ">=12"
|
| 6524 |
+
}
|
| 6525 |
+
},
|
| 6526 |
+
"node_modules/d3-delaunay": {
|
| 6527 |
+
"version": "6.0.4",
|
| 6528 |
+
"resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
|
| 6529 |
+
"integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
|
| 6530 |
+
"license": "ISC",
|
| 6531 |
+
"dependencies": {
|
| 6532 |
+
"delaunator": "5"
|
| 6533 |
+
},
|
| 6534 |
+
"engines": {
|
| 6535 |
+
"node": ">=12"
|
| 6536 |
+
}
|
| 6537 |
+
},
|
| 6538 |
+
"node_modules/d3-dispatch": {
|
| 6539 |
+
"version": "3.0.1",
|
| 6540 |
+
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
|
| 6541 |
+
"integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
|
| 6542 |
+
"license": "ISC",
|
| 6543 |
+
"engines": {
|
| 6544 |
+
"node": ">=12"
|
| 6545 |
+
}
|
| 6546 |
+
},
|
| 6547 |
+
"node_modules/d3-drag": {
|
| 6548 |
+
"version": "3.0.0",
|
| 6549 |
+
"resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
|
| 6550 |
+
"integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
|
| 6551 |
+
"license": "ISC",
|
| 6552 |
+
"dependencies": {
|
| 6553 |
+
"d3-dispatch": "1 - 3",
|
| 6554 |
+
"d3-selection": "3"
|
| 6555 |
+
},
|
| 6556 |
+
"engines": {
|
| 6557 |
+
"node": ">=12"
|
| 6558 |
+
}
|
| 6559 |
+
},
|
| 6560 |
+
"node_modules/d3-dsv": {
|
| 6561 |
+
"version": "3.0.1",
|
| 6562 |
+
"resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
|
| 6563 |
+
"integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
|
| 6564 |
+
"license": "ISC",
|
| 6565 |
+
"dependencies": {
|
| 6566 |
+
"commander": "7",
|
| 6567 |
+
"iconv-lite": "0.6",
|
| 6568 |
+
"rw": "1"
|
| 6569 |
+
},
|
| 6570 |
+
"bin": {
|
| 6571 |
+
"csv2json": "bin/dsv2json.js",
|
| 6572 |
+
"csv2tsv": "bin/dsv2dsv.js",
|
| 6573 |
+
"dsv2dsv": "bin/dsv2dsv.js",
|
| 6574 |
+
"dsv2json": "bin/dsv2json.js",
|
| 6575 |
+
"json2csv": "bin/json2dsv.js",
|
| 6576 |
+
"json2dsv": "bin/json2dsv.js",
|
| 6577 |
+
"json2tsv": "bin/json2dsv.js",
|
| 6578 |
+
"tsv2csv": "bin/dsv2dsv.js",
|
| 6579 |
+
"tsv2json": "bin/dsv2json.js"
|
| 6580 |
+
},
|
| 6581 |
+
"engines": {
|
| 6582 |
+
"node": ">=12"
|
| 6583 |
+
}
|
| 6584 |
+
},
|
| 6585 |
+
"node_modules/d3-dsv/node_modules/commander": {
|
| 6586 |
+
"version": "7.2.0",
|
| 6587 |
+
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
| 6588 |
+
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
| 6589 |
+
"license": "MIT",
|
| 6590 |
+
"engines": {
|
| 6591 |
+
"node": ">= 10"
|
| 6592 |
+
}
|
| 6593 |
+
},
|
| 6594 |
+
"node_modules/d3-ease": {
|
| 6595 |
+
"version": "3.0.1",
|
| 6596 |
+
"resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
|
| 6597 |
+
"integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
|
| 6598 |
+
"license": "BSD-3-Clause",
|
| 6599 |
+
"engines": {
|
| 6600 |
+
"node": ">=12"
|
| 6601 |
+
}
|
| 6602 |
+
},
|
| 6603 |
+
"node_modules/d3-fetch": {
|
| 6604 |
+
"version": "3.0.1",
|
| 6605 |
+
"resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
|
| 6606 |
+
"integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
|
| 6607 |
+
"license": "ISC",
|
| 6608 |
+
"dependencies": {
|
| 6609 |
+
"d3-dsv": "1 - 3"
|
| 6610 |
+
},
|
| 6611 |
+
"engines": {
|
| 6612 |
+
"node": ">=12"
|
| 6613 |
+
}
|
| 6614 |
+
},
|
| 6615 |
+
"node_modules/d3-force": {
|
| 6616 |
+
"version": "3.0.0",
|
| 6617 |
+
"resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
|
| 6618 |
+
"integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
|
| 6619 |
+
"license": "ISC",
|
| 6620 |
+
"dependencies": {
|
| 6621 |
+
"d3-dispatch": "1 - 3",
|
| 6622 |
+
"d3-quadtree": "1 - 3",
|
| 6623 |
+
"d3-timer": "1 - 3"
|
| 6624 |
+
},
|
| 6625 |
+
"engines": {
|
| 6626 |
+
"node": ">=12"
|
| 6627 |
+
}
|
| 6628 |
+
},
|
| 6629 |
+
"node_modules/d3-format": {
|
| 6630 |
+
"version": "3.1.0",
|
| 6631 |
+
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
|
| 6632 |
+
"integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
|
| 6633 |
+
"license": "ISC",
|
| 6634 |
+
"engines": {
|
| 6635 |
+
"node": ">=12"
|
| 6636 |
+
}
|
| 6637 |
+
},
|
| 6638 |
+
"node_modules/d3-geo": {
|
| 6639 |
+
"version": "3.1.1",
|
| 6640 |
+
"resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
|
| 6641 |
+
"integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
|
| 6642 |
+
"license": "ISC",
|
| 6643 |
+
"dependencies": {
|
| 6644 |
+
"d3-array": "2.5.0 - 3"
|
| 6645 |
+
},
|
| 6646 |
+
"engines": {
|
| 6647 |
+
"node": ">=12"
|
| 6648 |
+
}
|
| 6649 |
+
},
|
| 6650 |
+
"node_modules/d3-hierarchy": {
|
| 6651 |
+
"version": "3.1.2",
|
| 6652 |
+
"resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
|
| 6653 |
+
"integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
|
| 6654 |
+
"license": "ISC",
|
| 6655 |
+
"engines": {
|
| 6656 |
+
"node": ">=12"
|
| 6657 |
+
}
|
| 6658 |
+
},
|
| 6659 |
+
"node_modules/d3-interpolate": {
|
| 6660 |
+
"version": "3.0.1",
|
| 6661 |
+
"resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
|
| 6662 |
+
"integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
|
| 6663 |
+
"license": "ISC",
|
| 6664 |
+
"dependencies": {
|
| 6665 |
+
"d3-color": "1 - 3"
|
| 6666 |
+
},
|
| 6667 |
+
"engines": {
|
| 6668 |
+
"node": ">=12"
|
| 6669 |
+
}
|
| 6670 |
+
},
|
| 6671 |
+
"node_modules/d3-path": {
|
| 6672 |
+
"version": "3.1.0",
|
| 6673 |
+
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
|
| 6674 |
+
"integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
|
| 6675 |
+
"license": "ISC",
|
| 6676 |
+
"engines": {
|
| 6677 |
+
"node": ">=12"
|
| 6678 |
+
}
|
| 6679 |
+
},
|
| 6680 |
+
"node_modules/d3-polygon": {
|
| 6681 |
+
"version": "3.0.1",
|
| 6682 |
+
"resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
|
| 6683 |
+
"integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
|
| 6684 |
+
"license": "ISC",
|
| 6685 |
+
"engines": {
|
| 6686 |
+
"node": ">=12"
|
| 6687 |
+
}
|
| 6688 |
+
},
|
| 6689 |
+
"node_modules/d3-quadtree": {
|
| 6690 |
+
"version": "3.0.1",
|
| 6691 |
+
"resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
|
| 6692 |
+
"integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
|
| 6693 |
+
"license": "ISC",
|
| 6694 |
+
"engines": {
|
| 6695 |
+
"node": ">=12"
|
| 6696 |
+
}
|
| 6697 |
+
},
|
| 6698 |
+
"node_modules/d3-random": {
|
| 6699 |
+
"version": "3.0.1",
|
| 6700 |
+
"resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
|
| 6701 |
+
"integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
|
| 6702 |
+
"license": "ISC",
|
| 6703 |
+
"engines": {
|
| 6704 |
+
"node": ">=12"
|
| 6705 |
+
}
|
| 6706 |
+
},
|
| 6707 |
+
"node_modules/d3-scale": {
|
| 6708 |
+
"version": "4.0.2",
|
| 6709 |
+
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
|
| 6710 |
+
"integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
|
| 6711 |
+
"license": "ISC",
|
| 6712 |
+
"dependencies": {
|
| 6713 |
+
"d3-array": "2.10.0 - 3",
|
| 6714 |
+
"d3-format": "1 - 3",
|
| 6715 |
+
"d3-interpolate": "1.2.0 - 3",
|
| 6716 |
+
"d3-time": "2.1.1 - 3",
|
| 6717 |
+
"d3-time-format": "2 - 4"
|
| 6718 |
+
},
|
| 6719 |
+
"engines": {
|
| 6720 |
+
"node": ">=12"
|
| 6721 |
+
}
|
| 6722 |
+
},
|
| 6723 |
+
"node_modules/d3-scale-chromatic": {
|
| 6724 |
+
"version": "3.1.0",
|
| 6725 |
+
"resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
|
| 6726 |
+
"integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
|
| 6727 |
+
"license": "ISC",
|
| 6728 |
+
"dependencies": {
|
| 6729 |
+
"d3-color": "1 - 3",
|
| 6730 |
+
"d3-interpolate": "1 - 3"
|
| 6731 |
+
},
|
| 6732 |
+
"engines": {
|
| 6733 |
+
"node": ">=12"
|
| 6734 |
+
}
|
| 6735 |
+
},
|
| 6736 |
+
"node_modules/d3-selection": {
|
| 6737 |
+
"version": "3.0.0",
|
| 6738 |
+
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
|
| 6739 |
+
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
|
| 6740 |
+
"license": "ISC",
|
| 6741 |
+
"engines": {
|
| 6742 |
+
"node": ">=12"
|
| 6743 |
+
}
|
| 6744 |
+
},
|
| 6745 |
+
"node_modules/d3-shape": {
|
| 6746 |
+
"version": "3.2.0",
|
| 6747 |
+
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
|
| 6748 |
+
"integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
|
| 6749 |
+
"license": "ISC",
|
| 6750 |
+
"dependencies": {
|
| 6751 |
+
"d3-path": "^3.1.0"
|
| 6752 |
+
},
|
| 6753 |
+
"engines": {
|
| 6754 |
+
"node": ">=12"
|
| 6755 |
+
}
|
| 6756 |
+
},
|
| 6757 |
+
"node_modules/d3-time": {
|
| 6758 |
+
"version": "3.1.0",
|
| 6759 |
+
"resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
|
| 6760 |
+
"integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
|
| 6761 |
+
"license": "ISC",
|
| 6762 |
+
"dependencies": {
|
| 6763 |
+
"d3-array": "2 - 3"
|
| 6764 |
+
},
|
| 6765 |
+
"engines": {
|
| 6766 |
+
"node": ">=12"
|
| 6767 |
+
}
|
| 6768 |
+
},
|
| 6769 |
+
"node_modules/d3-time-format": {
|
| 6770 |
+
"version": "4.1.0",
|
| 6771 |
+
"resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
|
| 6772 |
+
"integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
|
| 6773 |
+
"license": "ISC",
|
| 6774 |
+
"dependencies": {
|
| 6775 |
+
"d3-time": "1 - 3"
|
| 6776 |
+
},
|
| 6777 |
+
"engines": {
|
| 6778 |
+
"node": ">=12"
|
| 6779 |
+
}
|
| 6780 |
+
},
|
| 6781 |
+
"node_modules/d3-timer": {
|
| 6782 |
+
"version": "3.0.1",
|
| 6783 |
+
"resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
|
| 6784 |
+
"integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
|
| 6785 |
+
"license": "ISC",
|
| 6786 |
+
"engines": {
|
| 6787 |
+
"node": ">=12"
|
| 6788 |
+
}
|
| 6789 |
+
},
|
| 6790 |
+
"node_modules/d3-transition": {
|
| 6791 |
+
"version": "3.0.1",
|
| 6792 |
+
"resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
|
| 6793 |
+
"integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
|
| 6794 |
+
"license": "ISC",
|
| 6795 |
+
"dependencies": {
|
| 6796 |
+
"d3-color": "1 - 3",
|
| 6797 |
+
"d3-dispatch": "1 - 3",
|
| 6798 |
+
"d3-ease": "1 - 3",
|
| 6799 |
+
"d3-interpolate": "1 - 3",
|
| 6800 |
+
"d3-timer": "1 - 3"
|
| 6801 |
+
},
|
| 6802 |
+
"engines": {
|
| 6803 |
+
"node": ">=12"
|
| 6804 |
+
},
|
| 6805 |
+
"peerDependencies": {
|
| 6806 |
+
"d3-selection": "2 - 3"
|
| 6807 |
+
}
|
| 6808 |
+
},
|
| 6809 |
+
"node_modules/d3-zoom": {
|
| 6810 |
+
"version": "3.0.0",
|
| 6811 |
+
"resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
|
| 6812 |
+
"integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
|
| 6813 |
+
"license": "ISC",
|
| 6814 |
+
"dependencies": {
|
| 6815 |
+
"d3-dispatch": "1 - 3",
|
| 6816 |
+
"d3-drag": "2 - 3",
|
| 6817 |
+
"d3-interpolate": "1 - 3",
|
| 6818 |
+
"d3-selection": "2 - 3",
|
| 6819 |
+
"d3-transition": "2 - 3"
|
| 6820 |
+
},
|
| 6821 |
+
"engines": {
|
| 6822 |
+
"node": ">=12"
|
| 6823 |
+
}
|
| 6824 |
+
},
|
| 6825 |
"node_modules/damerau-levenshtein": {
|
| 6826 |
"version": "1.0.8",
|
| 6827 |
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
|
|
|
|
| 6992 |
"url": "https://github.com/sponsors/ljharb"
|
| 6993 |
}
|
| 6994 |
},
|
| 6995 |
+
"node_modules/delaunator": {
|
| 6996 |
+
"version": "5.0.1",
|
| 6997 |
+
"resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
|
| 6998 |
+
"integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
|
| 6999 |
+
"license": "ISC",
|
| 7000 |
+
"dependencies": {
|
| 7001 |
+
"robust-predicates": "^3.0.2"
|
| 7002 |
+
}
|
| 7003 |
+
},
|
| 7004 |
"node_modules/delayed-stream": {
|
| 7005 |
"version": "1.0.0",
|
| 7006 |
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
|
|
| 9745 |
"node": ">= 0.4"
|
| 9746 |
}
|
| 9747 |
},
|
| 9748 |
+
"node_modules/internmap": {
|
| 9749 |
+
"version": "2.0.3",
|
| 9750 |
+
"resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
|
| 9751 |
+
"integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
|
| 9752 |
+
"license": "ISC",
|
| 9753 |
+
"engines": {
|
| 9754 |
+
"node": ">=12"
|
| 9755 |
+
}
|
| 9756 |
+
},
|
| 9757 |
+
"node_modules/interval-tree-1d": {
|
| 9758 |
+
"version": "1.0.4",
|
| 9759 |
+
"resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.4.tgz",
|
| 9760 |
+
"integrity": "sha512-wY8QJH+6wNI0uh4pDQzMvl+478Qh7Rl4qLmqiluxALlNvl+I+o5x38Pw3/z7mDPTPS1dQalZJXsmbvxx5gclhQ==",
|
| 9761 |
+
"license": "MIT",
|
| 9762 |
+
"dependencies": {
|
| 9763 |
+
"binary-search-bounds": "^2.0.0"
|
| 9764 |
+
}
|
| 9765 |
+
},
|
| 9766 |
"node_modules/ipaddr.js": {
|
| 9767 |
"version": "2.2.0",
|
| 9768 |
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
|
|
|
|
| 10279 |
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
| 10280 |
"license": "ISC"
|
| 10281 |
},
|
| 10282 |
+
"node_modules/isoformat": {
|
| 10283 |
+
"version": "0.2.1",
|
| 10284 |
+
"resolved": "https://registry.npmjs.org/isoformat/-/isoformat-0.2.1.tgz",
|
| 10285 |
+
"integrity": "sha512-tFLRAygk9NqrRPhJSnNGh7g7oaVWDwR0wKh/GM2LgmPa50Eg4UfyaCO4I8k6EqJHl1/uh2RAD6g06n5ygEnrjQ==",
|
| 10286 |
+
"license": "ISC"
|
| 10287 |
+
},
|
| 10288 |
"node_modules/istanbul-lib-coverage": {
|
| 10289 |
"version": "3.2.2",
|
| 10290 |
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
|
|
|
|
| 14928 |
"url": "https://github.com/sponsors/isaacs"
|
| 14929 |
}
|
| 14930 |
},
|
| 14931 |
+
"node_modules/robust-predicates": {
|
| 14932 |
+
"version": "3.0.2",
|
| 14933 |
+
"resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
|
| 14934 |
+
"integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
|
| 14935 |
+
"license": "Unlicense"
|
| 14936 |
+
},
|
| 14937 |
"node_modules/rollup": {
|
| 14938 |
"version": "2.79.2",
|
| 14939 |
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
|
|
|
|
| 15011 |
"queue-microtask": "^1.2.2"
|
| 15012 |
}
|
| 15013 |
},
|
| 15014 |
+
"node_modules/rw": {
|
| 15015 |
+
"version": "1.3.3",
|
| 15016 |
+
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
|
| 15017 |
+
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
|
| 15018 |
+
"license": "BSD-3-Clause"
|
| 15019 |
+
},
|
| 15020 |
"node_modules/safe-array-concat": {
|
| 15021 |
"version": "1.1.3",
|
| 15022 |
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
|
|
|
|
| 16667 |
"node": ">=0.6"
|
| 16668 |
}
|
| 16669 |
},
|
| 16670 |
+
"node_modules/topojson-client": {
|
| 16671 |
+
"version": "3.1.0",
|
| 16672 |
+
"resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
|
| 16673 |
+
"integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
|
| 16674 |
+
"license": "ISC",
|
| 16675 |
+
"dependencies": {
|
| 16676 |
+
"commander": "2"
|
| 16677 |
+
},
|
| 16678 |
+
"bin": {
|
| 16679 |
+
"topo2geo": "bin/topo2geo",
|
| 16680 |
+
"topomerge": "bin/topomerge",
|
| 16681 |
+
"topoquantize": "bin/topoquantize"
|
| 16682 |
+
}
|
| 16683 |
+
},
|
| 16684 |
+
"node_modules/topojson-client/node_modules/commander": {
|
| 16685 |
+
"version": "2.20.3",
|
| 16686 |
+
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
| 16687 |
+
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
| 16688 |
+
"license": "MIT"
|
| 16689 |
+
},
|
| 16690 |
+
"node_modules/topojson-simplify": {
|
| 16691 |
+
"version": "3.0.3",
|
| 16692 |
+
"resolved": "https://registry.npmjs.org/topojson-simplify/-/topojson-simplify-3.0.3.tgz",
|
| 16693 |
+
"integrity": "sha512-V+pBjLVzSQ3+hSOxBiV01OVXgFiCmMO8ia3huxKEyIMTC1ApQHBcdXdOqcQ6U2JJJD31TZduwY6KyF15R8sUgg==",
|
| 16694 |
+
"license": "ISC",
|
| 16695 |
+
"dependencies": {
|
| 16696 |
+
"commander": "2",
|
| 16697 |
+
"topojson-client": "3"
|
| 16698 |
+
},
|
| 16699 |
+
"bin": {
|
| 16700 |
+
"toposimplify": "bin/toposimplify"
|
| 16701 |
+
}
|
| 16702 |
+
},
|
| 16703 |
+
"node_modules/topojson-simplify/node_modules/commander": {
|
| 16704 |
+
"version": "2.20.3",
|
| 16705 |
+
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
| 16706 |
+
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
| 16707 |
+
"license": "MIT"
|
| 16708 |
+
},
|
| 16709 |
"node_modules/tough-cookie": {
|
| 16710 |
"version": "4.1.4",
|
| 16711 |
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
|
frontend/package.json
CHANGED
|
@@ -3,6 +3,7 @@
|
|
| 3 |
"version": "0.1.0",
|
| 4 |
"private": true,
|
| 5 |
"dependencies": {
|
|
|
|
| 6 |
"@testing-library/dom": "^10.4.0",
|
| 7 |
"@testing-library/jest-dom": "^6.6.3",
|
| 8 |
"@testing-library/react": "^16.2.0",
|
|
@@ -12,6 +13,7 @@
|
|
| 12 |
"react": "^19.0.0",
|
| 13 |
"react-dom": "^19.0.0",
|
| 14 |
"react-scripts": "5.0.1",
|
|
|
|
| 15 |
"web-vitals": "^2.1.4"
|
| 16 |
},
|
| 17 |
"scripts": {
|
|
|
|
| 3 |
"version": "0.1.0",
|
| 4 |
"private": true,
|
| 5 |
"dependencies": {
|
| 6 |
+
"@observablehq/plot": "^0.6.17",
|
| 7 |
"@testing-library/dom": "^10.4.0",
|
| 8 |
"@testing-library/jest-dom": "^6.6.3",
|
| 9 |
"@testing-library/react": "^16.2.0",
|
|
|
|
| 13 |
"react": "^19.0.0",
|
| 14 |
"react-dom": "^19.0.0",
|
| 15 |
"react-scripts": "5.0.1",
|
| 16 |
+
"topojson-simplify": "^3.0.3",
|
| 17 |
"web-vitals": "^2.1.4"
|
| 18 |
},
|
| 19 |
"scripts": {
|
frontend/public/LICENSE
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
un.*.json: https://geoportal.un.org/arcgis/apps/sites/#/geohub/datasets/d7caaff3ef4b4f7c82689b7c4694ad92/about
|
frontend/public/countries-110m.json
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
frontend/public/un.topo.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
frontend/src/App.js
CHANGED
|
@@ -13,7 +13,6 @@ function App () {
|
|
| 13 |
const [error, setError] = useState(null)
|
| 14 |
const [allSuggestions, setAllSuggestions] = useState([])
|
| 15 |
const [filters, setFilters] = useState([])
|
| 16 |
-
const [topology, setTopology] = useState(null)
|
| 17 |
useEffect(() => {
|
| 18 |
fetch('/results.json')
|
| 19 |
.then(response => {
|
|
@@ -32,22 +31,6 @@ function App () {
|
|
| 32 |
})
|
| 33 |
}, [])
|
| 34 |
|
| 35 |
-
useEffect(() => {
|
| 36 |
-
fetch('/countries-110m.json')
|
| 37 |
-
.then(response => {
|
| 38 |
-
if (!response.ok) {
|
| 39 |
-
throw new Error('Network response was not ok')
|
| 40 |
-
}
|
| 41 |
-
return response.json()
|
| 42 |
-
})
|
| 43 |
-
.then(jsonData => {
|
| 44 |
-
setTopology(jsonData)
|
| 45 |
-
})
|
| 46 |
-
.catch(err => {
|
| 47 |
-
setError(err.message)
|
| 48 |
-
setLoading(false)
|
| 49 |
-
})
|
| 50 |
-
}, [])
|
| 51 |
useEffect(() => {
|
| 52 |
if (data) {
|
| 53 |
const models = data.model_table.map(item => ({ type: 'Model', value: item.model, detail: item.provider, searchText: item.provider.toLowerCase() + ' ' + item.model.toLowerCase() }))
|
|
@@ -105,15 +88,15 @@ function App () {
|
|
| 105 |
{data && (
|
| 106 |
<>
|
| 107 |
<div
|
|
|
|
| 108 |
style={{
|
| 109 |
flex: '100vw 100vw 100vw',
|
| 110 |
-
maxWidth: 'min(100vw,
|
| 111 |
-
|
|
|
|
| 112 |
}}
|
| 113 |
>
|
| 114 |
-
|
| 115 |
-
<WorldMap data={data} topology={topology} />
|
| 116 |
-
</div>
|
| 117 |
</div>
|
| 118 |
<div
|
| 119 |
style={{
|
|
|
|
| 13 |
const [error, setError] = useState(null)
|
| 14 |
const [allSuggestions, setAllSuggestions] = useState([])
|
| 15 |
const [filters, setFilters] = useState([])
|
|
|
|
| 16 |
useEffect(() => {
|
| 17 |
fetch('/results.json')
|
| 18 |
.then(response => {
|
|
|
|
| 31 |
})
|
| 32 |
}, [])
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
useEffect(() => {
|
| 35 |
if (data) {
|
| 36 |
const models = data.model_table.map(item => ({ type: 'Model', value: item.model, detail: item.provider, searchText: item.provider.toLowerCase() + ' ' + item.model.toLowerCase() }))
|
|
|
|
| 88 |
{data && (
|
| 89 |
<>
|
| 90 |
<div
|
| 91 |
+
id='figure'
|
| 92 |
style={{
|
| 93 |
flex: '100vw 100vw 100vw',
|
| 94 |
+
maxWidth: 'min(100vw, 800px)',
|
| 95 |
+
alignItems: 'center',
|
| 96 |
+
justifyContent: 'center',
|
| 97 |
}}
|
| 98 |
>
|
| 99 |
+
<WorldMap data={data} />
|
|
|
|
|
|
|
| 100 |
</div>
|
| 101 |
<div
|
| 102 |
style={{
|
frontend/src/components/WorldMap.js
CHANGED
|
@@ -1,58 +1,45 @@
|
|
| 1 |
-
import { useRef, useEffect } from 'react'
|
| 2 |
-
import * as
|
| 3 |
-
import
|
| 4 |
|
| 5 |
-
const WorldMap = (
|
| 6 |
-
const
|
|
|
|
| 7 |
|
| 8 |
useEffect(() => {
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
// Set dimensions
|
| 14 |
-
const width = 800;
|
| 15 |
-
const height = 450;
|
| 16 |
-
|
| 17 |
-
// Create SVG
|
| 18 |
-
const svg = d3.select(svgRef.current)
|
| 19 |
-
.attr("width", width)
|
| 20 |
-
.attr("height", height)
|
| 21 |
-
.attr("viewBox", [0, 0, width, height])
|
| 22 |
-
.attr("style", "max-width: 100%; height: auto;");
|
| 23 |
-
|
| 24 |
-
// Create a projection
|
| 25 |
-
const projection = d3.geoNaturalEarth1()
|
| 26 |
-
.scale(width / 2 / Math.PI)
|
| 27 |
-
.translate([width / 2, height / 2]);
|
| 28 |
-
|
| 29 |
-
// Create a path generator
|
| 30 |
-
const path = d3.geoPath()
|
| 31 |
-
.projection(projection);
|
| 32 |
-
|
| 33 |
-
// Convert TopoJSON to GeoJSON
|
| 34 |
-
const countries = feature(topology, topology.objects.countries);
|
| 35 |
-
|
| 36 |
-
// Draw the map
|
| 37 |
-
svg.append("g")
|
| 38 |
-
.selectAll("path")
|
| 39 |
-
.data(countries.features)
|
| 40 |
-
.join("path")
|
| 41 |
-
.attr("fill", "#ccc") // Grey background
|
| 42 |
-
.attr("d", path)
|
| 43 |
-
.attr("stroke", "#fff")
|
| 44 |
-
.attr("stroke-width", 0.5);
|
| 45 |
-
};
|
| 46 |
-
|
| 47 |
-
createMap();
|
| 48 |
-
}, [data, topology]);
|
| 49 |
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
|
| 58 |
-
export default WorldMap
|
|
|
|
| 1 |
+
import { useRef, useEffect, useState } from 'react'
|
| 2 |
+
import * as topojson from 'topojson-client'
|
| 3 |
+
import * as Plot from '@observablehq/plot'
|
| 4 |
|
| 5 |
+
const WorldMap = () => {
|
| 6 |
+
const containerRef = useRef()
|
| 7 |
+
const [data, setData] = useState()
|
| 8 |
|
| 9 |
useEffect(() => {
|
| 10 |
+
fetch('/un.topo.json')
|
| 11 |
+
.then(res => res.json())
|
| 12 |
+
.then(setData)
|
| 13 |
+
}, [])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
+
useEffect(() => {
|
| 16 |
+
if (data === undefined) return
|
| 17 |
+
// const plot = Plot.plot({
|
| 18 |
+
// y: {grid: true},
|
| 19 |
+
// color: {scheme: "burd"},
|
| 20 |
+
// marks: [
|
| 21 |
+
// Plot.ruleY([0]),
|
| 22 |
+
// Plot.dot(data, {x: "Date", y: "Anomaly", stroke: "Anomaly"})
|
| 23 |
+
// ]
|
| 24 |
+
// });
|
| 25 |
+
const countries = topojson.feature(data, data.objects.un)
|
| 26 |
+
const plot = Plot.plot({
|
| 27 |
+
width: 750,
|
| 28 |
+
height: 400,
|
| 29 |
+
projection: 'equal-earth',
|
| 30 |
+
marks: [
|
| 31 |
+
Plot.geo(countries, {
|
| 32 |
+
// fill: d => console.log(d.properties?.iso2cd),
|
| 33 |
+
// title: d => d.properties?.iso2cd
|
| 34 |
+
// tip: true
|
| 35 |
+
})
|
| 36 |
+
]
|
| 37 |
+
})
|
| 38 |
+
containerRef.current.append(plot)
|
| 39 |
+
return () => plot.remove()
|
| 40 |
+
}, [data])
|
| 41 |
+
|
| 42 |
+
return <svg ref={containerRef} style={{ width: '100%', height: '100%' }} />
|
| 43 |
+
}
|
| 44 |
|
| 45 |
+
export default WorldMap
|