From 01e18988457bb36d7ef08edca89955b5c1b621cd Mon Sep 17 00:00:00 2001 From: BeroBurny Date: Tue, 27 Aug 2024 13:25:48 +0200 Subject: [PATCH 1/3] implement dynamic component for displaying networks and connections --- docs/package.json | 15 +- .../src/components/SankeyNetworkToken/data.ts | 41 + .../components/SankeyNetworkToken/index.tsx | 152 +++ yarn.lock | 1125 +++++++++++++---- 4 files changed, 1116 insertions(+), 217 deletions(-) create mode 100644 docs/src/components/SankeyNetworkToken/data.ts create mode 100644 docs/src/components/SankeyNetworkToken/index.tsx diff --git a/docs/package.json b/docs/package.json index 789cb02..c517f8f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -15,19 +15,24 @@ "typecheck": "tsc" }, "dependencies": { + "@chainsafe/sprinter-sdk": "workspace:^", "@cmfcmf/docusaurus-search-local": "latest", - "@docusaurus/core": "3.4.0", - "@docusaurus/preset-classic": "3.4.0", + "@docusaurus/core": "^3.5.2", + "@docusaurus/preset-classic": "^3.5.2", "@mdx-js/react": "^3.0.1", "clsx": "^2.1.1", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", "prism-react-renderer": "^2.3.1", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/tsconfig": "3.4.0", - "@docusaurus/types": "3.4.0", + "@docusaurus/module-type-aliases": "^3.5.2", + "@docusaurus/tsconfig": "^3.5.2", + "@docusaurus/types": "^3.5.2", + "@types/d3": "^7", + "@types/d3-sankey": "^0", "typescript": "~5.2.2" }, "browserslist": { diff --git a/docs/src/components/SankeyNetworkToken/data.ts b/docs/src/components/SankeyNetworkToken/data.ts new file mode 100644 index 0000000..19eee78 --- /dev/null +++ b/docs/src/components/SankeyNetworkToken/data.ts @@ -0,0 +1,41 @@ +import {getChainTokens, getFungibleTokens, getSupportedChains} from "@chainsafe/sprinter-sdk/dist/api"; + +export async function getData(url: string) { + const chains= await getSupportedChains(); + const leftNodes = chains.map(({ name, logoURI }) => ({ id: name, img: logoURI })); + const leftNodesLength = leftNodes.length; + + const tokens = await getFungibleTokens(); + const rightNodes = tokens.map(({ name, logoURI }) => ({ id: name, img: logoURI })); + const rightNodesLength = rightNodes.length; + + const connections = await Promise.all(chains.map(async ({ chainID, name }) => ({ tokens: (await getChainTokens(chainID)), network: name }))); + const links = []; + + console.log(leftNodes, rightNodes); + + connections.forEach((networkTokens) => { + const source = leftNodes.findIndex(({ id }) => networkTokens.network === id); + + console.log(source, networkTokens.tokens.length); + + if (source === -1) return; + networkTokens.tokens.forEach((token) => { + const target = rightNodes.findIndex(({ id }) => token.name === id); + if (target === -1) return; + + links.push({source, target: target + leftNodesLength, value: 1}); + }); + }); + + console.log(links); + + return { + data: { + nodes: [...leftNodes, ...rightNodes], + links, + }, + leftNodes, leftNodesLength, + rightNodes, rightNodesLength, + } +} diff --git a/docs/src/components/SankeyNetworkToken/index.tsx b/docs/src/components/SankeyNetworkToken/index.tsx new file mode 100644 index 0000000..60b0c70 --- /dev/null +++ b/docs/src/components/SankeyNetworkToken/index.tsx @@ -0,0 +1,152 @@ +import React, { useEffect, useRef } from 'react'; +import * as d3 from 'd3'; +import { sankey as d3Sankey } from 'd3-sankey'; +import {getData} from "./data"; + +type SankeyNetworkTokenProps = { + url: string; +}; + +export default function SankeyNetworkToken({ url }: SankeyNetworkTokenProps) { + const svgRef = useRef(); + + useEffect(() => { + getData("https://api.test.sprinter.buildwithsygma.com/").then((({ data, leftNodes: ln, rightNodes: rn, leftNodesLength, rightNodesLength }) => { + const svgWidth = 350; + const svgHeight = Math.max(leftNodesLength, rightNodesLength) * 100 + 50; + + + const svg = d3.select(svgRef.current) + .attr('width', svgWidth) + .attr('height', svgHeight); + + // guideline in the middle + svg.append('line') + .attr('x1', svgWidth / 2) + .attr('y1', 25) + .attr('x2', svgWidth / 2) + .attr('y2', svgHeight) + .attr('stroke', 'rgba(0,0,0,0.72)') + .attr('stroke-width', 1) + .attr('stroke-dasharray', '5,5') + .style('opacity', 0.33); // Adjusted to 0.33 opacity + + const sankey = d3Sankey() + .nodeWidth(50) // Increased node width to 50 units + .nodePadding(15) // Maintain padding between nodes + .extent([[50, 50], [300, 598]]); // Adjusted extent to bring nodes closer to the center + + let { nodes, links } = sankey({ + nodes: data.nodes.map(d => Object.assign({}, d)), + links: data.links.map(d => Object.assign({}, d)), + }); + + // Calculate positions for the labels based on node positions + const networkLabelX = nodes.find(d => d.id === ln[0].id).x0 + 25; // Find the x-position of the first network node and center the label + const tokensLabelX = nodes.find(d => d.id === rn[0].id).x0 + 25; // Find the x-position of the first token node and center the label + + // Add labels "Network" and "Tokens" above the chart as column labels + svg.append('text') + .attr('x', networkLabelX) + .attr('y', 30) + .attr('text-anchor', 'middle') + .attr('font-size', '16px') + .attr('font-weight', 'bold') + .text('Network'); + + svg.append('text') + .attr('x', tokensLabelX) + .attr('y', 30) + .attr('text-anchor', 'middle') + .attr('font-size', '16px') + .attr('font-weight', 'bold') + .text('Tokens'); + + // Adjust the y positions of left-side nodes (AA, BB, CC) + const leftNodes = nodes.filter(d => ln.map(({ id }) => id).includes(d.id)); + leftNodes.forEach((node, index) => { + node.y0 = 60 + index * 100; // Adjust y0 to stack the nodes properly + node.y1 = node.y0 + 90; // Node height remains the same + }); + + // Adjust the y positions of right-side nodes (NA, NB, NC, ND) + const rightNodes = nodes.filter(d => rn.map(({ id }) => id).includes(d.id)); + rightNodes.forEach((node, index) => { + node.y0 = 60 + index * 100; // Adjust y0 to align with the left-side nodes + node.y1 = node.y0 + 90; // Node height remains the same + }); + + // Group nodes and labels together + const nodeGroup = svg.append('g') + .selectAll('g') + .data(nodes) + .enter().append('g') + .attr('transform', d => `translate(${d.x0}, ${d.y0})`) + .on('mouseover', handleMouseOver) + .on('mouseout', handleMouseOut); + + // Draw the nodes + nodeGroup.append('rect') + .attr('x', 0) + .attr('y', 0) + .attr('height', 90) // Node height remains the same + .attr('width', 50) // Node width set to 50 units + .attr('fill', d => d.color = "rgba(124,240,10,0)") + + // Add labels (image + text) directly on top of the nodes + nodeGroup.each(function (d) { + const g = d3.select(this); + + // Add image centered horizontally within the node + g.append('image') + .attr('xlink:href', d.img) + .attr('width', 45) // Image size + .attr('height', 45) + .attr('x', 2.5) // Center the image horizontally within the node + .attr('y', 5); // Position image near the top of the node + + // Add text below the image, also centered + g.append('text') + .attr('x', 25) // Center the text horizontally within the node + .attr('y', 75) // Position text near the bottom of the node + .attr('text-anchor', 'middle') + .attr('fill', '#000') + .attr('font-size', '15px') // Font size + .text(d.id); + }); + + // Custom link generator to converge all links at a single point vertically aligned with target node + const linkPath = d3.linkHorizontal() + .source(d => [d.source.x1, ((d.source.y1 + d.source.y0) / 2) - 15]) + .target(d => [d.target.x0, ((d.target.y1 + d.target.y0) / 2) - 15]) // Converge to the center of the target node + .x(d => d[0]) + .y(d => d[1]); + + // Draw the links with uniform height + const linkGroup = svg.append('g') + .attr('fill', 'none') + .selectAll('path') + .data(links) + .enter().append('path') + .attr('d', linkPath) + .attr('stroke', d => "rgba(0,0,0,0.87)") + .attr('stroke-width', 5) // Link width remains the same + .attr('class', 'link') + .style('stroke-opacity', 0); // Initially visible for clarity + + function handleMouseOver(event, node) { + linkGroup + .filter(l => l.source === node || l.target === node) + .style('stroke-opacity', 0.7); // Show links on hover + } + + function handleMouseOut(event, node) { + linkGroup + .style('stroke-opacity', 0); // Hide links when not hovering + } + + })) + }, []); + + return ; +} diff --git a/yarn.lock b/yarn.lock index 832a446..0c21a60 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1933,9 +1933,9 @@ __metadata: languageName: node linkType: hard -"@docusaurus/core@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/core@npm:3.4.0" +"@docusaurus/core@npm:3.5.2, @docusaurus/core@npm:^3.5.2": + version: 3.5.2 + resolution: "@docusaurus/core@npm:3.5.2" dependencies: "@babel/core": "npm:^7.23.3" "@babel/generator": "npm:^7.23.3" @@ -1947,12 +1947,12 @@ __metadata: "@babel/runtime": "npm:^7.22.6" "@babel/runtime-corejs3": "npm:^7.22.6" "@babel/traverse": "npm:^7.22.8" - "@docusaurus/cssnano-preset": "npm:3.4.0" - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/mdx-loader": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + "@docusaurus/cssnano-preset": "npm:3.5.2" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/mdx-loader": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" autoprefixer: "npm:^10.4.14" babel-loader: "npm:^9.1.3" babel-plugin-dynamic-import-node: "npm:^2.3.3" @@ -2006,43 +2006,44 @@ __metadata: webpack-merge: "npm:^5.9.0" webpackbar: "npm:^5.0.2" peerDependencies: + "@mdx-js/react": ^3.0.0 react: ^18.0.0 react-dom: ^18.0.0 bin: docusaurus: bin/docusaurus.mjs - checksum: 10c0/28a9d2c4c893930e7fa7bbf5df2aed79a5cdc618c9f40d5b867846cb78ee371a52af41a59c6adf677cd480cb4350dfad4866de4b06928b4169c295c601472867 + checksum: 10c0/0868fc7cfbc38e7d927d60e927abf883fe442fe723123a58425a5402905a48bfb57b4e59ff555944af54ad3be462380d43e0f737989f6f300f11df2ca29d0498 languageName: node linkType: hard -"@docusaurus/cssnano-preset@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/cssnano-preset@npm:3.4.0" +"@docusaurus/cssnano-preset@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/cssnano-preset@npm:3.5.2" dependencies: cssnano-preset-advanced: "npm:^6.1.2" postcss: "npm:^8.4.38" postcss-sort-media-queries: "npm:^5.2.0" tslib: "npm:^2.6.0" - checksum: 10c0/bcbdfb9d34d8b26bf89c8e414f5fc775bae5c12a0c280064a8aaf30c7260ffb760dee5ce86171f87cf4dcdeddb39a815ebfc6bdfd5ec14fb26c5cb340c51af55 + checksum: 10c0/10fd97d66aa7973d86322ac205978edc18636e13dc1f5eb7e6fca5169c4203660bd958f2a483a2b1639d05c1878f5d0eb5f07676eee5d5aa3b71b417d35fa42a languageName: node linkType: hard -"@docusaurus/logger@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/logger@npm:3.4.0" +"@docusaurus/logger@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/logger@npm:3.5.2" dependencies: chalk: "npm:^4.1.2" tslib: "npm:^2.6.0" - checksum: 10c0/0759eee9bc01cf0c16da70ccd0cd3363e649f00bb6d04595bf436a4d40235b6f78d6d18f8a5499244693f067a708e3fb3126c122c01b1c0fa3665198d24a80a2 + checksum: 10c0/5360228a980c024445483c88e14c2f2e69ca7b8386c0c39bd147307b0296277fdf06c27e43dba0e43d9ea6abee7b0269a4d6fe166e57ad5ffb2e093759ff6c03 languageName: node linkType: hard -"@docusaurus/mdx-loader@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/mdx-loader@npm:3.4.0" +"@docusaurus/mdx-loader@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/mdx-loader@npm:3.5.2" dependencies: - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" "@mdx-js/mdx": "npm:^3.0.0" "@slorber/remark-comment": "npm:^1.0.0" escape-html: "npm:^1.0.3" @@ -2067,15 +2068,15 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/3a3295e01571ceefdc74abbfdc5125b6acd2c7bfe13cac0c6c79f61c9fc16e1244594748c92ceb01baae648d4aedd594fa1b513aca66f7a74244d347c91820b0 + checksum: 10c0/52f193578cd3f369c155a2a7a5db532dc482ecb460e3b32ca1111e0036ea8939bfaf4094860929510e639f9a00d1edbbedc797ccdef9eddc381bedaa255d5ab3 languageName: node linkType: hard -"@docusaurus/module-type-aliases@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/module-type-aliases@npm:3.4.0" +"@docusaurus/module-type-aliases@npm:3.5.2, @docusaurus/module-type-aliases@npm:^3.5.2": + version: 3.5.2 + resolution: "@docusaurus/module-type-aliases@npm:3.5.2" dependencies: - "@docusaurus/types": "npm:3.4.0" + "@docusaurus/types": "npm:3.5.2" "@types/history": "npm:^4.7.11" "@types/react": "npm:*" "@types/react-router-config": "npm:*" @@ -2085,22 +2086,23 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/37645717442eaf2d62dcb972db544f5231392f1dbeb7499d725cef50b4c2762d7a95facff8a759f9127814861c6ccb859f69661f1634b7bf8c27be13f9d3e626 + checksum: 10c0/5174c8ad4a545b4ef8aa16bae6f6a2d501ab0d4ddd400cca83c55b6b35eac79b1d7cff52d6041da4f0f339a969d72be1f40e57d5ea73a50a61e0688505627e0c languageName: node linkType: hard -"@docusaurus/plugin-content-blog@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-content-blog@npm:3.4.0" - dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/mdx-loader": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" - cheerio: "npm:^1.0.0-rc.12" +"@docusaurus/plugin-content-blog@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-content-blog@npm:3.5.2" + dependencies: + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/mdx-loader": "npm:3.5.2" + "@docusaurus/theme-common": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" + cheerio: "npm:1.0.0-rc.12" feed: "npm:^4.2.2" fs-extra: "npm:^11.1.1" lodash: "npm:^4.17.21" @@ -2111,24 +2113,26 @@ __metadata: utility-types: "npm:^3.10.0" webpack: "npm:^5.88.1" peerDependencies: + "@docusaurus/plugin-content-docs": "*" react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/016804ee40bd8c9e2a097eb76e618a00cbedd48967df8da2670961086dc61ce44d7a3bc959050c82b469b2efa07b0f3faedb11caf7a9983c181bab30b9f2054e + checksum: 10c0/0cdd4944e19c4ed02783be311dd735728a03282585517f48277358373cf46740b5659daa14bdaf58f80e0f949579a97110aa785a15333ad420154acc997471e6 languageName: node linkType: hard -"@docusaurus/plugin-content-docs@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-content-docs@npm:3.4.0" - dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/mdx-loader": "npm:3.4.0" - "@docusaurus/module-type-aliases": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" +"@docusaurus/plugin-content-docs@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-content-docs@npm:3.5.2" + dependencies: + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/mdx-loader": "npm:3.5.2" + "@docusaurus/module-type-aliases": "npm:3.5.2" + "@docusaurus/theme-common": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" "@types/react-router-config": "npm:^5.0.7" combine-promises: "npm:^1.1.0" fs-extra: "npm:^11.1.1" @@ -2140,156 +2144,156 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/dc12d09c7ecd9f18bf48ee16432f01a974880f251a6c68b0be6cc6876edd2f25561cf4b0829a34bc9daa9ec5d44c8797a0b096dc7480346fb502482734ea728c + checksum: 10c0/fd245e323bd2735c9a65bbb50c8411db3bf8b562ad812ef92c4637554b1606aeaf2f2da95ea447a6fb158d96836677d7f95a6a006dae3c4730c231c5527fd7ce languageName: node linkType: hard -"@docusaurus/plugin-content-pages@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-content-pages@npm:3.4.0" +"@docusaurus/plugin-content-pages@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-content-pages@npm:3.5.2" dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/mdx-loader": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/mdx-loader": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" fs-extra: "npm:^11.1.1" tslib: "npm:^2.6.0" webpack: "npm:^5.88.1" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/2d741a710ebb7b5687f4635d1f67ef1297e3db400093c84152688aeb95d9a6728b56be8080f0fcee095800e55e3fa72cf358782ef76cf61230c171443f21f480 + checksum: 10c0/4ca00fad896976095a64f485c6b58da5426fb8301921b2d3099d3604f3a3485461543e373415b54ce743104ff67f54e4f6fb4364547fce3d8c88be57e1c87426 languageName: node linkType: hard -"@docusaurus/plugin-debug@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-debug@npm:3.4.0" +"@docusaurus/plugin-debug@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-debug@npm:3.5.2" dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" fs-extra: "npm:^11.1.1" react-json-view-lite: "npm:^1.2.0" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/2cda3492e3da55d81a26dc2e03c1bb96ab4243985a0b9b1c47589ed320a5917e535fd0b88669cad2c42fa50e41344ac8323dd5fa408b7e07c5ebd0aa5cee4117 + checksum: 10c0/2d47f01154a026b9c9028df72fa87a633772c5079501a8e7c48ca48ba87fd1f4ec6e7e277c8123315cccbc43a9897e45e8a0b8b975cc337a74316eee03f7b320 languageName: node linkType: hard -"@docusaurus/plugin-google-analytics@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-google-analytics@npm:3.4.0" +"@docusaurus/plugin-google-analytics@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-google-analytics@npm:3.5.2" dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/6b2c1785c202b527ec68777d1cf5fbe5211a02793e86f6821e4b403a1f0e4359b2a4be28e837be641ac7e436eb26f0e961854124c74b8ad8d9bba01f302ac908 + checksum: 10c0/19e2fbdb625a0345c7f5571ae39fae5803b32933f7f69ba481daf56b4640d68c899049a8c0a7a774e533723364361a7e56839e4fd279940717c5c35d66c226b5 languageName: node linkType: hard -"@docusaurus/plugin-google-gtag@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-google-gtag@npm:3.4.0" +"@docusaurus/plugin-google-gtag@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-google-gtag@npm:3.5.2" dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" "@types/gtag.js": "npm:^0.0.12" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/1ab2bad4dd47c3aab8393b241efbdad7c5f8b2248970cf9f5e04537de279ffe0d92bf428f8690abf8b522142433e8ea7eb61fbf98a70d606b4e45b95663cb563 + checksum: 10c0/ba502ae3e0b766b8eebafe89935365199cbc66f9d472950d3d95362619b1f78dddf8e45a73c7e9a1040be965b927ea5ce76037b3f7ee5443c25cab8e6e232934 languageName: node linkType: hard -"@docusaurus/plugin-google-tag-manager@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-google-tag-manager@npm:3.4.0" +"@docusaurus/plugin-google-tag-manager@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-google-tag-manager@npm:3.5.2" dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/91242ee1d7f7f755de512501cd297d6c1e4546b706310e78cfac83e5e96ce45f37434aca1052567365ba904559f40bd7a713e6271535d3ade8781db012d5d730 + checksum: 10c0/067eed163b41ac03e85b70ec677525479bae6f4b7137e837d81dd48d03ab8c246b52be3236283cbc4607039beddc618adcfe451f91b19e2d41d343cd0952bd73 languageName: node linkType: hard -"@docusaurus/plugin-sitemap@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/plugin-sitemap@npm:3.4.0" - dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" +"@docusaurus/plugin-sitemap@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/plugin-sitemap@npm:3.5.2" + dependencies: + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" fs-extra: "npm:^11.1.1" sitemap: "npm:^7.1.1" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/498754e04a29d1715d8c4c91a1c30526294de5714f14dff31563339ad0966dc7e2ffca5cd5ffd059268be364fb1eb4f6ccc3f397f69f7537c9f655a29f56bd9f + checksum: 10c0/9490c3a11869fb50abe7d8d9c235d57b18247a2dbe59d2351a6a919f0a4cf5445879e019db049a5dd55cbbb1ce0e19d5f1342e368e593408652f48d19331f961 languageName: node linkType: hard -"@docusaurus/preset-classic@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/preset-classic@npm:3.4.0" - dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/plugin-content-blog": "npm:3.4.0" - "@docusaurus/plugin-content-docs": "npm:3.4.0" - "@docusaurus/plugin-content-pages": "npm:3.4.0" - "@docusaurus/plugin-debug": "npm:3.4.0" - "@docusaurus/plugin-google-analytics": "npm:3.4.0" - "@docusaurus/plugin-google-gtag": "npm:3.4.0" - "@docusaurus/plugin-google-tag-manager": "npm:3.4.0" - "@docusaurus/plugin-sitemap": "npm:3.4.0" - "@docusaurus/theme-classic": "npm:3.4.0" - "@docusaurus/theme-common": "npm:3.4.0" - "@docusaurus/theme-search-algolia": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" +"@docusaurus/preset-classic@npm:^3.5.2": + version: 3.5.2 + resolution: "@docusaurus/preset-classic@npm:3.5.2" + dependencies: + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/plugin-content-blog": "npm:3.5.2" + "@docusaurus/plugin-content-docs": "npm:3.5.2" + "@docusaurus/plugin-content-pages": "npm:3.5.2" + "@docusaurus/plugin-debug": "npm:3.5.2" + "@docusaurus/plugin-google-analytics": "npm:3.5.2" + "@docusaurus/plugin-google-gtag": "npm:3.5.2" + "@docusaurus/plugin-google-tag-manager": "npm:3.5.2" + "@docusaurus/plugin-sitemap": "npm:3.5.2" + "@docusaurus/theme-classic": "npm:3.5.2" + "@docusaurus/theme-common": "npm:3.5.2" + "@docusaurus/theme-search-algolia": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/faa95f52b459b91903e35e0a90ccc6fea040657eacd64c6cdd9ac93f8d981b17adbf978ab97b1e4bdb7621f10febb2633c94c598f45feb5106aeed62f6485a91 - languageName: node - linkType: hard - -"@docusaurus/theme-classic@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/theme-classic@npm:3.4.0" - dependencies: - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/mdx-loader": "npm:3.4.0" - "@docusaurus/module-type-aliases": "npm:3.4.0" - "@docusaurus/plugin-content-blog": "npm:3.4.0" - "@docusaurus/plugin-content-docs": "npm:3.4.0" - "@docusaurus/plugin-content-pages": "npm:3.4.0" - "@docusaurus/theme-common": "npm:3.4.0" - "@docusaurus/theme-translations": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + checksum: 10c0/ea15474b01399a7bf05d6fd8b0edbf2856ffc83baa0d726b6e90c365ffc93ed39a78ac3d5690750f43051387ff96a8b455927ffa712f4589f4e4b45a4490aaaa + languageName: node + linkType: hard + +"@docusaurus/theme-classic@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/theme-classic@npm:3.5.2" + dependencies: + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/mdx-loader": "npm:3.5.2" + "@docusaurus/module-type-aliases": "npm:3.5.2" + "@docusaurus/plugin-content-blog": "npm:3.5.2" + "@docusaurus/plugin-content-docs": "npm:3.5.2" + "@docusaurus/plugin-content-pages": "npm:3.5.2" + "@docusaurus/theme-common": "npm:3.5.2" + "@docusaurus/theme-translations": "npm:3.5.2" + "@docusaurus/types": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" "@mdx-js/react": "npm:^3.0.0" clsx: "npm:^2.0.0" copy-text-to-clipboard: "npm:^3.2.0" - infima: "npm:0.2.0-alpha.43" + infima: "npm:0.2.0-alpha.44" lodash: "npm:^4.17.21" nprogress: "npm:^0.2.0" postcss: "npm:^8.4.26" @@ -2302,21 +2306,18 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/9b8cfd8c6350f3bfe7d23480b860e3f18ec1be2c0cc563e6b5bf8ba9e4b7be75d01d1601362f8615a33635cd2bf76deb48628e367372899dc87f9eadab8e7b0f + checksum: 10c0/b0f1dd2a81b96d5522ce456de77e0edd539ea07406ff370b624d878a46af4b33f66892242bc177bf04a0026831fccd3621d722c174ebb8a05a8e6f6ed07d72c3 languageName: node linkType: hard -"@docusaurus/theme-common@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/theme-common@npm:3.4.0" +"@docusaurus/theme-common@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/theme-common@npm:3.5.2" dependencies: - "@docusaurus/mdx-loader": "npm:3.4.0" - "@docusaurus/module-type-aliases": "npm:3.4.0" - "@docusaurus/plugin-content-blog": "npm:3.4.0" - "@docusaurus/plugin-content-docs": "npm:3.4.0" - "@docusaurus/plugin-content-pages": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" + "@docusaurus/mdx-loader": "npm:3.5.2" + "@docusaurus/module-type-aliases": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" "@types/history": "npm:^4.7.11" "@types/react": "npm:*" "@types/react-router-config": "npm:*" @@ -2326,24 +2327,25 @@ __metadata: tslib: "npm:^2.6.0" utility-types: "npm:^3.10.0" peerDependencies: + "@docusaurus/plugin-content-docs": "*" react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/a52ca6849674e216f1584e3d9ba13fafa70deb12192534c213473fb702ba656c686c09de8400f2041e7224c79097832149d3a3d0d434ec8d346bb67f8ef73847 + checksum: 10c0/ae84a910b98c2b6706110e1580af96e5d87d5b29fe1f085d461932aa9608ee3df90e257d809ddcea5c5d848a160933d16052db1669dd062b5d13870834ac0394 languageName: node linkType: hard -"@docusaurus/theme-search-algolia@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/theme-search-algolia@npm:3.4.0" +"@docusaurus/theme-search-algolia@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/theme-search-algolia@npm:3.5.2" dependencies: "@docsearch/react": "npm:^3.5.2" - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/plugin-content-docs": "npm:3.4.0" - "@docusaurus/theme-common": "npm:3.4.0" - "@docusaurus/theme-translations": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-validation": "npm:3.4.0" + "@docusaurus/core": "npm:3.5.2" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/plugin-content-docs": "npm:3.5.2" + "@docusaurus/theme-common": "npm:3.5.2" + "@docusaurus/theme-translations": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-validation": "npm:3.5.2" algoliasearch: "npm:^4.18.0" algoliasearch-helper: "npm:^3.13.3" clsx: "npm:^2.0.0" @@ -2355,30 +2357,30 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/cdc04522ecd64dad67ca2a276bc1938df40a72a68819db14e36fe770a393fcf2448491534e657ac684c8dfcbb8af8f45a202b5e5464cb26f5098927a2526228a + checksum: 10c0/c617528fc0574611e49eb355f99df47e77a295a3c87792f185ec53ce0e7a6b239f017e0d9f8b45d91c87f3c615e9008441978d6daf35debcbb1b48fc9d2d98ee languageName: node linkType: hard -"@docusaurus/theme-translations@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/theme-translations@npm:3.4.0" +"@docusaurus/theme-translations@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/theme-translations@npm:3.5.2" dependencies: fs-extra: "npm:^11.1.1" tslib: "npm:^2.6.0" - checksum: 10c0/e32ce684d2c9269534ab6f1a71086ae2520e68cd5c42ecb0222da7d7b8a60cd96dc23dbcd0f0856b5439b71efd6552f321c66f17d218967c6b02b46589181e2a + checksum: 10c0/aa427b55a6d642ff30d67d5b9b8bc9f16f92b8902b125d3d6499c59e7e4ece3549a8a8e9fc017ef1cc68d9b9d5426a35812f8bf829c049103607867d605adc7b languageName: node linkType: hard -"@docusaurus/tsconfig@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/tsconfig@npm:3.4.0" - checksum: 10c0/62b992e3f4d941de88ef5a753c677268ced75d83acd48a04bb06a1852be915d058af6f9508b87c3dfd59da0cbb6ee185dd3cba021eb66f115ce4b96585709903 +"@docusaurus/tsconfig@npm:^3.5.2": + version: 3.5.2 + resolution: "@docusaurus/tsconfig@npm:3.5.2" + checksum: 10c0/1cde5cfadfc94605ba9a1ec8484bc58700bcff99944fa20c6f6d93599126914dc33f15c3464ee3279cf6becafcea86909d1d25a20f8f97e95c8ddf6b1122eac8 languageName: node linkType: hard -"@docusaurus/types@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/types@npm:3.4.0" +"@docusaurus/types@npm:3.5.2, @docusaurus/types@npm:^3.5.2": + version: 3.5.2 + resolution: "@docusaurus/types@npm:3.5.2" dependencies: "@mdx-js/mdx": "npm:^3.0.0" "@types/history": "npm:^4.7.11" @@ -2392,13 +2394,13 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/c86b95dfbf02db6faa9bb4d6c552d54f2e57924a95937cff6f1884e0ef66f7bbaf84e645fffa229f2571fea6ee469d3dd15abff20f81f7dc886ad38c4c79cbdb + checksum: 10c0/a06607a8ed96871d9a2c1239e1d94e584acd5c638f7eb4071feb1f18221c25c9b78794b3f804884db201cfdfc67cecdf37a823efe854f435fb4f5a36b28237d4 languageName: node linkType: hard -"@docusaurus/utils-common@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/utils-common@npm:3.4.0" +"@docusaurus/utils-common@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/utils-common@npm:3.5.2" dependencies: tslib: "npm:^2.6.0" peerDependencies: @@ -2406,32 +2408,32 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 10c0/df8e27a88621f5984624ac8c15061dd3eb2f33d3c3f5e08381d3aa316347a62884b2b5f051f54050516ceea1d4656012893be09ca81eae56809f4eb723924f56 + checksum: 10c0/17723bed0174d98895eff9666e9988757cb1b3562d90045db7a9a90294d686ca5472f5d7c171de7f306148ae24573ae7e959d31167a8dac8c1b4d7606459e056 languageName: node linkType: hard -"@docusaurus/utils-validation@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/utils-validation@npm:3.4.0" +"@docusaurus/utils-validation@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/utils-validation@npm:3.5.2" dependencies: - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/utils": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/utils": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" fs-extra: "npm:^11.2.0" joi: "npm:^17.9.2" js-yaml: "npm:^4.1.0" lodash: "npm:^4.17.21" tslib: "npm:^2.6.0" - checksum: 10c0/5a4c13bd41f1c5132b33c09f29f788fb76c3a9b0c4326e8bb2661041ab8c9cabd682f5d3f6203fae49e28bc975217b99e485dcc23065afb16498978774b37ee6 + checksum: 10c0/b179f7e68f9e3bfad7d03001ca9280e4122592a8995ea7ca31a8a59c5ce3b568af1177b06b41417c98bcd4cd30a7a054d0c06be8384b3f05be37bf239df96213 languageName: node linkType: hard -"@docusaurus/utils@npm:3.4.0": - version: 3.4.0 - resolution: "@docusaurus/utils@npm:3.4.0" +"@docusaurus/utils@npm:3.5.2": + version: 3.5.2 + resolution: "@docusaurus/utils@npm:3.5.2" dependencies: - "@docusaurus/logger": "npm:3.4.0" - "@docusaurus/utils-common": "npm:3.4.0" + "@docusaurus/logger": "npm:3.5.2" + "@docusaurus/utils-common": "npm:3.5.2" "@svgr/webpack": "npm:^8.1.0" escape-string-regexp: "npm:^4.0.0" file-loader: "npm:^6.2.0" @@ -2455,7 +2457,7 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 10c0/b80444985e97c1c9586a2b2669438b02e3a122d382b38633f0a7317365b5d3ad05beb882328ada4b09bb3de7e18d29f89d2a4e02fadf4acebdc5dd768b2265b9 + checksum: 10c0/a4d2d530c16ffd93bb84f5bc221efb767cba5915cfabd36f83130ba008cbb03a4d79ec324bb1dd0ef2d25d1317692357ee55ec8df0e9e801022e37c633b80ca9 languageName: node linkType: hard @@ -4390,6 +4392,303 @@ __metadata: languageName: node linkType: hard +"@types/d3-array@npm:*": + version: 3.2.1 + resolution: "@types/d3-array@npm:3.2.1" + checksum: 10c0/38bf2c778451f4b79ec81a2288cb4312fe3d6449ecdf562970cc339b60f280f31c93a024c7ff512607795e79d3beb0cbda123bb07010167bce32927f71364bca + languageName: node + linkType: hard + +"@types/d3-axis@npm:*": + version: 3.0.6 + resolution: "@types/d3-axis@npm:3.0.6" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/d756d42360261f44d8eefd0950c5bb0a4f67a46dd92069da3f723ac36a1e8cb2b9ce6347d836ef19d5b8aef725dbcf8fdbbd6cfbff676ca4b0642df2f78b599a + languageName: node + linkType: hard + +"@types/d3-brush@npm:*": + version: 3.0.6 + resolution: "@types/d3-brush@npm:3.0.6" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/fd6e2ac7657a354f269f6b9c58451ffae9d01b89ccb1eb6367fd36d635d2f1990967215ab498e0c0679ff269429c57fad6a2958b68f4d45bc9f81d81672edc01 + languageName: node + linkType: hard + +"@types/d3-chord@npm:*": + version: 3.0.6 + resolution: "@types/d3-chord@npm:3.0.6" + checksum: 10c0/c5a25eb5389db01e63faec0c5c2ec7cc41c494e9b3201630b494c4e862a60f1aa83fabbc33a829e7e1403941e3c30d206c741559b14406ac2a4239cfdf4b4c17 + languageName: node + linkType: hard + +"@types/d3-color@npm:*": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 10c0/65eb0487de606eb5ad81735a9a5b3142d30bc5ea801ed9b14b77cb14c9b909f718c059f13af341264ee189acf171508053342142bdf99338667cea26a2d8d6ae + languageName: node + linkType: hard + +"@types/d3-contour@npm:*": + version: 3.0.6 + resolution: "@types/d3-contour@npm:3.0.6" + dependencies: + "@types/d3-array": "npm:*" + "@types/geojson": "npm:*" + checksum: 10c0/e7d83e94719af4576ceb5ac7f277c5806f83ba6c3631744ae391cffc3641f09dfa279470b83053cd0b2acd6784e8749c71141d05bdffa63ca58ffb5b31a0f27c + languageName: node + linkType: hard + +"@types/d3-delaunay@npm:*": + version: 6.0.4 + resolution: "@types/d3-delaunay@npm:6.0.4" + checksum: 10c0/d154a8864f08c4ea23ecb9bdabcef1c406a25baa8895f0cb08a0ed2799de0d360e597552532ce7086ff0cdffa8f3563f9109d18f0191459d32bb620a36939123 + languageName: node + linkType: hard + +"@types/d3-dispatch@npm:*": + version: 3.0.6 + resolution: "@types/d3-dispatch@npm:3.0.6" + checksum: 10c0/405eb7d0ec139fbf72fa6a43b0f3ca8a1f913bb2cb38f607827e63fca8d4393f021f32f3b96b33c93ddbd37789453a0b3624f14f504add5308fd9aec8a46dda0 + languageName: node + linkType: hard + +"@types/d3-drag@npm:*": + version: 3.0.7 + resolution: "@types/d3-drag@npm:3.0.7" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/65e29fa32a87c72d26c44b5e2df3bf15af21cd128386bcc05bcacca255927c0397d0cd7e6062aed5f0abd623490544a9d061c195f5ed9f018fe0b698d99c079d + languageName: node + linkType: hard + +"@types/d3-dsv@npm:*": + version: 3.0.7 + resolution: "@types/d3-dsv@npm:3.0.7" + checksum: 10c0/c0f01da862465594c8a28278b51c850af3b4239cc22b14fd1a19d7a98f93d94efa477bf59d8071beb285dca45bf614630811451e18e7c52add3a0abfee0a1871 + languageName: node + linkType: hard + +"@types/d3-ease@npm:*": + version: 3.0.2 + resolution: "@types/d3-ease@npm:3.0.2" + checksum: 10c0/aff5a1e572a937ee9bff6465225d7ba27d5e0c976bd9eacdac2e6f10700a7cb0c9ea2597aff6b43a6ed850a3210030870238894a77ec73e309b4a9d0333f099c + languageName: node + linkType: hard + +"@types/d3-fetch@npm:*": + version: 3.0.7 + resolution: "@types/d3-fetch@npm:3.0.7" + dependencies: + "@types/d3-dsv": "npm:*" + checksum: 10c0/3d147efa52a26da1a5d40d4d73e6cebaaa964463c378068062999b93ea3731b27cc429104c21ecbba98c6090e58ef13429db6399238c5e3500162fb3015697a0 + languageName: node + linkType: hard + +"@types/d3-force@npm:*": + version: 3.0.10 + resolution: "@types/d3-force@npm:3.0.10" + checksum: 10c0/c82b459079a106b50e346c9b79b141f599f2fc4f598985a5211e72c7a2e20d35bd5dc6e91f306b323c8bfa325c02c629b1645f5243f1c6a55bd51bc85cccfa92 + languageName: node + linkType: hard + +"@types/d3-format@npm:*": + version: 3.0.4 + resolution: "@types/d3-format@npm:3.0.4" + checksum: 10c0/3ac1600bf9061a59a228998f7cd3f29e85cbf522997671ba18d4d84d10a2a1aff4f95aceb143fa9960501c3ec351e113fc75884e6a504ace44dc1744083035ee + languageName: node + linkType: hard + +"@types/d3-geo@npm:*": + version: 3.1.0 + resolution: "@types/d3-geo@npm:3.1.0" + dependencies: + "@types/geojson": "npm:*" + checksum: 10c0/3745a93439038bb5b0b38facf435f7079812921d46406f5d38deaee59e90084ff742443c7ea0a8446df81a0d81eaf622fe7068cf4117a544bd4aa3b2dc182f88 + languageName: node + linkType: hard + +"@types/d3-hierarchy@npm:*": + version: 3.1.7 + resolution: "@types/d3-hierarchy@npm:3.1.7" + checksum: 10c0/873711737d6b8e7b6f1dda0bcd21294a48f75024909ae510c5d2c21fad2e72032e0958def4d9f68319d3aaac298ad09c49807f8bfc87a145a82693b5208613c7 + languageName: node + linkType: hard + +"@types/d3-interpolate@npm:*": + version: 3.0.4 + resolution: "@types/d3-interpolate@npm:3.0.4" + dependencies: + "@types/d3-color": "npm:*" + checksum: 10c0/066ebb8da570b518dd332df6b12ae3b1eaa0a7f4f0c702e3c57f812cf529cc3500ec2aac8dc094f31897790346c6b1ebd8cd7a077176727f4860c2b181a65ca4 + languageName: node + linkType: hard + +"@types/d3-path@npm:*": + version: 3.1.0 + resolution: "@types/d3-path@npm:3.1.0" + checksum: 10c0/85e8b3aa968a60a5b33198ade06ae7ffedcf9a22d86f24859ff58e014b053ccb7141ec163b78d547bc8215bb12bb54171c666057ab6156912814005b686afb31 + languageName: node + linkType: hard + +"@types/d3-path@npm:^1": + version: 1.0.11 + resolution: "@types/d3-path@npm:1.0.11" + checksum: 10c0/3353fe6c009b1d9e32aa5442787c0a1816120f83c73d6b4ba24d5d7c51472561e664e8541ac672cdca598f8c91879be14d5f7b66fba16f7c06afa45d992c4660 + languageName: node + linkType: hard + +"@types/d3-polygon@npm:*": + version: 3.0.2 + resolution: "@types/d3-polygon@npm:3.0.2" + checksum: 10c0/f46307bb32b6c2aef8c7624500e0f9b518de8f227ccc10170b869dc43e4c542560f6c8d62e9f087fac45e198d6e4b623e579c0422e34c85baf56717456d3f439 + languageName: node + linkType: hard + +"@types/d3-quadtree@npm:*": + version: 3.0.6 + resolution: "@types/d3-quadtree@npm:3.0.6" + checksum: 10c0/7eaa0a4d404adc856971c9285e1c4ab17e9135ea669d847d6db7e0066126a28ac751864e7ce99c65d526e130f56754a2e437a1617877098b3bdcc3ef23a23616 + languageName: node + linkType: hard + +"@types/d3-random@npm:*": + version: 3.0.3 + resolution: "@types/d3-random@npm:3.0.3" + checksum: 10c0/5f4fea40080cd6d4adfee05183d00374e73a10c530276a6455348983dda341003a251def28565a27c25d9cf5296a33e870e397c9d91ff83fb7495a21c96b6882 + languageName: node + linkType: hard + +"@types/d3-sankey@npm:^0": + version: 0.12.4 + resolution: "@types/d3-sankey@npm:0.12.4" + dependencies: + "@types/d3-shape": "npm:^1" + checksum: 10c0/6a065709ca0e0b79a64621117b1727b731d164811bf7f0f5ff26d1497b35af623e8f3671eecc24072bd95fcdaf7c4cf4215f1a85089a0b5f090e61f2a32523e7 + languageName: node + linkType: hard + +"@types/d3-scale-chromatic@npm:*": + version: 3.0.3 + resolution: "@types/d3-scale-chromatic@npm:3.0.3" + checksum: 10c0/2f48c6f370edba485b57b73573884ded71914222a4580140ff87ee96e1d55ccd05b1d457f726e234a31269b803270ac95d5554229ab6c43c7e4a9894e20dd490 + languageName: node + linkType: hard + +"@types/d3-scale@npm:*": + version: 4.0.8 + resolution: "@types/d3-scale@npm:4.0.8" + dependencies: + "@types/d3-time": "npm:*" + checksum: 10c0/57de90e4016f640b83cb960b7e3a0ab3ed02e720898840ddc5105264ffcfea73336161442fdc91895377c2d2f91904d637282f16852b8535b77e15a761c8e99e + languageName: node + linkType: hard + +"@types/d3-selection@npm:*": + version: 3.0.10 + resolution: "@types/d3-selection@npm:3.0.10" + checksum: 10c0/de1f99ab186a08999bf394a645fd76911add1b02316270d4c07616c8383903a2b068d7e02b73b6a99a1f26bb49a2e99ef4b55a5d2ddfa165f6f3c53144897920 + languageName: node + linkType: hard + +"@types/d3-shape@npm:*": + version: 3.1.6 + resolution: "@types/d3-shape@npm:3.1.6" + dependencies: + "@types/d3-path": "npm:*" + checksum: 10c0/0625715925d3c7ed3d44ce998b42c993f063c31605b6e4a8046c4be0fe724e2d214fc83e86d04f429a30a6e1f439053e92b0d9e59e1180c3a5327b4a6e79fa0a + languageName: node + linkType: hard + +"@types/d3-shape@npm:^1": + version: 1.3.12 + resolution: "@types/d3-shape@npm:1.3.12" + dependencies: + "@types/d3-path": "npm:^1" + checksum: 10c0/e4aa0a0bc200d5a50d7f699da0e848a01b37447e92ecc3484eefbed7fcd2bd90dc0adc7e2b7e437f484f69ee91f3ff57c6f97a9853c5467ac53d3c37e78fbac7 + languageName: node + linkType: hard + +"@types/d3-time-format@npm:*": + version: 4.0.3 + resolution: "@types/d3-time-format@npm:4.0.3" + checksum: 10c0/9ef5e8e2b96b94799b821eed5d61a3d432c7903247966d8ad951b8ce5797fe46554b425cb7888fa5bf604b4663c369d7628c0328ffe80892156671c58d1a7f90 + languageName: node + linkType: hard + +"@types/d3-time@npm:*": + version: 3.0.3 + resolution: "@types/d3-time@npm:3.0.3" + checksum: 10c0/245a8aadca504df27edf730de502e47a68f16ae795c86b5ca35e7afa91c133aa9ef4d08778f8cf1ed2be732f89a4105ba4b437ce2afbdfd17d3d937b6ba5f568 + languageName: node + linkType: hard + +"@types/d3-timer@npm:*": + version: 3.0.2 + resolution: "@types/d3-timer@npm:3.0.2" + checksum: 10c0/c644dd9571fcc62b1aa12c03bcad40571553020feeb5811f1d8a937ac1e65b8a04b759b4873aef610e28b8714ac71c9885a4d6c127a048d95118f7e5b506d9e1 + languageName: node + linkType: hard + +"@types/d3-transition@npm:*": + version: 3.0.8 + resolution: "@types/d3-transition@npm:3.0.8" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/feba7845bd1e1d49e38b0d55562e01e90bfbcf0a56fbe0de4279c12e43a687032d22ed559629c0412145d25d61e4e53ddfef34c89c6bf043d48b6c2cd3a929dc + languageName: node + linkType: hard + +"@types/d3-zoom@npm:*": + version: 3.0.8 + resolution: "@types/d3-zoom@npm:3.0.8" + dependencies: + "@types/d3-interpolate": "npm:*" + "@types/d3-selection": "npm:*" + checksum: 10c0/1dbdbcafddcae12efb5beb6948546963f29599e18bc7f2a91fb69cc617c2299a65354f2d47e282dfb86fec0968406cd4fb7f76ba2d2fb67baa8e8d146eb4a547 + languageName: node + linkType: hard + +"@types/d3@npm:^7": + version: 7.4.3 + resolution: "@types/d3@npm:7.4.3" + dependencies: + "@types/d3-array": "npm:*" + "@types/d3-axis": "npm:*" + "@types/d3-brush": "npm:*" + "@types/d3-chord": "npm:*" + "@types/d3-color": "npm:*" + "@types/d3-contour": "npm:*" + "@types/d3-delaunay": "npm:*" + "@types/d3-dispatch": "npm:*" + "@types/d3-drag": "npm:*" + "@types/d3-dsv": "npm:*" + "@types/d3-ease": "npm:*" + "@types/d3-fetch": "npm:*" + "@types/d3-force": "npm:*" + "@types/d3-format": "npm:*" + "@types/d3-geo": "npm:*" + "@types/d3-hierarchy": "npm:*" + "@types/d3-interpolate": "npm:*" + "@types/d3-path": "npm:*" + "@types/d3-polygon": "npm:*" + "@types/d3-quadtree": "npm:*" + "@types/d3-random": "npm:*" + "@types/d3-scale": "npm:*" + "@types/d3-scale-chromatic": "npm:*" + "@types/d3-selection": "npm:*" + "@types/d3-shape": "npm:*" + "@types/d3-time": "npm:*" + "@types/d3-time-format": "npm:*" + "@types/d3-timer": "npm:*" + "@types/d3-transition": "npm:*" + "@types/d3-zoom": "npm:*" + checksum: 10c0/a9c6d65b13ef3b42c87f2a89ea63a6d5640221869f97d0657b0cb2f1dac96a0f164bf5605643c0794e0de3aa2bf05df198519aaf15d24ca135eb0e8bd8a9d879 + languageName: node + linkType: hard + "@types/debug@npm:^4.0.0": version: 4.1.12 resolution: "@types/debug@npm:4.1.12" @@ -4469,6 +4768,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:*": + version: 7946.0.14 + resolution: "@types/geojson@npm:7946.0.14" + checksum: 10c0/54f3997708fa2970c03eeb31f7e4540a0eb6387b15e9f8a60513a1409c23cafec8d618525404573468b59c6fecbfd053724b3327f7fca416729c26271d799f55 + languageName: node + linkType: hard + "@types/gtag.js@npm:^0.0.12": version: 0.0.12 resolution: "@types/gtag.js@npm:0.0.12" @@ -6384,7 +6690,7 @@ __metadata: languageName: node linkType: hard -"cheerio@npm:^1.0.0-rc.12, cheerio@npm:^1.0.0-rc.9": +"cheerio@npm:1.0.0-rc.12, cheerio@npm:^1.0.0-rc.9": version: 1.0.0-rc.12 resolution: "cheerio@npm:1.0.0-rc.12" dependencies: @@ -6587,6 +6893,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:7, commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + "commander@npm:^10.0.0": version: 10.0.1 resolution: "commander@npm:10.0.1" @@ -6622,13 +6935,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^7.2.0": - version: 7.2.0 - resolution: "commander@npm:7.2.0" - checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a - languageName: node - linkType: hard - "commander@npm:^8.3.0": version: 8.3.0 resolution: "commander@npm:8.3.0" @@ -7122,6 +7428,359 @@ __metadata: languageName: node linkType: hard +"d3-array@npm:1 - 2": + version: 2.12.1 + resolution: "d3-array@npm:2.12.1" + dependencies: + internmap: "npm:^1.0.0" + checksum: 10c0/7eca10427a9f113a4ca6a0f7301127cab26043fd5e362631ef5a0edd1c4b2dd70c56ed317566700c31e4a6d88b55f3951aaba192291817f243b730cb2352882e + languageName: node + linkType: hard + +"d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:2.5.0 - 3, d3-array@npm:3, d3-array@npm:^3.2.0": + version: 3.2.4 + resolution: "d3-array@npm:3.2.4" + dependencies: + internmap: "npm:1 - 2" + checksum: 10c0/08b95e91130f98c1375db0e0af718f4371ccacef7d5d257727fe74f79a24383e79aba280b9ffae655483ffbbad4fd1dec4ade0119d88c4749f388641c8bf8c50 + languageName: node + linkType: hard + +"d3-axis@npm:3": + version: 3.0.0 + resolution: "d3-axis@npm:3.0.0" + checksum: 10c0/a271e70ba1966daa5aaf6a7f959ceca3e12997b43297e757c7b945db2e1ead3c6ee226f2abcfa22abbd4e2e28bd2b71a0911794c4e5b911bbba271328a582c78 + languageName: node + linkType: hard + +"d3-brush@npm:3": + version: 3.0.0 + resolution: "d3-brush@npm:3.0.0" + dependencies: + d3-dispatch: "npm:1 - 3" + d3-drag: "npm:2 - 3" + d3-interpolate: "npm:1 - 3" + d3-selection: "npm:3" + d3-transition: "npm:3" + checksum: 10c0/07baf00334c576da2f68a91fc0da5732c3a5fa19bd3d7aed7fd24d1d674a773f71a93e9687c154176f7246946194d77c48c2d8fed757f5dcb1a4740067ec50a8 + languageName: node + linkType: hard + +"d3-chord@npm:3": + version: 3.0.1 + resolution: "d3-chord@npm:3.0.1" + dependencies: + d3-path: "npm:1 - 3" + checksum: 10c0/baa6013914af3f4fe1521f0d16de31a38eb8a71d08ff1dec4741f6f45a828661e5cd3935e39bd14e3032bdc78206c283ca37411da21d46ec3cfc520be6e7a7ce + languageName: node + linkType: hard + +"d3-color@npm:1 - 3, d3-color@npm:3": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 10c0/a4e20e1115fa696fce041fbe13fbc80dc4c19150fa72027a7c128ade980bc0eeeba4bcf28c9e21f0bce0e0dbfe7ca5869ef67746541dcfda053e4802ad19783c + languageName: node + linkType: hard + +"d3-contour@npm:4": + version: 4.0.2 + resolution: "d3-contour@npm:4.0.2" + dependencies: + d3-array: "npm:^3.2.0" + checksum: 10c0/98bc5fbed6009e08707434a952076f39f1cd6ed8b9288253cc3e6a3286e4e80c63c62d84954b20e64bf6e4ededcc69add54d3db25e990784a59c04edd3449032 + languageName: node + linkType: hard + +"d3-delaunay@npm:6": + version: 6.0.4 + resolution: "d3-delaunay@npm:6.0.4" + dependencies: + delaunator: "npm:5" + checksum: 10c0/57c3aecd2525664b07c4c292aa11cf49b2752c0cf3f5257f752999399fe3c592de2d418644d79df1f255471eec8057a9cc0c3062ed7128cb3348c45f69597754 + languageName: node + linkType: hard + +"d3-dispatch@npm:1 - 3, d3-dispatch@npm:3": + version: 3.0.1 + resolution: "d3-dispatch@npm:3.0.1" + checksum: 10c0/6eca77008ce2dc33380e45d4410c67d150941df7ab45b91d116dbe6d0a3092c0f6ac184dd4602c796dc9e790222bad3ff7142025f5fd22694efe088d1d941753 + languageName: node + linkType: hard + +"d3-drag@npm:2 - 3, d3-drag@npm:3": + version: 3.0.0 + resolution: "d3-drag@npm:3.0.0" + dependencies: + d3-dispatch: "npm:1 - 3" + d3-selection: "npm:3" + checksum: 10c0/d2556e8dc720741a443b595a30af403dd60642dfd938d44d6e9bfc4c71a962142f9a028c56b61f8b4790b65a34acad177d1263d66f103c3c527767b0926ef5aa + languageName: node + linkType: hard + +"d3-dsv@npm:1 - 3, d3-dsv@npm:3": + version: 3.0.1 + resolution: "d3-dsv@npm:3.0.1" + dependencies: + commander: "npm:7" + iconv-lite: "npm:0.6" + rw: "npm:1" + bin: + csv2json: bin/dsv2json.js + csv2tsv: bin/dsv2dsv.js + dsv2dsv: bin/dsv2dsv.js + dsv2json: bin/dsv2json.js + json2csv: bin/json2dsv.js + json2dsv: bin/json2dsv.js + json2tsv: bin/json2dsv.js + tsv2csv: bin/dsv2dsv.js + tsv2json: bin/dsv2json.js + checksum: 10c0/10e6af9e331950ed258f34ab49ac1b7060128ef81dcf32afc790bd1f7e8c3cc2aac7f5f875250a83f21f39bb5925fbd0872bb209f8aca32b3b77d32bab8a65ab + languageName: node + linkType: hard + +"d3-ease@npm:1 - 3, d3-ease@npm:3": + version: 3.0.1 + resolution: "d3-ease@npm:3.0.1" + checksum: 10c0/fec8ef826c0cc35cda3092c6841e07672868b1839fcaf556e19266a3a37e6bc7977d8298c0fcb9885e7799bfdcef7db1baaba9cd4dcf4bc5e952cf78574a88b0 + languageName: node + linkType: hard + +"d3-fetch@npm:3": + version: 3.0.1 + resolution: "d3-fetch@npm:3.0.1" + dependencies: + d3-dsv: "npm:1 - 3" + checksum: 10c0/4f467a79bf290395ac0cbb5f7562483f6a18668adc4c8eb84c9d3eff048b6f6d3b6f55079ba1ebf1908dabe000c941d46be447f8d78453b2dad5fb59fb6aa93b + languageName: node + linkType: hard + +"d3-force@npm:3": + version: 3.0.0 + resolution: "d3-force@npm:3.0.0" + dependencies: + d3-dispatch: "npm:1 - 3" + d3-quadtree: "npm:1 - 3" + d3-timer: "npm:1 - 3" + checksum: 10c0/220a16a1a1ac62ba56df61028896e4b52be89c81040d20229c876efc8852191482c233f8a52bb5a4e0875c321b8e5cb6413ef3dfa4d8fe79eeb7d52c587f52cf + languageName: node + linkType: hard + +"d3-format@npm:1 - 3, d3-format@npm:3": + version: 3.1.0 + resolution: "d3-format@npm:3.1.0" + checksum: 10c0/049f5c0871ebce9859fc5e2f07f336b3c5bfff52a2540e0bac7e703fce567cd9346f4ad1079dd18d6f1e0eaa0599941c1810898926f10ac21a31fd0a34b4aa75 + languageName: node + linkType: hard + +"d3-geo@npm:3": + version: 3.1.1 + resolution: "d3-geo@npm:3.1.1" + dependencies: + d3-array: "npm:2.5.0 - 3" + checksum: 10c0/d32270dd2dc8ac3ea63e8805d63239c4c8ec6c0d339d73b5e5a30a87f8f54db22a78fb434369799465eae169503b25f9a107c642c8a16c32a3285bc0e6d8e8c1 + languageName: node + linkType: hard + +"d3-hierarchy@npm:3": + version: 3.1.2 + resolution: "d3-hierarchy@npm:3.1.2" + checksum: 10c0/6dcdb480539644aa7fc0d72dfc7b03f99dfbcdf02714044e8c708577e0d5981deb9d3e99bbbb2d26422b55bcc342ac89a0fa2ea6c9d7302e2fc0951dd96f89cf + languageName: node + linkType: hard + +"d3-interpolate@npm:1 - 3, d3-interpolate@npm:1.2.0 - 3, d3-interpolate@npm:3": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" + dependencies: + d3-color: "npm:1 - 3" + checksum: 10c0/19f4b4daa8d733906671afff7767c19488f51a43d251f8b7f484d5d3cfc36c663f0a66c38fe91eee30f40327443d799be17169f55a293a3ba949e84e57a33e6a + languageName: node + linkType: hard + +"d3-path@npm:1": + version: 1.0.9 + resolution: "d3-path@npm:1.0.9" + checksum: 10c0/e35e84df5abc18091f585725b8235e1fa97efc287571585427d3a3597301e6c506dea56b11dfb3c06ca5858b3eb7f02c1bf4f6a716aa9eade01c41b92d497eb5 + languageName: node + linkType: hard + +"d3-path@npm:1 - 3, d3-path@npm:3, d3-path@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-path@npm:3.1.0" + checksum: 10c0/dc1d58ec87fa8319bd240cf7689995111a124b141428354e9637aa83059eb12e681f77187e0ada5dedfce346f7e3d1f903467ceb41b379bfd01cd8e31721f5da + languageName: node + linkType: hard + +"d3-polygon@npm:3": + version: 3.0.1 + resolution: "d3-polygon@npm:3.0.1" + checksum: 10c0/e236aa7f33efa9a4072907af7dc119f85b150a0716759d4fe5f12f62573018264a6cbde8617fbfa6944a7ae48c1c0c8d3f39ae72e11f66dd471e9b5e668385df + languageName: node + linkType: hard + +"d3-quadtree@npm:1 - 3, d3-quadtree@npm:3": + version: 3.0.1 + resolution: "d3-quadtree@npm:3.0.1" + checksum: 10c0/18302d2548bfecaef788152397edec95a76400fd97d9d7f42a089ceb68d910f685c96579d74e3712d57477ed042b056881b47cd836a521de683c66f47ce89090 + languageName: node + linkType: hard + +"d3-random@npm:3": + version: 3.0.1 + resolution: "d3-random@npm:3.0.1" + checksum: 10c0/987a1a1bcbf26e6cf01fd89d5a265b463b2cea93560fc17d9b1c45e8ed6ff2db5924601bcceb808de24c94133f000039eb7fa1c469a7a844ccbf1170cbb25b41 + languageName: node + linkType: hard + +"d3-sankey@npm:^0.12.3": + version: 0.12.3 + resolution: "d3-sankey@npm:0.12.3" + dependencies: + d3-array: "npm:1 - 2" + d3-shape: "npm:^1.2.0" + checksum: 10c0/261debb01a13269f6fc53b9ebaef174a015d5ad646242c23995bf514498829ab8b8f920a7873724a7494288b46bea3ce7ebc5a920b745bc8ae4caa5885cf5204 + languageName: node + linkType: hard + +"d3-scale-chromatic@npm:3": + version: 3.1.0 + resolution: "d3-scale-chromatic@npm:3.1.0" + dependencies: + d3-color: "npm:1 - 3" + d3-interpolate: "npm:1 - 3" + checksum: 10c0/9a3f4671ab0b971f4a411b42180d7cf92bfe8e8584e637ce7e698d705e18d6d38efbd20ec64f60cc0dfe966c20d40fc172565bc28aaa2990c0a006360eed91af + languageName: node + linkType: hard + +"d3-scale@npm:4": + version: 4.0.2 + resolution: "d3-scale@npm:4.0.2" + dependencies: + d3-array: "npm:2.10.0 - 3" + d3-format: "npm:1 - 3" + d3-interpolate: "npm:1.2.0 - 3" + d3-time: "npm:2.1.1 - 3" + d3-time-format: "npm:2 - 4" + checksum: 10c0/65d9ad8c2641aec30ed5673a7410feb187a224d6ca8d1a520d68a7d6eac9d04caedbff4713d1e8545be33eb7fec5739983a7ab1d22d4e5ad35368c6729d362f1 + languageName: node + linkType: hard + +"d3-selection@npm:2 - 3, d3-selection@npm:3": + version: 3.0.0 + resolution: "d3-selection@npm:3.0.0" + checksum: 10c0/e59096bbe8f0cb0daa1001d9bdd6dbc93a688019abc97d1d8b37f85cd3c286a6875b22adea0931b0c88410d025563e1643019161a883c516acf50c190a11b56b + languageName: node + linkType: hard + +"d3-shape@npm:3": + version: 3.2.0 + resolution: "d3-shape@npm:3.2.0" + dependencies: + d3-path: "npm:^3.1.0" + checksum: 10c0/f1c9d1f09926daaf6f6193ae3b4c4b5521e81da7d8902d24b38694517c7f527ce3c9a77a9d3a5722ad1e3ff355860b014557b450023d66a944eabf8cfde37132 + languageName: node + linkType: hard + +"d3-shape@npm:^1.2.0": + version: 1.3.7 + resolution: "d3-shape@npm:1.3.7" + dependencies: + d3-path: "npm:1" + checksum: 10c0/548057ce59959815decb449f15632b08e2a1bdce208f9a37b5f98ec7629dda986c2356bc7582308405ce68aedae7d47b324df41507404df42afaf352907577ae + languageName: node + linkType: hard + +"d3-time-format@npm:2 - 4, d3-time-format@npm:4": + version: 4.1.0 + resolution: "d3-time-format@npm:4.1.0" + dependencies: + d3-time: "npm:1 - 3" + checksum: 10c0/735e00fb25a7fd5d418fac350018713ae394eefddb0d745fab12bbff0517f9cdb5f807c7bbe87bb6eeb06249662f8ea84fec075f7d0cd68609735b2ceb29d206 + languageName: node + linkType: hard + +"d3-time@npm:1 - 3, d3-time@npm:2.1.1 - 3, d3-time@npm:3": + version: 3.1.0 + resolution: "d3-time@npm:3.1.0" + dependencies: + d3-array: "npm:2 - 3" + checksum: 10c0/a984f77e1aaeaa182679b46fbf57eceb6ebdb5f67d7578d6f68ef933f8eeb63737c0949991618a8d29472dbf43736c7d7f17c452b2770f8c1271191cba724ca1 + languageName: node + linkType: hard + +"d3-timer@npm:1 - 3, d3-timer@npm:3": + version: 3.0.1 + resolution: "d3-timer@npm:3.0.1" + checksum: 10c0/d4c63cb4bb5461d7038aac561b097cd1c5673969b27cbdd0e87fa48d9300a538b9e6f39b4a7f0e3592ef4f963d858c8a9f0e92754db73116770856f2fc04561a + languageName: node + linkType: hard + +"d3-transition@npm:2 - 3, d3-transition@npm:3": + version: 3.0.1 + resolution: "d3-transition@npm:3.0.1" + dependencies: + d3-color: "npm:1 - 3" + d3-dispatch: "npm:1 - 3" + d3-ease: "npm:1 - 3" + d3-interpolate: "npm:1 - 3" + d3-timer: "npm:1 - 3" + peerDependencies: + d3-selection: 2 - 3 + checksum: 10c0/4e74535dda7024aa43e141635b7522bb70cf9d3dfefed975eb643b36b864762eca67f88fafc2ca798174f83ca7c8a65e892624f824b3f65b8145c6a1a88dbbad + languageName: node + linkType: hard + +"d3-zoom@npm:3": + version: 3.0.0 + resolution: "d3-zoom@npm:3.0.0" + dependencies: + d3-dispatch: "npm:1 - 3" + d3-drag: "npm:2 - 3" + d3-interpolate: "npm:1 - 3" + d3-selection: "npm:2 - 3" + d3-transition: "npm:2 - 3" + checksum: 10c0/ee2036479049e70d8c783d594c444fe00e398246048e3f11a59755cd0e21de62ece3126181b0d7a31bf37bcf32fd726f83ae7dea4495ff86ec7736ce5ad36fd3 + languageName: node + linkType: hard + +"d3@npm:^7.9.0": + version: 7.9.0 + resolution: "d3@npm:7.9.0" + dependencies: + d3-array: "npm:3" + d3-axis: "npm:3" + d3-brush: "npm:3" + d3-chord: "npm:3" + d3-color: "npm:3" + d3-contour: "npm:4" + d3-delaunay: "npm:6" + d3-dispatch: "npm:3" + d3-drag: "npm:3" + d3-dsv: "npm:3" + d3-ease: "npm:3" + d3-fetch: "npm:3" + d3-force: "npm:3" + d3-format: "npm:3" + d3-geo: "npm:3" + d3-hierarchy: "npm:3" + d3-interpolate: "npm:3" + d3-path: "npm:3" + d3-polygon: "npm:3" + d3-quadtree: "npm:3" + d3-random: "npm:3" + d3-scale: "npm:4" + d3-scale-chromatic: "npm:3" + d3-selection: "npm:3" + d3-shape: "npm:3" + d3-time: "npm:3" + d3-time-format: "npm:4" + d3-timer: "npm:3" + d3-transition: "npm:3" + d3-zoom: "npm:3" + checksum: 10c0/3dd9c08c73cfaa69c70c49e603c85e049c3904664d9c79a1a52a0f52795828a1ff23592dc9a7b2257e711d68a615472a13103c212032f38e016d609796e087e8 + languageName: node + linkType: hard + "damerau-levenshtein@npm:^1.0.8": version: 1.0.8 resolution: "damerau-levenshtein@npm:1.0.8" @@ -7355,6 +8014,15 @@ __metadata: languageName: node linkType: hard +"delaunator@npm:5": + version: 5.0.1 + resolution: "delaunator@npm:5.0.1" + dependencies: + robust-predicates: "npm:^3.0.2" + checksum: 10c0/3d7ea4d964731c5849af33fec0a271bc6753487b331fd7d43ccb17d77834706e1c383e6ab8fda0032da955e7576d1083b9603cdaf9cbdfd6b3ebd1fb8bb675a5 + languageName: node + linkType: hard + "depd@npm:2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" @@ -7482,14 +8150,19 @@ __metadata: version: 0.0.0-use.local resolution: "docs@workspace:docs" dependencies: + "@chainsafe/sprinter-sdk": "workspace:^" "@cmfcmf/docusaurus-search-local": "npm:latest" - "@docusaurus/core": "npm:3.4.0" - "@docusaurus/module-type-aliases": "npm:3.4.0" - "@docusaurus/preset-classic": "npm:3.4.0" - "@docusaurus/tsconfig": "npm:3.4.0" - "@docusaurus/types": "npm:3.4.0" + "@docusaurus/core": "npm:^3.5.2" + "@docusaurus/module-type-aliases": "npm:^3.5.2" + "@docusaurus/preset-classic": "npm:^3.5.2" + "@docusaurus/tsconfig": "npm:^3.5.2" + "@docusaurus/types": "npm:^3.5.2" "@mdx-js/react": "npm:^3.0.1" + "@types/d3": "npm:^7" + "@types/d3-sankey": "npm:^0" clsx: "npm:^2.1.1" + d3: "npm:^7.9.0" + d3-sankey: "npm:^0.12.3" prism-react-renderer: "npm:^2.3.1" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" @@ -10023,7 +10696,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.6.2": +"iconv-lite@npm:0.6, iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -10128,10 +10801,10 @@ __metadata: languageName: node linkType: hard -"infima@npm:0.2.0-alpha.43": - version: 0.2.0-alpha.43 - resolution: "infima@npm:0.2.0-alpha.43" - checksum: 10c0/d248958713a97e1c9f73ace27ceff726ba86a9b534efb0ebdec3e72b785d8edb36db922e38ce09bbeb98a17b657e61357f22edc3a58f02ad51b7ae2ebd96e4e4 +"infima@npm:0.2.0-alpha.44": + version: 0.2.0-alpha.44 + resolution: "infima@npm:0.2.0-alpha.44" + checksum: 10c0/0fe2b7882e09187ee62e5192673c542513fe4743f727f887e195de4f26eb792ddf81577ca98c34a69ab7eb39251f60531b9ad6d2f454553bac326b1afc9d68b5 languageName: node linkType: hard @@ -10198,6 +10871,20 @@ __metadata: languageName: node linkType: hard +"internmap@npm:1 - 2": + version: 2.0.3 + resolution: "internmap@npm:2.0.3" + checksum: 10c0/8cedd57f07bbc22501516fbfc70447f0c6812871d471096fad9ea603516eacc2137b633633daf432c029712df0baefd793686388ddf5737e3ea15074b877f7ed + languageName: node + linkType: hard + +"internmap@npm:^1.0.0": + version: 1.0.1 + resolution: "internmap@npm:1.0.1" + checksum: 10c0/60942be815ca19da643b6d4f23bd0bf4e8c97abbd080fb963fe67583b60bdfb3530448ad4486bae40810e92317bded9995cc31411218acc750d72cd4e8646eee + languageName: node + linkType: hard + "interpret@npm:^1.0.0": version: 1.4.0 resolution: "interpret@npm:1.4.0" @@ -14978,6 +15665,13 @@ __metadata: languageName: node linkType: hard +"robust-predicates@npm:^3.0.2": + version: 3.0.2 + resolution: "robust-predicates@npm:3.0.2" + checksum: 10c0/4ecd53649f1c2d49529c85518f2fa69ffb2f7a4453f7fd19c042421c7b4d76c3efb48bc1c740c8f7049346d7cb58cf08ee0c9adaae595cc23564d360adb1fde4 + languageName: node + linkType: hard + "rollup-plugin-inject@npm:^3.0.0": version: 3.0.2 resolution: "rollup-plugin-inject@npm:3.0.2" @@ -15113,6 +15807,13 @@ __metadata: languageName: node linkType: hard +"rw@npm:1": + version: 1.3.3 + resolution: "rw@npm:1.3.3" + checksum: 10c0/b1e1ef37d1e79d9dc7050787866e30b6ddcb2625149276045c262c6b4d53075ddc35f387a856a8e76f0d0df59f4cd58fe24707e40797ebee66e542b840ed6a53 + languageName: node + linkType: hard + "sade@npm:^1.7.4, sade@npm:^1.8.1": version: 1.8.1 resolution: "sade@npm:1.8.1" From 42155fa63bf89cbc0a6290d0e2e427f517d175b1 Mon Sep 17 00:00:00 2001 From: BeroBurny Date: Tue, 27 Aug 2024 13:29:43 +0200 Subject: [PATCH 2/3] display dynamic routes in documentation --- .../01-introduction/04-supported-networks.md | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/docs/01-introduction/04-supported-networks.md b/docs/docs/01-introduction/04-supported-networks.md index bbf04d6..8778d12 100644 --- a/docs/docs/01-introduction/04-supported-networks.md +++ b/docs/docs/01-introduction/04-supported-networks.md @@ -4,15 +4,24 @@ title: Supported Bridges And Networks sidebar_position: 4 --- +import SankeyNetworkToken from '@site/src/components/SankeyNetworkToken'; + :::tip New routes, networks, and tokens can readily be added by the Sprinter team. Please reach out at [requests@buildwithsygma.com](mailto:requests@buildwithsygma.com) to get a conversation started. ::: -| Supported Bridges | Supported Networks | Supported Tokens | -|-------------------------------------|--------------------|------------------| -| [LI.FI](https://li.fi/) | Ethereum Mainnet | Native ETH | -| [Across](https://across.to/) | Base | Wrapped ETH | -| [Sygma](https://buildwithsygma.com) | Arbitrum | USDC | -| | Polygon | USDT | -| | Gnosis | DAI | -| | Cronos | | +### Supported Bridges + + * [LI.FI](https://li.fi/) + * [Across](https://across.to/) + * [Sygma](https://buildwithsygma.com) + +### Supported Networks and Tokens + +:::tip +Hover over network icon or token to show available routes +::: + +| Mainet | Testnet | +|-------------------------|------------| +| | | From 07f5655877aa275de57a5c587710d9d2a912c3aa Mon Sep 17 00:00:00 2001 From: BeroBurny Date: Tue, 27 Aug 2024 15:14:33 +0200 Subject: [PATCH 3/3] finishing :D --- docs/src/components/SankeyNetworkToken/data.ts | 12 ++++-------- docs/src/components/SankeyNetworkToken/index.tsx | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/docs/src/components/SankeyNetworkToken/data.ts b/docs/src/components/SankeyNetworkToken/data.ts index 19eee78..f28e206 100644 --- a/docs/src/components/SankeyNetworkToken/data.ts +++ b/docs/src/components/SankeyNetworkToken/data.ts @@ -1,19 +1,17 @@ import {getChainTokens, getFungibleTokens, getSupportedChains} from "@chainsafe/sprinter-sdk/dist/api"; -export async function getData(url: string) { - const chains= await getSupportedChains(); +export async function getData(baseUrl: string) { + const chains= await getSupportedChains({ baseUrl }); const leftNodes = chains.map(({ name, logoURI }) => ({ id: name, img: logoURI })); const leftNodesLength = leftNodes.length; - const tokens = await getFungibleTokens(); + const tokens = await getFungibleTokens({ baseUrl }); const rightNodes = tokens.map(({ name, logoURI }) => ({ id: name, img: logoURI })); const rightNodesLength = rightNodes.length; - const connections = await Promise.all(chains.map(async ({ chainID, name }) => ({ tokens: (await getChainTokens(chainID)), network: name }))); + const connections = await Promise.all(chains.map(async ({ chainID, name }) => ({ tokens: (await getChainTokens(chainID, { baseUrl })), network: name }))); const links = []; - console.log(leftNodes, rightNodes); - connections.forEach((networkTokens) => { const source = leftNodes.findIndex(({ id }) => networkTokens.network === id); @@ -28,8 +26,6 @@ export async function getData(url: string) { }); }); - console.log(links); - return { data: { nodes: [...leftNodes, ...rightNodes], diff --git a/docs/src/components/SankeyNetworkToken/index.tsx b/docs/src/components/SankeyNetworkToken/index.tsx index 60b0c70..261b9ec 100644 --- a/docs/src/components/SankeyNetworkToken/index.tsx +++ b/docs/src/components/SankeyNetworkToken/index.tsx @@ -11,7 +11,7 @@ export default function SankeyNetworkToken({ url }: SankeyNetworkTokenProps) { const svgRef = useRef(); useEffect(() => { - getData("https://api.test.sprinter.buildwithsygma.com/").then((({ data, leftNodes: ln, rightNodes: rn, leftNodesLength, rightNodesLength }) => { + getData(url).then((({ data, leftNodes: ln, rightNodes: rn, leftNodesLength, rightNodesLength }) => { const svgWidth = 350; const svgHeight = Math.max(leftNodesLength, rightNodesLength) * 100 + 50;