From e83d46b7806e649a3689abfc891c2e046de2978d Mon Sep 17 00:00:00 2001 From: lukepereira Date: Wed, 29 Mar 2023 16:16:11 -0400 Subject: [PATCH] Include date histogram and species multi-select in Geo page (#239) - Merge #221 - Merge #231 Co-authored-by: Max McCready <75914260+Bluesquare99@users.noreply.github.com> Co-authored-by: khanzardar --- package-lock.json | 2115 +++++++++++++++++++------- package.json | 11 +- src/components/Geo/Geo.tsx | 162 +- src/components/Geo/GeoHelpers.tsx | 194 +++ src/components/Geo/MapPlot.tsx | 142 +- src/components/Geo/ResultsTable.tsx | 93 ++ src/components/Geo/SelectionInfo.tsx | 85 -- src/components/Geo/SpeciesSelect.tsx | 77 + src/components/Geo/TimePlot.tsx | 23 + src/components/Geo/types.ts | 37 + 10 files changed, 2144 insertions(+), 795 deletions(-) create mode 100644 src/components/Geo/GeoHelpers.tsx create mode 100644 src/components/Geo/ResultsTable.tsx delete mode 100644 src/components/Geo/SelectionInfo.tsx create mode 100644 src/components/Geo/SpeciesSelect.tsx create mode 100644 src/components/Geo/TimePlot.tsx diff --git a/package-lock.json b/package-lock.json index 2893a8db..c057fa12 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@jbrowse/react-linear-genome-view": "^1.3.2", "axios": "^0.21.2", + "chroma-js": "^2.4.2", "d3": "^5.16.0", "d3-scale-chromatic": "^2.0.0", "fast-xml-parser": "^3.19.0", @@ -23,16 +24,20 @@ "react-plotly.js": "^2.5.1", "react-router-dom": "^5.2.0", "react-scripts": "^4.0.3", - "react-select": "^3.1.0" + "react-select": "^3.1.0", + "react-windowed-select": "^5.1.0" }, "devDependencies": { + "@types/chroma-js": "^2.1.4", "@types/d3": "^6.7.3", "@types/jest": "^26.0.23", - "@types/react": "^17.0.11", - "@types/react-helmet": "^6.1.0", + "@types/react": "^18.0.14", + "@types/react-dom": "^18.0.5", + "@types/react-helmet": "^6.1.6", "@types/react-plotly.js": "^2.2.4", "@types/react-router-dom": "^5.1.7", "@types/react-select": "^4.0.16", + "@types/react-window": "^1.8.5", "@typescript-eslint/eslint-plugin": "^4.28.0", "@typescript-eslint/parser": "^4.28.0", "autoprefixer": "^9.8.7", @@ -1853,6 +1858,37 @@ "version": "10.1.0", "license": "CC0-1.0" }, + "node_modules/@emotion/babel-plugin": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", + "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@emotion/cache": { "version": "10.0.29", "license": "MIT", @@ -1943,12 +1979,55 @@ }, "node_modules/@emotion/memoize": { "version": "0.8.0", - "dev": true, "license": "MIT" }, + "node_modules/@emotion/react": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", + "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/react/node_modules/@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/react/node_modules/@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "node_modules/@emotion/react/node_modules/@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, "node_modules/@emotion/serialize": { "version": "1.1.1", - "dev": true, "license": "MIT", "dependencies": { "@emotion/hash": "^0.9.0", @@ -1960,12 +2039,10 @@ }, "node_modules/@emotion/serialize/node_modules/@emotion/hash": { "version": "0.9.0", - "dev": true, "license": "MIT" }, "node_modules/@emotion/serialize/node_modules/csstype": { "version": "3.1.1", - "dev": true, "license": "MIT" }, "node_modules/@emotion/sheet": { @@ -1978,12 +2055,18 @@ }, "node_modules/@emotion/unitless": { "version": "0.8.0", - "dev": true, "license": "MIT" }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/@emotion/utils": { "version": "1.2.0", - "dev": true, "license": "MIT" }, "node_modules/@emotion/weak-memoize": { @@ -2019,13 +2102,27 @@ "version": "1.0.20", "license": "MIT" }, + "node_modules/@floating-ui/core": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.4.tgz", + "integrity": "sha512-SQOeVbMwb1di+mVWWJLpsUTToKfqVNioXys011beCAhyOIFtS+GQoW4EQSneuxzmQKddExDwQ+X0hLl4lJJaSQ==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.5.tgz", + "integrity": "sha512-+sAUfpQ3Frz+VCbPCqj+cZzvEESy3fjSeT/pDWkYCWOBXYNNKZfuVsHuv8/JO2zze8+Eb/Q7a6hZVgzS81fLbQ==", + "dependencies": { + "@floating-ui/core": "^1.2.4" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "license": "MIT" }, "node_modules/@gmod/bam": { "version": "1.1.18", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/bam/-/bam-1.1.18.tgz", + "integrity": "sha512-2Sn4zLV7DKYyrmYbNJRMchKGfhfIVm6LZEl2h7MSuGmAEtGfa1RBVOfG8Cu6VDC+lIFrgS4ys4vUFFxaWaxgSQ==", "dependencies": { "@gmod/bgzf-filehandle": "^1.4.4", "abortable-promise-cache": "^1.5.0", @@ -2042,7 +2139,8 @@ }, "node_modules/@gmod/bam/node_modules/generic-filehandle": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/generic-filehandle/-/generic-filehandle-3.0.1.tgz", + "integrity": "sha512-E0eVkls2Ni7fUQ47VxYJN45/ow821pITHcgyaMZXBUt1czZUionT6HSqE0t+bcAozt5MYeJCxVxIrlTxoASXuQ==", "dependencies": { "es6-promisify": "^6.1.1" }, @@ -2052,7 +2150,8 @@ }, "node_modules/@gmod/bam/node_modules/quick-lru": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-2.0.0.tgz", + "integrity": "sha512-DqOtZziv7lDjEyuqyVQacRciAwMCEjTNrLYCHYEIIgjcE/tLEpBF82hiDIwCjRnEL9/hY2GJxA0T8ZvYvVVSSA==", "engines": { "node": ">=6" } @@ -2083,7 +2182,8 @@ }, "node_modules/@gmod/bed": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/bed/-/bed-2.1.2.tgz", + "integrity": "sha512-LnCmA+jb0xfbSWO7isi1dVvqbQi8Icqaj8FeUcnCc8t4jiNe1eFoe1YU8Chn7a8EDGFqS06kMNpO1vodO+q4IA==", "engines": { "node": ">=6" } @@ -2138,7 +2238,8 @@ }, "node_modules/@gmod/cram": { "version": "1.7.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/cram/-/cram-1.7.3.tgz", + "integrity": "sha512-EtGln6OEK41zNAoCNMItcsi7d+rhnVtQFJzvrtMcTSwnOrJueN0w74H2m5PNvQvK6ZHkt3rqWNKZHVV8X4UJ8g==", "dependencies": { "@gmod/binary-parser": "^1.3.5", "@jkbonfield/htscodecs": "^0.5.1", @@ -2157,14 +2258,16 @@ }, "node_modules/@gmod/cram/node_modules/quick-lru": { "version": "4.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "engines": { "node": ">=8" } }, "node_modules/@gmod/gff": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/gff/-/gff-1.3.0.tgz", + "integrity": "sha512-OjEnQLR6iIcrau603blFfUkmnWGDVfOu/LQoJNa7TsvKnjWlHYPlvqb5h2IV7wI+zElDY648mQ9zrElt2uR80A==", "dependencies": { "stream-browserify": "^3.0.0" }, @@ -2173,8 +2276,9 @@ } }, "node_modules/@gmod/gff/node_modules/readable-stream": { - "version": "3.6.0", - "license": "MIT", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2186,7 +2290,8 @@ }, "node_modules/@gmod/gff/node_modules/stream-browserify": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dependencies": { "inherits": "~2.0.4", "readable-stream": "^3.5.0" @@ -2194,7 +2299,8 @@ }, "node_modules/@gmod/indexedfasta": { "version": "2.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/indexedfasta/-/indexedfasta-2.0.4.tgz", + "integrity": "sha512-gOvFfA0czZrUO1le1jgO2BKIYxB2q14PHAjggLy8Va0UWaN3rszqWbKHSfaNFqycaeoZVFPEPpVDvlgtoo4x5A==", "dependencies": { "@gmod/bgzf-filehandle": "^1.4.0", "generic-filehandle": "^3.0.0" @@ -2205,7 +2311,8 @@ }, "node_modules/@gmod/indexedfasta/node_modules/generic-filehandle": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/generic-filehandle/-/generic-filehandle-3.0.1.tgz", + "integrity": "sha512-E0eVkls2Ni7fUQ47VxYJN45/ow821pITHcgyaMZXBUt1czZUionT6HSqE0t+bcAozt5MYeJCxVxIrlTxoASXuQ==", "dependencies": { "es6-promisify": "^6.1.1" }, @@ -2215,7 +2322,8 @@ }, "node_modules/@gmod/nclist": { "version": "0.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/nclist/-/nclist-0.2.2.tgz", + "integrity": "sha512-LzIYvOSul9rl4y9eGIZx2ltTpTsXVWlEbW/rkauKSLjge6Pnv9XgkT43fCalYMi9Bzniwm5eF59JPi2eM5pcMg==", "dependencies": { "abortable-promise-cache": "^1.0.1", "quick-lru": "^4.0.0" @@ -2226,7 +2334,8 @@ }, "node_modules/@gmod/nclist/node_modules/quick-lru": { "version": "4.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "engines": { "node": ">=8" } @@ -2264,14 +2373,16 @@ }, "node_modules/@gmod/trix": { "version": "2.0.6", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@gmod/trix/-/trix-2.0.6.tgz", + "integrity": "sha512-J12/c8kRHw8mxoVpHTeG6B7w9aGOmFdOGRxhljjaUmcMiFB7CFinPtApsoOSO/e6TYI40E5zd5n3+Q2ZC89Qww==", "engines": { "node": ">=10" } }, "node_modules/@gmod/twobit": { "version": "1.1.14", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/twobit/-/twobit-1.1.14.tgz", + "integrity": "sha512-q0mpBkP6nwuHp/kLJAu8ereI8s/JPmPadmOWa0pfrAYU4ffEyItJOm0Kqfsn3Sc9l3p4hPeJ/7aHPkunsQDILQ==", "dependencies": { "@gmod/binary-parser": "^1.3.5", "generic-filehandle": "^3.0.0", @@ -2283,7 +2394,8 @@ }, "node_modules/@gmod/twobit/node_modules/generic-filehandle": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/generic-filehandle/-/generic-filehandle-3.0.1.tgz", + "integrity": "sha512-E0eVkls2Ni7fUQ47VxYJN45/ow821pITHcgyaMZXBUt1czZUionT6HSqE0t+bcAozt5MYeJCxVxIrlTxoASXuQ==", "dependencies": { "es6-promisify": "^6.1.1" }, @@ -2293,11 +2405,13 @@ }, "node_modules/@gmod/ucsc-hub": { "version": "0.1.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@gmod/ucsc-hub/-/ucsc-hub-0.1.7.tgz", + "integrity": "sha512-FHCgRLOYn5wjCGVDkGnW0wda7UAIFqVrKE5+0lh1EpUOu/UM1kfaidsJnha4Jc9V0+KCevSl4haVv0ZaMWqw2w==" }, "node_modules/@gmod/vcf": { "version": "5.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gmod/vcf/-/vcf-5.0.10.tgz", + "integrity": "sha512-o7QuPcOeXlJpzwQaFmgojhNvJE4yB9fhrfVEDKpkDjV27pAqwMy89367vtXu4JfBFE9t4zZ6sQRkqYaJ+cIheg==", "engines": { "node": ">=6" } @@ -2424,7 +2538,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/core": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/core/-/core-1.7.11.tgz", + "integrity": "sha512-mxAdolHprGU/zAnCs21SSu1Biwucb4yerqKdkuBj4lYTOJcW+rk0kd/wHJH10uMPd2/McMFsH7NgN9rbxg89yQ==", "dependencies": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.0.1", @@ -2471,7 +2586,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-alignments": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-alignments/-/plugin-alignments-1.7.11.tgz", + "integrity": "sha512-a102FGd1g4ccxzAI6pgWQpKhYyfriDXgw9MdAiDLbNc+/BPxQwk/EznQ5eX0pPSxBDV03qSZVxobg7VxXey98Q==", "dependencies": { "@babel/runtime": "^7.17.9", "@gmod/bam": "^1.1.15", @@ -2497,7 +2613,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-bed": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-bed/-/plugin-bed-1.7.11.tgz", + "integrity": "sha512-8Z6XdqXL6Y+C7nBoy2lQubmbPl2vcwwTkGt6vneA01c5v+TbmKF02g03x6hTboU32twt2sYSKqu2ZfROIHRhuQ==", "dependencies": { "@babel/runtime": "^7.17.9", "@flatten-js/interval-tree": "^1.0.15", @@ -2514,7 +2631,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-circular-view": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-circular-view/-/plugin-circular-view-1.7.11.tgz", + "integrity": "sha512-5qt11cWhfR9dRcwd+PnipJwEeo/pmEhBRIbfZRoQbjdhz+qKAzij9yfJ8TD0CERm9pV4INZB68ebIjlpr9PXsQ==", "dependencies": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.9.1" @@ -2531,7 +2649,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-config": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-config/-/plugin-config-1.7.11.tgz", + "integrity": "sha512-aKtZMnN2DCycPZ0RwtIF+i+vdHznMg8O9UgazTCuUT5UlGuRW7pARHU18/5QdA5f34Ufbt3WFom9CWpgeMdpUA==", "dependencies": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.9.1", @@ -2553,7 +2672,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-config/node_modules/react-simple-code-editor": { "version": "0.9.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-simple-code-editor/-/react-simple-code-editor-0.9.3.tgz", + "integrity": "sha512-JexTKcpcOjArsXUDCWNoXgIdshoacJVSuf3LbdKG0tHw5ISREoh7wvNZlRRk2gncFRSixkkTI5E18svC966rYQ==", "peerDependencies": { "react": "^16.0.0", "react-dom": "^16.0.0" @@ -2561,7 +2681,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-data-management": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-data-management/-/plugin-data-management-1.7.11.tgz", + "integrity": "sha512-u2+yDaZy2GMm6kKIEUqOSNc8Jw/2/iqGiKUkx6b75emS2GdmZOEzRG5n/SYrnvXaxy891nc275wwDcU6naCx3Q==", "dependencies": { "@babel/runtime": "^7.17.9", "@gmod/ucsc-hub": "^0.1.3", @@ -2584,7 +2705,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-data-management/node_modules/react-virtualized-auto-sizer": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz", + "integrity": "sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA==", "engines": { "node": ">8.0.0" }, @@ -2595,7 +2717,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-data-management/node_modules/react-vtree": { "version": "3.0.0-beta.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-vtree/-/react-vtree-3.0.0-beta.3.tgz", + "integrity": "sha512-BGC8kOT2Ti3rne0Nwu+n90TAo8lbYiWT36Cu47aj6bz+Bs7k5p3EVgBTinyuCdU5+n4a9wJOXHAdop/zsR1RAA==", "dependencies": { "@babel/runtime": "^7.11.0", "react-merge-refs": "^1.1.0" @@ -2606,24 +2729,10 @@ "react-window": ">= 1.8.5" } }, - "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-data-management/node_modules/react-window": { - "version": "1.8.8", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.0.0", - "memoize-one": ">=3.1.1 <6" - }, - "engines": { - "node": ">8.0.0" - }, - "peerDependencies": { - "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-gff3": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-gff3/-/plugin-gff3-1.7.11.tgz", + "integrity": "sha512-n/Srgj9iGnwJ+Cq1p8Iy8ub1iDPfvMmvaBhvYGC1mo4NnfW1HHMRiqW968nPzMCO9lju0ibkYcbXs6/GKdqS7g==", "dependencies": { "@babel/runtime": "^7.17.9", "@flatten-js/interval-tree": "^1.0.15", @@ -2644,7 +2753,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-legacy-jbrowse": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-legacy-jbrowse/-/plugin-legacy-jbrowse-1.7.11.tgz", + "integrity": "sha512-IQnYp5j9Z21OT30bsk9oIFd/tz4JRHoPSkjurHqgKIxiNpjqzjhmP2rQHGSMtmg7cIe4SsU6cDJGVMDaj6Fqrw==", "dependencies": { "@babel/runtime": "^7.17.9", "@gmod/nclist": "^0.2.1", @@ -2661,7 +2771,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-linear-genome-view": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-linear-genome-view/-/plugin-linear-genome-view-1.7.11.tgz", + "integrity": "sha512-svrsf643fieudvVa2diGS6hEbbH7m+6EXaYYGfyy8vIwjq298q8bQSydpXSi8rRCvusHXEJvGCCiyrZyxoaZDw==", "dependencies": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.9.1", @@ -2688,7 +2799,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-sequence": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-sequence/-/plugin-sequence-1.7.11.tgz", + "integrity": "sha512-dAjWO/lPWkhqDHeQAV+GtNhigc5uIh6XAgRrbBGwGAA58MSxX/vfNDJ4QVX308z2Mqa8fmY9hhSQ5Xjimxq7TA==", "dependencies": { "@babel/runtime": "^7.17.9", "@gmod/indexedfasta": "^2.0.2", @@ -2710,7 +2822,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-svg": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-svg/-/plugin-svg-1.7.11.tgz", + "integrity": "sha512-QTDy34sNYipsVk+w925UVhH6YPNzx/V7W77JaY10uHSV9lg8gnpi8lz2Q/7XFUG4Bo+m4tm9kqLOZLG5jRPadQ==", "dependencies": { "@babel/runtime": "^7.17.9" }, @@ -2724,7 +2837,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-trix": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-trix/-/plugin-trix-1.7.11.tgz", + "integrity": "sha512-KaP4je+6Vk4PY06DfGd0PVUYsWSTnWKf6G2UYMrbnbqObUnHf/ycZfVYAfYoiZTtyOYNGrMgXvcKTzuJNPhPzg==", "dependencies": { "@babel/runtime": "^7.17.9", "@gmod/trix": "^2.0.4" @@ -2741,7 +2855,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-variants": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-variants/-/plugin-variants-1.7.11.tgz", + "integrity": "sha512-t22AZMKwqOdy+4VnrB6oT4YO584B/ncyVYpugw4dWbpBQ0vosfRf94gd6737iYjjYWgghN0lz/VbnQ3mWhC+Uw==", "dependencies": { "@babel/runtime": "^7.17.9", "@flatten-js/interval-tree": "^1.0.15", @@ -2767,7 +2882,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@jbrowse/plugin-wiggle": { "version": "1.7.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-wiggle/-/plugin-wiggle-1.7.11.tgz", + "integrity": "sha512-JwGO3XPuw653WUZb/5JP8fkNJkSy8S8MuKzdociE5N92xFjpzGOP+CTJtoIEnpEESJvUTC4gzfi6Tjtc3GCYBQ==", "dependencies": { "@babel/runtime": "^7.17.9", "@gmod/bbi": "^1.0.35", @@ -2791,9 +2907,70 @@ "rxjs": "^6.0.0" } }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/@material-ui/core": { + "version": "4.12.4", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", + "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", + "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", + "dependencies": { + "@babel/runtime": "^7.4.4", + "@material-ui/styles": "^4.11.5", + "@material-ui/system": "^4.12.2", + "@material-ui/types": "5.1.0", + "@material-ui/utils": "^4.11.3", + "@types/react-transition-group": "^4.2.0", + "clsx": "^1.0.4", + "hoist-non-react-statics": "^3.3.2", + "popper.js": "1.16.1-lts", + "prop-types": "^15.7.2", + "react-is": "^16.8.0 || ^17.0.0", + "react-transition-group": "^4.4.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/@material-ui/icons": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz", + "integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==", + "dependencies": { + "@babel/runtime": "^7.4.4" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "@material-ui/core": "^4.0.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@material-ui/lab": { "version": "4.0.0-alpha.61", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.61.tgz", + "integrity": "sha512-rSzm+XKiNUjKegj8bzt5+pygZeckNLOr+IjykH8sYdVk7dE9y2ZuUSofiMV2bJk3qU+JHwexmw+q0RyNZB9ugg==", + "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.3", @@ -2816,9 +2993,79 @@ } } }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/@material-ui/styles": { + "version": "4.11.5", + "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", + "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", + "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", + "dependencies": { + "@babel/runtime": "^7.4.4", + "@emotion/hash": "^0.8.0", + "@material-ui/types": "5.1.0", + "@material-ui/utils": "^4.11.3", + "clsx": "^1.0.4", + "csstype": "^2.5.2", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.5.1", + "jss-plugin-camel-case": "^10.5.1", + "jss-plugin-default-unit": "^10.5.1", + "jss-plugin-global": "^10.5.1", + "jss-plugin-nested": "^10.5.1", + "jss-plugin-props-sort": "^10.5.1", + "jss-plugin-rule-value-function": "^10.5.1", + "jss-plugin-vendor-prefixer": "^10.5.1", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/@material-ui/system": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", + "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", + "dependencies": { + "@babel/runtime": "^7.4.4", + "@material-ui/utils": "^4.11.3", + "csstype": "^2.5.2", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@mui/x-data-grid": { "version": "4.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-4.0.2.tgz", + "integrity": "sha512-8FSupNcHgq4tu+27hxal1EK2r/3WeBYuMT++RXkOebm8XW1EmY+RVW6Gz/YSb6dpEyoTJH6gbHzAA/VrajdIXQ==", "dependencies": { "@material-ui/utils": "^5.0.0-beta.4", "clsx": "^1.1.1", @@ -2836,7 +3083,8 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/@mui/x-data-grid/node_modules/@material-ui/utils": { "version": "5.0.0-beta.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-5.0.0-beta.5.tgz", + "integrity": "sha512-wtJ3ovXWZdTAz5eLBqvMpYH/IBJb3qMQbGCyL1i00+sf7AUlAuv4QLx+QtX/siA6L7IpxUQVfqpoCpQH1eYRpQ==", "dependencies": { "@babel/runtime": "^7.14.8", "@types/prop-types": "^15.7.4", @@ -2851,16 +3099,37 @@ "react": "^17.0.2" } }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/@types/react": { + "version": "17.0.53", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.53.tgz", + "integrity": "sha512-1yIpQR2zdYu1Z/dc1OxC+MA6GR240u3gcnP4l6mvj/PJiVaqHsQPmWttsvHsfnhfPbU2FuGmo0wSITPygjBmsw==", + "optional": true, + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/@types/react/node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", + "optional": true, + "peer": true + }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/d3-array": { "version": "2.12.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", "dependencies": { "internmap": "^1.0.0" } }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/d3-scale": { "version": "3.3.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", + "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", "dependencies": { "d3-array": "^2.3.0", "d3-format": "1 - 2", @@ -2871,11 +3140,64 @@ }, "node_modules/@jbrowse/react-linear-genome-view/node_modules/d3-time": { "version": "2.1.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", + "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", "dependencies": { "d3-array": "2" } }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/material-ui-popup-state": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-1.9.3.tgz", + "integrity": "sha512-+Ete5Tzw5rXlYfmqptOS8kBUH8vnK5OJsd6IQ7SHtLjU0PsvsmM73M/k8ot0xkX4RmPGuNRsFbK3mlCe/ClQuw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@material-ui/types": "^6.0.1", + "classnames": "^2.2.6", + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "@material-ui/core": "^4.0.0 || ^5.0.0-beta", + "react": "^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/material-ui-popup-state/node_modules/@material-ui/types": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-6.0.2.tgz", + "integrity": "sha512-/XUca4wUb9pWimLLdM1PE8KS8rTbDEGohSGkGtk3WST7lm23m+8RYv9uOmrvOg/VSsl4bMiOv4t2/LCb+RLbTg==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/@jbrowse/react-linear-genome-view/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "node_modules/@jest/console": { "version": "26.6.2", "license": "MIT", @@ -3149,7 +3471,8 @@ }, "node_modules/@jkbonfield/htscodecs": { "version": "0.5.1", - "license": "BSD" + "resolved": "https://registry.npmjs.org/@jkbonfield/htscodecs/-/htscodecs-0.5.1.tgz", + "integrity": "sha512-1qNMsatU8i6qOsbtZnZxQwJnCRPMeviRo8+i44hoZ7W5OWUnXSKSx9273aLv9M6DxcuLapIiFvWAaoi5x7Loiw==" }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.2", @@ -3199,7 +3522,8 @@ }, "node_modules/@librpc/ee": { "version": "1.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@librpc/ee/-/ee-1.0.4.tgz", + "integrity": "sha512-vhPlbRwAKQC80h0k74tsOkMKIidZtqlFSOHRzCvC8n7Va9rzMDwpG26Pm84dAt0ZuGK0g1UEfPzxDiYo9ZQBrg==" }, "node_modules/@mapbox/geojson-rewind": { "version": "0.5.2", @@ -3255,128 +3579,6 @@ "node": ">=6.0.0" } }, - "node_modules/@material-ui/core": { - "version": "4.12.4", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.5", - "@material-ui/system": "^4.12.2", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/icons": { - "version": "4.11.3", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.4.4" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/styles": { - "version": "4.11.5", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/system": { - "version": "4.12.2", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@material-ui/types": { "version": "5.1.0", "license": "MIT", @@ -3918,6 +4120,12 @@ "@babel/types": "^7.3.0" } }, + "node_modules/@types/chroma-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-2.4.0.tgz", + "integrity": "sha512-JklMxityrwjBTjGY2anH8JaTx3yjRU3/sEHSblLH1ba5lqcSh1LnImXJZO5peJfXyqKYWjHTGy4s5Wz++hARrw==", + "dev": true + }, "node_modules/@types/d3": { "version": "6.7.5", "dev": true, @@ -4174,7 +4382,8 @@ }, "node_modules/@types/hast": { "version": "2.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", "dependencies": { "@types/unist": "*" } @@ -4257,8 +4466,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.53", - "license": "MIT", + "version": "18.0.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", + "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -4266,24 +4476,26 @@ } }, "node_modules/@types/react-dom": { - "version": "18.0.10", - "dev": true, - "license": "MIT", + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", "dependencies": { "@types/react": "*" } }, "node_modules/@types/react-helmet": { "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.6.tgz", + "integrity": "sha512-ZKcoOdW/Tg+kiUbkFCBtvDw0k3nD4HJ/h/B9yWxN4uDO8OkRksWTO+EL+z/Qu3aHTeTll3Ro0Cc/8UhwBCMG5A==", "dev": true, - "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@types/react-is": { "version": "17.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", "dependencies": { "@types/react": "*" } @@ -4334,6 +4546,14 @@ "@types/react": "*" } }, + "node_modules/@types/react-window": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.5.tgz", + "integrity": "sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/react/node_modules/csstype": { "version": "3.1.1", "license": "MIT" @@ -4370,7 +4590,8 @@ }, "node_modules/@types/unist": { "version": "2.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" }, "node_modules/@types/webpack": { "version": "4.41.33", @@ -5246,7 +5467,8 @@ }, "node_modules/autoprefixer": { "version": "9.8.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dependencies": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", @@ -5264,6 +5486,11 @@ "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "license": "MIT", @@ -6021,7 +6248,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.4", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "funding": [ { "type": "opencollective", @@ -6032,12 +6261,11 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { "browserslist": "cli.js" @@ -6107,7 +6335,9 @@ } }, "node_modules/bzip2": { - "version": "0.1.1" + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/bzip2/-/bzip2-0.1.1.tgz", + "integrity": "sha512-wMvOIQ5jX3ikcCxWO1HjYVOAB+sjKzMTYLQmFPi4d6GBF01cYpnIwQ4RaDX4F3QSJeiB6gFqt5hh9fbebCSspw==" }, "node_modules/cacache": { "version": "15.3.0", @@ -6280,8 +6510,9 @@ }, "node_modules/camelcase-css": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } @@ -6297,7 +6528,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001446", + "version": "1.0.30001469", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz", + "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==", "funding": [ { "type": "opencollective", @@ -6307,8 +6540,7 @@ "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/canvas-fit": { "version": "1.5.0", @@ -6319,11 +6551,13 @@ }, "node_modules/canvas-sequencer": { "version": "3.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/canvas-sequencer/-/canvas-sequencer-3.1.0.tgz", + "integrity": "sha512-ldw68WYXpmtb6oklvdMakuYB0py+F2Jeq1slCp0I9/c1sTLM7kTAtSZGssLETpoI3OjbMPd4O039OM6XKUt8wA==" }, "node_modules/canvas2svg": { "version": "1.0.16", - "license": "MIT" + "resolved": "https://registry.npmjs.org/canvas2svg/-/canvas2svg-1.0.16.tgz", + "integrity": "sha512-r3ryHprzDOtAsFuczw+/DKkLR3XexwIlJWnJ+71I9QF7V9scYaV5JZgYDoCUlYtT3ARnOpDcm/hDNZYbWMRHqA==" }, "node_modules/capture-exit": { "version": "2.0.0", @@ -6378,7 +6612,8 @@ }, "node_modules/character-entities": { "version": "1.2.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -6386,7 +6621,8 @@ }, "node_modules/character-entities-legacy": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -6394,7 +6630,8 @@ }, "node_modules/character-reference-invalid": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -6402,7 +6639,8 @@ }, "node_modules/charenc": { "version": "0.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "engines": { "node": "*" } @@ -6444,6 +6682,11 @@ "node": ">=10" } }, + "node_modules/chroma-js": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz", + "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==" + }, "node_modules/chrome-trace-event": { "version": "1.0.3", "license": "MIT", @@ -6570,7 +6813,8 @@ }, "node_modules/classnames": { "version": "2.3.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, "node_modules/clean-css": { "version": "4.2.4", @@ -6826,7 +7070,8 @@ }, "node_modules/comma-separated-tokens": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7156,14 +7401,16 @@ }, "node_modules/cross-fetch": { "version": "3.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dependencies": { "node-fetch": "2.6.7" } }, "node_modules/cross-fetch/node_modules/node-fetch": { "version": "2.6.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -7181,15 +7428,18 @@ }, "node_modules/cross-fetch/node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/cross-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/cross-fetch/node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -7209,7 +7459,8 @@ }, "node_modules/crypt": { "version": "0.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "engines": { "node": "*" } @@ -7429,12 +7680,14 @@ }, "node_modules/css-unit-converter": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true }, "node_modules/css-vendor": { "version": "2.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", "dependencies": { "@babel/runtime": "^7.8.3", "is-in-browser": "^1.0.2" @@ -8419,8 +8672,9 @@ } }, "node_modules/dompurify": { - "version": "2.4.3", - "license": "(MPL-2.0 OR Apache-2.0)" + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.5.tgz", + "integrity": "sha512-jggCCd+8Iqp4Tsz0nIvpcb22InKEBrGz5dw3EQJMs8HPJDsKbFIO3STYtAvCfDx26Muevn1MHVI0XxjgFfmiSA==" }, "node_modules/domutils": { "version": "2.8.0", @@ -9918,7 +10172,8 @@ }, "node_modules/fault": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", "dependencies": { "format": "^0.2.0" }, @@ -9994,7 +10249,8 @@ }, "node_modules/file-saver": { "version": "2.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, "node_modules/file-uri-to-path": { "version": "2.0.0", @@ -10373,6 +10629,8 @@ }, "node_modules/format": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", "engines": { "node": ">=0.4.x" } @@ -10585,7 +10843,8 @@ }, "node_modules/get-value": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-3.0.1.tgz", + "integrity": "sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA==", "dependencies": { "isobject": "^3.0.1" }, @@ -11457,7 +11716,8 @@ }, "node_modules/hast-util-parse-selector": { "version": "2.2.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -11465,7 +11725,8 @@ }, "node_modules/hastscript": { "version": "6.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", "dependencies": { "@types/hast": "^2.0.0", "comma-separated-tokens": "^1.0.0", @@ -11491,7 +11752,8 @@ }, "node_modules/highlight.js": { "version": "10.7.3", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "engines": { "node": "*" } @@ -11607,8 +11869,9 @@ }, "node_modules/html-tags": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -11849,7 +12112,8 @@ }, "node_modules/http-range-fetcher": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/http-range-fetcher/-/http-range-fetcher-1.5.0.tgz", + "integrity": "sha512-kmJ329r8LIOFUISX1OF1nhyNNXpA6zGWZFAIPyT0yaGQCs0PQLBGdTgwRfF9E7+VeztDVGidPPgDqQwL6KYyFw==", "dependencies": { "abortcontroller-polyfill": "^1.2.9", "node-fetch": "^2.6.7", @@ -11863,7 +12127,8 @@ }, "node_modules/http-range-fetcher/node_modules/quick-lru": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-2.0.0.tgz", + "integrity": "sha512-DqOtZziv7lDjEyuqyVQacRciAwMCEjTNrLYCHYEIIgjcE/tLEpBF82hiDIwCjRnEL9/hY2GJxA0T8ZvYvVVSSA==", "engines": { "node": ">=6" } @@ -11892,7 +12157,8 @@ }, "node_modules/hyphenate-style-name": { "version": "1.0.4", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, "node_modules/iconv-lite": { "version": "0.4.24", @@ -12118,7 +12384,8 @@ }, "node_modules/internmap": { "version": "1.0.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, "node_modules/interval-tree-1d": { "version": "1.0.4", @@ -12172,7 +12439,8 @@ }, "node_modules/is-alphabetical": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12180,7 +12448,8 @@ }, "node_modules/is-alphanumerical": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", "dependencies": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" @@ -12344,7 +12613,8 @@ }, "node_modules/is-decimal": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12446,7 +12716,8 @@ }, "node_modules/is-hexadecimal": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12461,7 +12732,8 @@ }, "node_modules/is-in-browser": { "version": "1.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" }, "node_modules/is-map": { "version": "2.0.2", @@ -12517,7 +12789,8 @@ }, "node_modules/is-object": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12572,7 +12845,8 @@ }, "node_modules/is-primitive": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", "engines": { "node": ">=0.10.0" } @@ -13470,7 +13744,8 @@ }, "node_modules/jexl": { "version": "2.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jexl/-/jexl-2.3.0.tgz", + "integrity": "sha512-ecqln4kTWNkMwbFvTukOMDq1jy1GcPzvshhMp/s4pxU86xdLDq7HbDRa87DfMfbSAOS8V6EwvCdfs0S+w/iycA==", "dependencies": { "@babel/runtime": "^7.10.2" } @@ -13568,7 +13843,8 @@ }, "node_modules/json-stable-stringify": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", "dependencies": { "jsonify": "^0.0.1" }, @@ -13602,14 +13878,16 @@ }, "node_modules/jsonify": { "version": "0.0.1", - "license": "Public Domain", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jss": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", + "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", "dependencies": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", @@ -13622,68 +13900,76 @@ } }, "node_modules/jss-plugin-camel-case": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", + "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", "dependencies": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", - "jss": "10.9.2" + "jss": "10.10.0" } }, "node_modules/jss-plugin-default-unit": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", + "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2" + "jss": "10.10.0" } }, "node_modules/jss-plugin-global": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", + "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2" + "jss": "10.10.0" } }, "node_modules/jss-plugin-nested": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", + "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2", + "jss": "10.10.0", "tiny-warning": "^1.0.2" } }, "node_modules/jss-plugin-props-sort": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", + "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2" + "jss": "10.10.0" } }, "node_modules/jss-plugin-rule-value-function": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", + "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2", + "jss": "10.10.0", "tiny-warning": "^1.0.2" } }, "node_modules/jss-plugin-vendor-prefixer": { - "version": "10.9.2", - "license": "MIT", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", + "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", "dependencies": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", - "jss": "10.9.2" + "jss": "10.10.0" } }, "node_modules/jss/node_modules/csstype": { "version": "3.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jsx-ast-utils": { "version": "3.3.3", @@ -13768,7 +14054,8 @@ }, "node_modules/librpc-web-mod": { "version": "1.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/librpc-web-mod/-/librpc-web-mod-1.1.6.tgz", + "integrity": "sha512-QXOEKbUdv/rzO0GBS1cBmRi19UobTsFJoySUYbPKpP32J/tjiGEm2DFgGFDW0E1254r48kc9sXm8kbldn833yQ==", "dependencies": { "@librpc/ee": "1.0.4", "serialize-error": "^8.1.0" @@ -13788,6 +14075,8 @@ }, "node_modules/load-script2": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/load-script2/-/load-script2-2.0.6.tgz", + "integrity": "sha512-pyuw/AR+ycZkRKgkMyXOIf/o2OnRQPc9grjZ04wVOeoJ7SqX97WlcZahl+3/r5qi09L/5d0iCVZ0q4OqNT/v0Q==", "funding": [ { "type": "github", @@ -13801,8 +14090,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/loader-runner": { "version": "2.4.0", @@ -13874,8 +14162,9 @@ }, "node_modules/lodash.topath": { "version": "4.5.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==", + "dev": true }, "node_modules/lodash.truncate": { "version": "4.4.2", @@ -13994,7 +14283,8 @@ }, "node_modules/lowlight": { "version": "1.20.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", "dependencies": { "fault": "^1.0.0", "highlight.js": "~10.7.0" @@ -14143,32 +14433,6 @@ "version": "1.2.6", "license": "ISC" }, - "node_modules/material-ui-popup-state": { - "version": "1.9.3", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "@material-ui/types": "^6.0.1", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0 || ^5.0.0-beta", - "react": "^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/material-ui-popup-state/node_modules/@material-ui/types": { - "version": "6.0.2", - "license": "MIT", - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/math-log2": { "version": "1.0.1", "license": "MIT", @@ -14188,7 +14452,8 @@ }, "node_modules/md5": { "version": "2.3.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -14539,8 +14804,9 @@ }, "node_modules/modern-normalize": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -14638,7 +14904,8 @@ }, "node_modules/nanoid": { "version": "2.1.11", - "license": "MIT" + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" }, "node_modules/nanomatch": { "version": "1.2.13", @@ -14765,15 +15032,17 @@ }, "node_modules/node-emoji": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, - "license": "MIT", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/node-fetch": { - "version": "2.6.8", - "license": "MIT", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -14791,15 +15060,18 @@ }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/node-fetch/node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14916,7 +15188,8 @@ }, "node_modules/normalize-wheel": { "version": "1.0.1", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==" }, "node_modules/normals": { "version": "1.1.0", @@ -14944,7 +15217,8 @@ }, "node_modules/num2fraction": { "version": "1.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" }, "node_modules/number-is-integer": { "version": "1.0.1", @@ -15043,8 +15317,9 @@ }, "node_modules/object-hash": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } @@ -15423,7 +15698,8 @@ }, "node_modules/parse-entities": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "dependencies": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", @@ -15593,8 +15869,9 @@ "license": "MIT" }, "node_modules/picocolors": { - "version": "0.2.1", - "license": "ISC" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -15834,7 +16111,8 @@ }, "node_modules/pluralize": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "engines": { "node": ">=4" } @@ -15872,7 +16150,8 @@ }, "node_modules/popper.js": { "version": "1.16.1-lts", - "license": "MIT" + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", + "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" }, "node_modules/portfinder": { "version": "1.0.32", @@ -15902,7 +16181,8 @@ }, "node_modules/postcss": { "version": "7.0.39", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" @@ -16245,8 +16525,9 @@ }, "node_modules/postcss-functions": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", + "integrity": "sha512-N5yWXWKA+uhpLQ9ZhBRl2bIAdM6oVJYpDojuI1nF2SzXBimJcdjFwiAouBVbO5VuOF3qA6BSFWFc3wXbbj72XQ==", "dev": true, - "license": "MIT", "dependencies": { "glob": "^7.1.2", "object-assign": "^4.1.1", @@ -16256,8 +16537,9 @@ }, "node_modules/postcss-functions/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -16267,8 +16549,9 @@ }, "node_modules/postcss-functions/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -16280,37 +16563,42 @@ }, "node_modules/postcss-functions/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/postcss-functions/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/postcss-functions/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/postcss-functions/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/postcss-functions/node_modules/postcss": { "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^2.4.1", "source-map": "^0.6.1", @@ -16322,13 +16610,15 @@ }, "node_modules/postcss-functions/node_modules/postcss-value-parser": { "version": "3.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true }, "node_modules/postcss-functions/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -16366,8 +16656,9 @@ }, "node_modules/postcss-js": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", "dev": true, - "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1", "postcss": "^7.0.18" @@ -16631,8 +16922,9 @@ }, "node_modules/postcss-nested": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", + "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", "dev": true, - "license": "MIT", "dependencies": { "postcss": "^7.0.32", "postcss-selector-parser": "^6.0.2" @@ -17063,7 +17355,8 @@ }, "node_modules/postcss-safe-parser/node_modules/nanoid": { "version": "3.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -17071,12 +17364,10 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/postcss-safe-parser/node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" - }, "node_modules/postcss-safe-parser/node_modules/postcss": { "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "funding": [ { "type": "opencollective", @@ -17087,7 +17378,6 @@ "url": "https://tidelift.com/funding/github/npm/postcss" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -17168,6 +17458,11 @@ "node": ">=6.14.4" } }, + "node_modules/postcss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "node_modules/potpack": { "version": "1.0.2", "license": "ISC" @@ -17249,7 +17544,8 @@ }, "node_modules/prismjs": { "version": "1.29.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", "engines": { "node": ">=6" } @@ -17309,7 +17605,8 @@ }, "node_modules/property-information": { "version": "5.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", "dependencies": { "xtend": "^4.0.0" }, @@ -17387,8 +17684,9 @@ }, "node_modules/purgecss": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", "dev": true, - "license": "MIT", "dependencies": { "commander": "^8.0.0", "glob": "^7.1.7", @@ -17401,16 +17699,18 @@ }, "node_modules/purgecss/node_modules/commander": { "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, - "license": "MIT", "engines": { "node": ">= 12" } }, "node_modules/purgecss/node_modules/nanoid": { "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true, - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -17418,13 +17718,10 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/purgecss/node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/purgecss/node_modules/postcss": { "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "dev": true, "funding": [ { @@ -17436,7 +17733,6 @@ "url": "https://tidelift.com/funding/github/npm/postcss" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -17625,7 +17921,8 @@ }, "node_modules/rbush": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", "dependencies": { "quickselect": "^2.0.0" } @@ -17674,8 +17971,9 @@ } }, "node_modules/react-d3-axis-mod": { - "version": "0.1.8", - "license": "MIT", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/react-d3-axis-mod/-/react-d3-axis-mod-0.1.9.tgz", + "integrity": "sha512-RL5p4hMlPivSZTdQGZKT9dQO6EvEpuJr7TvIZRt3Rn5hCVbCHmQsyfXhrndTa5mn9aQl+X6HgDL6DyJIR2Oj6Q==", "peerDependencies": { "react": ">=15.0.0" } @@ -17863,7 +18161,8 @@ }, "node_modules/react-error-boundary": { "version": "3.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -17893,7 +18192,8 @@ }, "node_modules/react-helmet": { "version": "6.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", "dependencies": { "object-assign": "^4.1.1", "prop-types": "^15.7.2", @@ -17926,7 +18226,8 @@ }, "node_modules/react-intersection-observer": { "version": "8.34.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-8.34.0.tgz", + "integrity": "sha512-TYKh52Zc0Uptp5/b4N91XydfSGKubEhgZRtcg1rhTKABXijc4Sdr1uTp5lJ8TN27jwUsdXxjHXtHa0kPj704sw==", "peerDependencies": { "react": "^15.0.0 || ^16.0.0 || ^17.0.0|| ^18.0.0" } @@ -17937,7 +18238,8 @@ }, "node_modules/react-merge-refs": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" @@ -18243,14 +18545,16 @@ }, "node_modules/react-side-effect": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", "peerDependencies": { "react": "^16.3.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/react-syntax-highlighter": { "version": "14.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-14.0.2.tgz", + "integrity": "sha512-hsib7OyzwLqdDdR7LiyjG5OdlLJ3jeqDL4uvXvQuGIqve/iZMLrxD3F0KWKcGfUwtzm5CxSZMJ8FNKSkQ//gbQ==", "dependencies": { "@babel/runtime": "^7.3.1", "highlight.js": "^10.1.1", @@ -18287,6 +18591,85 @@ "react-dom": ">=16.13" } }, + "node_modules/react-window": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.8.tgz", + "integrity": "sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "memoize-one": ">=3.1.1 <6" + }, + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-windowed-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-windowed-select/-/react-windowed-select-5.1.0.tgz", + "integrity": "sha512-5Ezt5Zb3GyBZH3OIWcsu9JQN/busVHtvYg5/POVV+cKKtpuZ9x8ZMT1TmWGwAt+SjcD6/lyDTaX59k7/KZ+hfQ==", + "dependencies": { + "@types/react": "^18.0.14", + "@types/react-dom": "^18.0.5", + "@types/react-window": "^1.8.2", + "react-select": "^5.2.2", + "react-window": "^1.8.6" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-windowed-select/node_modules/@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "node_modules/react-windowed-select/node_modules/@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "node_modules/react-windowed-select/node_modules/@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "node_modules/react-windowed-select/node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/react-windowed-select/node_modules/react-select": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.2.tgz", + "integrity": "sha512-cTlJkQ8YjV6T/js8wW0owTzht0hHGABh29vjLscY4HfZGkv7hc3FFTmRp9NzY/Ib1uQ36GieAKEjxpHdpCFpcA==", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/reactcss": { "version": "1.2.3", "license": "MIT", @@ -18422,8 +18805,9 @@ }, "node_modules/reduce-css-calc": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", "dev": true, - "license": "MIT", "dependencies": { "css-unit-converter": "^1.1.1", "postcss-value-parser": "^3.3.0" @@ -18431,8 +18815,9 @@ }, "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { "version": "3.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true }, "node_modules/reduce-simplicial-complex": { "version": "1.0.0", @@ -18445,7 +18830,8 @@ }, "node_modules/refractor": { "version": "3.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", "dependencies": { "hastscript": "^6.0.0", "parse-entities": "^2.0.0", @@ -18458,7 +18844,8 @@ }, "node_modules/refractor/node_modules/prismjs": { "version": "1.27.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", "engines": { "node": ">=6" } @@ -18715,7 +19102,8 @@ }, "node_modules/reselect": { "version": "4.1.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.7.tgz", + "integrity": "sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==" }, "node_modules/resolve": { "version": "1.22.1", @@ -19664,7 +20052,8 @@ }, "node_modules/serialize-error": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", "dependencies": { "type-fest": "^0.20.2" }, @@ -19763,12 +20152,13 @@ }, "node_modules/set-value": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", + "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", "funding": [ "https://github.com/sponsors/jonschlinkert", "https://paypal.me/jonathanschlinkert", "https://jonschlinkert.dev/sponsor" ], - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "is-primitive": "^3.0.1" @@ -19828,7 +20218,8 @@ }, "node_modules/shortid": { "version": "2.2.16", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", "dependencies": { "nanoid": "^2.1.0" } @@ -20168,7 +20559,8 @@ }, "node_modules/source-map-js": { "version": "1.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "engines": { "node": ">=0.10.0" } @@ -20202,7 +20594,8 @@ }, "node_modules/space-separated-tokens": { "version": "1.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -20760,6 +21153,11 @@ "node": ">=8" } }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, "node_modules/supercluster": { "version": "7.1.5", "license": "ISC", @@ -20838,7 +21236,8 @@ }, "node_modules/svg-path-generator": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/svg-path-generator/-/svg-path-generator-1.1.0.tgz", + "integrity": "sha512-eapn3syFa828HJRI3Wv+ceq7K/TUo/wA31w5oyerA3CNz02YkLM8aSjXA851+0qhc1ibihiJHxy54eacm2/euQ==" }, "node_modules/svg-path-sdf": { "version": "1.1.3", @@ -21019,8 +21418,9 @@ "node_modules/tailwindcss": { "name": "@tailwindcss/postcss7-compat", "version": "2.2.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss7-compat/-/postcss7-compat-2.2.17.tgz", + "integrity": "sha512-3h2svqQAqYHxRZ1KjsJjZOVTQ04m29LjfrLjXyZZEJuvUuJN+BCIF9GI8vhE1s0plS0mogd6E6YLg6mu4Wv/Vw==", "dev": true, - "license": "MIT", "dependencies": { "arg": "^5.0.1", "autoprefixer": "^9", @@ -21068,8 +21468,9 @@ }, "node_modules/tailwindcss/node_modules/color": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" @@ -21080,8 +21481,9 @@ }, "node_modules/tailwindcss/node_modules/cosmiconfig": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, - "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -21095,8 +21497,9 @@ }, "node_modules/tailwindcss/node_modules/fs-extra": { "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -21119,8 +21522,9 @@ }, "node_modules/tailwindcss/node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -21489,8 +21893,9 @@ }, "node_modules/tmp": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, - "license": "MIT", "dependencies": { "rimraf": "^3.0.0" }, @@ -22061,10 +22466,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/update-browserslist-db/node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" - }, "node_modules/update-diff": { "version": "1.1.0", "license": "MIT" @@ -22148,6 +22549,19 @@ "node": ">=0.10.0" } }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/util": { "version": "0.11.1", "license": "MIT", @@ -23730,7 +24144,8 @@ }, "node_modules/window-or-global": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/window-or-global/-/window-or-global-1.0.1.tgz", + "integrity": "sha512-tE12J/NenOv4xdVobD+AD3fT06T4KNqnzRhkv5nBIu7K+pvOH2oLCEgYP+i+5mF2jtI6FEADheOdZkA8YWET9w==" }, "node_modules/word-wrap": { "version": "1.2.3", @@ -25127,6 +25542,36 @@ "@csstools/normalize.css": { "version": "10.1.0" }, + "@emotion/babel-plugin": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", + "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + }, + "dependencies": { + "@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, "@emotion/cache": { "version": "10.0.29", "requires": { @@ -25206,12 +25651,49 @@ "version": "0.8.0" }, "@emotion/memoize": { - "version": "0.8.0", - "dev": true + "version": "0.8.0" + }, + "@emotion/react": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", + "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + }, + "dependencies": { + "@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + } + } }, "@emotion/serialize": { "version": "1.1.1", - "dev": true, "requires": { "@emotion/hash": "^0.9.0", "@emotion/memoize": "^0.8.0", @@ -25221,12 +25703,10 @@ }, "dependencies": { "@emotion/hash": { - "version": "0.9.0", - "dev": true + "version": "0.9.0" }, "csstype": { - "version": "3.1.1", - "dev": true + "version": "3.1.1" } } }, @@ -25237,12 +25717,16 @@ "version": "0.8.5" }, "@emotion/unitless": { - "version": "0.8.0", - "dev": true + "version": "0.8.0" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "requires": {} }, "@emotion/utils": { - "version": "1.2.0", - "dev": true + "version": "1.2.0" }, "@emotion/weak-memoize": { "version": "0.2.5" @@ -25269,11 +25753,26 @@ "@flatten-js/interval-tree": { "version": "1.0.20" }, + "@floating-ui/core": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.4.tgz", + "integrity": "sha512-SQOeVbMwb1di+mVWWJLpsUTToKfqVNioXys011beCAhyOIFtS+GQoW4EQSneuxzmQKddExDwQ+X0hLl4lJJaSQ==" + }, + "@floating-ui/dom": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.5.tgz", + "integrity": "sha512-+sAUfpQ3Frz+VCbPCqj+cZzvEESy3fjSeT/pDWkYCWOBXYNNKZfuVsHuv8/JO2zze8+Eb/Q7a6hZVgzS81fLbQ==", + "requires": { + "@floating-ui/core": "^1.2.4" + } + }, "@gar/promisify": { "version": "1.1.3" }, "@gmod/bam": { "version": "1.1.18", + "resolved": "https://registry.npmjs.org/@gmod/bam/-/bam-1.1.18.tgz", + "integrity": "sha512-2Sn4zLV7DKYyrmYbNJRMchKGfhfIVm6LZEl2h7MSuGmAEtGfa1RBVOfG8Cu6VDC+lIFrgS4ys4vUFFxaWaxgSQ==", "requires": { "@gmod/bgzf-filehandle": "^1.4.4", "abortable-promise-cache": "^1.5.0", @@ -25287,12 +25786,16 @@ "dependencies": { "generic-filehandle": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/generic-filehandle/-/generic-filehandle-3.0.1.tgz", + "integrity": "sha512-E0eVkls2Ni7fUQ47VxYJN45/ow821pITHcgyaMZXBUt1czZUionT6HSqE0t+bcAozt5MYeJCxVxIrlTxoASXuQ==", "requires": { "es6-promisify": "^6.1.1" } }, "quick-lru": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-2.0.0.tgz", + "integrity": "sha512-DqOtZziv7lDjEyuqyVQacRciAwMCEjTNrLYCHYEIIgjcE/tLEpBF82hiDIwCjRnEL9/hY2GJxA0T8ZvYvVVSSA==" } } }, @@ -25315,7 +25818,9 @@ } }, "@gmod/bed": { - "version": "2.1.2" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@gmod/bed/-/bed-2.1.2.tgz", + "integrity": "sha512-LnCmA+jb0xfbSWO7isi1dVvqbQi8Icqaj8FeUcnCc8t4jiNe1eFoe1YU8Chn7a8EDGFqS06kMNpO1vodO+q4IA==" }, "@gmod/bgzf-filehandle": { "version": "1.4.5", @@ -25353,6 +25858,8 @@ }, "@gmod/cram": { "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@gmod/cram/-/cram-1.7.3.tgz", + "integrity": "sha512-EtGln6OEK41zNAoCNMItcsi7d+rhnVtQFJzvrtMcTSwnOrJueN0w74H2m5PNvQvK6ZHkt3rqWNKZHVV8X4UJ8g==", "requires": { "@gmod/binary-parser": "^1.3.5", "@jkbonfield/htscodecs": "^0.5.1", @@ -25367,18 +25874,24 @@ }, "dependencies": { "quick-lru": { - "version": "4.0.1" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" } } }, "@gmod/gff": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@gmod/gff/-/gff-1.3.0.tgz", + "integrity": "sha512-OjEnQLR6iIcrau603blFfUkmnWGDVfOu/LQoJNa7TsvKnjWlHYPlvqb5h2IV7wI+zElDY648mQ9zrElt2uR80A==", "requires": { "stream-browserify": "^3.0.0" }, "dependencies": { "readable-stream": { - "version": "3.6.0", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -25387,6 +25900,8 @@ }, "stream-browserify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "requires": { "inherits": "~2.0.4", "readable-stream": "^3.5.0" @@ -25396,6 +25911,8 @@ }, "@gmod/indexedfasta": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@gmod/indexedfasta/-/indexedfasta-2.0.4.tgz", + "integrity": "sha512-gOvFfA0czZrUO1le1jgO2BKIYxB2q14PHAjggLy8Va0UWaN3rszqWbKHSfaNFqycaeoZVFPEPpVDvlgtoo4x5A==", "requires": { "@gmod/bgzf-filehandle": "^1.4.0", "generic-filehandle": "^3.0.0" @@ -25403,6 +25920,8 @@ "dependencies": { "generic-filehandle": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/generic-filehandle/-/generic-filehandle-3.0.1.tgz", + "integrity": "sha512-E0eVkls2Ni7fUQ47VxYJN45/ow821pITHcgyaMZXBUt1czZUionT6HSqE0t+bcAozt5MYeJCxVxIrlTxoASXuQ==", "requires": { "es6-promisify": "^6.1.1" } @@ -25411,13 +25930,17 @@ }, "@gmod/nclist": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@gmod/nclist/-/nclist-0.2.2.tgz", + "integrity": "sha512-LzIYvOSul9rl4y9eGIZx2ltTpTsXVWlEbW/rkauKSLjge6Pnv9XgkT43fCalYMi9Bzniwm5eF59JPi2eM5pcMg==", "requires": { "abortable-promise-cache": "^1.0.1", "quick-lru": "^4.0.0" }, "dependencies": { "quick-lru": { - "version": "4.0.1" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" } } }, @@ -25443,10 +25966,14 @@ } }, "@gmod/trix": { - "version": "2.0.6" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@gmod/trix/-/trix-2.0.6.tgz", + "integrity": "sha512-J12/c8kRHw8mxoVpHTeG6B7w9aGOmFdOGRxhljjaUmcMiFB7CFinPtApsoOSO/e6TYI40E5zd5n3+Q2ZC89Qww==" }, "@gmod/twobit": { "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@gmod/twobit/-/twobit-1.1.14.tgz", + "integrity": "sha512-q0mpBkP6nwuHp/kLJAu8ereI8s/JPmPadmOWa0pfrAYU4ffEyItJOm0Kqfsn3Sc9l3p4hPeJ/7aHPkunsQDILQ==", "requires": { "@gmod/binary-parser": "^1.3.5", "generic-filehandle": "^3.0.0", @@ -25455,6 +25982,8 @@ "dependencies": { "generic-filehandle": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/generic-filehandle/-/generic-filehandle-3.0.1.tgz", + "integrity": "sha512-E0eVkls2Ni7fUQ47VxYJN45/ow821pITHcgyaMZXBUt1czZUionT6HSqE0t+bcAozt5MYeJCxVxIrlTxoASXuQ==", "requires": { "es6-promisify": "^6.1.1" } @@ -25462,10 +25991,14 @@ } }, "@gmod/ucsc-hub": { - "version": "0.1.7" + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@gmod/ucsc-hub/-/ucsc-hub-0.1.7.tgz", + "integrity": "sha512-FHCgRLOYn5wjCGVDkGnW0wda7UAIFqVrKE5+0lh1EpUOu/UM1kfaidsJnha4Jc9V0+KCevSl4haVv0ZaMWqw2w==" }, "@gmod/vcf": { - "version": "5.0.10" + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@gmod/vcf/-/vcf-5.0.10.tgz", + "integrity": "sha512-o7QuPcOeXlJpzwQaFmgojhNvJE4yB9fhrfVEDKpkDjV27pAqwMy89367vtXu4JfBFE9t4zZ6sQRkqYaJ+cIheg==" }, "@hapi/address": { "version": "2.1.4" @@ -25558,6 +26091,8 @@ "dependencies": { "@jbrowse/core": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/core/-/core-1.7.11.tgz", + "integrity": "sha512-mxAdolHprGU/zAnCs21SSu1Biwucb4yerqKdkuBj4lYTOJcW+rk0kd/wHJH10uMPd2/McMFsH7NgN9rbxg89yQ==", "requires": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.0.1", @@ -25592,6 +26127,8 @@ }, "@jbrowse/plugin-alignments": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-alignments/-/plugin-alignments-1.7.11.tgz", + "integrity": "sha512-a102FGd1g4ccxzAI6pgWQpKhYyfriDXgw9MdAiDLbNc+/BPxQwk/EznQ5eX0pPSxBDV03qSZVxobg7VxXey98Q==", "requires": { "@babel/runtime": "^7.17.9", "@gmod/bam": "^1.1.15", @@ -25605,6 +26142,8 @@ }, "@jbrowse/plugin-bed": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-bed/-/plugin-bed-1.7.11.tgz", + "integrity": "sha512-8Z6XdqXL6Y+C7nBoy2lQubmbPl2vcwwTkGt6vneA01c5v+TbmKF02g03x6hTboU32twt2sYSKqu2ZfROIHRhuQ==", "requires": { "@babel/runtime": "^7.17.9", "@flatten-js/interval-tree": "^1.0.15", @@ -25616,6 +26155,8 @@ }, "@jbrowse/plugin-circular-view": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-circular-view/-/plugin-circular-view-1.7.11.tgz", + "integrity": "sha512-5qt11cWhfR9dRcwd+PnipJwEeo/pmEhBRIbfZRoQbjdhz+qKAzij9yfJ8TD0CERm9pV4INZB68ebIjlpr9PXsQ==", "requires": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.9.1" @@ -25623,6 +26164,8 @@ }, "@jbrowse/plugin-config": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-config/-/plugin-config-1.7.11.tgz", + "integrity": "sha512-aKtZMnN2DCycPZ0RwtIF+i+vdHznMg8O9UgazTCuUT5UlGuRW7pARHU18/5QdA5f34Ufbt3WFom9CWpgeMdpUA==", "requires": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.9.1", @@ -25634,12 +26177,16 @@ "dependencies": { "react-simple-code-editor": { "version": "0.9.3", + "resolved": "https://registry.npmjs.org/react-simple-code-editor/-/react-simple-code-editor-0.9.3.tgz", + "integrity": "sha512-JexTKcpcOjArsXUDCWNoXgIdshoacJVSuf3LbdKG0tHw5ISREoh7wvNZlRRk2gncFRSixkkTI5E18svC966rYQ==", "requires": {} } } }, "@jbrowse/plugin-data-management": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-data-management/-/plugin-data-management-1.7.11.tgz", + "integrity": "sha512-u2+yDaZy2GMm6kKIEUqOSNc8Jw/2/iqGiKUkx6b75emS2GdmZOEzRG5n/SYrnvXaxy891nc275wwDcU6naCx3Q==", "requires": { "@babel/runtime": "^7.17.9", "@gmod/ucsc-hub": "^0.1.3", @@ -25652,26 +26199,25 @@ "dependencies": { "react-virtualized-auto-sizer": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz", + "integrity": "sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA==", "requires": {} }, "react-vtree": { "version": "3.0.0-beta.3", + "resolved": "https://registry.npmjs.org/react-vtree/-/react-vtree-3.0.0-beta.3.tgz", + "integrity": "sha512-BGC8kOT2Ti3rne0Nwu+n90TAo8lbYiWT36Cu47aj6bz+Bs7k5p3EVgBTinyuCdU5+n4a9wJOXHAdop/zsR1RAA==", "requires": { "@babel/runtime": "^7.11.0", "react-merge-refs": "^1.1.0" } - }, - "react-window": { - "version": "1.8.8", - "requires": { - "@babel/runtime": "^7.0.0", - "memoize-one": ">=3.1.1 <6" - } } } }, "@jbrowse/plugin-gff3": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-gff3/-/plugin-gff3-1.7.11.tgz", + "integrity": "sha512-n/Srgj9iGnwJ+Cq1p8Iy8ub1iDPfvMmvaBhvYGC1mo4NnfW1HHMRiqW968nPzMCO9lju0ibkYcbXs6/GKdqS7g==", "requires": { "@babel/runtime": "^7.17.9", "@flatten-js/interval-tree": "^1.0.15", @@ -25682,6 +26228,8 @@ }, "@jbrowse/plugin-legacy-jbrowse": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-legacy-jbrowse/-/plugin-legacy-jbrowse-1.7.11.tgz", + "integrity": "sha512-IQnYp5j9Z21OT30bsk9oIFd/tz4JRHoPSkjurHqgKIxiNpjqzjhmP2rQHGSMtmg7cIe4SsU6cDJGVMDaj6Fqrw==", "requires": { "@babel/runtime": "^7.17.9", "@gmod/nclist": "^0.2.1", @@ -25693,6 +26241,8 @@ }, "@jbrowse/plugin-linear-genome-view": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-linear-genome-view/-/plugin-linear-genome-view-1.7.11.tgz", + "integrity": "sha512-svrsf643fieudvVa2diGS6hEbbH7m+6EXaYYGfyy8vIwjq298q8bQSydpXSi8rRCvusHXEJvGCCiyrZyxoaZDw==", "requires": { "@babel/runtime": "^7.17.9", "@material-ui/icons": "^4.9.1", @@ -25708,6 +26258,8 @@ }, "@jbrowse/plugin-sequence": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-sequence/-/plugin-sequence-1.7.11.tgz", + "integrity": "sha512-dAjWO/lPWkhqDHeQAV+GtNhigc5uIh6XAgRrbBGwGAA58MSxX/vfNDJ4QVX308z2Mqa8fmY9hhSQ5Xjimxq7TA==", "requires": { "@babel/runtime": "^7.17.9", "@gmod/indexedfasta": "^2.0.2", @@ -25718,12 +26270,16 @@ }, "@jbrowse/plugin-svg": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-svg/-/plugin-svg-1.7.11.tgz", + "integrity": "sha512-QTDy34sNYipsVk+w925UVhH6YPNzx/V7W77JaY10uHSV9lg8gnpi8lz2Q/7XFUG4Bo+m4tm9kqLOZLG5jRPadQ==", "requires": { "@babel/runtime": "^7.17.9" } }, "@jbrowse/plugin-trix": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-trix/-/plugin-trix-1.7.11.tgz", + "integrity": "sha512-KaP4je+6Vk4PY06DfGd0PVUYsWSTnWKf6G2UYMrbnbqObUnHf/ycZfVYAfYoiZTtyOYNGrMgXvcKTzuJNPhPzg==", "requires": { "@babel/runtime": "^7.17.9", "@gmod/trix": "^2.0.4" @@ -25731,6 +26287,8 @@ }, "@jbrowse/plugin-variants": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-variants/-/plugin-variants-1.7.11.tgz", + "integrity": "sha512-t22AZMKwqOdy+4VnrB6oT4YO584B/ncyVYpugw4dWbpBQ0vosfRf94gd6737iYjjYWgghN0lz/VbnQ3mWhC+Uw==", "requires": { "@babel/runtime": "^7.17.9", "@flatten-js/interval-tree": "^1.0.15", @@ -25744,6 +26302,8 @@ }, "@jbrowse/plugin-wiggle": { "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@jbrowse/plugin-wiggle/-/plugin-wiggle-1.7.11.tgz", + "integrity": "sha512-JwGO3XPuw653WUZb/5JP8fkNJkSy8S8MuKzdociE5N92xFjpzGOP+CTJtoIEnpEESJvUTC4gzfi6Tjtc3GCYBQ==", "requires": { "@babel/runtime": "^7.17.9", "@gmod/bbi": "^1.0.35", @@ -25756,8 +26316,37 @@ "react-popper": "^2.0.0" } }, + "@material-ui/core": { + "version": "4.12.4", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", + "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", + "requires": { + "@babel/runtime": "^7.4.4", + "@material-ui/styles": "^4.11.5", + "@material-ui/system": "^4.12.2", + "@material-ui/types": "5.1.0", + "@material-ui/utils": "^4.11.3", + "@types/react-transition-group": "^4.2.0", + "clsx": "^1.0.4", + "hoist-non-react-statics": "^3.3.2", + "popper.js": "1.16.1-lts", + "prop-types": "^15.7.2", + "react-is": "^16.8.0 || ^17.0.0", + "react-transition-group": "^4.4.0" + } + }, + "@material-ui/icons": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz", + "integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==", + "requires": { + "@babel/runtime": "^7.4.4" + } + }, "@material-ui/lab": { "version": "4.0.0-alpha.61", + "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.61.tgz", + "integrity": "sha512-rSzm+XKiNUjKegj8bzt5+pygZeckNLOr+IjykH8sYdVk7dE9y2ZuUSofiMV2bJk3qU+JHwexmw+q0RyNZB9ugg==", "requires": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.3", @@ -25766,8 +26355,44 @@ "react-is": "^16.8.0 || ^17.0.0" } }, + "@material-ui/styles": { + "version": "4.11.5", + "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", + "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", + "requires": { + "@babel/runtime": "^7.4.4", + "@emotion/hash": "^0.8.0", + "@material-ui/types": "5.1.0", + "@material-ui/utils": "^4.11.3", + "clsx": "^1.0.4", + "csstype": "^2.5.2", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.5.1", + "jss-plugin-camel-case": "^10.5.1", + "jss-plugin-default-unit": "^10.5.1", + "jss-plugin-global": "^10.5.1", + "jss-plugin-nested": "^10.5.1", + "jss-plugin-props-sort": "^10.5.1", + "jss-plugin-rule-value-function": "^10.5.1", + "jss-plugin-vendor-prefixer": "^10.5.1", + "prop-types": "^15.7.2" + } + }, + "@material-ui/system": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", + "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", + "requires": { + "@babel/runtime": "^7.4.4", + "@material-ui/utils": "^4.11.3", + "csstype": "^2.5.2", + "prop-types": "^15.7.2" + } + }, "@mui/x-data-grid": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-4.0.2.tgz", + "integrity": "sha512-8FSupNcHgq4tu+27hxal1EK2r/3WeBYuMT++RXkOebm8XW1EmY+RVW6Gz/YSb6dpEyoTJH6gbHzAA/VrajdIXQ==", "requires": { "@material-ui/utils": "^5.0.0-beta.4", "clsx": "^1.1.1", @@ -25777,6 +26402,8 @@ "dependencies": { "@material-ui/utils": { "version": "5.0.0-beta.5", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-5.0.0-beta.5.tgz", + "integrity": "sha512-wtJ3ovXWZdTAz5eLBqvMpYH/IBJb3qMQbGCyL1i00+sf7AUlAuv4QLx+QtX/siA6L7IpxUQVfqpoCpQH1eYRpQ==", "requires": { "@babel/runtime": "^7.14.8", "@types/prop-types": "^15.7.4", @@ -25787,14 +26414,39 @@ } } }, + "@types/react": { + "version": "17.0.53", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.53.tgz", + "integrity": "sha512-1yIpQR2zdYu1Z/dc1OxC+MA6GR240u3gcnP4l6mvj/PJiVaqHsQPmWttsvHsfnhfPbU2FuGmo0wSITPygjBmsw==", + "optional": true, + "peer": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", + "optional": true, + "peer": true + } + } + }, "d3-array": { "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", "requires": { "internmap": "^1.0.0" } }, "d3-scale": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", + "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", "requires": { "d3-array": "^2.3.0", "d3-format": "1 - 2", @@ -25805,9 +26457,51 @@ }, "d3-time": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", + "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", "requires": { "d3-array": "2" } + }, + "material-ui-popup-state": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-1.9.3.tgz", + "integrity": "sha512-+Ete5Tzw5rXlYfmqptOS8kBUH8vnK5OJsd6IQ7SHtLjU0PsvsmM73M/k8ot0xkX4RmPGuNRsFbK3mlCe/ClQuw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@material-ui/types": "^6.0.1", + "classnames": "^2.2.6", + "prop-types": "^15.7.2" + }, + "dependencies": { + "@material-ui/types": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-6.0.2.tgz", + "integrity": "sha512-/XUca4wUb9pWimLLdM1PE8KS8rTbDEGohSGkGtk3WST7lm23m+8RYv9uOmrvOg/VSsl4bMiOv4t2/LCb+RLbTg==", + "requires": {} + } + } + }, + "react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } } } }, @@ -26021,7 +26715,9 @@ } }, "@jkbonfield/htscodecs": { - "version": "0.5.1" + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@jkbonfield/htscodecs/-/htscodecs-0.5.1.tgz", + "integrity": "sha512-1qNMsatU8i6qOsbtZnZxQwJnCRPMeviRo8+i44hoZ7W5OWUnXSKSx9273aLv9M6DxcuLapIiFvWAaoi5x7Loiw==" }, "@jridgewell/gen-mapping": { "version": "0.3.2", @@ -26055,7 +26751,9 @@ } }, "@librpc/ee": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@librpc/ee/-/ee-1.0.4.tgz", + "integrity": "sha512-vhPlbRwAKQC80h0k74tsOkMKIidZtqlFSOHRzCvC8n7Va9rzMDwpG26Pm84dAt0ZuGK0g1UEfPzxDiYo9ZQBrg==" }, "@mapbox/geojson-rewind": { "version": "0.5.2", @@ -26092,59 +26790,6 @@ "@mapbox/whoots-js": { "version": "3.1.0" }, - "@material-ui/core": { - "version": "4.12.4", - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.5", - "@material-ui/system": "^4.12.2", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - } - }, - "@material-ui/icons": { - "version": "4.11.3", - "requires": { - "@babel/runtime": "^7.4.4" - } - }, - "@material-ui/styles": { - "version": "4.11.5", - "requires": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" - } - }, - "@material-ui/system": { - "version": "4.12.2", - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - } - }, "@material-ui/types": { "version": "5.1.0", "requires": {} @@ -26462,6 +27107,12 @@ "@babel/types": "^7.3.0" } }, + "@types/chroma-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-2.4.0.tgz", + "integrity": "sha512-JklMxityrwjBTjGY2anH8JaTx3yjRU3/sEHSblLH1ba5lqcSh1LnImXJZO5peJfXyqKYWjHTGy4s5Wz++hARrw==", + "dev": true + }, "@types/d3": { "version": "6.7.5", "dev": true, @@ -26682,6 +27333,8 @@ }, "@types/hast": { "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", "requires": { "@types/unist": "*" } @@ -26748,7 +27401,9 @@ "version": "1.5.5" }, "@types/react": { - "version": "17.0.53", + "version": "18.0.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", + "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -26761,14 +27416,17 @@ } }, "@types/react-dom": { - "version": "18.0.10", - "dev": true, + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", "requires": { "@types/react": "*" } }, "@types/react-helmet": { "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.6.tgz", + "integrity": "sha512-ZKcoOdW/Tg+kiUbkFCBtvDw0k3nD4HJ/h/B9yWxN4uDO8OkRksWTO+EL+z/Qu3aHTeTll3Ro0Cc/8UhwBCMG5A==", "dev": true, "requires": { "@types/react": "*" @@ -26776,6 +27434,8 @@ }, "@types/react-is": { "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", "requires": { "@types/react": "*" } @@ -26821,6 +27481,14 @@ "@types/react": "*" } }, + "@types/react-window": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.5.tgz", + "integrity": "sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==", + "requires": { + "@types/react": "*" + } + }, "@types/resolve": { "version": "0.0.8", "requires": { @@ -26846,7 +27514,9 @@ } }, "@types/unist": { - "version": "2.0.6" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" }, "@types/webpack": { "version": "4.41.33", @@ -27416,6 +28086,8 @@ }, "autoprefixer": { "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "requires": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", @@ -27424,6 +28096,13 @@ "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + } } }, "available-typed-arrays": { @@ -27983,12 +28662,14 @@ } }, "browserslist": { - "version": "4.21.4", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" } }, "bser": { @@ -28032,7 +28713,9 @@ "version": "3.1.2" }, "bzip2": { - "version": "0.1.1" + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/bzip2/-/bzip2-0.1.1.tgz", + "integrity": "sha512-wMvOIQ5jX3ikcCxWO1HjYVOAB+sjKzMTYLQmFPi4d6GBF01cYpnIwQ4RaDX4F3QSJeiB6gFqt5hh9fbebCSspw==" }, "cacache": { "version": "15.3.0", @@ -28147,6 +28830,8 @@ }, "camelcase-css": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true }, "caniuse-api": { @@ -28159,7 +28844,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001446" + "version": "1.0.30001469", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz", + "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==" }, "canvas-fit": { "version": "1.5.0", @@ -28168,10 +28855,14 @@ } }, "canvas-sequencer": { - "version": "3.1.0" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/canvas-sequencer/-/canvas-sequencer-3.1.0.tgz", + "integrity": "sha512-ldw68WYXpmtb6oklvdMakuYB0py+F2Jeq1slCp0I9/c1sTLM7kTAtSZGssLETpoI3OjbMPd4O039OM6XKUt8wA==" }, "canvas2svg": { - "version": "1.0.16" + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/canvas2svg/-/canvas2svg-1.0.16.tgz", + "integrity": "sha512-r3ryHprzDOtAsFuczw+/DKkLR3XexwIlJWnJ+71I9QF7V9scYaV5JZgYDoCUlYtT3ARnOpDcm/hDNZYbWMRHqA==" }, "capture-exit": { "version": "2.0.0", @@ -28204,16 +28895,24 @@ "version": "1.0.2" }, "character-entities": { - "version": "1.2.4" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" }, "character-entities-legacy": { - "version": "1.1.4" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" }, "character-reference-invalid": { - "version": "1.1.4" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" }, "charenc": { - "version": "0.0.2" + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" }, "check-types": { "version": "11.2.2" @@ -28235,6 +28934,11 @@ "chownr": { "version": "2.0.0" }, + "chroma-js": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz", + "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==" + }, "chrome-trace-event": { "version": "1.0.3" }, @@ -28324,7 +29028,9 @@ } }, "classnames": { - "version": "2.3.2" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, "clean-css": { "version": "4.2.4", @@ -28509,7 +29215,9 @@ } }, "comma-separated-tokens": { - "version": "1.0.8" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" }, "commander": { "version": "2.20.3" @@ -28749,24 +29457,34 @@ }, "cross-fetch": { "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "requires": { "node-fetch": "2.6.7" }, "dependencies": { "node-fetch": { "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "requires": { "whatwg-url": "^5.0.0" } }, "tr46": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "webidl-conversions": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -28783,7 +29501,9 @@ } }, "crypt": { - "version": "0.0.2" + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" }, "crypto-browserify": { "version": "3.12.0", @@ -28926,10 +29646,14 @@ }, "css-unit-converter": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", "dev": true }, "css-vendor": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", "requires": { "@babel/runtime": "^7.8.3", "is-in-browser": "^1.0.2" @@ -29617,7 +30341,9 @@ } }, "dompurify": { - "version": "2.4.3" + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.5.tgz", + "integrity": "sha512-jggCCd+8Iqp4Tsz0nIvpcb22InKEBrGz5dw3EQJMs8HPJDsKbFIO3STYtAvCfDx26Muevn1MHVI0XxjgFfmiSA==" }, "domutils": { "version": "2.8.0", @@ -30588,6 +31314,8 @@ }, "fault": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", "requires": { "format": "^0.2.0" } @@ -30631,7 +31359,9 @@ } }, "file-saver": { - "version": "2.0.5" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, "file-uri-to-path": { "version": "2.0.0" @@ -30889,7 +31619,9 @@ } }, "format": { - "version": "0.2.2" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==" }, "forwarded": { "version": "0.2.0" @@ -31011,6 +31743,8 @@ }, "get-value": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-3.0.1.tgz", + "integrity": "sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA==", "requires": { "isobject": "^3.0.1" } @@ -31700,10 +32434,14 @@ } }, "hast-util-parse-selector": { - "version": "2.2.5" + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" }, "hastscript": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", "requires": { "@types/hast": "^2.0.0", "comma-separated-tokens": "^1.0.0", @@ -31719,7 +32457,9 @@ "version": "1.1.0" }, "highlight.js": { - "version": "10.7.3" + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" }, "history": { "version": "4.10.1", @@ -31806,6 +32546,8 @@ }, "html-tags": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", "dev": true }, "html-webpack-plugin": { @@ -31974,6 +32716,8 @@ }, "http-range-fetcher": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/http-range-fetcher/-/http-range-fetcher-1.5.0.tgz", + "integrity": "sha512-kmJ329r8LIOFUISX1OF1nhyNNXpA6zGWZFAIPyT0yaGQCs0PQLBGdTgwRfF9E7+VeztDVGidPPgDqQwL6KYyFw==", "requires": { "abortcontroller-polyfill": "^1.2.9", "node-fetch": "^2.6.7", @@ -31983,7 +32727,9 @@ }, "dependencies": { "quick-lru": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-2.0.0.tgz", + "integrity": "sha512-DqOtZziv7lDjEyuqyVQacRciAwMCEjTNrLYCHYEIIgjcE/tLEpBF82hiDIwCjRnEL9/hY2GJxA0T8ZvYvVVSSA==" } } }, @@ -32001,7 +32747,9 @@ "version": "1.1.1" }, "hyphenate-style-name": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, "iconv-lite": { "version": "0.4.24", @@ -32131,7 +32879,9 @@ } }, "internmap": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" }, "interval-tree-1d": { "version": "1.0.4", @@ -32164,10 +32914,14 @@ } }, "is-alphabetical": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" }, "is-alphanumerical": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", "requires": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" @@ -32262,7 +33016,9 @@ } }, "is-decimal": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" }, "is-descriptor": { "version": "1.0.2", @@ -32309,13 +33065,17 @@ } }, "is-hexadecimal": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" }, "is-iexplorer": { "version": "1.0.0" }, "is-in-browser": { - "version": "1.1.3" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" }, "is-map": { "version": "2.0.2" @@ -32342,7 +33102,9 @@ "version": "1.0.1" }, "is-object": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" }, "is-path-cwd": { "version": "2.2.0" @@ -32372,7 +33134,9 @@ "version": "1.0.1" }, "is-primitive": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==" }, "is-regex": { "version": "1.1.4", @@ -32987,6 +33751,8 @@ }, "jexl": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jexl/-/jexl-2.3.0.tgz", + "integrity": "sha512-ecqln4kTWNkMwbFvTukOMDq1jy1GcPzvshhMp/s4pxU86xdLDq7HbDRa87DfMfbSAOS8V6EwvCdfs0S+w/iycA==", "requires": { "@babel/runtime": "^7.10.2" } @@ -33052,6 +33818,8 @@ }, "json-stable-stringify": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", "requires": { "jsonify": "^0.0.1" } @@ -33070,10 +33838,14 @@ } }, "jsonify": { - "version": "0.0.1" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==" }, "jss": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", + "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", "requires": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", @@ -33082,61 +33854,77 @@ }, "dependencies": { "csstype": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, "jss-plugin-camel-case": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", + "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", "requires": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", - "jss": "10.9.2" + "jss": "10.10.0" } }, "jss-plugin-default-unit": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", + "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2" + "jss": "10.10.0" } }, "jss-plugin-global": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", + "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2" + "jss": "10.10.0" } }, "jss-plugin-nested": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", + "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2", + "jss": "10.10.0", "tiny-warning": "^1.0.2" } }, "jss-plugin-props-sort": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", + "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2" + "jss": "10.10.0" } }, "jss-plugin-rule-value-function": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", + "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.2", + "jss": "10.10.0", "tiny-warning": "^1.0.2" } }, "jss-plugin-vendor-prefixer": { - "version": "10.9.2", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", + "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", "requires": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", - "jss": "10.9.2" + "jss": "10.10.0" } }, "jsx-ast-utils": { @@ -33192,6 +33980,8 @@ }, "librpc-web-mod": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/librpc-web-mod/-/librpc-web-mod-1.1.6.tgz", + "integrity": "sha512-QXOEKbUdv/rzO0GBS1cBmRi19UobTsFJoySUYbPKpP32J/tjiGEm2DFgGFDW0E1254r48kc9sXm8kbldn833yQ==", "requires": { "@librpc/ee": "1.0.4", "serialize-error": "^8.1.0" @@ -33205,7 +33995,9 @@ "version": "1.2.4" }, "load-script2": { - "version": "2.0.6" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/load-script2/-/load-script2-2.0.6.tgz", + "integrity": "sha512-pyuw/AR+ycZkRKgkMyXOIf/o2OnRQPc9grjZ04wVOeoJ7SqX97WlcZahl+3/r5qi09L/5d0iCVZ0q4OqNT/v0Q==" }, "loader-runner": { "version": "2.4.0" @@ -33257,6 +34049,8 @@ }, "lodash.topath": { "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==", "dev": true }, "lodash.truncate": { @@ -33336,6 +34130,8 @@ }, "lowlight": { "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", "requires": { "fault": "^1.0.0", "highlight.js": "~10.7.0" @@ -33454,21 +34250,6 @@ "material-colors": { "version": "1.2.6" }, - "material-ui-popup-state": { - "version": "1.9.3", - "requires": { - "@babel/runtime": "^7.12.5", - "@material-ui/types": "^6.0.1", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" - }, - "dependencies": { - "@material-ui/types": { - "version": "6.0.2", - "requires": {} - } - } - }, "math-log2": { "version": "1.0.1" }, @@ -33483,6 +34264,8 @@ }, "md5": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "requires": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -33702,6 +34485,8 @@ }, "modern-normalize": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", "dev": true }, "monotone-convex-hull-2d": { @@ -33776,7 +34561,9 @@ "optional": true }, "nanoid": { - "version": "2.1.11" + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" }, "nanomatch": { "version": "1.2.13", @@ -33880,25 +34667,35 @@ }, "node-emoji": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "requires": { "lodash": "^4.17.21" } }, "node-fetch": { - "version": "2.6.8", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", "requires": { "whatwg-url": "^5.0.0" }, "dependencies": { "tr46": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "webidl-conversions": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -33993,7 +34790,9 @@ } }, "normalize-wheel": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==" }, "normals": { "version": "1.1.0" @@ -34011,7 +34810,9 @@ } }, "num2fraction": { - "version": "1.2.2" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" }, "number-is-integer": { "version": "1.0.1", @@ -34077,6 +34878,8 @@ }, "object-hash": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", "dev": true }, "object-inspect": { @@ -34304,6 +35107,8 @@ }, "parse-entities": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "requires": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", @@ -34420,7 +35225,9 @@ "version": "1.2.0" }, "picocolors": { - "version": "0.2.1" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.1" @@ -34598,7 +35405,9 @@ } }, "pluralize": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" }, "pnp-webpack-plugin": { "version": "1.6.4", @@ -34625,7 +35434,9 @@ } }, "popper.js": { - "version": "1.16.1-lts" + "version": "1.16.1-lts", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", + "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" }, "portfinder": { "version": "1.0.32", @@ -34648,9 +35459,18 @@ }, "postcss": { "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + } } }, "postcss-attribute-case-insensitive": { @@ -34873,6 +35693,8 @@ }, "postcss-functions": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", + "integrity": "sha512-N5yWXWKA+uhpLQ9ZhBRl2bIAdM6oVJYpDojuI1nF2SzXBimJcdjFwiAouBVbO5VuOF3qA6BSFWFc3wXbbj72XQ==", "dev": true, "requires": { "glob": "^7.1.2", @@ -34883,6 +35705,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -34890,6 +35714,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -34899,6 +35725,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -34906,18 +35734,26 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "postcss": { "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -34927,10 +35763,14 @@ }, "postcss-value-parser": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -34959,6 +35799,8 @@ }, "postcss-js": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", "dev": true, "requires": { "camelcase-css": "^2.0.1", @@ -35152,6 +35994,8 @@ }, "postcss-nested": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", + "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", "dev": true, "requires": { "postcss": "^7.0.32", @@ -35473,13 +36317,14 @@ }, "dependencies": { "nanoid": { - "version": "3.3.4" - }, - "picocolors": { - "version": "1.0.0" + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" }, "postcss": { "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -35585,7 +36430,9 @@ "dev": true }, "prismjs": { - "version": "1.29.0" + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" }, "process": { "version": "0.11.10" @@ -35627,6 +36474,8 @@ }, "property-information": { "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", "requires": { "xtend": "^4.0.0" } @@ -35687,6 +36536,8 @@ }, "purgecss": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", "dev": true, "requires": { "commander": "^8.0.0", @@ -35697,18 +36548,20 @@ "dependencies": { "commander": { "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true }, "nanoid": { "version": "3.3.4", - "dev": true - }, - "picocolors": { - "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true }, "postcss": { "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "dev": true, "requires": { "nanoid": "^3.3.4", @@ -35817,6 +36670,8 @@ }, "rbush": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", "requires": { "quickselect": "^2.0.0" } @@ -35853,7 +36708,9 @@ } }, "react-d3-axis-mod": { - "version": "0.1.8", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/react-d3-axis-mod/-/react-d3-axis-mod-0.1.9.tgz", + "integrity": "sha512-RL5p4hMlPivSZTdQGZKT9dQO6EvEpuJr7TvIZRt3Rn5hCVbCHmQsyfXhrndTa5mn9aQl+X6HgDL6DyJIR2Oj6Q==", "requires": {} }, "react-dev-utils": { @@ -35981,6 +36838,8 @@ }, "react-error-boundary": { "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", "requires": { "@babel/runtime": "^7.12.5" } @@ -35997,6 +36856,8 @@ }, "react-helmet": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", "requires": { "object-assign": "^4.1.1", "prop-types": "^15.7.2", @@ -36018,13 +36879,17 @@ }, "react-intersection-observer": { "version": "8.34.0", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-8.34.0.tgz", + "integrity": "sha512-TYKh52Zc0Uptp5/b4N91XydfSGKubEhgZRtcg1rhTKABXijc4Sdr1uTp5lJ8TN27jwUsdXxjHXtHa0kPj704sw==", "requires": {} }, "react-is": { "version": "17.0.2" }, "react-merge-refs": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==" }, "react-plotly.js": { "version": "2.6.0", @@ -36216,10 +37081,14 @@ }, "react-side-effect": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", "requires": {} }, "react-syntax-highlighter": { "version": "14.0.2", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-14.0.2.tgz", + "integrity": "sha512-hsib7OyzwLqdDdR7LiyjG5OdlLJ3jeqDL4uvXvQuGIqve/iZMLrxD3F0KWKcGfUwtzm5CxSZMJ8FNKSkQ//gbQ==", "requires": { "@babel/runtime": "^7.3.1", "highlight.js": "^10.1.1", @@ -36243,6 +37112,72 @@ "debounce": "^1.2.1" } }, + "react-window": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.8.tgz", + "integrity": "sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ==", + "requires": { + "@babel/runtime": "^7.0.0", + "memoize-one": ">=3.1.1 <6" + } + }, + "react-windowed-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-windowed-select/-/react-windowed-select-5.1.0.tgz", + "integrity": "sha512-5Ezt5Zb3GyBZH3OIWcsu9JQN/busVHtvYg5/POVV+cKKtpuZ9x8ZMT1TmWGwAt+SjcD6/lyDTaX59k7/KZ+hfQ==", + "requires": { + "@types/react": "^18.0.14", + "@types/react-dom": "^18.0.5", + "@types/react-window": "^1.8.2", + "react-select": "^5.2.2", + "react-window": "^1.8.6" + }, + "dependencies": { + "@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "react-select": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.2.tgz", + "integrity": "sha512-cTlJkQ8YjV6T/js8wW0owTzht0hHGABh29vjLscY4HfZGkv7hc3FFTmRp9NzY/Ib1uQ36GieAKEjxpHdpCFpcA==", + "requires": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + } + } + } + }, "reactcss": { "version": "1.2.3", "requires": { @@ -36341,6 +37276,8 @@ }, "reduce-css-calc": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", "dev": true, "requires": { "css-unit-converter": "^1.1.1", @@ -36349,6 +37286,8 @@ "dependencies": { "postcss-value-parser": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true } } @@ -36363,6 +37302,8 @@ }, "refractor": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", "requires": { "hastscript": "^6.0.0", "parse-entities": "^2.0.0", @@ -36370,7 +37311,9 @@ }, "dependencies": { "prismjs": { - "version": "1.27.0" + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==" } } }, @@ -36553,7 +37496,9 @@ "version": "1.0.0" }, "reselect": { - "version": "4.1.7" + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.7.tgz", + "integrity": "sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==" }, "resolve": { "version": "1.22.1", @@ -37188,6 +38133,8 @@ }, "serialize-error": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", "requires": { "type-fest": "^0.20.2" } @@ -37256,6 +38203,8 @@ }, "set-value": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", + "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", "requires": { "is-plain-object": "^2.0.4", "is-primitive": "^3.0.1" @@ -37295,6 +38244,8 @@ }, "shortid": { "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", "requires": { "nanoid": "^2.1.0" } @@ -37541,7 +38492,9 @@ "version": "0.6.1" }, "source-map-js": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, "source-map-resolve": { "version": "0.5.3", @@ -37567,7 +38520,9 @@ "version": "1.4.8" }, "space-separated-tokens": { - "version": "1.1.5" + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" }, "spdx-correct": { "version": "3.1.1", @@ -37948,6 +38903,11 @@ } } }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, "supercluster": { "version": "7.1.5", "requires": { @@ -38005,7 +38965,9 @@ } }, "svg-path-generator": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/svg-path-generator/-/svg-path-generator-1.1.0.tgz", + "integrity": "sha512-eapn3syFa828HJRI3Wv+ceq7K/TUo/wA31w5oyerA3CNz02YkLM8aSjXA851+0qhc1ibihiJHxy54eacm2/euQ==" }, "svg-path-sdf": { "version": "1.1.3", @@ -38138,6 +39100,8 @@ }, "tailwindcss": { "version": "npm:@tailwindcss/postcss7-compat@2.2.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss7-compat/-/postcss7-compat-2.2.17.tgz", + "integrity": "sha512-3h2svqQAqYHxRZ1KjsJjZOVTQ04m29LjfrLjXyZZEJuvUuJN+BCIF9GI8vhE1s0plS0mogd6E6YLg6mu4Wv/Vw==", "dev": true, "requires": { "arg": "^5.0.1", @@ -38179,6 +39143,8 @@ "dependencies": { "color": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, "requires": { "color-convert": "^2.0.1", @@ -38187,6 +39153,8 @@ }, "cosmiconfig": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", @@ -38198,6 +39166,8 @@ }, "fs-extra": { "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -38214,6 +39184,8 @@ }, "parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -38434,6 +39406,8 @@ }, "tmp": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "requires": { "rimraf": "^3.0.0" @@ -38794,11 +39768,6 @@ "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" - }, - "dependencies": { - "picocolors": { - "version": "1.0.0" - } } }, "update-diff": { @@ -38853,6 +39822,12 @@ "use": { "version": "3.1.1" }, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "requires": {} + }, "util": { "version": "0.11.1", "requires": { @@ -39973,7 +40948,9 @@ } }, "window-or-global": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/window-or-global/-/window-or-global-1.0.1.tgz", + "integrity": "sha512-tE12J/NenOv4xdVobD+AD3fT06T4KNqnzRhkv5nBIu7K+pvOH2oLCEgYP+i+5mF2jtI6FEADheOdZkA8YWET9w==" }, "word-wrap": { "version": "1.2.3" diff --git a/package.json b/package.json index e37cc8e5..b0cfbc2e 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "dependencies": { "@jbrowse/react-linear-genome-view": "^1.3.2", "axios": "^0.21.2", + "chroma-js": "^2.4.2", "d3": "^5.16.0", "d3-scale-chromatic": "^2.0.0", "fast-xml-parser": "^3.19.0", @@ -20,7 +21,8 @@ "react-plotly.js": "^2.5.1", "react-router-dom": "^5.2.0", "react-scripts": "^4.0.3", - "react-select": "^3.1.0" + "react-select": "^3.1.0", + "react-windowed-select": "^5.1.0" }, "scripts": { "build:css": "postcss src/styles/tailwind.css -o src/styles/main.css", @@ -45,13 +47,16 @@ ] }, "devDependencies": { + "@types/chroma-js": "^2.1.4", "@types/d3": "^6.7.3", "@types/jest": "^26.0.23", - "@types/react": "^17.0.11", - "@types/react-helmet": "^6.1.0", + "@types/react": "^18.0.14", + "@types/react-dom": "^18.0.5", + "@types/react-helmet": "^6.1.6", "@types/react-plotly.js": "^2.2.4", "@types/react-router-dom": "^5.1.7", "@types/react-select": "^4.0.16", + "@types/react-window": "^1.8.5", "@typescript-eslint/eslint-plugin": "^4.28.0", "@typescript-eslint/parser": "^4.28.0", "autoprefixer": "^9.8.7", diff --git a/src/components/Geo/Geo.tsx b/src/components/Geo/Geo.tsx index 1208f2e7..d6db36c1 100644 --- a/src/components/Geo/Geo.tsx +++ b/src/components/Geo/Geo.tsx @@ -1,25 +1,139 @@ import React from 'react' import { Helmet } from 'react-helmet' -import { MemoizedMapPlot } from './MapPlot' -import { SelectionInfo } from './SelectionInfo' -import { RunData } from './types' +import { MapPlot } from './MapPlot' +import { ResultsTable } from './ResultsTable' +import { RunData, RunDataKey } from './types' import { helpIcon } from 'common' +import { fetchPagedGeoMatches } from 'components/Explorer/Base/Result/SerratusApiCalls' +import { + countRunDataByDateAndKey, + filterRunDataByGroup, + getBioIdsFromRunData, + getRunDataFromPaginatedData, + groupRunDataByKey, + transformToMapPlotData, + transformToTimePlotData, +} from './GeoHelpers' +import { SpeciesSelect } from './SpeciesSelect' +import { TimePlot } from './TimePlot' export const Geo = () => { - const [selectedPoints, setSelectedPoints] = React.useState() const [isCollapsed, setIsCollapsed] = React.useState(false) + const [isFetching, setIsFetching] = React.useState(true) + const [paginatedRunData, setPaginatedRunData] = React.useState<{ + [page: string]: RunData[] + }>({}) + const [selectedPoints, setSelectedPoints] = React.useState([]) + const [selectedSpecies, setSelectedSpecies] = React.useState([]) - const headTags = ( - - Serratus | Planetary RNA Virome - - ) + React.useEffect(() => { + async function onMount() { + fetchRunData() + } + onMount() + }, []) - return ( -
- {headTags} -
The Planetary RNA Virome
+ function storePaginatedRunData(rows: RunData[], page: number) { + if (!rows.length) { + return + } + setPaginatedRunData((prevState) => ({ + ...prevState, + [page]: rows, + })) + } + + async function fetchRunData() { + setIsFetching(true) + + // Fetch first page and get total rows + let page = 1 + const perPage = 20000 + const searchType = 'rdrp' + const { result, total } = await fetchPagedGeoMatches(searchType, page, perPage) + storePaginatedRunData(result as RunData[], page) + + // Batch requests for remaining pages + const totalPages = Math.ceil(total / perPage) + const iterPages = [] + for (page = page + 1; page <= totalPages; page++) { + if (!(page in paginatedRunData)) { + iterPages.push(page) + } + } + await Promise.allSettled( + iterPages.map(async (page) => { + const { result } = await fetchPagedGeoMatches(searchType, page as number, perPage) + storePaginatedRunData(result as RunData[], page as number) + }) + ) + setIsFetching(false) + } + + const speciesOptions = React.useMemo(() => { + const runData = getRunDataFromPaginatedData(paginatedRunData) + const filteredBySelectedPoints = filterRunDataByGroup( + runData, + getBioIdsFromRunData(selectedPoints), + RunDataKey.BiosampleId + ) + const speciesSet = new Set( + filteredBySelectedPoints.map((d) => d?.[RunDataKey.ScientificName]) + ) + return Array.from(speciesSet).sort() + }, [isFetching, selectedPoints, selectedSpecies]) + + const filteredAndSelectedRows = React.useMemo(() => { + const runData = getRunDataFromPaginatedData(paginatedRunData) + if (runData.length === 0) { + return [] + } + const filteredBySpecies = filterRunDataByGroup( + runData, + selectedSpecies, + RunDataKey.ScientificName + ) + return filterRunDataByGroup( + filteredBySpecies, + getBioIdsFromRunData(selectedPoints), + RunDataKey.BiosampleId + ) + }, [isFetching, selectedSpecies, selectedPoints]) + const mapData = React.useMemo(() => { + const runData = getRunDataFromPaginatedData(paginatedRunData) + const filteredBySpecies = filterRunDataByGroup( + runData, + selectedSpecies, + RunDataKey.ScientificName + ) + const groupedRunData = + selectedSpecies.length > 0 + ? groupRunDataByKey(filteredBySpecies, RunDataKey.ScientificName) + : { + all: filteredBySpecies, + } + return transformToMapPlotData( + groupedRunData, + selectedSpecies, + getBioIdsFromRunData(selectedPoints) + ) + }, [isFetching, selectedSpecies, selectedPoints]) + + const timePlotData = React.useMemo(() => { + const groupedCounter = countRunDataByDateAndKey( + filteredAndSelectedRows, + RunDataKey.ScientificName + ) + return transformToTimePlotData(groupedCounter, selectedSpecies) + }, [filteredAndSelectedRows]) + + return ( +
+ + Serratus | Planetary RNA Virome + +
The Planetary RNA Virome
- -
- +
+ +
+
+
-
- Use `Shift`-click to select multiple points or the `Box Select` or{' '} - `Lasso Select` icons in the top-right. + Use `Shift` -click to select multiple points or the `Box Select` or{' '} + `Lasso Select` icons in the top-right. Double-click to deselect + points.
- - + +
) } diff --git a/src/components/Geo/GeoHelpers.tsx b/src/components/Geo/GeoHelpers.tsx new file mode 100644 index 00000000..3df668b5 --- /dev/null +++ b/src/components/Geo/GeoHelpers.tsx @@ -0,0 +1,194 @@ +import Plotly from 'plotly.js' +import chroma from 'chroma-js' +import { RunData, PlotlyData, GroupedRunDataCounter, RunDataKey, GroupedRunData } from './types' + +function getColorFromIndex(index: number) { + // Ref: https://stackoverflow.com/a/20129594 + const hue = ((index + 1) * 137.508 + 60) % 360 // use golden angle approximation + return `hsl(${hue}, 100%, 50%)` +} + +const DEFAULT_MARKER_COLOR = 'hsl(3.72, 52.22%, 48.43%)' + +export function getColorFromSelectedIndex( + selectionName: string, + selectedOptions: string[], + defaultColor: string = DEFAULT_MARKER_COLOR +) { + const selectedIndex = selectedOptions.indexOf(selectionName) + return selectedIndex >= 0 ? getColorFromIndex(selectedIndex) : defaultColor +} + +export function getRunDataFromPaginatedData(paginatedRunData: { [page: string]: RunData[] }) { + return Object.values(paginatedRunData).flat() +} + +export function getBioIdsFromRunData(selectedPoints: RunData[]) { + return selectedPoints.map((point) => point?.[RunDataKey.BiosampleId]) +} + +export function filterRunDataByGroup( + runData: RunData[], + groupOptions: string[], + groupKey: RunDataKey +): RunData[] { + if (!runData.length) { + return [] + } + if (!groupOptions.length) { + return runData + } + return runData.filter((row) => groupOptions.includes(row?.[groupKey])) +} + +export function groupRunDataByKey(runData: RunData[], groupKey: RunDataKey): GroupedRunData { + const groupedRunData: GroupedRunData = {} + if (!runData.length) { + return groupedRunData + } + runData.forEach((row) => { + if (groupedRunData[row?.[groupKey]] === undefined) { + groupedRunData[row?.[groupKey]] = [] + } + groupedRunData[row?.[groupKey]].push(row) + }) + return groupedRunData +} + +function convertMapCoordinates(row: RunData, key: string) { + if (key === 'coordinate_x' || key === 'coordinate_y') { + // +(0~111) meters per https://www.usna.edu/Users/oceano/pguth/md_help/html/approx_equivalents.htm + return parseFloat(row[key]) + 0.001 * Math.random() + } + return row[key] +} + +function getMapHoverText(row: RunData): string { + let text = `${row.run_id} +
Organism: ${row[RunDataKey.ScientificName]}` + if (row.from_text) { + text += `
Inferred location: "${row.from_text}"` + } + return text +} + +export function transformToMapPlotData( + groupedRunData: GroupedRunData = {}, + selectedSpecies: string[] = [], + selectedPoints: string[] = [] +) { + const baseConfig: PlotlyData = { + type: 'scattermapbox', + mode: 'markers', + hoverinfo: 'text', + showlegend: false, + marker: { size: 5, color: DEFAULT_MARKER_COLOR }, + } + + const plotData = [] + if (Object.keys(groupedRunData).length === 0) { + plotData.push(baseConfig) + } + + for (const [scientificName, runData] of Object.entries(groupedRunData)) { + const geoData: Partial = { + lon: [], + lat: [], + customdata: [], + text: [], + selectedpoints: [], + } + const markerColor = getColorFromSelectedIndex(scientificName, selectedSpecies) + const colorObj = chroma(markerColor) + const markerConfig: PlotlyData = { + selected: { + marker: { + color: colorObj.brighten(1).saturate(1).css(), + size: 8, + opacity: 1, + }, + }, + unselected: { + marker: { color: colorObj.luminance(0.15).css(), opacity: 1 }, + textfont: { color: markerColor }, + }, + hoverlabel: { + bgcolor: markerColor, + font: { color: chroma.contrast(colorObj, 'white') > 2 ? 'white' : 'black' }, + }, + marker: { size: 5, color: colorObj.luminance(0.15).css() }, + } + runData.forEach((row, index) => { + geoData?.lon?.push(convertMapCoordinates(row, 'coordinate_x')) + geoData?.lat?.push(convertMapCoordinates(row, 'coordinate_y')) + geoData?.customdata?.push(row as any) + typeof geoData?.text === 'object' && geoData?.text?.push(getMapHoverText(row)) + if (selectedPoints.includes(row?.[RunDataKey.BiosampleId])) { + geoData?.selectedpoints?.push(index) + } + }) + plotData.push({ + ...baseConfig, + ...markerConfig, + ...geoData, + }) + } + return plotData +} + +export function countRunDataByDateAndKey( + runData: RunData[], + groupByKey: RunDataKey +): GroupedRunDataCounter { + const timePlotData: GroupedRunDataCounter = {} + + runData + .filter((row) => !isNaN(Date.parse(row?.[RunDataKey.ReleaseDate])) && row?.[groupByKey]) + .forEach((row) => { + const formattedReleaseDate = new Date(row?.[RunDataKey.ReleaseDate]) + .toISOString() + .slice(0, 7) + if (timePlotData[formattedReleaseDate] === undefined) { + timePlotData[formattedReleaseDate] = { + total: 0, + } + } + if (timePlotData[formattedReleaseDate][row?.[groupByKey]] === undefined) { + timePlotData[formattedReleaseDate][row?.[groupByKey]] = 0 + } + timePlotData[formattedReleaseDate].total += 1 + timePlotData[formattedReleaseDate][row?.[groupByKey]] += 1 + }) + return timePlotData +} + +export function transformToTimePlotData( + dateCounter: GroupedRunDataCounter, + selectedSpecies: string[] +): Partial[] { + if (selectedSpecies.length === 0) { + return [ + { + x: Object.keys(dateCounter), + y: Object.values(dateCounter).map((counter) => counter.total), + type: 'bar', + marker: { color: DEFAULT_MARKER_COLOR }, + }, + ] + } + return selectedSpecies.map((speciesName) => { + const color = getColorFromSelectedIndex(speciesName, selectedSpecies) + return { + x: Object.keys(dateCounter), + y: Object.values(dateCounter).map((counter) => counter[speciesName] ?? 0), + name: speciesName, + type: 'bar', + marker: { color: color }, + showlegend: false, + hovertemplate: + `Scientific Name: ${speciesName}
` + + 'Month: %{x}
' + + 'Count Per Month: %{y}', + } + }) +} diff --git a/src/components/Geo/MapPlot.tsx b/src/components/Geo/MapPlot.tsx index 7ee92d2a..60a51c0d 100644 --- a/src/components/Geo/MapPlot.tsx +++ b/src/components/Geo/MapPlot.tsx @@ -1,146 +1,54 @@ import React from 'react' import Plotly from 'plotly.js' -import Plot from 'react-plotly.js' +import Plot, { PlotParams } from 'react-plotly.js' import { RunData } from './types' -import { fetchPagedGeoMatches } from 'components/Explorer/Base/Result/SerratusApiCalls' type Props = { - setSelectedPoints: React.Dispatch> + setSelectedPoints: React.Dispatch> + plotData: Partial[] | [] | any } -// temp fix pending https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44030 -type PlotlyData = Plotly.Data & - Partial<{ - selected: Partial<{ - marker: Partial - textfont: Partial - }> - }> - -const MapPlot = ({ setSelectedPoints }: Props) => { - const [geoPaginatedDated, setGeoPaginatedData] = React.useState<{ - [page: string]: Partial - }>({}) - +export const MapPlot = ({ setSelectedPoints, plotData }: Props) => { const layoutConfig: Partial = { mapbox: { style: 'open-street-map', zoom: 1, pitch: 0 }, margin: { t: 0, b: 0, l: 0, r: 0 }, autosize: true, clickmode: 'event+select', } + const [config, setConfig] = React.useState({ + data: plotData, + layout: layoutConfig, + frames: [], + config: {}, + }) React.useEffect(() => { - async function render() { - fetchData() - } - render() - }, []) + setConfig((prevConfig) => ({ ...prevConfig, data: plotData })) + }, [plotData]) function onSelected(selectedData: Readonly) { - // TODO: use type annotation const points = selectedData.points.map((point) => point.customdata) as RunData[] setSelectedPoints(points) } - async function fetchData() { - // Fetch first page to get total - let page = 1 - const perPage = 20000 - const searchType = 'rdrp' - const { result, total } = await fetchPagedGeoMatches(searchType, page, perPage) - transformAndStoreGeoData(result as RunData[], page) - - // Batch requests for remaining pages - const totalPages = Math.ceil(total / perPage) - const iterPages = [] - for (page = page + 1; page <= totalPages; page++) { - if (!(page in geoPaginatedDated)) { - iterPages.push(page) - } - } - await Promise.allSettled( - iterPages.map(async (page) => { - const { result } = await fetchPagedGeoMatches(searchType, page as number, perPage) - transformAndStoreGeoData(result as RunData[], page as number) - }) - ) - } - - function transformAndStoreGeoData(rows: RunData[], page: number) { - if (!rows.length) { - return - } - function transformCoordinates(rows: RunData[], key: string) { - return rows.map((row) => { - if (key === 'coordinate_x' || key === 'coordinate_y') { - // +(0~111) meters per https://www.usna.edu/Users/oceano/pguth/md_help/html/approx_equivalents.htm - return parseFloat(row[key]) + 0.001 * Math.random() - } - return row[key] - }) - } - function getHoverText(rows: RunData[]): string[] { - return rows.map((row) => { - let text = `${row.run_id} -
Organism: ${row.scientific_name}` - if (row.from_text) { - text += `
Inferred location: "${row.from_text}"` - } - return text - }) - } - setGeoPaginatedData((prevState) => ({ - ...prevState, - [page]: { - lon: transformCoordinates(rows, 'coordinate_x'), - lat: transformCoordinates(rows, 'coordinate_y'), - customdata: rows, - text: getHoverText(rows), - }, - })) - } - - function mergePaginatedGeoData(): Partial[] { - const mapConfig: PlotlyData = { - type: 'scattermapbox', - mode: 'markers', - hoverinfo: 'text', - marker: { color: 'Maroon', size: 5, opacity: 1 }, - selected: { marker: { color: 'Purple', size: 7, opacity: 1 } }, - } - const geoData: Partial = { - lon: [], - lat: [], - customdata: [], - text: [], - } - for (const [, row] of Object.entries(geoPaginatedDated)) { - row?.lon && geoData?.lon?.push(...row.lon) - row?.lat && geoData?.lat?.push(...row.lat) - row?.customdata && geoData?.customdata?.push(...(row.customdata as any)) - row?.text && - typeof row?.text === 'object' && - typeof geoData?.text === 'object' && - geoData?.text?.push(...row.text) - } - return [ - { - ...mapConfig, - ...geoData, - }, - ] - } - return ( + setConfig({ + ...figure, + data: plotData, + } as PlotParams) + } + onUpdate={(figure) => setConfig(figure as PlotParams)} useResizeHandler style={{ width: '100%', height: '100%', minHeight: '500px' }} onSelected={onSelected} + onDeselect={() => setSelectedPoints([])} + onDoubleClick={() => setSelectedPoints([])} /> ) } - -export const MemoizedMapPlot = React.memo(MapPlot) diff --git a/src/components/Geo/ResultsTable.tsx b/src/components/Geo/ResultsTable.tsx new file mode 100644 index 00000000..562ad53e --- /dev/null +++ b/src/components/Geo/ResultsTable.tsx @@ -0,0 +1,93 @@ +import React from 'react' +import { LinkButton, ExternalLink, externalLinkIcon, downloadIcon } from 'common' +import { RunData, RunDataKey } from './types' +import { routes } from 'common/routes' + +type Props = { + rowsToDisplay: RunData[] | undefined +} + +export const ResultsTable = ({ rowsToDisplay }: Props) => { + if (rowsToDisplay === undefined) return null + + const maxRows = 50 + const displayPoints = + rowsToDisplay.length > maxRows ? rowsToDisplay.slice(0, maxRows) : rowsToDisplay + + const tdClasses = 'border px-4 py-2' + const resultsTable = ( +
+ + + + + + + + + + + {displayPoints.map((point) => ( + + + + + + + + + ))} + +
SRA RunBioSampleOrganismRelease DateLat, LonInferred Location
+ + {point?.[RunDataKey.RunId]} + {externalLinkIcon} + + + + {point?.[RunDataKey.BiosampleId]} + {externalLinkIcon} + + + + {point?.[RunDataKey.ScientificName]} + {externalLinkIcon} + + {point?.[RunDataKey.ReleaseDate]} + {point?.[RunDataKey.CoordinateY]}, {point?.[RunDataKey.CoordinateX]} + {point?.[RunDataKey.FromText]}
+
+ ) + + const downloadData = rowsToDisplay.map((point) => point?.[RunDataKey.RunId]).join('%0A') + const downloadButton = ( + <> + + + ) + + return ( +
+ {displayPoints.length}/{rowsToDisplay.length} results displayed. + {rowsToDisplay.length !== 0 && downloadButton} + {rowsToDisplay.length !== 0 && resultsTable} +
+ ) +} diff --git a/src/components/Geo/SelectionInfo.tsx b/src/components/Geo/SelectionInfo.tsx deleted file mode 100644 index cca07d9f..00000000 --- a/src/components/Geo/SelectionInfo.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import React from 'react' -import { LinkButton, ExternalLink, externalLinkIcon, downloadIcon } from 'common' -import { RunData } from './types' -import { routes } from 'common/routes' - -type Props = { - selectedPoints: RunData[] | undefined -} - -export const SelectionInfo = ({ selectedPoints }: Props) => { - if (selectedPoints === undefined) return null - - const maxRows = 50 - const displayPoints = - selectedPoints.length > maxRows ? selectedPoints.slice(0, maxRows) : selectedPoints - - const tdClasses = 'border px-4 py-2' - const resultsTable = ( - - - - - - - - - - - {displayPoints.map((point) => ( - - - - - - - - - ))} - -
SRA RunBioSampleOrganismRelease DateLat, LonInferred Location
- - {point.run_id} - {externalLinkIcon} - - - - {point.biosample_id} - {externalLinkIcon} - - - - {point.scientific_name} - {externalLinkIcon} - - {point.release_date} - {point.coordinate_y}, {point.coordinate_x} - {point.from_text}
- ) - - const downloadData = selectedPoints.map((point) => point.run_id).join('%0A') - const downloadButton = ( - <> - - - ) - - return ( -
- {displayPoints.length}/{selectedPoints.length} results displayed. - {selectedPoints.length !== 0 && downloadButton} - {selectedPoints.length !== 0 && resultsTable} -
- ) -} diff --git a/src/components/Geo/SpeciesSelect.tsx b/src/components/Geo/SpeciesSelect.tsx new file mode 100644 index 00000000..67736548 --- /dev/null +++ b/src/components/Geo/SpeciesSelect.tsx @@ -0,0 +1,77 @@ +import React from 'react' +import { SpeciesOption } from './types' +import { getColorFromSelectedIndex } from './GeoHelpers' +import chroma from 'chroma-js' +import WindowedSelect, { StylesConfig, createFilter } from 'react-windowed-select' + +type Props = { + speciesOptions: string[] + selectedSpecies: string[] + setSelectedSpecies: React.Dispatch> +} + +export const SpeciesSelect = ({ speciesOptions, selectedSpecies, setSelectedSpecies }: Props) => { + const handleChange = (e: any) => { + if (!e || e?.length === 0) { + setSelectedSpecies(() => []) + } + setSelectedSpecies(e.map((i: SpeciesOption) => i.value)) + } + + const getOptions = () => { + if (!speciesOptions.length) { + return undefined + } + return speciesOptions.map((scientificName) => { + return { + value: scientificName, + label: scientificName, + } + }) + } + + const getSelectedColorFromIndex = (data: SpeciesOption) => { + const color = getColorFromSelectedIndex(data?.value, selectedSpecies, 'white') + return chroma(color) + } + + const getStyles = (): StylesConfig => ({ + multiValue: (styles, { data }) => { + const colorObj = getSelectedColorFromIndex(data) + const textColor = chroma.contrast(colorObj, 'white') > 2 ? 'white' : 'black' + return { + ...styles, + color: textColor, + backgroundColor: colorObj.alpha(0.1).css(), + } + }, + multiValueLabel: (styles) => ({ + ...styles, + color: 'black', + }), + multiValueRemove: (styles, { data }) => { + const colorObj = getSelectedColorFromIndex(data) + return { + ...styles, + 'color': colorObj.css(), + ':hover': { + backgroundColor: colorObj.css(), + color: 'white', + }, + } + }, + }) + + return ( + + ) +} diff --git a/src/components/Geo/TimePlot.tsx b/src/components/Geo/TimePlot.tsx new file mode 100644 index 00000000..3ab80f8d --- /dev/null +++ b/src/components/Geo/TimePlot.tsx @@ -0,0 +1,23 @@ +import React from 'react' +import { Data, Layout } from 'plotly.js' +import Plot from 'react-plotly.js' + +type Props = { + plotData: Data[] +} + +export const TimePlot = ({ plotData }: Props) => { + const layoutConfig: Partial = { + xaxis: { title: 'Release Date', tickformat: '%b %Y' }, + yaxis: { title: 'Quantity' }, + barmode: 'stack', + } + return ( + + ) +} diff --git a/src/components/Geo/types.ts b/src/components/Geo/types.ts index c7132012..99422167 100644 --- a/src/components/Geo/types.ts +++ b/src/components/Geo/types.ts @@ -12,3 +12,40 @@ export type RunData = Plotly.Datum & { coordinate_y: string from_text: string } + +export type PlotlyData = Plotly.Data & + Partial<{ + selected: Partial<{ + marker: Partial + textfont: Partial + }> + }> + +/* eslint-disable no-unused-vars */ +export enum RunDataKey { + RunId = 'run_id', + TaxId = 'tax_id', + ScientificName = 'scientific_name', + ReleaseDate = 'release_date', + BiosampleId = 'biosample_id', + CoordinateX = 'coordinate_x', + CoordinateY = 'coordinate_y', + FromText = 'from_text', +} +/* eslint-disable no-unused-vars */ + +export interface SpeciesOption { + readonly value: string + readonly label: string + readonly color?: string +} + +export type GroupedRunData = { + [groupByKey: string]: RunData[] +} + +export type GroupedRunDataCounter = { + [dateKey: string]: { + [groupByKey: string]: number + } +}