From 2f1b93295fdf5b5218d8baeb72e61384b71599d3 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 08:55:33 -0500 Subject: [PATCH 001/664] upgrade babel --- packages/cbm-dashboard/package.json | 6 +- packages/indicators/package.json | 6 +- yarn.lock | 894 +++++++++++++++++++++++++++- 3 files changed, 886 insertions(+), 20 deletions(-) diff --git a/packages/cbm-dashboard/package.json b/packages/cbm-dashboard/package.json index e171f8220..32654a4e3 100644 --- a/packages/cbm-dashboard/package.json +++ b/packages/cbm-dashboard/package.json @@ -15,9 +15,9 @@ "react-plotly.js": "~2.5.1" }, "devDependencies": { - "@babel/core": "~7.17.2", - "@babel/preset-env": "~7.16.11", - "@babel/preset-react": "~7.16.7", + "@babel/core": "~7.18.2", + "@babel/preset-env": "~7.18.2", + "@babel/preset-react": "~7.17.12", "@rollup/plugin-babel": "~5.3.0", "@rollup/plugin-commonjs": "~17.1.0", "@rollup/plugin-node-resolve": "~13.1.3", diff --git a/packages/indicators/package.json b/packages/indicators/package.json index 89cf20517..7386096af 100644 --- a/packages/indicators/package.json +++ b/packages/indicators/package.json @@ -13,9 +13,9 @@ "react-masonry-component": "~6.3.0" }, "devDependencies": { - "@babel/core": "~7.17.2", - "@babel/preset-env": "~7.16.11", - "@babel/preset-react": "~7.16.7", + "@babel/core": "~7.18.2", + "@babel/preset-env": "~7.18.2", + "@babel/preset-react": "~7.17.12", "@rollup/plugin-babel": "~5.3.0", "@rollup/plugin-commonjs": "~20.0.0", "@rollup/plugin-node-resolve": "~13.1.3", diff --git a/yarn.lock b/yarn.lock index 52cb934bf..4403976b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,6 +14,16 @@ __metadata: languageName: node linkType: hard +"@ampproject/remapping@npm:^2.1.0": + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" + dependencies: + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 + languageName: node + linkType: hard + "@babel/code-frame@npm:7.10.4": version: 7.10.4 resolution: "@babel/code-frame@npm:7.10.4" @@ -71,6 +81,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.17.10": + version: 7.17.10 + resolution: "@babel/compat-data@npm:7.17.10" + checksum: e85051087cd4690de5061909a2dd2d7f8b6434a3c2e30be6c119758db2027ae1845bcd75a81127423dd568b706ac6994a1a3d7d701069a23bf5cfe900728290b + languageName: node + linkType: hard + "@babel/core@npm:7.12.3": version: 7.12.3 resolution: "@babel/core@npm:7.12.3" @@ -119,7 +136,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.4.4, @babel/core@npm:~7.17.2": +"@babel/core@npm:^7.4.4": version: 7.17.2 resolution: "@babel/core@npm:7.17.2" dependencies: @@ -142,6 +159,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:~7.18.2": + version: 7.18.2 + resolution: "@babel/core@npm:7.18.2" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.18.2 + "@babel/helper-compilation-targets": ^7.18.2 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helpers": ^7.18.2 + "@babel/parser": ^7.18.0 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.2 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.1 + semver: ^6.3.0 + checksum: 14a4142c12e004cd2477b7610408d5788ee5dd821ee9e4de204cbb72d9c399d858d9deabc3d49914d5d7c2927548160c19bdc7524b1a9f6acc1ec96a8d9848dd + languageName: node + linkType: hard + "@babel/generator@npm:^7.12.1, @babel/generator@npm:^7.13.0, @babel/generator@npm:^7.13.9": version: 7.13.9 resolution: "@babel/generator@npm:7.13.9" @@ -164,6 +204,17 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/generator@npm:7.18.2" + dependencies: + "@babel/types": ^7.18.2 + "@jridgewell/gen-mapping": ^0.3.0 + jsesc: ^2.5.1 + checksum: d0661e95532ddd97566d41fec26355a7b28d1cbc4df95fe80cc084c413342935911b48db20910708db39714844ddd614f61c2ec4cca3fb10181418bdcaa2e7a3 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.0.0, @babel/helper-annotate-as-pure@npm:^7.10.4, @babel/helper-annotate-as-pure@npm:^7.12.13": version: 7.12.13 resolution: "@babel/helper-annotate-as-pure@npm:7.12.13" @@ -230,6 +281,20 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.17.10, @babel/helper-compilation-targets@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-compilation-targets@npm:7.18.2" + dependencies: + "@babel/compat-data": ^7.17.10 + "@babel/helper-validator-option": ^7.16.7 + browserslist: ^4.20.2 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 4f02e79f20c0b3f8db5049ba8c35027c41ccb3fc7884835d04e49886538e0f55702959db1bb75213c94a5708fec2dc81a443047559a4f184abb884c72c0059b4 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.12.1, @babel/helper-create-class-features-plugin@npm:^7.13.0": version: 7.13.8 resolution: "@babel/helper-create-class-features-plugin@npm:7.13.8" @@ -262,6 +327,23 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.17.12, @babel/helper-create-class-features-plugin@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.18.0" + dependencies: + "@babel/helper-annotate-as-pure": ^7.16.7 + "@babel/helper-environment-visitor": ^7.16.7 + "@babel/helper-function-name": ^7.17.9 + "@babel/helper-member-expression-to-functions": ^7.17.7 + "@babel/helper-optimise-call-expression": ^7.16.7 + "@babel/helper-replace-supers": ^7.16.7 + "@babel/helper-split-export-declaration": ^7.16.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 9a6ef175350f1cf87abe7a738e8c9b603da7fcdb153c74e49af509183f8705278020baddb62a12c7f9ca059487fef97d75a4adea6a1446598ad9901d010e4296 + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.12.13": version: 7.12.17 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.12.17" @@ -286,6 +368,18 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-regexp-features-plugin@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.17.12" + dependencies: + "@babel/helper-annotate-as-pure": ^7.16.7 + regexpu-core: ^5.0.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: fe49d26b0f6c58d4c1748a4d0e98b343882b428e6db43c4ba5e0aa7ff2296b3a557f0a88de9f000599bb95640a6c47c0b0c9a952b58c11f61aabb06bcc304329 + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.1.5": version: 0.1.5 resolution: "@babel/helper-define-polyfill-provider@npm:0.1.5" @@ -331,6 +425,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-environment-visitor@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-environment-visitor@npm:7.18.2" + checksum: 1a9c8726fad454a082d077952a90f17188e92eabb3de236cb4782c49b39e3f69c327e272b965e9a20ff8abf37d30d03ffa6fd7974625a6c23946f70f7527f5e9 + languageName: node + linkType: hard + "@babel/helper-explode-assignable-expression@npm:^7.12.13": version: 7.13.0 resolution: "@babel/helper-explode-assignable-expression@npm:7.13.0" @@ -371,6 +472,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.17.9": + version: 7.17.9 + resolution: "@babel/helper-function-name@npm:7.17.9" + dependencies: + "@babel/template": ^7.16.7 + "@babel/types": ^7.17.0 + checksum: a59b2e5af56d8f43b9b0019939a43774754beb7cb01a211809ca8031c71890999d07739e955343135ec566c4d8ff725435f1f60fb0af3bb546837c1f9f84f496 + languageName: node + linkType: hard + "@babel/helper-get-function-arity@npm:^7.12.13": version: 7.12.13 resolution: "@babel/helper-get-function-arity@npm:7.12.13" @@ -426,6 +537,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-member-expression-to-functions@npm:^7.17.7": + version: 7.17.7 + resolution: "@babel/helper-member-expression-to-functions@npm:7.17.7" + dependencies: + "@babel/types": ^7.17.0 + checksum: 70f361bab627396c714c3938e94a569cb0da522179328477cdbc4318e4003c2666387ad4931d6bd5de103338c667c9e4bbe3e917fc8c527b3f3eb6175b888b7d + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.12.1, @babel/helper-module-imports@npm:^7.12.13": version: 7.12.13 resolution: "@babel/helper-module-imports@npm:7.12.13" @@ -477,6 +597,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/helper-module-transforms@npm:7.18.0" + dependencies: + "@babel/helper-environment-visitor": ^7.16.7 + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-simple-access": ^7.17.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/helper-validator-identifier": ^7.16.7 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.18.0 + "@babel/types": ^7.18.0 + checksum: 824c3967c08d75bb36adc18c31dcafebcd495b75b723e2e17c6185e88daf5c6db62a6a75d9f791b5f38618a349e7cb32503e715a1b9a4e8bad4d0f43e3e6b523 + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.12.13": version: 7.12.13 resolution: "@babel/helper-optimise-call-expression@npm:7.12.13" @@ -516,6 +652,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/helper-plugin-utils@npm:7.17.12" + checksum: 4813cf0ddb0f143de032cb88d4207024a2334951db330f8216d6fa253ea320c02c9b2667429ef1a34b5e95d4cfbd085f6cb72d418999751c31d0baf2422cc61d + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.13.0": version: 7.13.0 resolution: "@babel/helper-remap-async-to-generator@npm:7.13.0" @@ -563,6 +706,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-replace-supers@npm:7.18.2" + dependencies: + "@babel/helper-environment-visitor": ^7.18.2 + "@babel/helper-member-expression-to-functions": ^7.17.7 + "@babel/helper-optimise-call-expression": ^7.16.7 + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.2 + checksum: c0083b7933672dd2aed50b79021c46401c83f41bc2132def19c5414cf8f944251f6d91dd959b2bedada9a7436a80fab629adb486e008566290c82293e89fec05 + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.12.13": version: 7.12.13 resolution: "@babel/helper-simple-access@npm:7.12.13" @@ -581,6 +737,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.17.7, @babel/helper-simple-access@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helper-simple-access@npm:7.18.2" + dependencies: + "@babel/types": ^7.18.2 + checksum: c0862b56db7e120754d89273a039b128c27517389f6a4425ff24e49779791e8fe10061579171fb986be81fa076778acb847c709f6f5e396278d9c5e01360c375 + languageName: node + linkType: hard + "@babel/helper-skip-transparent-expression-wrappers@npm:^7.12.1": version: 7.12.1 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.12.1" @@ -691,6 +856,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/helpers@npm:7.18.2" + dependencies: + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.18.2 + "@babel/types": ^7.18.2 + checksum: 94620242f23f6d5f9b83a02b1aa1632ffb05b0815e1bb53d3b46d64aa8e771066bba1db8bd267d9091fb00134cfaeda6a8d69d1d4cc2c89658631adfa077ae70 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.12.13": version: 7.13.8 resolution: "@babel/highlight@npm:7.13.8" @@ -740,6 +916,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.18.0": + version: 7.18.4 + resolution: "@babel/parser@npm:7.18.4" + bin: + parser: ./bin/babel-parser.js + checksum: e05b2dc720c4b200e088258f3c2a2de5041c140444edc38181d1217b10074e881a7133162c5b62356061f26279f08df5a06ec14c5842996ee8601ad03c57a44f + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.16.7" @@ -751,6 +936,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 6ef739b3a2b0ac0b22b60ff472c118163ceb8d414dd08c8186cc563fddc2be62ad4d8681e02074a1c7f0056a72e7146493a85d12ded02e50904b0009ed85d8bf + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.16.7" @@ -764,6 +960,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 + "@babel/plugin-proposal-optional-chaining": ^7.17.12 + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 68520a8f26e56bc8d90c22133537a9819e82598e3c82007f30bdaf8898b0e12a7bfa0cd3044aca35a7f362fd6bc04e4cd8052a571fc2eb40ad8f1cf24e0fc45f + languageName: node + linkType: hard + "@babel/plugin-proposal-async-generator-functions@npm:^7.12.1, @babel/plugin-proposal-async-generator-functions@npm:^7.13.8": version: 7.13.8 resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.13.8" @@ -790,6 +999,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-async-generator-functions@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-remap-async-to-generator": ^7.16.8 + "@babel/plugin-syntax-async-generators": ^7.8.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 16a3c7f68a27031b4973b7c64ca009873c91b91afd7b3a4694ec7f1c6d8e91a6ee142eafd950113810fae122faa1031de71140333b2b1bd03d5367b1a05b1d91 + languageName: node + linkType: hard + "@babel/plugin-proposal-class-properties@npm:7.12.1": version: 7.12.1 resolution: "@babel/plugin-proposal-class-properties@npm:7.12.1" @@ -826,6 +1048,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-class-properties@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-class-properties@npm:7.17.12" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 884df6a4617a18cdc2a630096b2a10954bcc94757c893bb01abd6702fdc73343ca5c611f4884c4634e0608f5e86c3093ea6b973ce00bf21b248ba54de92c837d + languageName: node + linkType: hard + "@babel/plugin-proposal-class-static-block@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-proposal-class-static-block@npm:7.16.7" @@ -839,6 +1073,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-class-static-block@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-proposal-class-static-block@npm:7.18.0" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 70fd622fd7c62cca2aa99c70532766340a5c30105e35cb3f1187b450580d43adc78b3fcb1142ed339bcfccf84be95ea03407adf467331b318ce6874432736c89 + languageName: node + linkType: hard + "@babel/plugin-proposal-decorators@npm:7.12.1": version: 7.12.1 resolution: "@babel/plugin-proposal-decorators@npm:7.12.1" @@ -900,6 +1147,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-export-namespace-from@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 41c9cd4c0a5629b65725d2554867c15b199f534cea5538bd1ae379c0d13e7206d8590e23b23cb05a8b243e33e6eb88c1de3fd03a55cdbc6d4cf8634a6bebe43d + languageName: node + linkType: hard + "@babel/plugin-proposal-json-strings@npm:^7.12.1, @babel/plugin-proposal-json-strings@npm:^7.13.8": version: 7.13.8 resolution: "@babel/plugin-proposal-json-strings@npm:7.13.8" @@ -924,6 +1183,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-json-strings@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-json-strings@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-json-strings": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 8ed4ee3fbc28e44fac17c48bd95b5b8c3ffc852053a9fffd36ab498ec0b0ba069b8b2f5658edc18332748948433b9d3e1e376f564a1d65cb54592ba9943be09b + languageName: node + linkType: hard + "@babel/plugin-proposal-logical-assignment-operators@npm:^7.12.1, @babel/plugin-proposal-logical-assignment-operators@npm:^7.13.8": version: 7.13.8 resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.13.8" @@ -948,6 +1219,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-logical-assignment-operators@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0d48451836219b7beeca4be22a8aeb4a177a4944be4727afb94a4a11f201dde8b0b186dd2ad65b537d61e9af3fa1afda734f7096bec8602debd76d07aa342e21 + languageName: node + linkType: hard + "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.12.1": version: 7.12.1 resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.12.1" @@ -984,6 +1267,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7881d8005d0d4e17a94f3bfbfa4a0d8af016d2f62ed90912fabb8c5f8f0cc0a15fd412f09c230984c40b5c893086987d403c73198ef388ffcb3726ff72efc009 + languageName: node + linkType: hard + "@babel/plugin-proposal-numeric-separator@npm:7.12.1": version: 7.12.1 resolution: "@babel/plugin-proposal-numeric-separator@npm:7.12.1" @@ -1050,6 +1345,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-object-rest-spread@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.18.0" + dependencies: + "@babel/compat-data": ^7.17.10 + "@babel/helper-compilation-targets": ^7.17.10 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-transform-parameters": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2b49bcf9a6b11fd8b6a1d4962a64f3c846a63f8340eca9824c907f75bfcff7422ca35b135607fc3ef2d4e7e77ce6b6d955b772dc3c1c39f7ed24a0d8a560ec78 + languageName: node + linkType: hard + "@babel/plugin-proposal-optional-catch-binding@npm:^7.12.1, @babel/plugin-proposal-optional-catch-binding@npm:^7.13.8": version: 7.13.8 resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.13.8" @@ -1113,6 +1423,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-optional-chaining@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a27b220573441a0ad3eecf8ddcb249556a64de45add236791d76cfa164a8fd34181857528fa7d21d03d6b004e7c043bd929cce068e611ee1ac72aaf4d397aa12 + languageName: node + linkType: hard + "@babel/plugin-proposal-private-methods@npm:^7.12.1, @babel/plugin-proposal-private-methods@npm:^7.13.0": version: 7.13.0 resolution: "@babel/plugin-proposal-private-methods@npm:7.13.0" @@ -1137,6 +1460,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-private-methods@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-private-methods@npm:7.17.12" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a1e5bd6a0a541af55d133d7bcf51ff8eb4ac7417a30f518c2f38107d7d033a3d5b7128ea5b3a910b458d7ceb296179b6ff9d972be60d1c686113d25fede8bed3 + languageName: node + linkType: hard + "@babel/plugin-proposal-private-property-in-object@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.16.7" @@ -1151,6 +1486,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-private-property-in-object@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.17.12" + dependencies: + "@babel/helper-annotate-as-pure": ^7.16.7 + "@babel/helper-create-class-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 056cb77994b2ee367301cdf8c5b7ed71faf26d60859bbba1368b342977481b0884712a1b97fbd9b091750162923d0265bf901119d46002775aa66e4a9f30f411 + languageName: node + linkType: hard + "@babel/plugin-proposal-unicode-property-regex@npm:^7.12.1, @babel/plugin-proposal-unicode-property-regex@npm:^7.12.13, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": version: 7.12.13 resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.12.13" @@ -1175,6 +1524,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-unicode-property-regex@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.17.12" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0e4194510415ed11849f1617fcb32d996df746ba93cd05ebbabecb63cfc02c0e97b585c97da3dcf68acdd3c8b71cfae964abe5d5baba6bd3977a475d9225ad9e + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.0, @babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -1274,6 +1635,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-assertions@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fef25c3247d18dc7b8e432ed07f4afb92d70113fcfc3db0ca52388f8083b4bd60f88fe9ec0085e8a5a6daf18a619042376e76e2b4bd9470cddb7362cd268bea5 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" @@ -1318,6 +1690,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-syntax-jsx@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6acd0bbca8c3e0100ad61f3b7d0b0111cd241a0710b120b298c4aa0e07be02eccbcca61ede1e7678ade1783a0979f20305b62263df6767fa3fbf658670d82af5 + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -1450,6 +1833,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-arrow-functions@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 48f99e74f523641696d5d9fb3f5f02497eca2e97bc0e9b8230a47f388e37dc5fd84b8b29e9f5a0c82d63403f7ba5f085a28e26939678f6e917d5c01afd884b50 + languageName: node + linkType: hard + "@babel/plugin-transform-async-to-generator@npm:^7.12.1, @babel/plugin-transform-async-to-generator@npm:^7.13.0": version: 7.13.0 resolution: "@babel/plugin-transform-async-to-generator@npm:7.13.0" @@ -1476,6 +1870,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-to-generator@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.17.12" + dependencies: + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-remap-async-to-generator": ^7.16.8 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 052dd56eb3b10bc31f5aaced0f75fc7307713f74049ccfb91cd087bebfc890a6d462b59445c5299faaca9030814172cac290c941c76b731a38dcb267377c9187 + languageName: node + linkType: hard + "@babel/plugin-transform-block-scoped-functions@npm:^7.12.1, @babel/plugin-transform-block-scoped-functions@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.12.13" @@ -1520,6 +1927,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoping@npm:^7.17.12": + version: 7.18.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.18.4" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5fdc8fd2f56f43e275353123fa1cda3df475daf1e9d92c03d5aa1ae50d3a0ccabf80c6168356947d8eb8e6e29098c875bc27fda8c7d4fbca6ffc6eec5d5faa8d + languageName: node + linkType: hard + "@babel/plugin-transform-classes@npm:^7.12.1, @babel/plugin-transform-classes@npm:^7.13.0": version: 7.13.0 resolution: "@babel/plugin-transform-classes@npm:7.13.0" @@ -1555,6 +1973,24 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-classes@npm:^7.17.12": + version: 7.18.4 + resolution: "@babel/plugin-transform-classes@npm:7.18.4" + dependencies: + "@babel/helper-annotate-as-pure": ^7.16.7 + "@babel/helper-environment-visitor": ^7.18.2 + "@babel/helper-function-name": ^7.17.9 + "@babel/helper-optimise-call-expression": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-replace-supers": ^7.18.2 + "@babel/helper-split-export-declaration": ^7.16.7 + globals: ^11.1.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 968711024c2ed1c08ced754243edde3a663ab40c414ca6fcad1a75f27789f3f52cc78fbafe21c6337c4c6a0dfbeddd1527caff1558ed477790b600a1e6f99cda + languageName: node + linkType: hard + "@babel/plugin-transform-computed-properties@npm:^7.12.1, @babel/plugin-transform-computed-properties@npm:^7.13.0": version: 7.13.0 resolution: "@babel/plugin-transform-computed-properties@npm:7.13.0" @@ -1577,6 +2013,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-computed-properties@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-computed-properties@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5d05418617e0967bec4818556b7febb6f8c40813e32035f0bd6b7dbd7b9d63e9ab7c7c8fd7bd05bab2a599dad58e7b69957d9559b41079d112c219bbc3649aa1 + languageName: node + linkType: hard + "@babel/plugin-transform-destructuring@npm:^7.12.1, @babel/plugin-transform-destructuring@npm:^7.13.0": version: 7.13.0 resolution: "@babel/plugin-transform-destructuring@npm:7.13.0" @@ -1599,6 +2046,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-destructuring@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-destructuring@npm:7.18.0" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d85d60737c3b05c4db71bc94270e952122d360bd6ebf91b5f98cf16fb8564558b615d115354fe0ef41e2aae9c4540e6e16144284d881ecaef687693736cd2a79 + languageName: node + linkType: hard + "@babel/plugin-transform-dotall-regex@npm:^7.12.1, @babel/plugin-transform-dotall-regex@npm:^7.12.13, @babel/plugin-transform-dotall-regex@npm:^7.4.4": version: 7.12.13 resolution: "@babel/plugin-transform-dotall-regex@npm:7.12.13" @@ -1645,6 +2103,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-keys@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fb6ad550538830b0dc5b1b547734359f2d782209570e9d61fe9b84a6929af570fcc38ab579a67ee7cd6a832147db91a527f4cceb1248974f006fe815980816bb + languageName: node + linkType: hard + "@babel/plugin-transform-exponentiation-operator@npm:^7.12.1, @babel/plugin-transform-exponentiation-operator@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.12.13" @@ -1715,6 +2184,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-for-of@npm:^7.18.1": + version: 7.18.1 + resolution: "@babel/plugin-transform-for-of@npm:7.18.1" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: cdc6e1f1170218cc6ac5b26b4b8f011ec5c36666101e00e0061aaa5772969b093bad5b2af8ce908c184126d5bb0c26b89dd4debb96b2375aba2e20e427a623a8 + languageName: node + linkType: hard + "@babel/plugin-transform-function-name@npm:^7.12.1, @babel/plugin-transform-function-name@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-function-name@npm:7.12.13" @@ -1762,6 +2242,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-literals@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-literals@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 09280fc1ed23b81deafd4fcd7a35d6c0944668de2317f14c1b8b78c5c201f71a063bb8d174d2fc97d86df480ff23104c8919d3aacf19f33c2b5ada584203bf1c + languageName: node + linkType: hard + "@babel/plugin-transform-member-expression-literals@npm:^7.12.1, @babel/plugin-transform-member-expression-literals@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.12.13" @@ -1810,6 +2301,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-amd@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-modules-amd@npm:7.18.0" + dependencies: + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bed3ff5cd81f236981360fc4a6fd2262685c1202772c657ce3ab95b7930437f8fa22361021b481c977b6f47988dfcc07c7782a1c91b90d3a5552c91401f4631a + languageName: node + linkType: hard + "@babel/plugin-transform-modules-commonjs@npm:^7.12.1, @babel/plugin-transform-modules-commonjs@npm:^7.13.8": version: 7.13.8 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.13.8" @@ -1838,6 +2342,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-commonjs@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.2" + dependencies: + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-simple-access": ^7.18.2 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 99c1c5ce9c353e29eb680ebb5bdf27c076c6403e133a066999298de642423cc7f38cfbac02372d33ed73278da13be23c4be7d60169c3e27bd900a373e61a599a + languageName: node + linkType: hard + "@babel/plugin-transform-modules-systemjs@npm:^7.12.1, @babel/plugin-transform-modules-systemjs@npm:^7.13.8": version: 7.13.8 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.13.8" @@ -1868,6 +2386,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-systemjs@npm:^7.18.0": + version: 7.18.4 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.4" + dependencies: + "@babel/helper-hoist-variables": ^7.16.7 + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-validator-identifier": ^7.16.7 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: abe6948a1548b20055bf1c56ceab5b17dc283e7cdbcc0525b297b726f0785f1169333b5e685add81337fc749588adb8d96ccba9269565031db006a710e7eaf02 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-umd@npm:^7.12.1, @babel/plugin-transform-modules-umd@npm:^7.13.0": version: 7.13.0 resolution: "@babel/plugin-transform-modules-umd@npm:7.13.0" @@ -1892,6 +2425,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-umd@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-modules-umd@npm:7.18.0" + dependencies: + "@babel/helper-module-transforms": ^7.18.0 + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4081a79cfd4c6fda785c2137f9f2721e35c06a9d2f23c304172838d12e9317a24d3cb5b652a9db61e58319b370c57b1b44991429efe709679f98e114d98597fb + languageName: node + linkType: hard + "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.1, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.12.13" @@ -1914,6 +2459,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.17.12" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.17.12 + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: cff9d91d0abd87871da6574583e79093ed75d5faecea45b6a13350ba243b1a595d349a6e7d906f5dfdf6c69c643cba9df662c3d01eaa187c5b1a01cb5838e848 + languageName: node + linkType: hard + "@babel/plugin-transform-new-target@npm:^7.12.1, @babel/plugin-transform-new-target@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-new-target@npm:7.12.13" @@ -1936,6 +2493,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-new-target@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-new-target@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bec26350fa49c9a9431d23b4ff234f8eb60554b8cdffca432a94038406aae5701014f343568c0e0cc8afae6f95d492f6bae0d0e2c101c1a484fb20eec75b2c07 + languageName: node + linkType: hard + "@babel/plugin-transform-object-super@npm:^7.12.1, @babel/plugin-transform-object-super@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-object-super@npm:7.12.13" @@ -1982,6 +2550,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-parameters@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-parameters@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d9ed5ec61dc460835bade8fa710b42ec9f207bd448ead7e8abd46b87db0afedbb3f51284700fd2a6892fdf6544ec9b949c505c6542c5ba0a41ca4e8749af00f0 + languageName: node + linkType: hard + "@babel/plugin-transform-property-literals@npm:^7.12.1, @babel/plugin-transform-property-literals@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-property-literals@npm:7.12.13" @@ -2122,6 +2701,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-react-jsx@npm:7.17.12" + dependencies: + "@babel/helper-annotate-as-pure": ^7.16.7 + "@babel/helper-module-imports": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/plugin-syntax-jsx": ^7.17.12 + "@babel/types": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 02e9974d14821173bb8e84db4bdfccd546bfdbf445d91d6345f953591f16306cf5741861d72e0d0910f3ffa7d4084fafed99cedf736e7ba8bed0cf64320c2ea6 + languageName: node + linkType: hard + "@babel/plugin-transform-react-pure-annotations@npm:^7.12.1": version: 7.12.1 resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.12.1" @@ -2168,6 +2762,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regenerator@npm:^7.18.0": + version: 7.18.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.18.0" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + regenerator-transform: ^0.15.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ebacf2bbe9e2fb6f2bd7996e19b41bfc9848628950ae06a1a832802a0b8e32a32003c6b89318da6ca521f79045c91324dcb4c97247ed56f86fa58d7401a7316f + languageName: node + linkType: hard + "@babel/plugin-transform-reserved-words@npm:^7.12.1, @babel/plugin-transform-reserved-words@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-reserved-words@npm:7.12.13" @@ -2190,6 +2796,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-reserved-words@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-reserved-words@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d8a617cb79ca5852ac2736a9f81c15a3b0760919720c3b9069a864e2288006ebcaab557dbb36a3eba936defd6699f82e3bf894915925aa9185f5d9bcbf3b29fd + languageName: node + linkType: hard + "@babel/plugin-transform-runtime@npm:7.12.1": version: 7.12.1 resolution: "@babel/plugin-transform-runtime@npm:7.12.1" @@ -2250,6 +2867,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-spread@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-spread@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a95e4f163d598c0efc9d983e5ce3e8716998dd2af62af8102b11cb8d6383c71b74c7106adbce73cda6e48d3d3e927627847d36d76c2eb688cd0e2e07f67fb51 + languageName: node + linkType: hard + "@babel/plugin-transform-sticky-regex@npm:^7.12.1, @babel/plugin-transform-sticky-regex@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-sticky-regex@npm:7.12.13" @@ -2294,6 +2923,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-template-literals@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/plugin-transform-template-literals@npm:7.18.2" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bc0102ed8c789e5bc01053088e2de85b82cebcd4d57af9fdc32ca62f559d3dd19c33e9d26caa71c5fd8e94152e5ce4fc4da19badc2d537620e6dea83bce7eb05 + languageName: node + linkType: hard + "@babel/plugin-transform-typeof-symbol@npm:^7.12.1, @babel/plugin-transform-typeof-symbol@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.12.13" @@ -2316,6 +2956,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typeof-symbol@npm:^7.17.12": + version: 7.17.12 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.17.12" + dependencies: + "@babel/helper-plugin-utils": ^7.17.12 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e30bd03c8abc1b095f8b2a10289df6850e3bc3cd0aea1cbc29050aa3b421cbb77d0428b0cd012333632a7a930dc8301cd888e762b2dd601e7dc5dac50f4140c9 + languageName: node + linkType: hard + "@babel/plugin-transform-typescript@npm:^7.12.1": version: 7.13.0 resolution: "@babel/plugin-transform-typescript@npm:7.13.0" @@ -2529,7 +3180,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.4.4, @babel/preset-env@npm:~7.16.11": +"@babel/preset-env@npm:^7.4.4": version: 7.16.11 resolution: "@babel/preset-env@npm:7.16.11" dependencies: @@ -2613,6 +3264,91 @@ __metadata: languageName: node linkType: hard +"@babel/preset-env@npm:~7.18.2": + version: 7.18.2 + resolution: "@babel/preset-env@npm:7.18.2" + dependencies: + "@babel/compat-data": ^7.17.10 + "@babel/helper-compilation-targets": ^7.18.2 + "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-validator-option": ^7.16.7 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.17.12 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.17.12 + "@babel/plugin-proposal-async-generator-functions": ^7.17.12 + "@babel/plugin-proposal-class-properties": ^7.17.12 + "@babel/plugin-proposal-class-static-block": ^7.18.0 + "@babel/plugin-proposal-dynamic-import": ^7.16.7 + "@babel/plugin-proposal-export-namespace-from": ^7.17.12 + "@babel/plugin-proposal-json-strings": ^7.17.12 + "@babel/plugin-proposal-logical-assignment-operators": ^7.17.12 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.17.12 + "@babel/plugin-proposal-numeric-separator": ^7.16.7 + "@babel/plugin-proposal-object-rest-spread": ^7.18.0 + "@babel/plugin-proposal-optional-catch-binding": ^7.16.7 + "@babel/plugin-proposal-optional-chaining": ^7.17.12 + "@babel/plugin-proposal-private-methods": ^7.17.12 + "@babel/plugin-proposal-private-property-in-object": ^7.17.12 + "@babel/plugin-proposal-unicode-property-regex": ^7.17.12 + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-class-properties": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/plugin-syntax-import-assertions": ^7.17.12 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-transform-arrow-functions": ^7.17.12 + "@babel/plugin-transform-async-to-generator": ^7.17.12 + "@babel/plugin-transform-block-scoped-functions": ^7.16.7 + "@babel/plugin-transform-block-scoping": ^7.17.12 + "@babel/plugin-transform-classes": ^7.17.12 + "@babel/plugin-transform-computed-properties": ^7.17.12 + "@babel/plugin-transform-destructuring": ^7.18.0 + "@babel/plugin-transform-dotall-regex": ^7.16.7 + "@babel/plugin-transform-duplicate-keys": ^7.17.12 + "@babel/plugin-transform-exponentiation-operator": ^7.16.7 + "@babel/plugin-transform-for-of": ^7.18.1 + "@babel/plugin-transform-function-name": ^7.16.7 + "@babel/plugin-transform-literals": ^7.17.12 + "@babel/plugin-transform-member-expression-literals": ^7.16.7 + "@babel/plugin-transform-modules-amd": ^7.18.0 + "@babel/plugin-transform-modules-commonjs": ^7.18.2 + "@babel/plugin-transform-modules-systemjs": ^7.18.0 + "@babel/plugin-transform-modules-umd": ^7.18.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.17.12 + "@babel/plugin-transform-new-target": ^7.17.12 + "@babel/plugin-transform-object-super": ^7.16.7 + "@babel/plugin-transform-parameters": ^7.17.12 + "@babel/plugin-transform-property-literals": ^7.16.7 + "@babel/plugin-transform-regenerator": ^7.18.0 + "@babel/plugin-transform-reserved-words": ^7.17.12 + "@babel/plugin-transform-shorthand-properties": ^7.16.7 + "@babel/plugin-transform-spread": ^7.17.12 + "@babel/plugin-transform-sticky-regex": ^7.16.7 + "@babel/plugin-transform-template-literals": ^7.18.2 + "@babel/plugin-transform-typeof-symbol": ^7.17.12 + "@babel/plugin-transform-unicode-escapes": ^7.16.7 + "@babel/plugin-transform-unicode-regex": ^7.16.7 + "@babel/preset-modules": ^0.1.5 + "@babel/types": ^7.18.2 + babel-plugin-polyfill-corejs2: ^0.3.0 + babel-plugin-polyfill-corejs3: ^0.5.0 + babel-plugin-polyfill-regenerator: ^0.3.0 + core-js-compat: ^3.22.1 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f81892a7970cb34643b93917cbbc9b581d5066d892639867521f4a85ec258e69362a37bbb7b899b351e71d26095a97cd2d6e35e5f9ee110715146e0ccc19e700 + languageName: node + linkType: hard + "@babel/preset-modules@npm:^0.1.3, @babel/preset-modules@npm:^0.1.4": version: 0.1.4 resolution: "@babel/preset-modules@npm:0.1.4" @@ -2675,19 +3411,19 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:~7.16.7": - version: 7.16.7 - resolution: "@babel/preset-react@npm:7.16.7" +"@babel/preset-react@npm:~7.17.12": + version: 7.17.12 + resolution: "@babel/preset-react@npm:7.17.12" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.17.12 "@babel/helper-validator-option": ^7.16.7 "@babel/plugin-transform-react-display-name": ^7.16.7 - "@babel/plugin-transform-react-jsx": ^7.16.7 + "@babel/plugin-transform-react-jsx": ^7.17.12 "@babel/plugin-transform-react-jsx-development": ^7.16.7 "@babel/plugin-transform-react-pure-annotations": ^7.16.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d0a052a418891ab6a02df9c75f0202964ad3b936c20bc44c81bcf3f02c057383f2fa329e0cc79baaac1b4e5e5c8924d3df93a2dd9319efe8042e3b33849978b3 + checksum: 369712150d6a152720069db8d024320f3d9d2a6611e9b0be4aa03dcab8502fa0e9efc0693c93ba2d818d5243c9d03b015163d76efe65df600f15b9b0a206f674 languageName: node linkType: hard @@ -2797,6 +3533,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.18.0, @babel/traverse@npm:^7.18.2": + version: 7.18.2 + resolution: "@babel/traverse@npm:7.18.2" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.18.2 + "@babel/helper-environment-visitor": ^7.18.2 + "@babel/helper-function-name": ^7.17.9 + "@babel/helper-hoist-variables": ^7.16.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/parser": ^7.18.0 + "@babel/types": ^7.18.2 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: e21c2d550bf610406cf21ef6fbec525cb1d80b9d6d71af67552478a24ee371203cb4025b23b110ae7288a62a874ad5898daad19ad23daa95dfc8ab47a47a092f + languageName: node + linkType: hard + "@babel/traverse@npm:^7.4.5": version: 7.13.15 resolution: "@babel/traverse@npm:7.13.15" @@ -2845,6 +3599,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.17.12, @babel/types@npm:^7.18.0, @babel/types@npm:^7.18.2": + version: 7.18.4 + resolution: "@babel/types@npm:7.18.4" + dependencies: + "@babel/helper-validator-identifier": ^7.16.7 + to-fast-properties: ^2.0.0 + checksum: 85df59beb99c1b95e9e41590442f2ffa1e5b1b558d025489db40c9f7c906bd03a17da26c3ec486e5800e80af27c42ca7eee9506d9212ab17766d2d68d30fbf52 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -3890,6 +4654,27 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.0": + version: 0.3.1 + resolution: "@jridgewell/gen-mapping@npm:0.3.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: e9e7bb3335dea9e60872089761d4e8e089597360cdb1af90370e9d53b7d67232c1e0a3ab65fbfef4fc785745193fbc56bff9f3a6cab6c6ce3f15e12b4191f86b + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.0.3": version: 3.0.4 resolution: "@jridgewell/resolve-uri@npm:3.0.4" @@ -3897,6 +4682,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/set-array@npm:^1.0.0": + version: 1.1.1 + resolution: "@jridgewell/set-array@npm:1.1.1" + checksum: cc5d91e0381c347e3edee4ca90b3c292df9e6e55f29acbe0dd97de8651b4730e9ab761406fd572effa79972a0edc55647b627f8c72315e276d959508853d9bf2 + languageName: node + linkType: hard + "@jridgewell/sourcemap-codec@npm:^1.4.10": version: 1.4.10 resolution: "@jridgewell/sourcemap-codec@npm:1.4.10" @@ -3914,6 +4706,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.13 + resolution: "@jridgewell/trace-mapping@npm:0.3.13" + dependencies: + "@jridgewell/resolve-uri": ^3.0.3 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: e38254e830472248ca10a6ed1ae75af5e8514f0680245a5e7b53bc3c030fd8691d4d3115d80595b45d3badead68269769ed47ecbbdd67db1343a11f05700e75a + languageName: node + linkType: hard + "@mapbox/geojson-rewind@npm:^0.5.0": version: 0.5.0 resolution: "@mapbox/geojson-rewind@npm:0.5.0" @@ -8572,6 +9374,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.20.2, browserslist@npm:^4.20.3": + version: 4.20.4 + resolution: "browserslist@npm:4.20.4" + dependencies: + caniuse-lite: ^1.0.30001349 + electron-to-chromium: ^1.4.147 + escalade: ^3.1.1 + node-releases: ^2.0.5 + picocolors: ^1.0.0 + bin: + browserslist: cli.js + checksum: 0e56c42da765524e5c31bc9a1f08afaa8d5dba085071137cf21e56dc78d0cf0283764143df4c7d1c0cd18c3187fc9494e1d93fa0255004f0be493251a28635f9 + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -8812,6 +9629,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001349": + version: 1.0.30001352 + resolution: "caniuse-lite@npm:1.0.30001352" + checksum: 575ad031349e56224471859decd100d0f90c804325bf1b543789b212d6126f6e18925766b325b1d96f75e48df0036e68f92af26d1fb175803fd6ad935bc807ac + languageName: node + linkType: hard + "canvas-fit@npm:^1.5.0": version: 1.5.0 resolution: "canvas-fit@npm:1.5.0" @@ -8848,9 +9672,9 @@ __metadata: version: 0.0.0-use.local resolution: "cbm-dashboard@workspace:packages/cbm-dashboard" dependencies: - "@babel/core": ~7.17.2 - "@babel/preset-env": ~7.16.11 - "@babel/preset-react": ~7.16.7 + "@babel/core": ~7.18.2 + "@babel/preset-env": ~7.18.2 + "@babel/preset-react": ~7.17.12 "@material-ui/core": ^4.11.3 "@material-ui/icons": ^4.11.2 "@rollup/plugin-babel": ~5.3.0 @@ -9696,6 +10520,16 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.22.1": + version: 3.22.8 + resolution: "core-js-compat@npm:3.22.8" + dependencies: + browserslist: ^4.20.3 + semver: 7.0.0 + checksum: 0c82d9110dcb267c2f5547c61b62f8043793d203523048169176b8badf0b73f3792624342b85d9c923df8eb8971b4aa468b160abb81a023d183c5951e4f05a66 + languageName: node + linkType: hard + "core-js-compat@npm:^3.6.2, core-js-compat@npm:^3.8.1, core-js-compat@npm:^3.9.0": version: 3.9.1 resolution: "core-js-compat@npm:3.9.1" @@ -11373,6 +12207,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.4.147": + version: 1.4.150 + resolution: "electron-to-chromium@npm:1.4.150" + checksum: d89c4db96c7d8d23c619772b787b7c036ccf48289c36c9e0d0938c137b7d3934234825161e9cc9e918ad83b9a23145e605181544a80034df4d2c0fc880881304 + languageName: node + linkType: hard + "electron-to-chromium@npm:^1.4.17": version: 1.4.68 resolution: "electron-to-chromium@npm:1.4.68" @@ -14541,9 +15382,9 @@ fsevents@^1.2.7: version: 0.0.0-use.local resolution: "indicators@workspace:packages/indicators" dependencies: - "@babel/core": ~7.17.2 - "@babel/preset-env": ~7.16.11 - "@babel/preset-react": ~7.16.7 + "@babel/core": ~7.18.2 + "@babel/preset-env": ~7.18.2 + "@babel/preset-react": ~7.17.12 "@material-ui/core": ^4.12.3 "@material-ui/icons": ^4.11.2 "@rollup/plugin-babel": ~5.3.0 @@ -16146,6 +16987,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"json5@npm:^2.2.1": + version: 2.2.1 + resolution: "json5@npm:2.2.1" + bin: + json5: lib/cli.js + checksum: 74b8a23b102a6f2bf2d224797ae553a75488b5adbaee9c9b6e5ab8b510a2fc6e38f876d4c77dea672d4014a44b2399e15f2051ac2b37b87f74c0c7602003543b + languageName: node + linkType: hard + "jsonfile@npm:^4.0.0": version: 4.0.0 resolution: "jsonfile@npm:4.0.0" @@ -17799,6 +18649,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"node-releases@npm:^2.0.5": + version: 2.0.5 + resolution: "node-releases@npm:2.0.5" + checksum: e85d949addd19f8827f32569d2be5751e7812ccf6cc47879d49f79b5234ff4982225e39a3929315f96370823b070640fb04d79fc0ddec8b515a969a03493a42f + languageName: node + linkType: hard + "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -21403,6 +22260,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"regenerator-transform@npm:^0.15.0": + version: 0.15.0 + resolution: "regenerator-transform@npm:0.15.0" + dependencies: + "@babel/runtime": ^7.8.4 + checksum: 86e54849ab1167618d28bb56d214c52a983daf29b0d115c976d79840511420049b6b42c9ebdf187defa8e7129bdd74b6dd266420d0d3868c9fa7f793b5d15d49 + languageName: node + linkType: hard + "regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": version: 1.0.2 resolution: "regex-not@npm:1.0.2" From a9e878ef7f5b15a52600ddb0e3ee9afdf02755fe Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 08:59:53 -0500 Subject: [PATCH 002/664] upgrade emotion/react and styled --- package.json | 4 +-- yarn.lock | 69 +++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 51 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index ad3bb18a2..e5152c82c 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,8 @@ "lint": "eslint src --ext .js,.jsx" }, "dependencies": { - "@emotion/react": "~11.7.1", - "@emotion/styled": "~11.6.0", + "@emotion/react": "~11.9.0", + "@emotion/styled": "~11.8.1", "@mui/icons-material": "~5.4.2", "@mui/material": "~5.4.2", "@mui/styles": "~5.4.2", diff --git a/yarn.lock b/yarn.lock index 4403976b3..74e5cab36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3653,9 +3653,9 @@ __metadata: languageName: node linkType: hard -"@emotion/babel-plugin@npm:^11.3.0": - version: 11.7.2 - resolution: "@emotion/babel-plugin@npm:11.7.2" +"@emotion/babel-plugin@npm:^11.7.1": + version: 11.9.2 + resolution: "@emotion/babel-plugin@npm:11.9.2" dependencies: "@babel/helper-module-imports": ^7.12.13 "@babel/plugin-syntax-jsx": ^7.12.13 @@ -3671,7 +3671,7 @@ __metadata: stylis: 4.0.13 peerDependencies: "@babel/core": ^7.0.0 - checksum: eb9607356663c3e158b91ae7b8fde7335c74e6302d1671da1ca0b34142f762e1354bac8cb0bdf5baedf1278912eeea01e103b8f5c59ee107746d1b03f56aa664 + checksum: 2d2c4fadd389862896bcbc5f42c9b9c1a199810173fcf14e5520506c7179c2ddb991b8832fd273f42104cf0dae98886ad8e767b5e38ad235b652d903c3b8a328 languageName: node linkType: hard @@ -3713,6 +3713,15 @@ __metadata: languageName: node linkType: hard +"@emotion/is-prop-valid@npm:^1.1.2": + version: 1.1.2 + resolution: "@emotion/is-prop-valid@npm:1.1.2" + dependencies: + "@emotion/memoize": ^0.7.4 + checksum: 58b1f2d429a589f8f5bc2c33a8732cbb7bbcb17131a103511ef9a94ac754d7eeb53d627f947da480cd977f9d419fd92e244991680292f3287204159652745707 + languageName: node + linkType: hard + "@emotion/memoize@npm:0.7.4": version: 0.7.4 resolution: "@emotion/memoize@npm:0.7.4" @@ -3727,15 +3736,15 @@ __metadata: languageName: node linkType: hard -"@emotion/react@npm:~11.7.1": - version: 11.7.1 - resolution: "@emotion/react@npm:11.7.1" +"@emotion/react@npm:~11.9.0": + version: 11.9.0 + resolution: "@emotion/react@npm:11.9.0" dependencies: "@babel/runtime": ^7.13.10 + "@emotion/babel-plugin": ^11.7.1 "@emotion/cache": ^11.7.1 - "@emotion/serialize": ^1.0.2 - "@emotion/sheet": ^1.1.0 - "@emotion/utils": ^1.0.0 + "@emotion/serialize": ^1.0.3 + "@emotion/utils": ^1.1.0 "@emotion/weak-memoize": ^0.2.5 hoist-non-react-statics: ^3.3.1 peerDependencies: @@ -3746,7 +3755,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 3392aa71f9c68c16022947959f7f842174e6b075b3baf58e185462411cd9b5a87557109a9225b1abaa2d7200a08b7cb9d7f21aa035f0d36b2c89e19b2a124e02 + checksum: 4ceb004f942fb7557a55ea17aad2c48c4cd48ed5a780ccdc2993e4bded2f94d7c1764bd2f4fbe53f5b26059263599cec64ff66d29447e281a58c60b39c72e5cc languageName: node linkType: hard @@ -3763,6 +3772,19 @@ __metadata: languageName: node linkType: hard +"@emotion/serialize@npm:^1.0.3": + version: 1.0.3 + resolution: "@emotion/serialize@npm:1.0.3" + dependencies: + "@emotion/hash": ^0.8.0 + "@emotion/memoize": ^0.7.4 + "@emotion/unitless": ^0.7.5 + "@emotion/utils": ^1.0.0 + csstype: ^3.0.2 + checksum: 99a9053bd98c99d63af542ebee029281eeaf653e3a12e97ee79bad7330c68408104c30be6fc07a528e38bb69aba680655181744b76ec6c6f459c121cb805fac2 + languageName: node + linkType: hard + "@emotion/sheet@npm:^1.1.0": version: 1.1.0 resolution: "@emotion/sheet@npm:1.1.0" @@ -3770,15 +3792,15 @@ __metadata: languageName: node linkType: hard -"@emotion/styled@npm:~11.6.0": - version: 11.6.0 - resolution: "@emotion/styled@npm:11.6.0" +"@emotion/styled@npm:~11.8.1": + version: 11.8.1 + resolution: "@emotion/styled@npm:11.8.1" dependencies: "@babel/runtime": ^7.13.10 - "@emotion/babel-plugin": ^11.3.0 - "@emotion/is-prop-valid": ^1.1.1 + "@emotion/babel-plugin": ^11.7.1 + "@emotion/is-prop-valid": ^1.1.2 "@emotion/serialize": ^1.0.2 - "@emotion/utils": ^1.0.0 + "@emotion/utils": ^1.1.0 peerDependencies: "@babel/core": ^7.0.0 "@emotion/react": ^11.0.0-rc.0 @@ -3788,7 +3810,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 612bbf114a4ca49e5b3ec4554bea1cd5aad9eeb2371babc3e6b79eab5020bd0300b9904108b621837fe715e221ba09dd131dc29918c1fd966e082d8e74fca833 + checksum: 67150fa788785c34e285b90acecc91fe7a63babceaefbeffd053bed0fa31f72a05bfeeb9d15620766e543e007b9ccac2e836812eec2e791f962ec4e52731ae4c languageName: node linkType: hard @@ -3813,6 +3835,13 @@ __metadata: languageName: node linkType: hard +"@emotion/utils@npm:^1.1.0": + version: 1.1.0 + resolution: "@emotion/utils@npm:1.1.0" + checksum: d3b681ca3a23b07033ac6c6937e71010a5549ac8ccec325eb6c91a7e48d9a73db83fa5dadc58be981bb125d7c00fedca868ea4362b1da9e02866615f96be4df1 + languageName: node + linkType: hard + "@emotion/weak-memoize@npm:^0.2.5": version: 0.2.5 resolution: "@emotion/weak-memoize@npm:0.2.5" @@ -9040,8 +9069,8 @@ __metadata: version: 0.0.0-use.local resolution: "biotablero@workspace:." dependencies: - "@emotion/react": ~11.7.1 - "@emotion/styled": ~11.6.0 + "@emotion/react": ~11.9.0 + "@emotion/styled": ~11.8.1 "@mui/icons-material": ~5.4.2 "@mui/material": ~5.4.2 "@mui/styles": ~5.4.2 From ae026b3a7f50893e66442d1709265363ddbbf86b Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 09:09:28 -0500 Subject: [PATCH 003/664] upgrade material-ui and mui --- package.json | 6 +- packages/cbm-dashboard/package.json | 4 +- packages/indicators/package.json | 4 +- yarn.lock | 366 +++++++++++----------------- 4 files changed, 152 insertions(+), 228 deletions(-) diff --git a/package.json b/package.json index e5152c82c..d02c52f75 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,9 @@ "dependencies": { "@emotion/react": "~11.9.0", "@emotion/styled": "~11.8.1", - "@mui/icons-material": "~5.4.2", - "@mui/material": "~5.4.2", - "@mui/styles": "~5.4.2", + "@mui/icons-material": "~5.8.3", + "@mui/material": "~5.8.3", + "@mui/styles": "~5.8.3", "@nivo/bar": "~0.79.0", "@nivo/bullet": "~0.79.0", "@nivo/core": "~0.79.0", diff --git a/packages/cbm-dashboard/package.json b/packages/cbm-dashboard/package.json index 32654a4e3..966288daf 100644 --- a/packages/cbm-dashboard/package.json +++ b/packages/cbm-dashboard/package.json @@ -4,8 +4,8 @@ "description": "", "main": "dist/App.js", "dependencies": { - "@material-ui/core": "^4.11.3", - "@material-ui/icons": "^4.11.2", + "@material-ui/core": "^4.12.4", + "@material-ui/icons": "^4.11.3", "babel-plugin-transform-runtime": "~6.23.0", "papaparse": "~5.3.1", "plotly.js": "~2.9.0", diff --git a/packages/indicators/package.json b/packages/indicators/package.json index 7386096af..841e058c1 100644 --- a/packages/indicators/package.json +++ b/packages/indicators/package.json @@ -4,8 +4,8 @@ "description": "", "main": "dist/App.js", "dependencies": { - "@material-ui/core": "^4.12.3", - "@material-ui/icons": "^4.11.2", + "@material-ui/core": "^4.12.4", + "@material-ui/icons": "^4.11.3", "firebase": "~9.6.6", "prop-types": "~15.8.1", "react": "~17.0.2", diff --git a/yarn.lock b/yarn.lock index 74e5cab36..d6755b101 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3467,7 +3467,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.0, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.9.2": version: 7.17.2 resolution: "@babel/runtime@npm:7.17.2" dependencies: @@ -3476,6 +3476,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.17.2": + version: 7.18.3 + resolution: "@babel/runtime@npm:7.18.3" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: db8526226aa02cfa35a5a7ac1a34b5f303c62a1f000c7db48cb06c6290e616483e5036ab3c4e7a84d0f3be6d4e2148d5fe5cec9564bf955f505c3e764b83d7f1 + languageName: node + linkType: hard + "@babel/template@npm:^7.10.4, @babel/template@npm:^7.12.13, @babel/template@npm:^7.3.3": version: 7.12.13 resolution: "@babel/template@npm:7.12.13" @@ -3704,15 +3713,6 @@ __metadata: languageName: node linkType: hard -"@emotion/is-prop-valid@npm:^1.1.1": - version: 1.1.1 - resolution: "@emotion/is-prop-valid@npm:1.1.1" - dependencies: - "@emotion/memoize": ^0.7.4 - checksum: 5816696dae6ac79537a31fe95256e0c1f55651507204676dd9903542b102f727c16a68924e6634a89b0972f0d15b0803bb9d4e14bd0fb8a49da8a2e3956e6639 - languageName: node - linkType: hard - "@emotion/is-prop-valid@npm:^1.1.2": version: 1.1.2 resolution: "@emotion/is-prop-valid@npm:1.1.2" @@ -4817,42 +4817,15 @@ __metadata: languageName: node linkType: hard -"@material-ui/core@npm:^4.11.3": - version: 4.11.3 - resolution: "@material-ui/core@npm:4.11.3" - dependencies: - "@babel/runtime": ^7.4.4 - "@material-ui/styles": ^4.11.3 - "@material-ui/system": ^4.11.3 - "@material-ui/types": ^5.1.0 - "@material-ui/utils": ^4.11.2 - "@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 - 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 - checksum: 9cd3c765eef1ae8a4bae65d486ded31ac858099e355206d08c00f4562f99e9a28af0414ee4c283fe272b95c1e79bd1614060985d8324209b0e39cbabb954c275 - languageName: node - linkType: hard - -"@material-ui/core@npm:^4.12.3": - version: 4.12.3 - resolution: "@material-ui/core@npm:4.12.3" +"@material-ui/core@npm:^4.12.4": + version: 4.12.4 + resolution: "@material-ui/core@npm:4.12.4" dependencies: "@babel/runtime": ^7.4.4 - "@material-ui/styles": ^4.11.4 - "@material-ui/system": ^4.12.1 + "@material-ui/styles": ^4.11.5 + "@material-ui/system": ^4.12.2 "@material-ui/types": 5.1.0 - "@material-ui/utils": ^4.11.2 + "@material-ui/utils": ^4.11.3 "@types/react-transition-group": ^4.2.0 clsx: ^1.0.4 hoist-non-react-statics: ^3.3.2 @@ -4867,66 +4840,35 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: f0032b8c04883fa4aed66a949cde21f1df35c622fbab30b91cfe8fae9508729a4847db3843cba9b1c491466dd2100fddb9e691ffc6b86052a7986215dbb4f94c - languageName: node - linkType: hard - -"@material-ui/icons@npm:^4.11.2": - version: 4.11.2 - resolution: "@material-ui/icons@npm:4.11.2" - dependencies: - "@babel/runtime": ^7.4.4 - 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 - checksum: 0cd1d54b25a4237bd0cefd383d287911f721d4c4ac4fd7980370566b9927f3a9725e7a715042f7c65c87fa554173fbef5328de1d08e60eb996038f375ddf583a + checksum: 96b48deccda87ced841b1db45bed2be6d2b6d1b4eae72cd5c9b931201cb72026330688e0fead54e715bcead40b267ea88bde781c9f1563b1a71a5c51bf187289 languageName: node linkType: hard -"@material-ui/styles@npm:^4.11.3": +"@material-ui/icons@npm:^4.11.3": version: 4.11.3 - resolution: "@material-ui/styles@npm:4.11.3" + resolution: "@material-ui/icons@npm:4.11.3" dependencies: "@babel/runtime": ^7.4.4 - "@emotion/hash": ^0.8.0 - "@material-ui/types": ^5.1.0 - "@material-ui/utils": ^4.11.2 - 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 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 - checksum: 7b783ad70e4a81557a9d0b161e76a183eb18223a3a5f7cc120fff31ab621c3002df165c9540bf54326e95c18643abe87dfbeb43dd0afaa7513de40f84babea26 + checksum: f849a8c4fecddc112cfa94105a2c72e763ff76b9f8da74135b7bbadfd294ed6685897cbea6a2128099be0ce37843784893d8c64da6bde37d020956ab9067206c languageName: node linkType: hard -"@material-ui/styles@npm:^4.11.4": - version: 4.11.4 - resolution: "@material-ui/styles@npm:4.11.4" +"@material-ui/styles@npm:^4.11.5": + version: 4.11.5 + resolution: "@material-ui/styles@npm:4.11.5" dependencies: "@babel/runtime": ^7.4.4 "@emotion/hash": ^0.8.0 "@material-ui/types": 5.1.0 - "@material-ui/utils": ^4.11.2 + "@material-ui/utils": ^4.11.3 clsx: ^1.0.4 csstype: ^2.5.2 hoist-non-react-statics: ^3.3.2 @@ -4946,35 +4888,16 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: ef9abc486c74943df28a69d095ee07d752b17e27e70d6adede6cc368f0811529260bc509c664dff995763f02b5324594c98cf71f5d8981ea98dd25c0e2c1dd39 - languageName: node - linkType: hard - -"@material-ui/system@npm:^4.11.3": - version: 4.11.3 - resolution: "@material-ui/system@npm:4.11.3" - dependencies: - "@babel/runtime": ^7.4.4 - "@material-ui/utils": ^4.11.2 - csstype: ^2.5.2 - prop-types: ^15.7.2 - 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 - checksum: 928f8fc1cd2b52d827d6cad1c5fc27fa6ce526b78560e3274892df085abccc15d28a9f42c439c93b90df14cc69a259843a106561e8096f06e7cea3bd1a4faeac + checksum: dbf3985ef57c1b7dae3fd916d5bfd61f2097afb93c9e1f64832cfcb8fc9bbf38a504c9632ed7b76eb5d235670083d9e66d35942bc976b7cd148c71d75b808e82 languageName: node linkType: hard -"@material-ui/system@npm:^4.12.1": - version: 4.12.1 - resolution: "@material-ui/system@npm:4.12.1" +"@material-ui/system@npm:^4.12.2": + version: 4.12.2 + resolution: "@material-ui/system@npm:4.12.2" dependencies: "@babel/runtime": ^7.4.4 - "@material-ui/utils": ^4.11.2 + "@material-ui/utils": ^4.11.3 csstype: ^2.5.2 prop-types: ^15.7.2 peerDependencies: @@ -4984,11 +4907,11 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 2acf20b43090c381530899e2fa85b0a774fc4dfe08aa97a55c8fd58f833175fd1cb17374ecc403f722c2db3b3caffd1fadd5dffe146a08d036bc6031d676659b + checksum: ebe6b3cc5f111034eacd763014f3260f7647b5e0cd132870f2ee18855cf3d51a996b4633035fe6f5f8965489944db4ac0cb3b71b84a765faa35a6861532ac9f6 languageName: node linkType: hard -"@material-ui/types@npm:5.1.0, @material-ui/types@npm:^5.1.0": +"@material-ui/types@npm:5.1.0": version: 5.1.0 resolution: "@material-ui/types@npm:5.1.0" peerDependencies: @@ -5000,9 +4923,9 @@ __metadata: languageName: node linkType: hard -"@material-ui/utils@npm:^4.11.2": - version: 4.11.2 - resolution: "@material-ui/utils@npm:4.11.2" +"@material-ui/utils@npm:^4.11.3": + version: 4.11.3 + resolution: "@material-ui/utils@npm:4.11.3" dependencies: "@babel/runtime": ^7.4.4 prop-types: ^15.7.2 @@ -5010,7 +4933,7 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 - checksum: 30e15b197c52bb607ba2f00293acbda66388427560e30f5dd82714dee69f565cf0896baa98f869b191a881e14e0df08155fd9d598b356ac2262b8e60e43a5499 + checksum: 05ff67c982b33d3b4260cfaeaf566f3ccaecaebb231907ed626bcc30322d89d705bfe79b8805c0dda2f1dc2cfa98ca9d731ec8ae12868da7a98568a41c7dc231 languageName: node linkType: hard @@ -5024,66 +4947,67 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-alpha.69": - version: 5.0.0-alpha.69 - resolution: "@mui/base@npm:5.0.0-alpha.69" +"@mui/base@npm:5.0.0-alpha.84": + version: 5.0.0-alpha.84 + resolution: "@mui/base@npm:5.0.0-alpha.84" dependencies: - "@babel/runtime": ^7.17.0 - "@emotion/is-prop-valid": ^1.1.1 - "@mui/utils": ^5.4.2 - "@popperjs/core": ^2.4.4 + "@babel/runtime": ^7.17.2 + "@emotion/is-prop-valid": ^1.1.2 + "@mui/types": ^7.1.3 + "@mui/utils": ^5.8.0 + "@popperjs/core": ^2.11.5 clsx: ^1.1.1 - prop-types: ^15.7.2 + prop-types: ^15.8.1 react-is: ^17.0.2 peerDependencies: - "@types/react": ^16.8.6 || ^17.0.0 - react: ^17.0.0 - react-dom: ^17.0.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 8d5acc6abed1bba7a50252c65751258145544a87f3154c39fe46c8413f4613bac3d3bbd69fe3d5b57b370f3b0e1b8dd7d915e42fa622c6c22ef58487d55317d4 + checksum: 1c632d52094883bd83f8f35fe1aed67d1981dbe3dde6e353215ee0b1dd5443f21b84330b201bd6e9216891dce441f2b0f86edb07dd0e47ad1dc37ce05d226d06 languageName: node linkType: hard -"@mui/icons-material@npm:~5.4.2": - version: 5.4.2 - resolution: "@mui/icons-material@npm:5.4.2" +"@mui/icons-material@npm:~5.8.3": + version: 5.8.3 + resolution: "@mui/icons-material@npm:5.8.3" dependencies: - "@babel/runtime": ^7.17.0 + "@babel/runtime": ^7.17.2 peerDependencies: "@mui/material": ^5.0.0 - "@types/react": ^16.8.6 || ^17.0.0 - react: ^17.0.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 7db675c77bb25a18b48166491a4ec421281cc93b083467715139458e25ceaa5c7d4384cac8627977065704963e1aeda5428821a059db006020c150f2f69f8cf3 + checksum: 6c09ab20194904ed755cb595382df8b74ffbf914feaad89d603fd624148944be5e728286eb7b05534c9fc104bf0f765f4d50548e370ee5b3b0f64bfaaec0969a languageName: node linkType: hard -"@mui/material@npm:~5.4.2": - version: 5.4.3 - resolution: "@mui/material@npm:5.4.3" +"@mui/material@npm:~5.8.3": + version: 5.8.3 + resolution: "@mui/material@npm:5.8.3" dependencies: - "@babel/runtime": ^7.17.0 - "@mui/base": 5.0.0-alpha.69 - "@mui/system": ^5.4.3 - "@mui/types": ^7.1.2 - "@mui/utils": ^5.4.2 + "@babel/runtime": ^7.17.2 + "@mui/base": 5.0.0-alpha.84 + "@mui/system": ^5.8.3 + "@mui/types": ^7.1.3 + "@mui/utils": ^5.8.0 "@types/react-transition-group": ^4.4.4 clsx: ^1.1.1 - csstype: ^3.0.10 + csstype: ^3.1.0 hoist-non-react-statics: ^3.3.2 - prop-types: ^15.7.2 + prop-types: ^15.8.1 react-is: ^17.0.2 react-transition-group: ^4.4.2 peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 - "@types/react": ^16.8.6 || ^17.0.0 - react: ^17.0.0 - react-dom: ^17.0.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@emotion/react": optional: true @@ -5091,58 +5015,58 @@ __metadata: optional: true "@types/react": optional: true - checksum: 128a850b1f514d28d72470ed50023df7d93bac83f268fdb472c15dfaf226c93c50da063ff92e1525b77e49661e87c8721a28db791fb90d94038089c6fed95ce3 + checksum: 5a731721787583710eb24687db37ca7e0f32243478ee96b823fb6db20a1caadf03772c1906ed7b352866cd11b243b3dd587a07f524b51512606e5d4dd81b7eba languageName: node linkType: hard -"@mui/private-theming@npm:^5.4.2": - version: 5.4.2 - resolution: "@mui/private-theming@npm:5.4.2" +"@mui/private-theming@npm:^5.8.0": + version: 5.8.0 + resolution: "@mui/private-theming@npm:5.8.0" dependencies: - "@babel/runtime": ^7.17.0 - "@mui/utils": ^5.4.2 - prop-types: ^15.7.2 + "@babel/runtime": ^7.17.2 + "@mui/utils": ^5.8.0 + prop-types: ^15.8.1 peerDependencies: - "@types/react": ^16.8.6 || ^17.0.0 - react: ^17.0.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: ae5050aa9d999c0645de80ce3af3a363ef508c55d87fe9a4f5c646dd892a825e999dda88bf555adc909fd5c398662810e51f1f018c11f96bd56ff876c1b6df40 + checksum: 6107b579409913a5e0d6d79fbe074ae4ad55e57f7a485da4542a5772be86b835994311609e84e4e881ea187c5b8892e432bcce9ac98d4e69dd7ace55da675f8a languageName: node linkType: hard -"@mui/styled-engine@npm:^5.4.2": - version: 5.4.2 - resolution: "@mui/styled-engine@npm:5.4.2" +"@mui/styled-engine@npm:^5.8.0": + version: 5.8.0 + resolution: "@mui/styled-engine@npm:5.8.0" dependencies: - "@babel/runtime": ^7.17.0 + "@babel/runtime": ^7.17.2 "@emotion/cache": ^11.7.1 - prop-types: ^15.7.2 + prop-types: ^15.8.1 peerDependencies: "@emotion/react": ^11.4.1 "@emotion/styled": ^11.3.0 - react: ^17.0.0 + react: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@emotion/react": optional: true "@emotion/styled": optional: true - checksum: f7e73ddcec545bc43ccc95f67a2926ed6feb95762a8557b5ba9c002ac109964a957f20b6334f89657614ebad9bf6affe1b9d7d98610d29f24e294da63b0f7718 + checksum: f1140151cb06b72af774e6c14f537879bee0e699fff05cac5f9b1e4483d5202e161dc6d8e23ff7e31e3f660867056689b2225ab1d7ad69f45dc489d9ed058a92 languageName: node linkType: hard -"@mui/styles@npm:~5.4.2": - version: 5.4.2 - resolution: "@mui/styles@npm:5.4.2" +"@mui/styles@npm:~5.8.3": + version: 5.8.3 + resolution: "@mui/styles@npm:5.8.3" dependencies: - "@babel/runtime": ^7.17.0 + "@babel/runtime": ^7.17.2 "@emotion/hash": ^0.8.0 - "@mui/private-theming": ^5.4.2 - "@mui/types": ^7.1.2 - "@mui/utils": ^5.4.2 + "@mui/private-theming": ^5.8.0 + "@mui/types": ^7.1.3 + "@mui/utils": ^5.8.0 clsx: ^1.1.1 - csstype: ^3.0.10 + csstype: ^3.1.0 hoist-non-react-statics: ^3.3.2 jss: ^10.8.2 jss-plugin-camel-case: ^10.8.2 @@ -5152,34 +5076,34 @@ __metadata: jss-plugin-props-sort: ^10.8.2 jss-plugin-rule-value-function: ^10.8.2 jss-plugin-vendor-prefixer: ^10.8.2 - prop-types: ^15.7.2 + prop-types: ^15.8.1 peerDependencies: - "@types/react": ^16.8.6 || ^17.0.0 + "@types/react": ^17.0.0 react: ^17.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 2013569c9fa3c592835be6cdff18edb8a97c699dc6c436aba4444e05d3d31cbf07914b7cb7ca116de4a702558289b28f01b6ffef1c78bb29103c5561963ad679 + checksum: 8f333a020bc81513e7e687ccd301b029d3506dd1b99fc4f91745863a6803bb1a61d95a8927707b9c5c119190c39b008756940bedcbb948af16599259a6c986a4 languageName: node linkType: hard -"@mui/system@npm:^5.4.3": - version: 5.4.3 - resolution: "@mui/system@npm:5.4.3" +"@mui/system@npm:^5.8.3": + version: 5.8.3 + resolution: "@mui/system@npm:5.8.3" dependencies: - "@babel/runtime": ^7.17.0 - "@mui/private-theming": ^5.4.2 - "@mui/styled-engine": ^5.4.2 - "@mui/types": ^7.1.2 - "@mui/utils": ^5.4.2 + "@babel/runtime": ^7.17.2 + "@mui/private-theming": ^5.8.0 + "@mui/styled-engine": ^5.8.0 + "@mui/types": ^7.1.3 + "@mui/utils": ^5.8.0 clsx: ^1.1.1 - csstype: ^3.0.10 - prop-types: ^15.7.2 + csstype: ^3.1.0 + prop-types: ^15.8.1 peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 - "@types/react": ^16.8.6 || ^17.0.0 - react: ^17.0.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@emotion/react": optional: true @@ -5187,34 +5111,34 @@ __metadata: optional: true "@types/react": optional: true - checksum: fe4776f113f787c3d4fa83ed06899738bf19e866b694a1c8b9459fb24ceede4102a73d6ef9c42d77550952dc0bd14b501157120359510c94da871c0553fb844c + checksum: e295eafd84e7a2b845c703d3f754ffd170eb061b2cd13af45bbc16cccfc7f11ddf1ff158b1c2e2615843e969ca4f10d2fe815992c2d36587064fbb7f03be59bd languageName: node linkType: hard -"@mui/types@npm:^7.1.2": - version: 7.1.2 - resolution: "@mui/types@npm:7.1.2" +"@mui/types@npm:^7.1.3": + version: 7.1.3 + resolution: "@mui/types@npm:7.1.3" peerDependencies: "@types/react": "*" peerDependenciesMeta: "@types/react": optional: true - checksum: 0d37947b0d2bcaed80b245ec4ac91bdff64ffedb5b0d56784311472b2c44131498ea700485f09dd3236baa97cd16af628e398453263e7081fabfe4fc1477249c + checksum: 4990f505f1058bdd4c01ea21a6a6f788e5d3ff73b50962879d33bbf9c98ef1f18d8b6664025ce1dbd42544a79d7697d0011834f8fd83d12c9705f2c702829bb4 languageName: node linkType: hard -"@mui/utils@npm:^5.4.2": - version: 5.4.2 - resolution: "@mui/utils@npm:5.4.2" +"@mui/utils@npm:^5.8.0": + version: 5.8.0 + resolution: "@mui/utils@npm:5.8.0" dependencies: - "@babel/runtime": ^7.17.0 - "@types/prop-types": ^15.7.4 + "@babel/runtime": ^7.17.2 + "@types/prop-types": ^15.7.5 "@types/react-is": ^16.7.1 || ^17.0.0 - prop-types: ^15.7.2 + prop-types: ^15.8.1 react-is: ^17.0.2 peerDependencies: - react: ^17.0.0 - checksum: 8d69572a2989bf11b897fb62b8c671968356b549dac285e99eab9cf8a9bce78a758926551fde8979f469b21a9647fc0dc42b49f0c0d30fe89d768c4eadf1e9a8 + react: ^17.0.0 || ^18.0.0 + checksum: 488b4e709e3f86e7a627f2e61b4c8b3d6fcb606922666b829f5a24c77383ee5776446a30e7b5c10007d03e4e764c3190d608485113d5108e54f79308bddafefc languageName: node linkType: hard @@ -6276,10 +6200,10 @@ __metadata: languageName: node linkType: hard -"@popperjs/core@npm:^2.4.4": - version: 2.11.2 - resolution: "@popperjs/core@npm:2.11.2" - checksum: 5695bf020eda54636e16a62dc9b5fdd92beaf7b2d19f62fcef049d57c5cff92773562d80cbf760b217c3ec928da310eb24994ab6a00fd39dffa0af9b5dfc01a6 +"@popperjs/core@npm:^2.11.5": + version: 2.11.5 + resolution: "@popperjs/core@npm:2.11.5" + checksum: fd7f9dca3fb716d7426332b6ee283f88d2724c0ab342fb678865a640bad403dfb9eeebd8204a406986162f7e2b33394f104320008b74d0e9066d7322f70ea35d languageName: node linkType: hard @@ -7181,10 +7105,10 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:^15.7.4": - version: 15.7.4 - resolution: "@types/prop-types@npm:15.7.4" - checksum: ef6e1899e59b876c273811b1bd845022fc66d5a3d11cb38a25b6c566b30514ae38fe20a40f67622f362a4f4f7f9224e22d8da101cff3d6e97e11d7b4c307cfc1 +"@types/prop-types@npm:^15.7.5": + version: 15.7.5 + resolution: "@types/prop-types@npm:15.7.5" + checksum: 5b43b8b15415e1f298243165f1d44390403bb2bd42e662bca3b5b5633fdd39c938e91b7fce3a9483699db0f7a715d08cef220c121f723a634972fdf596aec980 languageName: node linkType: hard @@ -9071,9 +8995,9 @@ __metadata: dependencies: "@emotion/react": ~11.9.0 "@emotion/styled": ~11.8.1 - "@mui/icons-material": ~5.4.2 - "@mui/material": ~5.4.2 - "@mui/styles": ~5.4.2 + "@mui/icons-material": ~5.8.3 + "@mui/material": ~5.8.3 + "@mui/styles": ~5.8.3 "@nivo/bar": ~0.79.0 "@nivo/bullet": ~0.79.0 "@nivo/core": ~0.79.0 @@ -9704,8 +9628,8 @@ __metadata: "@babel/core": ~7.18.2 "@babel/preset-env": ~7.18.2 "@babel/preset-react": ~7.17.12 - "@material-ui/core": ^4.11.3 - "@material-ui/icons": ^4.11.2 + "@material-ui/core": ^4.12.4 + "@material-ui/icons": ^4.11.3 "@rollup/plugin-babel": ~5.3.0 "@rollup/plugin-commonjs": ~17.1.0 "@rollup/plugin-node-resolve": ~13.1.3 @@ -11274,13 +11198,6 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.10": - version: 3.0.10 - resolution: "csstype@npm:3.0.10" - checksum: 20a8fa324f2b33ddf94aa7507d1b6ab3daa6f3cc308888dc50126585d7952f2471de69b2dbe0635d1fdc31223fef8e070842691877e725caf456e2378685a631 - languageName: node - linkType: hard - "csstype@npm:^3.0.2": version: 3.0.7 resolution: "csstype@npm:3.0.7" @@ -11288,6 +11205,13 @@ __metadata: languageName: node linkType: hard +"csstype@npm:^3.1.0": + version: 3.1.0 + resolution: "csstype@npm:3.1.0" + checksum: 644e986cefab86525f0b674a06889cfdbb1f117e5b7d1ce0fc55b0423ecc58807a1ea42ecc75c4f18999d14fc42d1d255f84662a45003a52bb5840e977eb2ffd + languageName: node + linkType: hard + "cyclist@npm:^1.0.1": version: 1.0.1 resolution: "cyclist@npm:1.0.1" @@ -15414,8 +15338,8 @@ fsevents@^1.2.7: "@babel/core": ~7.18.2 "@babel/preset-env": ~7.18.2 "@babel/preset-react": ~7.17.12 - "@material-ui/core": ^4.12.3 - "@material-ui/icons": ^4.11.2 + "@material-ui/core": ^4.12.4 + "@material-ui/icons": ^4.11.3 "@rollup/plugin-babel": ~5.3.0 "@rollup/plugin-commonjs": ~20.0.0 "@rollup/plugin-node-resolve": ~13.1.3 @@ -21428,7 +21352,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"prop-types@npm:15.8.1, prop-types@npm:~15.8.1": +"prop-types@npm:15.8.1, prop-types@npm:^15.8.1, prop-types@npm:~15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: From 487020d38f2504dfc39e974857ba818068f9321f Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 09:17:30 -0500 Subject: [PATCH 004/664] upgrade nivo deps --- package.json | 8 ++++---- yarn.lock | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index d02c52f75..695823cd2 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,11 @@ "@mui/icons-material": "~5.8.3", "@mui/material": "~5.8.3", "@mui/styles": "~5.8.3", - "@nivo/bar": "~0.79.0", - "@nivo/bullet": "~0.79.0", + "@nivo/bar": "~0.79.1", + "@nivo/bullet": "~0.79.1", "@nivo/core": "~0.79.0", - "@nivo/line": "~0.79.0", - "@nivo/pie": "~0.79.0", + "@nivo/line": "~0.79.1", + "@nivo/pie": "~0.79.1", "@nivo/tooltip": "~0.79.0", "@vx/axis": "~0.0.199", "@vx/glyph": "~0.0.199", diff --git a/yarn.lock b/yarn.lock index d6755b101..d3feae0f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5186,7 +5186,7 @@ __metadata: languageName: node linkType: hard -"@nivo/bar@npm:~0.79.0": +"@nivo/bar@npm:~0.79.1": version: 0.79.1 resolution: "@nivo/bar@npm:0.79.1" dependencies: @@ -5207,7 +5207,7 @@ __metadata: languageName: node linkType: hard -"@nivo/bullet@npm:~0.79.0": +"@nivo/bullet@npm:~0.79.1": version: 0.79.1 resolution: "@nivo/bullet@npm:0.79.1" dependencies: @@ -5272,7 +5272,7 @@ __metadata: languageName: node linkType: hard -"@nivo/line@npm:~0.79.0": +"@nivo/line@npm:~0.79.1": version: 0.79.1 resolution: "@nivo/line@npm:0.79.1" dependencies: @@ -5293,7 +5293,7 @@ __metadata: languageName: node linkType: hard -"@nivo/pie@npm:~0.79.0": +"@nivo/pie@npm:~0.79.1": version: 0.79.1 resolution: "@nivo/pie@npm:0.79.1" dependencies: @@ -8998,11 +8998,11 @@ __metadata: "@mui/icons-material": ~5.8.3 "@mui/material": ~5.8.3 "@mui/styles": ~5.8.3 - "@nivo/bar": ~0.79.0 - "@nivo/bullet": ~0.79.0 + "@nivo/bar": ~0.79.1 + "@nivo/bullet": ~0.79.1 "@nivo/core": ~0.79.0 - "@nivo/line": ~0.79.0 - "@nivo/pie": ~0.79.0 + "@nivo/line": ~0.79.1 + "@nivo/pie": ~0.79.1 "@nivo/tooltip": ~0.79.0 "@vx/axis": ~0.0.199 "@vx/glyph": ~0.0.199 From 0c99cf39fde734cbc8515d4e0734dfea9550de6b Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 09:22:55 -0500 Subject: [PATCH 005/664] upgrade rollup plugins x2 --- packages/cbm-dashboard/package.json | 4 +-- packages/indicators/package.json | 4 +-- yarn.lock | 42 ++++++++++++++++++++--------- 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/packages/cbm-dashboard/package.json b/packages/cbm-dashboard/package.json index 966288daf..aa319a052 100644 --- a/packages/cbm-dashboard/package.json +++ b/packages/cbm-dashboard/package.json @@ -18,9 +18,9 @@ "@babel/core": "~7.18.2", "@babel/preset-env": "~7.18.2", "@babel/preset-react": "~7.17.12", - "@rollup/plugin-babel": "~5.3.0", + "@rollup/plugin-babel": "~5.3.1", "@rollup/plugin-commonjs": "~17.1.0", - "@rollup/plugin-node-resolve": "~13.1.3", + "@rollup/plugin-node-resolve": "~13.3.0", "eslint": "~7.17.0", "eslint-config-airbnb": "~18.2.1", "eslint-config-prettier": "~7.1.0", diff --git a/packages/indicators/package.json b/packages/indicators/package.json index 841e058c1..661329c0b 100644 --- a/packages/indicators/package.json +++ b/packages/indicators/package.json @@ -16,9 +16,9 @@ "@babel/core": "~7.18.2", "@babel/preset-env": "~7.18.2", "@babel/preset-react": "~7.17.12", - "@rollup/plugin-babel": "~5.3.0", + "@rollup/plugin-babel": "~5.3.1", "@rollup/plugin-commonjs": "~20.0.0", - "@rollup/plugin-node-resolve": "~13.1.3", + "@rollup/plugin-node-resolve": "~13.3.0", "eslint": "~7.17.0", "eslint-config-airbnb": "~18.2.1", "eslint-config-prettier": "~7.1.0", diff --git a/yarn.lock b/yarn.lock index d3feae0f1..7e11e8d9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6469,9 +6469,9 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-babel@npm:~5.3.0": - version: 5.3.0 - resolution: "@rollup/plugin-babel@npm:5.3.0" +"@rollup/plugin-babel@npm:~5.3.1": + version: 5.3.1 + resolution: "@rollup/plugin-babel@npm:5.3.1" dependencies: "@babel/helper-module-imports": ^7.10.4 "@rollup/pluginutils": ^3.1.0 @@ -6482,7 +6482,7 @@ __metadata: peerDependenciesMeta: "@types/babel__core": optional: true - checksum: 6cfd741790f125968cbd0fc91b6f54e235033e31853a12190f725ccf95a6eb2f1387b6368be80dedfa94536d2e84739e7af45c8b2fe7a450e91c2aeb6170867d + checksum: 220d71e4647330f252ef33d5f29700aef2e8284a0b61acfcceb47617a7f96208aa1ed16eae75619424bf08811ede5241e271a6d031f07026dee6b3a2bdcdc638 languageName: node linkType: hard @@ -6535,19 +6535,19 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-node-resolve@npm:~13.1.3": - version: 13.1.3 - resolution: "@rollup/plugin-node-resolve@npm:13.1.3" +"@rollup/plugin-node-resolve@npm:~13.3.0": + version: 13.3.0 + resolution: "@rollup/plugin-node-resolve@npm:13.3.0" dependencies: "@rollup/pluginutils": ^3.1.0 "@types/resolve": 1.17.1 - builtin-modules: ^3.1.0 deepmerge: ^4.2.2 + is-builtin-module: ^3.1.0 is-module: ^1.0.0 resolve: ^1.19.0 peerDependencies: rollup: ^2.42.0 - checksum: c275843aef884ff15ed7edb8a3b8fd072a72d517632098f6e9c25ef2c00f7842559565cc77e16c59eb119b8c4e2d858a8b5a94701ca6f85ae6a4f60a6e31f0ab + checksum: ec5418e6b3c23a9e30683056b3010e9d325316dcfae93fbc673ae64dad8e56a2ce761c15c48f5e2dcfe0c822fdc4a4905ee6346e3dcf90603ba2260afef5a5e6 languageName: node linkType: hard @@ -9390,6 +9390,13 @@ __metadata: languageName: node linkType: hard +"builtin-modules@npm:^3.0.0": + version: 3.3.0 + resolution: "builtin-modules@npm:3.3.0" + checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d + languageName: node + linkType: hard + "builtin-modules@npm:^3.1.0": version: 3.2.0 resolution: "builtin-modules@npm:3.2.0" @@ -9630,9 +9637,9 @@ __metadata: "@babel/preset-react": ~7.17.12 "@material-ui/core": ^4.12.4 "@material-ui/icons": ^4.11.3 - "@rollup/plugin-babel": ~5.3.0 + "@rollup/plugin-babel": ~5.3.1 "@rollup/plugin-commonjs": ~17.1.0 - "@rollup/plugin-node-resolve": ~13.1.3 + "@rollup/plugin-node-resolve": ~13.3.0 babel-plugin-transform-runtime: ~6.23.0 eslint: ~7.17.0 eslint-config-airbnb: ~18.2.1 @@ -15340,9 +15347,9 @@ fsevents@^1.2.7: "@babel/preset-react": ~7.17.12 "@material-ui/core": ^4.12.4 "@material-ui/icons": ^4.11.3 - "@rollup/plugin-babel": ~5.3.0 + "@rollup/plugin-babel": ~5.3.1 "@rollup/plugin-commonjs": ~20.0.0 - "@rollup/plugin-node-resolve": ~13.1.3 + "@rollup/plugin-node-resolve": ~13.3.0 eslint: ~7.17.0 eslint-config-airbnb: ~18.2.1 eslint-config-prettier: ~7.1.0 @@ -15577,6 +15584,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-builtin-module@npm:^3.1.0": + version: 3.1.0 + resolution: "is-builtin-module@npm:3.1.0" + dependencies: + builtin-modules: ^3.0.0 + checksum: f1e5dd2cd5f252d4d799b20a0c8c4f7e9c399c4d141749af76ca0121058d4062c3015d026f1b1409dd3d2a4ddfb9b15cf6eb9c370fed53fea8652ce35b5e95cb + languageName: node + linkType: hard + "is-callable@npm:^1.1.4, is-callable@npm:^1.2.2, is-callable@npm:^1.2.3": version: 1.2.3 resolution: "is-callable@npm:1.2.3" From a3ba422f701f07ef8d0b9a04e8ceab8088bf3910 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 09:27:31 -0500 Subject: [PATCH 006/664] update axios chart and firebase --- package.json | 4 +- packages/indicators/package.json | 2 +- yarn.lock | 488 ++++++++++++++++--------------- 3 files changed, 256 insertions(+), 238 deletions(-) diff --git a/package.json b/package.json index 695823cd2..e710f2608 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,9 @@ "@vx/responsive": "~0.0.199", "@vx/scale": "~0.0.199", "@vx/tooltip": "~0.0.199", - "axios": "~0.26.0", + "axios": "~0.27.2", "cbm-dashboard": "1.0.0", - "chart.js": "~3.7.1", + "chart.js": "~3.8.0", "indicators": "1.0.0", "leaflet": "1.4.0", "leaflet-draw": "^1.0.4", diff --git a/packages/indicators/package.json b/packages/indicators/package.json index 661329c0b..400b25939 100644 --- a/packages/indicators/package.json +++ b/packages/indicators/package.json @@ -6,7 +6,7 @@ "dependencies": { "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", - "firebase": "~9.6.6", + "firebase": "~9.8.2", "prop-types": "~15.8.1", "react": "~17.0.2", "react-dom": "~17.0.2", diff --git a/yarn.lock b/yarn.lock index 7e11e8d9b..58d87d15b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3902,18 +3902,18 @@ __metadata: languageName: node linkType: hard -"@firebase/analytics-compat@npm:0.1.6": - version: 0.1.6 - resolution: "@firebase/analytics-compat@npm:0.1.6" +"@firebase/analytics-compat@npm:0.1.10": + version: 0.1.10 + resolution: "@firebase/analytics-compat@npm:0.1.10" dependencies: - "@firebase/analytics": 0.7.5 + "@firebase/analytics": 0.7.9 "@firebase/analytics-types": 0.7.0 - "@firebase/component": 0.5.10 - "@firebase/util": 1.4.3 + "@firebase/component": 0.5.14 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 8d4adcf8cb69aec426be4761d27c59dc2a2358028643a4dddf99b224f0cb8df3119c2b1933659e821e9c4546708827edaa51fa63447bca3f0a0f1185c83303b8 + checksum: b093914218865e5f2c4c30bfa00cf54213eb8ea802172de3217402101aaa92a5eb91c1876f04bf75ea00022ddd79c3023d0bd715fe98b9a9a93d9014ea55db1c languageName: node linkType: hard @@ -3924,33 +3924,34 @@ __metadata: languageName: node linkType: hard -"@firebase/analytics@npm:0.7.5": - version: 0.7.5 - resolution: "@firebase/analytics@npm:0.7.5" +"@firebase/analytics@npm:0.7.9": + version: 0.7.9 + resolution: "@firebase/analytics@npm:0.7.9" dependencies: - "@firebase/component": 0.5.10 - "@firebase/installations": 0.5.5 + "@firebase/component": 0.5.14 + "@firebase/installations": 0.5.9 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: fdac64e283058a55ccc111b3fb1410b9c36f5ae3ad1d489e7b14792d05f0265be0adc4dda5761efbfd9025c4c94e897a00dc30c1846b52a4da4cb7e9727e8480 + checksum: 06657c6f2d12c4279622b7bcf335eb9116189190a5f1998b2dd231ca2b9ca34f0048f106c9245d0af0263d6c0edd278e466a289a8f6e85722d3e273c64f18eb9 languageName: node linkType: hard -"@firebase/app-check-compat@npm:0.2.3": - version: 0.2.3 - resolution: "@firebase/app-check-compat@npm:0.2.3" +"@firebase/app-check-compat@npm:0.2.8": + version: 0.2.8 + resolution: "@firebase/app-check-compat@npm:0.2.8" dependencies: - "@firebase/app-check": 0.5.3 - "@firebase/component": 0.5.10 + "@firebase/app-check": 0.5.8 + "@firebase/app-check-types": 0.4.0 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 06efc403a306024d3201347c6c243ba8b791b3809b28368f76794816520942880672577d3f3868f5c8eb64d1460f2905deab8529f6fc4f7ea1fd4802b380bc3f + checksum: fc1a4607ee8ee375829edb76f4be2ee712a8d676c9a67e3a7430f0da4b55adbf92b9e6a114ce82a5e8bc627bbb79d3de197b7dd34b531d73e37098f6fd9aaa10 languageName: node linkType: hard @@ -3961,30 +3962,37 @@ __metadata: languageName: node linkType: hard -"@firebase/app-check@npm:0.5.3": - version: 0.5.3 - resolution: "@firebase/app-check@npm:0.5.3" +"@firebase/app-check-types@npm:0.4.0": + version: 0.4.0 + resolution: "@firebase/app-check-types@npm:0.4.0" + checksum: b3011d5332d91cbf5437add152f8006e0342e04c11ffa810ee1d4fcd7c0888c9776e2f7093f28f68bdf0944c089d5cb59c41bf4a0131bfcb540febe03068168c + languageName: node + linkType: hard + +"@firebase/app-check@npm:0.5.8": + version: 0.5.8 + resolution: "@firebase/app-check@npm:0.5.8" dependencies: - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: babf8b3aed07f945025faffda05ea3d7c7337ebe1fc66d4093823e5cea3790451ff84a1375e8359dba90561e473edf71531ebf1ba3728b2b2a85a55751169a89 + checksum: cbfcbcb2ffdc8ad16e4e877c4cee3d2384e7321ddf0778d251cb1bc855d148b2b62c8cb46e9fd365624dcc9347f3bed708275505faf6887a80fcb52747849c66 languageName: node linkType: hard -"@firebase/app-compat@npm:0.1.17": - version: 0.1.17 - resolution: "@firebase/app-compat@npm:0.1.17" +"@firebase/app-compat@npm:0.1.26": + version: 0.1.26 + resolution: "@firebase/app-compat@npm:0.1.26" dependencies: - "@firebase/app": 0.7.16 - "@firebase/component": 0.5.10 + "@firebase/app": 0.7.25 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 - checksum: 22a950e0a9fdd7b83d3da952b8ac36f8e32dcc5685baa131d349fd390bfe532255b8ea31e8095a08c32b5acb20f0c1ed0532fe6b06f78e160694a1d55565935b + checksum: 8508e1dd574e7a6a611a5316676356e123407d048fb3a3240781dd73d56af6aeba1c140a31d8ae90e9b17b2c042703487621df2bb29613ecdf2f1ac72d0cefb4 languageName: node linkType: hard @@ -3995,32 +4003,33 @@ __metadata: languageName: node linkType: hard -"@firebase/app@npm:0.7.16": - version: 0.7.16 - resolution: "@firebase/app@npm:0.7.16" +"@firebase/app@npm:0.7.25": + version: 0.7.25 + resolution: "@firebase/app@npm:0.7.25" dependencies: - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 + idb: 7.0.1 tslib: ^2.1.0 - checksum: 6c528d2bc8445314202a33c6ff5825e0475ba43d2e8a516d4929d7afc87f154755a3dccffec632838da5f5f4aeb21c85dcc74452a203414484da7d7619ceaabf + checksum: 0076776db6764e606df46d71d84d7bef454ac247318f335bb61a17301eb033b79e47dc59df456a09a894945c50c494e0696a0f5ab3456e3c19f2085aead020f8 languageName: node linkType: hard -"@firebase/auth-compat@npm:0.2.8": - version: 0.2.8 - resolution: "@firebase/auth-compat@npm:0.2.8" +"@firebase/auth-compat@npm:0.2.15": + version: 0.2.15 + resolution: "@firebase/auth-compat@npm:0.2.15" dependencies: - "@firebase/auth": 0.19.8 + "@firebase/auth": 0.20.2 "@firebase/auth-types": 0.11.0 - "@firebase/component": 0.5.10 - "@firebase/util": 1.4.3 + "@firebase/component": 0.5.14 + "@firebase/util": 1.6.0 node-fetch: 2.6.7 - selenium-webdriver: ^4.0.0-beta.2 + selenium-webdriver: 4.1.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 1e4f2ea8da347fc73e091dd243d35c12725b34ce050e71b30010981114b8ea60987dff2d24b084cee83c7fc867635072e278217672f557fe548d25a694685544 + checksum: 135aea4f7497bc952d59b7b458d37fb0f72fd19d0bbb8c9f821c06d7caadc4e409b8ea6199fb5feb1229c534c33a6e09b4327e2d2f6803fae2b5c26cae914df2 languageName: node linkType: hard @@ -4044,84 +4053,84 @@ __metadata: languageName: node linkType: hard -"@firebase/auth@npm:0.19.8": - version: 0.19.8 - resolution: "@firebase/auth@npm:0.19.8" +"@firebase/auth@npm:0.20.2": + version: 0.20.2 + resolution: "@firebase/auth@npm:0.20.2" dependencies: - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 node-fetch: 2.6.7 - selenium-webdriver: 4.0.0-rc-1 + selenium-webdriver: 4.1.2 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 6fa5eed5fe7e40f4c9f4ffc8b3388db2c4043685dc87bbee6d5404826b5dd8b4ba47e6166b14bb8527cbcf4d703e4a3b4ae12882200dc08a988de0852496a3b9 + checksum: 6c003e5794fcba70658ef7c6f5d4b95f5ec374646ee8f67c7e678d1f7d58c268a96fba6deda15abb20dee23be2950709e0cfed0289fc1873a739eca58d2dcb40 languageName: node linkType: hard -"@firebase/component@npm:0.5.10": - version: 0.5.10 - resolution: "@firebase/component@npm:0.5.10" +"@firebase/component@npm:0.5.14": + version: 0.5.14 + resolution: "@firebase/component@npm:0.5.14" dependencies: - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 - checksum: f41e9de9632283bf80a231186cfdc9d91fd0807b496b08e67eb9f71fb706e96385459445b90121f628d766b860fe65ff70147e05da0dc461a85554e270ab17e1 + checksum: 0b9c1118907e7afdc4e8bf03431b3d5ab11f32996585314d83a9ec97d58c93a3d8d547c1ae6fd46eca3df3847a692d0cf5a206e61652a1c5e6f309b8c0074791 languageName: node linkType: hard -"@firebase/database-compat@npm:0.1.5": - version: 0.1.5 - resolution: "@firebase/database-compat@npm:0.1.5" +"@firebase/database-compat@npm:0.2.0": + version: 0.2.0 + resolution: "@firebase/database-compat@npm:0.2.0" dependencies: - "@firebase/component": 0.5.10 - "@firebase/database": 0.12.5 - "@firebase/database-types": 0.9.4 + "@firebase/component": 0.5.14 + "@firebase/database": 0.13.0 + "@firebase/database-types": 0.9.8 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 0f85b71e5b5e14477d2ac112d2c6909aca05fc27cdfc2594ee4855072a9b98a0ac8601d0249d101f96bdc919045588a037ff2702495abdb86267fe4861fbe70d + checksum: 000fb97ebdeab1ea8cd228562a0e5f9b4b829b6c70bb438564287e6d2d24b4e17a1f7585eab3810c60dd3ad39887b3360401e88644c71a4c243342eacd4dd0ab languageName: node linkType: hard -"@firebase/database-types@npm:0.9.4": - version: 0.9.4 - resolution: "@firebase/database-types@npm:0.9.4" +"@firebase/database-types@npm:0.9.8": + version: 0.9.8 + resolution: "@firebase/database-types@npm:0.9.8" dependencies: "@firebase/app-types": 0.7.0 - "@firebase/util": 1.4.3 - checksum: f305c5cc648b04faa3a98ad18bbabe86d0858af5dd4e3aad1ac2bacff67d30aca9b47b057b8a365eda57bd5059fe38b65b289f1f8337a2b783655fff3110ce0b + "@firebase/util": 1.6.0 + checksum: 602bedde0baa4a04a07f24138a527a52eabdd56be9ddadcde634df995fb739b7166bfd19f25014472408a5d2ac0dee922eec89c47f24fb51d4399a8a0332ef20 languageName: node linkType: hard -"@firebase/database@npm:0.12.5": - version: 0.12.5 - resolution: "@firebase/database@npm:0.12.5" +"@firebase/database@npm:0.13.0": + version: 0.13.0 + resolution: "@firebase/database@npm:0.13.0" dependencies: "@firebase/auth-interop-types": 0.1.6 - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 faye-websocket: 0.11.4 tslib: ^2.1.0 - checksum: d95256b5b581bee62cc5a77c682c2be5b809a82003ea1bea0b94c413d4a8e31dad57d430510b8c1f42e65086977851e95824fb5de25d92ce57fee850a466d78b + checksum: e12eddcb6e668bec9433cf3b047d3d8ea9c8c44a3687fffc0e12c1c593b7eac1e10bbf7bbf16a9bfb876c548c9bec31c1bab06c39b69cb3dbac38b058992f448 languageName: node linkType: hard -"@firebase/firestore-compat@npm:0.1.13": - version: 0.1.13 - resolution: "@firebase/firestore-compat@npm:0.1.13" +"@firebase/firestore-compat@npm:0.1.18": + version: 0.1.18 + resolution: "@firebase/firestore-compat@npm:0.1.18" dependencies: - "@firebase/component": 0.5.10 - "@firebase/firestore": 3.4.4 + "@firebase/component": 0.5.14 + "@firebase/firestore": 3.4.9 "@firebase/firestore-types": 2.5.0 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 11443a478184537965b02a18b48895826994f232a5ec93cdae33b90bff9097d57e9592ddf2ec6c26c1c29eff20e5fd439116203befeecd3ab107170dbac1e948 + checksum: 1aee22cc5943e2361ee075e1d122cd3d005d52aaccabd531aaadbf89c69654b58001149edd92aa5915f65a256033d843212a55493c3d88d224b92460012c4949 languageName: node linkType: hard @@ -4135,13 +4144,13 @@ __metadata: languageName: node linkType: hard -"@firebase/firestore@npm:3.4.4": - version: 3.4.4 - resolution: "@firebase/firestore@npm:3.4.4" +"@firebase/firestore@npm:3.4.9": + version: 3.4.9 + resolution: "@firebase/firestore@npm:3.4.9" dependencies: - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 "@firebase/webchannel-wrapper": 0.6.1 "@grpc/grpc-js": ^1.3.2 "@grpc/proto-loader": ^0.6.0 @@ -4149,22 +4158,22 @@ __metadata: tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 3a6c6a412aa1c5b153f7597ee3f24573723cbadd9c04c78de99b123dd3ac0a53560bc16cfd4dd14495463230efd3786c83f6f63bbf7d9e1a128c7cc51d6ec089 + checksum: dd33bdd93f852b01f08efdad86fa7f6d3def74469382f3c756255b1a81906c507d803674de93f93d6f62f9f1086941428b9e24b5005984080a5e0e092639e30c languageName: node linkType: hard -"@firebase/functions-compat@npm:0.1.9": - version: 0.1.9 - resolution: "@firebase/functions-compat@npm:0.1.9" +"@firebase/functions-compat@npm:0.2.1": + version: 0.2.1 + resolution: "@firebase/functions-compat@npm:0.2.1" dependencies: - "@firebase/component": 0.5.10 - "@firebase/functions": 0.7.8 + "@firebase/component": 0.5.14 + "@firebase/functions": 0.8.1 "@firebase/functions-types": 0.5.0 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: c987e18c6673da4875be41f5f6fafe0b3389d4cce5be112e64c5ae49f218ed85ad3ccd39801e599ce790e27872378efa471b6508d475f3d49c71785176ef31d1 + checksum: 7bcb736cf5e0dd2a37858264c67effa4865a32c54ecdf54522262b55a7726dca08c55675422222e48bac155dc5c31d8794d4c45c088f1cc4df22ef3d5f6ced65 languageName: node linkType: hard @@ -4175,34 +4184,34 @@ __metadata: languageName: node linkType: hard -"@firebase/functions@npm:0.7.8": - version: 0.7.8 - resolution: "@firebase/functions@npm:0.7.8" +"@firebase/functions@npm:0.8.1": + version: 0.8.1 + resolution: "@firebase/functions@npm:0.8.1" dependencies: "@firebase/app-check-interop-types": 0.1.0 "@firebase/auth-interop-types": 0.1.6 - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/messaging-interop-types": 0.1.0 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 node-fetch: 2.6.7 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 5a8141e6b0f7c97ad8f76859bf44b41c7bc620d295a6e4b9c4fdaed795a2bbf240c781f745622a7ef254820175ecbe204ee00d7500d4cc1e06a97f62bfa9d6ad + checksum: a181369435bd559471a7b9c7cb8c5090e08ce3a9756b535159abfcd25aeb3f1c120203733e6eebfbc5368638d3f17ba26c9541f62e51a1681d3712de2b763291 languageName: node linkType: hard -"@firebase/installations@npm:0.5.5": - version: 0.5.5 - resolution: "@firebase/installations@npm:0.5.5" +"@firebase/installations@npm:0.5.9": + version: 0.5.9 + resolution: "@firebase/installations@npm:0.5.9" dependencies: - "@firebase/component": 0.5.10 - "@firebase/util": 1.4.3 - idb: 3.0.2 + "@firebase/component": 0.5.14 + "@firebase/util": 1.6.0 + idb: 7.0.1 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: ba89a6a2cf58a9375c7a4b295907a911c322b9e4182d9e6658cc110501b2e170013e303183c565cd43a7f8a85bda606c2175709285e48ae2683ccf5687a93276 + checksum: d8efc79a41dea1282da677ca5916a3a407a4005e078259c50f8f25a96c0673def314118aa8eec4f995779cde8d10ae24e722f9c0094d89a15c51ad54bb7748c1 languageName: node linkType: hard @@ -4215,17 +4224,17 @@ __metadata: languageName: node linkType: hard -"@firebase/messaging-compat@npm:0.1.8": - version: 0.1.8 - resolution: "@firebase/messaging-compat@npm:0.1.8" +"@firebase/messaging-compat@npm:0.1.13": + version: 0.1.13 + resolution: "@firebase/messaging-compat@npm:0.1.13" dependencies: - "@firebase/component": 0.5.10 - "@firebase/messaging": 0.9.8 - "@firebase/util": 1.4.3 + "@firebase/component": 0.5.14 + "@firebase/messaging": 0.9.13 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 6e5cba24e2a2e907483dd21aefbce29d5bdfaf7ec6e94a51011f411c4b5667b9bb27018d197cd44d26c8bf688b29ad12d7bdf268c737766b502b81d6a4befcbb + checksum: b1b169769d5d4e7e784a7c0925afc79e8fcf906354e8428634bd34818dec54a4a0d8784799f1bced9f0df6c51b1eeee7d22634413884696b354440c8a25db875 languageName: node linkType: hard @@ -4236,35 +4245,35 @@ __metadata: languageName: node linkType: hard -"@firebase/messaging@npm:0.9.8": - version: 0.9.8 - resolution: "@firebase/messaging@npm:0.9.8" +"@firebase/messaging@npm:0.9.13": + version: 0.9.13 + resolution: "@firebase/messaging@npm:0.9.13" dependencies: - "@firebase/component": 0.5.10 - "@firebase/installations": 0.5.5 + "@firebase/component": 0.5.14 + "@firebase/installations": 0.5.9 "@firebase/messaging-interop-types": 0.1.0 - "@firebase/util": 1.4.3 - idb: 3.0.2 + "@firebase/util": 1.6.0 + idb: 7.0.1 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 851820334d673d44d74b5977d7d0c8baeeda928fad5a7adfc36bfee445828e7c96b48c3a0e255a89b342ab2d79096042020331f553b0bd8a65c0b59ed8b1c75e + checksum: 2db935a71ae211cb45b86d1033eeda9ece699cc99458695af1df24e0d822cfd1cdb9c4efac8916100910e2d24db2cfe3921d50b567b1a77ddc5cf641dde66865 languageName: node linkType: hard -"@firebase/performance-compat@npm:0.1.5": - version: 0.1.5 - resolution: "@firebase/performance-compat@npm:0.1.5" +"@firebase/performance-compat@npm:0.1.9": + version: 0.1.9 + resolution: "@firebase/performance-compat@npm:0.1.9" dependencies: - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/performance": 0.5.5 + "@firebase/performance": 0.5.9 "@firebase/performance-types": 0.1.0 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 449d8319aa811cb10191049a66ec4de6d10b19c6e7203eb07d07302a4152b0d128b3d3f89e00c158cc0998a3a1b31cd6b776b41e562020ae1f5603f773c17d37 + checksum: 447a136ebe8cf8ed486dd127d149670fd5482ce0e02effd54ad8bcab11ebfc28643be7ccf217b9db2dabee002bd3f80743238be2e1f9402190aceb2dfab6ebaf languageName: node linkType: hard @@ -4275,18 +4284,18 @@ __metadata: languageName: node linkType: hard -"@firebase/performance@npm:0.5.5": - version: 0.5.5 - resolution: "@firebase/performance@npm:0.5.5" +"@firebase/performance@npm:0.5.9": + version: 0.5.9 + resolution: "@firebase/performance@npm:0.5.9" dependencies: - "@firebase/component": 0.5.10 - "@firebase/installations": 0.5.5 + "@firebase/component": 0.5.14 + "@firebase/installations": 0.5.9 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: d8eed4c98cf451f6a85e120804b3d08f0c273d3fc05d49579fcd7ab53a8ad57dae755ab0e756281c1f36d71614e13840a51a51454e8a7142ec2b481b09ba79da + checksum: 63d4d9b9f5647778c6a438f91cea6c353db57c34359fa650faa019ad285a6263a0e98e21444a0ec6389b00760780d4ba04a4dee4e08b7a30d00c13119bbe91a7 languageName: node linkType: hard @@ -4301,19 +4310,19 @@ __metadata: languageName: node linkType: hard -"@firebase/remote-config-compat@npm:0.1.5": - version: 0.1.5 - resolution: "@firebase/remote-config-compat@npm:0.1.5" +"@firebase/remote-config-compat@npm:0.1.9": + version: 0.1.9 + resolution: "@firebase/remote-config-compat@npm:0.1.9" dependencies: - "@firebase/component": 0.5.10 + "@firebase/component": 0.5.14 "@firebase/logger": 0.3.2 - "@firebase/remote-config": 0.3.4 + "@firebase/remote-config": 0.3.8 "@firebase/remote-config-types": 0.2.0 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 33302b47a06084c9b9782dcebb4952779f9f05d64d36eda317089cfbb1a240f26bd06afc1c66ee1c7e21ba54bb4793d9afe28be9f09edc3cb17e6219188a5f34 + checksum: b04b2fec67b8343bfa542fa2996d2876f95cbb8fa116ad5a06b4a5338bf6e5e82b4862f2562e5785e4a2531ff7442566ac1f16b55bac6a237053468487bd2783 languageName: node linkType: hard @@ -4324,33 +4333,33 @@ __metadata: languageName: node linkType: hard -"@firebase/remote-config@npm:0.3.4": - version: 0.3.4 - resolution: "@firebase/remote-config@npm:0.3.4" +"@firebase/remote-config@npm:0.3.8": + version: 0.3.8 + resolution: "@firebase/remote-config@npm:0.3.8" dependencies: - "@firebase/component": 0.5.10 - "@firebase/installations": 0.5.5 + "@firebase/component": 0.5.14 + "@firebase/installations": 0.5.9 "@firebase/logger": 0.3.2 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: ef33bb3c52cc9c9c64c77591cd4e368556a1a9555c5c0aeed6013baa35599731ffd9c6110d1a8eda4735c6d26d4d7cc6aab2f9272254f60c6c4cd1baf34c1df3 + checksum: 5366b3438ed3089d4ba6e253e749352395fe9ed0ff6e4b788a8ad21843941f79c7e1c428b3287d4c64d5350507b6c131ec753532ecc8db2cca2216adf053f2e7 languageName: node linkType: hard -"@firebase/storage-compat@npm:0.1.10": - version: 0.1.10 - resolution: "@firebase/storage-compat@npm:0.1.10" +"@firebase/storage-compat@npm:0.1.14": + version: 0.1.14 + resolution: "@firebase/storage-compat@npm:0.1.14" dependencies: - "@firebase/component": 0.5.10 - "@firebase/storage": 0.9.2 + "@firebase/component": 0.5.14 + "@firebase/storage": 0.9.6 "@firebase/storage-types": 0.6.0 - "@firebase/util": 1.4.3 + "@firebase/util": 1.6.0 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 8a70a8a86993c496ac7170efdc3bd44681c726678e5834eaf53cbe8c1f84fa8fdd31335247c5e52d08823de1e7dc11789e43ccc53f66a439807e5ff4f36c12c2 + checksum: ff0e8fdfbb3c00653958d38463098828f2ef700c27afd3f6a0740523aadfb48f2b5f1b8e3aee5e30f839b66ea356c198a17282ad61964a8f35d3e019add3015a languageName: node linkType: hard @@ -4364,26 +4373,26 @@ __metadata: languageName: node linkType: hard -"@firebase/storage@npm:0.9.2": - version: 0.9.2 - resolution: "@firebase/storage@npm:0.9.2" +"@firebase/storage@npm:0.9.6": + version: 0.9.6 + resolution: "@firebase/storage@npm:0.9.6" dependencies: - "@firebase/component": 0.5.10 - "@firebase/util": 1.4.3 + "@firebase/component": 0.5.14 + "@firebase/util": 1.6.0 node-fetch: 2.6.7 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: c69d68fca00b4667350e81eb9f3af7eb426cd7df0530159c460a3db2fbd94d01c43ba26f2d59623b49faff709da56794899d12a838e6291ba85e83ed778ad624 + checksum: 45b2e67b973092e5c2b6124e38132b5ba0f3a6ac3c076e937d0757b848f5d49e5be6b508b3b3270065be9574b44cde84d48c6dc2131681487bb68ba78981e7df languageName: node linkType: hard -"@firebase/util@npm:1.4.3": - version: 1.4.3 - resolution: "@firebase/util@npm:1.4.3" +"@firebase/util@npm:1.6.0": + version: 1.6.0 + resolution: "@firebase/util@npm:1.6.0" dependencies: tslib: ^2.1.0 - checksum: 411011976afd098918ad4fa277d496b01b176a78a50b418fbe331ebf6b8593d561ed6df1b632938bc7aae745a59bb31f1e234560def96392e6bd89a131ca9527 + checksum: 9bdd4cc5b2964639bd5f519bbeba4ad101d86cde53f8fe16a285c8ffacd6266186b343674cef886d1949a5e1069b642380758886c81f53c5a9c0145ac4f38363 languageName: node linkType: hard @@ -8493,12 +8502,13 @@ __metadata: languageName: node linkType: hard -"axios@npm:~0.26.0": - version: 0.26.0 - resolution: "axios@npm:0.26.0" +"axios@npm:~0.27.2": + version: 0.27.2 + resolution: "axios@npm:0.27.2" dependencies: - follow-redirects: ^1.14.8 - checksum: d7a8b898f4157bedeb2e06c03b16133b91b354c041205bea732ce58b7a21f373d22057b0eea0d482838145ce6ff482b359750d9bcb8dd19d45e3928e3c65c280 + follow-redirects: ^1.14.9 + form-data: ^4.0.0 + checksum: 38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854 languageName: node linkType: hard @@ -9011,9 +9021,9 @@ __metadata: "@vx/responsive": ~0.0.199 "@vx/scale": ~0.0.199 "@vx/tooltip": ~0.0.199 - axios: ~0.26.0 + axios: ~0.27.2 cbm-dashboard: 1.0.0 - chart.js: ~3.7.1 + chart.js: ~3.8.0 eslint: ~7.19.0 eslint-config-airbnb: ~18.2.1 eslint-plugin-import: ~2.25.4 @@ -9706,10 +9716,10 @@ __metadata: languageName: node linkType: hard -"chart.js@npm:~3.7.1": - version: 3.7.1 - resolution: "chart.js@npm:3.7.1" - checksum: f9d118d3b7dd3c36b6da7a8d71ac9e5d9673b81095cc66c3f61ff91674e20020c6700f8c9c6f93713fa8474eb471ded106114346ccc6afa88b4a7d0eb73dcea4 +"chart.js@npm:~3.8.0": + version: 3.8.0 + resolution: "chart.js@npm:3.8.0" + checksum: 0360212bf5d534effc8475a1aa705ba7257a315af368b5e8eecf476f0bd57a6bb80ad740e870d552f2d11e134dd1497ccef02950d7e626c21a400ff00ecf59af languageName: node linkType: hard @@ -10175,7 +10185,7 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.6, combined-stream@npm:~1.0.6": +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" dependencies: @@ -13706,37 +13716,37 @@ __metadata: languageName: node linkType: hard -"firebase@npm:~9.6.6": - version: 9.6.6 - resolution: "firebase@npm:9.6.6" +"firebase@npm:~9.8.2": + version: 9.8.2 + resolution: "firebase@npm:9.8.2" dependencies: - "@firebase/analytics": 0.7.5 - "@firebase/analytics-compat": 0.1.6 - "@firebase/app": 0.7.16 - "@firebase/app-check": 0.5.3 - "@firebase/app-check-compat": 0.2.3 - "@firebase/app-compat": 0.1.17 + "@firebase/analytics": 0.7.9 + "@firebase/analytics-compat": 0.1.10 + "@firebase/app": 0.7.25 + "@firebase/app-check": 0.5.8 + "@firebase/app-check-compat": 0.2.8 + "@firebase/app-compat": 0.1.26 "@firebase/app-types": 0.7.0 - "@firebase/auth": 0.19.8 - "@firebase/auth-compat": 0.2.8 - "@firebase/database": 0.12.5 - "@firebase/database-compat": 0.1.5 - "@firebase/firestore": 3.4.4 - "@firebase/firestore-compat": 0.1.13 - "@firebase/functions": 0.7.8 - "@firebase/functions-compat": 0.1.9 - "@firebase/installations": 0.5.5 - "@firebase/messaging": 0.9.8 - "@firebase/messaging-compat": 0.1.8 - "@firebase/performance": 0.5.5 - "@firebase/performance-compat": 0.1.5 + "@firebase/auth": 0.20.2 + "@firebase/auth-compat": 0.2.15 + "@firebase/database": 0.13.0 + "@firebase/database-compat": 0.2.0 + "@firebase/firestore": 3.4.9 + "@firebase/firestore-compat": 0.1.18 + "@firebase/functions": 0.8.1 + "@firebase/functions-compat": 0.2.1 + "@firebase/installations": 0.5.9 + "@firebase/messaging": 0.9.13 + "@firebase/messaging-compat": 0.1.13 + "@firebase/performance": 0.5.9 + "@firebase/performance-compat": 0.1.9 "@firebase/polyfill": 0.3.36 - "@firebase/remote-config": 0.3.4 - "@firebase/remote-config-compat": 0.1.5 - "@firebase/storage": 0.9.2 - "@firebase/storage-compat": 0.1.10 - "@firebase/util": 1.4.3 - checksum: 49be0a83a5984147fb9a5c4de74d677babbd02d1fbec7ce1a431a64aa54cad99c88a68a670f7304c6249c15b174f6df1806de5786487e833cba1ebefb6c567a0 + "@firebase/remote-config": 0.3.8 + "@firebase/remote-config-compat": 0.1.9 + "@firebase/storage": 0.9.6 + "@firebase/storage-compat": 0.1.14 + "@firebase/util": 1.6.0 + checksum: 0a8cd0e52c0344209c428b35293a54f279366a2f55a7089721ebcc0425283f650d32a54d90833cade47cd32e86a5d6d7c22668295f4ceb6b7936fa7461a2af7e languageName: node linkType: hard @@ -13799,7 +13809,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.8": +"follow-redirects@npm:^1.0.0": version: 1.14.8 resolution: "follow-redirects@npm:1.14.8" peerDependenciesMeta: @@ -13809,6 +13819,16 @@ __metadata: languageName: node linkType: hard +"follow-redirects@npm:^1.14.9": + version: 1.15.1 + resolution: "follow-redirects@npm:1.15.1" + peerDependenciesMeta: + debug: + optional: true + checksum: 6aa4e3e3cdfa3b9314801a1cd192ba756a53479d9d8cca65bf4db3a3e8834e62139245cd2f9566147c8dfe2efff1700d3e6aefd103de4004a7b99985e71dd533 + languageName: node + linkType: hard + "font-atlas@npm:^2.1.0": version: 2.1.0 resolution: "font-atlas@npm:2.1.0" @@ -13863,6 +13883,17 @@ __metadata: languageName: node linkType: hard +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c + languageName: node + linkType: hard + "form-data@npm:~2.3.2": version: 2.3.3 resolution: "form-data@npm:2.3.3" @@ -15161,10 +15192,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"idb@npm:3.0.2": - version: 3.0.2 - resolution: "idb@npm:3.0.2" - checksum: 7b4fa656c0d523660834cb1fc3485dc20a3f5795e3f7cb21ffd847876afab87e4b666858514cb168effd206ba8ca86db2df965748519dad679ad1e23915845e0 +"idb@npm:7.0.1": + version: 7.0.1 + resolution: "idb@npm:7.0.1" + checksum: 61526789562cc3518a1a030c7a06cc98edfcd62795700ff28c701d6f84c178aee4e98bedfc79e6c394ba26084aa4667d6594b1728e5868f305f9b34148662679 languageName: node linkType: hard @@ -15354,7 +15385,7 @@ fsevents@^1.2.7: eslint-config-airbnb: ~18.2.1 eslint-config-prettier: ~7.1.0 eslint-plugin-prettier: ~3.3.1 - firebase: ~9.6.6 + firebase: ~9.8.2 parcel: ~2.3.1 prettier: ~2.5.1 prop-types: ~15.8.1 @@ -23120,27 +23151,14 @@ resolve@^0.6.1: languageName: node linkType: hard -"selenium-webdriver@npm:4.0.0-rc-1": - version: 4.0.0-rc-1 - resolution: "selenium-webdriver@npm:4.0.0-rc-1" - dependencies: - jszip: ^3.6.0 - rimraf: ^3.0.2 - tmp: ^0.2.1 - ws: ">=7.4.6" - checksum: 10e74040a3fb1b55b295a21b74061cca85742cdc64922bd932339c66684a9f0cc9ec28abce5ea0548858332126c10e2e5cbed43080feab782ad45db2388c8fd8 - languageName: node - linkType: hard - -"selenium-webdriver@npm:^4.0.0-beta.2": - version: 4.0.0 - resolution: "selenium-webdriver@npm:4.0.0" +"selenium-webdriver@npm:4.1.2": + version: 4.1.2 + resolution: "selenium-webdriver@npm:4.1.2" dependencies: jszip: ^3.6.0 - rimraf: ^3.0.2 tmp: ^0.2.1 ws: ">=7.4.6" - checksum: ac9861e9aa476bc6e5a45fba7b22c1a22478c90de3fecceb43df4e6390a6717855467222bfe775ad1b4bc504a9159a794a2a8b4370401279afb5878279ea7d9e + checksum: d55123d83baf23068acd2122ee3d6ece5db9fa09da8ba40cec02ccc89332dd5365f7782dd91e281c242c271e2c299e7b75bf1cc9a5e301c8a9697d65d2989630 languageName: node linkType: hard From 61a648f87e16b808b83c93a58f6e2f9562225755 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 09:41:03 -0500 Subject: [PATCH 007/664] upgrade two eslint plugins --- package.json | 4 +- yarn.lock | 344 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 324 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index e710f2608..57957be7b 100644 --- a/package.json +++ b/package.json @@ -55,9 +55,9 @@ "devDependencies": { "eslint": "~7.19.0", "eslint-config-airbnb": "~18.2.1", - "eslint-plugin-import": "~2.25.4", + "eslint-plugin-import": "~2.26.0", "eslint-plugin-jsx-a11y": "~6.5.1", - "eslint-plugin-react": "~7.22.0", + "eslint-plugin-react": "~7.30.0", "eslint-plugin-react-hooks": "~1.7.0", "husky": "~4.3.8", "lint-staged": "~10.5.4", diff --git a/yarn.lock b/yarn.lock index 58d87d15b..89ea273b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8244,6 +8244,19 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.5": + version: 3.1.5 + resolution: "array-includes@npm:3.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + get-intrinsic: ^1.1.1 + is-string: ^1.0.7 + checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 + languageName: node + linkType: hard + "array-normalize@npm:^1.1.4": version: 1.1.4 resolution: "array-normalize@npm:1.1.4" @@ -8331,6 +8344,18 @@ __metadata: languageName: node linkType: hard +"array.prototype.flatmap@npm:^1.3.0": + version: 1.3.0 + resolution: "array.prototype.flatmap@npm:1.3.0" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.2 + es-shim-unscopables: ^1.0.0 + checksum: 818538f39409c4045d874be85df0dbd195e1446b14d22f95bdcfefea44ae77db44e42dcd89a559254ec5a7c8b338cfc986cc6d641e3472f9a5326b21eb2976a2 + languageName: node + linkType: hard + "arrify@npm:^2.0.1": version: 2.0.1 resolution: "arrify@npm:2.0.1" @@ -9026,9 +9051,9 @@ __metadata: chart.js: ~3.8.0 eslint: ~7.19.0 eslint-config-airbnb: ~18.2.1 - eslint-plugin-import: ~2.25.4 + eslint-plugin-import: ~2.26.0 eslint-plugin-jsx-a11y: ~6.5.1 - eslint-plugin-react: ~7.22.0 + eslint-plugin-react: ~7.30.0 eslint-plugin-react-hooks: ~1.7.0 husky: ~4.3.8 indicators: 1.0.0 @@ -11668,6 +11693,16 @@ __metadata: languageName: node linkType: hard +"define-properties@npm:^1.1.4": + version: 1.1.4 + resolution: "define-properties@npm:1.1.4" + dependencies: + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + languageName: node + linkType: hard + "define-property@npm:^0.2.5": version: 0.2.5 resolution: "define-property@npm:0.2.5" @@ -12453,6 +12488,46 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": + version: 1.20.1 + resolution: "es-abstract@npm:1.20.1" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-weakref: ^1.0.2 + object-inspect: ^1.12.0 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + regexp.prototype.flags: ^1.4.3 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.0": + version: 1.0.0 + resolution: "es-shim-unscopables@npm:1.0.0" + dependencies: + has: ^1.0.3 + checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -12679,7 +12754,7 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.2": +"eslint-module-utils@npm:^2.7.3": version: 2.7.3 resolution: "eslint-module-utils@npm:2.7.3" dependencies: @@ -12724,26 +12799,26 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:~2.25.4": - version: 2.25.4 - resolution: "eslint-plugin-import@npm:2.25.4" +"eslint-plugin-import@npm:~2.26.0": + version: 2.26.0 + resolution: "eslint-plugin-import@npm:2.26.0" dependencies: array-includes: ^3.1.4 array.prototype.flat: ^1.2.5 debug: ^2.6.9 doctrine: ^2.1.0 eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.7.2 + eslint-module-utils: ^2.7.3 has: ^1.0.3 - is-core-module: ^2.8.0 + is-core-module: ^2.8.1 is-glob: ^4.0.3 - minimatch: ^3.0.4 + minimatch: ^3.1.2 object.values: ^1.1.5 - resolve: ^1.20.0 - tsconfig-paths: ^3.12.0 + resolve: ^1.22.0 + tsconfig-paths: ^3.14.1 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 0af24f5c7c6ca692f42e3947127f0ae7dfe44f1e02740f7cbe988b510a9c52bab0065d7df04e2d953dcc88a4595a00cbdcf14018acf8cd75cfd47b72efcbb734 + checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 languageName: node linkType: hard @@ -12834,7 +12909,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.21.5, eslint-plugin-react@npm:~7.22.0": +"eslint-plugin-react@npm:^7.21.5": version: 7.22.0 resolution: "eslint-plugin-react@npm:7.22.0" dependencies: @@ -12855,6 +12930,30 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-react@npm:~7.30.0": + version: 7.30.0 + resolution: "eslint-plugin-react@npm:7.30.0" + dependencies: + array-includes: ^3.1.5 + array.prototype.flatmap: ^1.3.0 + doctrine: ^2.1.0 + estraverse: ^5.3.0 + jsx-ast-utils: ^2.4.1 || ^3.0.0 + minimatch: ^3.1.2 + object.entries: ^1.1.5 + object.fromentries: ^2.0.5 + object.hasown: ^1.1.1 + object.values: ^1.1.5 + prop-types: ^15.8.1 + resolve: ^2.0.0-next.3 + semver: ^6.3.0 + string.prototype.matchall: ^4.0.7 + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: 729b7682a0fe6eab068171c159503ac57120ecc7b20067e76300b08879745c16a687e2033378ab45d9a3182da8844d06197a89081be83e1eb21fcceb76e79214 + languageName: node + linkType: hard + "eslint-plugin-testing-library@npm:^3.9.2": version: 3.10.1 resolution: "eslint-plugin-testing-library@npm:3.10.1" @@ -13129,6 +13228,13 @@ __metadata: languageName: node linkType: hard +"estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + languageName: node + linkType: hard + "estree-walker@npm:^0.6.1": version: 0.6.1 resolution: "estree-walker@npm:0.6.1" @@ -14058,6 +14164,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.5": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -14065,6 +14183,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"functions-have-names@npm:^1.2.2": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 + languageName: node + linkType: hard + "gauge@npm:~2.7.3": version: 2.7.4 resolution: "gauge@npm:2.7.4" @@ -14648,6 +14773,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b + languageName: node + linkType: hard + "has-flag@npm:^1.0.0": version: 1.0.0 resolution: "has-flag@npm:1.0.0" @@ -14687,6 +14819,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.0": + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" + dependencies: + get-intrinsic: ^1.1.1 + checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + languageName: node + linkType: hard + "has-symbols@npm:^1.0.0, has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": version: 1.0.2 resolution: "has-symbols@npm:1.0.2" @@ -14694,6 +14835,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + "has-tostringtag@npm:^1.0.0": version: 1.0.0 resolution: "has-tostringtag@npm:1.0.0" @@ -15672,7 +15820,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-core-module@npm:^2.8.0, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.8.1": version: 2.8.1 resolution: "is-core-module@npm:2.8.1" dependencies: @@ -15896,6 +16044,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-negative-zero@npm:^2.0.2": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a + languageName: node + linkType: hard + "is-number-object@npm:^1.0.4": version: 1.0.4 resolution: "is-number-object@npm:1.0.4" @@ -16038,6 +16193,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + languageName: node + linkType: hard + "is-stream@npm:^1.1.0": version: 1.1.0 resolution: "is-stream@npm:1.1.0" @@ -16114,7 +16278,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-weakref@npm:^1.0.1": +"is-weakref@npm:^1.0.1, is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" dependencies: @@ -18099,6 +18263,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + "minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5": version: 1.2.5 resolution: "minimist@npm:1.2.5" @@ -18106,6 +18279,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"minimist@npm:^1.2.6": + version: 1.2.6 + resolution: "minimist@npm:1.2.6" + checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb + languageName: node + linkType: hard + "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -18861,6 +19041,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"object-inspect@npm:^1.12.0": + version: 1.12.2 + resolution: "object-inspect@npm:1.12.2" + checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 + languageName: node + linkType: hard + "object-inspect@npm:^1.8.0, object-inspect@npm:^1.9.0": version: 1.9.0 resolution: "object-inspect@npm:1.9.0" @@ -18925,6 +19112,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"object.entries@npm:^1.1.5": + version: 1.1.5 + resolution: "object.entries@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: d658696f74fd222060d8428d2a9fda2ce736b700cb06f6bdf4a16a1892d145afb746f453502b2fa55d1dca8ead6f14ddbcf66c545df45adadea757a6c4cd86c7 + languageName: node + linkType: hard + "object.fromentries@npm:^2.0.2": version: 2.0.4 resolution: "object.fromentries@npm:2.0.4" @@ -18937,6 +19135,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"object.fromentries@npm:^2.0.5": + version: 2.0.5 + resolution: "object.fromentries@npm:2.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: 61a0b565ded97b76df9e30b569729866e1824cce902f98e90bb106e84f378aea20163366f66dc75c9000e2aad2ed0caf65c6f530cb2abc4c0c0f6c982102db4b + languageName: node + linkType: hard + "object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.0": version: 2.1.2 resolution: "object.getownpropertydescriptors@npm:2.1.2" @@ -18948,6 +19157,16 @@ fsevents@^1.2.7: languageName: node linkType: hard +"object.hasown@npm:^1.1.1": + version: 1.1.1 + resolution: "object.hasown@npm:1.1.1" + dependencies: + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d8ed4907ce57f48b93e3b53c418fd6787bf226a51e8d698c91e39b78e80fe5b124cb6282f6a9d5be21cf9e2c7829ab10206dcc6112b7748860eefe641880c793 + languageName: node + linkType: hard + "object.pick@npm:^1.3.0": version: 1.3.0 resolution: "object.pick@npm:1.3.0" @@ -22303,6 +22522,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": + version: 1.4.3 + resolution: "regexp.prototype.flags@npm:1.4.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + functions-have-names: ^1.2.2 + checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + languageName: node + linkType: hard + "regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": version: 3.1.0 resolution: "regexpp@npm:3.1.0" @@ -22715,7 +22945,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"resolve@npm:^1.1.10, resolve@npm:^1.20.0": +"resolve@npm:^1.1.10, resolve@npm:^1.20.0, resolve@npm:^1.22.0": version: 1.22.0 resolution: "resolve@npm:1.22.0" dependencies: @@ -22728,6 +22958,16 @@ resolve@^0.6.1: languageName: node linkType: hard +"resolve@npm:^2.0.0-next.3": + version: 2.0.0-next.3 + resolution: "resolve@npm:2.0.0-next.3" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: f34b3b93ada77d64a6d590c06a83e198f3a827624c4ec972260905fa6c4d612164fbf0200d16d2beefea4ad1755b001f4a9a1293d8fc2322a8f7d6bf692c4ff5 + languageName: node + linkType: hard + "resolve@patch:resolve@1.18.1#~builtin": version: 1.18.1 resolution: "resolve@patch:resolve@npm%3A1.18.1#~builtin::version=1.18.1&hash=07638b" @@ -22755,7 +22995,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.10#~builtin, resolve@patch:resolve@^1.20.0#~builtin": +"resolve@patch:resolve@^1.1.10#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin": version: 1.22.0 resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" dependencies: @@ -22768,6 +23008,16 @@ resolve@^0.6.1: languageName: node linkType: hard +"resolve@patch:resolve@^2.0.0-next.3#~builtin": + version: 2.0.0-next.3 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin::version=2.0.0-next.3&hash=07638b" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: 21684b4d99a4877337cdbd5484311c811b3e8910edb5d868eec85c6e6550b0f570d911f9a384f9e176172d6713f2715bd0b0887fa512cb8c6aeece018de6a9f8 + languageName: node + linkType: hard + "restore-cursor@npm:^2.0.0": version: 2.0.0 resolution: "restore-cursor@npm:2.0.0" @@ -24026,6 +24276,22 @@ resolve@^0.6.1: languageName: node linkType: hard +"string.prototype.matchall@npm:^4.0.7": + version: 4.0.7 + resolution: "string.prototype.matchall@npm:4.0.7" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + get-intrinsic: ^1.1.1 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + regexp.prototype.flags: ^1.4.1 + side-channel: ^1.0.4 + checksum: fc09f3ccbfb325de0472bcc87a6be0598a7499e0b4a31db5789676155b15754a4cc4bb83924f15fc9ed48934dac7366ee52c8b9bd160bed6fd072c93b489e75c + languageName: node + linkType: hard + "string.prototype.trimend@npm:^1.0.1, string.prototype.trimend@npm:^1.0.4": version: 1.0.4 resolution: "string.prototype.trimend@npm:1.0.4" @@ -24036,6 +24302,17 @@ resolve@^0.6.1: languageName: node linkType: hard +"string.prototype.trimend@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimend@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc + languageName: node + linkType: hard + "string.prototype.trimstart@npm:^1.0.1, string.prototype.trimstart@npm:^1.0.4": version: 1.0.4 resolution: "string.prototype.trimstart@npm:1.0.4" @@ -24046,6 +24323,17 @@ resolve@^0.6.1: languageName: node linkType: hard +"string.prototype.trimstart@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimstart@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 + languageName: node + linkType: hard + "string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -24899,15 +25187,15 @@ resolve@^0.6.1: languageName: node linkType: hard -"tsconfig-paths@npm:^3.12.0": - version: 3.12.0 - resolution: "tsconfig-paths@npm:3.12.0" +"tsconfig-paths@npm:^3.14.1": + version: 3.14.1 + resolution: "tsconfig-paths@npm:3.14.1" dependencies: "@types/json5": ^0.0.29 json5: ^1.0.1 - minimist: ^1.2.0 + minimist: ^1.2.6 strip-bom: ^3.0.0 - checksum: 4999ec6cd1c7cc06750a460dbc0d39fe3595a4308cb5f1d0d0a8283009cf9c0a30d5a156508c28fe3a47760508af5263ab288fc23d71e9762779674257a95d3b + checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d languageName: node linkType: hard @@ -25119,6 +25407,18 @@ resolve@^0.6.1: languageName: node linkType: hard +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + has-bigints: ^1.0.2 + has-symbols: ^1.0.3 + which-boxed-primitive: ^1.0.2 + checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + languageName: node + linkType: hard + "uncss@npm:^0.17.3": version: 0.17.3 resolution: "uncss@npm:0.17.3" From 716919f00930c203f3a3c5cfdb29fdbde5c88617 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 09:53:38 -0500 Subject: [PATCH 008/664] update papaparse, parcel, plotly.js and prettier --- packages/cbm-dashboard/package.json | 6 +- packages/indicators/package.json | 4 +- yarn.lock | 1557 ++++++++++++--------------- 3 files changed, 664 insertions(+), 903 deletions(-) diff --git a/packages/cbm-dashboard/package.json b/packages/cbm-dashboard/package.json index aa319a052..55b2957b8 100644 --- a/packages/cbm-dashboard/package.json +++ b/packages/cbm-dashboard/package.json @@ -7,8 +7,8 @@ "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", "babel-plugin-transform-runtime": "~6.23.0", - "papaparse": "~5.3.1", - "plotly.js": "~2.9.0", + "papaparse": "~5.3.2", + "plotly.js": "~2.12.1", "prop-types": "~15.8.1", "react": "~17.0.2", "react-dom": "~17.0.2", @@ -26,7 +26,7 @@ "eslint-config-prettier": "~7.1.0", "eslint-plugin-prettier": "~3.3.1", "parcel": "1.12.4", - "prettier": "~2.5.1", + "prettier": "~2.6.2", "rollup": "~2.67.2", "rollup-plugin-css-only": "~3.1.0" }, diff --git a/packages/indicators/package.json b/packages/indicators/package.json index 400b25939..83e519daf 100644 --- a/packages/indicators/package.json +++ b/packages/indicators/package.json @@ -23,8 +23,8 @@ "eslint-config-airbnb": "~18.2.1", "eslint-config-prettier": "~7.1.0", "eslint-plugin-prettier": "~3.3.1", - "parcel": "~2.3.1", - "prettier": "~2.5.1", + "parcel": "~2.6.0", + "prettier": "~2.6.2", "rollup": "~2.67.2", "rollup-plugin-css-only": "~3.1.0" }, diff --git a/yarn.lock b/yarn.lock index 89ea273b8..6168707f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4754,6 +4754,22 @@ __metadata: languageName: node linkType: hard +"@lezer/common@npm:^0.15.0, @lezer/common@npm:^0.15.7": + version: 0.15.12 + resolution: "@lezer/common@npm:0.15.12" + checksum: dae65816187bd690bf446bec116313d3b5328e70e3e1f7c806273d9356ca2017cf82aa650ea53b95260fb98898ea73d44f33319f9dbbd48d473e2f20771b2377 + languageName: node + linkType: hard + +"@lezer/lr@npm:^0.15.4": + version: 0.15.8 + resolution: "@lezer/lr@npm:0.15.8" + dependencies: + "@lezer/common": ^0.15.0 + checksum: e741225d6ac9cf08f8016bad49622fbd4a4e0d20c2e8c2b38a0abf0ddca69c58275b0ebdb9d5dde2905cf84f6977bc302f7ed5e5ba42c23afa27e9e65b900f36 + languageName: node + linkType: hard + "@mapbox/geojson-rewind@npm:^0.5.0": version: 0.5.0 resolution: "@mapbox/geojson-rewind@npm:0.5.0" @@ -4946,6 +4962,17 @@ __metadata: languageName: node linkType: hard +"@mischnic/json-sourcemap@npm:^0.1.0": + version: 0.1.0 + resolution: "@mischnic/json-sourcemap@npm:0.1.0" + dependencies: + "@lezer/common": ^0.15.7 + "@lezer/lr": ^0.15.4 + json5: ^2.2.1 + checksum: a30eda9eb02db5213b7aa2dc3c688257884a8969849ffa5a3a7c64c5f2a1cfed06691d94f02b37294a3a3b9efe7f88ee6b86c9ef20a799af54807ff2de2d253e + languageName: node + linkType: hard + "@mrmlnc/readdir-enhanced@npm:^2.2.1": version: 2.2.1 resolution: "@mrmlnc/readdir-enhanced@npm:2.2.1" @@ -5409,161 +5436,251 @@ __metadata: languageName: node linkType: hard -"@parcel/bundler-default@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/bundler-default@npm:2.3.1" +"@parcel/bundler-default@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/bundler-default@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/hash": 2.3.1 - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/hash": 2.6.0 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 - checksum: c44b783612c7f1ca56ae5345fbc702a0681659ed695114caf8e9ef1b0fceb27615f4bc3cdfd352450fc1a438d67871c9e4e67e2ea8a417f9d9a7c08c43f0a1a4 + checksum: 9e856e28bacd51627ad751f821c704bc568b5d4e185bc46f54465cdd2f72d8b8fc590a0f915eb26dacd94f087c57e2f9c077e90781eee61050f3e23ea24c95c2 languageName: node linkType: hard -"@parcel/cache@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/cache@npm:2.3.1" +"@parcel/cache@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/cache@npm:2.6.0" dependencies: - "@parcel/fs": 2.3.1 - "@parcel/logger": 2.3.1 - "@parcel/utils": 2.3.1 - lmdb: ^2.0.2 + "@parcel/fs": 2.6.0 + "@parcel/logger": 2.6.0 + "@parcel/utils": 2.6.0 + lmdb: 2.3.10 peerDependencies: - "@parcel/core": ^2.3.1 - checksum: d8388907d72ad441937cdfbdb2fa66d114fdd1d3f3d4a8567fe10e45f7ef636bb38b7f7ab204f748590e135526492cb052f4b18a350e9d780375cddd30c2c217 + "@parcel/core": ^2.6.0 + checksum: fe5a73d1f20cca1915bfd6622845375741bc76d60fc28755561a2198d52f5e49f9af28fc7a66a2ae610cb6931c3b0bae55b5b38ff335d6bf9812fd19f9fa2ad5 languageName: node linkType: hard -"@parcel/codeframe@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/codeframe@npm:2.3.1" +"@parcel/codeframe@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/codeframe@npm:2.6.0" dependencies: chalk: ^4.1.0 - checksum: d8ea782b51dfee323fd3efaf40152f26b6069ccd4bcf689c730b8eb9925e3e33e1da6b9dc79f0579d98e5c31493d5a82692a562f6a154050b1088cdacd0987b5 + checksum: 095843a973247c91ed3ec47292e7f7d266f8f1d7e7e22c656e523576ad62c0f15fec37c246c06d15795434ec430ea91e1dc742a32d4e0b2022a6f9385cb2fee5 languageName: node linkType: hard -"@parcel/compressor-raw@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/compressor-raw@npm:2.3.1" +"@parcel/compressor-raw@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/compressor-raw@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - checksum: 62a3ab4b30b26153ce00e878518962183f783b884802a8d56ef3fb06579df495e4a8b9a535229bc4e0d7dd0692efe3399afe5251fc46f24fa0da2fbe97775da1 + "@parcel/plugin": 2.6.0 + checksum: fb000666c2bed71385f0792493275035c30d92e434613af5d31589d617a51852e9aa085405eeaaaac6fcee50c10266d52897f2d8711e5654180badce9bb2d619 languageName: node linkType: hard -"@parcel/config-default@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/config-default@npm:2.3.1" - dependencies: - "@parcel/bundler-default": 2.3.1 - "@parcel/compressor-raw": 2.3.1 - "@parcel/namer-default": 2.3.1 - "@parcel/optimizer-cssnano": 2.3.1 - "@parcel/optimizer-htmlnano": 2.3.1 - "@parcel/optimizer-image": 2.3.1 - "@parcel/optimizer-svgo": 2.3.1 - "@parcel/optimizer-terser": 2.3.1 - "@parcel/packager-css": 2.3.1 - "@parcel/packager-html": 2.3.1 - "@parcel/packager-js": 2.3.1 - "@parcel/packager-raw": 2.3.1 - "@parcel/packager-svg": 2.3.1 - "@parcel/reporter-dev-server": 2.3.1 - "@parcel/resolver-default": 2.3.1 - "@parcel/runtime-browser-hmr": 2.3.1 - "@parcel/runtime-js": 2.3.1 - "@parcel/runtime-react-refresh": 2.3.1 - "@parcel/runtime-service-worker": 2.3.1 - "@parcel/transformer-babel": 2.3.1 - "@parcel/transformer-css": 2.3.1 - "@parcel/transformer-html": 2.3.1 - "@parcel/transformer-image": 2.3.1 - "@parcel/transformer-js": 2.3.1 - "@parcel/transformer-json": 2.3.1 - "@parcel/transformer-postcss": 2.3.1 - "@parcel/transformer-posthtml": 2.3.1 - "@parcel/transformer-raw": 2.3.1 - "@parcel/transformer-react-refresh-wrap": 2.3.1 - "@parcel/transformer-svg": 2.3.1 - peerDependencies: - "@parcel/core": ^2.3.1 - checksum: 84f2f381918770490cd93a9c47b1bac13e23a5d7580c5ba9e53f815e2154f7abb4ec64d7ac6cbf0544b5007b09a53e0b243805859885428b832f4e11f78ee131 - languageName: node - linkType: hard - -"@parcel/core@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/core@npm:2.3.1" - dependencies: - "@parcel/cache": 2.3.1 - "@parcel/diagnostic": 2.3.1 - "@parcel/events": 2.3.1 - "@parcel/fs": 2.3.1 - "@parcel/graph": 2.3.1 - "@parcel/hash": 2.3.1 - "@parcel/logger": 2.3.1 - "@parcel/package-manager": 2.3.1 - "@parcel/plugin": 2.3.1 +"@parcel/config-default@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/config-default@npm:2.6.0" + dependencies: + "@parcel/bundler-default": 2.6.0 + "@parcel/compressor-raw": 2.6.0 + "@parcel/namer-default": 2.6.0 + "@parcel/optimizer-css": 2.6.0 + "@parcel/optimizer-htmlnano": 2.6.0 + "@parcel/optimizer-image": 2.6.0 + "@parcel/optimizer-svgo": 2.6.0 + "@parcel/optimizer-terser": 2.6.0 + "@parcel/packager-css": 2.6.0 + "@parcel/packager-html": 2.6.0 + "@parcel/packager-js": 2.6.0 + "@parcel/packager-raw": 2.6.0 + "@parcel/packager-svg": 2.6.0 + "@parcel/reporter-dev-server": 2.6.0 + "@parcel/resolver-default": 2.6.0 + "@parcel/runtime-browser-hmr": 2.6.0 + "@parcel/runtime-js": 2.6.0 + "@parcel/runtime-react-refresh": 2.6.0 + "@parcel/runtime-service-worker": 2.6.0 + "@parcel/transformer-babel": 2.6.0 + "@parcel/transformer-css": 2.6.0 + "@parcel/transformer-html": 2.6.0 + "@parcel/transformer-image": 2.6.0 + "@parcel/transformer-js": 2.6.0 + "@parcel/transformer-json": 2.6.0 + "@parcel/transformer-postcss": 2.6.0 + "@parcel/transformer-posthtml": 2.6.0 + "@parcel/transformer-raw": 2.6.0 + "@parcel/transformer-react-refresh-wrap": 2.6.0 + "@parcel/transformer-svg": 2.6.0 + peerDependencies: + "@parcel/core": ^2.6.0 + checksum: bd05f6e97ec547e2a3ccbfa7ad63f815fab5daa32e927ac4fd67a7ca2b4098712dbad996069663bb128172bfa306ae8bac2b337a0ca91d93e8d7eb1f761e68c0 + languageName: node + linkType: hard + +"@parcel/core@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/core@npm:2.6.0" + dependencies: + "@mischnic/json-sourcemap": ^0.1.0 + "@parcel/cache": 2.6.0 + "@parcel/diagnostic": 2.6.0 + "@parcel/events": 2.6.0 + "@parcel/fs": 2.6.0 + "@parcel/graph": 2.6.0 + "@parcel/hash": 2.6.0 + "@parcel/logger": 2.6.0 + "@parcel/package-manager": 2.6.0 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/types": 2.3.1 - "@parcel/utils": 2.3.1 - "@parcel/workers": 2.3.1 + "@parcel/types": 2.6.0 + "@parcel/utils": 2.6.0 + "@parcel/workers": 2.6.0 abortcontroller-polyfill: ^1.1.9 base-x: ^3.0.8 browserslist: ^4.6.6 clone: ^2.1.1 dotenv: ^7.0.0 dotenv-expand: ^5.1.0 - json-source-map: ^0.6.1 json5: ^2.2.0 - msgpackr: ^1.5.1 + msgpackr: ^1.5.4 nullthrows: ^1.1.1 semver: ^5.7.1 - checksum: 8f71e13bb6086493ab79caf4b2d7013844225602484732a65a846af5f7f485473ce7dfd9767d9ef876dc6746112a33c4f987d0911e7579d364ba364005c5d1a1 + checksum: fae65c153bbd96f55b1bf5b1b410f8af15418b4ad899b44487250c30ad979768b162ec87e0199d787bee53fd35fb14c5b6c77974ef19c36ba78f3e9adf093f4c languageName: node linkType: hard -"@parcel/diagnostic@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/diagnostic@npm:2.3.1" +"@parcel/css-darwin-arm64@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-darwin-arm64@npm:1.9.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/css-darwin-x64@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-darwin-x64@npm:1.9.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/css-linux-arm-gnueabihf@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-linux-arm-gnueabihf@npm:1.9.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@parcel/css-linux-arm64-gnu@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-linux-arm64-gnu@npm:1.9.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/css-linux-arm64-musl@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-linux-arm64-musl@npm:1.9.0" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/css-linux-x64-gnu@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-linux-x64-gnu@npm:1.9.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@parcel/css-linux-x64-musl@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-linux-x64-musl@npm:1.9.0" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@parcel/css-win32-x64-msvc@npm:1.9.0": + version: 1.9.0 + resolution: "@parcel/css-win32-x64-msvc@npm:1.9.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/css@npm:^1.9.0": + version: 1.9.0 + resolution: "@parcel/css@npm:1.9.0" + dependencies: + "@parcel/css-darwin-arm64": 1.9.0 + "@parcel/css-darwin-x64": 1.9.0 + "@parcel/css-linux-arm-gnueabihf": 1.9.0 + "@parcel/css-linux-arm64-gnu": 1.9.0 + "@parcel/css-linux-arm64-musl": 1.9.0 + "@parcel/css-linux-x64-gnu": 1.9.0 + "@parcel/css-linux-x64-musl": 1.9.0 + "@parcel/css-win32-x64-msvc": 1.9.0 + detect-libc: ^1.0.3 + dependenciesMeta: + "@parcel/css-darwin-arm64": + optional: true + "@parcel/css-darwin-x64": + optional: true + "@parcel/css-linux-arm-gnueabihf": + optional: true + "@parcel/css-linux-arm64-gnu": + optional: true + "@parcel/css-linux-arm64-musl": + optional: true + "@parcel/css-linux-x64-gnu": + optional: true + "@parcel/css-linux-x64-musl": + optional: true + "@parcel/css-win32-x64-msvc": + optional: true + checksum: a565e8755d112bc4613e5f8076c30ae8056d8c4910ce3191d79a1a712fb4438ad29363e2080368f290ec239882dfe9d8c599454f1418fc93d01a8c659c0ffcfa + languageName: node + linkType: hard + +"@parcel/diagnostic@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/diagnostic@npm:2.6.0" dependencies: - json-source-map: ^0.6.1 + "@mischnic/json-sourcemap": ^0.1.0 nullthrows: ^1.1.1 - checksum: 6fd44df7d444c9c4464f0c82a746883c186fd593cae0b6f3d2c6e3814169e001f96a19b86b618026349012c81eed90c3ba4b6e5d33fe088a8e870ee7394834fc + checksum: 89c9db939946f817e1dd0044ae397789b6eae00ebaea5f21c3832a7ad61240dd11177ff3bbe3954cc72c6ea4ed3af92acb93931e522abd15331ba37e901a0693 languageName: node linkType: hard -"@parcel/events@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/events@npm:2.3.1" - checksum: d48c0f67666ad0293d943576f2ef68a47b8f8a8b35ff34e2c45eb797b9c958c8cb29271561e476205b2ee017cc30f7d49af38fbb280cf8f1aee4c51560638674 +"@parcel/events@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/events@npm:2.6.0" + checksum: d3ae4a8abb3e009bb3d7228685b06d0fc14bb2cb3d7d7b10a2d31332c211aa5baa2bab4b09c2224b235adefa2c7d27a243521145b6de9a68314a5f668a330bd0 languageName: node linkType: hard -"@parcel/fs-search@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/fs-search@npm:2.3.1" +"@parcel/fs-search@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/fs-search@npm:2.6.0" dependencies: detect-libc: ^1.0.3 - checksum: 313d0f55e5d0071eeed0cc19e75db5531156a3db9c33c6862d30eab727639def3b6311d5d66487af6aa3d2564f4a48b1510a4d94282d9d94ffa822bda78c7efb + checksum: f2ab475a518c1896b71170cc2f7004dbb2aeffb6a082b8acc1b44403444fa09d0fe2a919dd2bb209173da506cdecfaae18520916214d3210a82b2f75e54d670c languageName: node linkType: hard -"@parcel/fs@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/fs@npm:2.3.1" +"@parcel/fs@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/fs@npm:2.6.0" dependencies: - "@parcel/fs-search": 2.3.1 - "@parcel/types": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/fs-search": 2.6.0 + "@parcel/types": 2.6.0 + "@parcel/utils": 2.6.0 "@parcel/watcher": ^2.0.0 - "@parcel/workers": 2.3.1 + "@parcel/workers": 2.6.0 peerDependencies: - "@parcel/core": ^2.3.1 - checksum: da5f45efa38ea6821ec13956221b903f6411303699b395d0aa5e4603f8663c8672a183ec095f7d04f4c08ce4825ecd76fe29ee41dffc0c887581094b9d4a7890 + "@parcel/core": ^2.6.0 + checksum: e190f6fee093394fcec996ab9a6a7a7426c9a39c3df59f4c561b9060ccd50fd6539099b22dd09aa986742e6f0cb05157d3472d6eb2b4971d3dbe62e360547dcc languageName: node linkType: hard @@ -5578,33 +5695,33 @@ __metadata: languageName: node linkType: hard -"@parcel/graph@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/graph@npm:2.3.1" +"@parcel/graph@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/graph@npm:2.6.0" dependencies: - "@parcel/utils": 2.3.1 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 - checksum: 3a36bb60988d610563267714c90f2ac69cab7d39539dd3bbded3b4e625d5eb3b522d0d363082327bc9d020aadce13cb1f5332945dde3342daf8e08d812c726e0 + checksum: f6d0a229b694e16dbc7a4d78e0762d4ec11238abcf4d3a2df1736434ec0e86ad84ed6ea9d8b43235ed5c28b75ee09e5fcc670cc7f7bc9b3428420e7ce33b5548 languageName: node linkType: hard -"@parcel/hash@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/hash@npm:2.3.1" +"@parcel/hash@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/hash@npm:2.6.0" dependencies: detect-libc: ^1.0.3 xxhash-wasm: ^0.4.2 - checksum: 728e46496496344041620bac9953ab5bcd0243a2f4de567d37a1d02d25d9dac38a355b1d4b8b4f8d849bb7ec0ecdc9dbc7b96edd2ad17de348cd5c91911471ca + checksum: 8a82b3123666f0d62fa77fc4a7a17ef36934b27d3d578463e29f94dd01e86e02eae26e1d660b54b139ceaa49462d2c14f631dfdc2d8fed8d9b889f0d1b4c0f88 languageName: node linkType: hard -"@parcel/logger@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/logger@npm:2.3.1" +"@parcel/logger@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/logger@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/events": 2.3.1 - checksum: 1807d4165c5a17c5a5417410a074c6f61a08626c7cc641673640f32c478991c284b353092d12b659ea3b17d31ee04b7519d3cfe450be72292150c4eae9f39751 + "@parcel/diagnostic": 2.6.0 + "@parcel/events": 2.6.0 + checksum: 8336f73b3b4cfa4e77143cae2eeed2059681c2d65ee2555b508b64c1459ad897c4df06af7f619e1785a02bfd0f9cea8262188bcb3b29307c2ef9ab1fbbaf723b languageName: node linkType: hard @@ -5621,260 +5738,265 @@ __metadata: languageName: node linkType: hard -"@parcel/markdown-ansi@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/markdown-ansi@npm:2.3.1" +"@parcel/markdown-ansi@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/markdown-ansi@npm:2.6.0" dependencies: chalk: ^4.1.0 - checksum: da54cd05f160e0ce35959bbd755519cf78d07cf2a87f1b2a4cb5ca7670dbb2d0c7adce78f311025742c31e82ab826b49221a15f30bb1f217ad8d59a94cf47cc1 + checksum: 9870ad824a71eeb96c3a5b7bd8a3e4b793c02f00695cb2234092df8b2fde6f5a65e5d48f370fb79d1f7ce269e31ad777b0b58c607a7ff40f718bfab57796764e languageName: node linkType: hard -"@parcel/namer-default@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/namer-default@npm:2.3.1" +"@parcel/namer-default@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/namer-default@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 nullthrows: ^1.1.1 - checksum: a03abaa6343a6625d5821ebb2944f78ad865a9de34d99c6f6f0b15c164c3dc7d2e690d14b36ba728be0d10579954a451bd6916dc912085cf704baf90b71fcf92 + checksum: db138cbc8087b9f3ce453586d0508340e0721c3c0de2854dae23ac8c43d3601556840b5d9b980654a566b7adb2b1de40c80f130cda88ed1ac772a8f884fc7245 languageName: node linkType: hard -"@parcel/node-resolver-core@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/node-resolver-core@npm:2.3.1" +"@parcel/node-resolver-core@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/node-resolver-core@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 - checksum: 51ef53ea753194ea4079a61b2f25a9d593a1b8a55d73d9ab017eaca4b81797c06b53e7412a4c121c6491ee8150b56b2f0dc90b04f9bb609a24d01c1e226f859c + checksum: ba3560170b88f16e43593aefcbc62dde0c56e68a8236d435bebd2a94085402f88a90d25c8829e674f53f355a6389a2c15c7a0ad33a688b2947d977d3d98a4ca6 languageName: node linkType: hard -"@parcel/optimizer-cssnano@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/optimizer-cssnano@npm:2.3.1" +"@parcel/optimizer-css@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/optimizer-css@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 + "@parcel/css": ^1.9.0 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - cssnano: ^5.0.15 - postcss: ^8.4.5 - checksum: cc8f7707dffa7616a0a9c515546ba11581f5b5e4e810089e0ca4357e3d77716ab01f6b68283e8bde09ede69e40ab78f30620e11598bec727116bbe7eac928224 + "@parcel/utils": 2.6.0 + browserslist: ^4.6.6 + nullthrows: ^1.1.1 + checksum: 5e8b2ae9decaf3ce76bf5c578388a0b19b905cc699ce25c588518af351c33af6bed016c82816559ab4d27199d4c3a0318432aecef38cd57ac8d084b2ded68672 languageName: node linkType: hard -"@parcel/optimizer-htmlnano@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/optimizer-htmlnano@npm:2.3.1" +"@parcel/optimizer-htmlnano@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/optimizer-htmlnano@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 + "@parcel/plugin": 2.6.0 htmlnano: ^2.0.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 svgo: ^2.4.0 - checksum: dddd546fca78317b0a57c494e3059fd9d4d21e81092b8fb9d2f7fea8243e52acaf876e1bf239e46ab72aa084362f6633a0ca13fbf3c0bf52afe21049a180e880 + checksum: 2bd7fa7ca96dec75379fb956dfed5341d91749c7e7a0227f7cb5757594a58475389dea11a3d3348c19be3662677494d276abb5e08aae5b516faf99b8014e6849 languageName: node linkType: hard -"@parcel/optimizer-image@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/optimizer-image@npm:2.3.1" +"@parcel/optimizer-image@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/optimizer-image@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 - "@parcel/workers": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 + "@parcel/workers": 2.6.0 detect-libc: ^1.0.3 - checksum: d76075b930d38a328461dbd3f1a3a7544a4f0302d7368c1aef8092c777eeb5179d94a63bdf0372bfea92a5241e6dab76368d80003486b8ca9b2d2771459d58d2 + checksum: fe6a429c165e7967795c3e831f48d6d2f170bbc0dab27eb10bf5e2a6e4319d8543f9d9beef8be926451d8bb7e5dfe866b3bedf8ec8e5e20061da023ac55fc83a languageName: node linkType: hard -"@parcel/optimizer-svgo@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/optimizer-svgo@npm:2.3.1" +"@parcel/optimizer-svgo@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/optimizer-svgo@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 svgo: ^2.4.0 - checksum: 34c0dcd78b61eb9a489600d16fda293bb59ea04a7b48cad277a485e5bb76f3250c24cb0c3ca97ef32c76351bfeaf0263c5f3e53bd15dadf3a0a557f3b5c13140 + checksum: c2251c4cf88c7397ff465fea4aa0b32fd44e1d190cc100f42a4fa7f426296a1a9b77a07899824ac13ac41d75b90d4b1702bbe7df3c9556ad06a82bb3d7f29ed7 languageName: node linkType: hard -"@parcel/optimizer-terser@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/optimizer-terser@npm:2.3.1" +"@parcel/optimizer-terser@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/optimizer-terser@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.3.1 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 terser: ^5.2.0 - checksum: cf768fdbe074ddfce3d152f5339da57ae4a976dc929f1aff00a79281c2c6329dc0df59cddc2ab9c0c088c7097c182749f07a4b4162d3a0537f7916e7669627bc + checksum: 28ae4e5a5db548b0cf49a0c03b829c8f105028cdbf000d40d918f328a452229034667f42e6b441f1c9c3bd670534f922d7dc6efb109eee6b2c2ca8fb381d1a16 languageName: node linkType: hard -"@parcel/package-manager@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/package-manager@npm:2.3.1" - dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/fs": 2.3.1 - "@parcel/logger": 2.3.1 - "@parcel/types": 2.3.1 - "@parcel/utils": 2.3.1 - "@parcel/workers": 2.3.1 +"@parcel/package-manager@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/package-manager@npm:2.6.0" + dependencies: + "@parcel/diagnostic": 2.6.0 + "@parcel/fs": 2.6.0 + "@parcel/logger": 2.6.0 + "@parcel/types": 2.6.0 + "@parcel/utils": 2.6.0 + "@parcel/workers": 2.6.0 semver: ^5.7.1 peerDependencies: - "@parcel/core": ^2.3.1 - checksum: 865334546c89f8f69c3d75d18eea42be3b2cb2940db7551b8e019ffc3c19681bbb3f6eff7a5f6bfdbde2d332e505fe5f7b357f33b5815eddbaaa888e75da6528 + "@parcel/core": ^2.6.0 + checksum: 57da82e79963190d29d34a50eafe6acacf5eb43271c9fae72bcecc9a6e0214d5fc0348d675e1f641abeafabf67417a0f25dd71f052e7a49b2c20c2d8bf1c3814 languageName: node linkType: hard -"@parcel/packager-css@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/packager-css@npm:2.3.1" +"@parcel/packager-css@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/packager-css@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.3.1 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 - checksum: 7d29bd3d17f2bbb4b6d429b3665e5259b923d3f87dc35badbe02da39309cd41fb9f4dfae1197b7de86e71140bf9c2aac6542b9688b2346b06219c3b0fc949a9a + checksum: 590446ff7ca302197f1b326a87161b89ce5a2999ce136aae82dc5b218593cbff71e0b2321b32fc86150e31d231b5bba253345f372743d294d815433d9a592280 languageName: node linkType: hard -"@parcel/packager-html@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/packager-html@npm:2.3.1" +"@parcel/packager-html@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/packager-html@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/types": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/types": 2.6.0 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 - checksum: 0f17566449399d7ea12a3a4af29ec8ea74d7882a393993cb976631c435d7ca545f44ca463cb4426ab2860f8abaee5b07c5034fb3487cd442153198c27fe3346c + checksum: 6d51afdda129224ec655e976f5c9f1df354430e9ccb1870058acceb7d50550c19598c99cacf03a771aaa8b5d5c4fd4b84cdb793f7dda9511947f6699a03a4db6 languageName: node linkType: hard -"@parcel/packager-js@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/packager-js@npm:2.3.1" +"@parcel/packager-js@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/packager-js@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/hash": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/hash": 2.6.0 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.3.1 + "@parcel/utils": 2.6.0 globals: ^13.2.0 nullthrows: ^1.1.1 - checksum: b3b18549039ad99d6d24d8735d95d17137c253450a0d69cba129c473f0efd9e72d5e6d88c9f23638d6f8e81a613e0314a1b660fcbabfba18988afc8973471a90 + checksum: 2a1d1a1c0ae659ea50e6139b3ce6d807c91fe3fe12934998e3bd7091663afc1fe67c72ac60cd63ad9e3caf5c36cd4a542f29fd230437d37b4aadf23e92c7c438 languageName: node linkType: hard -"@parcel/packager-raw@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/packager-raw@npm:2.3.1" +"@parcel/packager-raw@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/packager-raw@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - checksum: 02277889e39ef2b1549b219f8e076752e91bbbc000d3cd7bdcfb0d6203b1a1eefd72250ceec34db558b2f23268fb3b2b462c0e439685b17dadb7514387eebc15 + "@parcel/plugin": 2.6.0 + checksum: 8a8175e16726f5a17b82e0ad474c0baae3851a972c1828c652b5a6944c9bd820c90f80c0f9bddfcea5a0dd9df5ee136c393d93205e16edbd394b21fe79fd6cb3 languageName: node linkType: hard -"@parcel/packager-svg@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/packager-svg@npm:2.3.1" +"@parcel/packager-svg@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/packager-svg@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/types": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/types": 2.6.0 + "@parcel/utils": 2.6.0 posthtml: ^0.16.4 - checksum: 2ec5b4169b52b2bff8e819e0eac92a04c2319a1afc105d1eeb60c6b275e35e17e94d5ea72551e020c2ba8d63e405696a236f35ac031a12dc67ac8070ef606205 + checksum: 8148b1b0fc299630e714296b944ffa8be02dfa5c778d27694468d9785d3d810d31c1df368d7bfa0606fdaae02101abe6a037c96413f845a9d6f505b316f9184f languageName: node linkType: hard -"@parcel/plugin@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/plugin@npm:2.3.1" +"@parcel/plugin@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/plugin@npm:2.6.0" dependencies: - "@parcel/types": 2.3.1 - checksum: b2edf3299293a5781884a7feea1d96ee58b64b8bd6a55d35f230e93aa31f35485d7c474fa8db14a20c3b8181a93d8a2a2443a4ffd06035751f1ec73c5fc1157a + "@parcel/types": 2.6.0 + checksum: 2668d803d726ecf98c1a9564883a7083bbeff444116f662c50f20067a25c1aa56ca49cc62cf8883ad3fde7ed42da9a7e9d1b89093ce7a77f1362218c3b0c75a1 languageName: node linkType: hard -"@parcel/reporter-cli@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/reporter-cli@npm:2.3.1" +"@parcel/reporter-cli@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/reporter-cli@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/types": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/types": 2.6.0 + "@parcel/utils": 2.6.0 chalk: ^4.1.0 - checksum: 3f4c66d722a999652c393a47b41fba9620358c7926b21eb46faf80ceff8eb66c2c344204c1f201f36a1642ad354b534babff7f9662b1e05c905fd656dc39ab93 + term-size: ^2.2.1 + checksum: fc2b69c4b0ad271107f43fce599158a579a256edecadcafee18aa5fd9a5ddec9fe2015b4a4bcf9df1df0b9138dd70cea390592280757e155bc380cd193a5be71 languageName: node linkType: hard -"@parcel/reporter-dev-server@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/reporter-dev-server@npm:2.3.1" +"@parcel/reporter-dev-server@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/reporter-dev-server@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 - checksum: daceb9a29e49b47481b3c0059d4869c9a14177b2980383efcaebe0acfa9f53d5bce54a3b9b014bba35942a8e9ee53d6bdc825f346a8bb9f58d2af622cb61bf14 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 + checksum: a19f5faef386e3f685c8645d49d1df2e0d3a036e3e97e7e1edb85f36327b35cc323a3e0d346c119c77ca3b60e5ece088fe4927e700df45de26bae564fbab7e3d languageName: node linkType: hard -"@parcel/resolver-default@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/resolver-default@npm:2.3.1" +"@parcel/resolver-default@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/resolver-default@npm:2.6.0" dependencies: - "@parcel/node-resolver-core": 2.3.1 - "@parcel/plugin": 2.3.1 - checksum: 8db1a29c6a19a0c1d4ec5216c11f711366fa7d0c5acec727ea6039669bf4836a1258daa1dddee1a822c3b1c3eb15bb923cad01a413242d84aa5da6e5f871a8d4 + "@parcel/node-resolver-core": 2.6.0 + "@parcel/plugin": 2.6.0 + checksum: 6b1cd291f37d431cfeef5ad187191932a8f063307dba6c6237c2de94fa24b037a6e77cf1a363cc86b016873e07f5e73e65a49a4f237ad3f01c64bf3e2a4ef3b6 languageName: node linkType: hard -"@parcel/runtime-browser-hmr@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/runtime-browser-hmr@npm:2.3.1" +"@parcel/runtime-browser-hmr@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/runtime-browser-hmr@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 - checksum: 951933b66bc78bac6ad58e2b96b2da7372d6b273c0a776aea2bc367510508099b8efcae5dd9e0229ae8a8b52101d97a9a6b4610700f377f26a0071709c329984 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 + checksum: c88ad93521e6a9c5080bb3ebf3ebc4823c95ebbf427710a335d3bc6716794fe6ea291f3b5ecca606e2e846079b2ba9f8f3165259a94d1acde0f21c0973b85235 languageName: node linkType: hard -"@parcel/runtime-js@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/runtime-js@npm:2.3.1" +"@parcel/runtime-js@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/runtime-js@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 - checksum: 549f9ae91ac220ec80c5a9f1b69b71492ab80ea74187aa298c674c663ef5d5b0a4bd47180f3eb4b056839d9934097c5abc7195b4f7c233f8eb5d5eb05a3c1d63 + checksum: d867dea72b91669d895f1b06346cae4e514cdfaedf55d4f2002930681a59dfe59fed45d784e88a9fe7218e1bc3f0c91daf873ed0b9a3f73f7e0d6ee4623d817e languageName: node linkType: hard -"@parcel/runtime-react-refresh@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/runtime-react-refresh@npm:2.3.1" +"@parcel/runtime-react-refresh@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/runtime-react-refresh@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 + react-error-overlay: 6.0.9 react-refresh: ^0.9.0 - checksum: e0b3b2068701724d6f1d45d01f83f6be8355638e6769d3519dc24bab3765eda4ad9283bb74d66a8c63c87ece3ddb031273cf0e6d6d13ba050d9f0b4a62f43949 + checksum: 7620f56de4445c4d6c5df95bb25e22d6c81d34dc3b22f8dca714ff1f0f888cedd0c13720dbe4f8779f18b682687f4d27973462a04c9d92f1f5553d2f8d406d99 languageName: node linkType: hard -"@parcel/runtime-service-worker@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/runtime-service-worker@npm:2.3.1" +"@parcel/runtime-service-worker@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/runtime-service-worker@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 - checksum: 8b4c147b82f848d53e3639d99a41d2f697fc19c23eed6cbfb0fdbea70fcd2c98b97b242049aac41f32ac3e41bf8d65eadf2af1f5a31fd5bdc073f4ebc7f101f2 + checksum: d3d140cc0d24798c35bd5290571445a468c589a196ab29c628a08534c2ad4107c45ed4671bf5b9543f32e1dc9acd300e178ad7366986797560464e522cd913ee languageName: node linkType: hard @@ -5887,187 +6009,191 @@ __metadata: languageName: node linkType: hard -"@parcel/transformer-babel@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-babel@npm:2.3.1" +"@parcel/transformer-babel@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-babel@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.3.1 + "@parcel/utils": 2.6.0 browserslist: ^4.6.6 json5: ^2.2.0 nullthrows: ^1.1.1 semver: ^5.7.0 - checksum: 86a6e25fdada65a52dbe9b74016791b5e3554b7792c515153d32216cc992f645dcb1155bdc0989ce81a7f7f70e54c1df9d7e573654e3afc68148b29553a0133f + checksum: 1dff12dffe693075510a0864f99f814c5abe86b8bca22e6d8c94a1fa9eef39b693fca5b2990a635caa8d7bd704242a88d9309008495150c26c39847ab23ca7b8 languageName: node linkType: hard -"@parcel/transformer-css@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-css@npm:2.3.1" +"@parcel/transformer-css@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-css@npm:2.6.0" dependencies: - "@parcel/hash": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/css": ^1.9.0 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.3.1 + "@parcel/utils": 2.6.0 + browserslist: ^4.6.6 nullthrows: ^1.1.1 - postcss: ^8.4.5 - postcss-value-parser: ^4.2.0 - semver: ^5.7.1 - checksum: 25ebea5fdf51374e962fa3aa321ca30dcc7ecbcee694bf95cc62bb76822a12a03bacb02f12f6977813e51b880ec5321956e8928b1f556896e48a8223484d0361 + checksum: 16efc770e13badeb697f30c84043bf110f91002dde6a80aa9b9a685bfc5519563d508bd076c905cdb96447a6f7fd66c7b1cf95712a04e2915db94c69b4439a54 languageName: node linkType: hard -"@parcel/transformer-html@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-html@npm:2.3.1" +"@parcel/transformer-html@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-html@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/hash": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/hash": 2.6.0 + "@parcel/plugin": 2.6.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 8c9e25a69b8b6b164394ab9e94a85380c7848452fbd5ea55d85fc6b300242b908a188d9d0d997831db8e362ef891d485007c1eb9880f7396387788ec009c38f0 + checksum: 55f88caaf55d77313efbeb213a045456882245ed3d45b6c6dbf06e6e50409120d4773d72c8e7452bca27199558b67dfaa1692b08e6fd9475de92b744014a3f3c languageName: node linkType: hard -"@parcel/transformer-image@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-image@npm:2.3.1" +"@parcel/transformer-image@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-image@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/workers": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/workers": 2.6.0 nullthrows: ^1.1.1 - checksum: 9554932a8b70352d28fecb03907dbd8061ff9490f3015021a1005de8501f9df2e85541053e4b813678984102c86c098a9dac1f0c700825c410c8df964df51d39 + peerDependencies: + "@parcel/core": ^2.6.0 + checksum: b4f7f06ee16caf327a9f739b83a5fcfbc57ca99afb38b670f33b83bf6dffc99e2e033c9de5695be843d732c814ce34dedbc254f1c348ef34c12c5a3b57974c81 languageName: node linkType: hard -"@parcel/transformer-js@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-js@npm:2.3.1" +"@parcel/transformer-js@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-js@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/plugin": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.3.1 - "@parcel/workers": 2.3.1 - "@swc/helpers": ^0.2.11 + "@parcel/utils": 2.6.0 + "@parcel/workers": 2.6.0 + "@swc/helpers": ^0.3.15 browserslist: ^4.6.6 detect-libc: ^1.0.3 nullthrows: ^1.1.1 regenerator-runtime: ^0.13.7 semver: ^5.7.1 - checksum: 26346ab81c7c732186f3bb8d3e75fc6409665d423312163d5405c21e276b08ff21678a1f711ef618d501f77ff35bd334e2403b337c7fa11ff2d284585bf37a33 + peerDependencies: + "@parcel/core": ^2.6.0 + checksum: 837f93d04dc86c28697dca82f4da6575316fbb693bcff4c9a60a0232fcfb07dd61bf76938a7a4a0d65a043e78f28a9feeb6a8160af5111564da93632118e4263 languageName: node linkType: hard -"@parcel/transformer-json@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-json@npm:2.3.1" +"@parcel/transformer-json@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-json@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 + "@parcel/plugin": 2.6.0 json5: ^2.2.0 - checksum: da3cccb7cca3791a27cabad2ded3abf4ecff8a5767c95df5142b9db87ca0be7b7cb43ff96c8fc368923c4a6c4d9898ffdf92a92811963ecccdbf2d23bfd47b13 + checksum: 27ad74e0508ff7b09bbb5e822e8ce746b474bca37d04d7508b623052ba4f3e0b80a4b21bbfa9b839f35baf2c57040f0ec4d9390555021a9806c10050b11bb4a6 languageName: node linkType: hard -"@parcel/transformer-postcss@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-postcss@npm:2.3.1" +"@parcel/transformer-postcss@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-postcss@npm:2.6.0" dependencies: - "@parcel/hash": 2.3.1 - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/hash": 2.6.0 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 clone: ^2.1.1 nullthrows: ^1.1.1 postcss-value-parser: ^4.2.0 semver: ^5.7.1 - checksum: 91bf62bc585d211766616a1eaa173c838c984547ede19a8012da42306dd1515687ce17e24256bf8ef56741976086d0dde642088df5eafcdf13db31c766506240 + checksum: 3835431655958ae05bd3a93af80353cb008f60594519d45cd1db795eff0f691b999c80a2049baaea37223eefe79922fc64d6d113ee02541fef60131feff31445 languageName: node linkType: hard -"@parcel/transformer-posthtml@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-posthtml@npm:2.3.1" +"@parcel/transformer-posthtml@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-posthtml@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 7ecace5ad817a0541ae64f845244986d2fcb2e3bdd986594678f7a9d03936473425ebfaf01bdd1af33dd537a64b29f2261952614d0e50c9a0159ac6bbcb5fef6 + checksum: 1b94560b717c6af2aee8740951453b92de0d31dad5acc3efefd38c6653c5b9b6cbe0dd6eb7f02b01da8f591f11cf64bf12e60d3f52a0654538f197fb8e16efbf languageName: node linkType: hard -"@parcel/transformer-raw@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-raw@npm:2.3.1" +"@parcel/transformer-raw@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-raw@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - checksum: 564c3c2e211a4888eee04948180c43728cd3bcaaaa816787a365b4d1669424538830b833858764b8ed03aefc247edc876034f64e819cbafd6c6629745573b24b + "@parcel/plugin": 2.6.0 + checksum: 403fab19312f413de2449a87f627be6e3790e0446f336a6166cc260ae0d0e5406ec5f918e7b0ab5ec44a6ee20b1b25eb1c8f52b78876d45540e813a4b01800de languageName: node linkType: hard -"@parcel/transformer-react-refresh-wrap@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-react-refresh-wrap@npm:2.3.1" +"@parcel/transformer-react-refresh-wrap@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-react-refresh-wrap@npm:2.6.0" dependencies: - "@parcel/plugin": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/plugin": 2.6.0 + "@parcel/utils": 2.6.0 react-refresh: ^0.9.0 - checksum: d492b21882daca7c1bb335577a72ca6ae698abead2990a0ae03f820158fc0e7169d303dd9a5bee2c6a712f2a4b57eca41deb4a6a81a5c739243ba4b4761fcdcf + checksum: 59e75bfa480e6beb92780a0aa20d9c28dc7630dbe72bf1df315b71d7a9f890cc358473ba34ccf1a80bd29671e3477091a753b7f01a9d622304d844a14cffb2eb languageName: node linkType: hard -"@parcel/transformer-svg@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/transformer-svg@npm:2.3.1" +"@parcel/transformer-svg@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/transformer-svg@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/hash": 2.3.1 - "@parcel/plugin": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/hash": 2.6.0 + "@parcel/plugin": 2.6.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 285003a4db8ff83c98bbbac061a88b383095231d9c94054e39dcc6a0629d6ab729f16a01e7545e2fd8ccca12b287af6d8c4428bda3668e5fdb606f163b0b69c1 + checksum: 64d0274d7ada8473250d9107e72b1da26f2da74942177b73833e5272db7812934d6db24d02b5d49f05920963d2e17cacb090679e6e75f4414d56bff8dec39100 languageName: node linkType: hard -"@parcel/types@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/types@npm:2.3.1" +"@parcel/types@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/types@npm:2.6.0" dependencies: - "@parcel/cache": 2.3.1 - "@parcel/diagnostic": 2.3.1 - "@parcel/fs": 2.3.1 - "@parcel/package-manager": 2.3.1 + "@parcel/cache": 2.6.0 + "@parcel/diagnostic": 2.6.0 + "@parcel/fs": 2.6.0 + "@parcel/package-manager": 2.6.0 "@parcel/source-map": ^2.0.0 - "@parcel/workers": 2.3.1 + "@parcel/workers": 2.6.0 utility-types: ^3.10.0 - checksum: 099686f0a56c8fa207c5bd2ed818be0d7e6bd163de32dcb67bcc67aa6159905ad574d0e49c37ce13dd5cb2a5889852d4230f0b0d352fdbc61ba0d34e77f6d969 + checksum: a05de5059859836983bc01444b93f361e9032d39e3ee2efffc3c0d417b92a329be317db9b82751d6810cdb6f8b720f3237744fb00fa7d2d57c1f4d59d95b70c1 languageName: node linkType: hard -"@parcel/utils@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/utils@npm:2.3.1" +"@parcel/utils@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/utils@npm:2.6.0" dependencies: - "@parcel/codeframe": 2.3.1 - "@parcel/diagnostic": 2.3.1 - "@parcel/hash": 2.3.1 - "@parcel/logger": 2.3.1 - "@parcel/markdown-ansi": 2.3.1 + "@parcel/codeframe": 2.6.0 + "@parcel/diagnostic": 2.6.0 + "@parcel/hash": 2.6.0 + "@parcel/logger": 2.6.0 + "@parcel/markdown-ansi": 2.6.0 "@parcel/source-map": ^2.0.0 chalk: ^4.1.0 - checksum: f33c99a5cb449bfe6d40ebb58fa5b4b2095f82ca569bc99ec5d6673dc4200515da645e831050f89c15eff8c78e997f639a438592a09fa4ddb900462633612e3f + checksum: acada3b77aac68b49068e4030ec9a2e2c1ea1a5f7a12eee8c979537cc385b15b3edab31678fc1b05a804dcec2f91a9947ac00dbecd57e6cc5407d79a7e1a9fdf languageName: node linkType: hard @@ -6099,19 +6225,19 @@ __metadata: languageName: node linkType: hard -"@parcel/workers@npm:2.3.1": - version: 2.3.1 - resolution: "@parcel/workers@npm:2.3.1" +"@parcel/workers@npm:2.6.0": + version: 2.6.0 + resolution: "@parcel/workers@npm:2.6.0" dependencies: - "@parcel/diagnostic": 2.3.1 - "@parcel/logger": 2.3.1 - "@parcel/types": 2.3.1 - "@parcel/utils": 2.3.1 + "@parcel/diagnostic": 2.6.0 + "@parcel/logger": 2.6.0 + "@parcel/types": 2.6.0 + "@parcel/utils": 2.6.0 chrome-trace-event: ^1.0.2 nullthrows: ^1.1.1 peerDependencies: - "@parcel/core": ^2.3.1 - checksum: 46c718ab487e6bdf7ccb8f50057cc41cba3ba5635ebab9680e371754c02715e3bea9add83eb248591287ca7116be7e1940985b7cd2dc025c92791e3d099b3fa4 + "@parcel/core": ^2.6.0 + checksum: d064fabdff53ce14f69f5000c479d8e77795d4251c80ca373342e0ab73141878a7afc65d3d27c36c9c661c18fac77dc1e10799c1a532f456691157ea5a213f89 languageName: node linkType: hard @@ -6756,10 +6882,12 @@ __metadata: languageName: node linkType: hard -"@swc/helpers@npm:^0.2.11": - version: 0.2.13 - resolution: "@swc/helpers@npm:0.2.13" - checksum: 712f15dfb42fa8bdca64fe3556001ac11c93e95b27ea0ea0c4c3f718b770d414b3a93bb9260ad68fbbcac624a834bf14c4a2261aeabf156917d532a3981bd378 +"@swc/helpers@npm:^0.3.15": + version: 0.3.17 + resolution: "@swc/helpers@npm:0.3.17" + dependencies: + tslib: ^2.4.0 + checksum: ce3a5146d738b707f0608bba731aa1fd0a8e3f75f140ff7281225d775a769f085f085e0293b570a9d201c76e09951af178c9222d8c706d4ed0d1c85b25f55cb6 languageName: node linkType: hard @@ -9332,21 +9460,6 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.16.6, browserslist@npm:^4.6.6": - version: 4.17.0 - resolution: "browserslist@npm:4.17.0" - dependencies: - caniuse-lite: ^1.0.30001254 - colorette: ^1.3.0 - electron-to-chromium: ^1.3.830 - escalade: ^3.1.1 - node-releases: ^1.1.75 - bin: - browserslist: cli.js - checksum: 9b45ec283d7ba1513bd8be6143dadb34a65e8be7f7210b3a2bce947e019184408df6126238e54f8061e9be74362b19d04eaba739b3ee0d5d41d57ac0ae5fe4cd - languageName: node - linkType: hard - "browserslist@npm:^4.17.5, browserslist@npm:^4.19.1": version: 4.19.1 resolution: "browserslist@npm:4.19.1" @@ -9377,6 +9490,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.6.6": + version: 4.17.0 + resolution: "browserslist@npm:4.17.0" + dependencies: + caniuse-lite: ^1.0.30001254 + colorette: ^1.3.0 + electron-to-chromium: ^1.3.830 + escalade: ^3.1.1 + node-releases: ^1.1.75 + bin: + browserslist: cli.js + checksum: 9b45ec283d7ba1513bd8be6143dadb34a65e8be7f7210b3a2bce947e019184408df6126238e54f8061e9be74362b19d04eaba739b3ee0d5d41d57ac0ae5fe4cd + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -9680,10 +9808,10 @@ __metadata: eslint-config-airbnb: ~18.2.1 eslint-config-prettier: ~7.1.0 eslint-plugin-prettier: ~3.3.1 - papaparse: ~5.3.1 + papaparse: ~5.3.2 parcel: 1.12.4 - plotly.js: ~2.9.0 - prettier: ~2.5.1 + plotly.js: ~2.12.1 + prettier: ~2.6.2 prop-types: ~15.8.1 react: ~17.0.2 react-dom: ~17.0.2 @@ -10175,13 +10303,6 @@ __metadata: languageName: node linkType: hard -"colord@npm:^2.9.1": - version: 2.9.2 - resolution: "colord@npm:2.9.2" - checksum: 2aa6a9b3abbce74ba3c563886cfeb433ea0d7df5ad6f4a560005eddab1ddf7c0fc98f39b09b599767a19c86dd3837b77f66f036e479515d4b17347006dbd6d9f - languageName: node - linkType: hard - "colorette@npm:^1.2.1": version: 1.2.2 resolution: "colorette@npm:1.2.2" @@ -10771,17 +10892,6 @@ __metadata: languageName: node linkType: hard -"css-declaration-sorter@npm:^6.0.3": - version: 6.1.3 - resolution: "css-declaration-sorter@npm:6.1.3" - dependencies: - timsort: ^0.3.0 - peerDependencies: - postcss: ^8.0.9 - checksum: 6fdacdce48e1351a8fd73472b7dfaae573ce7d4f5bba8385afc9c765d01055920b851d288228ecb0d535d163b22f8d7941e095b9da995956cd3309e41d1bffa2 - languageName: node - linkType: hard - "css-font-size-keywords@npm:^1.0.0": version: 1.0.0 resolution: "css-font-size-keywords@npm:1.0.0" @@ -11089,45 +11199,6 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^5.1.12": - version: 5.1.12 - resolution: "cssnano-preset-default@npm:5.1.12" - dependencies: - css-declaration-sorter: ^6.0.3 - cssnano-utils: ^3.0.2 - postcss-calc: ^8.2.0 - postcss-colormin: ^5.2.5 - postcss-convert-values: ^5.0.4 - postcss-discard-comments: ^5.0.3 - postcss-discard-duplicates: ^5.0.3 - postcss-discard-empty: ^5.0.3 - postcss-discard-overridden: ^5.0.4 - postcss-merge-longhand: ^5.0.6 - postcss-merge-rules: ^5.0.6 - postcss-minify-font-values: ^5.0.4 - postcss-minify-gradients: ^5.0.6 - postcss-minify-params: ^5.0.5 - postcss-minify-selectors: ^5.1.3 - postcss-normalize-charset: ^5.0.3 - postcss-normalize-display-values: ^5.0.3 - postcss-normalize-positions: ^5.0.4 - postcss-normalize-repeat-style: ^5.0.4 - postcss-normalize-string: ^5.0.4 - postcss-normalize-timing-functions: ^5.0.3 - postcss-normalize-unicode: ^5.0.4 - postcss-normalize-url: ^5.0.5 - postcss-normalize-whitespace: ^5.0.4 - postcss-ordered-values: ^5.0.5 - postcss-reduce-initial: ^5.0.3 - postcss-reduce-transforms: ^5.0.4 - postcss-svgo: ^5.0.4 - postcss-unique-selectors: ^5.0.4 - peerDependencies: - postcss: ^8.2.15 - checksum: 0ccbc5f6490dd58ceb50d3cbc781523f1d4a21926fb4b9cfc89f74bf5c0e636713c3926d32c7a2c264db97aaf036a306278a36290fcad388b3854c95ce8d8138 - languageName: node - linkType: hard - "cssnano-util-get-arguments@npm:^4.0.0": version: 4.0.0 resolution: "cssnano-util-get-arguments@npm:4.0.0" @@ -11158,15 +11229,6 @@ __metadata: languageName: node linkType: hard -"cssnano-utils@npm:^3.0.2": - version: 3.0.2 - resolution: "cssnano-utils@npm:3.0.2" - peerDependencies: - postcss: ^8.2.15 - checksum: 9bef6ec0164220114d24c920a7f3454359bcb54d95a2e4bba549b5fe3e26d66b621f27a1fd2bb5bc88a667182b64fdf5a7eaace1d7d85c3cb1805ec488087cc9 - languageName: node - linkType: hard - "cssnano@npm:^4.0.0, cssnano@npm:^4.1.10": version: 4.1.10 resolution: "cssnano@npm:4.1.10" @@ -11179,19 +11241,6 @@ __metadata: languageName: node linkType: hard -"cssnano@npm:^5.0.15": - version: 5.0.17 - resolution: "cssnano@npm:5.0.17" - dependencies: - cssnano-preset-default: ^5.1.12 - lilconfig: ^2.0.3 - yaml: ^1.10.2 - peerDependencies: - postcss: ^8.2.15 - checksum: dfdde9cecd7b4a7b7842c758458595670101c55a1a9d733feec078a76618060f468e412d0c1b18900770992588cc9d50b2d1a4ada32c380376409331c2228d67 - languageName: node - linkType: hard - "csso@npm:^4.0.2, csso@npm:^4.2.0": version: 4.2.0 resolution: "csso@npm:4.2.0" @@ -15534,8 +15583,8 @@ fsevents@^1.2.7: eslint-config-prettier: ~7.1.0 eslint-plugin-prettier: ~3.3.1 firebase: ~9.8.2 - parcel: ~2.3.1 - prettier: ~2.5.1 + parcel: ~2.6.0 + prettier: ~2.6.2 prop-types: ~15.8.1 react: ~17.0.2 react-dom: ~17.0.2 @@ -17094,13 +17143,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"json-source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "json-source-map@npm:0.6.1" - checksum: 61b24b97824d538df796621d02519260a99024e0e366a6dc702089603f0a80d32e814734392fb6004a06b1a669b3c9fa337d46f5cda014b65afcd127a2882ebc - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -17538,13 +17580,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lilconfig@npm:^2.0.3": - version: 2.0.3 - resolution: "lilconfig@npm:2.0.3" - checksum: 39fcd06c9f94bec0f7be969f89abcead96cf9334682007df63e6fbe9bdb0566cf8e1ca53a8f56d2acca802f28e8acbabe8ed4e6265ed5e419b6a1397db003741 - languageName: node - linkType: hard - "lines-and-columns@npm:^1.1.6": version: 1.1.6 resolution: "lines-and-columns@npm:1.1.6" @@ -17596,17 +17631,79 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lmdb@npm:^2.0.2": - version: 2.2.1 - resolution: "lmdb@npm:2.2.1" +"lmdb-darwin-arm64@npm:2.3.10": + version: 2.3.10 + resolution: "lmdb-darwin-arm64@npm:2.3.10" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lmdb-darwin-x64@npm:2.3.10": + version: 2.3.10 + resolution: "lmdb-darwin-x64@npm:2.3.10" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lmdb-linux-arm64@npm:2.3.10": + version: 2.3.10 + resolution: "lmdb-linux-arm64@npm:2.3.10" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"lmdb-linux-arm@npm:2.3.10": + version: 2.3.10 + resolution: "lmdb-linux-arm@npm:2.3.10" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lmdb-linux-x64@npm:2.3.10": + version: 2.3.10 + resolution: "lmdb-linux-x64@npm:2.3.10" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"lmdb-win32-x64@npm:2.3.10": + version: 2.3.10 + resolution: "lmdb-win32-x64@npm:2.3.10" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lmdb@npm:2.3.10": + version: 2.3.10 + resolution: "lmdb@npm:2.3.10" dependencies: + lmdb-darwin-arm64: 2.3.10 + lmdb-darwin-x64: 2.3.10 + lmdb-linux-arm: 2.3.10 + lmdb-linux-arm64: 2.3.10 + lmdb-linux-x64: 2.3.10 + lmdb-win32-x64: 2.3.10 msgpackr: ^1.5.4 nan: ^2.14.2 + node-addon-api: ^4.3.0 node-gyp: latest - node-gyp-build: ^4.2.3 + node-gyp-build-optional-packages: ^4.3.2 ordered-binary: ^1.2.4 weak-lru-cache: ^1.2.2 - checksum: ee47e0dbfab6950f24ec252534149b789105d87ceb3a3ce4e8d0f3966e5b710a9ba92302f7c873d7910e7dd899f2994410627363a17f80092487184467029569 + dependenciesMeta: + lmdb-darwin-arm64: + optional: true + lmdb-darwin-x64: + optional: true + lmdb-linux-arm: + optional: true + lmdb-linux-arm64: + optional: true + lmdb-linux-x64: + optional: true + lmdb-win32-x64: + optional: true + checksum: 761dfb585e9b3e32f78f77a8ee61b149cb4509c88578205fd4d19236ae14f825c46a3db65a37d6e4f49532b18ab4c147dd0e7fb3d4d9e4f0ac493e9c631ca516 languageName: node linkType: hard @@ -18467,7 +18564,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"msgpackr@npm:^1.5.1, msgpackr@npm:^1.5.4": +"msgpackr@npm:^1.5.4": version: 1.5.4 resolution: "msgpackr@npm:1.5.4" dependencies: @@ -18541,15 +18638,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"nanoid@npm:^3.2.0": - version: 3.2.0 - resolution: "nanoid@npm:3.2.0" - bin: - nanoid: bin/nanoid.cjs - checksum: 3d1d5a69fea84e538057cf64106e713931c4ef32af344068ecff153ff91252f39b0f2b472e09b0dfff43ac3cf520c92938d90e6455121fe93976e23660f4fccc - languageName: node - linkType: hard - "nanomatch@npm:^1.2.9": version: 1.2.13 resolution: "nanomatch@npm:1.2.13" @@ -18672,6 +18760,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"node-addon-api@npm:^4.3.0": + version: 4.3.0 + resolution: "node-addon-api@npm:4.3.0" + dependencies: + node-gyp: latest + checksum: 3de396e23cc209f539c704583e8e99c148850226f6e389a641b92e8967953713228109f919765abc1f4355e801e8f41842f96210b8d61c7dcc10a477002dcf00 + languageName: node + linkType: hard + "node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" @@ -18700,6 +18797,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"node-gyp-build-optional-packages@npm:^4.3.2": + version: 4.3.5 + resolution: "node-gyp-build-optional-packages@npm:4.3.5" + bin: + node-gyp-build-optional-packages: bin.js + node-gyp-build-optional-packages-optional: optional.js + node-gyp-build-optional-packages-test: build-test.js + checksum: 73420a3ee2697954eb373f1f473ecc23f691c986973cf087eff9a6fb48bec60e16334ec543383104280a3dcded57741259cb6e00fc2024f073265f5b33dae8e2 + languageName: node + linkType: hard + "node-gyp-build@npm:^4.2.3": version: 4.2.3 resolution: "node-gyp-build@npm:4.2.3" @@ -18917,13 +19025,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"normalize-url@npm:^6.0.1": - version: 6.1.0 - resolution: "normalize-url@npm:6.1.0" - checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 - languageName: node - linkType: hard - "npm-run-path@npm:^2.0.0": version: 2.0.2 resolution: "npm-run-path@npm:2.0.2" @@ -19522,10 +19623,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"papaparse@npm:~5.3.1": - version: 5.3.1 - resolution: "papaparse@npm:5.3.1" - checksum: 3431917bb46f8952e49ca64ecc9107ddf05291573ef666c8fac4e172b57780d131f1af925b47841039bd5ae0ceadc2eafbcb8183c092307442f85eed11f82b69 +"papaparse@npm:~5.3.2": + version: 5.3.2 + resolution: "papaparse@npm:5.3.2" + checksum: a5950ef931a42f6759a8d3823a43dd30f375b37a0ddea6ea5448c0c5024cd226819231958c49c24fbcdeab297c63fd1d630130b3439876ea0fd17d8a267738ae languageName: node linkType: hard @@ -19619,27 +19720,27 @@ fsevents@^1.2.7: languageName: node linkType: hard -"parcel@npm:~2.3.1": - version: 2.3.1 - resolution: "parcel@npm:2.3.1" - dependencies: - "@parcel/config-default": 2.3.1 - "@parcel/core": 2.3.1 - "@parcel/diagnostic": 2.3.1 - "@parcel/events": 2.3.1 - "@parcel/fs": 2.3.1 - "@parcel/logger": 2.3.1 - "@parcel/package-manager": 2.3.1 - "@parcel/reporter-cli": 2.3.1 - "@parcel/reporter-dev-server": 2.3.1 - "@parcel/utils": 2.3.1 +"parcel@npm:~2.6.0": + version: 2.6.0 + resolution: "parcel@npm:2.6.0" + dependencies: + "@parcel/config-default": 2.6.0 + "@parcel/core": 2.6.0 + "@parcel/diagnostic": 2.6.0 + "@parcel/events": 2.6.0 + "@parcel/fs": 2.6.0 + "@parcel/logger": 2.6.0 + "@parcel/package-manager": 2.6.0 + "@parcel/reporter-cli": 2.6.0 + "@parcel/reporter-dev-server": 2.6.0 + "@parcel/utils": 2.6.0 chalk: ^4.1.0 commander: ^7.0.0 get-port: ^4.2.0 v8-compile-cache: ^2.0.0 bin: parcel: lib/bin.js - checksum: 2575d8a8643ad2246283389152f0c253b97fb7b652523a7bb511380c54b7dd1f8502653af57526394622421c46c194cb7344b47a19b31549a1bca2f7987b2e6d + checksum: 11f1cf6c1dee3c3a3f7000062a7778fd74fe55e3266f819e32d8bb0efea9ce06194105f4ba5c85ec7ae8818dc470077f83302a4e2dcf487698fa695220f01011 languageName: node linkType: hard @@ -20042,9 +20143,9 @@ fsevents@^1.2.7: languageName: node linkType: hard -"plotly.js@npm:~2.9.0": - version: 2.9.0 - resolution: "plotly.js@npm:2.9.0" +"plotly.js@npm:~2.12.1": + version: 2.12.1 + resolution: "plotly.js@npm:2.12.1" dependencies: "@plotly/d3": 3.8.0 "@plotly/d3-sankey": 0.7.2 @@ -20081,7 +20182,7 @@ fsevents@^1.2.7: parse-svg-path: ^0.1.2 polybooljs: ^1.2.0 probe-image-size: ^7.2.3 - regl: ^2.1.0 + regl: "npm:@plotly/regl@^2.1.2" regl-error2d: ^2.0.12 regl-line2d: ^3.1.2 regl-scatter2d: ^3.2.8 @@ -20094,7 +20195,7 @@ fsevents@^1.2.7: topojson-client: ^3.1.0 webgl-context: ^2.2.0 world-calendars: ^1.0.3 - checksum: 9f5fe79004ea7182fa257cbbf5472bc23115b90fa61bcb903cc91ec8450d65ddc6f32cfa5d6e4351a7d72b8d1292d0f8462b769a46532c2e1f205478c44f2f7b + checksum: c5d0a7c5979e20087a8843f02f825ac5d3890071bad778d712be48ac177d09013256be2fa645d7d77ed0ef63d3dccfdd7e935a448e1ce3b01bd92a8034877caf languageName: node linkType: hard @@ -20178,18 +20279,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-calc@npm:^8.2.0": - version: 8.2.4 - resolution: "postcss-calc@npm:8.2.4" - dependencies: - postcss-selector-parser: ^6.0.9 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.2 - checksum: 314b4cebb0c4ed0cf8356b4bce71eca78f5a7842e6a3942a3bba49db168d5296b2bd93c3f735ae1c616f2651d94719ade33becc03c73d2d79c7394fb7f73eabb - languageName: node - linkType: hard - "postcss-color-functional-notation@npm:^2.0.1": version: 2.0.1 resolution: "postcss-color-functional-notation@npm:2.0.1" @@ -20255,20 +20344,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-colormin@npm:^5.2.5": - version: 5.2.5 - resolution: "postcss-colormin@npm:5.2.5" - dependencies: - browserslist: ^4.16.6 - caniuse-api: ^3.0.0 - colord: ^2.9.1 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: deb5f7703e73e78d0856ed64afa404c06facfe786c17df0db01e9a0f1230eb43d53ede72767f89e59ea5b2fe1ce6f1a51c50fad96198b262632f4ff538bb6eb3 - languageName: node - linkType: hard - "postcss-convert-values@npm:^4.0.1": version: 4.0.1 resolution: "postcss-convert-values@npm:4.0.1" @@ -20279,17 +20354,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-convert-values@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-convert-values@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: f6edfd6c034266eeceb125e4ab6e93b35b3cc5bffac5f7c4270b55bb8762f5495e437f2f35228a5989ec8e7b5fbd686b079f652303e098fa17f1f512a48b8661 - languageName: node - linkType: hard - "postcss-custom-media@npm:^7.0.8": version: 7.0.8 resolution: "postcss-custom-media@npm:7.0.8" @@ -20338,15 +20402,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-discard-comments@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-discard-comments@npm:5.0.3" - peerDependencies: - postcss: ^8.2.15 - checksum: 6131e692a1b03fcb0a1807fdee0cbba43db50a3003b9876a154b41c8d3e6e1610bcd790b46f17e5b47f70de31aad6e3495389dd094beda353e492805daf0758a - languageName: node - linkType: hard - "postcss-discard-duplicates@npm:^4.0.2": version: 4.0.2 resolution: "postcss-discard-duplicates@npm:4.0.2" @@ -20356,15 +20411,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-discard-duplicates@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-discard-duplicates@npm:5.0.3" - peerDependencies: - postcss: ^8.2.15 - checksum: 2afd559910ec29469a20f2dc6862ad7a699140967df7b43405b06064ffa656a3fefd1dc04e5f0fe70b7753e29d092b836a23bee51d509878549ce17123b2a09f - languageName: node - linkType: hard - "postcss-discard-empty@npm:^4.0.1": version: 4.0.1 resolution: "postcss-discard-empty@npm:4.0.1" @@ -20374,15 +20420,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-discard-empty@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-discard-empty@npm:5.0.3" - peerDependencies: - postcss: ^8.2.15 - checksum: b164411aeaa896422f5f34c2e92d4f27af21af7bff8a5e7ba7077f84494542a7fe44540a8793d78aa9ed65afdd9c2203c73a86188bb720ec35c8aac639c4b6be - languageName: node - linkType: hard - "postcss-discard-overridden@npm:^4.0.1": version: 4.0.1 resolution: "postcss-discard-overridden@npm:4.0.1" @@ -20392,15 +20429,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-discard-overridden@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-discard-overridden@npm:5.0.4" - peerDependencies: - postcss: ^8.2.15 - checksum: 85887026ce5b67bddf96a7bed73eb5c0b94727c9517663dba89da1f610cf65ddb8856653b180780fab773bb74d6d249b89fb46c2a63ec965bdad2dd4a332ff78 - languageName: node - linkType: hard - "postcss-double-position-gradients@npm:^1.0.0": version: 1.0.0 resolution: "postcss-double-position-gradients@npm:1.0.0" @@ -20549,18 +20577,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-merge-longhand@npm:^5.0.6": - version: 5.0.6 - resolution: "postcss-merge-longhand@npm:5.0.6" - dependencies: - postcss-value-parser: ^4.2.0 - stylehacks: ^5.0.3 - peerDependencies: - postcss: ^8.2.15 - checksum: 6080d7f4f6673e340aaaa182d46b6feac1148f2970fbc4d95e1e89c38b87ed2588aa7043b2dbf40624674a83c2dd5defdb7b279657cfe887f292f984e2bfced3 - languageName: node - linkType: hard - "postcss-merge-rules@npm:^4.0.3": version: 4.0.3 resolution: "postcss-merge-rules@npm:4.0.3" @@ -20575,20 +20591,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-merge-rules@npm:^5.0.6": - version: 5.0.6 - resolution: "postcss-merge-rules@npm:5.0.6" - dependencies: - browserslist: ^4.16.6 - caniuse-api: ^3.0.0 - cssnano-utils: ^3.0.2 - postcss-selector-parser: ^6.0.5 - peerDependencies: - postcss: ^8.2.15 - checksum: 917b052deb4f08e0242b56113ed48bf9b391898a479fea1343c7ed660e8fac1e80fa58f35ec0944e2f79e4dd2c579c0c8fd7326634df7c6d469365ab128f1b9a - languageName: node - linkType: hard - "postcss-minify-font-values@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-font-values@npm:4.0.2" @@ -20599,17 +20601,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-minify-font-values@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-minify-font-values@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 602b11beb62bf35cc5d26d4f8d6dc445e4f004855e60730f7b514752cac731e43a11fcf5e40a6f503b1a922a694c5b41ec4ddf5a07186db5b626ae99936f058c - languageName: node - linkType: hard - "postcss-minify-gradients@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-gradients@npm:4.0.2" @@ -20622,19 +20613,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-minify-gradients@npm:^5.0.6": - version: 5.0.6 - resolution: "postcss-minify-gradients@npm:5.0.6" - dependencies: - colord: ^2.9.1 - cssnano-utils: ^3.0.2 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 33359ce32f06f8bb38f254cb2f43792cc660a828dbe06d1c88de1a622ed05041f5f3d11af604f250da11e8ea690c6549b1d9635ca42ac09ebcd2aef3d6118c7d - languageName: node - linkType: hard - "postcss-minify-params@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-params@npm:4.0.2" @@ -20649,19 +20627,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-minify-params@npm:^5.0.5": - version: 5.0.5 - resolution: "postcss-minify-params@npm:5.0.5" - dependencies: - browserslist: ^4.16.6 - cssnano-utils: ^3.0.2 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: f49305cdca132dd1c07cfa2bd40a65790eb96e67f9ccb506f34a0fb3e0b7a340b6230b223f89fe6197327c7adf6552f79ec338e2439ff1db032230e406036705 - languageName: node - linkType: hard - "postcss-minify-selectors@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-selectors@npm:4.0.2" @@ -20674,17 +20639,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-minify-selectors@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-minify-selectors@npm:5.1.3" - dependencies: - postcss-selector-parser: ^6.0.5 - peerDependencies: - postcss: ^8.2.15 - checksum: 81f8ae32f9e50bc66c9c7875fcce2e45c92fff57bb509afb5922e67b37a245ce70f69107f5aa2f17e8a115de846356e43d7eda86c0f0c7a45ccbfd8d9e4e5d3e - languageName: node - linkType: hard - "postcss-modules-extract-imports@npm:1.1.0": version: 1.1.0 resolution: "postcss-modules-extract-imports@npm:1.1.0" @@ -20783,15 +20737,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-charset@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-normalize-charset@npm:5.0.3" - peerDependencies: - postcss: ^8.2.15 - checksum: 04e60c55d138a4e28a2a8bc59f5dae540e3991417bfef870fe1872877d37659b8869459eab98566d30ef54daa5d83f11a902b0621d56ad17cc5e210f1c7e2caa - languageName: node - linkType: hard - "postcss-normalize-display-values@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-display-values@npm:4.0.2" @@ -20803,17 +20748,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-display-values@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-normalize-display-values@npm:5.0.3" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 8fdf0e23e39f775f9100037d6b8e4344c5fd0bfe1b228f0c608479abd7783e1bdf964f8b8fa06735e5c0c1ece26ea74ba90b973666b9a7fc7aba552f6340215f - languageName: node - linkType: hard - "postcss-normalize-positions@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-positions@npm:4.0.2" @@ -20826,17 +20760,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-positions@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-normalize-positions@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: ab84f9c8ca950b0f1b45fc8067565a9f8271cbe6d26a5168738fcf866553b7ea87f91114e13f9638311df2c4455fea6ec66c5eecc3d71ad3d562c96477fff31c - languageName: node - linkType: hard - "postcss-normalize-repeat-style@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-repeat-style@npm:4.0.2" @@ -20849,17 +20772,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-repeat-style@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-normalize-repeat-style@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: cba6efd147c24f3f21faa808bacecce4ddbf047f57b63cc51cc2bf973de40d1dc95cbb38f126da5b89d0509d9110e93c01603964ad5563d33b22ef1eb850031b - languageName: node - linkType: hard - "postcss-normalize-string@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-string@npm:4.0.2" @@ -20871,17 +20783,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-string@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-normalize-string@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: c5af01ebff0a8c5781f8d1635c1078abbf3770c68d6b81d92a1d4deb56cdb8fb1f7d494cc380c23fe6125984e2ad2cc7d4ee3fca0e8394f6a3725184ea54fc5d - languageName: node - linkType: hard - "postcss-normalize-timing-functions@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-timing-functions@npm:4.0.2" @@ -20893,17 +20794,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-timing-functions@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-normalize-timing-functions@npm:5.0.3" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 75cf79b0d658fd72a5f198723195d55761d813663953f66222ddcae1892ae69a5d754bbb6563b31fc91b93be4db22b66bf606edbb26b9d047562d4560308bc52 - languageName: node - linkType: hard - "postcss-normalize-unicode@npm:^4.0.1": version: 4.0.1 resolution: "postcss-normalize-unicode@npm:4.0.1" @@ -20915,18 +20805,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-unicode@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-normalize-unicode@npm:5.0.4" - dependencies: - browserslist: ^4.16.6 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: cb10547c82b2a9d6bc3b08ed85b67c82afdef78f77a891748ab325522d4b0cf68712042ffb81973e3d7f000d90a280383c8c1a598df473fd60037ac14658b4d0 - languageName: node - linkType: hard - "postcss-normalize-url@npm:^4.0.1": version: 4.0.1 resolution: "postcss-normalize-url@npm:4.0.1" @@ -20939,18 +20817,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-url@npm:^5.0.5": - version: 5.0.5 - resolution: "postcss-normalize-url@npm:5.0.5" - dependencies: - normalize-url: ^6.0.1 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 465567a475cb7798e9e6dbeff836b6e230efed8e93973f84e6af1d2c14cfa9c28d452dd305bdb5627e1c52265b09e1b20fcfc8f6704c113c81406fc92d3f335b - languageName: node - linkType: hard - "postcss-normalize-whitespace@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-whitespace@npm:4.0.2" @@ -20961,17 +20827,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize-whitespace@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-normalize-whitespace@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 861bfbc8c37e05725f2c5f0a886c941bb8d34151f07f34d8d88c3bc18eadf8ab1f7f65b7b92a6ca36ef73fd02a50b055190f26ac310775e9e0903c43109e2f37 - languageName: node - linkType: hard - "postcss-normalize@npm:8.0.1": version: 8.0.1 resolution: "postcss-normalize@npm:8.0.1" @@ -20996,18 +20851,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-ordered-values@npm:^5.0.5": - version: 5.0.5 - resolution: "postcss-ordered-values@npm:5.0.5" - dependencies: - cssnano-utils: ^3.0.2 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: a093f8414e9949c2dab4e6081c6da13078fce5d929a26a3f5bfd68e0c82ac79f15af9f3ec01cfda403f0ae925218ee1917cf7f6994a1b12e406a52f009d9ac38 - languageName: node - linkType: hard - "postcss-overflow-shorthand@npm:^2.0.0": version: 2.0.0 resolution: "postcss-overflow-shorthand@npm:2.0.0" @@ -21103,18 +20946,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-reduce-initial@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-reduce-initial@npm:5.0.3" - dependencies: - browserslist: ^4.16.6 - caniuse-api: ^3.0.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 1be7efc4ccea9515f0a491a39f08ddc258b645f15543c31b45ee5d3972af520a1f8ad524c3c74682fbe93af94d11650bfc9f46c8230e3c2ccd153dd732ba6426 - languageName: node - linkType: hard - "postcss-reduce-transforms@npm:^4.0.2": version: 4.0.2 resolution: "postcss-reduce-transforms@npm:4.0.2" @@ -21127,17 +20958,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-reduce-transforms@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-reduce-transforms@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 0aabca4eaf7e7367aac03850b2f86da15982df5e82b503ed569ce244e0b628442a1a2d6f958e5a9e0a0844d7d17e9fde416e71e895495c937e1a145f4baddf0a - languageName: node - linkType: hard - "postcss-replace-overflow-wrap@npm:^3.0.0": version: 3.0.0 resolution: "postcss-replace-overflow-wrap@npm:3.0.0" @@ -21221,26 +21041,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5": - version: 6.0.6 - resolution: "postcss-selector-parser@npm:6.0.6" - dependencies: - cssesc: ^3.0.0 - util-deprecate: ^1.0.2 - checksum: 3602758798048bffbd6a97d6f009b32a993d6fd2cc70775bb59593e803d7fa8738822ecffb2fafc745edf7fad297dad53c30d2cfe78446a7d3f4a4a258cb15b2 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.9": - version: 6.0.9 - resolution: "postcss-selector-parser@npm:6.0.9" - dependencies: - cssesc: ^3.0.0 - util-deprecate: ^1.0.2 - checksum: f8161ab4d3e5c76b8467189c6d164ba0f6b6e74677435f29e34caa1df01e052b582b4ae4f7468b2243c4befdd8bdcdb7685542d1b2fca8deae21b3e849c78802 - languageName: node - linkType: hard - "postcss-svgo@npm:^4.0.2": version: 4.0.2 resolution: "postcss-svgo@npm:4.0.2" @@ -21253,18 +21053,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-svgo@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-svgo@npm:5.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - svgo: ^2.7.0 - peerDependencies: - postcss: ^8.2.15 - checksum: d114f03367cdac14dcb47d845828466682b53d20c9d1de46c1d5404711d1180a10d1f19fa6f37ea937c2b55256d6496697ebbcfa14e9f38e12e5689a53c86606 - languageName: node - linkType: hard - "postcss-unique-selectors@npm:^4.0.1": version: 4.0.1 resolution: "postcss-unique-selectors@npm:4.0.1" @@ -21276,17 +21064,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-unique-selectors@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-unique-selectors@npm:5.0.4" - dependencies: - postcss-selector-parser: ^6.0.5 - peerDependencies: - postcss: ^8.2.15 - checksum: 966b5e23581451c0c1e53b6532c032c6908f2aa621434a1a94dc8ee76299c85bc40db656012baf8224470624b7682ec9d3ff4ae4977a34703f2e85a0eed065b2 - languageName: node - linkType: hard - "postcss-value-parser@npm:^3.0.0, postcss-value-parser@npm:^3.3.1": version: 3.3.1 resolution: "postcss-value-parser@npm:3.3.1" @@ -21385,17 +21162,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss@npm:^8.4.5": - version: 8.4.6 - resolution: "postcss@npm:8.4.6" - dependencies: - nanoid: ^3.2.0 - picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: 60e7808f39c4a9d0fa067bfd5eb906168c4eb6d3ff0093f7d314d1979b001a16363deedccd368a7df869c63ad4ae350d27da439c94ff3fb0f8fc93d49fe38a90 - languageName: node - linkType: hard - "posthtml-parser@npm:^0.10.0": version: 0.10.1 resolution: "posthtml-parser@npm:0.10.1" @@ -21515,12 +21281,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"prettier@npm:~2.5.1": - version: 2.5.1 - resolution: "prettier@npm:2.5.1" +"prettier@npm:~2.6.2": + version: 2.6.2 + resolution: "prettier@npm:2.6.2" bin: prettier: bin-prettier.js - checksum: 21b9408476ea1c544b0e45d51ceb94a84789ff92095abb710942d780c862d0daebdb29972d47f6b4d0f7ebbfb0ffbf56cc2cfa3e3e9d1cca54864af185b15b66 + checksum: 48d08dde8e9fb1f5bccdd205baa7f192e9fc8bc98f86e1b97d919de804e28c806b0e6cc685e4a88211aa7987fa9668f30baae19580d87ced3ed0f2ec6572106f languageName: node linkType: hard @@ -22002,7 +21768,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"react-error-overlay@npm:^6.0.9": +"react-error-overlay@npm:6.0.9, react-error-overlay@npm:^6.0.9": version: 6.0.9 resolution: "react-error-overlay@npm:6.0.9" checksum: 695853bc885e798008a00c10d8d94e5ac91626e8130802fea37345f9c037f41b80104345db2ee87f225feb4a4ef71b0df572b17c378a6d397b6815f6d4a84293 @@ -22703,7 +22469,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"regl@npm:^2.0.0, regl@npm:^2.1.0": +"regl@npm:@plotly/regl@^2.1.2": + version: 2.1.2 + resolution: "@plotly/regl@npm:2.1.2" + checksum: ea3364f799b68712fb3389ec1f1bd5ddc8b68ee02de46f12d945905e8f9408e4cb31315cb948c002f87cd354cc709fe197a133596e959164e43bf652be4d02a5 + languageName: node + linkType: hard + +"regl@npm:^2.0.0": version: 2.1.0 resolution: "regl@npm:2.1.0" checksum: dd890b7f50f0cc803f53212870343f910c135343d99b1e3de8cf6167bfde8beaa968aab59a41ea88c6dd58a192be07cbb9ae64989efea329457467f5c491cfbe @@ -23846,13 +23619,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c - languageName: node - linkType: hard - "source-map-resolve@npm:^0.5.0, source-map-resolve@npm:^0.5.2": version: 0.5.3 resolution: "source-map-resolve@npm:0.5.3" @@ -24503,18 +24269,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"stylehacks@npm:^5.0.3": - version: 5.0.3 - resolution: "stylehacks@npm:5.0.3" - dependencies: - browserslist: ^4.16.6 - postcss-selector-parser: ^6.0.4 - peerDependencies: - postcss: ^8.2.15 - checksum: 65242e9b439154b853f98aa97a10645c796b7a8ed6e56d7ddca9fb257d77ab1579f9bd8d5a34a47cfb76f6519b9c0fbc608ada12e769426da6d9d83e32fa6a0f - languageName: node - linkType: hard - "stylis@npm:4.0.13": version: 4.0.13 resolution: "stylis@npm:4.0.13" @@ -24660,7 +24414,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"svgo@npm:^2.4.0, svgo@npm:^2.7.0": +"svgo@npm:^2.4.0": version: 2.8.0 resolution: "svgo@npm:2.8.0" dependencies: @@ -24761,6 +24515,13 @@ resolve@^0.6.1: languageName: node linkType: hard +"term-size@npm:^2.2.1": + version: 2.2.1 + resolution: "term-size@npm:2.2.1" + checksum: 1ed981335483babc1e8206f843e06bd2bf89b85f0bf5a9a9d928033a0fcacdba183c03ba7d91814643015543ba002f1339f7112402a21da8f24b6c56b062a5a9 + languageName: node + linkType: hard + "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -25232,6 +24993,13 @@ resolve@^0.6.1: languageName: node linkType: hard +"tslib@npm:^2.4.0": + version: 2.4.0 + resolution: "tslib@npm:2.4.0" + checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 + languageName: node + linkType: hard + "tsutils@npm:^3.17.1": version: 3.20.0 resolution: "tsutils@npm:3.20.0" @@ -26810,13 +26578,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"yaml@npm:^1.10.2": - version: 1.10.2 - resolution: "yaml@npm:1.10.2" - checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f - languageName: node - linkType: hard - "yargs-parser@npm:^13.1.2": version: 13.1.2 resolution: "yargs-parser@npm:13.1.2" From 4321523caca2bed0fc96875b90edda78777d7f50 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 10:10:01 -0500 Subject: [PATCH 009/664] upgrade react-scripts react-dom and react spring --- package.json | 6 +- yarn.lock | 432 +++++++++++++++++++++++++-------------------------- 2 files changed, 216 insertions(+), 222 deletions(-) diff --git a/package.json b/package.json index 57957be7b..f6693e8dd 100644 --- a/package.json +++ b/package.json @@ -39,9 +39,9 @@ "react-json-to-csv": "~1.0.4", "react-leaflet": "2.7.0", "react-leaflet-draw": "0.19.0", - "react-router-dom": "5.3.0", - "react-scripts": "4.0.2", - "react-spring": "~9.1.2", + "react-router-dom": "5.3.3", + "react-scripts": "4.0.3", + "react-spring": "~9.4.5", "styled-components": "~5.3.3" }, "dependenciesMeta": { diff --git a/yarn.lock b/yarn.lock index 6168707f5..fb614f361 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6415,18 +6415,6 @@ __metadata: languageName: node linkType: hard -"@react-spring/animated@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/animated@npm:9.1.2" - dependencies: - "@react-spring/shared": ~9.1.2 - "@react-spring/types": ~9.1.2 - peerDependencies: - react: ">=16.8" - checksum: 7a8776f352d2c2a430f9c1f0f70e8aa73167cf2ae990c6cc47e90c3e77ce888f095b177f7bb0a20e41afea40365d30ab739504d25ba9bf8642cf2a133641c647 - languageName: node - linkType: hard - "@react-spring/animated@npm:~9.3.0": version: 9.3.2 resolution: "@react-spring/animated@npm:9.3.2" @@ -6439,16 +6427,15 @@ __metadata: languageName: node linkType: hard -"@react-spring/core@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/core@npm:9.1.2" +"@react-spring/animated@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/animated@npm:9.4.5" dependencies: - "@react-spring/animated": ~9.1.2 - "@react-spring/shared": ~9.1.2 - "@react-spring/types": ~9.1.2 + "@react-spring/shared": ~9.4.5 + "@react-spring/types": ~9.4.5 peerDependencies: - react: ">=16.8" - checksum: d699cd7d70a58fbee17047278ed985fa97dd84d93cd22e6ccff5d7c89312ae95aa1426504c3e204360cf619eae6aeb0f2d67bc5b623fbb9c221aacbb67736da3 + react: ^16.8.0 || >=17.0.0 || >=18.0.0 + checksum: e85c0bd65bd76e1c8ca830b22e31956401e29593cbc1df7560f5b77bd7b31acded61e1732717803cdfd993f30c2559ffbd6fb5f0d48b1c749323bee3597d7834 languageName: node linkType: hard @@ -6465,34 +6452,48 @@ __metadata: languageName: node linkType: hard -"@react-spring/konva@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/konva@npm:9.1.2" +"@react-spring/core@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/core@npm:9.4.5" + dependencies: + "@react-spring/animated": ~9.4.5 + "@react-spring/rafz": ~9.4.5 + "@react-spring/shared": ~9.4.5 + "@react-spring/types": ~9.4.5 + peerDependencies: + react: ^16.8.0 || >=17.0.0 || >=18.0.0 + checksum: e5aee7f68f15c9d5d6f230703d22cb34edb8aae3ba0d70c01847f7c78e47f9f8177f87c095aff5ed1b98c2a218238d5ec28f9bf451f3e13bfdad6e3170a60226 + languageName: node + linkType: hard + +"@react-spring/konva@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/konva@npm:9.4.5" dependencies: - "@react-spring/animated": ~9.1.2 - "@react-spring/core": ~9.1.2 - "@react-spring/shared": ~9.1.2 - "@react-spring/types": ~9.1.2 + "@react-spring/animated": ~9.4.5 + "@react-spring/core": ~9.4.5 + "@react-spring/shared": ~9.4.5 + "@react-spring/types": ~9.4.5 peerDependencies: konva: ">=2.6" - react: ">=16.8" - react-konva: ">=16.8" - checksum: 85aa5705135cc24569089962d7e186bd543fc71d24e85cd3dbc7dea9e87d7b3dd6d33a85cf4b2f8203f89b868116804e1bbff0dfe1cc079082fc49bb682667de + react: ^16.8.0 || >=17.0.0 || >=18.0.0 + react-konva: ^16.8.0 || ^17.0.0 + checksum: 9f8658dafe7d5b2f6532183851c169220766098017d3ffd10d0e35c542f931123aad6d239d498f08ae5a4bf15367c892b526367fc72f052f9f32567c6fdc3122 languageName: node linkType: hard -"@react-spring/native@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/native@npm:9.1.2" +"@react-spring/native@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/native@npm:9.4.5" dependencies: - "@react-spring/animated": ~9.1.2 - "@react-spring/core": ~9.1.2 - "@react-spring/shared": ~9.1.2 - "@react-spring/types": ~9.1.2 + "@react-spring/animated": ~9.4.5 + "@react-spring/core": ~9.4.5 + "@react-spring/shared": ~9.4.5 + "@react-spring/types": ~9.4.5 peerDependencies: - react: ">=16.8" + react: ^16.8.0 || >=17.0.0 || >=18.0.0 react-native: ">=0.58" - checksum: 47f24f51bb96a9c7c8f1a795d2fd99e6f7716e863a8f7bafb3383f6fd2e1ab72073e74b3d81569db651a7049db558f76898397c388298809b462db3de4e57054 + checksum: 7e3e5d17e4b61024e4d1155be20c0d9a7ee38b893d4fc3cc64aacc331fb98344b4a2e4ca7d6eba5f43d528bbc81852f3dd6b8be0c3c14091f1021ca8c65edab0 languageName: node linkType: hard @@ -6503,15 +6504,10 @@ __metadata: languageName: node linkType: hard -"@react-spring/shared@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/shared@npm:9.1.2" - dependencies: - "@react-spring/types": ~9.1.2 - rafz: ^0.1.14 - peerDependencies: - react: ">=16.8" - checksum: c90b60417ff5bb37f912e9b6e3a57b751ed7cce012057c4e8d9e8e04393a17eb5d5a2db2ecd21d7e4abd9b2f40f26d13b98d9340974bbfcffff6595026cc112f +"@react-spring/rafz@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/rafz@npm:9.4.5" + checksum: 0ac722881b107baf55338a0123bc889d88faca53f034eb6d26ebab3ae6e4dc1717654b09d0e6e5e9bf587c2ba182d6aae90ca22c833dc55024ee52d88f8579a2 languageName: node linkType: hard @@ -6527,26 +6523,31 @@ __metadata: languageName: node linkType: hard -"@react-spring/three@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/three@npm:9.1.2" +"@react-spring/shared@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/shared@npm:9.4.5" dependencies: - "@react-spring/animated": ~9.1.2 - "@react-spring/core": ~9.1.2 - "@react-spring/shared": ~9.1.2 - "@react-spring/types": ~9.1.2 + "@react-spring/rafz": ~9.4.5 + "@react-spring/types": ~9.4.5 peerDependencies: - "@react-three/fiber": ">=6.0" - react: ">=16.11" - three: ">=0.126" - checksum: f5c2e903788898c79339c509167b707955c622f62d1030b2c721f5f6cc56a4fb3702d31e7f265a2bcc843d09997b43c89d19d8e49365a1b646f1230d3158673a + react: ^16.8.0 || >=17.0.0 || >=18.0.0 + checksum: 2f20e410c03166de19b2d668d6841d24778c37da3083d37fe70acfcf2cf0cb3bd4a5cf92d42f1590b9de5d0a6603dc75cf8c319c0089df4e713226364a204b51 languageName: node linkType: hard -"@react-spring/types@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/types@npm:9.1.2" - checksum: d0f055b319a83e07f548fbb60e9a9de4d1490d51ccd63cf075d304cf04f2762db786ba93c9d861b0463e5cc5065457ea9129bdd8b08a1c9d470334c4adf61013 +"@react-spring/three@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/three@npm:9.4.5" + dependencies: + "@react-spring/animated": ~9.4.5 + "@react-spring/core": ~9.4.5 + "@react-spring/shared": ~9.4.5 + "@react-spring/types": ~9.4.5 + peerDependencies: + "@react-three/fiber": ">=6.0" + react: ^16.11.0 || >=17.0.0 || >=18.0.0 + three: ">=0.126" + checksum: 704e560c0d7df25db8aaf6ded0b9598b465370db3ec1704b784b6f36318ff8486fc399f5b3e9729ee0ef04958903f72d267bee48e9a1abb320a10a72273fcecc languageName: node linkType: hard @@ -6557,6 +6558,13 @@ __metadata: languageName: node linkType: hard +"@react-spring/types@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/types@npm:9.4.5" + checksum: f8fecb54015de23899cc595d949e3676835e612d4dda05af470cab9ee20dd98c86ebca1c4ba75d2a9f63a4acba4b75febf6bab71da0b2e9556e6ff684b22f139 + languageName: node + linkType: hard + "@react-spring/web@npm:9.3.1": version: 9.3.1 resolution: "@react-spring/web@npm:9.3.1" @@ -6572,35 +6580,35 @@ __metadata: languageName: node linkType: hard -"@react-spring/web@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/web@npm:9.1.2" +"@react-spring/web@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/web@npm:9.4.5" dependencies: - "@react-spring/animated": ~9.1.2 - "@react-spring/core": ~9.1.2 - "@react-spring/shared": ~9.1.2 - "@react-spring/types": ~9.1.2 + "@react-spring/animated": ~9.4.5 + "@react-spring/core": ~9.4.5 + "@react-spring/shared": ~9.4.5 + "@react-spring/types": ~9.4.5 peerDependencies: - react: ">=16.8" - react-dom: ">=16.8" - checksum: ee972d7f92b73e279b27b28b3248679fa164a80f1297432ebfa10d6cdb80c742b3874b6854f19cb0bceb4c9a6e728f5a8853ad9a7f45596e0d552125473e6cb4 + react: ^16.8.0 || >=17.0.0 || >=18.0.0 + react-dom: ^16.8.0 || >=17.0.0 || >=18.0.0 + checksum: 9d7eea4b8b0399c205743acade141679f3f729a64631f8480d44d14bb59781ea807977a4671cbe1d56e31389b69ef325ec975275446f08997f555f2981d220c8 languageName: node linkType: hard -"@react-spring/zdog@npm:~9.1.2": - version: 9.1.2 - resolution: "@react-spring/zdog@npm:9.1.2" +"@react-spring/zdog@npm:~9.4.5": + version: 9.4.5 + resolution: "@react-spring/zdog@npm:9.4.5" dependencies: - "@react-spring/animated": ~9.1.2 - "@react-spring/core": ~9.1.2 - "@react-spring/shared": ~9.1.2 - "@react-spring/types": ~9.1.2 + "@react-spring/animated": ~9.4.5 + "@react-spring/core": ~9.4.5 + "@react-spring/shared": ~9.4.5 + "@react-spring/types": ~9.4.5 peerDependencies: - react: ">=16.8" - react-dom: ">=16.8" + react: ^16.8.0 || >=17.0.0 || >=18.0.0 + react-dom: ^16.8.0 || >=17.0.0 || >=18.0.0 react-zdog: ">=1.0" zdog: ">=1.0" - checksum: dd4cf5c15389e2def631391688a69e074739af00414a7d34c6953c9ad3fa8404a8c2274325a742beb029a58d96e9acdbe1b5bc3cf046f5746b3fa2642db1cc1d + checksum: b4b58b565c44a2c88b5be0862f97636ae3968c4b5a331660e21dbb084f9193d2a634991236e18204947d2486414d884421379bb910e9a99b3fa48564926ebca0 languageName: node linkType: hard @@ -7065,13 +7073,13 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:^7.2.6": - version: 7.2.6 - resolution: "@types/eslint@npm:7.2.6" +"@types/eslint@npm:^7.28.2": + version: 7.29.0 + resolution: "@types/eslint@npm:7.29.0" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: bb53f0fe7a34d1a5182fdb5ddcd1293b7d2923af20a4c0f8a35cc8bca5e52b40ac79b015abb2c9ab024d11715349bdfea484ef6dc244d3d9bf4dfa58e24944fb + checksum: df13991c554954353ce8f3bb03e19da6cc71916889443d68d178d4f858b561ba4cc4a4f291c6eb9eebb7f864b12b9b9313051b3a8dfea3e513dadf3188a77bdf languageName: node linkType: hard @@ -7163,6 +7171,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.8": + version: 7.0.11 + resolution: "@types/json-schema@npm:7.0.11" + checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d + languageName: node + linkType: hard + "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -9194,9 +9209,9 @@ __metadata: react-json-to-csv: ~1.0.4 react-leaflet: 2.7.0 react-leaflet-draw: 0.19.0 - react-router-dom: 5.3.0 - react-scripts: 4.0.2 - react-spring: ~9.1.2 + react-router-dom: 5.3.3 + react-scripts: 4.0.3 + react-spring: ~9.4.5 styled-components: ~5.3.3 yarn-audit-fix: ~9.0.11 dependenciesMeta: @@ -11625,7 +11640,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.1, debug@npm:^3.2.5, debug@npm:^3.2.6, debug@npm:^3.2.7": +"debug@npm:^3.1.1, debug@npm:^3.2.6, debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -13057,19 +13072,20 @@ __metadata: languageName: node linkType: hard -"eslint-webpack-plugin@npm:^2.1.0": - version: 2.5.2 - resolution: "eslint-webpack-plugin@npm:2.5.2" +"eslint-webpack-plugin@npm:^2.5.2": + version: 2.6.0 + resolution: "eslint-webpack-plugin@npm:2.6.0" dependencies: - "@types/eslint": ^7.2.6 + "@types/eslint": ^7.28.2 arrify: ^2.0.1 - jest-worker: ^26.6.2 - micromatch: ^4.0.2 - schema-utils: ^3.0.0 + jest-worker: ^27.3.1 + micromatch: ^4.0.4 + normalize-path: ^3.0.0 + schema-utils: ^3.1.1 peerDependencies: - eslint: ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 webpack: ^4.0.0 || ^5.0.0 - checksum: d7b993afa9edd5b43a17bfbe5e04e6f4b599727b70276ad0d66aa407f05364e55e264ce28163a1c276ce9a36047a96336a1588c716aea874d4a0b85963fbaeb4 + checksum: 1f3c944f85b7473eb0a2d4b72e2ef90680ca9413419caf152d5864162e3b88d4aa9fbabaceef7d842124b3e5b3cc0d5e63f9f9c8efe6a15086347e739be711e2 languageName: node linkType: hard @@ -13340,12 +13356,10 @@ __metadata: languageName: node linkType: hard -"eventsource@npm:^1.0.7": - version: 1.0.7 - resolution: "eventsource@npm:1.0.7" - dependencies: - original: ^1.0.0 - checksum: 26d6d9103ed11c4ed9cd2b69fb204176649c9686ee2440dcd08d82f741b9d38cc6e0e13e0974591ee1b7c0fc3b78f5d99f399630e46c776e797c8696469f53ac +"eventsource@npm:^2.0.2": + version: 2.0.2 + resolution: "eventsource@npm:2.0.2" + checksum: c0072d972753e10c705d9b2285b559184bf29d011bc208973dde9c8b6b8b7b6fdad4ef0846cecb249f7b1585e860fdf324cbd2ac854a76bc53649e797496e99a languageName: node linkType: hard @@ -13644,7 +13658,7 @@ __metadata: languageName: node linkType: hard -"faye-websocket@npm:0.11.4": +"faye-websocket@npm:0.11.4, faye-websocket@npm:^0.11.3, faye-websocket@npm:^0.11.4": version: 0.11.4 resolution: "faye-websocket@npm:0.11.4" dependencies: @@ -13653,24 +13667,6 @@ __metadata: languageName: node linkType: hard -"faye-websocket@npm:^0.10.0": - version: 0.10.0 - resolution: "faye-websocket@npm:0.10.0" - dependencies: - websocket-driver: ">=0.5.1" - checksum: 5a2989ec5effc832bd219e3af934966b5a2a2605dd83b995a04edae5d34207ef930635f5c8456b8b7b4209bfb8f7ea991e41594f150a04faa53fca1ee4eb31b6 - languageName: node - linkType: hard - -"faye-websocket@npm:~0.11.1": - version: 0.11.3 - resolution: "faye-websocket@npm:0.11.3" - dependencies: - websocket-driver: ">=0.5.1" - checksum: d7b2d68546812ea24e3079bd1e08bf1d79cd6d6137bfcea565d1cb1f6a5fc8fc29b689df2c1aff8b8b291d60fc808e1b27aa2896b86ba77ded10f1d9734c8e9f - languageName: node - linkType: hard - "fb-watchman@npm:^2.0.0": version: 2.0.1 resolution: "fb-watchman@npm:2.0.1" @@ -16967,6 +16963,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"jest-worker@npm:^27.3.1": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: 98cd68b696781caed61c983a3ee30bf880b5bd021c01d98f47b143d4362b85d0737f8523761e2713d45e18b4f9a2b98af1eaee77afade4111bb65c77d6f7c980 + languageName: node + linkType: hard + "jest@npm:26.6.0": version: 26.6.0 resolution: "jest@npm:26.6.0" @@ -17164,13 +17171,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"json3@npm:^3.3.2": - version: 3.3.3 - resolution: "json3@npm:3.3.3" - checksum: 55eda204a4c70d11b7d5caa5cb64c76a3aa54d5df72d07bdf446b922fd7cb8657b0732f68e0c36790f55e195e0a429c299144ff05430bbe93bc2a7c81ad3472b - languageName: node - linkType: hard - "json5@npm:^1.0.1": version: 1.0.1 resolution: "json5@npm:1.0.1" @@ -19448,15 +19448,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"original@npm:^1.0.0": - version: 1.0.2 - resolution: "original@npm:1.0.2" - dependencies: - url-parse: ^1.4.3 - checksum: 8dca9311dab50c8953366127cb86b7c07bf547d6aa6dc6873a75964b7563825351440557e5724d9c652c5e99043b8295624f106af077f84bccf19592e421beb9 - languageName: node - linkType: hard - "os-browserify@npm:^0.3.0": version: 0.3.0 resolution: "os-browserify@npm:0.3.0" @@ -21664,13 +21655,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"rafz@npm:^0.1.14": - version: 0.1.14 - resolution: "rafz@npm:0.1.14" - checksum: 6ee25182e2041a33aa315dc60fda7737407a19aa476fd5accb480a2119497b125e32ff02e6fc31d00a9896702088fbc17073adf41e2e692f011786e58117733c - languageName: node - linkType: hard - "randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -21723,7 +21707,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"react-dev-utils@npm:^11.0.2": +"react-dev-utils@npm:^11.0.3": version: 11.0.4 resolution: "react-dev-utils@npm:11.0.4" dependencies: @@ -21885,26 +21869,26 @@ fsevents@^1.2.7: languageName: node linkType: hard -"react-router-dom@npm:5.3.0": - version: 5.3.0 - resolution: "react-router-dom@npm:5.3.0" +"react-router-dom@npm:5.3.3": + version: 5.3.3 + resolution: "react-router-dom@npm:5.3.3" dependencies: "@babel/runtime": ^7.12.13 history: ^4.9.0 loose-envify: ^1.3.1 prop-types: ^15.6.2 - react-router: 5.2.1 + react-router: 5.3.3 tiny-invariant: ^1.0.2 tiny-warning: ^1.0.0 peerDependencies: react: ">=15" - checksum: 47584fd629ecca52398d7888cab193b8a74057cc99a7ef44410c405d4082f618c3c0399db5325bc3524f9c511404086169570013b61a94dfa6acdfdc850d7a1f + checksum: e1998918e391611f09b967bce0cb88bc9794aa3d8dc5f86453467a1226ae2ace648a1f401f5282f19c84a3a61fa6a3207e2a6fdfe8c8efae0b255244631febeb languageName: node linkType: hard -"react-router@npm:5.2.1": - version: 5.2.1 - resolution: "react-router@npm:5.2.1" +"react-router@npm:5.3.3": + version: 5.3.3 + resolution: "react-router@npm:5.3.3" dependencies: "@babel/runtime": ^7.12.13 history: ^4.9.0 @@ -21918,13 +21902,13 @@ fsevents@^1.2.7: tiny-warning: ^1.0.0 peerDependencies: react: ">=15" - checksum: 7daae084bf64531eb619cc5f4cc40ce5ae0a541b64f71d74ec71a38cbf6130ebdbb7cf38f157303fad5846deec259401f96c4d6c7386466dcc989719e01f9aaa + checksum: 52a9f28fa97577fda18a8ed2922b658704eafe873e444fe07202640d55d9e81e67c03efd2b2a5b80e3a80e8be8352df826a227ce5f42b33b91bef853c74d4841 languageName: node linkType: hard -"react-scripts@npm:4.0.2": - version: 4.0.2 - resolution: "react-scripts@npm:4.0.2" +"react-scripts@npm:4.0.3": + version: 4.0.3 + resolution: "react-scripts@npm:4.0.3" dependencies: "@babel/core": 7.12.3 "@pmmmwh/react-refresh-webpack-plugin": 0.4.3 @@ -21951,7 +21935,7 @@ fsevents@^1.2.7: eslint-plugin-react: ^7.21.5 eslint-plugin-react-hooks: ^4.2.0 eslint-plugin-testing-library: ^3.9.2 - eslint-webpack-plugin: ^2.1.0 + eslint-webpack-plugin: ^2.5.2 file-loader: 6.1.1 fs-extra: ^9.0.1 fsevents: ^2.1.3 @@ -21971,7 +21955,7 @@ fsevents@^1.2.7: postcss-safe-parser: 5.0.2 prompts: 2.4.0 react-app-polyfill: ^2.0.0 - react-dev-utils: ^11.0.2 + react-dev-utils: ^11.0.3 react-refresh: ^0.8.3 resolve: 1.18.1 resolve-url-loader: ^3.1.2 @@ -21982,7 +21966,7 @@ fsevents@^1.2.7: ts-pnp: 1.2.0 url-loader: 4.1.1 webpack: 4.44.2 - webpack-dev-server: 3.11.0 + webpack-dev-server: 3.11.1 webpack-manifest-plugin: 2.2.0 workbox-webpack-plugin: 5.1.4 peerDependencies: @@ -21996,21 +21980,21 @@ fsevents@^1.2.7: optional: true bin: react-scripts: ./bin/react-scripts.js - checksum: c8e36c47f1a024b3fd64c933112a7bac006fcb23841d22659720d37689ca48825bcc4912546b2e15bf63e973d13ba5da19cbf65625ca99933ff3f6d5cc4990a1 + checksum: a05a46ce3145b42ac8b57633d3b90b6689c24697c1449bccf219349996d718a3cd0796e4910f4ab6abb5b024982cafd62345e88c8e7b42a45efca3bef1a0eb87 languageName: node linkType: hard -"react-spring@npm:~9.1.2": - version: 9.1.2 - resolution: "react-spring@npm:9.1.2" +"react-spring@npm:~9.4.5": + version: 9.4.5 + resolution: "react-spring@npm:9.4.5" dependencies: - "@react-spring/core": ~9.1.2 - "@react-spring/konva": ~9.1.2 - "@react-spring/native": ~9.1.2 - "@react-spring/three": ~9.1.2 - "@react-spring/web": ~9.1.2 - "@react-spring/zdog": ~9.1.2 - checksum: 242751dd7ca89534fefbcaeef933a91d86a501aa229026d046e60461421f87d45b71fc69daedeb8142c500b32938322850ef6a15e48e7fd9d4c3dcee6d4d0c04 + "@react-spring/core": ~9.4.5 + "@react-spring/konva": ~9.4.5 + "@react-spring/native": ~9.4.5 + "@react-spring/three": ~9.4.5 + "@react-spring/web": ~9.4.5 + "@react-spring/zdog": ~9.4.5 + checksum: 0bcf67cb0a1ddcf16f863418306060988c5a8fa3634d56818e4f8bda53fedba95071260c155a6614fbdd2ca9b987717283c5fcdda391678db99f83e412f75952 languageName: node linkType: hard @@ -23167,6 +23151,17 @@ resolve@^0.6.1: languageName: node linkType: hard +"schema-utils@npm:^3.1.1": + version: 3.1.1 + resolution: "schema-utils@npm:3.1.1" + dependencies: + "@types/json-schema": ^7.0.8 + ajv: ^6.12.5 + ajv-keywords: ^3.5.2 + checksum: fb73f3d759d43ba033c877628fe9751620a26879f6301d3dbeeb48cf2a65baec5cdf99da65d1bf3b4ff5444b2e59cbe4f81c2456b5e0d2ba7d7fd4aed5da29ce + languageName: node + linkType: hard + "select-hose@npm:^2.0.0": version: 2.0.0 resolution: "select-hose@npm:2.0.0" @@ -23185,12 +23180,12 @@ resolve@^0.6.1: languageName: node linkType: hard -"selfsigned@npm:^1.10.7": - version: 1.10.8 - resolution: "selfsigned@npm:1.10.8" +"selfsigned@npm:^1.10.8": + version: 1.10.14 + resolution: "selfsigned@npm:1.10.14" dependencies: node-forge: ^0.10.0 - checksum: c7028385cb3c011c6d7a4fe56d0f94ac1511ad175a87b49e7192f8ea43d1363d5f24283b2831071c0ad2d26ad19b9a6e81dba7f052490c245001ee61a2541e7d + checksum: 616d131b18516ba2876398f0230987511d50a13816e0709b9f0d20246a524a2e83dfb27ea46ce2bfe331519583a156afa67bc3ece8bf0f9804aec06e2e8c7a21 languageName: node linkType: hard @@ -23571,28 +23566,27 @@ resolve@^0.6.1: languageName: node linkType: hard -"sockjs-client@npm:1.4.0": - version: 1.4.0 - resolution: "sockjs-client@npm:1.4.0" +"sockjs-client@npm:^1.5.0": + version: 1.6.1 + resolution: "sockjs-client@npm:1.6.1" dependencies: - debug: ^3.2.5 - eventsource: ^1.0.7 - faye-websocket: ~0.11.1 - inherits: ^2.0.3 - json3: ^3.3.2 - url-parse: ^1.4.3 - checksum: 42fabe709b5478ca50f483add67e058ab01c5aaae926d73e483e53f26c14edc0820cdbd420e3bbc4e090c1007bf21c054b800a7a1e275b171352f246df1300a3 + debug: ^3.2.7 + eventsource: ^2.0.2 + faye-websocket: ^0.11.4 + inherits: ^2.0.4 + url-parse: ^1.5.10 + checksum: c7623bbc9891f427c1670145550a1c9c2d5379719e174a791606ba4f12c7d92e4cfb9acec6c17f91fda45d910b23c308a1f9fbcad4916ce5db4e982b24079fc7 languageName: node linkType: hard -"sockjs@npm:0.3.20": - version: 0.3.20 - resolution: "sockjs@npm:0.3.20" +"sockjs@npm:^0.3.21": + version: 0.3.24 + resolution: "sockjs@npm:0.3.24" dependencies: - faye-websocket: ^0.10.0 - uuid: ^3.4.0 - websocket-driver: 0.6.5 - checksum: dc0ac013ab57bae5b5b9e3ca809ce06b7f19ade8de47d48a5919e2b6889a864705bce300f9ad02a969d57fea0c911fdcbacdea5e66aec2bc2638b3c8b1c2ede8 + faye-websocket: ^0.11.3 + uuid: ^8.3.2 + websocket-driver: ^0.7.4 + checksum: 355309b48d2c4e9755349daa29cea1c0d9ee23e49b983841c6bf7a20276b00d3c02343f9f33f26d2ee8b261a5a02961b52a25c8da88b2538c5b68d3071b4934c languageName: node linkType: hard @@ -24335,6 +24329,15 @@ resolve@^0.6.1: languageName: node linkType: hard +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: ^4.0.0 + checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 + languageName: node + linkType: hard + "supports-hyperlinks@npm:^2.0.0": version: 2.1.0 resolution: "supports-hyperlinks@npm:2.1.0" @@ -25416,13 +25419,13 @@ resolve@^0.6.1: languageName: node linkType: hard -"url-parse@npm:^1.4.3": - version: 1.5.6 - resolution: "url-parse@npm:1.5.6" +"url-parse@npm:^1.5.10": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" dependencies: querystringify: ^2.1.1 requires-port: ^1.0.0 - checksum: f2176a2035b5f14ba3ebeb94b6f7e112d1f1e60ce95dd23214ac3b5b293899f7cbc8d1a43df4e3c9755bc07151e974b745898353549277da4b854a308d19e143 + checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf languageName: node linkType: hard @@ -25558,7 +25561,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"uuid@npm:^3.3.2, uuid@npm:^3.4.0": +"uuid@npm:^3.3.2": version: 3.4.0 resolution: "uuid@npm:3.4.0" bin: @@ -25567,7 +25570,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"uuid@npm:^8.3.0": +"uuid@npm:^8.3.0, uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" bin: @@ -25913,9 +25916,9 @@ resolve@^0.6.1: languageName: node linkType: hard -"webpack-dev-server@npm:3.11.0": - version: 3.11.0 - resolution: "webpack-dev-server@npm:3.11.0" +"webpack-dev-server@npm:3.11.1": + version: 3.11.1 + resolution: "webpack-dev-server@npm:3.11.1" dependencies: ansi-html: 0.0.7 bonjour: ^3.5.0 @@ -25937,11 +25940,11 @@ resolve@^0.6.1: p-retry: ^3.0.1 portfinder: ^1.0.26 schema-utils: ^1.0.0 - selfsigned: ^1.10.7 + selfsigned: ^1.10.8 semver: ^6.3.0 serve-index: ^1.9.1 - sockjs: 0.3.20 - sockjs-client: 1.4.0 + sockjs: ^0.3.21 + sockjs-client: ^1.5.0 spdy: ^4.0.2 strip-ansi: ^3.0.1 supports-color: ^6.1.0 @@ -25957,7 +25960,7 @@ resolve@^0.6.1: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: d0f9519d53ef05c87030654b66455b984adc065ca29c1b7ca75d70dc6e7a818a643b2a8613ad014a916c9be52df54fe0dede4f0a7bc638b8c73088d7710e7e0a + checksum: 6c6e6b6c207c192585f9943fc9945058832a39a12bbf0368798d73a96264b813ab816cb14985c1ca3c90cc567f59fcad6f2fada8f30f2f0136904cfaf43eb87d languageName: node linkType: hard @@ -26033,16 +26036,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"websocket-driver@npm:0.6.5": - version: 0.6.5 - resolution: "websocket-driver@npm:0.6.5" - dependencies: - websocket-extensions: ">=0.1.1" - checksum: f9feb459d9abea0bffce618c1c29b73fcddfaefdd2fc0d7348218628dd78eaf57b5c616364e0ec53917f48e33976a8bb6b604fa649b9b63210f265613e090271 - languageName: node - linkType: hard - -"websocket-driver@npm:>=0.5.1": +"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": version: 0.7.4 resolution: "websocket-driver@npm:0.7.4" dependencies: From cb013b4568a3ee19308b8034f76184d8f5e62108 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 9 Jun 2022 10:35:44 -0500 Subject: [PATCH 010/664] upgrade rollup, yarn-audit-fix and styled-components --- package.json | 4 +- packages/cbm-dashboard/package.json | 2 +- packages/indicators/package.json | 2 +- yarn.lock | 101 +++++++++++++--------------- 4 files changed, 52 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index f6693e8dd..8c5337e02 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "react-router-dom": "5.3.3", "react-scripts": "4.0.3", "react-spring": "~9.4.5", - "styled-components": "~5.3.3" + "styled-components": "~5.3.5" }, "dependenciesMeta": { "@react-spring/core": { @@ -61,7 +61,7 @@ "eslint-plugin-react-hooks": "~1.7.0", "husky": "~4.3.8", "lint-staged": "~10.5.4", - "yarn-audit-fix": "~9.0.11" + "yarn-audit-fix": "~9.3.1" }, "lint-staged": { "**/*.{js,jsx}": "eslint" diff --git a/packages/cbm-dashboard/package.json b/packages/cbm-dashboard/package.json index 55b2957b8..d3c63baf6 100644 --- a/packages/cbm-dashboard/package.json +++ b/packages/cbm-dashboard/package.json @@ -27,7 +27,7 @@ "eslint-plugin-prettier": "~3.3.1", "parcel": "1.12.4", "prettier": "~2.6.2", - "rollup": "~2.67.2", + "rollup": "~2.75.6", "rollup-plugin-css-only": "~3.1.0" }, "scripts": { diff --git a/packages/indicators/package.json b/packages/indicators/package.json index 83e519daf..d4cbfc2fc 100644 --- a/packages/indicators/package.json +++ b/packages/indicators/package.json @@ -25,7 +25,7 @@ "eslint-plugin-prettier": "~3.3.1", "parcel": "~2.6.0", "prettier": "~2.6.2", - "rollup": "~2.67.2", + "rollup": "~2.75.6", "rollup-plugin-css-only": "~3.1.0" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index fb614f361..84756ca8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3704,16 +3704,7 @@ __metadata: languageName: node linkType: hard -"@emotion/is-prop-valid@npm:^0.8.8": - version: 0.8.8 - resolution: "@emotion/is-prop-valid@npm:0.8.8" - dependencies: - "@emotion/memoize": 0.7.4 - checksum: bb7ec6d48c572c540e24e47cc94fc2f8dec2d6a342ae97bc9c8b6388d9b8d283862672172a1bb62d335c02662afe6291e10c71e9b8642664a8b43416cdceffac - languageName: node - linkType: hard - -"@emotion/is-prop-valid@npm:^1.1.2": +"@emotion/is-prop-valid@npm:^1.1.0, @emotion/is-prop-valid@npm:^1.1.2": version: 1.1.2 resolution: "@emotion/is-prop-valid@npm:1.1.2" dependencies: @@ -3722,13 +3713,6 @@ __metadata: languageName: node linkType: hard -"@emotion/memoize@npm:0.7.4": - version: 0.7.4 - resolution: "@emotion/memoize@npm:0.7.4" - checksum: 4e3920d4ec95995657a37beb43d3f4b7d89fed6caa2b173a4c04d10482d089d5c3ea50bbc96618d918b020f26ed6e9c4026bbd45433566576c1f7b056c3271dc - languageName: node - linkType: hard - "@emotion/memoize@npm:^0.7.4, @emotion/memoize@npm:^0.7.5": version: 0.7.5 resolution: "@emotion/memoize@npm:0.7.5" @@ -9212,8 +9196,8 @@ __metadata: react-router-dom: 5.3.3 react-scripts: 4.0.3 react-spring: ~9.4.5 - styled-components: ~5.3.3 - yarn-audit-fix: ~9.0.11 + styled-components: ~5.3.5 + yarn-audit-fix: ~9.3.1 dependenciesMeta: "@react-spring/core": built: false @@ -9831,7 +9815,7 @@ __metadata: react: ~17.0.2 react-dom: ~17.0.2 react-plotly.js: ~2.5.1 - rollup: ~2.67.2 + rollup: ~2.75.6 rollup-plugin-css-only: ~3.1.0 languageName: unknown linkType: soft @@ -9870,10 +9854,10 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.0.0": - version: 5.0.0 - resolution: "chalk@npm:5.0.0" - checksum: 6eba7c518b9aa5fe882ae6d14a1ffa58c418d72a3faa7f72af56641f1bbef51b645fca1d6e05d42357b7d3c846cd504c0b7b64d12309cdd07867e3b4411e0d01 +"chalk@npm:^5.0.1": + version: 5.0.1 + resolution: "chalk@npm:5.0.1" + checksum: 7b45300372b908f0471fbf7389ce2f5de8d85bb949026fd51a1b95b10d0ed32c7ed5aab36dd5e9d2bf3191867909b4404cef75c5f4d2d1daeeacd301dd280b76 languageName: node linkType: hard @@ -10397,10 +10381,10 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.0.0": - version: 9.0.0 - resolution: "commander@npm:9.0.0" - checksum: 15066e433d528315ded8261d16bc600d1f3c5671c75021e685ae67e4d62f7551243ff28411b28dc0a6f8b23c2a0f033550ec6f3e66bdf9d11a4fdc2d33dd9802 +"commander@npm:^9.2.0": + version: 9.3.0 + resolution: "commander@npm:9.3.0" + checksum: d421ce66fee25792a1470c69aa8d1b86434bf873a96483aa92c8267f81a6f20c6f7c426f5e82f88ac50a8ec4855d3f2787aebcdef8aa559e1080a2337a95a217 languageName: node linkType: hard @@ -14089,14 +14073,14 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0": - version: 10.0.0 - resolution: "fs-extra@npm:10.0.0" +"fs-extra@npm:^10.1.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" dependencies: graceful-fs: ^4.2.0 jsonfile: ^6.0.1 universalify: ^2.0.0 - checksum: 5285a3d8f34b917cf2b66af8c231a40c1623626e9d701a20051d3337be16c6d7cac94441c8b3732d47a92a2a027886ca93c69b6a4ae6aee3c89650d2a8880c0a + checksum: dc94ab37096f813cc3ca12f0f1b5ad6744dfed9ed21e953d72530d103cea193c2f81584a39e9dee1bea36de5ee66805678c0dddc048e8af1427ac19c00fffc50 languageName: node linkType: hard @@ -15585,7 +15569,7 @@ fsevents@^1.2.7: react: ~17.0.2 react-dom: ~17.0.2 react-masonry-component: ~6.3.0 - rollup: ~2.67.2 + rollup: ~2.75.6 rollup-plugin-css-only: ~3.1.0 languageName: unknown linkType: soft @@ -22947,9 +22931,9 @@ resolve@^0.6.1: languageName: node linkType: hard -"rollup@npm:~2.67.2": - version: 2.67.2 - resolution: "rollup@npm:2.67.2" +"rollup@npm:~2.75.6": + version: 2.75.6 + resolution: "rollup@npm:2.75.6" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -22957,7 +22941,7 @@ resolve@^0.6.1: optional: true bin: rollup: dist/bin/rollup - checksum: 9aca5251ba4b441064183cde2394b91567259002d68086bdd3906db66d55dd148ab27e57c51eb53830d7b9b813c2d4e834b7735d65e2a869780bc639d4a20c38 + checksum: df83c6d43a144a296daf82bed7f12f2dfcc6c495a64245e840d15fd21f2ab8b66bb3423e61c974875b33ccf53fb659d2ed099f272937ecf23af48815277c6cd5 languageName: node linkType: hard @@ -23261,6 +23245,17 @@ resolve@^0.6.1: languageName: node linkType: hard +"semver@npm:^7.3.7": + version: 7.3.7 + resolution: "semver@npm:7.3.7" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + languageName: node + linkType: hard + "send@npm:0.17.1": version: 0.17.1 resolution: "send@npm:0.17.1" @@ -24230,13 +24225,13 @@ resolve@^0.6.1: languageName: node linkType: hard -"styled-components@npm:~5.3.3": - version: 5.3.3 - resolution: "styled-components@npm:5.3.3" +"styled-components@npm:~5.3.5": + version: 5.3.5 + resolution: "styled-components@npm:5.3.5" dependencies: "@babel/helper-module-imports": ^7.0.0 "@babel/traverse": ^7.4.5 - "@emotion/is-prop-valid": ^0.8.8 + "@emotion/is-prop-valid": ^1.1.0 "@emotion/stylis": ^0.8.4 "@emotion/unitless": ^0.7.4 babel-plugin-styled-components: ">= 1.12.0" @@ -24248,7 +24243,7 @@ resolve@^0.6.1: react: ">= 16.8.0" react-dom: ">= 16.8.0" react-is: ">= 16.8.0" - checksum: a104341068fc39fa2c73950a34970d832dc7a511fc52b3df12f34e6746031f1f128f53b4d540bf39d9f0da043cf0d91517faf874d2c87de5e385f5c2e7620436 + checksum: 05a664dfe423c2906959a0f3f47f9b1ad630e493eb2e06deea0dc0906af33ba5ca17277b98948a6c9642e73894d6533391aebf45576489f5afe920c974e9f8eb languageName: node linkType: hard @@ -24989,7 +24984,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.3.1": +"tslib@npm:^2.1.0": version: 2.3.1 resolution: "tslib@npm:2.3.1" checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 @@ -26651,9 +26646,9 @@ resolve@^0.6.1: languageName: node linkType: hard -"yarn-audit-fix@npm:~9.0.11": - version: 9.0.11 - resolution: "yarn-audit-fix@npm:9.0.11" +"yarn-audit-fix@npm:~9.3.1": + version: 9.3.1 + resolution: "yarn-audit-fix@npm:9.3.1" dependencies: "@types/find-cache-dir": ^3.2.1 "@types/fs-extra": ^9.0.13 @@ -26661,21 +26656,21 @@ resolve@^0.6.1: "@types/semver": ^7.3.9 "@types/yarnpkg__lockfile": ^1.1.5 "@yarnpkg/lockfile": ^1.1.0 - chalk: ^5.0.0 - commander: ^9.0.0 + chalk: ^5.0.1 + commander: ^9.2.0 find-cache-dir: ^3.3.2 find-up: ^6.3.0 - fs-extra: ^10.0.0 + fs-extra: ^10.1.0 globby: ^13.1.1 js-yaml: ^4.1.0 lodash-es: ^4.17.21 pkg-dir: ^6.0.1 - semver: ^7.3.5 + semver: ^7.3.7 synp: ^1.9.10 - tslib: ^2.3.1 + tslib: ^2.4.0 bin: - yarn-audit-fix: ./target/es6/cli.js - checksum: 28548ca5c3c48dc351cfc16a300a4581b9d2dd40bfb607a79cbef291acff18539645835f3a8ffab73af299559e96884b88119717384e581b18720e7d6caff00f + yarn-audit-fix: target/es6/cli.js + checksum: f64aa842490cb78cd7036a0aade5f530bd81bbb8b3d64c6e93fb7011704390247eb3d93b377429efdbba7a99936439041f9bdc6701250a66164cf9a700cea92b languageName: node linkType: hard From a86422bb28af7a2ba906b8104d5eda9600ff099e Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Jun 2022 11:34:51 -0500 Subject: [PATCH 011/664] Add typescript dependency --- package.json | 7 ++- yarn.lock | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 132 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ad3bb18a2..c384d6c4d 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,10 @@ "@nivo/line": "~0.79.0", "@nivo/pie": "~0.79.0", "@nivo/tooltip": "~0.79.0", + "@types/jest": "^28.1.1", + "@types/node": "^17.0.41", + "@types/react": "^18.0.12", + "@types/react-dom": "^18.0.5", "@vx/axis": "~0.0.199", "@vx/glyph": "~0.0.199", "@vx/grid": "~0.0.199", @@ -42,7 +46,8 @@ "react-router-dom": "5.3.0", "react-scripts": "4.0.2", "react-spring": "~9.1.2", - "styled-components": "~5.3.3" + "styled-components": "~5.3.3", + "typescript": "^4.7.3" }, "dependenciesMeta": { "@react-spring/core": { diff --git a/yarn.lock b/yarn.lock index 52cb934bf..05ca8e64c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6264,6 +6264,16 @@ __metadata: languageName: node linkType: hard +"@types/jest@npm:^28.1.1": + version: 28.1.1 + resolution: "@types/jest@npm:28.1.1" + dependencies: + jest-matcher-utils: ^27.0.0 + pretty-format: ^27.0.0 + checksum: 0a8b045a7b660372decc807c390d3f99a2b12bb1659a1cd593afe04557f4b7c235b0576a5e35b1577710d20e42759d3d8755eb8bed6edc8733f47007e75a5509 + languageName: node + linkType: hard + "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.3, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6": version: 7.0.7 resolution: "@types/json-schema@npm:7.0.7" @@ -6322,6 +6332,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^17.0.41": + version: 17.0.41 + resolution: "@types/node@npm:17.0.41" + checksum: ddaf9e7decb487850a9bbfeb670b41c9d35c5b1597c4c4f889419b65042d776e9041ed533c7afc1bac30cad1e9dcfd984085b4a35312efe8ea5eaf0bd36a8191 + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.0": version: 2.4.0 resolution: "@types/normalize-package-data@npm:2.4.0" @@ -6373,6 +6390,15 @@ __metadata: languageName: node linkType: hard +"@types/react-dom@npm:^18.0.5": + version: 18.0.5 + resolution: "@types/react-dom@npm:18.0.5" + dependencies: + "@types/react": "*" + checksum: cd48b81950f499b52a3f0c08261f00046f9b7c96699fa249c9664e257e820daf6ecac815cd1028cebc9d105094adc39d047d1efd79214394b8b2d515574c0787 + languageName: node + linkType: hard + "@types/react-is@npm:^16.7.1 || ^17.0.0": version: 17.0.3 resolution: "@types/react-is@npm:17.0.3" @@ -6410,6 +6436,17 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^18.0.12": + version: 18.0.12 + resolution: "@types/react@npm:18.0.12" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: 526ea13b3adf7fe4b475e55b7426510a7861ef2910664a9014ef42cba0c699d5167dc378eb161e2ec26c07a3b6fde9b6bdcbbb6f4b5580612246bc289395ef03 + languageName: node + linkType: hard + "@types/resolve@npm:0.0.8": version: 0.0.8 resolution: "@types/resolve@npm:0.0.8" @@ -6428,6 +6465,13 @@ __metadata: languageName: node linkType: hard +"@types/scheduler@npm:*": + version: 0.16.2 + resolution: "@types/scheduler@npm:0.16.2" + checksum: b6b4dcfeae6deba2e06a70941860fb1435730576d3689225a421280b7742318d1548b3d22c1f66ab68e414f346a9542f29240bc955b6332c5b11e561077583bc + languageName: node + linkType: hard + "@types/semver@npm:^7.3.9": version: 7.3.9 resolution: "@types/semver@npm:7.3.9" @@ -7285,7 +7329,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^5.0.0": +"ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b @@ -7317,6 +7361,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 + languageName: node + linkType: hard + "ansi-to-html@npm:^0.6.4": version: 0.6.14 resolution: "ansi-to-html@npm:0.6.14" @@ -8249,6 +8300,10 @@ __metadata: "@nivo/line": ~0.79.0 "@nivo/pie": ~0.79.0 "@nivo/tooltip": ~0.79.0 + "@types/jest": ^28.1.1 + "@types/node": ^17.0.41 + "@types/react": ^18.0.12 + "@types/react-dom": ^18.0.5 "@vx/axis": ~0.0.199 "@vx/glyph": ~0.0.199 "@vx/grid": ~0.0.199 @@ -8280,6 +8335,7 @@ __metadata: react-scripts: 4.0.2 react-spring: ~9.1.2 styled-components: ~5.3.3 + typescript: ^4.7.3 yarn-audit-fix: ~9.0.11 dependenciesMeta: "@react-spring/core": @@ -11016,6 +11072,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^27.5.1": + version: 27.5.1 + resolution: "diff-sequences@npm:27.5.1" + checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca + languageName: node + linkType: hard + "diffie-hellman@npm:^5.0.0": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" @@ -15513,6 +15576,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"jest-diff@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-diff@npm:27.5.1" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 + languageName: node + linkType: hard + "jest-docblock@npm:^26.0.0": version: 26.0.0 resolution: "jest-docblock@npm:26.0.0" @@ -15571,6 +15646,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"jest-get-type@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-get-type@npm:27.5.1" + checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 + languageName: node + linkType: hard + "jest-haste-map@npm:^26.6.2": version: 26.6.2 resolution: "jest-haste-map@npm:26.6.2" @@ -15644,6 +15726,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"jest-matcher-utils@npm:^27.0.0": + version: 27.5.1 + resolution: "jest-matcher-utils@npm:27.5.1" + dependencies: + chalk: ^4.0.0 + jest-diff: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a + languageName: node + linkType: hard + "jest-message-util@npm:^26.6.0, jest-message-util@npm:^26.6.2": version: 26.6.2 resolution: "jest-message-util@npm:26.6.2" @@ -20477,6 +20571,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"pretty-format@npm:^27.0.0, pretty-format@npm:^27.5.1": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" + dependencies: + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^17.0.1 + checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 + languageName: node + linkType: hard + "probe-image-size@npm:^7.2.3": version: 7.2.3 resolution: "probe-image-size@npm:7.2.3" @@ -24242,6 +24347,26 @@ resolve@^0.6.1: languageName: node linkType: hard +"typescript@npm:^4.7.3": + version: 4.7.3 + resolution: "typescript@npm:4.7.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: fd13a1ce53790a36bb8350e1f5e5e384b5f6cb9b0635114a6d01d49cb99916abdcfbc13c7521cdae2f2d3f6d8bc4a8ae7625edf645a04ee940588cd5e7597b2f + languageName: node + linkType: hard + +"typescript@patch:typescript@^4.7.3#~builtin": + version: 4.7.3 + resolution: "typescript@patch:typescript@npm%3A4.7.3#~builtin::version=4.7.3&hash=493e53" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 8257ce7ecbbf9416da60045a76a99d473698ca9e973fa0ddab7137cacb1587255431176cbbcc801a650938c4dc8109ab88355774829a714fabe56a53a2fe4524 + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.0": version: 1.0.0 resolution: "unbox-primitive@npm:1.0.0" From 47f5b174551f021e85af45ae699628afddc12b35 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Jun 2022 11:35:47 -0500 Subject: [PATCH 012/664] Add typescript config file and delete jsconfig.json --- jsconfig.json | 10 ---------- src/react-app-env.d.ts | 1 + tsconfig.json | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 10 deletions(-) delete mode 100644 jsconfig.json create mode 100644 src/react-app-env.d.ts create mode 100644 tsconfig.json diff --git a/jsconfig.json b/jsconfig.json deleted file mode 100644 index 90b423a67..000000000 --- a/jsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "jsx": "react", - "baseUrl": "src", - "paths": { - "*": ["*"] - } - }, - "exclude": ["node_modules", "static", "build", "packages/**/node_modules"] -} diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts new file mode 100644 index 000000000..6431bc5fc --- /dev/null +++ b/src/react-app-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..4a048c040 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "module": "esnext", + "sourceMap": true, + "jsx": "react-jsx", + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "baseUrl": "src" + }, + "exclude": [ + "node_modules", + "static", + "build", + "packages/**/node_modules" + ], + "include": [ + "src" + ] +} From e904b7b27849c83c763e6e7d61167d75a45bc8f3 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Jun 2022 11:36:17 -0500 Subject: [PATCH 013/664] Change colorUtils file for now using typescript --- src/utils/colorUtils.js | 29 ----------------------------- src/utils/colorUtils.ts | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 29 deletions(-) delete mode 100644 src/utils/colorUtils.js create mode 100644 src/utils/colorUtils.ts diff --git a/src/utils/colorUtils.js b/src/utils/colorUtils.js deleted file mode 100644 index a45f8085c..000000000 --- a/src/utils/colorUtils.js +++ /dev/null @@ -1,29 +0,0 @@ -/* eslint-disable no-bitwise */ -/** - * Lighten or darken color base on percent sign. Taken from https://gist.github.com/renancouto/4675192 - * @param {String} color Hex color - * @param {Number} percent percentage value - */ -const changeColor = (color, percent) => { - const num = parseInt(color.replace('#', ''), 16); - const amt = Math.round(2.55 * percent); - const R = (num >> 16) + amt; - const B = ((num >> 8) & 0x00FF) + amt; - const G = (num & 0x0000FF) + amt; - - const newR = R < 1 ? 0 : R; - const newB = B < 1 ? 0 : B; - const newG = G < 1 ? 0 : G; - - return `#${( - 0x1000000 - + (R < 255 ? newR : 255) * 0x10000 - + (B < 255 ? newB : 255) * 0x100 - + (G < 255 ? newG : 255) - ).toString(16).slice(1)}`; -}; - -const lightenColor = (color, percent) => changeColor(color, percent); -const darkenColor = (color, percent) => changeColor(color, percent * -1); - -export { lightenColor, darkenColor }; diff --git a/src/utils/colorUtils.ts b/src/utils/colorUtils.ts new file mode 100644 index 000000000..c522d2522 --- /dev/null +++ b/src/utils/colorUtils.ts @@ -0,0 +1,29 @@ +/* eslint-disable no-bitwise */ +/** + * Lighten or darken color base on percent sign. Taken from https://gist.github.com/renancouto/4675192 + * @param {String} color Hex color + * @param {Number} percent percentage value + */ +const changeColor = (color: string, percent: number) => { + const num: number = parseInt(color.replace('#', ''), 16); + const amt: number = Math.round(2.55 * percent); + const R: number = (num >> 16) + amt; + const B: number = ((num >> 8) & 0x00FF) + amt; + const G: number = (num & 0x0000FF) + amt; + + const newR: number = R < 1 ? 0 : R; + const newB: number = B < 1 ? 0 : B; + const newG: number = G < 1 ? 0 : G; + + return `#${( + 0x1000000 + + (R < 255 ? newR : 255) * 0x10000 + + (B < 255 ? newB : 255) * 0x100 + + (G < 255 ? newG : 255) + ).toString(16).slice(1)}`; +}; + +const lightenColor = (color: string, percent: number) => changeColor(color, percent); +const darkenColor = (color: string, percent: number) => changeColor(color, percent * -1); + +export { lightenColor, darkenColor }; From 5b7bf7569eb8115b5d0b74b598ce04f0dd49a652 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Jun 2022 11:50:30 -0500 Subject: [PATCH 014/664] Add ~ symbol to typescript dependency --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c384d6c4d..48ce4861b 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "react-scripts": "4.0.2", "react-spring": "~9.1.2", "styled-components": "~5.3.3", - "typescript": "^4.7.3" + "typescript": "~4.7.3" }, "dependenciesMeta": { "@react-spring/core": { From ed9fadb51e18535a4aabbf5d6b2df04f88fd676c Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Jun 2022 12:09:31 -0500 Subject: [PATCH 015/664] Update yarn.lock --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 05ca8e64c..1618dad10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8335,7 +8335,7 @@ __metadata: react-scripts: 4.0.2 react-spring: ~9.1.2 styled-components: ~5.3.3 - typescript: ^4.7.3 + typescript: ~4.7.3 yarn-audit-fix: ~9.0.11 dependenciesMeta: "@react-spring/core": @@ -24347,7 +24347,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"typescript@npm:^4.7.3": +"typescript@npm:~4.7.3": version: 4.7.3 resolution: "typescript@npm:4.7.3" bin: @@ -24357,7 +24357,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"typescript@patch:typescript@^4.7.3#~builtin": +"typescript@patch:typescript@~4.7.3#~builtin": version: 4.7.3 resolution: "typescript@patch:typescript@npm%3A4.7.3#~builtin::version=4.7.3&hash=493e53" bin: From 59401154b1668b7c81375e7917215407fe6189d4 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Jun 2022 17:29:13 -0500 Subject: [PATCH 016/664] Add type to return --- src/utils/colorUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/colorUtils.ts b/src/utils/colorUtils.ts index c522d2522..44409c7fb 100644 --- a/src/utils/colorUtils.ts +++ b/src/utils/colorUtils.ts @@ -4,7 +4,7 @@ * @param {String} color Hex color * @param {Number} percent percentage value */ -const changeColor = (color: string, percent: number) => { +const changeColor = (color: string, percent: number): string => { const num: number = parseInt(color.replace('#', ''), 16); const amt: number = Math.round(2.55 * percent); const R: number = (num >> 16) + amt; From 01b49637729ae6b9ba774dc3f164ae59f90a1fa3 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Jun 2022 17:29:40 -0500 Subject: [PATCH 017/664] Change @types/* to devDependencies --- package.json | 7 +++--- yarn.lock | 69 +--------------------------------------------------- 2 files changed, 4 insertions(+), 72 deletions(-) diff --git a/package.json b/package.json index 48ce4861b..40ee63c27 100644 --- a/package.json +++ b/package.json @@ -20,10 +20,6 @@ "@nivo/line": "~0.79.0", "@nivo/pie": "~0.79.0", "@nivo/tooltip": "~0.79.0", - "@types/jest": "^28.1.1", - "@types/node": "^17.0.41", - "@types/react": "^18.0.12", - "@types/react-dom": "^18.0.5", "@vx/axis": "~0.0.199", "@vx/glyph": "~0.0.199", "@vx/grid": "~0.0.199", @@ -58,6 +54,9 @@ } }, "devDependencies": { + "@types/node": "^17.0.41", + "@types/react": "^18.0.12", + "@types/react-dom": "^18.0.5", "eslint": "~7.19.0", "eslint-config-airbnb": "~18.2.1", "eslint-plugin-import": "~2.25.4", diff --git a/yarn.lock b/yarn.lock index 1618dad10..363ee4985 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6264,16 +6264,6 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^28.1.1": - version: 28.1.1 - resolution: "@types/jest@npm:28.1.1" - dependencies: - jest-matcher-utils: ^27.0.0 - pretty-format: ^27.0.0 - checksum: 0a8b045a7b660372decc807c390d3f99a2b12bb1659a1cd593afe04557f4b7c235b0576a5e35b1577710d20e42759d3d8755eb8bed6edc8733f47007e75a5509 - languageName: node - linkType: hard - "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.3, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6": version: 7.0.7 resolution: "@types/json-schema@npm:7.0.7" @@ -7329,7 +7319,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": +"ansi-regex@npm:^5.0.0": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b @@ -7361,13 +7351,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 - languageName: node - linkType: hard - "ansi-to-html@npm:^0.6.4": version: 0.6.14 resolution: "ansi-to-html@npm:0.6.14" @@ -8300,7 +8283,6 @@ __metadata: "@nivo/line": ~0.79.0 "@nivo/pie": ~0.79.0 "@nivo/tooltip": ~0.79.0 - "@types/jest": ^28.1.1 "@types/node": ^17.0.41 "@types/react": ^18.0.12 "@types/react-dom": ^18.0.5 @@ -11072,13 +11054,6 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^27.5.1": - version: 27.5.1 - resolution: "diff-sequences@npm:27.5.1" - checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca - languageName: node - linkType: hard - "diffie-hellman@npm:^5.0.0": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" @@ -15576,18 +15551,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-diff@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-diff@npm:27.5.1" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 - languageName: node - linkType: hard - "jest-docblock@npm:^26.0.0": version: 26.0.0 resolution: "jest-docblock@npm:26.0.0" @@ -15646,13 +15609,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-get-type@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-get-type@npm:27.5.1" - checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 - languageName: node - linkType: hard - "jest-haste-map@npm:^26.6.2": version: 26.6.2 resolution: "jest-haste-map@npm:26.6.2" @@ -15726,18 +15682,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-matcher-utils@npm:^27.0.0": - version: 27.5.1 - resolution: "jest-matcher-utils@npm:27.5.1" - dependencies: - chalk: ^4.0.0 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a - languageName: node - linkType: hard - "jest-message-util@npm:^26.6.0, jest-message-util@npm:^26.6.2": version: 26.6.2 resolution: "jest-message-util@npm:26.6.2" @@ -20571,17 +20515,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pretty-format@npm:^27.0.0, pretty-format@npm:^27.5.1": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^17.0.1 - checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 - languageName: node - linkType: hard - "probe-image-size@npm:^7.2.3": version: 7.2.3 resolution: "probe-image-size@npm:7.2.3" From d08ab69e4f54227086ef2fb34a8d11ccc1e9866f Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 13 Jun 2022 11:58:29 -0500 Subject: [PATCH 018/664] =?UTF-8?q?eslint-plugin-react=20versi=C3=B3n=20wa?= =?UTF-8?q?s=20set=20to=207.24.0=20to=20avoid=20incompatibilities=20and=20?= =?UTF-8?q?warning=20created=20by=20eslint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- yarn.lock | 72 +++++++++++++++------------------------------------- 2 files changed, 21 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index 8c5337e02..461e70635 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "eslint-config-airbnb": "~18.2.1", "eslint-plugin-import": "~2.26.0", "eslint-plugin-jsx-a11y": "~6.5.1", - "eslint-plugin-react": "~7.30.0", + "eslint-plugin-react": "~7.24.0", "eslint-plugin-react-hooks": "~1.7.0", "husky": "~4.3.8", "lint-staged": "~10.5.4", diff --git a/yarn.lock b/yarn.lock index 84756ca8d..3928c8e23 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8371,19 +8371,6 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.5": - version: 3.1.5 - resolution: "array-includes@npm:3.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - get-intrinsic: ^1.1.1 - is-string: ^1.0.7 - checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 - languageName: node - linkType: hard - "array-normalize@npm:^1.1.4": version: 1.1.4 resolution: "array-normalize@npm:1.1.4" @@ -8471,7 +8458,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.0": +"array.prototype.flatmap@npm:^1.2.4": version: 1.3.0 resolution: "array.prototype.flatmap@npm:1.3.0" dependencies: @@ -9180,7 +9167,7 @@ __metadata: eslint-config-airbnb: ~18.2.1 eslint-plugin-import: ~2.26.0 eslint-plugin-jsx-a11y: ~6.5.1 - eslint-plugin-react: ~7.30.0 + eslint-plugin-react: ~7.24.0 eslint-plugin-react-hooks: ~1.7.0 husky: ~4.3.8 indicators: 1.0.0 @@ -12978,27 +12965,25 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:~7.30.0": - version: 7.30.0 - resolution: "eslint-plugin-react@npm:7.30.0" +"eslint-plugin-react@npm:~7.24.0": + version: 7.24.0 + resolution: "eslint-plugin-react@npm:7.24.0" dependencies: - array-includes: ^3.1.5 - array.prototype.flatmap: ^1.3.0 + array-includes: ^3.1.3 + array.prototype.flatmap: ^1.2.4 doctrine: ^2.1.0 - estraverse: ^5.3.0 + has: ^1.0.3 jsx-ast-utils: ^2.4.1 || ^3.0.0 - minimatch: ^3.1.2 - object.entries: ^1.1.5 - object.fromentries: ^2.0.5 - object.hasown: ^1.1.1 - object.values: ^1.1.5 - prop-types: ^15.8.1 + minimatch: ^3.0.4 + object.entries: ^1.1.4 + object.fromentries: ^2.0.4 + object.values: ^1.1.4 + prop-types: ^15.7.2 resolve: ^2.0.0-next.3 - semver: ^6.3.0 - string.prototype.matchall: ^4.0.7 + string.prototype.matchall: ^4.0.5 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 729b7682a0fe6eab068171c159503ac57120ecc7b20067e76300b08879745c16a687e2033378ab45d9a3182da8844d06197a89081be83e1eb21fcceb76e79214 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 + checksum: bf844f98d93f3617fbd03df4be4f4c9e8e49ea035678762b73a28df730e9518d5ac636293f6326b41b4a0678f9dfa059ce559f6652c7a2d914d477ec3a389619 languageName: node linkType: hard @@ -13277,13 +13262,6 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.3.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b - languageName: node - linkType: hard - "estree-walker@npm:^0.6.1": version: 0.6.1 resolution: "estree-walker@npm:0.6.1" @@ -19197,7 +19175,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.entries@npm:^1.1.5": +"object.entries@npm:^1.1.4": version: 1.1.5 resolution: "object.entries@npm:1.1.5" dependencies: @@ -19220,7 +19198,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.fromentries@npm:^2.0.5": +"object.fromentries@npm:^2.0.4": version: 2.0.5 resolution: "object.fromentries@npm:2.0.5" dependencies: @@ -19242,16 +19220,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.hasown@npm:^1.1.1": - version: 1.1.1 - resolution: "object.hasown@npm:1.1.1" - dependencies: - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d8ed4907ce57f48b93e3b53c418fd6787bf226a51e8d698c91e39b78e80fe5b124cb6282f6a9d5be21cf9e2c7829ab10206dcc6112b7748860eefe641880c793 - languageName: node - linkType: hard - "object.pick@npm:^1.3.0": version: 1.3.0 resolution: "object.pick@npm:1.3.0" @@ -19273,7 +19241,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.values@npm:^1.1.5": +"object.values@npm:^1.1.4, object.values@npm:^1.1.5": version: 1.1.5 resolution: "object.values@npm:1.1.5" dependencies: @@ -24031,7 +23999,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.7": +"string.prototype.matchall@npm:^4.0.5": version: 4.0.7 resolution: "string.prototype.matchall@npm:4.0.7" dependencies: From e60761dbe3c14b827764e8de1b1300490fe46e0d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 30 Jun 2022 14:22:24 -0500 Subject: [PATCH 019/664] a function is created to return texts from a specific section --- src/utils/restAPI.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 2af757f74..6959b95d2 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -416,6 +416,17 @@ class RestAPI { return RestAPI.makeGetRequest(`functional-diversity/dry-forest/features?areaType=${areaType}&areaId=${areaId}`); } + /** + * Get texts associated to one section + * + * @param {String} key section key + * + * @return {Promise} Object with texts + */ + static requestSectionTexts(key) { + return RestAPI.makeGetRequest(`util/texts?key=${key}`); + } + /** ******************** */ /** MAPS - SEARCH MODULE */ /** ******************** */ From 7693e30621baeabc3118e0a81d26fc318834606f Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 30 Jun 2022 14:22:42 -0500 Subject: [PATCH 020/664] old texts are deleted from richness section --- .../drawer/species/richness/InfoTexts.jsx | 138 ------------------ 1 file changed, 138 deletions(-) delete mode 100644 src/pages/search/drawer/species/richness/InfoTexts.jsx diff --git a/src/pages/search/drawer/species/richness/InfoTexts.jsx b/src/pages/search/drawer/species/richness/InfoTexts.jsx deleted file mode 100644 index de986eff7..000000000 --- a/src/pages/search/drawer/species/richness/InfoTexts.jsx +++ /dev/null @@ -1,138 +0,0 @@ -const NOSInferredTexts = {}; - -NOSInferredTexts.info = 'La riqueza mide el número de especies que se encuentran en un área de consulta, identificando zonas con alta (color azul en el mapa) o baja concentración (color crema en el mapa). Los valores de riqueza de especies se presentan de manera relativa con puntos de comparación para el área consultada. Cada una de las gráficas representan la riqueza de distintos tipos de especies clave (total, amenazadas, invasoras y endémicas) y se encuentra dividida en dos secciones: 1) la riqueza de especies en las unidades de consulta (p.ej. departamentos - color amarillo), y su 2) proporción respecto a su región natural correspondiente (p.ej. región Andes, Caribe, Pacífico, Orinoquia o Amazonas - color naranja). Adicionalmente, se muestra con un punto sobre la barra el valor de riqueza de la unidad de consulta (p.ej. Antioquia), y el valor mínimo y máximo de las demás unidades de consulta del mismo tipo (p.ej. departamentos).'; - -NOSInferredTexts.meto = `El número de especies total inferido fue calculado a partir de la suma de 5808 -BioModelos, -en donde se identifican las condiciones climáticamente idóneas donde las especies pueden potencialmente habitar a una resolución de 1km2 -(Phillips & Dudik 2008, -Velásquez-Tibatá et al. 2019). -Para el número de especies amenazadas se sumaron los -BioModelos -de las especies categorizadas en peligro crítico de extinción (CR), en peligro de extinción (EN) y vulnerable (VU) según la -Unión Internacional para la Conservación de la Naturaleza -UICN- -Para las especies invasoras se construyeron 23 BioModelos de especies de plantas (Salgado-Negret et al. Sometido) usando registros de presencias y variables bioclimáticas para obtener mapas de su distribución potencial -(Phillips & Dudik 2008). -Las especies invasoras modeladas fueron priorizadas por su alto potencial de invasión en el país -(Cárdenas-López et al. 2010). -Las especies endémicas se identificaron considerando los listados nacionales de especies publicados a través del -SiB Colombia, -y se espacializaron con los mapas disponibles en el portal de la -UICN -(González et al. 2018)`; - -NOSInferredTexts.cons = `
    -
  • - La riqueza puede ser utilizada como un indicador del estado de la biodiversidad del área consultada siempre y cuando se acompañe de información sobre la identidad y estado de las especies presentes. Un valor alto de riqueza, no necesariamente indica un buen estado de conservación. Se recomienda leer este indicador en conjunto con los demás indicadores de las secciones Ecosistemas y Paisajes en BioTablero para identificar un panorama más amplio sobre el estado de la biodiversidad del área de consulta. -
  • -
  • - El número de especies inferido resulta de la distribución potencial de las especies, y se relaciona con su presencia probable en respuesta a las condiciones climáticas. Otras variables como el hábitat o las interacciones bióticas determinan la presencia actual de las especies pero no estas no fueron incluídas. Las cifras presentadas deben tomarse como valores potenciales y no absolutos. -
  • -
  • - Los 5808 modelos representan sólo una muestra de las especies existentes en el país, por lo que los valores presentados no reflejan el número real de especies sobre el territorio; estos valores pueden estar sobre o subestimados. -
  • -
`; - -NOSInferredTexts.quote = `Los -BioModelos -(Velásquez-Tibatá et al. 2019) -utilizados para la cuantificación del número de especies inferido fueron construidos por el Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt- y pueden ser descargados a través de -BioModelos. -

-Las rutinas empleadas para la construcción de los -BioModelos -se encuentran disponibles en el -repositorio del Programa de Evaluación y Monitoreo de la Biodiversidad del Instituto Humboldt. -

-Para mayor información puede comunicarse por correo electrónico a -biomodelos@humboldt.org.co.`; - -export { NOSInferredTexts }; - -const NOSObservedTexts = {}; - -NOSObservedTexts.info = 'La riqueza mide el número de especies que se encuentran en un área de consulta. Los valores de riqueza de especies se presentan de manera relativa con puntos de comparación para el área consultada. Cada una de las gráficas representan la riqueza de distintos tipos de especies clave (total, amenazadas, invasoras y endémicas) y se encuentra dividida en dos secciones: 1) la riqueza de especies en las unidades de consulta (p.ej. departamentos - color amarillo), y su 2) proporción respecto a su región natural correspondiente (p.ej. región Andes, Caribe, Pacífico, Orinoquia o Amazonas - color naranja). Adicionalmente, se muestra con un punto sobre la barra el valor de riqueza de la unidad de consulta (p.ej. Antioquia), y el valor mínimo y máximo de las demás unidades de consulta del mismo tipo (p.ej. departamentos).'; - -NOSObservedTexts.meto = `El número de especies observado fue calculado a partir de 11,730,023 registros georeferenciados obtenidos de la base de datos -"the Global Biodiversity Information Facility -GBIF-". -Las especies amenazadas se definieron como aquellas categorizadas en peligro crítico de extinción (CR), en peligro de extinción (EN) y vulnerable (VU) según la -resolución 1912 de 2017 -del Ministerio de Ambiente y Desarrollo Sostenible. Las especies exóticas se identificaron mediante distintas fuentes de información, como -Invasive Species Compendium (ISC), -Global Invasive Species Database (GISD), -Inter-American Biodiversity Information Network (IABIN), -además de diversos artículos científicos. Las especies endémicas se validaron a nivel de país usando distintas fuentes como -AmphibiaWeb, -Bernal et al., 2015, -Maldonado-Ocampo et al, 2008, -Solari et al., 2013, -Species lists of birds for South American countries and territories, -The Reptile Database, -Lista del Catálogo de Plantas y Líquenes de Colombia, -Lista de referencias de Mamíferos de Colombia, -Lista de especies de agua dulce de Colombia, -Lista de referencia de especies de aves de Colombia.`; - -NOSObservedTexts.cons = `
    -
  • - La riqueza puede ser utilizada como un indicador del estado de la biodiversidad del área consultada siempre y cuando se acompañe de información sobre la identidad y estado de las especies presentes. Un valor alto de riqueza, no necesariamente indica un buen estado de conservación. Se recomienda leer este indicador en conjunto con los demás indicadores de las secciones Ecosistemas y Paisajes en BioTablero para identificar un panorama más amplio sobre el estado de la biodiversidad del área de consulta. -
  • -
  • - Los registros utilizados no cuentan con un proceso de depuración y pueden incluir errores de identificación taxonómica y de georeferenciación, por lo que los valores presentados no reflejan el número real de especies sobre el territorio, estos valores pueden estar sobre o subestimados. -
  • -
  • - Los registros tienen un sesgo geográfico relacionado principalmente con la accesibilidad a los sitios de muestreo. En este sentido se recomienda leer este indicador en conjunto con el Análisis de Vacíos en Biodiversidad Continental para Colombia (AVBCC) disponible en BioTablero, con el fin de evaluar la representatividad de los registros en el área de consulta. -
  • -
`; - -NOSObservedTexts.quote = `El proceso de obtención de los registros y la cuantificación de la riqueza de especies está a cargo de la -Infraestructura Institucional de Datos (I2D) -del Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt-. Las rutinas para estos cálculos pueden consultarse en su -repositorio de código abierto -

-http://humboldt.org.co/es/servicios/servicios-y-recursos/infraestructura-institucional-de-datos -i2d@humboldt.org.co.`; - -export { NOSObservedTexts }; - -export const NumberOfSpeciesTextHelper = 'Haga click en un icono para visualizar un tipo de riqueza o ambas. En inferido puede hacer clic en cada barra para visualizar el mapa de riqueza correspondiente'; - -const SpeciesRecordsGapsTexts = {}; - -SpeciesRecordsGapsTexts.info = 'El Análisis de Vacíos en Biodiversidad Continental para Colombia (AVBCC) identifica la representatividad de la información sobre biodiversidad asociada al número de registros biológicos en un área de consulta. El resultado es un mapa con valores entre 0% (color azul) y 100% (color rojo), donde 0 indica áreas sin vacíos de información (bien representada) y 100 indica áreas con los mayores vacíos de información sobre biodiversidad. En estas últimas áreas se sugieren mayores esfuerzos de muestreos para mejorar el conocimiento de la biodiversidad. En la figura se representa el valor del AVBCC como un punto, y además se presentan otros seis valores útiles para su comparación: 1) el valor mínimo y 2) máximo del AVBCC en el área de consulta (p.ej. Antioquia), 3) el valor mínimo y 4) máximo del AVBCC en las demás áreas de consulta del mismo tipo de la misma región (p.ej. departamentos de la región Andes), 5) el valor mínimo y 6) máximo del AVBCC en la región biótica correspondiente al área de consulta (p.ej. región Andes).'; - -SpeciesRecordsGapsTexts.meto = `Los registros empleados para el cálculo del AVBCC se encuentran disponibles para Colombia en bases de datos como el -SiB Colombia -y -"the Global Biodiversity Information Facility -GBIF-" -- El índice integrado AVBCC se obtiene de promediar tres componentes: 1) concentración de los datos en el espacio geográfico (densidad de registros); 2) representatividad ambiental, siguiendo la metodología propuesta por -(Aguiar et al. 2020), -la cual modela los registros de especies sobre variables bioclimáticas para identificar las regiones no estudiadas que son ambientalmente diferentes; y 3) complementariedad de la riqueza de especies, la cual calcula la presencia de especies según la densidad de registros en celdas de 1km2, -y con base en estimaciones no paramétricas de -Jackknife -de primer orden, se estima la riqueza esperada en cada celda, siendo el valor de complementariedad, la diferencia entre el valor estimado y el esperado. La ruta metodológica hace parte de la propuesta de -(García Márquez et al. 2012) -para la estimación de un índice espacial de los registros de especies, y cuenta con algunos ajustes para el país.`; - -SpeciesRecordsGapsTexts.quote = `El mapa de vacíos se encuentra disponible en el -Repositorio Geográfico -del Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt-. -

-Las rutinas que se emplearon para el cálculo del AVBCC se encuentran disponibles en el -repositorio del Programa de Evaluación y Monitoreo del Instituto Humboldt.

-El trabajo para la generación del AVBCC es liderado por -Cristian Cruz Rodríguez -y colaboradores en el I. Humboldt.`; - -SpeciesRecordsGapsTexts.cons = `
    -
  • - Los registros obtenidos para el presente análisis fueron descargados en enero de 2021 y se les aplicaron rutinas de verificación geográfica y taxonómica que pueden ser consultadas en los siguientes enlaces: - Verificación Geográfica, - Verificación Taxonómica. -
  • -
  • - La información obtenida en el presente análisis no cuantifica el nivel de sesgo de la información obtenida, dado que el número de registros presente en un sector puede estar influenciado por su cercanía a vías, ríos u otras unidades político-administrativas. -
  • -
`; - -export { SpeciesRecordsGapsTexts }; From ab112c459837bf404bd1d43a3e28b9b6ac3aeb55 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 30 Jun 2022 14:22:57 -0500 Subject: [PATCH 021/664] Load texts from db --- .../species/richness/NumberOfSpecies.jsx | 43 ++++++++++++++++--- .../species/richness/SpeciesRecordsGaps.jsx | 29 +++++++------ 2 files changed, 55 insertions(+), 17 deletions(-) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx index edf8339ec..bae9a0a12 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx @@ -14,7 +14,6 @@ import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import SearchContext from 'pages/search/SearchContext'; import ShortInfo from 'components/ShortInfo'; -import { NOSInferredTexts, NOSObservedTexts, NumberOfSpeciesTextHelper } from 'pages/search/drawer/species/richness/InfoTexts'; import biomodelos from 'images/biomodelos.png'; import mappoint from 'images/mappoint.png'; @@ -26,8 +25,9 @@ import fullview from 'images/fullview.png'; import TextBoxes from 'components/TextBoxes'; const NOSTexts = { - inferred: NOSInferredTexts, - observed: NOSObservedTexts, + inferred: {}, + observed: {}, + helper: '', }; const getLabel = (key, area, region) => { @@ -81,7 +81,7 @@ class NumberOfSpecies extends React.Component { message: 'loading', selected: 'total', bioticRegion: 'Región Biótica', - texts: NOSInferredTexts, + texts: {}, maximumValues: [], showErrorMessage: false, }; @@ -149,6 +149,39 @@ class NumberOfSpecies extends React.Component { .catch(() => { this.setState({ message: 'no-data' }); }); + + RestAPI.requestSectionTexts('NOSInferredTexts') + .then((res) => { + if (this.mounted) { + NOSTexts.inferred = res; + this.setState({ + texts: NOSTexts.inferred, + }); + } + }) + .catch(() => { + NOSTexts.inferred = {}; + }); + + RestAPI.requestSectionTexts('NOSObservedTexts') + .then((res) => { + if (this.mounted) { + NOSTexts.observed = res; + } + }) + .catch(() => { + NOSTexts.observed = {}; + }); + + RestAPI.requestSectionTexts('NOSTexts') + .then((res) => { + if (this.mounted) { + NOSTexts.helper = res.helper; + } + }) + .catch(() => { + NOSTexts.helper = ''; + }); } componentWillUnmount() { @@ -308,7 +341,7 @@ class NumberOfSpecies extends React.Component { )}

- {NumberOfSpeciesTextHelper} + {NOSTexts.helper}

{ switch (areaType) { case 'states': @@ -72,6 +64,7 @@ class SpeciesRecordsGaps extends React.Component { concentrationFlag: false, showErrorMessage: false, csvData: [], + texts: {}, }; } @@ -126,6 +119,17 @@ class SpeciesRecordsGaps extends React.Component { this.setState({ messageConc: 'no-data' }); }); + RestAPI.requestSectionTexts('SpeciesRecordsGapsTexts') + .then((res) => { + if (this.mounted) { + this.setState({ + texts: res, + }); + } + }) + .catch(() => { + }); + isFlagEnabled('speciesRecordsConcentrarion') .then((value) => this.setState({ concentrationFlag: value })); } @@ -223,6 +227,7 @@ class SpeciesRecordsGaps extends React.Component { concentrationFlag, showErrorMessage, csvData, + texts, } = this.state; return (
@@ -236,7 +241,7 @@ class SpeciesRecordsGaps extends React.Component { {showInfoGraph && ( @@ -286,9 +291,9 @@ class SpeciesRecordsGaps extends React.Component { ))}
Date: Thu, 30 Jun 2022 16:49:04 -0500 Subject: [PATCH 022/664] Update the requirements file --- README.md | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 639fc1a92..f222ef1ce 100644 --- a/README.md +++ b/README.md @@ -4,31 +4,50 @@ Front-End de BioTablero. Este proyecto ha sido desarrollado por el [Instituto Humboldt](http://www.humboldt.org.co). El proyecto usa [React.js](https://reactjs.org). + ## 1. Instrucciones -Debe tener instalado [yarn](https://yarnpkg.com/) en su equipo local para la instalación de paquetes y ejecución del proyecto. Clone el proyecto en su equipo e ingrese por línea de comandos al directorio del proyecto. +### 1.1. Prerequisitos + +Debe tener instalado [nodejs](https://nodejs.org/) v14.15+ y [yarn](https://yarnpkg.com/) en su equipo local para la instalación de paquetes y ejecución del proyecto. + +Clone el proyecto en su equipo e ingrese por línea de comandos al directorio del proyecto. -### 1.1 Instalación de paquetes: +### 1.2. Instalación de paquetes: Ejecute la siguiente sentencia para instalar las dependencias del proyecto: yarn install -### 1.2 Construcción de dependencias: +### 1.3. Construcción de dependencias: Algunas dependencias del proyecto son paquetes incluídos en este mismo repositorio, para "*compilar*" dichas dependencias ejecute: - yarn workspaces foreach run build-pkg + yarn workspax ces foreach run build-pkg -### 1.3 Configuración de variables de entorno: +### 1.4. Configuración de variables de entorno: Crear una copia del archivo *.env* con el nombre *.env.local* actualizando los valores de las variables, de acuerdo a su entorno de desarollo. -### 1.4. Ejecución: +```sh +REACT_APP_BACKEND_URL='' +REACT_APP_GEOSERVER_URL='' +REACT_APP_BACKEND_KEY='' +REACT_APP_ENVIRONMENT='develop|staging|production' +REACT_APP_API_KEY='' +REACT_APP_DOMAIN='' +REACT_APP_PROJECT_ID='' +REACT_APP_STORAGE_BUCKET='' +REACT_APP_SENDER_ID='' +REACT_APP_APP_ID='' + +``` + +### 1.5. Ejecución: Por último, ejecute la siguiente instrucción: yarn start La instrucción iniciará el proyecto en su entorno local y se abrirá en el navegador. -### 1.5. Problemas +### 1.6. Problemas En caso de tener inconvenientes al ejecutar el proyecto en ubuntu revisar [este issue](https://github.com/facebook/create-react-app/issues/2549#issuecomment-315678389). From eb827c6af3bc76659e6d665aa5ba2cf94d902205 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 6 Jul 2022 16:43:45 -0500 Subject: [PATCH 023/664] change keys of section NOS --- .../species/richness/NumberOfSpecies.jsx | 6 +++--- .../species/richness/SpeciesRecordsGaps.jsx | 21 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx index bae9a0a12..c39015db5 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx @@ -150,7 +150,7 @@ class NumberOfSpecies extends React.Component { this.setState({ message: 'no-data' }); }); - RestAPI.requestSectionTexts('NOSInferredTexts') + RestAPI.requestSectionTexts('nosInferred') .then((res) => { if (this.mounted) { NOSTexts.inferred = res; @@ -163,7 +163,7 @@ class NumberOfSpecies extends React.Component { NOSTexts.inferred = {}; }); - RestAPI.requestSectionTexts('NOSObservedTexts') + RestAPI.requestSectionTexts('nosObserved') .then((res) => { if (this.mounted) { NOSTexts.observed = res; @@ -173,7 +173,7 @@ class NumberOfSpecies extends React.Component { NOSTexts.observed = {}; }); - RestAPI.requestSectionTexts('NOSTexts') + RestAPI.requestSectionTexts('nos') .then((res) => { if (this.mounted) { NOSTexts.helper = res.helper; diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx index 639cd850f..6bff5006f 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx @@ -48,6 +48,10 @@ const getLabelConcentration = (key) => ({ }[key] ); +const texts = { + gaps: {}, +}; + class SpeciesRecordsGaps extends React.Component { mounted = false; @@ -64,7 +68,6 @@ class SpeciesRecordsGaps extends React.Component { concentrationFlag: false, showErrorMessage: false, csvData: [], - texts: {}, }; } @@ -119,15 +122,14 @@ class SpeciesRecordsGaps extends React.Component { this.setState({ messageConc: 'no-data' }); }); - RestAPI.requestSectionTexts('SpeciesRecordsGapsTexts') + RestAPI.requestSectionTexts('gaps') .then((res) => { if (this.mounted) { - this.setState({ - texts: res, - }); + texts.gaps = res; } }) .catch(() => { + texts.gaps = { }; }); isFlagEnabled('speciesRecordsConcentrarion') @@ -227,7 +229,6 @@ class SpeciesRecordsGaps extends React.Component { concentrationFlag, showErrorMessage, csvData, - texts, } = this.state; return (
@@ -241,7 +242,7 @@ class SpeciesRecordsGaps extends React.Component { {showInfoGraph && ( @@ -291,9 +292,9 @@ class SpeciesRecordsGaps extends React.Component { ))}
Date: Wed, 6 Jul 2022 16:44:21 -0500 Subject: [PATCH 024/664] Add texts from data base for ecosystem section --- src/pages/search/drawer/Ecosystems.jsx | 60 ++--- .../drawer/strategicEcosystems/InfoTexts.jsx | 213 ------------------ 2 files changed, 32 insertions(+), 241 deletions(-) delete mode 100644 src/pages/search/drawer/strategicEcosystems/InfoTexts.jsx diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index f9b93d69b..cd48729c6 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -7,21 +7,6 @@ import GraphLoader from 'components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; import TextBoxes from 'components/TextBoxes'; -import { - sectionInfo, - CoverageText, - coverageMeto, - coverageCons, - coverageQuote, - PAText, - PACons, - PAQuote, - PAMeto, - SEText, - SEQuote, - SEMeto, - SECons, -} from 'pages/search/drawer/strategicEcosystems/InfoTexts'; import { transformPAValues, transformCoverageValues, @@ -42,6 +27,13 @@ import RestAPI from 'utils/restAPI'; */ const getPercentage = (part, total) => ((part * 100) / total).toFixed(2); +const texts = { + ecosystems: {}, + coverage: {}, + pa: {}, + se: {}, +}; + class StrategicEcosystems extends React.Component { mounted = false; @@ -148,6 +140,18 @@ class StrategicEcosystems extends React.Component { }, })); }); + + ['ecosystems', 'coverage', 'pa', 'se'].forEach((item) => { + RestAPI.requestSectionTexts(item) + .then((res) => { + if (this.mounted) { + texts[item] = res; + } + }) + .catch(() => { + texts[item] = {}; + }); + }); } componentWillUnmount() { @@ -246,7 +250,7 @@ class StrategicEcosystems extends React.Component { {showInfoMain && ( @@ -273,7 +277,7 @@ class StrategicEcosystems extends React.Component { {infoShown.has('coverage') && ( @@ -298,9 +302,9 @@ class StrategicEcosystems extends React.Component { this.toggleInfo('coverage')} isInfoOpen={infoShown.has('coverage')} /> @@ -319,7 +323,7 @@ class StrategicEcosystems extends React.Component { {infoShown.has('pa') && ( @@ -339,9 +343,9 @@ class StrategicEcosystems extends React.Component { this.toggleInfo('pa')} isInfoOpen={infoShown.has('pa')} /> @@ -361,7 +365,7 @@ class StrategicEcosystems extends React.Component { {infoShown.has('se') && ( @@ -370,9 +374,9 @@ class StrategicEcosystems extends React.Component { this.toggleInfo('se')} isInfoOpen={infoShown.has('se')} /> diff --git a/src/pages/search/drawer/strategicEcosystems/InfoTexts.jsx b/src/pages/search/drawer/strategicEcosystems/InfoTexts.jsx deleted file mode 100644 index 0dc2e79b9..000000000 --- a/src/pages/search/drawer/strategicEcosystems/InfoTexts.jsx +++ /dev/null @@ -1,213 +0,0 @@ -export const sectionInfo = `En esta sección se presenta en hectáreas el tipo de cobertura, áreas protegidas y ecosistemas estratégicos para el área consultada. Los porcentajes presentados son respecto al total del área consultada, con excepción de aquellos presentados para coberturas y áreas protegidas, construidos en relación a cada ecosistema estratégico. -

-Al interpretar estas cifras e indicadores se debe tener en cuenta que valores inferiores al 1% no son representados en las gráficas y que cualquier cálculo realizado a través de software SIG es una estimación del valor real y dependerá de los parámetros del sistema de proyección utilizado. El sistema de proyección utilizado para el cálculo de áreas en BioTablero es el Sistema MAGNA-SIRGAS con origen en Bogotá y adoptado para el país por el Instituto Geográfico Agustín Codazzi - IGAC.`; - -export const CoverageText = `La medición del porcentaje de cobertura natural (color azul), -secundaria (amarillo) y transformada (terracota) en el área consultada muestra el grado de -conservación o transformación de los ecosistemas, y permite medir el avance en el cumplimiento de -metas de conservación. Un mayor porcentaje de cobertura natural significa un mejor estado de los -ecosistemas, mientras un mayor porcentaje de cobertura transformada da a entender una mayor pérdida -de ecosistemas naturales. El porcentaje de cobertura secundaria puede mostrar procesos de -regeneración asistidos o naturales, y dar una referencia de la dinámica de rotación de los -cultivos en el área consultada. -`; - -export const coverageMeto = `Las cifras de cobertura se obtuvieron de la recategorización del - - Mapa de Cobertura de la Tierra 2018. - Siguiendo la - - Leyenda Nacional de Coberturas de la Tierra, -las coberturas naturales agrupan las categorías bosque denso, abierto, fragmentado, de galería y -ripario, herbazal, arbustal, zonas arenosas naturales, afloramientos rocosos, zonas glaciares y -nivales, áreas húmedas continentales y costeras, ríos, lagunas, lagos y ciénagas naturales, y -canales y lagunas costeras. Las coberturas transformadas agrupan las categorías territorios -artificializados y agrícolas, plantaciones forestales, tierras desnudas y degradadas, zonas -quemadas, cuerpos de agua artificiales y estanques para acuicultura marina. Las coberturas -secundarias corresponden a la categoría vegetación secundaria o en transición. -`; - -export const coverageCons = `Al interpretar las cifras e indicadores presentados con información de coberturas se deben tener en cuenta: - -`; - -export const coverageQuote = `El - - Mapa de Cobertura de la Tierra 2018 - -fue construido por el Instituto de Hidrología, Meteorología y Estudios Ambientales -IDEAM-, -el Instituto Amazónico de Investigaciones Científicas -SINCHI-, y Parques Nacionales Naturales -de Colombia -PNN- y puede descargarse desde el - - Catálogo de Mapas del Sistema de Información Ambiental de Colombia -SIAC-. - -
-
-La - - Leyenda Nacional de Coberturas de la Tierra - fue construida por el Instituto de Hidrología, Meteorología y Estudios Ambientales -IDEAM-.`; - -export const PAText = `El porcentaje de áreas protegidas es utilizado para medir el nivel de implementación de las políticas o las acciones para prevenir o reducir la pérdida de biodiversidad - -(Sparks, 2011). - El indicador se desagrega por los tipos de áreas protegidas incorporadas en el - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -Un mayor porcentaje de áreas protegidas se interpreta como mayor cantidad de áreas protegidas establecidas. -`; - -export const PAMeto = `El porcentaje de área representada en áreas protegidas se calculó a partir de -la superposición entre la capa del - - Registro Único Nacional de Áreas Protegidas -RUNAP- - y el área consultada. - -Las cifras e indicadores presentados siguieron el mismo desarrollo de las cifras e indicadores de las secciones -COBERTURA y AREAS PROTEGIAS, aplicados a la distribución de los ecosistemas de Páramo, Bosque Seco Tropical y Humedales.`; - -export const PACons = `Al interpretar las cifras e indicadores presentados se debe tener en cuenta: -
    -
  • - Este indicador debe complementarse con otros que den cuenta del estado -p. ej. el porcentaje de - cobertura natural- o las presiones sobre éstos -p. ej. Índice Espacial de Huella Humana o el - porcentaje de cobertura transformada-, para tener una mejor idea del estado de los ecosistemas - en el área consultada. -
  • -
  • - Es posible que existan áreas protegidas que no se estén teniendo en cuenta en estos cálculos, ya - que puede ocurrir que no todas las áreas de conservación a nivel regional y local se encuentren - inscritas en el Registro Único Nacional de Áreas Protegidas -RUNAP-; la incorporación en este - registro depende del reporte de las autoridades regionales y locales. -
  • -
  • - La capa del RUNAP utilizada para los cálculos fue consultada en marzo de 2022; modificaciones - posteriores al RUNAP no se encuentran reflejadas. -
  • -
  • - Para evitar la sobreestimación del porcentaje de áreas protegidas, las superposiciones - espaciales entre distintos tipos de áreas protegidas del RUNAP fueron incluidas en el cálculo - una sola vez. -
  • -
-`; - -export const PAQuote = `El - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -se encuentra en cabeza de Parques Nacionales Naturales y puede descargarse desde - - RUNAP en Cifras. - -`; - -export const SEText = `Se presenta el área de Páramo, Bosque Seco Tropical y Humedales para el área -consultada, y para cada ecosistema su porcentaje de cobertura natural, secundaria y transformada, y -su representación en áreas protegidas. El - - Primer Borrador del Marco Mundial de Biodiversidad post 2020 - -(Meta 3) plantea la conservación del 30 % de las zonas de particular importancia para la diversidad -biológica y sus contribuciones a las personas. Estos ecosistemas estratégicos favorecen la oferta de bienes y -servicios ambientales esenciales para el desarrollo sostenible del país. -`; - -export const SEMeto = `Las cifras e indicadores presentados siguieron el mismo desarrollo de las cifras e indicadores de las secciones COBERTURA y ÁREAS PROTEGIDAS, aplicados a la distribución de los ecosistemas - - Páramo, - - - Bosque Seco Tropical y - - - Humedales. - -`; - -export const SECons = ` -
    -
  • Las mismas consideraciones de las cifras e indicadores presentados en las secciones de COBERTURA Y ÁREAS PROTEGIDAS. -
  • -
-`; - -export const SEQuote = `El - - Mapa de Cobertura de la Tierra 2018 - -fue construido por el Instituto de Hidrología, Meteorología y Estudios Ambientales - IDEAM, el -Instituto Amazónico de Investigaciones Científicas - SINCHI, y Parques Nacionales Naturales de -Colombia - PNN y puede descargarse desde el - - Catálogo de Mapas del Sistema de Información Ambiental de Colombia -SIAC-. - -
-
-La - - Leyenda Nacional de Coberturas de la Tierra - -fue construida por el Instituto de Hidrología, Meteorología y Estudios Ambientales - IDEAM. -
-
-El - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -se encuentra en cabeza de Parques Nacionales Naturales y puede descargarse desde - - RUNAP en Cifras. - -
-
-La distribución de los ecosistemas de - - Páramo, - - - Bosque Seco Tropical - -y - - Humedales - -fue construida por el Instituto de Investigación de Recursos Biológicos Alexander von Humboldt --I. Humboldt- y pueden descargarse desde su - - Repositorio Geográfico - - - (Páramo, - - - Bosque Seco Tropical - -y - - Humedales). -`; From 81d6dcf554a21acc0dfb084fce6750ac953ebf2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 8 Jul 2022 09:06:44 -0500 Subject: [PATCH 025/664] Update the requirements file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f222ef1ce..e88a1c2f8 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Ejecute la siguiente sentencia para instalar las dependencias del proyecto: ### 1.3. Construcción de dependencias: Algunas dependencias del proyecto son paquetes incluídos en este mismo repositorio, para "*compilar*" dichas dependencias ejecute: - yarn workspax ces foreach run build-pkg + yarn workspaces foreach run build-pkg ### 1.4. Configuración de variables de entorno: Crear una copia del archivo *.env* con el nombre *.env.local* actualizando los valores de las variables, de acuerdo a su entorno de desarollo. From 031b0922bc8e263375e144a6097d071187a273ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 8 Jul 2022 17:06:33 -0500 Subject: [PATCH 026/664] Update the requirements file --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index e88a1c2f8..24f3cd8c9 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,13 @@ Debe tener instalado [nodejs](https://nodejs.org/) v14.15+ y [yarn](https://yarn Clone el proyecto en su equipo e ingrese por línea de comandos al directorio del proyecto. +En caso de no tener la versión de nodejs requerida se puede activar a partir del archivo .nvmrc ejecutando el siguiente comando: + +```sh +nvm use + +``` + ### 1.2. Instalación de paquetes: Ejecute la siguiente sentencia para instalar las dependencias del proyecto: From c40a4aa5df98c68443e225fc1fac7543b573da94 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 11 Jul 2022 11:40:16 -0500 Subject: [PATCH 027/664] Delete unused texts files --- .../compensationFactor/InfoTexts.jsx | 166 -------------- .../drawer/landscape/forest/InfoTexts.jsx | 189 ---------------- .../landscape/humanFootprint/InfoTexts.jsx | 204 ------------------ 3 files changed, 559 deletions(-) delete mode 100644 src/pages/search/drawer/landscape/compensationFactor/InfoTexts.jsx delete mode 100644 src/pages/search/drawer/landscape/forest/InfoTexts.jsx delete mode 100644 src/pages/search/drawer/landscape/humanFootprint/InfoTexts.jsx diff --git a/src/pages/search/drawer/landscape/compensationFactor/InfoTexts.jsx b/src/pages/search/drawer/landscape/compensationFactor/InfoTexts.jsx deleted file mode 100644 index 9f56c9e3f..000000000 --- a/src/pages/search/drawer/landscape/compensationFactor/InfoTexts.jsx +++ /dev/null @@ -1,166 +0,0 @@ -const cfTexts = {}; - -cfTexts.info = `El Factor de Compensación (FC) determina un valor multiplicador (de 4 a 10) de un -área para casos de compensación por pérdida de biodiversidad, y depende de la representatividad en -el Sistema Nacional de áreas protegidas, la rareza o endemismos a nivel de especies, la remanencia -de ecosistemas naturales, y las tasas de transformación. Entré más alto el valor, mayor la cantidad -de hectáreas a compensar. La gráfica muestra la cantidad de hectáreas por valor de compensación en -el área consultada. Cada color representa un rango de valor de compensación. Una alta proporción con -factores mayores o iguales a 6 implica un área en donde será costoso compensar. -`; - -cfTexts.meto = `Las unidades espaciales para las cuales se calcula el factor de compensación -corresponden a la superposición entre biomas y - - regiones bióticas - -(Biomas-I. Humboldt) delimitadas en el - - Mapa de ecosistemas continentales, costeros y marinos de Colombia. -De acuerdo con el - Manual de compensaciones del componente biótico, el valor del factor de compensación resulta de la sumatoria de cuatro criterios de compensación: -representatividad, rareza, remanencia y tasa de transformación. -`; - -cfTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en cuenta: -
    -
  • - El - - Mapa de ecosistemas continentales, costeros y marinos de Colombia - - fue construido a una escala 1:100.000, que resulta idónea para análisis regionales y nacionales. -
  • -
  • - La información de factores de compensación por unidad de consulta fue construida únicamente para - jurisdicciones ambientales y no está disponible para otros tipos de unidades de consulta. -
  • -
-`; - -cfTexts.quote = `El - - Manual de compensaciones del componente biótico - -fue construido por el Ministerio de Ambiente y Desarrollo Sostenible y puede descargarse desde el - - Catálogo de Mapas del Sistema de Información Ambiental de Colombia -SIAC-. - -`; - -export { cfTexts }; - -const BiomesText = {}; - -BiomesText.info = `Un bioma es una región que presenta condiciones similares en cuanto a sus -características climáticas, edáficas y vegetación zonal. La gráfica muestra las hectáreas por cada -tipo de bioma presente en el área consultada. Entre más biomas diferentes se presenten en el área -consultada, se puede inferir que potencialmente tendrá una diversidad biológica mayor.`; - -BiomesText.meto = `Las cifras se calcularon con base en la delimitación por biomas del - -Mapa de ecosistemas continentales, costeros y marinos de Colombia. -El - Mapa de ecosistemas continentales, costeros y marinos de Colombia - -puede ser descargado desde el - - Catálogo de Mapas del Sistema de Información Ambiental de Colombia -SIAC-. - -`; - -BiomesText.cons = `Al interpretar las cifras e indicadores presentados se debe tener en cuenta: -
    -
  • - Para cuantificar la biodiversidad de un área son necesarias otras medidas asociadas a su - composición, estructura y función, por lo que se recomienda interpretar este indicador en - conjunto con los indicadores de porcentaje de cobertura natural, porcentaje de cobertura natural - en ecosistemas estratégicos y riqueza de especies. -
  • -
  • - El - - Mapa de ecosistemas continentales, costeros y marinos de Colombia - - fue construido a una escala 1:100.000, que resulta idónea para análisis regionales y nacionales. -
  • -
  • - La información de biomas por unidad de consulta fue construida únicamente para jurisdicciones - ambientales y no está disponible para otros tipos de unidades de consulta. -
  • -
-`; - -BiomesText.quote = `Los biomas se encuentran incorporados dentro del - - Mapa de ecosistemas continentales, costeros y marinos de Colombia, construido por el Instituto de Hidrología, - Meteorología y Estudios Ambientales -IDEAM-, Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt-, - Instituto Amazónico de Investigaciones Científicas -SINCHI-, Instituto de Investigaciones Marinas y Costeras -INVEMAR-, - Instituto de Investigaciones Ambientales del Pacifico -IIAP-, Parques Nacionales Naturales, - Instituto Geográfico Agustín CODAZZI -IGAC-, y el Ministerio de Ambiente y Desarrollo Sostenible y - puede descargarse desde el - - Catálogo de Mapas del Sistema de Información Ambiental de Colombia -SIAC-. - -`; - -export { BiomesText }; - -const BioticRegionsText = {}; - -BioticRegionsText.info = `Una región biótica es una unidad geográfica que presenta una composición -de especies similar y que difiere de la composición de especies encontrada en otra unidad -geográfica. El número de unidades bióticas por área consultada puede servir como un estimado de la -diversidad beta existente, entendida como la cantidad de unidades diferentes en cuanto a composición -de especies. Entre mayor sea el número de regiones bióticas mayor la diversidad biológica del área -consultada. La gráfica muestra las hectáreas por cada tipo de región biótica presente en el área -consultada. -`; - -BioticRegionsText.meto = `Las - - regiones bióticas - -fueron generadas a partir de los mapas de distribución de especies disponibles en -BioModelos, -validación por expertos, y un ajuste con base en regionalizaciones biogeográficas de Colombia de -referencia.`; - -BioticRegionsText.cons = `Al interpretar las cifras e indicadores presentados se debe tener en -cuenta: -
    -
  • - Los mapas de distribución de especies utilizados representan un subconjunto de especies, pero a - medida que incrementa el conocimiento sobre la biodiversidad, la delimitación y por ende el - número de regiones bióticas puede cambiar. -
  • -
  • - El - - Mapa de ecosistemas continentales, costeros y marinos de Colombia - - fue construido a una escala 1:100.000, que resulta idónea para análisis regionales y nacionales. -
  • -
  • - La información de regiones bióticas por unidad de consulta fue construida únicamente para - jurisdicciones ambientales y no está disponible para otros tipos de unidades de consulta. -
  • -
-`; - -BioticRegionsText.quote = `Las - - regiones bióticas - -fueron construidas por el Instituto de Investigación de Recursos Biológicos Alexander von Humboldt --I. Humboldt- e incorporadas al - - Mapa de ecosistemas continentales, costeros y marinos de Colombia - -que puede descargarse desde el - - Catálogo de Mapas del Sistema de Información Ambiental de Colombia -SIAC-. - -`; - -export { BioticRegionsText }; diff --git a/src/pages/search/drawer/landscape/forest/InfoTexts.jsx b/src/pages/search/drawer/landscape/forest/InfoTexts.jsx deleted file mode 100644 index bd4cca4db..000000000 --- a/src/pages/search/drawer/landscape/forest/InfoTexts.jsx +++ /dev/null @@ -1,189 +0,0 @@ -const LPTexts = {}; - -LPTexts.info = `La pérdida (color rojo), persistencia (verde) y el área no boscosa (café) de la -unidad de consulta son presentadas en cuatro periodos de tiempo (2000-2005, 2006-2010, 2011-2015, -2016-2021). El monitoreo de la pérdida y persistencia de cobertura de bosque contribuye a la toma -de decisiones en torno a la gestión de acciones de conservación, restauración y aprovechamiento -del recurso forestal. -`; - -LPTexts.meto = `La información de bosques se obtuvo anualmente para el periodo 2000-2021 a partir -de la homologación de dos productos que estiman la distribución de los bosques en el país a una -resolución de 30 m. El primero, la información de - - monitoreo de la superficie cubierta por bosque natural del Instituto de Hidrología, Meteorología y Estudios Ambientales -IDEAM- - -disponible para los años 1990, 2000, 2005, 2010, 2012, 2013, 2014, 2015, 2016, 2017, 2018 y 2019. El -segundo, la información de - - cambio de bosque global - -disponible anualmente para el periodo 2000-2021 ( - - Hansen et al 2013 - -). El proceso de homologación entre los dos productos consistió en identificar los umbrales de mayor -coincidencia espacial entre la - - proporción de cobertura de árboles - -( - - Hansen et al 2013 - -) y el - - área de superficie de bosque reportada por el IDEAM - -entre los años 2000 y 2018 para cada - - región biótica - -en el - - país - -. Los umbrales escogidos de - - proporción de cobertura de árboles - -en cada - - región biótica - -variaron entre 20 % y 100 %. Este método propuesto por -Jerónimo Rodriguez -y -Víctor Gutierrez -de la Universidad de Temple en Estados Unidos, contribuye a mejorar la cobertura temporal del - - monitoreo de la superficie cubierta por bosque natural del IDEAM, - - y a la vez ajusta la distribución espacial del - - cambio de bosque global - -propuesto por Hansen y colaboradores -(2013), -controlando la subestimación y sobrestimación de los bosques a nivel regional en el país. -`; - -LPTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en cuenta: -
    -
  1. - Este indicador puede ser complementado con los indicadores de integridad de bosques e Índice de - Huella Espacial Humana (IHEH) para analizar de manera integrada el estado y las presiones a las - que está sujeto el bosque persistente. -
  2. -
  3. - El producto de - - cambio de bosque global - - estima únicamente pérdidas de bosque a partir de la proporción de cobertura de árboles al año 2000, por esta razón no se identifican áreas de ganancia de cobertura boscosa a través del tiempo, lo que puede subestimar el área de bosque en la unidad consultada. -
  4. -
  5. - La estimación de cobertura de bosque no hace distinción entre bosques naturales, plantaciones - forestales y de palma de aceite, por lo que esta información debe ser corroborada con ayuda de - otros productos. -
  6. -
  7. - La información de pérdida y persistencia de bosques fue construida a una resolución de 30 m. Las - cifras presentadas deben tomarse como valores aproximados y no absolutos. -
  8. -
-`; - -LPTexts.quote = ` -Jerónimo Rodriguez -y -Víctor Gutierrez -de la Universidad de Temple en Estados Unidos desarrollaron el método y las capas de bosque homologadas entre los productos de - - monitoreo de la superficie cubierta por bosque natural del Instituto de Hidrología, Meteorología y Estudios Ambientales -IDEAM-, - -y - - cambio de bosque global - -(Hansen et al 2013) -`; - -export { LPTexts }; - -const SCIHFTexts = {}; - -SCIHFTexts.info = `El índice de Condición Estructural Forestal (ICE) mide la condición estructural -de los bosques, y al combinarlo con información de de la persistencia de huella humana (IHEH) genera -el Índice de Integridad Estructural Forestal. De esta combinación resultan seis categorías para -medir la integridad (ver leyenda en figura). Para cada categoría se muestra el porcentaje en el área -consultada y su proporción de tipos de áreas protegidas. La categoría de integridad forestal y la -presencia de áreas protegidas puede orientar acciones de gestión. Por ejemplo, en áreas de ICE Alto -- IHEH Natural se pueden establecer incentivos comunitarios y gestión activa para mantener la -protección de los bosques, y en áreas fuera de áreas protegidas gestionar acuerdos de conservación -para expandir su protección. En áreas de ICE Alto - IHEH Alta o Dinámica se debe trabajar para -disminuir de manera urgente las presiones que pueden estar afectando los bosques y gestionar -acuerdos de conservación para garantizar y/o expandir su protección. En áreas de ICE Bajo y IHEH -Natural se debe restaurar la estructura de los bosques, mientras en áreas de IHEH Alta o Dinámica se -deberían disminuir las presiones que puede estar afectando los bosques e implementar iniciativas de -restauración mediante educación y ciencia ciudadana.`; - -SCIHFTexts.meto = `Las categorías para medir la integridad forestal se generaron a una resolución de -30m y resultaron de la combinación del índice de Condición Estructural Forestal (ICE) - - (Hansen et al. 2019 -, - - 2020) - -y la persistencia de huella humana (HH) disponible en BioTablero. El ICE cuantifica: 1) el -porcentaje de bosque al año 2010, 2) la altura del dosel para el año 2012, y 3) la pérdida de bosque -en el periodo 2000-2017. El ICE se presenta en dos categorías: “Condición Baja a Moderada” y -“Condición Alta”. La condición alta representa áreas con más del 75% de cobertura de bosque, dosel -de más de 15m de altura, y no presentan disturbios detectables durante el periodo 2000-2017 - - (Hansen et al 2020). - - -`; - -SCIHFTexts.cons = `Al interpretar los resultados de este indicador se debe tener en cuenta: -
    -
  1. - Las categorías fueron generadas a una resolución de 30 m, por lo que la persistencia de huella - humana tuvo que ser remuestreada a esta resolución. -
  2. -
  3. - La información está calculada para el periodo 2000 a 2018, cambios posteriores a este periodo no - están reflejados. -
  4. -
  5. - El producto usado para definir la extensión de bosques es de carácter global y puede tener - imprecisiones en algunos lugares, se recomienda revisar esta información en conjunto con el - indicador de pérdida y persistencia de bosque. -
  6. -
-`; - -SCIHFTexts.quote = `El índice de Condición Estructural Forestal (ICE) fue construido por Hansen y -colaboradores -(2019, -2020) -y puede descargarse usando los links y métodos de descarga provistos en los artículos de -referencia. -

-El Índice de Huella Espacial Humana (IHEH) fue construido por -Camilo Correa-Ayram -y colaboradores -(2020) -y puede descargarse desde el - - Repositorio Geográfico del Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt- - -

-El trabajo para la generación del ICE y la integridad forestal es liderado por -Susana Rodríguez Buriticá -y colaboradores en el I. Humboldt. -`; - -export { SCIHFTexts }; diff --git a/src/pages/search/drawer/landscape/humanFootprint/InfoTexts.jsx b/src/pages/search/drawer/landscape/humanFootprint/InfoTexts.jsx deleted file mode 100644 index 7613916e2..000000000 --- a/src/pages/search/drawer/landscape/humanFootprint/InfoTexts.jsx +++ /dev/null @@ -1,204 +0,0 @@ -const currentHFTexts = {}; - -currentHFTexts.info = `El Índice de Huella Espacial Humana -IHEH- cuantifica la magnitud de la -influencia acumulada de las actividades antrópicas sobre los paisajes y ecosistemas. Varía de 0 a -100 indicando en orden ascendente el grado de impacto humano. En la gráfica se muestra el porcetaje -de área bajo las categorías Natural (IHEH de 0 - 15, verde), Bajo (IHEH = 15 - 40, amarillo), Medio -(IHEH= 40 - 60, naranja) y Alto (IHEH > 60, rojo). Una mayor proporción del IHEH medio o alto en el -área de consulta representa una mayor presión de actividades antrópicas, mientras una mayor -proporción de IHEH natural o bajo representa áreas con condiciones naturales importantes de -conservar. -`; - -currentHFTexts.meto = `El Índice de Huella Espacial Humana (IHEH) actual - - (Correa-Ayram et al. 2020) - se generó a una resolución de 300 m para el año 2018 cuantificando la intensidad de las -actividades antrópicas medida a través de: 1) tipo de uso, 2) densidad de población, 3) distancia a -ríos, 4) distancia a asentamientos, 5) índice de fragmentación y 6) índice de biomasa relativo al -potencial natural. El IHEH en el área consultada se calcula a partir de su valor promedio. -`; - -currentHFTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en cuenta: -
    -
  • - La falta de información detallada de actividades económicas, establecimiento de estructuras - humanas como antenas, zonas de basuras, minería, suelo para agricultura, datos de caza, entre - otros, pueden subestimar los valores del índice en regiones como la Orinoquía, Pacífico y - Amazonas. -
  • -
  • - Actualmente el Índice de Huella Espacial Humana (IHEH) se enfoca en ecosistemas terrestres, el - componente sobre ecosistemas dulceacuícolas debe ser fortalecido. -
  • -
  • - El IHEH se construyó con información a 2018, es una muestra aproximada de este año y no da - cuenta del estado actual de la intensidad de las actividades antrópicas. -
  • -
  • - El IHEH fue construido a una resolución de 300 m, que resulta idónea para análisis regionales y - nacionales. -
  • -
-`; - -currentHFTexts.quote = `El Índice de Huella Espacial Humana (IHEH) fue construido por -Camilo Correa-Ayram -y colaboradores ( - - 2020 - -) y puede descargarse desde el - - Repositorio Geográfico del Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt- - -. -`; - -export { currentHFTexts }; - -const persistenceHFTexts = {}; - -persistenceHFTexts.info = `La persistencia del Índice de Huella Espacial Humana (IHEH) identifica -las áreas donde el IHEH se ha mantenido en categoría estable alta (rojo), estable natural (verde), -o dinámica (donde ha sufrido transiciones entre distintas categorías) (ocre). Los valores de -persistencia del IHEH pueden guiar las estrategias de conservación de manera diferencial. -Estrategias de preservación serían ideales sobre lugares con categoría estable natural ya que -representan un bajo impacto humano a través del tiempo. La restauración es viable sobre áreas con -IHEH dinámica, mientras que estrategias de uso sostenible son preferibles sobre regiones en -categoría estable alta debido a que tradicionalmente han tenido una intensidad de transformación -mayor. -`; - -persistenceHFTexts.meto = `La persistencia del Índice de Huella Espacial Humana (IHEH) se calculó -para los años 1970, 1990, 2000, 2015 y 2018. Aquellas áreas que con valores en categoría alta del -IHEH (> 60) durante el periodo de análisis fueron categorizadas como persistencia estable alta, -mientras que aquellas con valores en categoría natural (0 - 15) se consideraron con persistencia -estable natural. Las áreas que sufrieron transiciones entre otras categorías del IHEH se -consideraron como de persistencia dinámica.`; - -persistenceHFTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en cuenta: -
    -
  • - La falta de información detallada de actividades económicas, establecimiento de estructuras - humanas como antenas, zonas de basuras, minería, suelo para agricultura, datos de caza, entre - otros, pueden subestimar los valores del índice en regiones como la Orinoquía, Pacífico y - Amazonas. -
  • -
  • - Actualmente el Índice de Huella Espacial Humana (IHEH) se enfoca en ecosistemas terrestres, el - componente sobre ecosistemas dulceacuícolas debe ser fortalecido. -
  • -
  • - El IHEH se construyó con información a 2018, es una muestra aproximada de este año y no da - cuenta del estado actual de la intensidad de las actividades antrópicas. -
  • -
  • - El IHEH fue construido a una resolución de 300 m, que resulta idónea para análisis regionales y - nacionales. -
  • -
-`; - -persistenceHFTexts.quote = `El Índice de Huella Espacial Humana (IHEH) fue construido por -Camilo Correa-Ayram -y colaboradores ( - - 2020 - -) y puede descargarse desde el - - Repositorio Geográfico del Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt- - -. -`; - -export { persistenceHFTexts }; - -const timelineHFTexts = {}; - -timelineHFTexts.info = `El Índice de Huella Espacial Humana (IHEH) histórico caracteriza la dinámica -de la huella humana a través de los ecosistemas estratégicos (curvas violeta, azul o verde) -comparándolos con el valor promedio del IHEH del área de consulta (línea negra). Si alguna de las -curvas de los ecosistemas se encuentra por encima de la línea negra, se puede interpretar que este -ecosistema presenta más presiones antrópicas que otros ecosistemas dentro de la misma área de -consulta, así como una mayor demanda de los servicios ecosistémicos. Sobre estos ecosistemas se -deberían generar estrategias de uso sostenible para continuar el aprovechamiento de los beneficios -derivados de su uso.`; - -timelineHFTexts.meto = `Se calculó el valor promedio del Índice de Huella Espacial Humana (IHEH) -para 1970, 1990, 2000, 2015 y 2018 dentro del área consultada y la distribución de los ecosistemas -de - - Páramo, - - - Bosque Seco Tropical - y - Humedales. - -`; - -timelineHFTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en cuenta: -
    -
  • - La falta de información detallada de actividades económicas, establecimiento de estructuras - humanas como antenas, zonas de basuras, minería, suelo para agricultura, datos de caza, entre - otros, pueden subestimar los valores del índice en regiones como la Orinoquía, Pacífico y - Amazonas. -
  • -
  • - Actualmente el Índice de Huella Espacial Humana (IHEH) se enfoca en ecosistemas terrestres, el - componente sobre ecosistemas dulceacuícolas debe ser fortalecido. -
  • -
  • - El IHEH se construyó con información a 2018, es una muestra aproximada de este año y no da - cuenta del estado actual de la intensidad de las actividades antrópicas. -
  • -
  • - El IHEH fue construido a una resolución de 300 m, que resulta idónea para análisis regionales y - nacionales. -
  • -
-`; - -timelineHFTexts.quote = `El Índice de Huella Espacial Humana (IHEH) fue construido por -Camilo Correa-Ayram -y colaboradores ( - - 2020 - -). La distribución de los ecosistemas de - - Páramo - -, - - Bosque Seco Tropical - -y - - Humedales - -fue construida por el Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. -Humboldt-. El IHEH para cada año y las capas de los ecosistemas estratégicos pueden descargarse -desde el - - Repositorio Geográfico del Instituto de Investigación de Recursos Biológicos Alexander von Humboldt -I. Humboldt- - - - (IHEH, - - - Páramo, - - - Bosque Seco Tropical - -y - - Humedales). - -`; - -export { timelineHFTexts }; From a51a98ea517c5678ba59856f99f8302216e53faf Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 11 Jul 2022 11:40:55 -0500 Subject: [PATCH 028/664] Load texts now from bd for compensation factor section --- .../drawer/landscape/CompensationFactor.jsx | 66 ++++++++----------- 1 file changed, 29 insertions(+), 37 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.jsx b/src/pages/search/drawer/landscape/CompensationFactor.jsx index 70a12ad61..82d735a4a 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.jsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.jsx @@ -4,36 +4,16 @@ import React from 'react'; import GraphLoader from 'components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; -import { - cfTexts, - BiomesText, - BioticRegionsText, -} from 'pages/search/drawer/landscape/compensationFactor/InfoTexts'; import SearchContext from 'pages/search/SearchContext'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const { - info: cFInfo, - meto: cfMeto, - quote: cfQuote, - cons: cfCons, -} = cfTexts; - -const { - info: bInfo, - meto: bMeto, - quote: bQuote, - cons: bCons, -} = BiomesText; - -const { - info: brInfo, - meto: brMeto, - quote: brQuote, - cons: brCons, -} = BioticRegionsText; +const texts = { + cf: {}, + biomes: {}, + bioticRegions: {}, +}; class CompensationFactor extends React.Component { mounted = false; @@ -127,6 +107,18 @@ class CompensationFactor extends React.Component { }, })); }); + + ['cf', 'biomes', 'bioticRegions'].forEach((item) => { + RestAPI.requestSectionTexts(item) + .then((res) => { + if (this.mounted) { + texts[item] = res; + } + }) + .catch(() => { + texts[item] = {}; + }); + }); } componentWillUnmount() { @@ -192,7 +184,7 @@ class CompensationFactor extends React.Component { {infoShown.has('cf') && ( @@ -209,9 +201,9 @@ class CompensationFactor extends React.Component { padding={0.25} /> {infoShown.has('biomes') && ( @@ -244,9 +236,9 @@ class CompensationFactor extends React.Component { padding={0.3} /> {infoShown.has('bioticReg') && ( @@ -279,9 +271,9 @@ class CompensationFactor extends React.Component { padding={0.3} /> Date: Mon, 11 Jul 2022 11:41:28 -0500 Subject: [PATCH 029/664] Load texts now from bd for human footprint section --- .../humanFootprint/CurrentFootprint.jsx | 29 ++++++++++++------- .../humanFootprint/PersistenceFootprint.jsx | 28 +++++++++++------- .../humanFootprint/TimelineFootprint.jsx | 28 +++++++++++------- 3 files changed, 52 insertions(+), 33 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx index 2d5cf3c80..c6ea1cc61 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx @@ -3,7 +3,6 @@ import React from 'react'; import InfoIcon from '@mui/icons-material/Info'; import SearchContext from 'pages/search/SearchContext'; -import { currentHFTexts } from 'pages/search/drawer/landscape/humanFootprint/InfoTexts'; import GraphLoader from 'components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; @@ -11,12 +10,9 @@ import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const { - info, - meto, - cons, - quote, -} = currentHFTexts; +const texts = { + hfCurrent: {}, +}; class CurrentFootprint extends React.Component { mounted = false; @@ -52,6 +48,7 @@ class CurrentFootprint extends React.Component { } }) .catch(() => {}); + RestAPI.requestCurrentHFCategories(areaId, geofenceId) .then((res) => { if (this.mounted) { @@ -67,6 +64,16 @@ class CurrentFootprint extends React.Component { .catch(() => { this.setState({ message: 'no-data' }); }); + + RestAPI.requestSectionTexts('hfCurrent') + .then((res) => { + if (this.mounted) { + texts.hfCurrent = res; + } + }) + .catch(() => { + texts.hfCurrent = { }; + }); } componentWillUnmount() { @@ -107,7 +114,7 @@ class CurrentFootprint extends React.Component { {showInfoGraph && ( @@ -137,9 +144,9 @@ class CurrentFootprint extends React.Component { />
{ this.setState({ message: 'no-data' }); }); + + RestAPI.requestSectionTexts('hfPersistence') + .then((res) => { + if (this.mounted) { + texts.hfPersistence = res; + } + }) + .catch(() => { + texts.hfPersistence = { }; + }); } componentWillUnmount() { @@ -98,7 +104,7 @@ class PersistenceFootprint extends React.Component { {showInfoGraph && ( @@ -122,9 +128,9 @@ class PersistenceFootprint extends React.Component { diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx index dd022277d..8c26d79f2 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx @@ -5,19 +5,15 @@ import GraphLoader from 'components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; import SearchContext from 'pages/search/SearchContext'; -import { timelineHFTexts } from 'pages/search/drawer/landscape/humanFootprint/InfoTexts'; import formatNumber from 'utils/format'; import matchColor from 'utils/matchColor'; import processDataCsv from 'utils/processDataCsv'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const { - info, - meto, - cons, - quote, -} = timelineHFTexts; +const texts = { + hfTimeline: {}, +}; const changeValues = [ { @@ -110,6 +106,16 @@ class TimelineFootprint extends React.Component { .catch(() => { this.setState({ message: 'no-data' }); }); + + RestAPI.requestSectionTexts('hfTimeline') + .then((res) => { + if (this.mounted) { + texts.hfTimeline = res; + } + }) + .catch(() => { + texts.hfTimeline = { }; + }); } componentWillUnmount() { @@ -201,7 +207,7 @@ class TimelineFootprint extends React.Component { {( showInfoGraph && ( @@ -238,9 +244,9 @@ class TimelineFootprint extends React.Component { )} Date: Tue, 12 Jul 2022 09:28:02 -0500 Subject: [PATCH 030/664] Load texts from database for forest section --- .../landscape/forest/ForestIntegrity.jsx | 29 ++++++++++++------- .../forest/ForestLossPersistence.jsx | 28 +++++++++++------- 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx index b23ffb18f..22bbd5bd1 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx @@ -6,18 +6,15 @@ import { LegendColor, BorderLegendColor } from 'components/CssLegends'; import DownloadCSV from 'components/DownloadCSV'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; -import { SCIHFTexts } from 'pages/search/drawer/landscape/forest/InfoTexts'; import SearchContext from 'pages/search/SearchContext'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const { - info, - meto, - cons, - quote, -} = SCIHFTexts; +const texts = { + forestSCIHF: {}, +}; + class ForestIntegrity extends React.Component { mounted = false; @@ -111,6 +108,16 @@ class ForestIntegrity extends React.Component { .catch(() => { this.setState({ loading: 'no-data' }); }); + + RestAPI.requestSectionTexts('forestSCIHF') + .then((res) => { + if (this.mounted) { + texts.forestSCIHF = res; + } + }) + .catch(() => { + texts.forestSCIHF = { }; + }); } componentWillUnmount() { @@ -151,7 +158,7 @@ class ForestIntegrity extends React.Component { {showInfoGraph && ( @@ -185,9 +192,9 @@ class ForestIntegrity extends React.Component { { this.setState({ message: 'no-data' }); }); + + RestAPI.requestSectionTexts('forestLP') + .then((res) => { + if (this.mounted) { + texts.forestLP = res; + } + }) + .catch(() => { + texts.forestLP = { }; + }); } componentWillUnmount() { @@ -134,7 +140,7 @@ class ForestLossPersistence extends React.Component { {showInfoGraph && ( @@ -170,9 +176,9 @@ class ForestLossPersistence extends React.Component { /> Date: Tue, 12 Jul 2022 10:34:52 -0500 Subject: [PATCH 031/664] Handle case when texts is being loaded to avoid show in the page the word undefined --- src/components/ShortInfo.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/ShortInfo.jsx b/src/components/ShortInfo.jsx index 0cc29792d..a3183c6c7 100644 --- a/src/components/ShortInfo.jsx +++ b/src/components/ShortInfo.jsx @@ -1,5 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; +import isUndefinedOrNull from 'utils/validations'; class ShortInfo extends React.Component { constructor(props) { @@ -28,7 +29,7 @@ class ShortInfo extends React.Component {
${name} ${description}

` }} + dangerouslySetInnerHTML={{ __html: `

${name} ${isUndefinedOrNull(description) ? 'Cargando...' : description}

` }} /> {collapseButton && (
{ + if (this.mounted) { + texts.paConnSE = res; + } + }) + .catch(() => { + texts.paConnSE = {}; + }); } componentWillUnmount() { @@ -193,7 +199,7 @@ class CurrentSEPAConnectivity extends React.Component { {showInfoGraph && ( @@ -315,9 +321,9 @@ class CurrentSEPAConnectivity extends React.Component { )} diff --git a/src/pages/search/drawer/landscape/connectivity/InfoTexts.jsx b/src/pages/search/drawer/landscape/connectivity/InfoTexts.jsx deleted file mode 100644 index 313135d35..000000000 --- a/src/pages/search/drawer/landscape/connectivity/InfoTexts.jsx +++ /dev/null @@ -1,295 +0,0 @@ -const CurrentPAConnTexts = {}; - -CurrentPAConnTexts.info = `El índice de conectividad de áreas protegidas - - (Saura et al 2017) - -indica el porcentaje de áreas protegidas que se encuentran conectadas. Se considera que el sistema -de áreas protegidas está conectado si se encuentran a una distancia menor o igual a 10 km. Se -presenta el porcentaje de área protegida, área protegida conectada (verde), área protegida no -conectada (marrón), y área no protegida (gris) en la unidad consultada. Este indicador facilita la -definición de estrategias para la designación de áreas protegidas con base en una meta de -representación. Si el porcentaje de área protegida es menor que la meta, la estrategia debería ser -incrementar la representación de las áreas protegidas teniendo en cuenta que, si el área protegida -conectada es menor al valor de la meta, debería fomentarse la designación de áreas protegidas en -ubicaciones estratégicas para mejorar la conectividad.`; - -CurrentPAConnTexts.meto = `El porcentaje de área protegida se calculó a partir de la superposición -entre la capa del - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -y el área consultada. De este porcentaje se extrajo el área protegida conectada teniendo en cuenta -sólo las áreas protegidas a una distancia igual o menor a 10 km calculados a partir del centroide -del área protegida. El área protegida no conectada se calculó como la diferencia entre el área -protegida y el área protegida no conectada. El área no protegida se calculó como la diferencia entre -el área protegida y el área de la unidad consultada.`; - -CurrentPAConnTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en -cuenta: -
-
    -
  1. - Es posible que existan áreas protegidas que no se estén teniendo en cuenta en estos cálculos, - ya que puede ocurrir que no todas las áreas de conservación a nivel regional y local se - encuentren inscritas en el - - Registro Único Nacional de Áreas Protegidas -RUNAP- - - ; la incorporación en este registro depende del reporte de las autoridades regionales y locales. -
  2. -
  3. - La capa del - - RUNAP - - utilizada para los cálculos fue consultada en marzo de 2022; modificaciones posteriores al - - RUNAP - - no se encuentran reflejadas. -
  4. -
  5. - Aunque la declaración de nuevas áreas protegidas no contribuye siempre al mejoramiento de su - conectividad, sí lo hace al cumplimiento de otros objetivos de conservación como la - representación. Por esta razón, se recomienda que el área protegida y el área protegida - conectada sean interpretadas en conjunto. -
  6. -
  7. - Los indicadores presentados no dan cuenta del cumplimiento de otros objetivos de conservación - como el manejo eficaz de las áreas protegidas ni su estado o presiones. Por esta razón, se - recomienda que este indicador sea interpretado en conjunto con el de porcentaje de cobertura - natural y transformada, y el Índice de Huella Espacial Humana (IHEH), incorporados en BioTablero. -
  8. -
  9. - Los indicadores de conectividad presentados se basan únicamente en la distancia (10 km) de una - especie de amplio rango de hogar (p.ej. el jaguar). Estos indicadores pueden variar si se toman - en cuenta otros rangos de dispersión y otros elementos del paisaje que favorecen o dificultan el - movimiento de las especies. Algunas estrategias complementarias de conservación a nivel local y - regional, y otras figuras de conservación existentes como resguardos indígenas y otros - territorios colectivos no fueron tenidas en cuenta en este análisis. Su inclusión podría - aumentar el valor del área protegida conectada. -
  10. -
  11. - Algunas estrategias complementarias de conservación a nivel local y regional, y otras figuras de - conservación existentes como resguardos indígenas y otros territorios colectivos no fueron - tenidas en cuenta en este análisis. Su inclusión podría aumentar el valor del área protegida - conectada. -
  12. -
-`; - -CurrentPAConnTexts.quote = `El - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -se encuentra en cabeza de Parques Nacionales Naturales. Los indicadores de conectividad de áreas -protegidas fueron propuestos por Saura y colaboradores -(2017). -`; - -export { CurrentPAConnTexts }; - -const DPCConnTexts = {}; - -DPCConnTexts.info = `La importancia de las cinco áreas protegidas que más aportan a la -conectividad del área consultada se calcula a través del índice de cambio en la probabilidad de -conectividad (dPC) ( - - Saura et al 2007 - -). Entre más alto sea el dPC de un área protegida, significa que contribuye en mayor medida al -mantenimiento de la conectividad en el área consultada. Un área protegida de mayor tamaño y cercana -a otras áreas protegidas tendrá un mayor valor dPC. El índice dPC se categoriza en cinco clases: muy -bajo, bajo, medio , alto, y muy alto (ver leyenda en figura). -`; - -DPCConnTexts.meto = `El aporte individual de las áreas protegidas a la conectividad se -calculó usando el índice de cambio en la probabilidad de conectividad (dPC) -(Saura et al 2007). -El dPC calcula el porcentaje de variación de la probabilidad de conectividad al remover -sistemáticamente un área protegida específica en el área de consulta. Un área protegida de gran -tamaño y más cercana a otra tendrá un mayor peso en la probabilidad de conectividad, y por lo tanto -su eliminación tendrá un mayor valor dPC. El índice dPC se categorizó en cinco clases (muy bajo, -bajo, medio, alto, y muy alto) de acuerdo a los percentiles 20, 40, 60, 80 y 100%, calculados a -partir de todos los valores de dPC de las áreas protegidas superpuestas con el área consultada. -`; - -DPCConnTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en -cuenta: -
-
    -
  1. - Todas las consideraciones de los indicadores de conectividad de áreas protegidas. -
  2. -
  3. - Todas las áreas protegidas cuya distribución se superpone con algún límite del área consultada - fueron incluidas en el cálculo utilizando el área completa de su distribución, ya que se asume - que el sistema de áreas protegidas no se restringe únicamente a límites administrativos. -
  4. -
-`; - -DPCConnTexts.quote = `El - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -se encuentra en cabeza de Parques Nacionales Naturales y puede descargarse desde - - RUNAP en Cifras. - -

-El indicador de cambio en la probabilidad de conectividad fue propuesto por Saura y colaboradores -(2007). -`; - -export { DPCConnTexts }; - -const TimelinePAConnTexts = {}; - -TimelinePAConnTexts.info = `La tendencia del porcentaje de área protegida (color aguamarina) y área -protegida conectada (verde) en el tiempo permite evaluar si la declaración de nuevas áreas -protegidas ha mantenido, disminuido, o mejorado la conectividad en el área consultada. Esta -información es relevante para identificar el progreso en el cumplimiento de metas de conservación y -del - - Plan de Acción 2020-2030 del Sistema Nacional de Áreas Protegidas - SINAP- - -. Si las dos líneas mantienen una tendencia creciente, indican que a medida que crece la -representación de áreas protegidas crece también su conectividad. Entre más cercanas se encuentren -las dos líneas, indica que la declaración de nuevas áreas protegidas en el tiempo se ha dado en -lugares estratégicos que han favorecido la conectividad. Por el contrario, una mayor distancia entre -estas líneas indica que la declaración de áreas protegidas se ha realizado en lugares que favorecen -en menor medida la conectividad.`; - -TimelinePAConnTexts.meto = `Se utilizó la información de fecha de actuación de la capa del - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -para extraer el año de creación de cada área protegida. En los casos en que la información estaba -ausente, ésta fue obtenida de la resolución de declaración del área protegida correspondiente. Se -seleccionaron las áreas protegidas declaradas en cada década y se calculó el porcentaje de área -protegida y área protegida conectada siguiendo el desarrollo metodológico de los indicadores de -conectividad de áreas protegidas.`; - -TimelinePAConnTexts.cons = `Al interpretar las cifras e indicadores presentados se debe tener en -cuenta: -
-
    -
  1. - Todas las consideraciones de los indicadores de conectividad de áreas protegidas. -
  2. -
  3. - En los casos en que la información de fecha de actuación en la capa del - - Registro Único Nacional de Áreas Protegidas -RUNAP- - - estaba ausente, ésta tuvo que ser obtenida de la resolución de declaración del área protegida - correspondiente. -
  4. -
`; - -TimelinePAConnTexts.quote = `El - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -se encuentra en cabeza de Parques Nacionales Naturales y puede descargarse desde - - RUNAP en Cifras. - -

-Los indicadores de área protegida, protegida conectada y protegida no conectada fueron propuestos -por Saura y colaboradores -(2017). -`; - -export { TimelinePAConnTexts }; - -const CurrentSEPAConnTexts = {}; - -CurrentSEPAConnTexts.info = `Se presenta el porcentaje de área protegida, área protegida conectada -(color verde), área protegida no conectada (marrón), y área no protegida (gris) en los ecosistemas -de Páramo, Bosque Seco Tropical y Humedales para el área consultada. El - - Primer Borrador del Marco Mundial de Biodiversidad post 2020 - -(Meta 3) plantea la conservación del 30% de las de las zonas de particular importancia para la -diversidad biológica y sus contribuciones a las personas garantizando sistemas de áreas protegidas -bien conectados. Si el porcentaje de área protegida es menor que una meta particular en un -ecosistema, la estrategia debería ser incrementar la representación de las áreas protegidas teniendo -en cuenta que, si el área protegida conectada es menor al valor de la meta, debería fomentarse la -designación de áreas protegidas en ubicaciones estratégicas para mejorar la conectividad. -`; - -CurrentSEPAConnTexts.meto = `El porcentaje de área protegida, área protegida conectada, área -protegida no conectada, y área no protegida siguieron el mismo desarrollo de los indicadores de -conectividad de áreas protegidas calculados en el área consultada, pero usando los límites de la -distribución de los ecosistemas de - - Páramo, - - -Bosque Seco Tropical - -y - - Humedales - -en el área consultada. -`; - -CurrentSEPAConnTexts.cons = `
    -
  1. - Todas las consideraciones de los indicadores de conectividad de áreas protegidas. -
  2. -
  3. - La distribución de los ecosistemas estratégicos fue construida a una escala 1:100.000, que - resulta idónea para análisis regionales y nacionales. -
  4. -
-`; - -CurrentSEPAConnTexts.quote = `El - - Registro Único Nacional de Áreas Protegidas -RUNAP- - -se encuentra en cabeza de Parques Nacionales Naturales y puede descargarse desde - - RUNAP en Cifras. - -

-Los indicadores de área protegida, protegida conectada y protegida no conectada fueron propuestos -por Saura y colaboradores - - (2017). - -

-La distribución de los ecosistemas de - - Páramo, - - - Bosque Seco Tropical - -y - - Humedales - -fue construida por el Instituto de Investigación de Recursos Biológicos Alexander von Humboldt --I. Humboldt- y pueden descargarse desde su - - Repositorio Geográfico - - - (Páramo, - - - Bosque Seco Tropical - -y - - Humedales). - -`; - -export { CurrentSEPAConnTexts }; diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx index 4a40c40a5..ce4fe9529 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx @@ -4,19 +4,16 @@ import InfoIcon from '@mui/icons-material/Info'; import GraphLoader from 'components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; -import { TimelinePAConnTexts } from 'pages/search/drawer/landscape/connectivity/InfoTexts'; import SearchContext from 'pages/search/SearchContext'; import matchColor from 'utils/matchColor'; import processDataCsv from 'utils/processDataCsv'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const { - info, - meto, - cons, - quote, -} = TimelinePAConnTexts; +const texts = { + paConnTimeline: {}, +}; + class TimelinePAConnectivity extends React.Component { mounted = false; @@ -32,6 +29,7 @@ class TimelinePAConnectivity extends React.Component { componentDidMount() { this.mounted = true; const { areaId, geofenceId, switchLayer } = this.context; + switchLayer('timelinePAConn'); Promise.all([ @@ -46,6 +44,16 @@ class TimelinePAConnectivity extends React.Component { }); } }); + + RestAPI.requestSectionTexts('paConnTimeline') + .then((res) => { + if (this.mounted) { + texts.paConnTimeline = res; + } + }) + .catch(() => { + texts.paConnTimeline = {}; + }); } componentWillUnmount() { @@ -115,7 +123,7 @@ class TimelinePAConnectivity extends React.Component { {showInfoGraph && ( @@ -136,9 +144,9 @@ class TimelinePAConnectivity extends React.Component { yMax={50} /> Date: Fri, 15 Jul 2022 09:34:20 -0500 Subject: [PATCH 033/664] Load texts now from bd as state variable for connectivity section --- .../connectivity/CurrentPAConnectivity.jsx | 30 +++++++++++-------- .../connectivity/CurrentSEPAConnectivity.jsx | 12 ++++---- .../connectivity/TimelinePAConnectivity.jsx | 12 ++++---- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.jsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.jsx index 766656584..0cd1254aa 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.jsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.jsx @@ -11,11 +11,6 @@ import RestAPI from 'utils/restAPI'; import formatNumber from 'utils/format'; import TextBoxes from 'components/TextBoxes'; -const texts = { - paConnCurrent: {}, - paConnDPC: {}, -}; - const getLabel = { unprot: 'No protegida', prot_conn: 'Protegida conectada', @@ -44,6 +39,10 @@ class CurrentPAConnectivity extends React.Component { conn: 'loading', dpc: 'loading', }, + texts: { + paConnCurrent: {}, + paConnDPC: {}, + }, }; } @@ -107,15 +106,19 @@ class CurrentPAConnectivity extends React.Component { ['paConnCurrent', 'paConnDPC'].forEach((item) => { RestAPI.requestSectionTexts(item) - .then((res) => { - if (this.mounted) { - texts[item] = res; - } - }) - .catch(() => { - texts[item] = {}; + .then((res) => { + if (this.mounted) { + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: res }, + })); + } + }) + .catch(() => { + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: {} }, + })); + }); }); - }); } componentWillUnmount() { @@ -146,6 +149,7 @@ class CurrentPAConnectivity extends React.Component { prot, infoShown, messages: { conn, dpc: dpcMess }, + texts, } = this.state; return (
diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.jsx b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.jsx index a4f7ba215..ea2759fd3 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.jsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.jsx @@ -11,10 +11,6 @@ import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const texts = { - paConnSE: {}, -}; - const getLabel = { unprot: 'No protegida', prot_conn: 'Protegida conectada', @@ -40,6 +36,7 @@ class CurrentSEPAConnectivity extends React.Component { dryForest: 'loading', wetland: 'loading', }, + texts: { paConnSE: {} }, }; } @@ -146,14 +143,14 @@ class CurrentSEPAConnectivity extends React.Component { })); }); - RestAPI.requestSectionTexts('paConnSE') + RestAPI.requestSectionTexts('paConnSE') .then((res) => { if (this.mounted) { - texts.paConnSE = res; + this.setState({ texts: { paConnSE: res } }); } }) .catch(() => { - texts.paConnSE = {}; + this.setState({ texts: { paConnSE: {} } }); }); } @@ -186,6 +183,7 @@ class CurrentSEPAConnectivity extends React.Component { protDryForest, protWetland, messages: { paramo, dryForest, wetland }, + texts, } = this.state; return (
diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx index ce4fe9529..f39f63470 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx @@ -10,10 +10,6 @@ import processDataCsv from 'utils/processDataCsv'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const texts = { - paConnTimeline: {}, -}; - class TimelinePAConnectivity extends React.Component { mounted = false; @@ -23,6 +19,7 @@ class TimelinePAConnectivity extends React.Component { showInfoGraph: true, timelinePAConnectivity: [], message: 'loading', + texts: { paConnTimeline: {} }, }; } @@ -45,14 +42,14 @@ class TimelinePAConnectivity extends React.Component { } }); - RestAPI.requestSectionTexts('paConnTimeline') + RestAPI.requestSectionTexts('paConnTimeline') .then((res) => { if (this.mounted) { - texts.paConnTimeline = res; + this.setState({ texts: { paConnTimeline: res } }); } }) .catch(() => { - texts.paConnTimeline = {}; + this.setState({ texts: { paConnTimeline: {} } }); }); } @@ -106,6 +103,7 @@ class TimelinePAConnectivity extends React.Component { showInfoGraph, timelinePAConnectivity, message, + texts, } = this.state; const { areaId, From f44ab8b362ad4281a0029ae8fd4543e62cde581b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 21 Jul 2022 15:27:57 -0500 Subject: [PATCH 034/664] Finish ts config --- .eslintrc | 6 ++++-- src/utils/colorUtils.ts | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.eslintrc b/.eslintrc index 39a9ad332..ef318a422 100644 --- a/.eslintrc +++ b/.eslintrc @@ -9,12 +9,14 @@ "exceptions": ["item.component"] }], "template-curly-spacing" : "off", - "indent": "off" + "indent": "off", + "import/extensions": ["error", "never", {"json": "always" }] }, "settings": { "import/resolver": { "node": { - "paths": ["src"] + "paths": ["src"], + "extensions": [".js", ".jsx", ".ts", ".tsx"] } } }, diff --git a/src/utils/colorUtils.ts b/src/utils/colorUtils.ts index 44409c7fb..ec08ca1e2 100644 --- a/src/utils/colorUtils.ts +++ b/src/utils/colorUtils.ts @@ -23,7 +23,7 @@ const changeColor = (color: string, percent: number): string => { ).toString(16).slice(1)}`; }; -const lightenColor = (color: string, percent: number) => changeColor(color, percent); -const darkenColor = (color: string, percent: number) => changeColor(color, percent * -1); +const lightenColor = (color: string, percent: number): string => changeColor(color, percent); +const darkenColor = (color: string, percent: number): string => changeColor(color, percent * -1); export { lightenColor, darkenColor }; From 43a1f09c3dd54330b3a6ac698290fc3f3ca52dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 21 Jul 2022 17:45:39 -0500 Subject: [PATCH 035/664] Remove eslint --- .eslintrc | 26 -- .github/workflows/feature.yml | 4 - .github/workflows/release.yml | 4 - package.json | 20 +- yarn.lock | 613 +--------------------------------- 5 files changed, 11 insertions(+), 656 deletions(-) delete mode 100644 .eslintrc diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index ef318a422..000000000 --- a/.eslintrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "extends": "airbnb", - "parser": "react-scripts/node_modules/babel-eslint", - "rules": { - "react/forbid-prop-types": "off", - "react/no-array-index-key": "off", - "react/jsx-no-duplicate-props": ["error", { "ignoreCase": false }], - "react/jsx-props-no-spreading": ["error", { - "exceptions": ["item.component"] - }], - "template-curly-spacing" : "off", - "indent": "off", - "import/extensions": ["error", "never", {"json": "always" }] - }, - "settings": { - "import/resolver": { - "node": { - "paths": ["src"], - "extensions": [".js", ".jsx", ".ts", ".tsx"] - } - } - }, - "env": { - "browser": true - } -} diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 7d5dbf44b..ed422cf55 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -18,7 +18,3 @@ jobs: cache: yarn - run: yarn install - run: yarn workspaces foreach run build-pkg - - name: Run linter - run: yarn workspaces foreach run lint - env: - CI: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6a1835e43..08211c795 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,3 @@ jobs: cache: yarn - run: yarn install - run: yarn workspaces foreach run build-pkg - - name: Run linter - run: yarn workspaces foreach run lint - env: - CI: true diff --git a/package.json b/package.json index cdac43fbf..81dd39243 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", - "eject": "react-scripts eject", - "lint": "eslint src --ext .js,.jsx" + "eject": "react-scripts eject" }, "dependencies": { "@emotion/react": "~11.9.0", @@ -56,24 +55,15 @@ "@types/node": "^17.0.41", "@types/react": "^18.0.12", "@types/react-dom": "^18.0.5", - "eslint": "~7.19.0", - "eslint-config-airbnb": "~18.2.1", - "eslint-plugin-import": "~2.26.0", - "eslint-plugin-jsx-a11y": "~6.5.1", - "eslint-plugin-react": "~7.24.0", - "eslint-plugin-react-hooks": "~1.7.0", "husky": "~4.3.8", "lint-staged": "~10.5.4", "typescript": "~4.7.3", "yarn-audit-fix": "~9.3.1" }, - "lint-staged": { - "**/*.{js,jsx}": "eslint" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } + "eslintConfig": { + "extends": [ + "react-app" + ] }, "browserslist": [ ">0.2%", diff --git a/yarn.lock b/yarn.lock index 3b227eb5c..79f2e2a3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3467,7 +3467,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.9.2": version: 7.17.2 resolution: "@babel/runtime@npm:7.17.2" dependencies: @@ -3851,24 +3851,6 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.3.0": - version: 0.3.0 - resolution: "@eslint/eslintrc@npm:0.3.0" - dependencies: - ajv: ^6.12.4 - debug: ^4.1.1 - espree: ^7.3.0 - globals: ^12.1.0 - ignore: ^4.0.6 - import-fresh: ^3.2.1 - js-yaml: ^3.13.1 - lodash: ^4.17.20 - minimatch: ^3.0.4 - strip-json-comments: ^3.1.1 - checksum: a8148d3868893c251c72b2674a3d57c04deda7afe8208a8f4306d129017f21bbe800a493dda9b46957d39325d28378bd48c0a10d25c89aa5516dc8691ef7ca95 - languageName: node - linkType: hard - "@eslint/eslintrc@npm:^0.4.0": version: 0.4.0 resolution: "@eslint/eslintrc@npm:0.4.0" @@ -8392,19 +8374,6 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.3, array-includes@npm:^3.1.4": - version: 3.1.4 - resolution: "array-includes@npm:3.1.4" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - get-intrinsic: ^1.1.1 - is-string: ^1.0.7 - checksum: 69967c38c52698f84b50a7aed5554aadc89c6ac6399b6d92ad061a5952f8423b4bba054c51d40963f791dfa294d7247cdd7988b6b1f2c5861477031c6386e1c0 - languageName: node - linkType: hard - "array-normalize@npm:^1.1.4": version: 1.1.4 resolution: "array-normalize@npm:1.1.4" @@ -8469,17 +8438,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.5": - version: 1.2.5 - resolution: "array.prototype.flat@npm:1.2.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - checksum: 9cc6414b111abfc7717e39546e4887b1e5ec74df8f1618d83425deaa95752bf05d475d1d241253b4d88d4a01f8e1bc84845ad5b7cc2047f8db2f614512acd40e - languageName: node - linkType: hard - "array.prototype.flatmap@npm:^1.2.3": version: 1.2.4 resolution: "array.prototype.flatmap@npm:1.2.4" @@ -8492,18 +8450,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.2.4": - version: 1.3.0 - resolution: "array.prototype.flatmap@npm:1.3.0" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.2 - es-shim-unscopables: ^1.0.0 - checksum: 818538f39409c4045d874be85df0dbd195e1446b14d22f95bdcfefea44ae77db44e42dcd89a559254ec5a7c8b338cfc986cc6d641e3472f9a5326b21eb2976a2 - languageName: node - linkType: hard - "arrify@npm:^2.0.1": version: 2.0.1 resolution: "arrify@npm:2.0.1" @@ -8668,13 +8614,6 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.3.5": - version: 4.4.1 - resolution: "axe-core@npm:4.4.1" - checksum: ad14c5b71059dc3d24ef2519b8cd96e98b4a572379396201ce449d1c4262181821d6ca9550df65b22371faf06d28bbe94d391fe5675f2a08e6550f7b5da8416d - languageName: node - linkType: hard - "axios@npm:~0.27.2": version: 0.27.2 resolution: "axios@npm:0.27.2" @@ -9200,12 +9139,6 @@ __metadata: axios: ~0.27.2 cbm-dashboard: 1.0.0 chart.js: ~3.8.0 - eslint: ~7.19.0 - eslint-config-airbnb: ~18.2.1 - eslint-plugin-import: ~2.26.0 - eslint-plugin-jsx-a11y: ~6.5.1 - eslint-plugin-react: ~7.24.0 - eslint-plugin-react-hooks: ~1.7.0 husky: ~4.3.8 indicators: 1.0.0 leaflet: 1.4.0 @@ -11585,13 +11518,6 @@ __metadata: languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.7": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: d240b7757544460ae0586a341a53110ab0a61126570ef2d8c731e3eab3f0cb6e488e2609e6a69b46727635de49be20b071688698744417ff1b6c1d7ccd03e0de - languageName: node - linkType: hard - "dashdash@npm:^1.12.0": version: 1.14.1 resolution: "dashdash@npm:1.14.1" @@ -11766,16 +11692,6 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.4": - version: 1.1.4 - resolution: "define-properties@npm:1.1.4" - dependencies: - has-property-descriptors: ^1.0.0 - object-keys: ^1.1.1 - checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b - languageName: node - linkType: hard - "define-property@npm:^0.2.5": version: 0.2.5 resolution: "define-property@npm:0.2.5" @@ -12360,7 +12276,7 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^9.0.0, emoji-regex@npm:^9.2.2": +"emoji-regex@npm:^9.0.0": version: 9.2.2 resolution: "emoji-regex@npm:9.2.2" checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 @@ -12533,74 +12449,6 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1": - version: 1.19.1 - resolution: "es-abstract@npm:1.19.1" - dependencies: - call-bind: ^1.0.2 - es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 - get-intrinsic: ^1.1.1 - get-symbol-description: ^1.0.0 - has: ^1.0.3 - has-symbols: ^1.0.2 - internal-slot: ^1.0.3 - is-callable: ^1.2.4 - is-negative-zero: ^2.0.1 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.1 - is-string: ^1.0.7 - is-weakref: ^1.0.1 - object-inspect: ^1.11.0 - object-keys: ^1.1.1 - object.assign: ^4.1.2 - string.prototype.trimend: ^1.0.4 - string.prototype.trimstart: ^1.0.4 - unbox-primitive: ^1.0.1 - checksum: b6be8410672c5364db3fb01eb786e30c7b4bb32b4af63d381c08840f4382c4a168e7855cd338bf59d4f1a1a1138f4d748d1fd40ec65aaa071876f9e9fbfed949 - languageName: node - linkType: hard - -"es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": - version: 1.20.1 - resolution: "es-abstract@npm:1.20.1" - dependencies: - call-bind: ^1.0.2 - es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.1 - get-symbol-description: ^1.0.0 - has: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - is-callable: ^1.2.4 - is-negative-zero: ^2.0.2 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 - is-string: ^1.0.7 - is-weakref: ^1.0.2 - object-inspect: ^1.12.0 - object-keys: ^1.1.1 - object.assign: ^4.1.2 - regexp.prototype.flags: ^1.4.3 - string.prototype.trimend: ^1.0.5 - string.prototype.trimstart: ^1.0.5 - unbox-primitive: ^1.0.2 - checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" - dependencies: - has: ^1.0.3 - checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 - languageName: node - linkType: hard - "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -12807,16 +12655,6 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.6": - version: 0.3.6 - resolution: "eslint-import-resolver-node@npm:0.3.6" - dependencies: - debug: ^3.2.7 - resolve: ^1.20.0 - checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 - languageName: node - linkType: hard - "eslint-module-utils@npm:^2.6.0": version: 2.6.0 resolution: "eslint-module-utils@npm:2.6.0" @@ -12827,16 +12665,6 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.3": - version: 2.7.3 - resolution: "eslint-module-utils@npm:2.7.3" - dependencies: - debug: ^3.2.7 - find-up: ^2.1.0 - checksum: 77048263f309167a1e6a1e1b896bfb5ddd1d3859b2e2abbd9c32c432aee13d610d46e6820b1ca81b37fba437cf423a404bc6649be64ace9148a3062d1886a678 - languageName: node - linkType: hard - "eslint-plugin-flowtype@npm:^5.2.0": version: 5.3.1 resolution: "eslint-plugin-flowtype@npm:5.3.1" @@ -12872,29 +12700,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:~2.26.0": - version: 2.26.0 - resolution: "eslint-plugin-import@npm:2.26.0" - dependencies: - array-includes: ^3.1.4 - array.prototype.flat: ^1.2.5 - debug: ^2.6.9 - doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.7.3 - has: ^1.0.3 - is-core-module: ^2.8.1 - is-glob: ^4.0.3 - minimatch: ^3.1.2 - object.values: ^1.1.5 - resolve: ^1.22.0 - tsconfig-paths: ^3.14.1 - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 - languageName: node - linkType: hard - "eslint-plugin-jest@npm:^24.1.0": version: 24.1.5 resolution: "eslint-plugin-jest@npm:24.1.5" @@ -12927,28 +12732,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:~6.5.1": - version: 6.5.1 - resolution: "eslint-plugin-jsx-a11y@npm:6.5.1" - dependencies: - "@babel/runtime": ^7.16.3 - aria-query: ^4.2.2 - array-includes: ^3.1.4 - ast-types-flow: ^0.0.7 - axe-core: ^4.3.5 - axobject-query: ^2.2.0 - damerau-levenshtein: ^1.0.7 - emoji-regex: ^9.2.2 - has: ^1.0.3 - jsx-ast-utils: ^3.2.1 - language-tags: ^1.0.5 - minimatch: ^3.0.4 - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 311ab993ed982d0cc7cb0ba02fbc4b36c4a94e9434f31e97f13c4d67e8ecb8aec36baecfd759ff70498846e7e11d7a197eb04c39ad64934baf3354712fd0bc9d - languageName: node - linkType: hard - "eslint-plugin-prettier@npm:~3.3.1": version: 3.3.1 resolution: "eslint-plugin-prettier@npm:3.3.1" @@ -12973,15 +12756,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:~1.7.0": - version: 1.7.0 - resolution: "eslint-plugin-react-hooks@npm:1.7.0" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 - checksum: ea16d0cf4aaa0a30db05860bd892f3432a4cc299983a5adece092c021c4ee359e7e7277ff1e7207d1f550fae5f08a8b3aa2698f36e82cdebb756a8a3e1c842eb - languageName: node - linkType: hard - "eslint-plugin-react@npm:^7.21.5": version: 7.22.0 resolution: "eslint-plugin-react@npm:7.22.0" @@ -13003,28 +12777,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:~7.24.0": - version: 7.24.0 - resolution: "eslint-plugin-react@npm:7.24.0" - dependencies: - array-includes: ^3.1.3 - array.prototype.flatmap: ^1.2.4 - doctrine: ^2.1.0 - has: ^1.0.3 - jsx-ast-utils: ^2.4.1 || ^3.0.0 - minimatch: ^3.0.4 - object.entries: ^1.1.4 - object.fromentries: ^2.0.4 - object.values: ^1.1.4 - prop-types: ^15.7.2 - resolve: ^2.0.0-next.3 - string.prototype.matchall: ^4.0.5 - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: bf844f98d93f3617fbd03df4be4f4c9e8e49ea035678762b73a28df730e9518d5ac636293f6326b41b4a0678f9dfa059ce559f6652c7a2d914d477ec3a389619 - languageName: node - linkType: hard - "eslint-plugin-testing-library@npm:^3.9.2": version: 3.10.1 resolution: "eslint-plugin-testing-library@npm:3.10.1" @@ -13190,53 +12942,6 @@ __metadata: languageName: node linkType: hard -"eslint@npm:~7.19.0": - version: 7.19.0 - resolution: "eslint@npm:7.19.0" - dependencies: - "@babel/code-frame": ^7.0.0 - "@eslint/eslintrc": ^0.3.0 - ajv: ^6.10.0 - chalk: ^4.0.0 - cross-spawn: ^7.0.2 - debug: ^4.0.1 - doctrine: ^3.0.0 - enquirer: ^2.3.5 - eslint-scope: ^5.1.1 - eslint-utils: ^2.1.0 - eslint-visitor-keys: ^2.0.0 - espree: ^7.3.1 - esquery: ^1.2.0 - esutils: ^2.0.2 - file-entry-cache: ^6.0.0 - functional-red-black-tree: ^1.0.1 - glob-parent: ^5.0.0 - globals: ^12.1.0 - ignore: ^4.0.6 - import-fresh: ^3.0.0 - imurmurhash: ^0.1.4 - is-glob: ^4.0.0 - js-yaml: ^3.13.1 - json-stable-stringify-without-jsonify: ^1.0.1 - levn: ^0.4.1 - lodash: ^4.17.20 - minimatch: ^3.0.4 - natural-compare: ^1.4.0 - optionator: ^0.9.1 - progress: ^2.0.0 - regexpp: ^3.1.0 - semver: ^7.2.1 - strip-ansi: ^6.0.0 - strip-json-comments: ^3.1.0 - table: ^6.0.4 - text-table: ^0.2.0 - v8-compile-cache: ^2.0.3 - bin: - eslint: bin/eslint.js - checksum: 56f05e1e00d0fa6a2583485c270f828165ede5853d7b96ca6a092ab39c74362edaa9a213019aa8b89624ecc703f6d23c1c77bfe61fa74ba249edaea80f0e1619 - languageName: node - linkType: hard - "espree@npm:^7.3.0, espree@npm:^7.3.1": version: 7.3.1 resolution: "espree@npm:7.3.1" @@ -14209,18 +13914,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - functions-have-names: ^1.2.2 - checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 - languageName: node - linkType: hard - "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -14228,13 +13921,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"functions-have-names@npm:^1.2.2": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 - languageName: node - linkType: hard - "gauge@npm:~2.7.3": version: 2.7.4 resolution: "gauge@npm:2.7.4" @@ -14343,16 +14029,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 - languageName: node - linkType: hard - "get-value@npm:^2.0.3, get-value@npm:^2.0.6": version: 2.0.6 resolution: "get-value@npm:2.0.6" @@ -14811,20 +14487,13 @@ fsevents@^1.2.7: languageName: node linkType: hard -"has-bigints@npm:^1.0.0, has-bigints@npm:^1.0.1": +"has-bigints@npm:^1.0.0": version: 1.0.1 resolution: "has-bigints@npm:1.0.1" checksum: 44ab55868174470065d2e0f8f6def1c990d12b82162a8803c679699fa8a39f966e336f2a33c185092fe8aea7e8bf2e85f1c26add5f29d98f2318bd270096b183 languageName: node linkType: hard -"has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b - languageName: node - linkType: hard - "has-flag@npm:^1.0.0": version: 1.0.0 resolution: "has-flag@npm:1.0.0" @@ -14864,15 +14533,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" - dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb - languageName: node - linkType: hard - "has-symbols@npm:^1.0.0, has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": version: 1.0.2 resolution: "has-symbols@npm:1.0.2" @@ -14880,22 +14540,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-tostringtag@npm:1.0.0" - dependencies: - has-symbols: ^1.0.2 - checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c - languageName: node - linkType: hard - "has-unicode@npm:^2.0.0": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -15824,13 +15468,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-callable@npm:^1.2.4": - version: 1.2.4 - resolution: "is-callable@npm:1.2.4" - checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f - languageName: node - linkType: hard - "is-ci@npm:^2.0.0": version: 2.0.0 resolution: "is-ci@npm:2.0.0" @@ -16029,15 +15666,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-glob@npm:^4.0.3": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: ^2.1.1 - checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 - languageName: node - linkType: hard - "is-html@npm:^1.1.0": version: 1.1.0 resolution: "is-html@npm:1.1.0" @@ -16089,13 +15717,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a - languageName: node - linkType: hard - "is-number-object@npm:^1.0.4": version: 1.0.4 resolution: "is-number-object@npm:1.0.4" @@ -16200,16 +15821,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 - languageName: node - linkType: hard - "is-regexp@npm:^1.0.0": version: 1.0.0 resolution: "is-regexp@npm:1.0.0" @@ -16231,22 +15842,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "is-shared-array-buffer@npm:1.0.1" - checksum: 2ffb92533e64e2876e6cfe6906871d28400b6f1a53130fe652ec8007bc0e5044d05e7af8e31bdc992fbba520bd92938cfbeedd0f286be92f250c7c76191c4d90 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a - languageName: node - linkType: hard - "is-stream@npm:^1.1.0": version: 1.1.0 resolution: "is-stream@npm:1.1.0" @@ -16275,15 +15870,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: ^1.0.0 - checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 - languageName: node - linkType: hard - "is-svg-path@npm:^1.0.1": version: 1.0.2 resolution: "is-svg-path@npm:1.0.2" @@ -16323,15 +15909,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-weakref@npm:^1.0.1, is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de - languageName: node - linkType: hard - "is-windows@npm:^1.0.1, is-windows@npm:^1.0.2": version: 1.0.2 resolution: "is-windows@npm:1.0.2" @@ -17422,16 +16999,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jsx-ast-utils@npm:^3.2.1": - version: 3.2.1 - resolution: "jsx-ast-utils@npm:3.2.1" - dependencies: - array-includes: ^3.1.3 - object.assign: ^4.1.2 - checksum: dcee22e6382ee5a6bd4187333a44b6420d9d079838119a07055d6e88d137dd0afadc97a2246152b0b65006bd5fc393112dc0cef01956a01a66c1713913953c66 - languageName: node - linkType: hard - "jszip@npm:^3.6.0": version: 3.7.1 resolution: "jszip@npm:3.7.1" @@ -18360,15 +17927,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: ^1.1.7 - checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a - languageName: node - linkType: hard - "minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5": version: 1.2.5 resolution: "minimist@npm:1.2.5" @@ -18376,13 +17934,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minimist@npm:^1.2.6": - version: 1.2.6 - resolution: "minimist@npm:1.2.6" - checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb - languageName: node - linkType: hard - "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -19135,20 +18686,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object-inspect@npm:^1.11.0": - version: 1.12.0 - resolution: "object-inspect@npm:1.12.0" - checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 - languageName: node - linkType: hard - -"object-inspect@npm:^1.12.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 - languageName: node - linkType: hard - "object-inspect@npm:^1.8.0, object-inspect@npm:^1.9.0": version: 1.9.0 resolution: "object-inspect@npm:1.9.0" @@ -19213,17 +18750,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.entries@npm:^1.1.4": - version: 1.1.5 - resolution: "object.entries@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: d658696f74fd222060d8428d2a9fda2ce736b700cb06f6bdf4a16a1892d145afb746f453502b2fa55d1dca8ead6f14ddbcf66c545df45adadea757a6c4cd86c7 - languageName: node - linkType: hard - "object.fromentries@npm:^2.0.2": version: 2.0.4 resolution: "object.fromentries@npm:2.0.4" @@ -19236,17 +18762,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.fromentries@npm:^2.0.4": - version: 2.0.5 - resolution: "object.fromentries@npm:2.0.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 61a0b565ded97b76df9e30b569729866e1824cce902f98e90bb106e84f378aea20163366f66dc75c9000e2aad2ed0caf65c6f530cb2abc4c0c0f6c982102db4b - languageName: node - linkType: hard - "object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.0": version: 2.1.2 resolution: "object.getownpropertydescriptors@npm:2.1.2" @@ -19279,17 +18794,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.values@npm:^1.1.4, object.values@npm:^1.1.5": - version: 1.1.5 - resolution: "object.values@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 - languageName: node - linkType: hard - "obuf@npm:^1.0.0, obuf@npm:^1.1.2": version: 1.1.2 resolution: "obuf@npm:1.1.2" @@ -22262,17 +21766,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": - version: 1.4.3 - resolution: "regexp.prototype.flags@npm:1.4.3" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - functions-have-names: ^1.2.2 - checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 - languageName: node - linkType: hard - "regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": version: 3.1.0 resolution: "regexpp@npm:3.1.0" @@ -22692,7 +22185,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"resolve@npm:^1.1.10, resolve@npm:^1.20.0, resolve@npm:^1.22.0": +"resolve@npm:^1.1.10": version: 1.22.0 resolution: "resolve@npm:1.22.0" dependencies: @@ -22705,16 +22198,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.3": - version: 2.0.0-next.3 - resolution: "resolve@npm:2.0.0-next.3" - dependencies: - is-core-module: ^2.2.0 - path-parse: ^1.0.6 - checksum: f34b3b93ada77d64a6d590c06a83e198f3a827624c4ec972260905fa6c4d612164fbf0200d16d2beefea4ad1755b001f4a9a1293d8fc2322a8f7d6bf692c4ff5 - languageName: node - linkType: hard - "resolve@patch:resolve@1.18.1#~builtin": version: 1.18.1 resolution: "resolve@patch:resolve@npm%3A1.18.1#~builtin::version=1.18.1&hash=07638b" @@ -22742,7 +22225,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.10#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin": +"resolve@patch:resolve@^1.1.10#~builtin": version: 1.22.0 resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" dependencies: @@ -22755,16 +22238,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"resolve@patch:resolve@^2.0.0-next.3#~builtin": - version: 2.0.0-next.3 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin::version=2.0.0-next.3&hash=07638b" - dependencies: - is-core-module: ^2.2.0 - path-parse: ^1.0.6 - checksum: 21684b4d99a4877337cdbd5484311c811b3e8910edb5d868eec85c6e6550b0f570d911f9a384f9e176172d6713f2715bd0b0887fa512cb8c6aeece018de6a9f8 - languageName: node - linkType: hard - "restore-cursor@npm:^2.0.0": version: 2.0.0 resolution: "restore-cursor@npm:2.0.0" @@ -24037,22 +23510,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.5": - version: 4.0.7 - resolution: "string.prototype.matchall@npm:4.0.7" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - get-intrinsic: ^1.1.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.4.1 - side-channel: ^1.0.4 - checksum: fc09f3ccbfb325de0472bcc87a6be0598a7499e0b4a31db5789676155b15754a4cc4bb83924f15fc9ed48934dac7366ee52c8b9bd160bed6fd072c93b489e75c - languageName: node - linkType: hard - "string.prototype.trimend@npm:^1.0.1, string.prototype.trimend@npm:^1.0.4": version: 1.0.4 resolution: "string.prototype.trimend@npm:1.0.4" @@ -24063,17 +23520,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimend@npm:1.0.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc - languageName: node - linkType: hard - "string.prototype.trimstart@npm:^1.0.1, string.prototype.trimstart@npm:^1.0.4": version: 1.0.4 resolution: "string.prototype.trimstart@npm:1.0.4" @@ -24084,17 +23530,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimstart@npm:1.0.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 - languageName: node - linkType: hard - "string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -24952,18 +24387,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1": - version: 3.14.1 - resolution: "tsconfig-paths@npm:3.14.1" - dependencies: - "@types/json5": ^0.0.29 - json5: ^1.0.1 - minimist: ^1.2.6 - strip-bom: ^3.0.0 - checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d - languageName: node - linkType: hard - "tsconfig-paths@npm:^3.9.0": version: 3.9.0 resolution: "tsconfig-paths@npm:3.9.0" @@ -25187,30 +24610,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.1": - version: 1.0.1 - resolution: "unbox-primitive@npm:1.0.1" - dependencies: - function-bind: ^1.1.1 - has-bigints: ^1.0.1 - has-symbols: ^1.0.2 - which-boxed-primitive: ^1.0.2 - checksum: 89d950e18fb45672bc6b3c961f1e72c07beb9640c7ceed847b571ba6f7d2af570ae1a2584cfee268b9d9ea1e3293f7e33e0bc29eaeb9f8e8a0bab057ff9e6bba - languageName: node - linkType: hard - -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - has-bigints: ^1.0.2 - has-symbols: ^1.0.3 - which-boxed-primitive: ^1.0.2 - checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 - languageName: node - linkType: hard - "uncss@npm:^0.17.3": version: 0.17.3 resolution: "uncss@npm:0.17.3" @@ -26137,7 +25536,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.1, which-boxed-primitive@npm:^1.0.2": +"which-boxed-primitive@npm:^1.0.1": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" dependencies: From 6c8b64a14baf66a7aa5e425cb384ec96373c52d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 21 Jul 2022 17:52:52 -0500 Subject: [PATCH 036/664] Migrate TextBoxes --- .../{TextBoxes.jsx => TextBoxes.tsx} | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) rename src/components/{TextBoxes.jsx => TextBoxes.tsx} (80%) diff --git a/src/components/TextBoxes.jsx b/src/components/TextBoxes.tsx similarity index 80% rename from src/components/TextBoxes.jsx rename to src/components/TextBoxes.tsx index 212430c31..a3b7d62e5 100644 --- a/src/components/TextBoxes.jsx +++ b/src/components/TextBoxes.tsx @@ -1,5 +1,4 @@ import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; import AnnouncementIcon from '@mui/icons-material/Announcement'; import CollectionsBookmarkIcon from '@mui/icons-material/CollectionsBookmark'; @@ -9,7 +8,19 @@ import ShortInfo from 'components/ShortInfo'; import DownloadCSV from 'components/DownloadCSV'; import { IconTooltip } from 'components/Tooltips'; -const TextBoxes = (props) => { +interface props { + downloadData: Array; + downloadName: string; + quoteText: string; + metoText: string; + consText: string; + toggleInfo: () => void; + isInfoOpen: boolean; +} + +type boxValues = 'meto' | 'cons' | 'quote' | null; + +const TextBoxes: React.FC = (props) => { const { downloadData, downloadName, @@ -20,8 +31,8 @@ const TextBoxes = (props) => { isInfoOpen, } = props; - const [boxShown, setBoxShown] = useState(null); - const [activeBox, setActiveBox] = useState(null); + const [boxShown, setBoxShown] = useState(null); + const [activeBox, setActiveBox] = useState(null); useEffect(() => { if (isInfoOpen) { setBoxShown(null); @@ -29,7 +40,7 @@ const TextBoxes = (props) => { } }, [isInfoOpen]); - const clickOnBox = (name) => { + const clickOnBox = (name: boxValues) => { if (name === boxShown) { setBoxShown(null); setActiveBox(null); @@ -102,23 +113,4 @@ const TextBoxes = (props) => { ); }; -TextBoxes.propTypes = { - downloadData: PropTypes.array, - downloadName: PropTypes.string, - quoteText: PropTypes.string, - metoText: PropTypes.string, - consText: PropTypes.string, - toggleInfo: PropTypes.func, - isInfoOpen: PropTypes.bool, -}; - -TextBoxes.defaultProps = { - downloadData: [], - downloadName: 'datos.csv', - quoteText: '', - metoText: '', - consText: '', - toggleInfo: () => {}, - isInfoOpen: false, -}; export default TextBoxes; From c77149f85f6fa9eaf771a5b239ad94364179b6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 21 Jul 2022 18:06:47 -0500 Subject: [PATCH 037/664] Add prettier --- .github/workflows/feature.yml | 5 +- .github/workflows/release.yml | 5 +- .prettierignore | 8 + package.json | 6 +- prettierrc.json | 5 + yarn.lock | 287 ++-------------------------------- 6 files changed, 37 insertions(+), 279 deletions(-) create mode 100644 .prettierignore create mode 100644 prettierrc.json diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index ed422cf55..87b5c7ff9 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -17,4 +17,7 @@ jobs: node-version-file: '.nvmrc' cache: yarn - run: yarn install - - run: yarn workspaces foreach run build-pkg + - name: Run prettier + run: yarn run check-format + env: + CI: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 08211c795..0f00d3e98 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,4 +17,7 @@ jobs: node-version-file: '.nvmrc' cache: yarn - run: yarn install - - run: yarn workspaces foreach run build-pkg + - name: Run prettier + run: yarn run check-format + env: + CI: true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..a1a5dcd6f --- /dev/null +++ b/.prettierignore @@ -0,0 +1,8 @@ +node_modules/ +.github +.yarn +.yarnrc.yml +.vscode/ + +build/ +packages/* diff --git a/package.json b/package.json index 81dd39243..39b77112e 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", - "eject": "react-scripts eject" + "eject": "react-scripts eject", + "check-format": "prettier --check 'src/**/*.{ts,tsx}'" }, "dependencies": { "@emotion/react": "~11.9.0", @@ -32,6 +33,7 @@ "indicators": "1.0.0", "leaflet": "1.4.0", "leaflet-draw": "^1.0.4", + "prettier": "^2.7.1", "prop-types": "15.8.1", "react": "~17.0.2", "react-dom": "~17.0.2", @@ -55,8 +57,6 @@ "@types/node": "^17.0.41", "@types/react": "^18.0.12", "@types/react-dom": "^18.0.5", - "husky": "~4.3.8", - "lint-staged": "~10.5.4", "typescript": "~4.7.3", "yarn-audit-fix": "~9.3.1" }, diff --git a/prettierrc.json b/prettierrc.json new file mode 100644 index 000000000..5e2863a11 --- /dev/null +++ b/prettierrc.json @@ -0,0 +1,5 @@ +{ + "printWidth": 100, + "singleQuote": true, + "trailingComma": "all" +} diff --git a/yarn.lock b/yarn.lock index 79f2e2a3b..ce5c54d19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8153,7 +8153,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0, ansi-escapes@npm:^4.3.1": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.1": version: 4.3.1 resolution: "ansi-escapes@npm:4.3.1" dependencies: @@ -9139,11 +9139,10 @@ __metadata: axios: ~0.27.2 cbm-dashboard: 1.0.0 chart.js: ~3.8.0 - husky: ~4.3.8 indicators: 1.0.0 leaflet: 1.4.0 leaflet-draw: ^1.0.4 - lint-staged: ~10.5.4 + prettier: ^2.7.1 prop-types: 15.8.1 react: ~17.0.2 react-dom: ~17.0.2 @@ -9987,15 +9986,6 @@ __metadata: languageName: node linkType: hard -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: ^3.1.0 - checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 - languageName: node - linkType: hard - "cli-spinners@npm:^1.1.0": version: 1.3.1 resolution: "cli-spinners@npm:1.3.1" @@ -10003,16 +9993,6 @@ __metadata: languageName: node linkType: hard -"cli-truncate@npm:^2.1.0": - version: 2.1.0 - resolution: "cli-truncate@npm:2.1.0" - dependencies: - slice-ansi: ^3.0.0 - string-width: ^4.2.0 - checksum: bf1e4e6195392dc718bf9cd71f317b6300dc4a9191d052f31046b8773230ece4fa09458813bf0e3455a5e68c0690d2ea2c197d14a8b85a7b5e01c97f4b5feb5d - languageName: node - linkType: hard - "cliui@npm:^5.0.0": version: 5.0.0 resolution: "cliui@npm:5.0.0" @@ -10325,13 +10305,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^6.2.0": - version: 6.2.1 - resolution: "commander@npm:6.2.1" - checksum: d7090410c0de6bc5c67d3ca41c41760d6d268f3c799e530aafb73b7437d1826bbf0d2a3edac33f8b57cc9887b4a986dce307fa5557e109be40eadb7c43b21742 - languageName: node - linkType: hard - "commander@npm:^7.0.0, commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -10360,13 +10333,6 @@ __metadata: languageName: node linkType: hard -"compare-versions@npm:^3.6.0": - version: 3.6.0 - resolution: "compare-versions@npm:3.6.0" - checksum: 7492a50cdaa2c27f5254eee7c4b38856e1c164991bab3d98d7fd067fe4b570d47123ecb92523b78338be86aa221668fd3868bfe8caa5587dc3ebbe1a03d52b5d - languageName: node - linkType: hard - "component-emitter@npm:^1.2.1": version: 1.3.0 resolution: "component-emitter@npm:1.3.0" @@ -11596,18 +11562,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.2.0": - version: 4.3.2 - resolution: "debug@npm:4.3.2" - dependencies: - ms: 2.1.2 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 820ea160e267e23c953c9ed87e7ad93494d8cda2f7349af5e7e3bb236d23707ee3022f477d5a7d2ee86ef2bf7d60aa9ab22d1f58080d7deb9dccd073585e1e43 - languageName: node - linkType: hard - "decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -12324,7 +12278,7 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.5, enquirer@npm:^2.3.6": +"enquirer@npm:^2.3.5": version: 2.3.6 resolution: "enquirer@npm:2.3.6" dependencies: @@ -13101,7 +13055,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^4.0.0, execa@npm:^4.1.0": +"execa@npm:^4.0.0": version: 4.1.0 resolution: "execa@npm:4.1.0" dependencies: @@ -13388,15 +13342,6 @@ __metadata: languageName: node linkType: hard -"figures@npm:^3.2.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" - dependencies: - escape-string-regexp: ^1.0.5 - checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b - languageName: node - linkType: hard - "file-entry-cache@npm:^6.0.0, file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -13543,16 +13488,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: ^6.0.0 - path-exists: ^4.0.0 - checksum: 07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 - languageName: node - linkType: hard - "find-up@npm:^6.1.0, find-up@npm:^6.3.0": version: 6.3.0 resolution: "find-up@npm:6.3.0" @@ -13563,15 +13498,6 @@ __metadata: languageName: node linkType: hard -"find-versions@npm:^4.0.0": - version: 4.0.0 - resolution: "find-versions@npm:4.0.0" - dependencies: - semver-regex: ^3.1.2 - checksum: 2b4c749dc33e3fa73a457ca4df616ac13b4b32c53f6297bc862b0814d402a6cfec93a0d308d5502eeb47f2c125906e0f861bf01b756f08395640892186357711 - languageName: node - linkType: hard - "firebase@npm:~9.8.2": version: 9.8.2 resolution: "firebase@npm:9.8.2" @@ -14976,27 +14902,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"husky@npm:~4.3.8": - version: 4.3.8 - resolution: "husky@npm:4.3.8" - dependencies: - chalk: ^4.0.0 - ci-info: ^2.0.0 - compare-versions: ^3.6.0 - cosmiconfig: ^7.0.0 - find-versions: ^4.0.0 - opencollective-postinstall: ^2.0.2 - pkg-dir: ^5.0.0 - please-upgrade-node: ^3.2.0 - slash: ^3.0.0 - which-pm-runs: ^1.0.0 - bin: - husky-run: bin/run.js - husky-upgrade: lib/upgrader/bin.js - checksum: ac5e6c72053b2a25532f4137f4b036c9057a4b31980f41c7c2efe05e094d2e06b5c8adc0aafba5c6b70e204ab05d4a916233aec9dffc7a0ccfdd14d4b01c719b - languageName: node - linkType: hard - "hyphenate-style-name@npm:^1.0.3": version: 1.0.4 resolution: "hyphenate-style-name@npm:1.0.4" @@ -17154,50 +17059,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lint-staged@npm:~10.5.4": - version: 10.5.4 - resolution: "lint-staged@npm:10.5.4" - dependencies: - chalk: ^4.1.0 - cli-truncate: ^2.1.0 - commander: ^6.2.0 - cosmiconfig: ^7.0.0 - debug: ^4.2.0 - dedent: ^0.7.0 - enquirer: ^2.3.6 - execa: ^4.1.0 - listr2: ^3.2.2 - log-symbols: ^4.0.0 - micromatch: ^4.0.2 - normalize-path: ^3.0.0 - please-upgrade-node: ^3.2.0 - string-argv: 0.3.1 - stringify-object: ^3.3.0 - bin: - lint-staged: bin/lint-staged.js - checksum: 4cc65f6c0a22dc091d0bbdfa6c15cd6e9b7d0d1e7603f5441bf9ac62f3a760fa36b0bda2db4c31b4084f28ba47cd4d0a176c3c3b314a97de8326e050d20b1635 - languageName: node - linkType: hard - -"listr2@npm:^3.2.2": - version: 3.3.4 - resolution: "listr2@npm:3.3.4" - dependencies: - chalk: ^4.1.0 - cli-truncate: ^2.1.0 - figures: ^3.2.0 - indent-string: ^4.0.0 - log-update: ^4.0.0 - p-map: ^4.0.0 - rxjs: ^6.6.6 - through: ^2.3.8 - wrap-ansi: ^7.0.0 - peerDependencies: - enquirer: ">= 2.3.0 < 3" - checksum: b594e7e9cfea2ccf0ced68352b240c4728cacc4d4f569cdb010c5019c7bdc266e9095944d0e3d1da11c9b80043d8ccad4622c641de197da522d61e7537630178 - languageName: node - linkType: hard - "lmdb-darwin-arm64@npm:2.3.10": version: 2.3.10 resolution: "lmdb-darwin-arm64@npm:2.3.10" @@ -17355,15 +17216,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: ^5.0.0 - checksum: 72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a - languageName: node - linkType: hard - "locate-path@npm:^7.1.0": version: 7.1.0 resolution: "locate-path@npm:7.1.0" @@ -17471,27 +17323,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"log-symbols@npm:^4.0.0": - version: 4.0.0 - resolution: "log-symbols@npm:4.0.0" - dependencies: - chalk: ^4.0.0 - checksum: a7c1fb5cc504ff04422460dcae3a830002426432fbed81280c8a49f4c6f5ef244c28b987636bf1c871ba6866d7024713388be391e92c0d5af6a70598fcabc46b - languageName: node - linkType: hard - -"log-update@npm:^4.0.0": - version: 4.0.0 - resolution: "log-update@npm:4.0.0" - dependencies: - ansi-escapes: ^4.3.0 - cli-cursor: ^3.1.0 - slice-ansi: ^4.0.0 - wrap-ansi: ^6.2.0 - checksum: ae2f85bbabc1906034154fb7d4c4477c79b3e703d22d78adee8b3862fa913942772e7fa11713e3d96fb46de4e3cabefbf5d0a544344f03b58d3c4bff52aa9eb2 - languageName: node - linkType: hard - "loglevel@npm:^1.6.8": version: 1.7.1 resolution: "loglevel@npm:1.7.1" @@ -18863,15 +18694,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"opencollective-postinstall@npm:^2.0.2": - version: 2.0.3 - resolution: "opencollective-postinstall@npm:2.0.3" - bin: - opencollective-postinstall: index.js - checksum: 0a68c5cef135e46d11e665d5077398285d1ce5311c948e8327b435791c409744d4a6bb9c55bd6507fb5f2ef34b0ad920565adcdaf974cbdae701aead6f32b396 - languageName: node - linkType: hard - "opn@npm:^5.1.0, opn@npm:^5.5.0": version: 5.5.0 resolution: "opn@npm:5.5.0" @@ -19037,15 +18859,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: ^3.0.2 - checksum: 1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 - languageName: node - linkType: hard - "p-locate@npm:^6.0.0": version: 6.0.0 resolution: "p-locate@npm:6.0.0" @@ -19592,15 +19405,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pkg-dir@npm:^5.0.0": - version: 5.0.0 - resolution: "pkg-dir@npm:5.0.0" - dependencies: - find-up: ^5.0.0 - checksum: b167bb8dac7bbf22b1d5e30ec223e6b064b84b63010c9d49384619a36734caf95ed23ad23d4f9bd975e8e8082b60a83395f43a89bb192df53a7c25a38ecb57d9 - languageName: node - linkType: hard - "pkg-dir@npm:^6.0.1": version: 6.0.1 resolution: "pkg-dir@npm:6.0.1" @@ -19619,15 +19423,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"please-upgrade-node@npm:^3.2.0": - version: 3.2.0 - resolution: "please-upgrade-node@npm:3.2.0" - dependencies: - semver-compare: ^1.0.0 - checksum: d87c41581a2a022fbe25965a97006238cd9b8cbbf49b39f78d262548149a9d30bd2bdf35fec3d810e0001e630cd46ef13c7e19c389dea8de7e64db271a2381bb - languageName: node - linkType: hard - "plotly.js@npm:~2.12.1": version: 2.12.1 resolution: "plotly.js@npm:2.12.1" @@ -20766,6 +20561,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"prettier@npm:^2.7.1": + version: 2.7.1 + resolution: "prettier@npm:2.7.1" + bin: + prettier: bin-prettier.js + checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + languageName: node + linkType: hard + "prettier@npm:~2.6.2": version: 2.6.2 resolution: "prettier@npm:2.6.2" @@ -22248,16 +22052,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: ^5.1.0 - signal-exit: ^3.0.2 - checksum: f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 - languageName: node - linkType: hard - "ret@npm:~0.1.10": version: 0.1.15 resolution: "ret@npm:0.1.15" @@ -22456,15 +22250,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"rxjs@npm:^6.6.6": - version: 6.6.6 - resolution: "rxjs@npm:6.6.6" - dependencies: - tslib: ^1.9.0 - checksum: 3320dc74bad3b6eb0397ce0394ca6cc7bfecf32538ed18580f59ee6c1d66196b572d8ad209bf8e08e4de51bf804fdce1666e81d51e7eab33c6efba79ff54664b - languageName: node - linkType: hard - "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -22652,20 +22437,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"semver-compare@npm:^1.0.0": - version: 1.0.0 - resolution: "semver-compare@npm:1.0.0" - checksum: dd1d7e2909744cf2cf71864ac718efc990297f9de2913b68e41a214319e70174b1d1793ac16e31183b128c2b9812541300cb324db8168e6cf6b570703b171c68 - languageName: node - linkType: hard - -"semver-regex@npm:^3.1.2": - version: 3.1.3 - resolution: "semver-regex@npm:3.1.3" - checksum: a40c17716679f413994ba4723cf32cf94160a4a3db36e3f730f840cb36bbdbcfda2a34df051d1adb56ed2c67c2a00badfaa9e1e4b755ae6addc7d23ebf55c32b - languageName: node - linkType: hard - "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.5.1, semver@npm:^5.6.0, semver@npm:^5.7.0, semver@npm:^5.7.1": version: 5.7.1 resolution: "semver@npm:5.7.1" @@ -22982,17 +22753,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"slice-ansi@npm:^3.0.0": - version: 3.0.0 - resolution: "slice-ansi@npm:3.0.0" - dependencies: - ansi-styles: ^4.0.0 - astral-regex: ^2.0.0 - is-fullwidth-code-point: ^3.0.0 - checksum: 5ec6d022d12e016347e9e3e98a7eb2a592213a43a65f1b61b74d2c78288da0aded781f665807a9f3876b9daa9ad94f64f77d7633a0458876c3a4fdc4eb223f24 - languageName: node - linkType: hard - "slice-ansi@npm:^4.0.0": version: 4.0.0 resolution: "slice-ansi@npm:4.0.0" @@ -23409,13 +23169,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"string-argv@npm:0.3.1": - version: 0.3.1 - resolution: "string-argv@npm:0.3.1" - checksum: efbd0289b599bee808ce80820dfe49c9635610715429c6b7cc50750f0437e3c2f697c81e5c390208c13b5d5d12d904a1546172a88579f6ee5cbaaaa4dc9ec5cf - languageName: node - linkType: hard - "string-length@npm:^4.0.1": version: 4.0.1 resolution: "string-length@npm:4.0.1" @@ -24106,13 +23859,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"through@npm:^2.3.8": - version: 2.3.8 - resolution: "through@npm:2.3.8" - checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd - languageName: node - linkType: hard - "thunky@npm:^1.0.2": version: 1.1.0 resolution: "thunky@npm:1.1.0" @@ -25556,13 +25302,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"which-pm-runs@npm:^1.0.0": - version: 1.0.0 - resolution: "which-pm-runs@npm:1.0.0" - checksum: 30cf7aee31f264558070e92414316c169367bb2b84a0a32777d30392fea0892fcf9955b81c3fe7f52165ae5a33f0acfd3bc0916416cb07e6d414c90255c228ca - languageName: node - linkType: hard - "which@npm:^1.2.9, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" From 2573fcba1f281f4d3559233a8877ff131c995873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 21 Jul 2022 18:19:13 -0500 Subject: [PATCH 038/664] Fix format --- prettierrc.json | 4 +--- src/components/TextBoxes.tsx | 46 ++++++++++++++++++++---------------- src/utils/colorUtils.ts | 24 +++++++++++-------- 3 files changed, 41 insertions(+), 33 deletions(-) diff --git a/prettierrc.json b/prettierrc.json index 5e2863a11..de753c537 100644 --- a/prettierrc.json +++ b/prettierrc.json @@ -1,5 +1,3 @@ { - "printWidth": 100, - "singleQuote": true, - "trailingComma": "all" + "printWidth": 100 } diff --git a/src/components/TextBoxes.tsx b/src/components/TextBoxes.tsx index a3b7d62e5..e78a57575 100644 --- a/src/components/TextBoxes.tsx +++ b/src/components/TextBoxes.tsx @@ -1,12 +1,12 @@ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useState } from "react"; -import AnnouncementIcon from '@mui/icons-material/Announcement'; -import CollectionsBookmarkIcon from '@mui/icons-material/CollectionsBookmark'; -import FormatQuoteIcon from '@mui/icons-material/FormatQuote'; +import AnnouncementIcon from "@mui/icons-material/Announcement"; +import CollectionsBookmarkIcon from "@mui/icons-material/CollectionsBookmark"; +import FormatQuoteIcon from "@mui/icons-material/FormatQuote"; -import ShortInfo from 'components/ShortInfo'; -import DownloadCSV from 'components/DownloadCSV'; -import { IconTooltip } from 'components/Tooltips'; +import ShortInfo from "components/ShortInfo"; +import DownloadCSV from "components/DownloadCSV"; +import { IconTooltip } from "components/Tooltips"; interface props { downloadData: Array; @@ -18,7 +18,7 @@ interface props { isInfoOpen: boolean; } -type boxValues = 'meto' | 'cons' | 'quote' | null; +type boxValues = "meto" | "cons" | "quote" | null; const TextBoxes: React.FC = (props) => { const { @@ -56,27 +56,33 @@ const TextBoxes: React.FC = (props) => { return ( <>

- {metoText !== '' && ( + {metoText !== "" && ( clickOnBox('meto')} + className={`graphinfo3${ + activeBox === "meto" ? " activeBox" : "" + }`} + onClick={() => clickOnBox("meto")} /> )} - {consText !== '' && ( + {consText !== "" && ( clickOnBox('cons')} + className={`graphinfo3${ + activeBox === "cons" ? " activeBox" : "" + }`} + onClick={() => clickOnBox("cons")} /> )} - {quoteText !== '' && ( + {quoteText !== "" && ( clickOnBox('quote')} + className={`graphinfo3${ + activeBox === "quote" ? " activeBox" : "" + }`} + onClick={() => clickOnBox("quote")} /> )} @@ -88,21 +94,21 @@ const TextBoxes: React.FC = (props) => { /> )}

- {boxShown === 'quote' && ( + {boxShown === "quote" && ( )} - {boxShown === 'meto' && ( + {boxShown === "meto" && ( )} - {boxShown === 'cons' && ( + {boxShown === "cons" && ( { - const num: number = parseInt(color.replace('#', ''), 16); + const num: number = parseInt(color.replace("#", ""), 16); const amt: number = Math.round(2.55 * percent); const R: number = (num >> 16) + amt; - const B: number = ((num >> 8) & 0x00FF) + amt; - const G: number = (num & 0x0000FF) + amt; + const B: number = ((num >> 8) & 0x00ff) + amt; + const G: number = (num & 0x0000ff) + amt; const newR: number = R < 1 ? 0 : R; const newB: number = B < 1 ? 0 : B; const newG: number = G < 1 ? 0 : G; return `#${( - 0x1000000 - + (R < 255 ? newR : 255) * 0x10000 - + (B < 255 ? newB : 255) * 0x100 - + (G < 255 ? newG : 255) - ).toString(16).slice(1)}`; + 0x1000000 + + (R < 255 ? newR : 255) * 0x10000 + + (B < 255 ? newB : 255) * 0x100 + + (G < 255 ? newG : 255) + ) + .toString(16) + .slice(1)}`; }; -const lightenColor = (color: string, percent: number): string => changeColor(color, percent); -const darkenColor = (color: string, percent: number): string => changeColor(color, percent * -1); +const lightenColor = (color: string, percent: number): string => + changeColor(color, percent); +const darkenColor = (color: string, percent: number): string => + changeColor(color, percent * -1); export { lightenColor, darkenColor }; From f65150393c4a0ca1277129afafa84ffbb1cadb22 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 11:29:29 +0200 Subject: [PATCH 039/664] add ecosystems texts into the state --- src/pages/search/drawer/Ecosystems.jsx | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index cd48729c6..770276e3d 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -27,13 +27,6 @@ import RestAPI from 'utils/restAPI'; */ const getPercentage = (part, total) => ((part * 100) / total).toFixed(2); -const texts = { - ecosystems: {}, - coverage: {}, - pa: {}, - se: {}, -}; - class StrategicEcosystems extends React.Component { mounted = false; @@ -53,6 +46,12 @@ class StrategicEcosystems extends React.Component { pa: 'loading', se: 'loading', }, + texts: { + ecosystems: {}, + coverage: {}, + pa: {}, + se: {}, + }, }; } @@ -145,11 +144,15 @@ class StrategicEcosystems extends React.Component { RestAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { - texts[item] = res; + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: res }, + })); } }) .catch(() => { - texts[item] = {}; + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: {} }, + })); }); }); } @@ -232,6 +235,7 @@ class StrategicEcosystems extends React.Component { SETotalArea, activeSE, messages: { cov, pa }, + texts, } = this.state; const { areaId, From adae181890d017679f329fd348469abd70ff73f5 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 11:37:49 +0200 Subject: [PATCH 040/664] add CompensationFactor texts into state --- .../drawer/landscape/CompensationFactor.jsx | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.jsx b/src/pages/search/drawer/landscape/CompensationFactor.jsx index 82d735a4a..be493c5e9 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.jsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.jsx @@ -9,12 +9,6 @@ import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const texts = { - cf: {}, - biomes: {}, - bioticRegions: {}, -}; - class CompensationFactor extends React.Component { mounted = false; @@ -30,6 +24,11 @@ class CompensationFactor extends React.Component { biomes: 'loading', bioticUnits: 'loading', }, + texts: { + cf: {}, + biomes: {}, + bioticRegions: {}, + }, }; } @@ -112,11 +111,15 @@ class CompensationFactor extends React.Component { RestAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { - texts[item] = res; + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: res }, + })); } }) .catch(() => { - texts[item] = {}; + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: {} }, + })); }); }); } @@ -163,6 +166,7 @@ class CompensationFactor extends React.Component { biomes: biomesMess, bioticunits: bioticUnitsMess, }, + texts, } = this.state; const { areaId, From 9f1541111267b873a489b02bf37065272fe858e9 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 12:51:47 +0200 Subject: [PATCH 041/664] add forest integrity texts into the state --- .../drawer/landscape/forest/ForestIntegrity.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx index 22bbd5bd1..5593373f9 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx @@ -11,10 +11,6 @@ import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const texts = { - forestSCIHF: {}, -}; - class ForestIntegrity extends React.Component { mounted = false; @@ -54,6 +50,9 @@ class ForestIntegrity extends React.Component { value: 0, }, }, + texts: { + forestSCIHF: {}, + }, ProtectedAreas: { 'alta-estable_alta': [], 'alta-dinamica': [], @@ -112,11 +111,11 @@ class ForestIntegrity extends React.Component { RestAPI.requestSectionTexts('forestSCIHF') .then((res) => { if (this.mounted) { - texts.forestSCIHF = res; + this.setState({ texts: { forestSCIHF: res } }); } }) .catch(() => { - texts.forestSCIHF = { }; + this.setState({ texts: { forestSCIHF: {} } }); }); } @@ -140,6 +139,7 @@ class ForestIntegrity extends React.Component { ProtectedAreas, selectedCategory, loading, + texts, } = this.state; const { areaId, From 9bca4a7670067abb5f6cd01640060331b1517a3f Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 12:56:38 +0200 Subject: [PATCH 042/664] add forest lossPersistence texts into state --- .../landscape/forest/ForestLossPersistence.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.jsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.jsx index 53cf4a5cc..5478f447a 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.jsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.jsx @@ -10,10 +10,6 @@ import RestAPI from 'utils/restAPI'; import formatNumber from 'utils/format'; import TextBoxes from 'components/TextBoxes'; -const texts = { - forestLP: {}, -}; - const LATEST_PERIOD = '2016-2021'; const getLabel = { @@ -33,6 +29,9 @@ class ForestLossPersistence extends React.Component { forestLP: [], message: 'loading', forestPersistenceValue: 0, + texts: { + forestLP: {}, + }, }; } @@ -76,11 +75,11 @@ class ForestLossPersistence extends React.Component { RestAPI.requestSectionTexts('forestLP') .then((res) => { if (this.mounted) { - texts.forestLP = res; + this.setState({ texts: { forestLP: res } }); } }) .catch(() => { - texts.forestLP = { }; + this.setState({ texts: { forestLP: {} } }); }); } @@ -122,6 +121,7 @@ class ForestLossPersistence extends React.Component { forestPersistenceValue, showInfoGraph, message, + texts, } = this.state; const { areaId, From b93a5f307150165d38e39288e4ef4c78f6930f4f Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 13:07:08 +0200 Subject: [PATCH 043/664] add CurrentFootprint texts to the state --- .../landscape/humanFootprint/CurrentFootprint.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx index c6ea1cc61..a3a9c5364 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx @@ -10,10 +10,6 @@ import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const texts = { - hfCurrent: {}, -}; - class CurrentFootprint extends React.Component { mounted = false; @@ -25,6 +21,9 @@ class CurrentFootprint extends React.Component { hfCurrentValue: '0', hfCurrentCategory: '', message: 'loading', + texts: { + hfCurrent: {}, + }, }; } @@ -68,11 +67,11 @@ class CurrentFootprint extends React.Component { RestAPI.requestSectionTexts('hfCurrent') .then((res) => { if (this.mounted) { - texts.hfCurrent = res; + this.setState({ texts: { hfCurrent: res } }); } }) .catch(() => { - texts.hfCurrent = { }; + this.setState({ texts: { hfCurrent: {} } }); }); } @@ -101,6 +100,7 @@ class CurrentFootprint extends React.Component { hfCurrentCategory, showInfoGraph, message, + texts, } = this.state; return (
From 5e4bf0605431df96692efca73603bb2161ccba4b Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 13:14:15 +0200 Subject: [PATCH 044/664] add PersistenceFootprint texts to the state --- .../humanFootprint/PersistenceFootprint.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.jsx index c1630c68b..c591bf5f5 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.jsx @@ -9,10 +9,6 @@ import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const texts = { - hfPersistence: {}, -}; - const getLabel = { estable_natural: 'Estable Natural', dinamica: 'Dinámica', @@ -28,6 +24,9 @@ class PersistenceFootprint extends React.Component { showInfoGraph: true, hfPersistence: [], message: 'loading', + texts: { + hfPersistence: {}, + }, }; } @@ -60,11 +59,11 @@ class PersistenceFootprint extends React.Component { RestAPI.requestSectionTexts('hfPersistence') .then((res) => { if (this.mounted) { - texts.hfPersistence = res; + this.setState({ texts: { hfPersistence: res } }); } }) .catch(() => { - texts.hfPersistence = { }; + this.setState({ texts: { hfPersistence: {} } }); }); } @@ -91,6 +90,7 @@ class PersistenceFootprint extends React.Component { showInfoGraph, hfPersistence, message, + texts, } = this.state; return (
From ec15a4ffbe7c7765ead2088a36469b681851186b Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 13:21:58 +0200 Subject: [PATCH 045/664] add TimelineFootprint texts to the state --- .../landscape/humanFootprint/TimelineFootprint.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx index 8c26d79f2..c079043b6 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx @@ -11,10 +11,6 @@ import processDataCsv from 'utils/processDataCsv'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; -const texts = { - hfTimeline: {}, -}; - const changeValues = [ { axis: 'y', @@ -80,6 +76,9 @@ class TimelineFootprint extends React.Component { hfTimeline: [], message: 'loading', selectedEcosystem: null, + texts: { + hfTimeline: {}, + }, }; } @@ -110,11 +109,11 @@ class TimelineFootprint extends React.Component { RestAPI.requestSectionTexts('hfTimeline') .then((res) => { if (this.mounted) { - texts.hfTimeline = res; + this.setState({ texts: { hfTimeline: res } }); } }) .catch(() => { - texts.hfTimeline = { }; + this.setState({ texts: { hfTimeline: {} } }); }); } @@ -193,6 +192,7 @@ class TimelineFootprint extends React.Component { hfTimeline, selectedEcosystem, message, + texts, } = this.state; return (
From 88bcfbb631e8a75f04906a1a33ffc88f30ffe4d3 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 22 Jul 2022 13:26:51 +0200 Subject: [PATCH 046/664] add SpeciesRecordsGaps texts to the state --- .../drawer/species/richness/SpeciesRecordsGaps.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx index 6bff5006f..3c88b223a 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx @@ -48,10 +48,6 @@ const getLabelConcentration = (key) => ({ }[key] ); -const texts = { - gaps: {}, -}; - class SpeciesRecordsGaps extends React.Component { mounted = false; @@ -68,6 +64,9 @@ class SpeciesRecordsGaps extends React.Component { concentrationFlag: false, showErrorMessage: false, csvData: [], + texts: { + gaps: {}, + }, }; } @@ -125,11 +124,11 @@ class SpeciesRecordsGaps extends React.Component { RestAPI.requestSectionTexts('gaps') .then((res) => { if (this.mounted) { - texts.gaps = res; + this.setState({ texts: { gaps: res } }); } }) .catch(() => { - texts.gaps = { }; + this.setState({ texts: { gaps: {} } }); }); isFlagEnabled('speciesRecordsConcentrarion') @@ -229,6 +228,7 @@ class SpeciesRecordsGaps extends React.Component { concentrationFlag, showErrorMessage, csvData, + texts, } = this.state; return (
From fca306a05f53ded4c8363f2f85bb1bdb82b2a65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 28 Jul 2022 14:34:43 -0500 Subject: [PATCH 047/664] Add some useful changes --- src/components/TextBoxes.tsx | 4 +- src/components/charts/GraphLoader.jsx | 2 +- src/pages/search/SearchContext.jsx | 5 --- src/pages/search/SearchContext.tsx | 17 ++++++++ src/pages/search/types/forest.ts | 6 +++ src/utils/restAPI.js | 13 ------ src/utils/searchAPI.ts | 60 +++++++++++++++++++++++++++ 7 files changed, 86 insertions(+), 21 deletions(-) delete mode 100644 src/pages/search/SearchContext.jsx create mode 100644 src/pages/search/SearchContext.tsx create mode 100644 src/pages/search/types/forest.ts create mode 100644 src/utils/searchAPI.ts diff --git a/src/components/TextBoxes.tsx b/src/components/TextBoxes.tsx index e78a57575..604b22bd6 100644 --- a/src/components/TextBoxes.tsx +++ b/src/components/TextBoxes.tsx @@ -8,7 +8,7 @@ import ShortInfo from "components/ShortInfo"; import DownloadCSV from "components/DownloadCSV"; import { IconTooltip } from "components/Tooltips"; -interface props { +interface TextBoxProps { downloadData: Array; downloadName: string; quoteText: string; @@ -20,7 +20,7 @@ interface props { type boxValues = "meto" | "cons" | "quote" | null; -const TextBoxes: React.FC = (props) => { +const TextBoxes: React.FC = (props) => { const { downloadData, downloadName, diff --git a/src/components/charts/GraphLoader.jsx b/src/components/charts/GraphLoader.jsx index 671638426..a5e3c4521 100644 --- a/src/components/charts/GraphLoader.jsx +++ b/src/components/charts/GraphLoader.jsx @@ -181,7 +181,7 @@ const GraphLoader = (props) => { /> ); default: - return ''; + return <>; } }; diff --git a/src/pages/search/SearchContext.jsx b/src/pages/search/SearchContext.jsx deleted file mode 100644 index be7c3a942..000000000 --- a/src/pages/search/SearchContext.jsx +++ /dev/null @@ -1,5 +0,0 @@ -import React from 'react'; - -const SearchContext = React.createContext(); - -export default SearchContext; diff --git a/src/pages/search/SearchContext.tsx b/src/pages/search/SearchContext.tsx new file mode 100644 index 000000000..93b4d8575 --- /dev/null +++ b/src/pages/search/SearchContext.tsx @@ -0,0 +1,17 @@ +import React from "react"; + +interface SearchContextValues { + areaId: string; + geofenceId: string | number; + switchLayer(layer: string): void; + handlerClickOnGraph({}): void; +} + +const SearchContext = React.createContext({ + areaId: "", + geofenceId: "", + switchLayer: () => {}, + handlerClickOnGraph: () => {}, +}); + +export default SearchContext; diff --git a/src/pages/search/types/forest.ts b/src/pages/search/types/forest.ts new file mode 100644 index 000000000..16fd4c562 --- /dev/null +++ b/src/pages/search/types/forest.ts @@ -0,0 +1,6 @@ +export interface SCIHF { + hf_pers: string; + sci_cat: string; + pa: string; + area: number; +} diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 6959b95d2..11875c914 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -258,19 +258,6 @@ class RestAPI { return RestAPI.makeGetRequest(`forest/lp?areaType=${areaType}&areaId=${areaId}`); } - /** - * Get the structural condition index with human footprint persistence categories in the given - * area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Objects with value for the SCI and HF persistence - */ - static requestSCIHF(areaType, areaId) { - return RestAPI.makeGetRequest(`forest/sci/hf?areaType=${areaType}&areaId=${areaId}`); - } - /** * Get the area distribution for each category of protected area connectivity in a given area * diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts new file mode 100644 index 000000000..a56605149 --- /dev/null +++ b/src/utils/searchAPI.ts @@ -0,0 +1,60 @@ +import axios, { CancelToken } from "axios"; +import { SCIHF } from "pages/search/types/forest"; + +class SearchAPI { + /** + * Get the structural condition index with human footprint persistence categories in the given + * area. + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Objects with value for the SCI and HF persistence + */ + static requestSCIHF( + areaType: string, + areaId: string | number + ): Promise { + return SearchAPI.makeGetRequest( + `forest/sci/hf?areaType=${areaType}&areaId=${areaId}` + ); + } + + /** ************** */ + /** BASE FUNCTIONS */ + /** ************** */ + + /** + * Request an endpoint through a GET request + * + * @param {String} endpoint endpoint to attach to url + */ + static makeGetRequest(endpoint: string, options = {}, completeRes = false) { + const config = { + ...options, + headers: { + Authorization: `apiKey ${process.env.REACT_APP_BACKEND_KEY}`, + }, + }; + return axios + .get(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, config) + .then((res) => { + if (completeRes) { + return res; + } + return res.data; + }) + .catch((error) => { + if (axios.isCancel(error)) { + return Promise.resolve("request canceled"); + } + let message = "Bad GET response. Try later"; + if (error.response) message = error.response.status; + if (error.request && error.request.statusText === "") + message = "no-data-available"; + return Promise.reject(message); + }); + } +} + +export default SearchAPI; From bf659575aa9cf4e0036a20c7b16f2f0da2a72ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 28 Jul 2022 17:22:46 -0500 Subject: [PATCH 048/664] Update react scripts to fix problems with types --- .eslintignore | 2 - package.json | 7 +- packages/cbm-dashboard/package.json | 3 +- packages/cbm-dashboard/rollup.config.js | 2 + yarn.lock | 16602 +++++++++------------- 5 files changed, 6945 insertions(+), 9671 deletions(-) delete mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index b42e000d7..000000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -src/*.test.js -src/registerServiceWorker.js diff --git a/package.json b/package.json index 39b77112e..7c43b51be 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "react-leaflet": "2.7.0", "react-leaflet-draw": "0.19.0", "react-router-dom": "5.3.3", - "react-scripts": "4.0.3", + "react-scripts": "~5.0.1", "react-spring": "~9.4.5", "styled-components": "~5.3.5" }, @@ -60,11 +60,6 @@ "typescript": "~4.7.3", "yarn-audit-fix": "~9.3.1" }, - "eslintConfig": { - "extends": [ - "react-app" - ] - }, "browserslist": [ ">0.2%", "not dead", diff --git a/packages/cbm-dashboard/package.json b/packages/cbm-dashboard/package.json index d3c63baf6..1a36bc7df 100644 --- a/packages/cbm-dashboard/package.json +++ b/packages/cbm-dashboard/package.json @@ -28,7 +28,8 @@ "parcel": "1.12.4", "prettier": "~2.6.2", "rollup": "~2.75.6", - "rollup-plugin-css-only": "~3.1.0" + "rollup-plugin-css-only": "~3.1.0", + "rollup-plugin-node-polyfills": "~0.2.1" }, "scripts": { "dev": "parcel index.html", diff --git a/packages/cbm-dashboard/rollup.config.js b/packages/cbm-dashboard/rollup.config.js index 28a4ddfda..e81ba7e59 100644 --- a/packages/cbm-dashboard/rollup.config.js +++ b/packages/cbm-dashboard/rollup.config.js @@ -2,6 +2,7 @@ import { babel } from '@rollup/plugin-babel'; import commonjs from '@rollup/plugin-commonjs'; import { nodeResolve } from '@rollup/plugin-node-resolve'; import css from 'rollup-plugin-css-only'; +import nodePolyfills from 'rollup-plugin-node-polyfills'; export default { input: 'src/App.jsx', @@ -14,6 +15,7 @@ export default { }, ], plugins: [ + nodePolyfills(), nodeResolve({ extensions: ['.jsx', '.js'] }), babel({ exclude: 'node_modules/**', babelHelpers: 'bundled' }), commonjs(), diff --git a/yarn.lock b/yarn.lock index ce5c54d19..01ccc3279 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,15 +5,6 @@ __metadata: version: 5 cacheKey: 8 -"@ampproject/remapping@npm:^2.0.0": - version: 2.1.0 - resolution: "@ampproject/remapping@npm:2.1.0" - dependencies: - "@jridgewell/trace-mapping": ^0.3.0 - checksum: 10ff0d4a559f930082f1a4c1b68dc521d5b1a75e0b8ab4829e9eedf6621386893e4a008f0db6c716f64db5d8eed49c0abcfbf3bd6ff11d5a00312454a9351ed4 - languageName: node - linkType: hard - "@ampproject/remapping@npm:^2.1.0": version: 2.2.0 resolution: "@ampproject/remapping@npm:2.2.0" @@ -24,3277 +15,1328 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:7.10.4": - version: 7.10.4 - resolution: "@babel/code-frame@npm:7.10.4" - dependencies: - "@babel/highlight": ^7.10.4 - checksum: feb4543c8a509fe30f0f6e8d7aa84f82b41148b963b826cd330e34986f649a85cb63b2f13dd4effdf434ac555d16f14940b8ea5f4433297c2f5ff85486ded019 - languageName: node - linkType: hard - -"@babel/code-frame@npm:7.12.11": - version: 7.12.11 - resolution: "@babel/code-frame@npm:7.12.11" - dependencies: - "@babel/highlight": ^7.10.4 - checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.5.5": - version: 7.12.13 - resolution: "@babel/code-frame@npm:7.12.13" - dependencies: - "@babel/highlight": ^7.12.13 - checksum: d0491bb59fb8d7a763cb175c5504818cfd3647321d8eedb9173336d5c47dccce248628ee68b3ed3586c5efc753d8d990ceafe956f707dcf92572a1661b92b1ef - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/code-frame@npm:7.16.7" - dependencies: - "@babel/highlight": ^7.16.7 - checksum: db2f7faa31bc2c9cf63197b481b30ea57147a5fc1a6fab60e5d6c02cdfbf6de8e17b5121f99917b3dabb5eeb572da078312e70697415940383efc140d4e0808b - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.12.1, @babel/compat-data@npm:^7.13.0, @babel/compat-data@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/compat-data@npm:7.13.8" - checksum: 4b9fc2f633d4bc64d158dba28d17476dca6feaf00be6cf7a8e321d71823685639407358f3852e5279b5d0afe07780e1eb3223e1f16642b61f673584d32226e98 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.13.11": - version: 7.15.0 - resolution: "@babel/compat-data@npm:7.15.0" - checksum: 65088d87b14966dcdba397c799f312beb1e7a4dac178e7daa922a17ee9b65d8cfd9f35ff8352ccb6e20bb9a169df1171263ef5fd5967aa25d544ea3f62681993 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.16.4, @babel/compat-data@npm:^7.16.8": - version: 7.17.0 - resolution: "@babel/compat-data@npm:7.17.0" - checksum: fe5afaf529d107a223cd5937dace248464b6df1e9f4ea4031a5723e9571b46a4db1c4ff226bac6351148b1bc02ba1b39cb142662cd235aa99c1dda77882f8c9d - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.17.10": - version: 7.17.10 - resolution: "@babel/compat-data@npm:7.17.10" - checksum: e85051087cd4690de5061909a2dd2d7f8b6434a3c2e30be6c119758db2027ae1845bcd75a81127423dd568b706ac6994a1a3d7d701069a23bf5cfe900728290b - languageName: node - linkType: hard - -"@babel/core@npm:7.12.3": - version: 7.12.3 - resolution: "@babel/core@npm:7.12.3" +"@apideck/better-ajv-errors@npm:^0.3.1": + version: 0.3.6 + resolution: "@apideck/better-ajv-errors@npm:0.3.6" dependencies: - "@babel/code-frame": ^7.10.4 - "@babel/generator": ^7.12.1 - "@babel/helper-module-transforms": ^7.12.1 - "@babel/helpers": ^7.12.1 - "@babel/parser": ^7.12.3 - "@babel/template": ^7.10.4 - "@babel/traverse": ^7.12.1 - "@babel/types": ^7.12.1 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.1 - json5: ^2.1.2 - lodash: ^4.17.19 - resolve: ^1.3.2 - semver: ^5.4.1 - source-map: ^0.5.0 - checksum: 29ee14dd7ae66c1af84d1b2864e1e9e1bec23b89f41e414917b10151ae1fcb6d3b6a8a25d028a7e22dba3bb7b69eb1f7f0d844797341357e36fa71ff967fb4a5 + json-schema: ^0.4.0 + jsonpointer: ^5.0.0 + leven: ^3.1.0 + peerDependencies: + ajv: ">=8" + checksum: b70ec9aae3b30ba1ac06948e585cd96aabbfe7ef6a1c27dc51e56c425f01290a58e9beb19ed95ee64da9f32df3e9276cd1ea58e78792741d74a519cb56955491 languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.5, @babel/core@npm:^7.8.4": - version: 7.13.8 - resolution: "@babel/core@npm:7.13.8" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.8.3": + version: 7.18.6 + resolution: "@babel/code-frame@npm:7.18.6" dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.13.0 - "@babel/helper-compilation-targets": ^7.13.8 - "@babel/helper-module-transforms": ^7.13.0 - "@babel/helpers": ^7.13.0 - "@babel/parser": ^7.13.4 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.1.2 - lodash: ^4.17.19 - semver: ^6.3.0 - source-map: ^0.5.0 - checksum: 9074006b422f6181ae119780ea29cf331bf5d97b05b506c7a828be99d22036c353ec6cf7232f8cc1f0f2a70ddeb4dcc4586fa4cfc2653347bf1e54a9c5116ccc + "@babel/highlight": ^7.18.6 + checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba languageName: node linkType: hard -"@babel/core@npm:^7.4.4": - version: 7.17.2 - resolution: "@babel/core@npm:7.17.2" - dependencies: - "@ampproject/remapping": ^2.0.0 - "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.17.0 - "@babel/helper-compilation-targets": ^7.16.7 - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helpers": ^7.17.2 - "@babel/parser": ^7.17.0 - "@babel/template": ^7.16.7 - "@babel/traverse": ^7.17.0 - "@babel/types": ^7.17.0 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.1.2 - semver: ^6.3.0 - checksum: 68ab3459f41b41feb5cb263937f15e418e1c46998d482d1b6dfe34f78064765466cfd5b10205c22fb16b69dbd1d46e7a3c26c067884ca4eb514b3dac1e09a57f +"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8": + version: 7.18.8 + resolution: "@babel/compat-data@npm:7.18.8" + checksum: 3096aafad74936477ebdd039bcf342fba84eb3100e608f3360850fb63e1efa1c66037c4824f814d62f439ab47d25164439343a6e92e9b4357024fdf571505eb9 languageName: node linkType: hard -"@babel/core@npm:~7.18.2": - version: 7.18.2 - resolution: "@babel/core@npm:7.18.2" +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.12.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.4.4, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0, @babel/core@npm:~7.18.2": + version: 7.18.9 + resolution: "@babel/core@npm:7.18.9" dependencies: "@ampproject/remapping": ^2.1.0 - "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.18.2 - "@babel/helper-compilation-targets": ^7.18.2 - "@babel/helper-module-transforms": ^7.18.0 - "@babel/helpers": ^7.18.2 - "@babel/parser": ^7.18.0 - "@babel/template": ^7.16.7 - "@babel/traverse": ^7.18.2 - "@babel/types": ^7.18.2 + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.18.9 + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-module-transforms": ^7.18.9 + "@babel/helpers": ^7.18.9 + "@babel/parser": ^7.18.9 + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: 14a4142c12e004cd2477b7610408d5788ee5dd821ee9e4de204cbb72d9c399d858d9deabc3d49914d5d7c2927548160c19bdc7524b1a9f6acc1ec96a8d9848dd - languageName: node - linkType: hard - -"@babel/generator@npm:^7.12.1, @babel/generator@npm:^7.13.0, @babel/generator@npm:^7.13.9": - version: 7.13.9 - resolution: "@babel/generator@npm:7.13.9" - dependencies: - "@babel/types": ^7.13.0 - jsesc: ^2.5.1 - source-map: ^0.5.0 - checksum: 1b0e9fa1b5ea6656f0abeeedc99ff7bffa455d7bf118f4d17a75d80c439206b4ba3e1071c104b486b7447689512969286cbde505e6169ab38cf437e13ca54225 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.17.0, @babel/generator@npm:^7.4.4": - version: 7.17.0 - resolution: "@babel/generator@npm:7.17.0" - dependencies: - "@babel/types": ^7.17.0 - jsesc: ^2.5.1 - source-map: ^0.5.0 - checksum: 2987dbebb484727a227f1ce3db90810320986cfb3ffd23e6d1d87f75bbd8e7871b5bc44252822d4d5f048a2d872a5702b2a9bf7bab7e07f087d7f306f0ea6c0a - languageName: node - linkType: hard - -"@babel/generator@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/generator@npm:7.18.2" - dependencies: - "@babel/types": ^7.18.2 - "@jridgewell/gen-mapping": ^0.3.0 - jsesc: ^2.5.1 - checksum: d0661e95532ddd97566d41fec26355a7b28d1cbc4df95fe80cc084c413342935911b48db20910708db39714844ddd614f61c2ec4cca3fb10181418bdcaa2e7a3 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.0.0, @babel/helper-annotate-as-pure@npm:^7.10.4, @babel/helper-annotate-as-pure@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-annotate-as-pure@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: c85c2cf08c18fe2c59cbc2f2f4ae227136c3400263a139c6c689c575aea301ad3f8260e709d2f58b6fb2ee180fdceec508280675f216bac7614c998478184bf1 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: d235be963fed5d48a8a4cfabc41c3f03fad6a947810dbcab9cebed7f819811457e10d99b4b2e942ad71baa7ee8e3cd3f5f38a4e4685639ddfddb7528d9a07179 - languageName: node - linkType: hard - -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.12.13" - dependencies: - "@babel/helper-explode-assignable-expression": ^7.12.13 - "@babel/types": ^7.12.13 - checksum: 798177396af89e801005c125375b624eed6c6d922abc0c0f04361852a87cd81e207d14ed4cfac0884effdb356b71fd0ef5ae2ec31c6a881f1efab974b1565964 - languageName: node - linkType: hard - -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.16.7" - dependencies: - "@babel/helper-explode-assignable-expression": ^7.16.7 - "@babel/types": ^7.16.7 - checksum: 1784f19a57ecfafca8e5c2e0f3eac53451cb13a857cbe0ca0cd9670922228d099ef8c3dd8cd318e2d7bce316fdb2ece3e527c30f3ecd83706e37ab6beb0c60eb - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.12.1, @babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/helper-compilation-targets@npm:7.13.8" - dependencies: - "@babel/compat-data": ^7.13.8 - "@babel/helper-validator-option": ^7.12.17 - browserslist: ^4.14.5 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 161b9d91e59baa418e30891dc93708f8a8958ffb4e6ea07d5a482cd747896f2c660d5331593701ec6595db2fc71c03874c2c839828d0ed7e74fa70e7f5d50790 - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-compilation-targets@npm:7.16.7" - dependencies: - "@babel/compat-data": ^7.16.4 - "@babel/helper-validator-option": ^7.16.7 - browserslist: ^4.17.5 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 7238aaee78c011a42fb5ca92e5eff098752f7b314c2111d7bb9cdd58792fcab1b9c819b59f6a0851dc210dc09dc06b30d130a23982753e70eb3111bc65204842 + checksum: 64b9088b03fdf659b334864ef93bed85d60c17b27fcbd72970f8eb9e0d3266ffa5a1926960f648f2db36b0bafec615f947ea5117d200599a0661b9f0a9cdf323 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.10, @babel/helper-compilation-targets@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/helper-compilation-targets@npm:7.18.2" +"@babel/eslint-parser@npm:^7.16.3": + version: 7.18.9 + resolution: "@babel/eslint-parser@npm:7.18.9" dependencies: - "@babel/compat-data": ^7.17.10 - "@babel/helper-validator-option": ^7.16.7 - browserslist: ^4.20.2 + eslint-scope: ^5.1.1 + eslint-visitor-keys: ^2.1.0 semver: ^6.3.0 peerDependencies: - "@babel/core": ^7.0.0 - checksum: 4f02e79f20c0b3f8db5049ba8c35027c41ccb3fc7884835d04e49886538e0f55702959db1bb75213c94a5708fec2dc81a443047559a4f184abb884c72c0059b4 - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.12.1, @babel/helper-create-class-features-plugin@npm:^7.13.0": - version: 7.13.8 - resolution: "@babel/helper-create-class-features-plugin@npm:7.13.8" - dependencies: - "@babel/helper-function-name": ^7.12.13 - "@babel/helper-member-expression-to-functions": ^7.13.0 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/helper-replace-supers": ^7.13.0 - "@babel/helper-split-export-declaration": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 1b645dd21a6af43229ad510c401f9a2b2bf2c07d5e3fe9d3f3d0802c4cd1e8445a542a9c9c8b9507771a9c0d22999ddea550f318755a6fa06bbbbf340d724800 - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.16.10, @babel/helper-create-class-features-plugin@npm:^7.16.7": - version: 7.17.1 - resolution: "@babel/helper-create-class-features-plugin@npm:7.17.1" - dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-function-name": ^7.16.7 - "@babel/helper-member-expression-to-functions": ^7.16.7 - "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/helper-replace-supers": ^7.16.7 - "@babel/helper-split-export-declaration": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: fb791071dcaa664640d7f1d041772c6b57a8a456720bf7cb21aa055845fad98c644cc7707f03aa94abe8720d19a7c69fd5984fe02fe57b7e99a69f77aa501fc8 - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.17.12, @babel/helper-create-class-features-plugin@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/helper-create-class-features-plugin@npm:7.18.0" - dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-function-name": ^7.17.9 - "@babel/helper-member-expression-to-functions": ^7.17.7 - "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/helper-replace-supers": ^7.16.7 - "@babel/helper-split-export-declaration": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 9a6ef175350f1cf87abe7a738e8c9b603da7fcdb153c74e49af509183f8705278020baddb62a12c7f9ca059487fef97d75a4adea6a1446598ad9901d010e4296 - languageName: node - linkType: hard - -"@babel/helper-create-regexp-features-plugin@npm:^7.12.13": - version: 7.12.17 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.12.17" - dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - regexpu-core: ^4.7.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 376a92fd8a84c7f6424be26f14e9d97e931b79fd90398ee708ccf08955122f752b24d38d3db932d918d939ae8224e749e4cf8e3798ba588a16c803ba0d759877 - languageName: node - linkType: hard - -"@babel/helper-create-regexp-features-plugin@npm:^7.16.7": - version: 7.17.0 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.17.0" - dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - regexpu-core: ^5.0.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: eb66d9241544c705e9ce96d2d122b595ef52d926e6e031653e09af8a01050bd9d7e7fee168bf33a863342774d7d6a8cc7e8e9e5a45b955e9c01121c7a2d51708 - languageName: node - linkType: hard - -"@babel/helper-create-regexp-features-plugin@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.17.12" - dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - regexpu-core: ^5.0.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: fe49d26b0f6c58d4c1748a4d0e98b343882b428e6db43c4ba5e0aa7ff2296b3a557f0a88de9f000599bb95640a6c47c0b0c9a952b58c11f61aabb06bcc304329 - languageName: node - linkType: hard - -"@babel/helper-define-polyfill-provider@npm:^0.1.5": - version: 0.1.5 - resolution: "@babel/helper-define-polyfill-provider@npm:0.1.5" - dependencies: - "@babel/helper-compilation-targets": ^7.13.0 - "@babel/helper-module-imports": ^7.12.13 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/traverse": ^7.13.0 - debug: ^4.1.1 - lodash.debounce: ^4.0.8 - resolve: ^1.14.2 - semver: ^6.1.2 - peerDependencies: - "@babel/core": ^7.4.0-0 - checksum: 6f8b61b41730bedc9c4511035b7f2407ea30176c379107dd735aac7d010317a99171bf420959ba37418fb8a857dac7c0e36e1c8576a6560bdd9b690eb4314a95 - languageName: node - linkType: hard - -"@babel/helper-define-polyfill-provider@npm:^0.3.1": - version: 0.3.1 - resolution: "@babel/helper-define-polyfill-provider@npm:0.3.1" - dependencies: - "@babel/helper-compilation-targets": ^7.13.0 - "@babel/helper-module-imports": ^7.12.13 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/traverse": ^7.13.0 - debug: ^4.1.1 - lodash.debounce: ^4.0.8 - resolve: ^1.14.2 - semver: ^6.1.2 - peerDependencies: - "@babel/core": ^7.4.0-0 - checksum: e3e93cb22febfc0449a210cdafb278e5e1a038af2ca2b02f5dee71c7a49e8ba26e469d631ee11a4243885961a62bb2e5b0a4deb3ec1d7918a33c953d05c3e584 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-environment-visitor@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: c03a10105d9ebd1fe632a77356b2e6e2f3c44edba9a93b0dc3591b6a66bd7a2e323dd9502f9ce96fc6401234abff1907aa877b6674f7826b61c953f7c8204bbe - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/helper-environment-visitor@npm:7.18.2" - checksum: 1a9c8726fad454a082d077952a90f17188e92eabb3de236cb4782c49b39e3f69c327e272b965e9a20ff8abf37d30d03ffa6fd7974625a6c23946f70f7527f5e9 - languageName: node - linkType: hard - -"@babel/helper-explode-assignable-expression@npm:^7.12.13": - version: 7.13.0 - resolution: "@babel/helper-explode-assignable-expression@npm:7.13.0" - dependencies: - "@babel/types": ^7.13.0 - checksum: c386a8197322aeebc097abf3869debddfffecad41dfd86b2f20c5f49bd8fe7a4d5e81a60b147967b9869d2a3b2ff3d6023bc25e1c2f2df3c7e944071880d32be - languageName: node - linkType: hard - -"@babel/helper-explode-assignable-expression@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-explode-assignable-expression@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: ea2135ba36da6a2be059ebc8f10fbbb291eb0e312da54c55c6f50f9cbd8601e2406ec497c5e985f7c07a97f31b3bef9b2be8df53f1d53b974043eaf74fe54bbc - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-function-name@npm:7.12.13" - dependencies: - "@babel/helper-get-function-arity": ^7.12.13 - "@babel/template": ^7.12.13 - "@babel/types": ^7.12.13 - checksum: d7bf4ad3c6af1e718ef5560d505147d0a96b95824000336fd4de729a110d79426867a3d97c1eea39945f110ca943316791bcdf192b006a9e367b32c126ee8265 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-function-name@npm:7.16.7" - dependencies: - "@babel/helper-get-function-arity": ^7.16.7 - "@babel/template": ^7.16.7 - "@babel/types": ^7.16.7 - checksum: fc77cbe7b10cfa2a262d7a37dca575c037f20419dfe0c5d9317f589599ca24beb5f5c1057748011159149eaec47fe32338c6c6412376fcded68200df470161e1 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.17.9": - version: 7.17.9 - resolution: "@babel/helper-function-name@npm:7.17.9" - dependencies: - "@babel/template": ^7.16.7 - "@babel/types": ^7.17.0 - checksum: a59b2e5af56d8f43b9b0019939a43774754beb7cb01a211809ca8031c71890999d07739e955343135ec566c4d8ff725435f1f60fb0af3bb546837c1f9f84f496 - languageName: node - linkType: hard - -"@babel/helper-get-function-arity@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-get-function-arity@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: 847ef9f4d4b2dc38574db6b0732c3add1cd65d54bab94c24d319188f2066c9b9ab2b0dda539cae7281d12ec302e3335b11ca3dcfb555566138d213905d00f711 - languageName: node - linkType: hard - -"@babel/helper-get-function-arity@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-get-function-arity@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: 25d969fb207ff2ad5f57a90d118f6c42d56a0171022e200aaa919ba7dc95ae7f92ec71cdea6c63ef3629a0dc962ab4c78e09ca2b437185ab44539193f796e0c3 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-hoist-variables@npm:7.13.0" - dependencies: - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: 14980ab95c9687f8df72d2ce4a074e2560d16b03de5c5e10382c06b779e1982c99da0625ec338a82fa2fd63048f97a25d46a692e83f5524cab5f9f1402743aff - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-hoist-variables@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: 6ae1641f4a751cd9045346e3f61c3d9ec1312fd779ab6d6fecfe2a96e59a481ad5d7e40d2a840894c13b3fd6114345b157f9e3062fc5f1580f284636e722de60 - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-member-expression-to-functions@npm:7.13.0" - dependencies: - "@babel/types": ^7.13.0 - checksum: f64937f6568d2bc79ed65f2890c5761cea675bdb7ae71bec23bf786007b6ac4e74a07775a51c2dc6c60e862228c3b29bd45f7403f64aebe2d4ef6c19cfab42c6 - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: e275378022278a7e7974a3f65566690f1804ac88c5f4e848725cf936f61cd1e2557e88cfb6cb4fea92ae5a95ad89d78dbccc9a53715d4363f84c9fd109272c18 - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.17.7" - dependencies: - "@babel/types": ^7.17.0 - checksum: 70f361bab627396c714c3938e94a569cb0da522179328477cdbc4318e4003c2666387ad4931d6bd5de103338c667c9e4bbe3e917fc8c527b3f3eb6175b888b7d - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.12.1, @babel/helper-module-imports@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-module-imports@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: 5ca5eaa2658cc6738ce2810211084ec7cb2a1bbf9090d0ec1e9b9df1fd7786a0c4352f598eaafc682a722e7a0052afa73ee52d311b65544ca0e7f8597ed5242b - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-module-imports@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: ddd2c4a600a2e9a4fee192ab92bf35a627c5461dbab4af31b903d9ba4d6b6e59e0ff3499fde4e2e9a0eebe24906f00b636f8b4d9bd72ff24d50e6618215c3212 + "@babel/core": ">=7.11.0" + eslint: ^7.5.0 || ^8.0.0 + checksum: ddbe0f9425c61a23069280948c0ad9cd4d6d46087cbc6386dd407a3ae6365c62e20f401ea42608aba21fcc2142b8d3d0878eb2f2192a7e5adbe355bdbc215aad languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-module-transforms@npm:7.13.0" +"@babel/generator@npm:^7.18.9, @babel/generator@npm:^7.4.4, @babel/generator@npm:^7.7.2": + version: 7.18.9 + resolution: "@babel/generator@npm:7.18.9" dependencies: - "@babel/helper-module-imports": ^7.12.13 - "@babel/helper-replace-supers": ^7.13.0 - "@babel/helper-simple-access": ^7.12.13 - "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/helper-validator-identifier": ^7.12.11 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - lodash: ^4.17.19 - checksum: 1877bbf5d397a459f0a20734fa929aa9c3637adc461aaa4843d4b360361fc0b1bae21d514589beaf8f99fff173c7de56006801d1039cee25971ae135d2276fde - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-module-transforms@npm:7.16.7" - dependencies: - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-simple-access": ^7.16.7 - "@babel/helper-split-export-declaration": ^7.16.7 - "@babel/helper-validator-identifier": ^7.16.7 - "@babel/template": ^7.16.7 - "@babel/traverse": ^7.16.7 - "@babel/types": ^7.16.7 - checksum: 6e930ce776c979f299cdbeaf80187f4ab086d75287b96ecc1c6896d392fcb561065f0d6219fc06fa79b4ceb4bbdc1a9847da8099aba9b077d0a9e583500fb673 + "@babel/types": ^7.18.9 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: 1c271e0c6f33e59f7845d88a1b0b9b0dce88164e80dec9274a716efa54c260e405e9462b160843e73f45382bf5b24d8e160e0121207e480c29b30e2ed0eb16d4 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/helper-module-transforms@npm:7.18.0" +"@babel/helper-annotate-as-pure@npm:^7.16.0, @babel/helper-annotate-as-pure@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" dependencies: - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-simple-access": ^7.17.7 - "@babel/helper-split-export-declaration": ^7.16.7 - "@babel/helper-validator-identifier": ^7.16.7 - "@babel/template": ^7.16.7 - "@babel/traverse": ^7.18.0 - "@babel/types": ^7.18.0 - checksum: 824c3967c08d75bb36adc18c31dcafebcd495b75b723e2e17c6185e88daf5c6db62a6a75d9f791b5f38618a349e7cb32503e715a1b9a4e8bad4d0f43e3e6b523 + "@babel/types": ^7.18.6 + checksum: 88ccd15ced475ef2243fdd3b2916a29ea54c5db3cd0cfabf9d1d29ff6e63b7f7cd1c27264137d7a40ac2e978b9b9a542c332e78f40eb72abe737a7400788fc1b languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-optimise-call-expression@npm:7.12.13" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.18.6": + version: 7.18.9 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.18.9" dependencies: - "@babel/types": ^7.12.13 - checksum: 9925679d67a809c42b990825ee31f5f02787f385e27301da3343487f6a84482c7e2ebdd2b6d1ed066c309218750f2b7f78ab44dbb25ea6152f71d22839962a35 + "@babel/helper-explode-assignable-expression": ^7.18.6 + "@babel/types": ^7.18.9 + checksum: b4bc214cb56329daff6cc18a7f7a26aeafb55a1242e5362f3d47fe3808421f8c7cd91fff95d6b9b7ccb67e14e5a67d944e49dbe026942bfcbfda19b1c72a8e72 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.16.7" +"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-compilation-targets@npm:7.18.9" dependencies: - "@babel/types": ^7.16.7 - checksum: 925feb877d5a30a71db56e2be498b3abbd513831311c0188850896c4c1ada865eea795dce5251a1539b0f883ef82493f057f84286dd01abccc4736acfafe15ea - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.13.0 - resolution: "@babel/helper-plugin-utils@npm:7.13.0" - checksum: 24f7a44e94662a5dc8bd98ab12625ccd96b11e789ef3f9efd4f6f0eeaf01a13b051a148e709fb1c4e1cacdb536987ea75f4b78509567a0117246ea917195a86b - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helper-plugin-utils@npm:7.14.5" - checksum: fe20e90a24d02770a60ebe80ab9f0dfd7258503cea8006c71709ac9af1aa3e47b0de569499673f11ea6c99597f8c0e4880ae1d505986e61101b69716820972fe - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-plugin-utils@npm:7.16.7" - checksum: d08dd86554a186c2538547cd537552e4029f704994a9201d41d82015c10ed7f58f9036e8d1527c3760f042409163269d308b0b3706589039c5f1884619c6d4ce - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/helper-plugin-utils@npm:7.17.12" - checksum: 4813cf0ddb0f143de032cb88d4207024a2334951db330f8216d6fa253ea320c02c9b2667429ef1a34b5e95d4cfbd085f6cb72d418999751c31d0baf2422cc61d - languageName: node - linkType: hard - -"@babel/helper-remap-async-to-generator@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-remap-async-to-generator@npm:7.13.0" - dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-wrap-function": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: 40589d882990e38cd6d0ac860ded522bcacc9b064e14d3db01d2c661fdae28ee6c5e76bc55ddd0769edd5464b38ce8a396a353ae7f030d187eee9448327e508a - languageName: node - linkType: hard - -"@babel/helper-remap-async-to-generator@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/helper-remap-async-to-generator@npm:7.16.8" - dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-wrap-function": ^7.16.8 - "@babel/types": ^7.16.8 - checksum: 29282ee36872130085ca111539725abbf20210c2a1d674bee77f338a57c093c3154108d03a275f602e471f583bd2c7ae10d05534f87cbc22b95524fe2b569488 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.12.13, @babel/helper-replace-supers@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-replace-supers@npm:7.13.0" - dependencies: - "@babel/helper-member-expression-to-functions": ^7.13.0 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: 1007f701a1089dccfbdc4026948e12ebf5e8fed2e50514a8a3a8b8f29fd7d428ee3543038f64f19761cbd14bf63e1c78b32f16eee9965877a8e3d81f6ec93357 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-replace-supers@npm:7.16.7" - dependencies: - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-member-expression-to-functions": ^7.16.7 - "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/traverse": ^7.16.7 - "@babel/types": ^7.16.7 - checksum: e5c0b6eb3dad8410a6255f93b580dde9b3c1564646c6ef751de59d5b2a65b5caa80cc9e568155f04bbae895ad0f54305c2e833dbd971a4f641f970c90b3d892b - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/helper-replace-supers@npm:7.18.2" - dependencies: - "@babel/helper-environment-visitor": ^7.18.2 - "@babel/helper-member-expression-to-functions": ^7.17.7 - "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/traverse": ^7.18.2 - "@babel/types": ^7.18.2 - checksum: c0083b7933672dd2aed50b79021c46401c83f41bc2132def19c5414cf8f944251f6d91dd959b2bedada9a7436a80fab629adb486e008566290c82293e89fec05 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-simple-access@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: 3b08fa513c7c186da8fbcb1cddc646242455d0aedd1f68e651b1590071e49f1019a3a4cad8a4abfbb338ba1dffa6935f702aec760fcb7577a9013b6d79dd8847 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-simple-access@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: 8d22c46c5ec2ead0686c4d5a3d1d12b5190c59be676bfe0d9d89df62b437b51d1a3df2ccfb8a77dded2e585176ebf12986accb6d45a18cff229eef3b10344f4b - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.17.7, @babel/helper-simple-access@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/helper-simple-access@npm:7.18.2" - dependencies: - "@babel/types": ^7.18.2 - checksum: c0862b56db7e120754d89273a039b128c27517389f6a4425ff24e49779791e8fe10061579171fb986be81fa076778acb847c709f6f5e396278d9c5e01360c375 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.12.1" - dependencies: - "@babel/types": ^7.12.1 - checksum: 9be6093eabc83b43b9af4c736c69d3c5da4497456575654741308f6f6886d8ebd17eacdddf32f1eb0ecc81f66a5562fb7f3b734c5340418da4e8138a958dafc0 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.16.0": - version: 7.16.0 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.16.0" - dependencies: - "@babel/types": ^7.16.0 - checksum: b9ed2896eb253e6a85f472b0d4098ed80403758ad1a4e34b02b11e8276e3083297526758b1a3e6886e292987266f10622d7dbced3508cc22b296a74903b41cfb - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-split-export-declaration@npm:7.12.13" - dependencies: - "@babel/types": ^7.12.13 - checksum: adc8954a0b7e44548425f62ce4dc865d3efa288f016852539d3eddaeec13cf4baff3f397b494dc0f609aab51942480891cbe1adc955e05fe048b7f92db2bcf20 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-split-export-declaration@npm:7.16.7" - dependencies: - "@babel/types": ^7.16.7 - checksum: e10aaf135465c55114627951b79115f24bc7af72ecbb58d541d66daf1edaee5dde7cae3ec8c3639afaf74526c03ae3ce723444e3b5b3dc77140c456cd84bcaa1 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.12.11": - version: 7.12.11 - resolution: "@babel/helper-validator-identifier@npm:7.12.11" - checksum: e604c6bf890704fc46c1ae13bf23afb242b810224ec3403bba67cdbf0d8dabfec4b82123d6dfb18135a0ee3f7f79218583c819363ebb5e04a0a49d8418db7fce - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-validator-identifier@npm:7.16.7" - checksum: dbb3db9d184343152520a209b5684f5e0ed416109cde82b428ca9c759c29b10c7450657785a8b5c5256aa74acc6da491c1f0cf6b784939f7931ef82982051b69 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.12.1, @babel/helper-validator-option@npm:^7.12.17": - version: 7.12.17 - resolution: "@babel/helper-validator-option@npm:7.12.17" - checksum: 940e7b78dc05508d726b721e06dfdbfd56fd8a56522ee37e9d6f3ed9bef6df5dba82a1d74434e7670b0e5e5caa699f1454a63254199df3cddc2a0829acf75e36 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-validator-option@npm:7.16.7" - checksum: c5ccc451911883cc9f12125d47be69434f28094475c1b9d2ada7c3452e6ac98a1ee8ddd364ca9e3f9855fcdee96cdeafa32543ebd9d17fee7a1062c202e80570 - languageName: node - linkType: hard - -"@babel/helper-wrap-function@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-wrap-function@npm:7.13.0" - dependencies: - "@babel/helper-function-name": ^7.12.13 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: dab4018cd2ec18056035f2771cb0f9bbdbaaeebaa33e022b76412b768157ad0ff9e3ff6a5cf6eeab6f3c43986a1c1e09610714bb5cdc5259607baf9bdb36fbd5 - languageName: node - linkType: hard - -"@babel/helper-wrap-function@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/helper-wrap-function@npm:7.16.8" - dependencies: - "@babel/helper-function-name": ^7.16.7 - "@babel/template": ^7.16.7 - "@babel/traverse": ^7.16.8 - "@babel/types": ^7.16.8 - checksum: d8aae4bacaf138d47dca1421ba82b41eac954cbb0ad17ab1c782825c6f2afe20076fbed926ab265967758336de5112d193a363128cd1c6967c66e0151174f797 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.12.1, @babel/helpers@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helpers@npm:7.13.0" - dependencies: - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: f032dc9106ebbc2b52d25065aaf7c71952adcf147be183a9131446ff061f4bcbf99829b0a93223cbfea8348a58a66a31d1139bb6450fcc355dcc5fadc58614ee - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.17.2": - version: 7.17.2 - resolution: "@babel/helpers@npm:7.17.2" - dependencies: - "@babel/template": ^7.16.7 - "@babel/traverse": ^7.17.0 - "@babel/types": ^7.17.0 - checksum: 5fa06bbf59636314fb4098bb2e70cf488e0fb6989553438abab90356357b79976102ac129fb16fc8186893c79e0809de1d90e3304426d6fcdb1750da2b6dff9d - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/helpers@npm:7.18.2" - dependencies: - "@babel/template": ^7.16.7 - "@babel/traverse": ^7.18.2 - "@babel/types": ^7.18.2 - checksum: 94620242f23f6d5f9b83a02b1aa1632ffb05b0815e1bb53d3b46d64aa8e771066bba1db8bd267d9091fb00134cfaeda6a8d69d1d4cc2c89658631adfa077ae70 - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.12.13": - version: 7.13.8 - resolution: "@babel/highlight@npm:7.13.8" - dependencies: - "@babel/helper-validator-identifier": ^7.12.11 - chalk: ^2.0.0 - js-tokens: ^4.0.0 - checksum: 1aa15ef0f8aa3c171e5eda442d77f9b845ff99da77aea797b52773b97b6854c5cbcffe3075dc68881408c2aee0dc2cb5f524b4f65eabe36b4239cd7c9f8a01a2 - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.16.7": - version: 7.16.10 - resolution: "@babel/highlight@npm:7.16.10" - dependencies: - "@babel/helper-validator-identifier": ^7.16.7 - chalk: ^2.0.0 - js-tokens: ^4.0.0 - checksum: 1f1bdd752a90844f4efc22166a46303fb651ba0fd75a06daba3ebae2575ab3edc1da9827c279872a3aaf305f50a18473c5fa1966752726a2b253065fd4c0745e - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.12.3, @babel/parser@npm:^7.13.0, @babel/parser@npm:^7.13.4, @babel/parser@npm:^7.7.0": - version: 7.13.9 - resolution: "@babel/parser@npm:7.13.9" - bin: - parser: ./bin/babel-parser.js - checksum: b4a6f8caa0264d35419a5e03cafdf8d326049ba77d98a6659e646e96cd7feda344d9154bac335badd65f9553623b19f43eb975547a363da616a18d9f5389583e - languageName: node - linkType: hard - -"@babel/parser@npm:^7.13.15": - version: 7.13.15 - resolution: "@babel/parser@npm:7.13.15" - bin: - parser: ./bin/babel-parser.js - checksum: 3e97fb0e3e7a007d96b0245d6b7da7c38fd041a502f8127d78acc4939f1fa0243eb76f2263c7ccad7a0f909e53216fe71b846c8ed791b5dea6416d174013e2ad - languageName: node - linkType: hard - -"@babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.4.4": - version: 7.17.0 - resolution: "@babel/parser@npm:7.17.0" - bin: - parser: ./bin/babel-parser.js - checksum: d0ac5ffba0b234dde516f867edf5da5d92d6f841592b370ae3244cd7c8f27a7f5e3e3d4e90ca9c15ea58bc46823f1643f3f75b6eb9a9f676ae16e8b2365e922a - languageName: node - linkType: hard - -"@babel/parser@npm:^7.18.0": - version: 7.18.4 - resolution: "@babel/parser@npm:7.18.4" - bin: - parser: ./bin/babel-parser.js - checksum: e05b2dc720c4b200e088258f3c2a2de5041c140444edc38181d1217b10074e881a7133162c5b62356061f26279f08df5a06ec14c5842996ee8601ad03c57a44f - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: bbb0f82a4cf297bdbb9110eea570addd4b883fd1b61535558d849822b087aa340fe4e9c31f8a39b087595c8310b58d0f5548d6be0b72c410abefb23a5734b7bc - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 6ef739b3a2b0ac0b22b60ff472c118163ceb8d414dd08c8186cc563fddc2be62ad4d8681e02074a1c7f0056a72e7146493a85d12ded02e50904b0009ed85d8bf - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 - "@babel/plugin-proposal-optional-chaining": ^7.16.7 - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 81b372651a7d886a06596b02df7fb65ea90265a8bd60c9f0d5c1777590a598e6cccbdc3239033ee0719abf904813e69577eeb0ed5960b40e07978df023b17a6a - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 - "@babel/plugin-proposal-optional-chaining": ^7.17.12 - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 68520a8f26e56bc8d90c22133537a9819e82598e3c82007f30bdaf8898b0e12a7bfa0cd3044aca35a7f362fd6bc04e4cd8052a571fc2eb40ad8f1cf24e0fc45f - languageName: node - linkType: hard - -"@babel/plugin-proposal-async-generator-functions@npm:^7.12.1, @babel/plugin-proposal-async-generator-functions@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.13.8" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-remap-async-to-generator": ^7.13.0 - "@babel/plugin-syntax-async-generators": ^7.8.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 08c4331329d3bc3b6e66e6cae183ebf73c8e41c614dba836463b19e40c19f79f78a04203cf8cea5e448323d85fd573532947c7445f9307ebe7b85c11c9ef08a1 - languageName: node - linkType: hard - -"@babel/plugin-proposal-async-generator-functions@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.16.8" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-remap-async-to-generator": ^7.16.8 - "@babel/plugin-syntax-async-generators": ^7.8.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: abd2c2c67de262720d37c5509dafe2ce64d6cee2dc9a8e863bbba1796b77387214442f37618373c6a4521ca624bfc7dcdbeb1376300d16f2a474405ee0ca2e69 - languageName: node - linkType: hard - -"@babel/plugin-proposal-async-generator-functions@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-remap-async-to-generator": ^7.16.8 - "@babel/plugin-syntax-async-generators": ^7.8.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 16a3c7f68a27031b4973b7c64ca009873c91b91afd7b3a4694ec7f1c6d8e91a6ee142eafd950113810fae122faa1031de71140333b2b1bd03d5367b1a05b1d91 - languageName: node - linkType: hard - -"@babel/plugin-proposal-class-properties@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-class-properties@npm:7.12.1" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 55b5e6cd83d2c710c10edee514de5552464d720fd07c961be99820c7036db0c493745806d10ab037f9e06cd4fa1fe6a68640bc8fb846a1fd5318ea97870bb10a - languageName: node - linkType: hard - -"@babel/plugin-proposal-class-properties@npm:^7.12.1, @babel/plugin-proposal-class-properties@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-proposal-class-properties@npm:7.13.0" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: e3cdfacb2d36c66204e3bf99b85feb521daed6e2c3d424f10eb3f722fe20ca0a2560fe9f5a01e5170a34a4f160e9ff02eb678bed81ee130f1c9d990ce8cd711c - languageName: node - linkType: hard - -"@babel/plugin-proposal-class-properties@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-class-properties@npm:7.16.7" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3977e841e17b45b47be749b9a5b67b9e8b25ff0840f9fdad3f00cbcb35db4f5ff15f074939fe19b01207a29688c432cc2c682351959350834d62920b7881f803 - languageName: node - linkType: hard - -"@babel/plugin-proposal-class-properties@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-class-properties@npm:7.17.12" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.17.12 - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 884df6a4617a18cdc2a630096b2a10954bcc94757c893bb01abd6702fdc73343ca5c611f4884c4634e0608f5e86c3093ea6b973ce00bf21b248ba54de92c837d - languageName: node - linkType: hard - -"@babel/plugin-proposal-class-static-block@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-class-static-block@npm:7.16.7" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 3b95b5137e089f0be17de667299ea2e28867b6310ab94219a5a89ac7675824e69f316d31930586142b9f432122ef3b98eb05fffdffae01b5587019ce9aab4ef3 - languageName: node - linkType: hard - -"@babel/plugin-proposal-class-static-block@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/plugin-proposal-class-static-block@npm:7.18.0" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.18.0 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 70fd622fd7c62cca2aa99c70532766340a5c30105e35cb3f1187b450580d43adc78b3fcb1142ed339bcfccf84be95ea03407adf467331b318ce6874432736c89 - languageName: node - linkType: hard - -"@babel/plugin-proposal-decorators@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-decorators@npm:7.12.1" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-decorators": ^7.12.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8ff81b841a592a6790fc35a5d7a5f48ec975feb672000e7905ef016a7c87ede1fb3d7380f6562582f51b1227bbd3a07f5ad3a7ae3f3ad83bb243c3086f7a28f9 - languageName: node - linkType: hard - -"@babel/plugin-proposal-dynamic-import@npm:^7.12.1, @babel/plugin-proposal-dynamic-import@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-dynamic-import@npm:7.13.8" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3f780fd496fee7e38ac9e76520dcfd95e23e3601d08b1c19a167e49f0e7456b20564e8076b649df21091a9d6098896b3e520da0f711571d6dff9298ba2d31cdd - languageName: node - linkType: hard - -"@babel/plugin-proposal-dynamic-import@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-dynamic-import@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5992012484fb8bda1451369350e475091954ed414dd9ef8654a3c4daa2db0205d4f29c94f5d3dedfbc5a434996375c8304586904337d6af938ac0f27a0033e23 - languageName: node - linkType: hard - -"@babel/plugin-proposal-export-namespace-from@npm:^7.12.1, @babel/plugin-proposal-export-namespace-from@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: abca5e051c129cbe929f8b1b339622e3805f623f9b0ca91f838f33c8efd6c757cc259895c59e60af364b3a874ae6a90d168e63ce9bd8e8ed729dcfebcfce8df0 - languageName: node - linkType: hard - -"@babel/plugin-proposal-export-namespace-from@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5016079a5305c1c130fea587b42cdce501574739cfefa5b63469dbc1f32d436df0ff42fabf04089fe8b6a00f4ea7563869e944744b457e186c677995983cb166 - languageName: node - linkType: hard - -"@babel/plugin-proposal-export-namespace-from@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 41c9cd4c0a5629b65725d2554867c15b199f534cea5538bd1ae379c0d13e7206d8590e23b23cb05a8b243e33e6eb88c1de3fd03a55cdbc6d4cf8634a6bebe43d - languageName: node - linkType: hard - -"@babel/plugin-proposal-json-strings@npm:^7.12.1, @babel/plugin-proposal-json-strings@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-json-strings@npm:7.13.8" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-json-strings": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ad4e3021685d78d510963415fc11a350828e0ada4567de20d2cbe50ca49d07b021a5c547b630290f5f17e7b6e9d3a1470f1c8a3180cf04a88fa43de6990ccfbc - languageName: node - linkType: hard - -"@babel/plugin-proposal-json-strings@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-json-strings@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-json-strings": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ea6487918f8d88322ac2a4e5273be6163b0d84a34330c31cee346e23525299de3b4f753bc987951300a79f55b8f4b1971b24d04c0cdfcb7ceb4d636975c215e8 - languageName: node - linkType: hard - -"@babel/plugin-proposal-json-strings@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-json-strings@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-json-strings": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8ed4ee3fbc28e44fac17c48bd95b5b8c3ffc852053a9fffd36ab498ec0b0ba069b8b2f5658edc18332748948433b9d3e1e376f564a1d65cb54592ba9943be09b - languageName: node - linkType: hard - -"@babel/plugin-proposal-logical-assignment-operators@npm:^7.12.1, @babel/plugin-proposal-logical-assignment-operators@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.13.8" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b5cf7b2e8d0a5e7f874a922db6062f3a80748fe06e4327df53b9d89fa24bc8ccf1e6ba591a93231dd364b57e5ea6415d16476b1cee986b886356e78329eedf0b - languageName: node - linkType: hard - -"@babel/plugin-proposal-logical-assignment-operators@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c4cf18e10f900d40eaa471c4adce4805e67bd845f997a4b9d5653eced4e653187b9950843b2bf7eab6c0c3e753aba222b1d38888e3e14e013f87295c5b014f19 - languageName: node - linkType: hard - -"@babel/plugin-proposal-logical-assignment-operators@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0d48451836219b7beeca4be22a8aeb4a177a4944be4727afb94a4a11f201dde8b0b186dd2ad65b537d61e9af3fa1afda734f7096bec8602debd76d07aa342e21 - languageName: node - linkType: hard - -"@babel/plugin-proposal-nullish-coalescing-operator@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 88da9cea3e3e83bd87047e13f0b6a51139d559cf59d178d496c52586d34631078f822e7d6dbcebf67ac0016d875fe58b1d0cfe19bd24b156065e48f84e7a2731 - languageName: node - linkType: hard - -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.12.1, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.13.8" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 89e5af79e29f19ae3a3b7fcce4f66c436df72441c17e8f0d366e0ad275406f74fe044f15d78e985f27bd4ea785065ff92aa8ef983d1b38dfabf90fc3387d70ea - languageName: node - linkType: hard - -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: bfafc2701697b5c763dbbb65dd97b56979bfb0922e35be27733699a837aeff22316313ddfdd0fb45129efa3f86617219b77110d05338bc4dca4385d8ce83dd19 - languageName: node - linkType: hard - -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7881d8005d0d4e17a94f3bfbfa4a0d8af016d2f62ed90912fabb8c5f8f0cc0a15fd412f09c230984c40b5c893086987d403c73198ef388ffcb3726ff72efc009 - languageName: node - linkType: hard - -"@babel/plugin-proposal-numeric-separator@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-numeric-separator@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d5547b815a80e180ed3c10236ebebd86c432eff0827f83decf081c431dbb36e003cabd2d637090448dfbd21439519c9f75bc3f6c66ec5971d0873dfcef6adfa3 - languageName: node - linkType: hard - -"@babel/plugin-proposal-numeric-separator@npm:^7.12.1, @babel/plugin-proposal-numeric-separator@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-proposal-numeric-separator@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5885b8c8ffca56f6d9b5cf7430b6dbb5526c1f07664b584f79069d1d87ca6ad6a9eeb987e71b07def8c5d79cf527734be530c3907c0c3a74faa0a214c6c53b42 - languageName: node - linkType: hard - -"@babel/plugin-proposal-numeric-separator@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-numeric-separator@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8e2fb0b32845908c67f80bc637a0968e28a66727d7ffb22b9c801dc355d88e865dc24aec586b00c922c23833ae5d26301b443b53609ea73d8344733cd48a1eca - languageName: node - linkType: hard - -"@babel/plugin-proposal-object-rest-spread@npm:^7.12.1, @babel/plugin-proposal-object-rest-spread@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.13.8" - dependencies: - "@babel/compat-data": ^7.13.8 - "@babel/helper-compilation-targets": ^7.13.8 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7ae92617c672e1d47979c809bd90b20c4e7d269769776dd705f519634a165d113de8ef05739a557b3aad0cb6884986b82d287dcb63211c07b66dca43ac66c8bb - languageName: node - linkType: hard - -"@babel/plugin-proposal-object-rest-spread@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.16.7" - dependencies: - "@babel/compat-data": ^7.16.4 - "@babel/helper-compilation-targets": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2d3740e4df6d3f51d57862100c45c000104571aa98b7f798fdfc05ae0c12b9e7cc9b55f4a28612d626e29f3369a1481a0ee8a0241b23508b9d3da00c55f99d41 - languageName: node - linkType: hard - -"@babel/plugin-proposal-object-rest-spread@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.18.0" - dependencies: - "@babel/compat-data": ^7.17.10 - "@babel/helper-compilation-targets": ^7.17.10 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2b49bcf9a6b11fd8b6a1d4962a64f3c846a63f8340eca9824c907f75bfcff7422ca35b135607fc3ef2d4e7e77ce6b6d955b772dc3c1c39f7ed24a0d8a560ec78 - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-catch-binding@npm:^7.12.1, @babel/plugin-proposal-optional-catch-binding@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.13.8" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: e690499fe20baaa493c88457e59624d032ae573cfccd0eafc3dd6b1ba45efa2a8393085afe0c61d5037eaeb2a1cdc58a2cac6e5d569330bdc86b47e360a7235c - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-catch-binding@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4a422bb19a23cf80a245c60bea7adbe5dac8ff3bc1a62f05d7155e1eb68d401b13339c94dfd1f3d272972feeb45746f30d52ca0f8d5c63edf6891340878403df - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-chaining@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 - "@babel/plugin-syntax-optional-chaining": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2e66cdffd0acf1427b3239c6584258fd83ca9c57ca63bedefad902240600f0f9b470ced85b6cb6cb12971039882c96ff3d2b66617b8078969f5146b59f9e585e - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-chaining@npm:^7.12.1, @babel/plugin-proposal-optional-chaining@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.13.8" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 28f412fed90a70d1f86948e31378ab47dbcc26cf6f256b169001c7ef3c1e92488f9d94baaaa7b101687ccd1d936dc9f12bb2de8e589f53aa49a0fc5679b24ec9 - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-chaining@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: e4a6c1ac7e6817b92a673ea52ab0b7dc1fb39d29fb0820cd414e10ae2cd132bd186b4238dcca881a29fc38fe9d38ed24fc111ba22ca20086481682d343f4f130 - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-chaining@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a27b220573441a0ad3eecf8ddcb249556a64de45add236791d76cfa164a8fd34181857528fa7d21d03d6b004e7c043bd929cce068e611ee1ac72aaf4d397aa12 - languageName: node - linkType: hard - -"@babel/plugin-proposal-private-methods@npm:^7.12.1, @babel/plugin-proposal-private-methods@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-proposal-private-methods@npm:7.13.0" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3c8cdc29b371d16898a0dc01dd67f4269bb6b2985e79ff11449428414a3993a52b24ab61dbfe080352548a72bab28b9e99fe2108c40eacb8f5f9dfa9cb50f7d5 - languageName: node - linkType: hard - -"@babel/plugin-proposal-private-methods@npm:^7.16.11": - version: 7.16.11 - resolution: "@babel/plugin-proposal-private-methods@npm:7.16.11" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.16.10 - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b333e5aa91c265bb394a57b5f4ae1a34fc8ee73a8d75506b12df258d8b5342107cbd9261f95e606bd3264a5b023db77f1f95be30c2e526683916c57f793f7943 - languageName: node - linkType: hard - -"@babel/plugin-proposal-private-methods@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-private-methods@npm:7.17.12" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.17.12 - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a1e5bd6a0a541af55d133d7bcf51ff8eb4ac7417a30f518c2f38107d7d033a3d5b7128ea5b3a910b458d7ceb296179b6ff9d972be60d1c686113d25fede8bed3 - languageName: node - linkType: hard - -"@babel/plugin-proposal-private-property-in-object@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.16.7" - dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-create-class-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 666d668f51d8c01aaf0dd87b27a83fc0392884d2c8e9d8e17b3b7011c0d348865dee94b44dc2d7070726e58e3b579728dc2588aaa8140d563f7390743ee90f0a - languageName: node - linkType: hard - -"@babel/plugin-proposal-private-property-in-object@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.17.12" - dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-create-class-features-plugin": ^7.17.12 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 056cb77994b2ee367301cdf8c5b7ed71faf26d60859bbba1368b342977481b0884712a1b97fbd9b091750162923d0265bf901119d46002775aa66e4a9f30f411 - languageName: node - linkType: hard - -"@babel/plugin-proposal-unicode-property-regex@npm:^7.12.1, @babel/plugin-proposal-unicode-property-regex@npm:^7.12.13, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": - version: 7.12.13 - resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.12.13" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c93f96c65f3ba21ad5eb203f1e47c15e1c3addf57d7a27463a82bd7487835ecc081a7ddb8602f87721ecc1a9e2f01d65ee9d286bfeb93d8e8b2c54d3897769e2 - languageName: node - linkType: hard - -"@babel/plugin-proposal-unicode-property-regex@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.16.7" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2b8a33713d456183f0b7d011011e7bd932c08cc06216399a7b2015ab39284b511993dc10a89bbb15d1d728e6a2ef42ca08c3202619aa148cbd48052422ea3995 - languageName: node - linkType: hard - -"@babel/plugin-proposal-unicode-property-regex@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.17.12" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.17.12 - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0e4194510415ed11849f1617fcb32d996df746ba93cd05ebbabecb63cfc02c0e97b585c97da3dcf68acdd3c8b71cfae964abe5d5baba6bd3977a475d9225ad9e - languageName: node - linkType: hard - -"@babel/plugin-syntax-async-generators@npm:^7.8.0, @babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.12.1, @babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 - languageName: node - linkType: hard - -"@babel/plugin-syntax-decorators@npm:^7.12.1": - version: 7.12.13 - resolution: "@babel/plugin-syntax-decorators@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ac7e977d8e2b3ecc7cd30e4165d280e237642d399724df48eaac52ea2dc414b1a5f23db3d95b7400ef5900d7237c0e1d54cb16fbbf215c0cd45ece0b243e71c3 - languageName: node - linkType: hard - -"@babel/plugin-syntax-dynamic-import@npm:^7.8.0, @babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ce307af83cf433d4ec42932329fad25fa73138ab39c7436882ea28742e1c0066626d224e0ad2988724c82644e41601cef607b36194f695cb78a1fcdc959637bd - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a - languageName: node - linkType: hard - -"@babel/plugin-syntax-flow@npm:^7.12.1": - version: 7.12.13 - resolution: "@babel/plugin-syntax-flow@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0edfd8d0a35df4d93bd5e9f859a420dd43295eaf14e4aef9bef76ce52cdbe0b57126d5b93197891357b94b4dcf587795efafb90eaf4a8737ae6e1b3020c904b9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-flow@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-syntax-flow@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b1ab0bd9b78e4aa5fb48714d6514f3d08d72693807c6044a5be4f301a9bb677b5648fbdae11c8bc93923da6b320a1898560c307933021bdb75ee39e577ed74ee - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fef25c3247d18dc7b8e432ed07f4afb92d70113fcfc3db0ca52388f8083b4bd60f88fe9ec0085e8a5a6daf18a619042376e76e2b4bd9470cddb7362cd268bea5 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.0, @babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-jsx@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 30697ad4607a9339b06c2648c2d128ce6865c3d2d14049b422c5ca060d6532978bb1008e086df402d365fda04fbafe9bd4ad9f62d78ef2e7a7063459b59645c0 - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: cd9b0e53c50e8ddb0afaf0f42e0b221a94e4f59aee32a591364266a31195c48cac5fef288d02c1c935686bda982d2e0f1ed61cceb995fc9f6fb09ef5ebecdd2b - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-syntax-jsx@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 6acd0bbca8c3e0100ad61f3b7d0b0111cd241a0710b120b298c4aa0e07be02eccbcca61ede1e7678ade1783a0979f20305b62263df6767fa3fbf658670d82af5 - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.0, @babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.0, @babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.0, @babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.0, @babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 - languageName: node - linkType: hard - -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.12.1, @babel/plugin-syntax-top-level-await@npm:^7.12.13, @babel/plugin-syntax-top-level-await@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 74cf8c8b8715ec0de6c55b96af4907cfa3bbf87dbaecdc4c30acac8c30d281d62c578001faf8f99e1884e1ccb933f5a919eb184c542b92fcef7bdefe64482c39 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-typescript@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3bd08315a82c6cd292e95087f4e9635a92a593112f9bd9e5581dd555d8fa102b4871ece7c54d9fa89f9b0cbd6b2829c7118eaa6fb9a09a3c8edb96868446013f - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.12.1, @babel/plugin-transform-arrow-functions@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.13.0" - dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: cbff8005c7f855990e0a1d9ce3e9d8836118bcc53da5e27f8449d89e1328ec0abbd91e16520f6eb60d8c95c037acddef246a6c84ec2d1ab6ae838d20691c933b - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2a6aa982c6fc80f4de7ccd973507ce5464fab129987cb6661136a7b9b6a020c2b329b912cbc46a68d39b5a18451ba833dcc8d1ca8d615597fec98624ac2add54 - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 48f99e74f523641696d5d9fb3f5f02497eca2e97bc0e9b8230a47f388e37dc5fd84b8b29e9f5a0c82d63403f7ba5f085a28e26939678f6e917d5c01afd884b50 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-to-generator@npm:^7.12.1, @babel/plugin-transform-async-to-generator@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.13.0" - dependencies: - "@babel/helper-module-imports": ^7.12.13 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-remap-async-to-generator": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d2c5930781d7a5b93fcbec2b28e6de2fe5af44263840310e9042402e832829844bab4c2e561bf48e3538ad4c77264b4896fd679e930c8c489f760719c6050c85 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-to-generator@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.16.8" - dependencies: - "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-remap-async-to-generator": ^7.16.8 + "@babel/compat-data": ^7.18.8 + "@babel/helper-validator-option": ^7.18.6 + browserslist: ^4.20.2 + semver: ^6.3.0 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3a2e781800e3dea1f526324ed259d1f9064c5ea3c9909c0c22b445d4c648ad489c579f358ae20ada11f7725ba67e0ddeb1e0241efadc734771e87dabd4c6820a + "@babel/core": ^7.0.0 + checksum: 2a9d71e124e098a9f45de4527ddd1982349d231827d341e00da9dfb967e260ecc7662c8b62abee4a010fb34d5f07a8d2155c974e0bc1928144cee5644910621d languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.17.12" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.18.9" dependencies: - "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-remap-async-to-generator": ^7.16.8 + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-member-expression-to-functions": ^7.18.9 + "@babel/helper-optimise-call-expression": ^7.18.6 + "@babel/helper-replace-supers": ^7.18.9 + "@babel/helper-split-export-declaration": ^7.18.6 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 052dd56eb3b10bc31f5aaced0f75fc7307713f74049ccfb91cd087bebfc890a6d462b59445c5299faaca9030814172cac290c941c76b731a38dcb267377c9187 + "@babel/core": ^7.0.0 + checksum: 020dba79b92ee9a98520dad81dddb47d75b34b7b4392672cbefc59db6f5e89a96c5eb95bb1cc46b2fddf913ef63dfe6d17168f56b059af5c6965bb37b6ce1d82 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.12.1, @babel/plugin-transform-block-scoped-functions@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.12.13" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-annotate-as-pure": ^7.18.6 + regexpu-core: ^5.1.0 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a0e843afe18a83308a786e8838f9aa2274ffee3b3385c62d61ccc36267273b043700c180050cc944af64281c55870ba7a1eaed6d2866ca1bbc59789c42a86d6f + "@babel/core": ^7.0.0 + checksum: 2d76e660cbfd0bfcb01ca9f177f0e9091c871a6b99f68ece6bcf4ab4a9df073485bdc2d87ecdfbde44b7f3723b26d13085d0f92082adb3ae80d31b246099f10a languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.16.7" +"@babel/helper-define-polyfill-provider@npm:^0.3.1, @babel/helper-define-polyfill-provider@npm:^0.3.2": + version: 0.3.2 + resolution: "@babel/helper-define-polyfill-provider@npm:0.3.2" dependencies: + "@babel/helper-compilation-targets": ^7.17.7 "@babel/helper-plugin-utils": ^7.16.7 + debug: ^4.1.1 + lodash.debounce: ^4.0.8 + resolve: ^1.14.2 + semver: ^6.1.2 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 591e9f75437bb32ebf9506d28d5c9659c66c0e8e0c19b12924d808d898e68309050aadb783ccd70bb4956555067326ecfa17a402bc77eb3ece3c6863d40b9016 + "@babel/core": ^7.4.0-0 + checksum: 8f693ab8e9d73873c2e547c7764c7d32d73c14f8dcefdd67fd3a038eb75527e2222aa53412ea673b9bfc01c32a8779a60e77a7381bbdd83452f05c9b7ef69c2c languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.12.1, @babel/plugin-transform-block-scoping@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-block-scoping@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f4a96cd1acd6b32e7b294998bd9febbbd10ac4bad550623fc596692ea339156c4ebf09c7ac10b6951792412ce8dfb40df3c6a39d52c67f9968745651e213d4e6 +"@babel/helper-environment-visitor@npm:^7.18.6, @babel/helper-environment-visitor@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-environment-visitor@npm:7.18.9" + checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.16.7" +"@babel/helper-explode-assignable-expression@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-explode-assignable-expression@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f93b5441af573fc274655f1707aeb4f67a43e926b58f56d89cc35a27877ae0bf198648603cbc19f442579489138f93c3838905895f109aa356996dbc3ed97a68 + "@babel/types": ^7.18.6 + checksum: 225cfcc3376a8799023d15dc95000609e9d4e7547b29528c7f7111a0e05493ffb12c15d70d379a0bb32d42752f340233c4115bded6d299bc0c3ab7a12be3d30f languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.17.12": - version: 7.18.4 - resolution: "@babel/plugin-transform-block-scoping@npm:7.18.4" +"@babel/helper-function-name@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-function-name@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5fdc8fd2f56f43e275353123fa1cda3df475daf1e9d92c03d5aa1ae50d3a0ccabf80c6168356947d8eb8e6e29098c875bc27fda8c7d4fbca6ffc6eec5d5faa8d + "@babel/template": ^7.18.6 + "@babel/types": ^7.18.9 + checksum: d04c44e0272f887c0c868651be7fc3c5690531bea10936f00d4cca3f6d5db65e76dfb49e8d553c42ae1fe1eba61ccce9f3d93ba2df50a66408c8d4c3cc61cf0c languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.12.1, @babel/plugin-transform-classes@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-classes@npm:7.13.0" +"@babel/helper-hoist-variables@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-hoist-variables@npm:7.18.6" dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-function-name": ^7.12.13 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-replace-supers": ^7.13.0 - "@babel/helper-split-export-declaration": ^7.12.13 - globals: ^11.1.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d627424baf2e1667a872c9b9995855a05f4795e94477440320d9c21a92e8af224c82c896c5d212d65c1be4aa8b8c8918b675f571b9ef9f1ea4a38f664aeab365 + "@babel/types": ^7.18.6 + checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-classes@npm:7.16.7" +"@babel/helper-member-expression-to-functions@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.18.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-function-name": ^7.16.7 - "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-replace-supers": ^7.16.7 - "@babel/helper-split-export-declaration": ^7.16.7 - globals: ^11.1.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 791526a1bf3c4659b94d619536e3181d3ad54887d50539066628c6e695789a3bb264dc1fbc8540169d62a222f623df54defb490c1811ae63bad1e3557d6b3bb0 + "@babel/types": ^7.18.9 + checksum: fcf8184e3b55051c4286b2cbedf0eccc781d0f3c9b5cbaba582eca19bf0e8d87806cdb7efc8554fcb969ceaf2b187d5ea748d40022d06ec7739fbb18c1b19a7a languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.17.12": - version: 7.18.4 - resolution: "@babel/plugin-transform-classes@npm:7.18.4" +"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.0, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-module-imports@npm:7.18.6" dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-environment-visitor": ^7.18.2 - "@babel/helper-function-name": ^7.17.9 - "@babel/helper-optimise-call-expression": ^7.16.7 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-replace-supers": ^7.18.2 - "@babel/helper-split-export-declaration": ^7.16.7 - globals: ^11.1.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 968711024c2ed1c08ced754243edde3a663ab40c414ca6fcad1a75f27789f3f52cc78fbafe21c6337c4c6a0dfbeddd1527caff1558ed477790b600a1e6f99cda + "@babel/types": ^7.18.6 + checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.12.1, @babel/plugin-transform-computed-properties@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-computed-properties@npm:7.13.0" +"@babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-module-transforms@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 258663c9f10b28f91dbedf17dc1346fc7b0341db859bbd6fe199bb663f97f65cfd33673728939a5008ac7a600afeaba79851a0fdb65b5d2e434e4e3a697d26af + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-simple-access": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/helper-validator-identifier": ^7.18.6 + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: af08c60ea239ff3d40eda542fceaab69de17e713f131e80ead08c975ba7a47dd55d439cb48cfb14ae7ec96704a10c989ff5a5240e52a39101cb44a49467ce058 languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.16.7" +"@babel/helper-optimise-call-expression@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-optimise-call-expression@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 28b17f7cfe643f45920b76dc040cab40d4e54eccf5074fba2658c484feacda9b4885b3854ffaf26292189783fdecc97211519c61831b6708fcbf739cfbcbf31c + "@babel/types": ^7.18.6 + checksum: e518fe8418571405e21644cfb39cf694f30b6c47b10b006609a92469ae8b8775cbff56f0b19732343e2ea910641091c5a2dc73b56ceba04e116a33b0f8bd2fbd languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-computed-properties@npm:7.17.12" - dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5d05418617e0967bec4818556b7febb6f8c40813e32035f0bd6b7dbd7b9d63e9ab7c7c8fd7bd05bab2a599dad58e7b69957d9559b41079d112c219bbc3649aa1 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.17.12, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.18.9 + resolution: "@babel/helper-plugin-utils@npm:7.18.9" + checksum: ebae876cd60f1fe238c7210986093845fa5c4cad5feeda843ea4d780bf068256717650376d3af2a5e760f2ed6a35c065ae144f99c47da3e54aa6cba99d8804e0 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.12.1, @babel/plugin-transform-destructuring@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-destructuring@npm:7.13.0" +"@babel/helper-remap-async-to-generator@npm:^7.18.6": + version: 7.18.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-wrap-function": ^7.18.9 + "@babel/types": ^7.18.9 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5e580ee25221134d612be714d1d4faa30429bd9789e9311ea44eff6d3ea660a0264ed29ee15e0c22ce8357d78855950524a228a826bf4b697f12f91d4cc7017c + "@babel/core": ^7.0.0 + checksum: 4be6076192308671b046245899b703ba090dbe7ad03e0bea897bb2944ae5b88e5e85853c9d1f83f643474b54c578d8ac0800b80341a86e8538264a725fbbefec languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.16.7" +"@babel/helper-replace-supers@npm:^7.18.6, @babel/helper-replace-supers@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-replace-supers@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d1c2e15e7be2a7c57ac8ec4df06fbb706c7ecc872ab7bc2193606e6d6a01929b6d5a1bb41540e41180e42a5ce0e70dce22e7896cb6578dd581d554f77780971b + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-member-expression-to-functions": ^7.18.9 + "@babel/helper-optimise-call-expression": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: 2de8b29cc4bfa4e241da2de16abd5571709f6eb394206dc16e3a7816976d1691635dd4bc930881e9d798f44b48a5f1849dc7f51a62946f3e8270452be1ec5352 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/plugin-transform-destructuring@npm:7.18.0" +"@babel/helper-simple-access@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-simple-access@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d85d60737c3b05c4db71bc94270e952122d360bd6ebf91b5f98cf16fb8564558b615d115354fe0ef41e2aae9c4540e6e16144284d881ecaef687693736cd2a79 + "@babel/types": ^7.18.6 + checksum: 37cd36eef199e0517845763c1e6ff6ea5e7876d6d707a6f59c9267c547a50aa0e84260ba9285d49acfaf2cfa0a74a772d92967f32ac1024c961517d40b6c16a5 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.12.1, @babel/plugin-transform-dotall-regex@npm:^7.12.13, @babel/plugin-transform-dotall-regex@npm:^7.4.4": - version: 7.12.13 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.12.13" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.18.9" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 084f028be4a1e534b8b4e96176656fca2a2d2603564f7df434934d11b7cd154feaae8f12a443f5522c9d09e96b4214194d1bc84745832b6ff4029a8eef85879a + "@babel/types": ^7.18.9 + checksum: 6e93ccd10248293082606a4b3e30eed32c6f796d378f6b662796c88f462f348aa368aadeb48eb410cfcc8250db93b2d6627c2e55662530f08fc25397e588d68a languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.16.7" +"@babel/helper-split-export-declaration@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-split-export-declaration@npm:7.18.6" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 554570dddfd5bfd87ab307be520f69a3d4ed2d2db677c165971b400d4c96656d0c165b318e69f1735612dcd12e04c0ee257697dc26800e8a572ca73bc05fa0f4 + "@babel/types": ^7.18.6 + checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.12.1, @babel/plugin-transform-duplicate-keys@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 11a7a5f905ab4a2cef70eae6ee01d700fd6c8c7d83ffca3b5bca6c95dc4e367c2b44780b1f765f3d4f1719429c90fdac54cc314c54ce3d9e480b22bcc45fc261 +"@babel/helper-validator-identifier@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-identifier@npm:7.18.6" + checksum: e295254d616bbe26e48c196a198476ab4d42a73b90478c9842536cf910ead887f5af6b5c4df544d3052a25ccb3614866fa808dc1e3a5a4291acd444e243c0648 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.16.7" - dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b96f6e9f7b33a91ad0eb6b793e4da58b7a0108b58269109f391d57078d26e043b3872c95429b491894ae6400e72e44d9b744c9b112b8433c99e6969b767e30ed +"@babel/helper-validator-option@npm:^7.16.7, @babel/helper-validator-option@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-option@npm:7.18.6" + checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.17.12" +"@babel/helper-wrap-function@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-wrap-function@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fb6ad550538830b0dc5b1b547734359f2d782209570e9d61fe9b84a6929af570fcc38ab579a67ee7cd6a832147db91a527f4cceb1248974f006fe815980816bb + "@babel/helper-function-name": ^7.18.9 + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: da818e519b48bbaa748a4fa87b0ba681bc627c9eb9557008d5307d42d3f536fe435b775163088dd9639b0120c8ea1ae1021777f48806f9f83397f4df622b88d3 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.12.1, @babel/plugin-transform-exponentiation-operator@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.12.13" +"@babel/helpers@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helpers@npm:7.18.9" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5e7db7df2ad944ab52f7669a70a2a1d58a6af239be9cbe46cf2b85291d848fce27923f4f5e6594cce813ea3a7d3ce7a124db490ab18b88061c463e86f67eb9d7 + "@babel/template": ^7.18.6 + "@babel/traverse": ^7.18.9 + "@babel/types": ^7.18.9 + checksum: d0bd8255d36bfc65dc52ce75f7fea778c70287da2d64981db4c84fbdf9581409ecbd6433deff1c81da3a5acf26d7e4c364b3a4445efacf88f4f48e77c5b34d8d languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.16.7" +"@babel/highlight@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/highlight@npm:7.18.6" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8082c79268f5b1552292bd3abbfed838a1131747e62000146e70670707b518602e907bbe3aef0fda824a2eebe995a9d897bd2336a039c5391743df01608673b0 + "@babel/helper-validator-identifier": ^7.18.6 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.12.1" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.6, @babel/parser@npm:^7.18.9, @babel/parser@npm:^7.4.4": + version: 7.18.9 + resolution: "@babel/parser@npm:7.18.9" + bin: + parser: ./bin/babel-parser.js + checksum: 81a966b334e3ef397e883c64026265a5ae0ad435a86f52a84f60a5ee1efc0738c1f42c55e0dc5f191cc6a83ba0c61350433eee417bf1dff160ca5f3cfde244c6 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-flow": ^7.12.1 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5b6929ae7fb7d516cabbc6d10cc8cf6a25c11a04d6d6a872cad19505e6a36693f1b072e9cf5d3475113e4c8400cad5a164127d98cbfae562c32cf0c89212424a + "@babel/core": ^7.0.0 + checksum: 845bd280c55a6a91d232cfa54eaf9708ec71e594676fe705794f494bb8b711d833b752b59d1a5c154695225880c23dbc9cab0e53af16fd57807976cd3ff41b8d languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.4.4": - version: 7.16.7 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.16.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-flow": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 + "@babel/plugin-proposal-optional-chaining": ^7.18.9 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4b4801c91d805d95957781e537f88e9f34c7f8a4c262c4d230af2ab7a920889c542860e505149a856d4c16916ffb02df4f3af161733adeedb7671555d1510bba + "@babel/core": ^7.13.0 + checksum: 93abb5cb179a13db171bfc2cdf79489598f43c50cc174f97a2b7bb1d44d24ade7109665a20cf4e317ad6c1c730f036f06478f7c7e789b4240be1abdb60d6452f languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.12.1, @babel/plugin-transform-for-of@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-for-of@npm:7.13.0" +"@babel/plugin-proposal-async-generator-functions@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-environment-visitor": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-remap-async-to-generator": ^7.18.6 + "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9441f12520b2446f7ec2010f7b5cb6c193ba71b8bb65359b85e7e8616783d830850a4ac05d966f720497e6621835cf27ab8ff967db28c59c5535b6b311672e8f + checksum: 3f708808ba6f8a9bd18805b1b22ab90ec0b362d949111a776e0bade5391f143f55479dcc444b2cec25fc89ac21035ee92e9a5ec37c02c610639197a0c2f7dcb0 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-for-of@npm:7.16.7" +"@babel/plugin-proposal-class-properties@npm:^7.16.0, @babel/plugin-proposal-class-properties@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 35c9264ee4bef814818123d70afe8b2f0a85753a0a9dc7b73f93a71cadc5d7de852f1a3e300a7c69a491705805704611de1e2ccceb5686f7828d6bca2e5a7306 + checksum: 49a78a2773ec0db56e915d9797e44fd079ab8a9b2e1716e0df07c92532f2c65d76aeda9543883916b8e0ff13606afeffa67c5b93d05b607bc87653ad18a91422 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.18.1": - version: 7.18.1 - resolution: "@babel/plugin-transform-for-of@npm:7.18.1" +"@babel/plugin-proposal-class-static-block@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-class-static-block@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-class-static-block": ^7.14.5 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: cdc6e1f1170218cc6ac5b26b4b8f011ec5c36666101e00e0061aaa5772969b093bad5b2af8ce908c184126d5bb0c26b89dd4debb96b2375aba2e20e427a623a8 + "@babel/core": ^7.12.0 + checksum: b8d7ae99ed5ad784f39e7820e3ac03841f91d6ed60ab4a98c61d6112253da36013e12807bae4ffed0ef3cb318e47debac112ed614e03b403fb8b075b09a828ee languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.12.1, @babel/plugin-transform-function-name@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-function-name@npm:7.12.13" +"@babel/plugin-proposal-decorators@npm:^7.16.4": + version: 7.18.9 + resolution: "@babel/plugin-proposal-decorators@npm:7.18.9" dependencies: - "@babel/helper-function-name": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-create-class-features-plugin": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-replace-supers": ^7.18.9 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/plugin-syntax-decorators": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1330ba357664efd17050bc89a2c3a0bc0c31aa82c4aa42616fbbfdf6aff2093aa2f07a8f486fde493fa3859a8b6f2986b5a583cf392bfa8ddfcd47a71f05d253 + checksum: c2f6562c133ce5ee0662dae162d32cb653dabb33fb2fb1caf930ee255a3fb5158f7ef680b37a3866482d68ed5ff6aea0734e64f67142ee4e9c33589339d2cc42 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-function-name@npm:7.16.7" +"@babel/plugin-proposal-dynamic-import@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-dynamic-import@npm:7.18.6" dependencies: - "@babel/helper-compilation-targets": ^7.16.7 - "@babel/helper-function-name": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4d97d0b84461cdd5d5aa2d010cdaf30f1f83a92a0dedd3686cbc7e90dc1249a70246f5bac0c1f3cd3f1dbfb03f7aac437776525a0c90cafd459776ea4fcc6bde + checksum: 96b1c8a8ad8171d39e9ab106be33bde37ae09b22fb2c449afee9a5edf3c537933d79d963dcdc2694d10677cb96da739cdf1b53454e6a5deab9801f28a818bb2f languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.12.1, @babel/plugin-transform-literals@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-literals@npm:7.12.13" +"@babel/plugin-proposal-export-namespace-from@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 13ac72edd9c960d0d248c6a73fa2ba7b748e5051a21fd409cb48ab9d133b852ef0d281d6dc6f803e8b619236284d8171c50f025b7721aff9bf719ec39792521c + checksum: 84ff22bacc5d30918a849bfb7e0e90ae4c5b8d8b65f2ac881803d1cf9068dffbe53bd657b0e4bc4c20b4db301b1c85f1e74183cf29a0dd31e964bd4e97c363ef languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-literals@npm:7.16.7" +"@babel/plugin-proposal-json-strings@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-json-strings@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-json-strings": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a9565d999fc7a72a391ef843cf66028c38ca858537c7014d9ea8ea587a59e5f952d9754bdcca6ca0446e84653e297d417d4faedccb9e4221af1aa30f25d918e0 + checksum: 25ba0e6b9d6115174f51f7c6787e96214c90dd4026e266976b248a2ed417fe50fddae72843ffb3cbe324014a18632ce5648dfac77f089da858022b49fd608cb3 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-literals@npm:7.17.12" +"@babel/plugin-proposal-logical-assignment-operators@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 09280fc1ed23b81deafd4fcd7a35d6c0944668de2317f14c1b8b78c5c201f71a063bb8d174d2fc97d86df480ff23104c8919d3aacf19f33c2b5ada584203bf1c + checksum: dd87fa4a48c6408c5e85dbd6405a65cc8fe909e3090030df46df90df64cdf3e74007381a58ed87608778ee597eff7395d215274009bb3f5d8964b2db5557754f languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.12.1, @babel/plugin-transform-member-expression-literals@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.12.13" +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 922d24402d6d79aef19ab53879f45cb0ae4dd6756634d36bd77e8fc95d2003fab7b156e41dd7fccca1dd296363ba43c14b5344ded282e17e9fd9f02701a2f54e + checksum: 949c9ddcdecdaec766ee610ef98f965f928ccc0361dd87cf9f88cf4896a6ccd62fce063d4494778e50da99dea63d270a1be574a62d6ab81cbe9d85884bf55a7d languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.16.7" +"@babel/plugin-proposal-numeric-separator@npm:^7.16.0, @babel/plugin-proposal-numeric-separator@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-numeric-separator@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: fdf5b22abab2b770e69348ce7f99796c3e0e1e7ce266afdbe995924284704930fa989323bdbda7070db8adb45a72f39eaa1dbebf18b67fc44035ec00c6ae3300 + checksum: f370ea584c55bf4040e1f78c80b4eeb1ce2e6aaa74f87d1a48266493c33931d0b6222d8cee3a082383d6bb648ab8d6b7147a06f974d3296ef3bc39c7851683ec languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.12.1, @babel/plugin-transform-modules-amd@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-modules-amd@npm:7.13.0" +"@babel/plugin-proposal-object-rest-spread@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.18.9" dependencies: - "@babel/helper-module-transforms": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/compat-data": ^7.18.8 + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-transform-parameters": ^7.18.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6397f52013e6ac28fd5500dc62ce00603fafdc624d37a3f7ad4c5220fe11a75e3221e8674c186d95937b4038f993a4a08fd428fcc98a558d46b3ce66ec91cc0b + checksum: 66b9bae741d46edf1c96776d26dfe5d335981e57164ec2450583e3d20dfaa08a5137ffebb897e443913207789f9816bfec4ae845f38762c0196a60949eaffdba languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.16.7" +"@babel/plugin-proposal-optional-catch-binding@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.18.6" dependencies: - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9ac251ee96183b10cf9b4ec8f9e8d52e14ec186a56103f6c07d0c69e99faa60391f6bac67da733412975e487bd36adb403e2fc99bae6b785bf1413e9d928bc71 + checksum: 7b5b39fb5d8d6d14faad6cb68ece5eeb2fd550fb66b5af7d7582402f974f5bc3684641f7c192a5a57e0f59acfae4aada6786be1eba030881ddc590666eff4d1e languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/plugin-transform-modules-amd@npm:7.18.0" +"@babel/plugin-proposal-optional-chaining@npm:^7.16.0, @babel/plugin-proposal-optional-chaining@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.18.9" dependencies: - "@babel/helper-module-transforms": ^7.18.0 - "@babel/helper-plugin-utils": ^7.17.12 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bed3ff5cd81f236981360fc4a6fd2262685c1202772c657ce3ab95b7930437f8fa22361021b481c977b6f47988dfcc07c7782a1c91b90d3a5552c91401f4631a + checksum: f2db40e26172f07c50b635cb61e1f36165de3ba868fcf608d967642f0d044b7c6beb0e7ecf17cbd421144b99e1eae7ad6031ded92925343bb0ed1d08707b514f languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.12.1, @babel/plugin-transform-modules-commonjs@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.13.8" +"@babel/plugin-proposal-private-methods@npm:^7.16.0, @babel/plugin-proposal-private-methods@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6" dependencies: - "@babel/helper-module-transforms": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-simple-access": ^7.12.13 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 19c7d8bbca37b21fd5b4134e7cbc3fceddd9b1fc2b58a9f824775acde00bb50709f3357ada9c79bf6578f94c3a147d7da93be1eb726a4d8b7b199cd75102199e + checksum: 22d8502ee96bca99ad2c8393e8493e2b8d4507576dd054490fd8201a36824373440106f5b098b6d821b026c7e72b0424ff4aeca69ed5f42e48f029d3a156d5ad languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.16.8, @babel/plugin-transform-modules-commonjs@npm:^7.4.4": - version: 7.16.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.16.8" +"@babel/plugin-proposal-private-property-in-object@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.18.6" dependencies: - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-simple-access": ^7.16.7 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c0ac00f5457e12cac7825b14725b6fc787bef78945181469ff79f07ef0fd7df021cb00fe1d3a9f35fc9bc92ae59e6e3fc9075a70b627dfe10e00d0907892aace + checksum: c8e56a972930730345f39f2384916fd8e711b3f4b4eae2ca9740e99958980118120d5cc9b6ac150f0965a5a35f825910e2c3013d90be3e9993ab6111df444569 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.2" +"@babel/plugin-proposal-unicode-property-regex@npm:^7.18.6, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": + version: 7.18.6 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.18.6" dependencies: - "@babel/helper-module-transforms": ^7.18.0 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-simple-access": ^7.18.2 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 99c1c5ce9c353e29eb680ebb5bdf27c076c6403e133a066999298de642423cc7f38cfbac02372d33ed73278da13be23c4be7d60169c3e27bd900a373e61a599a + checksum: a8575ecb7ff24bf6c6e94808d5c84bb5a0c6dd7892b54f09f4646711ba0ee1e1668032b3c43e3e1dfec2c5716c302e851ac756c1645e15882d73df6ad21ae951 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.12.1, @babel/plugin-transform-modules-systemjs@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.13.8" +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" dependencies: - "@babel/helper-hoist-variables": ^7.13.0 - "@babel/helper-module-transforms": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-validator-identifier": ^7.12.11 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 36628a3398bebd138c23adb4ad2505ddfecd0f9a8fce3915a727f9bb9afac3a42b94d0bed73a79e3cd34b21eb9dbd3baebd212299302e567a856ba870b0deff8 + checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.16.7" +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" dependencies: - "@babel/helper-hoist-variables": ^7.16.7 - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-validator-identifier": ^7.16.7 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2e50ae45a725eeafac5a9d30e07a5e17ab8dcf62c3528cf4efe444fc6f12cd3c4e42e911a9aa37abab169687a98b29a4418eeafcf2031f9917162ac36105cb1b + checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.18.0": - version: 7.18.4 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.4" +"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: - "@babel/helper-hoist-variables": ^7.16.7 - "@babel/helper-module-transforms": ^7.18.0 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-validator-identifier": ^7.16.7 - babel-plugin-dynamic-import-node: ^2.3.3 + "@babel/helper-plugin-utils": ^7.12.13 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: abe6948a1548b20055bf1c56ceab5b17dc283e7cdbcc0525b297b726f0785f1169333b5e685add81337fc749588adb8d96ccba9269565031db006a710e7eaf02 + checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.12.1, @babel/plugin-transform-modules-umd@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-modules-umd@npm:7.13.0" +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" dependencies: - "@babel/helper-module-transforms": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 08d2bf8eac8f8ad1836c6c8c4811848a41d43bcc43dd4e2dd8fd40ff30e38f1261b2a51eba9c4b1b3b19f08b45b90b0aa5b9f0bf7bc54b558d8c42d2fbe249d6 + checksum: 3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.16.7" +"@babel/plugin-syntax-decorators@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-decorators@npm:7.18.6" dependencies: - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d1433f8b0e0b3c9f892aa530f08fe3ba653a5e51fe1ed6034ac7d45d4d6f22c3ba99186b72e41ad9ce5d8dcf964104c3da2419f15fcdcf5ba05c5fda3ea2cefc + checksum: fb84e064b2db09fbc94380f4666281433cd2d485365e3b82de976cb8e1f28a433775e6af4b36556fff8ce8197864674ee334e67b6ab7b73d808d9e1b4c936287 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/plugin-transform-modules-umd@npm:7.18.0" +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" dependencies: - "@babel/helper-module-transforms": ^7.18.0 - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4081a79cfd4c6fda785c2137f9f2721e35c06a9d2f23c304172838d12e9317a24d3cb5b652a9db61e58319b370c57b1b44991429efe709679f98e114d98597fb + checksum: ce307af83cf433d4ec42932329fad25fa73138ab39c7436882ea28742e1c0066626d224e0ad2988724c82644e41601cef607b36194f695cb78a1fcdc959637bd languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.1, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.12.13" +"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 + "@babel/helper-plugin-utils": ^7.8.3 peerDependencies: - "@babel/core": ^7.0.0 - checksum: 8ef970be543c3c52a58171f98359472b7015a1572fd19005d7a98f2d783d80b5c7f99ebeaf2cc531e034ccf83baad80927722d9b1067eb1d1033b9292d265cdd + "@babel/core": ^7.0.0-0 + checksum: 85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.16.8": - version: 7.16.8 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.16.8" +"@babel/plugin-syntax-flow@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-flow@npm:7.18.6" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: - "@babel/core": ^7.0.0 - checksum: 73e149f5ff690f5b8e3764a881e8e5240f12f394256e7d5217705d0cbeae074c3faff394783190fe1a41f9fc5a53b960b6021158b7e5174391b5fc38f4ba047a + "@babel/core": ^7.0.0-0 + checksum: abe82062b3eef14de7d2b3c0e4fecf80a3e796ca497e9df616d12dd250968abf71495ee85a955b43a6c827137203f0c409450cf792732ed0d6907c806580ea71 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.17.12" +"@babel/plugin-syntax-import-assertions@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.18.6" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.17.12 - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: - "@babel/core": ^7.0.0 - checksum: cff9d91d0abd87871da6574583e79093ed75d5faecea45b6a13350ba243b1a595d349a6e7d906f5dfdf6c69c643cba9df662c3d01eaa187c5b1a01cb5838e848 + "@babel/core": ^7.0.0-0 + checksum: 54918a05375325ba0c60bc81abfb261e6f118bed2de94e4c17dca9a2006fc25e13b1a8b5504b9a881238ea394fd2f098f60b2eb3a392585d6348874565445e7b languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.12.1, @babel/plugin-transform-new-target@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-new-target@npm:7.12.13" +"@babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ecc3d910d42dac6bc2e02fa2e58285c1bf8c79295172fbbade8b13217f3d305209f24c29ff93c28745122b46fdbb93aaea9e9ebd390337a36949ddc48d1e1da8 + checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-new-target@npm:7.16.7" +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7410c3e68abc835f87a98d40269e65fb1a05c131decbb6721a80ed49a01bd0c53abb6b8f7f52d5055815509022790e1accca32e975c02f2231ac3cf13d8af768 + checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-new-target@npm:7.17.12" +"@babel/plugin-syntax-jsx@npm:^7.17.12, @babel/plugin-syntax-jsx@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bec26350fa49c9a9431d23b4ff234f8eb60554b8cdffca432a94038406aae5701014f343568c0e0cc8afae6f95d492f6bae0d0e2c101c1a484fb20eec75b2c07 + checksum: 6d37ea972970195f1ffe1a54745ce2ae456e0ac6145fae9aa1480f297248b262ea6ebb93010eddb86ebfacb94f57c05a1fc5d232b9a67325b09060299d515c67 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.12.1, @babel/plugin-transform-object-super@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-object-super@npm:7.12.13" +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/helper-replace-supers": ^7.12.13 + "@babel/helper-plugin-utils": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 558d660ad0d8121da3c6f874a06335309009a329179642f50afe2ff1b6a326cc552c849711dae79a8a755ca3c640e17cfc1a4fa58bd731c6c84b65dceca2e80d + checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-object-super@npm:7.16.7" +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-replace-supers": ^7.16.7 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 46e3c879f4a93e904f2ecf83233d40c48c832bdbd82a67cab1f432db9aa51702e40d9e51e5800613e12299974f90f4ed3869e1273dbca8642984266320c5f341 + checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.12.1, @babel/plugin-transform-parameters@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-parameters@npm:7.13.0" +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 277c914ce5580f06ee0ed06fb3e80df38be0f7dad41b3632ae6f7ea4cd2c6e1ecc2bb93342a719e8957bf4b4f98188f8d035f38aad2de6b5920507a1042bbd84 + checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-parameters@npm:7.16.7" +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4d6904376db82d0b35f0a6cce08f630daf8608d94e903d6c7aff5bd742b251651bd1f88cdf9f16cad98aba5fc7c61da8635199364865fad6367d5ae37cf56cc1 + checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-parameters@npm:7.17.12" +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d9ed5ec61dc460835bade8fa710b42ec9f207bd448ead7e8abd46b87db0afedbb3f51284700fd2a6892fdf6544ec9b949c505c6542c5ba0a41ca4e8749af00f0 + checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.12.1, @babel/plugin-transform-property-literals@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-property-literals@npm:7.12.13" +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a6cca236d52d7ba7e506bf9448ff7ef9ac135e7c912aaa882a2f6cb8cda2acf97fc7f87fc0975f0375848db64151e1bf4f370aad0e88501a33c8848f1b838705 + checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.16.7" +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b5674458991a9b0e8738989d70faa88c7f98ed3df923c119f1225069eed72fe5e0ce947b1adc91e378f5822fbdeb7a672f496fd1c75c4babcc88169e3a7c3229 + checksum: b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda languageName: node linkType: hard -"@babel/plugin-transform-react-constant-elements@npm:^7.12.1": - version: 7.12.13 - resolution: "@babel/plugin-transform-react-constant-elements@npm:7.12.13" +"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8aeffde1da585cd03a20e634a1ff64f3fd2c7cfcb223db6229bf291b0524f59e55ac3c2e316287035fa4a048c287b3e19c505060b41affc647838941eaa8f8e0 + checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-react-display-name@npm:7.12.1" +"@babel/plugin-syntax-typescript@npm:^7.18.6, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.18.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 53a4cc0b0ae0588c6a7d8745b5aedb04fd2e5848632f5bad2d4d864bcd3be8ffe67ba17b351676dbd807cfecaeb5c6f7cbf292eab3c47682d22bd1594479c8a2 + checksum: 2cde73725ec51118ebf410bf02d78781c03fa4d3185993fcc9d253b97443381b621c44810084c5dd68b92eb8bdfae0e5b163e91b32bebbb33852383d1815c05d languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.12.1, @babel/plugin-transform-react-display-name@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-react-display-name@npm:7.12.13" +"@babel/plugin-transform-arrow-functions@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 42d4b015bd3b9806932bf21fcae053527bdc79b0cc823d571db54e4307324ef35bdd52cc123eb09ed05b709eabf15992b75c8739b94113d299f89d8149b54b68 + checksum: 900f5c695755062b91eec74da6f9092f40b8fada099058b92576f1e23c55e9813ec437051893a9b3c05cefe39e8ac06303d4a91b384e1c03dd8dc1581ea11602 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.16.7" +"@babel/plugin-transform-async-to-generator@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-remap-async-to-generator": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 483154413671ab0a25ae37520b7cf5bfab0958c484a3707c6799b1f1436d1e51481bcc03fbfcdbf90bf6b46818d931ae35e515141d8354c3287351b4467376ba + checksum: c2cca47468cf1aeefdc7ec35d670e195c86cee4de28a1970648c46a88ce6bd1806ef0bab27251b9e7fb791bb28a64dcd543770efd899f28ee5f7854e64e873d3 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.12.1, @babel/plugin-transform-react-jsx-development@npm:^7.12.12": - version: 7.12.17 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.12.17" +"@babel/plugin-transform-block-scoped-functions@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.18.6" dependencies: - "@babel/plugin-transform-react-jsx": ^7.12.17 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: af6e80abcd0cac030270959e67d5f035368e87df4e081907eba7a96bc9e1c30c077785756eb76e336ee393f1cbfd2117f17f24ee56a9b368f5863fdb46256f54 + checksum: 0a0df61f94601e3666bf39f2cc26f5f7b22a94450fb93081edbed967bd752ce3f81d1227fefd3799f5ee2722171b5e28db61379234d1bb85b6ec689589f99d7e languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.16.7" +"@babel/plugin-transform-block-scoping@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.18.9" dependencies: - "@babel/plugin-transform-react-jsx": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 697c71cb0ac9647a9b8c6f1aca99767cf06197f6c0b5d1f2e0c01f641e0706a380779f06836fdb941d3aa171f868091270fbe9fcfbfbcc2a24df5e60e04545e8 + checksum: f8064ea431eb7aa349dc5b6be87a650f912b48cd65afde917e8644f6f840d7f9d2ce4795f2aa3955aa5b23a73d4ad38abd03386ae109b4b8702b746c6d35bda3 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.12.1": - version: 7.12.13 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.12.13" +"@babel/plugin-transform-classes@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-classes@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-optimise-call-expression": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-replace-supers": ^7.18.9 + "@babel/helper-split-export-declaration": ^7.18.6 + globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 535f5f4e2cf22b3ef53c1dea2e95be0e1fdc39b00cac833b728dfba9756171ea7ccc7a87e788577c37f58e5ebe8fc1c38e992d4f9ff70c17758ca4cf818d8d2b + checksum: d7e953c0cf32af64e75db1277d2556c04635f32691ef462436897840be6f8021d4f85ee96134cb796a12dda549cf53346fedf96b671885f881bc4037c9d120ad languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.12.1": - version: 7.12.13 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.12.13" +"@babel/plugin-transform-computed-properties@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7ce39530cfc8fe0db7cc9868ef5d44d5fd5c1ca90a0c262fb48ae7faf149f51d305b3840570da34c69e40977bf9c8112379197a3383849e4aef58e38992adf4a + checksum: a6bfbea207827d77592628973c0e8cc3319db636506bdc6e81e21582de2e767890e6975b382d0511e9ec3773b9f43691185df90832883bbf9251f688d27fbc1d languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.0.0, @babel/plugin-transform-react-jsx@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-react-jsx@npm:7.16.7" +"@babel/plugin-transform-destructuring@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.18.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-jsx": ^7.16.7 - "@babel/types": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0e82346d7c99b4467946d535a8c626a988e5670f65a15dee8520ce9cf4f0147c99decc1cbb4bd352083eaafd259ee3e4299854cac6304a83666d488edf4e58f6 + checksum: 1a9b85dff67fd248fa8a2488ef59df3eb4dd4ca6007ff7db9f780c7873630a13bc16cfb2ad8f4c4ca966e42978410d1e4b306545941fe62769f2683f34973acd languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.12.1, @babel/plugin-transform-react-jsx@npm:^7.12.13, @babel/plugin-transform-react-jsx@npm:^7.12.17": - version: 7.12.17 - resolution: "@babel/plugin-transform-react-jsx@npm:7.12.17" +"@babel/plugin-transform-dotall-regex@npm:^7.18.6, @babel/plugin-transform-dotall-regex@npm:^7.4.4": + version: 7.18.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.18.6" dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-module-imports": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/plugin-syntax-jsx": ^7.12.13 - "@babel/types": ^7.12.17 + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 89e72d21e76b4faa73feed8f779f1461221d52adb3cc3cb8a202aec92c441feb12a02afa3201d3366e255db60576a1d1c998d2e8f201a8799f1281759a5cbcbe + checksum: cbe5d7063eb8f8cca24cd4827bc97f5641166509e58781a5f8aa47fb3d2d786ce4506a30fca2e01f61f18792783a5cb5d96bf5434c3dd1ad0de8c9cc625a53da languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-react-jsx@npm:7.17.12" +"@babel/plugin-transform-duplicate-keys@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.18.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/plugin-syntax-jsx": ^7.17.12 - "@babel/types": ^7.17.12 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 02e9974d14821173bb8e84db4bdfccd546bfdbf445d91d6345f953591f16306cf5741861d72e0d0910f3ffa7d4084fafed99cedf736e7ba8bed0cf64320c2ea6 + checksum: 220bf4a9fec5c4d4a7b1de38810350260e8ea08481bf78332a464a21256a95f0df8cd56025f346238f09b04f8e86d4158fafc9f4af57abaef31637e3b58bd4fe languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.12.1" +"@babel/plugin-transform-exponentiation-operator@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.18.6" dependencies: - "@babel/helper-annotate-as-pure": ^7.10.4 - "@babel/helper-plugin-utils": ^7.10.4 + "@babel/helper-builder-binary-assignment-operator-visitor": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7c42141c361b2524871e119b71d1fcbe871284bc4d2ab398ab549437af8dfb573c23c8b6044d8c70d37b25c159c25ec0d3d490c9303819bf6b81e1560cb1154c + checksum: 7f70222f6829c82a36005508d34ddbe6fd0974ae190683a8670dd6ff08669aaf51fef2209d7403f9bd543cb2d12b18458016c99a6ed0332ccedb3ea127b01229 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.16.7" +"@babel/plugin-transform-flow-strip-types@npm:^7.16.0, @babel/plugin-transform-flow-strip-types@npm:^7.4.4": + version: 7.18.9 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.18.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/plugin-syntax-flow": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 715fe9c5fd10c5605a6de1d4436d29087878924758969427ba4d0b2bc274a436d3ac8f2777b744c988bdbb90f7e68dc2a82491db333ae7e0079fab776b543fae + checksum: f25fe67b4986a5361539191ccfbf6a84fb6729db6f04c897799e2081c6b96b475cf4e05ab207bd63d7112d5d9465b5efbcc1def7940cba3ba69776a09f7db88d languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.12.1, @babel/plugin-transform-regenerator@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-regenerator@npm:7.12.13" +"@babel/plugin-transform-for-of@npm:^7.18.8": + version: 7.18.8 + resolution: "@babel/plugin-transform-for-of@npm:7.18.8" dependencies: - regenerator-transform: ^0.14.2 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e10f3736bab966f119b19c28904dd397b46c199213db283bbb870783f26fa2e3bcf22fdbea99aca6159bb54461556aa9de18c9ad6cb4564db0123e28a606520e + checksum: ca64c623cf0c7a80ab6f07ebd3e6e4ade95e2ae806696f70b43eafe6394fa8ce21f2b1ffdd15df2067f7363d2ecfe26472a97c6c774403d2163fa05f50c98f17 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.16.7" +"@babel/plugin-transform-function-name@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-function-name@npm:7.18.9" dependencies: - regenerator-transform: ^0.14.2 + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 12b1f9a4f324027af69f49522fbe7feea2ac53285ca5c7e27a70de09f56c74938bfda8b09ac06e57fa1207e441f00efb7adbc462afc9be5e8abd0c2a07715e01 + checksum: 62dd9c6cdc9714704efe15545e782ee52d74dc73916bf954b4d3bee088fb0ec9e3c8f52e751252433656c09f744b27b757fc06ed99bcde28e8a21600a1d8e597 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.18.0": - version: 7.18.0 - resolution: "@babel/plugin-transform-regenerator@npm:7.18.0" +"@babel/plugin-transform-literals@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-literals@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - regenerator-transform: ^0.15.0 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ebacf2bbe9e2fb6f2bd7996e19b41bfc9848628950ae06a1a832802a0b8e32a32003c6b89318da6ca521f79045c91324dcb4c97247ed56f86fa58d7401a7316f + checksum: 3458dd2f1a47ac51d9d607aa18f3d321cbfa8560a985199185bed5a906bb0c61ba85575d386460bac9aed43fdd98940041fae5a67dff286f6f967707cff489f8 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.12.1, @babel/plugin-transform-reserved-words@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-reserved-words@npm:7.12.13" +"@babel/plugin-transform-member-expression-literals@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 61bee23ba9659e79da585d886a70340c1ec64d02bd37d18952249b6f0b62015bc81c04a25f34c7960916fe3fac72f091a15fc55d6220cb194a053b2d0c0e9539 + checksum: 35a3d04f6693bc6b298c05453d85ee6e41cc806538acb6928427e0e97ae06059f97d2f07d21495fcf5f70d3c13a242e2ecbd09d5c1fcb1b1a73ff528dcb0b695 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.16.7" +"@babel/plugin-transform-modules-amd@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-modules-amd@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-module-transforms": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 00218a646e99a97c1f10b77c41c178ca1b91d0e6cf18dd4ca3c59b8a5ad721db04ef508f49be4cd0dcca7742490dbb145307b706a2dbea1917d5e5f7ba2f31b7 + checksum: f60c4c4e0eaec41e42c003cbab44305da7a8e05b2c9bdfc2b3fe0f9e1d7441c959ff5248aa03e350abe530e354028cbf3aa20bf07067b11510997dad8dd39be0 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-reserved-words@npm:7.17.12" +"@babel/plugin-transform-modules-commonjs@npm:^7.18.6, @babel/plugin-transform-modules-commonjs@npm:^7.4.4": + version: 7.18.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-module-transforms": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-simple-access": ^7.18.6 + babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d8a617cb79ca5852ac2736a9f81c15a3b0760919720c3b9069a864e2288006ebcaab557dbb36a3eba936defd6699f82e3bf894915925aa9185f5d9bcbf3b29fd + checksum: 7e356e3df8a6a8542cced7491ec5b1cc1093a88d216a59e63a5d2b9fe9d193cbea864f680a41429e41a4f9ecec930aa5b0b8f57e2b17b3b4d27923bb12ba5d14 languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-runtime@npm:7.12.1" +"@babel/plugin-transform-modules-systemjs@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.9" dependencies: - "@babel/helper-module-imports": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - resolve: ^1.8.1 - semver: ^5.5.1 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-module-transforms": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-validator-identifier": ^7.18.6 + babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d341e72bc05ad2c5b13fc2bb677c63ac51e07ef07692807b948c3440eb380435422936584498377c6d5bb66ad82440a657970703f3df0f5233ecaae0ccd0322b + checksum: 6122d9901ed5dc56d9db843efc9249fe20d769a11989bbbf5a806ed4f086def949185198aa767888481babf70fc52b6b3e297a991e2b02b4f34ffb03d998d1e3 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.12.1, @babel/plugin-transform-shorthand-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.12.13" +"@babel/plugin-transform-modules-umd@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-modules-umd@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-module-transforms": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 32322d9a3bc9426e717b19c83bc224f20c766fe4b99a5a8a68cdc2b6d24403d017d6340ea50c5b9e6c31a4f7a8427bc7d0bb9cabf9f8d80762af081cad1a2d60 + checksum: c3b6796c6f4579f1ba5ab0cdcc73910c1e9c8e1e773c507c8bb4da33072b3ae5df73c6d68f9126dab6e99c24ea8571e1563f8710d7c421fac1cde1e434c20153 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.16.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ca381ecf8f48696512172deca40af46b1f64e3497186fdc2c9009286d8f06b468c4d61cdc392dc8b0c165298117dda67be9e2ff0e99d7691b0503f1240d4c62b + "@babel/core": ^7.0.0 + checksum: 6ef64aa3dad68df139eeaa7b6e9bb626be8f738ed5ed4db765d516944b1456d513b6bad3bb60fff22babe73de26436fd814a4228705b2d3d2fdb272c31da35e2 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.12.1, @babel/plugin-transform-spread@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-spread@npm:7.13.0" +"@babel/plugin-transform-new-target@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-new-target@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f885e68cc4f91f8e3fb2f0a4b182ab52182a542b2d3511360313965053410c89058ff0de64007cae3ee212787f63074730d8c9b3888c6dfbbf039fad694c792b + checksum: bd780e14f46af55d0ae8503b3cb81ca86dcc73ed782f177e74f498fff934754f9e9911df1f8f3bd123777eed7c1c1af4d66abab87c8daae5403e7719a6b845d1 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-spread@npm:7.16.7" +"@babel/plugin-transform-object-super@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-object-super@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-replace-supers": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6e961af1a70586bb72dd85e8296cee857c5dadd73225fccd0fe261c0d98652a82d69c65f3e9dc31ce019a12e9677262678479b96bd2d9140ddf6514618362828 + checksum: 0fcb04e15deea96ae047c21cb403607d49f06b23b4589055993365ebd7a7d7541334f06bf9642e90075e66efce6ebaf1eb0ef066fbbab802d21d714f1aac3aef languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-spread@npm:7.17.12" +"@babel/plugin-transform-parameters@npm:^7.18.8": + version: 7.18.8 + resolution: "@babel/plugin-transform-parameters@npm:7.18.8" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-skip-transparent-expression-wrappers": ^7.16.0 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3a95e4f163d598c0efc9d983e5ce3e8716998dd2af62af8102b11cb8d6383c71b74c7106adbce73cda6e48d3d3e927627847d36d76c2eb688cd0e2e07f67fb51 + checksum: 2b5863300da60face8a250d91da16294333bd5626e9721b13a3ba2078bd2a5a190e32c6e7a1323d5f547f579aeb2804ff49a62a55fcad2b1d099e55a55b788ea languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.12.1, @babel/plugin-transform-sticky-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.12.13" +"@babel/plugin-transform-property-literals@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-property-literals@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 41b9e016589441e985db2e5a7c7e907bbbbeb19876d82efc9482db9beb929c29e3f1ad8edbab7906a406bc41a55aee6708147c2ed3e4f9a7a3285aa9e723b7b4 + checksum: 1c16e64de554703f4b547541de2edda6c01346dd3031d4d29e881aa7733785cd26d53611a4ccf5353f4d3e69097bb0111c0a93ace9e683edd94fea28c4484144 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.16.7" +"@babel/plugin-transform-react-constant-elements@npm:^7.12.1": + version: 7.18.9 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d59e20121ff0a483e29364eff8bb42cd8a0b7a3158141eea5b6f219227e5b873ea70f317f65037c0f557887a692ac993b72f99641a37ea6ec0ae8000bfab1343 + checksum: bbdc4bc38317e62bb729d6d2b48bfac4cca52cb476a1a537a6fe693610852a6f2c3b3f616e1c73f17fb4b0dae551b1c96f898b7867a02ff2fbe3e858a346c767 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.12.1, @babel/plugin-transform-template-literals@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-template-literals@npm:7.13.0" +"@babel/plugin-transform-react-display-name@npm:^7.16.0, @babel/plugin-transform-react-display-name@npm:^7.16.7, @babel/plugin-transform-react-display-name@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-react-display-name@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 463c8462fcfb33c8875d4ebc7d2826d2a5019b00bd5c05a6c890d969e72c9010c33a1033a934347d8b51734854602b8afc96f3439d1402890787d988bfc935dd + checksum: 51c087ab9e41ef71a29335587da28417536c6f816c292e092ffc0e0985d2f032656801d4dd502213ce32481f4ba6c69402993ffa67f0818a07606ff811e4be49 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.16.7" +"@babel/plugin-transform-react-jsx-development@npm:^7.16.7, @babel/plugin-transform-react-jsx-development@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/plugin-transform-react-jsx": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b55a519dd8b957247ebad3cab21918af5adca4f6e6c87819501cfe3d4d4bccda25bc296c7dfc8a30909b4ad905902aeb9d55ad955cb9f5cbc74b42dab32baa18 + checksum: ec9fa65db66f938b75c45e99584367779ac3e0af8afc589187262e1337c7c4205ea312877813ae4df9fb93d766627b8968d74ac2ba702e4883b1dbbe4953ecee languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/plugin-transform-template-literals@npm:7.18.2" +"@babel/plugin-transform-react-jsx@npm:^7.0.0, @babel/plugin-transform-react-jsx@npm:^7.17.12, @babel/plugin-transform-react-jsx@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-react-jsx@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-jsx": ^7.18.6 + "@babel/types": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bc0102ed8c789e5bc01053088e2de85b82cebcd4d57af9fdc32ca62f559d3dd19c33e9d26caa71c5fd8e94152e5ce4fc4da19badc2d537620e6dea83bce7eb05 + checksum: 46129eaf1ab7a7a73e3e8c9d9859b630f5b381c5e19fb1559e2db7b943a7825b6715ad950623fb03fe7bd31ed618ce1d0bd539b13fa030a50c39d5a873a5ba00 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.12.1, @babel/plugin-transform-typeof-symbol@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.12.13" +"@babel/plugin-transform-react-pure-annotations@npm:^7.16.7, @babel/plugin-transform-react-pure-annotations@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-annotate-as-pure": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6dbe460c12d6924348ae4e75f34143d39db73cb7a52bcd16a61de78cf9f9d000e7b95be0e2221d75a79150f703195a895c436782b72442c4456a1ea30a061ecd + checksum: 97c4873d409088f437f9084d084615948198dd87fc6723ada0e7e29c5a03623c2f3e03df3f52e7e7d4d23be32a08ea00818bff302812e48713c706713bd06219 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.16.7" +"@babel/plugin-transform-regenerator@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-regenerator@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.6 + regenerator-transform: ^0.15.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 739a8c439dacbd9af62cfbfa0a7cbc3f220849e5fc774e5ef708a09186689a724c41a1d11323e7d36588d24f5481c8b702c86ff7be8da2e2fed69bed0175f625 + checksum: 60bd482cb0343c714f85c3e19a13b3b5fa05ee336c079974091c0b35e263307f4e661f4555dff90707a87d5efe19b1d51835db44455405444ac1813e268ad750 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.17.12": - version: 7.17.12 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.17.12" +"@babel/plugin-transform-reserved-words@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-reserved-words@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.17.12 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e30bd03c8abc1b095f8b2a10289df6850e3bc3cd0aea1cbc29050aa3b421cbb77d0428b0cd012333632a7a930dc8301cd888e762b2dd601e7dc5dac50f4140c9 + checksum: 0738cdc30abdae07c8ec4b233b30c31f68b3ff0eaa40eddb45ae607c066127f5fa99ddad3c0177d8e2832e3a7d3ad115775c62b431ebd6189c40a951b867a80c languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.12.1": - version: 7.13.0 - resolution: "@babel/plugin-transform-typescript@npm:7.13.0" +"@babel/plugin-transform-runtime@npm:^7.16.4": + version: 7.18.9 + resolution: "@babel/plugin-transform-runtime@npm:7.18.9" dependencies: - "@babel/helper-create-class-features-plugin": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-typescript": ^7.12.13 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.9 + babel-plugin-polyfill-corejs2: ^0.3.1 + babel-plugin-polyfill-corejs3: ^0.5.2 + babel-plugin-polyfill-regenerator: ^0.3.1 + semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ddc3089ba55265ec5113165d44ca0f7382b7402162d9545ba5be6fe57e3c0bfb071eab2fc210740a3aaf6fc8bd1bcca6f14ffbd8dcf9a77ce63472824bc2bbf4 + checksum: fc5e3c5c73197fabd165f85c2e0c4b156d5ef1dd724b28f73f1d000882692141ea13541a2df8067a93c2bd9b0aafe7e61911ac046f67808fcb2f252fb5f3eddd languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.12.1, @babel/plugin-transform-unicode-escapes@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.12.13" +"@babel/plugin-transform-shorthand-properties@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cfc34c5ab4438e89cb50c93059066d78aa6eaf957e33a00eb7aae76fe1de53aa8c956a6be9cd9d956a3a4df8090b490bcc5021958546e61785095e492f5bb180 + checksum: b8e4e8acc2700d1e0d7d5dbfd4fdfb935651913de6be36e6afb7e739d8f9ca539a5150075a0f9b79c88be25ddf45abb912fe7abf525f0b80f5b9d9860de685d7 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.16.7" +"@babel/plugin-transform-spread@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-spread@npm:7.18.9" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d10c3b5baa697ca2d9ecce2fd7705014d7e1ddd86ed684ccec378f7ad4d609ab970b5546d6cdbe242089ecfc7a79009d248cf4f8ee87d629485acfb20c0d9160 + checksum: 59489dd6212bd21debdf77746d9fa02dfe36f7062dc08742b8841d04312a26ea37bc0d71c71a6e37c3ab81dce744faa7f23fa94b0915593458f6adc35c087766 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.12.1, @babel/plugin-transform-unicode-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.12.13" +"@babel/plugin-transform-sticky-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.18.6" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b472c8403b33dbd707f33e0c819433299bbfb0b776dae241b2285b684e8c705bb3afb78bebec18475d4678a845826525288b354568c425112139b885cda730c2 + checksum: 68ea18884ae9723443ffa975eb736c8c0d751265859cd3955691253f7fee37d7a0f7efea96c8a062876af49a257a18ea0ed5fea0d95a7b3611ce40f7ee23aee3 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.16.7" +"@babel/plugin-transform-template-literals@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.18.9" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ef7721cfb11b269809555b1c392732566c49f6ced58e0e990c0e81e58a934bbab3072dcbe92d3a20d60e3e41036ecf987bcc63a7cde90711a350ad774667e5e6 + checksum: 3d2fcd79b7c345917f69b92a85bdc3ddd68ce2c87dc70c7d61a8373546ccd1f5cb8adc8540b49dfba08e1b82bb7b3bbe23a19efdb2b9c994db2db42906ca9fb2 languageName: node linkType: hard -"@babel/preset-env@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/preset-env@npm:7.12.1" +"@babel/plugin-transform-typeof-symbol@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.18.9" dependencies: - "@babel/compat-data": ^7.12.1 - "@babel/helper-compilation-targets": ^7.12.1 - "@babel/helper-module-imports": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-validator-option": ^7.12.1 - "@babel/plugin-proposal-async-generator-functions": ^7.12.1 - "@babel/plugin-proposal-class-properties": ^7.12.1 - "@babel/plugin-proposal-dynamic-import": ^7.12.1 - "@babel/plugin-proposal-export-namespace-from": ^7.12.1 - "@babel/plugin-proposal-json-strings": ^7.12.1 - "@babel/plugin-proposal-logical-assignment-operators": ^7.12.1 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.12.1 - "@babel/plugin-proposal-numeric-separator": ^7.12.1 - "@babel/plugin-proposal-object-rest-spread": ^7.12.1 - "@babel/plugin-proposal-optional-catch-binding": ^7.12.1 - "@babel/plugin-proposal-optional-chaining": ^7.12.1 - "@babel/plugin-proposal-private-methods": ^7.12.1 - "@babel/plugin-proposal-unicode-property-regex": ^7.12.1 - "@babel/plugin-syntax-async-generators": ^7.8.0 - "@babel/plugin-syntax-class-properties": ^7.12.1 - "@babel/plugin-syntax-dynamic-import": ^7.8.0 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-json-strings": ^7.8.0 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.0 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.0 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.0 - "@babel/plugin-syntax-optional-chaining": ^7.8.0 - "@babel/plugin-syntax-top-level-await": ^7.12.1 - "@babel/plugin-transform-arrow-functions": ^7.12.1 - "@babel/plugin-transform-async-to-generator": ^7.12.1 - "@babel/plugin-transform-block-scoped-functions": ^7.12.1 - "@babel/plugin-transform-block-scoping": ^7.12.1 - "@babel/plugin-transform-classes": ^7.12.1 - "@babel/plugin-transform-computed-properties": ^7.12.1 - "@babel/plugin-transform-destructuring": ^7.12.1 - "@babel/plugin-transform-dotall-regex": ^7.12.1 - "@babel/plugin-transform-duplicate-keys": ^7.12.1 - "@babel/plugin-transform-exponentiation-operator": ^7.12.1 - "@babel/plugin-transform-for-of": ^7.12.1 - "@babel/plugin-transform-function-name": ^7.12.1 - "@babel/plugin-transform-literals": ^7.12.1 - "@babel/plugin-transform-member-expression-literals": ^7.12.1 - "@babel/plugin-transform-modules-amd": ^7.12.1 - "@babel/plugin-transform-modules-commonjs": ^7.12.1 - "@babel/plugin-transform-modules-systemjs": ^7.12.1 - "@babel/plugin-transform-modules-umd": ^7.12.1 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.12.1 - "@babel/plugin-transform-new-target": ^7.12.1 - "@babel/plugin-transform-object-super": ^7.12.1 - "@babel/plugin-transform-parameters": ^7.12.1 - "@babel/plugin-transform-property-literals": ^7.12.1 - "@babel/plugin-transform-regenerator": ^7.12.1 - "@babel/plugin-transform-reserved-words": ^7.12.1 - "@babel/plugin-transform-shorthand-properties": ^7.12.1 - "@babel/plugin-transform-spread": ^7.12.1 - "@babel/plugin-transform-sticky-regex": ^7.12.1 - "@babel/plugin-transform-template-literals": ^7.12.1 - "@babel/plugin-transform-typeof-symbol": ^7.12.1 - "@babel/plugin-transform-unicode-escapes": ^7.12.1 - "@babel/plugin-transform-unicode-regex": ^7.12.1 - "@babel/preset-modules": ^0.1.3 - "@babel/types": ^7.12.1 - core-js-compat: ^3.6.2 - semver: ^5.5.0 + "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1a07935d95a2b36bfb7f462e9ce94c6c3d665ee36ddaf286f0ebc292006bd72841a9e67c4abcc878478b44b3c2cec2ad7af6a7b1cec9ac0a667054e1539859cf - languageName: node - linkType: hard - -"@babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.8.4": - version: 7.13.9 - resolution: "@babel/preset-env@npm:7.13.9" - dependencies: - "@babel/compat-data": ^7.13.8 - "@babel/helper-compilation-targets": ^7.13.8 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-validator-option": ^7.12.17 - "@babel/plugin-proposal-async-generator-functions": ^7.13.8 - "@babel/plugin-proposal-class-properties": ^7.13.0 - "@babel/plugin-proposal-dynamic-import": ^7.13.8 - "@babel/plugin-proposal-export-namespace-from": ^7.12.13 - "@babel/plugin-proposal-json-strings": ^7.13.8 - "@babel/plugin-proposal-logical-assignment-operators": ^7.13.8 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.13.8 - "@babel/plugin-proposal-numeric-separator": ^7.12.13 - "@babel/plugin-proposal-object-rest-spread": ^7.13.8 - "@babel/plugin-proposal-optional-catch-binding": ^7.13.8 - "@babel/plugin-proposal-optional-chaining": ^7.13.8 - "@babel/plugin-proposal-private-methods": ^7.13.0 - "@babel/plugin-proposal-unicode-property-regex": ^7.12.13 - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/plugin-syntax-class-properties": ^7.12.13 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-top-level-await": ^7.12.13 - "@babel/plugin-transform-arrow-functions": ^7.13.0 - "@babel/plugin-transform-async-to-generator": ^7.13.0 - "@babel/plugin-transform-block-scoped-functions": ^7.12.13 - "@babel/plugin-transform-block-scoping": ^7.12.13 - "@babel/plugin-transform-classes": ^7.13.0 - "@babel/plugin-transform-computed-properties": ^7.13.0 - "@babel/plugin-transform-destructuring": ^7.13.0 - "@babel/plugin-transform-dotall-regex": ^7.12.13 - "@babel/plugin-transform-duplicate-keys": ^7.12.13 - "@babel/plugin-transform-exponentiation-operator": ^7.12.13 - "@babel/plugin-transform-for-of": ^7.13.0 - "@babel/plugin-transform-function-name": ^7.12.13 - "@babel/plugin-transform-literals": ^7.12.13 - "@babel/plugin-transform-member-expression-literals": ^7.12.13 - "@babel/plugin-transform-modules-amd": ^7.13.0 - "@babel/plugin-transform-modules-commonjs": ^7.13.8 - "@babel/plugin-transform-modules-systemjs": ^7.13.8 - "@babel/plugin-transform-modules-umd": ^7.13.0 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.12.13 - "@babel/plugin-transform-new-target": ^7.12.13 - "@babel/plugin-transform-object-super": ^7.12.13 - "@babel/plugin-transform-parameters": ^7.13.0 - "@babel/plugin-transform-property-literals": ^7.12.13 - "@babel/plugin-transform-regenerator": ^7.12.13 - "@babel/plugin-transform-reserved-words": ^7.12.13 - "@babel/plugin-transform-shorthand-properties": ^7.12.13 - "@babel/plugin-transform-spread": ^7.13.0 - "@babel/plugin-transform-sticky-regex": ^7.12.13 - "@babel/plugin-transform-template-literals": ^7.13.0 - "@babel/plugin-transform-typeof-symbol": ^7.12.13 - "@babel/plugin-transform-unicode-escapes": ^7.12.13 - "@babel/plugin-transform-unicode-regex": ^7.12.13 - "@babel/preset-modules": ^0.1.4 - "@babel/types": ^7.13.0 - babel-plugin-polyfill-corejs2: ^0.1.4 - babel-plugin-polyfill-corejs3: ^0.1.3 - babel-plugin-polyfill-regenerator: ^0.1.2 - core-js-compat: ^3.9.0 - semver: ^6.3.0 + checksum: e754e0d8b8a028c52e10c148088606e3f7a9942c57bd648fc0438e5b4868db73c386a5ed47ab6d6f0594aae29ee5ffc2ffc0f7ebee7fae560a066d6dea811cd4 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.18.6": + version: 7.18.8 + resolution: "@babel/plugin-transform-typescript@npm:7.18.8" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/plugin-syntax-typescript": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 24f1de9bb21e9a575f81af56f2874887dae52b9b457d77bb99655c6e8cdba19303fda928b213c430984f2556db58c796aca48f169b87247db446849cb244f169 + checksum: 627211f1658870274fcabf38a71bb08ae219e3ac672423083574fabe2c857f28d39243cb7279adada8468c912a7beebc0622770ed66885a1e33b84ccc8bfd7df languageName: node linkType: hard -"@babel/preset-env@npm:^7.4.4": - version: 7.16.11 - resolution: "@babel/preset-env@npm:7.16.11" +"@babel/plugin-transform-unicode-escapes@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.18.6" dependencies: - "@babel/compat-data": ^7.16.8 - "@babel/helper-compilation-targets": ^7.16.7 - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-validator-option": ^7.16.7 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.16.7 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.16.7 - "@babel/plugin-proposal-async-generator-functions": ^7.16.8 - "@babel/plugin-proposal-class-properties": ^7.16.7 - "@babel/plugin-proposal-class-static-block": ^7.16.7 - "@babel/plugin-proposal-dynamic-import": ^7.16.7 - "@babel/plugin-proposal-export-namespace-from": ^7.16.7 - "@babel/plugin-proposal-json-strings": ^7.16.7 - "@babel/plugin-proposal-logical-assignment-operators": ^7.16.7 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.16.7 - "@babel/plugin-proposal-numeric-separator": ^7.16.7 - "@babel/plugin-proposal-object-rest-spread": ^7.16.7 - "@babel/plugin-proposal-optional-catch-binding": ^7.16.7 - "@babel/plugin-proposal-optional-chaining": ^7.16.7 - "@babel/plugin-proposal-private-methods": ^7.16.11 - "@babel/plugin-proposal-private-property-in-object": ^7.16.7 - "@babel/plugin-proposal-unicode-property-regex": ^7.16.7 - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/plugin-syntax-class-properties": ^7.12.13 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - "@babel/plugin-syntax-top-level-await": ^7.14.5 - "@babel/plugin-transform-arrow-functions": ^7.16.7 - "@babel/plugin-transform-async-to-generator": ^7.16.8 - "@babel/plugin-transform-block-scoped-functions": ^7.16.7 - "@babel/plugin-transform-block-scoping": ^7.16.7 - "@babel/plugin-transform-classes": ^7.16.7 - "@babel/plugin-transform-computed-properties": ^7.16.7 - "@babel/plugin-transform-destructuring": ^7.16.7 - "@babel/plugin-transform-dotall-regex": ^7.16.7 - "@babel/plugin-transform-duplicate-keys": ^7.16.7 - "@babel/plugin-transform-exponentiation-operator": ^7.16.7 - "@babel/plugin-transform-for-of": ^7.16.7 - "@babel/plugin-transform-function-name": ^7.16.7 - "@babel/plugin-transform-literals": ^7.16.7 - "@babel/plugin-transform-member-expression-literals": ^7.16.7 - "@babel/plugin-transform-modules-amd": ^7.16.7 - "@babel/plugin-transform-modules-commonjs": ^7.16.8 - "@babel/plugin-transform-modules-systemjs": ^7.16.7 - "@babel/plugin-transform-modules-umd": ^7.16.7 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.16.8 - "@babel/plugin-transform-new-target": ^7.16.7 - "@babel/plugin-transform-object-super": ^7.16.7 - "@babel/plugin-transform-parameters": ^7.16.7 - "@babel/plugin-transform-property-literals": ^7.16.7 - "@babel/plugin-transform-regenerator": ^7.16.7 - "@babel/plugin-transform-reserved-words": ^7.16.7 - "@babel/plugin-transform-shorthand-properties": ^7.16.7 - "@babel/plugin-transform-spread": ^7.16.7 - "@babel/plugin-transform-sticky-regex": ^7.16.7 - "@babel/plugin-transform-template-literals": ^7.16.7 - "@babel/plugin-transform-typeof-symbol": ^7.16.7 - "@babel/plugin-transform-unicode-escapes": ^7.16.7 - "@babel/plugin-transform-unicode-regex": ^7.16.7 - "@babel/preset-modules": ^0.1.5 - "@babel/types": ^7.16.8 - babel-plugin-polyfill-corejs2: ^0.3.0 - babel-plugin-polyfill-corejs3: ^0.5.0 - babel-plugin-polyfill-regenerator: ^0.3.0 - core-js-compat: ^3.20.2 - semver: ^6.3.0 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c8029c272073df787309d983ae458dd094b57f87152b8ccad95c7c8b1e82b042c1077e169538aae5f98b7659de0632d10708d9c85acf21a5e9406d7dd3656d8c + checksum: 297a03706723164a777263f76a8d89bccfb1d3fbc5e1075079dfd84372a5416d579da7d44c650abf935a1150a995bfce0e61966447b657f958e51c4ea45b72dc languageName: node linkType: hard -"@babel/preset-env@npm:~7.18.2": - version: 7.18.2 - resolution: "@babel/preset-env@npm:7.18.2" +"@babel/plugin-transform-unicode-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.18.6" dependencies: - "@babel/compat-data": ^7.17.10 - "@babel/helper-compilation-targets": ^7.18.2 - "@babel/helper-plugin-utils": ^7.17.12 - "@babel/helper-validator-option": ^7.16.7 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.17.12 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.17.12 - "@babel/plugin-proposal-async-generator-functions": ^7.17.12 - "@babel/plugin-proposal-class-properties": ^7.17.12 - "@babel/plugin-proposal-class-static-block": ^7.18.0 - "@babel/plugin-proposal-dynamic-import": ^7.16.7 - "@babel/plugin-proposal-export-namespace-from": ^7.17.12 - "@babel/plugin-proposal-json-strings": ^7.17.12 - "@babel/plugin-proposal-logical-assignment-operators": ^7.17.12 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.17.12 - "@babel/plugin-proposal-numeric-separator": ^7.16.7 - "@babel/plugin-proposal-object-rest-spread": ^7.18.0 - "@babel/plugin-proposal-optional-catch-binding": ^7.16.7 - "@babel/plugin-proposal-optional-chaining": ^7.17.12 - "@babel/plugin-proposal-private-methods": ^7.17.12 - "@babel/plugin-proposal-private-property-in-object": ^7.17.12 - "@babel/plugin-proposal-unicode-property-regex": ^7.17.12 + "@babel/helper-create-regexp-features-plugin": ^7.18.6 + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d9e18d57536a2d317fb0b7c04f8f55347f3cfacb75e636b4c6fa2080ab13a3542771b5120e726b598b815891fc606d1472ac02b749c69fd527b03847f22dc25e + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.4.4, @babel/preset-env@npm:~7.18.2": + version: 7.18.9 + resolution: "@babel/preset-env@npm:7.18.9" + dependencies: + "@babel/compat-data": ^7.18.8 + "@babel/helper-compilation-targets": ^7.18.9 + "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-validator-option": ^7.18.6 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.18.6 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.18.9 + "@babel/plugin-proposal-async-generator-functions": ^7.18.6 + "@babel/plugin-proposal-class-properties": ^7.18.6 + "@babel/plugin-proposal-class-static-block": ^7.18.6 + "@babel/plugin-proposal-dynamic-import": ^7.18.6 + "@babel/plugin-proposal-export-namespace-from": ^7.18.9 + "@babel/plugin-proposal-json-strings": ^7.18.6 + "@babel/plugin-proposal-logical-assignment-operators": ^7.18.9 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.18.6 + "@babel/plugin-proposal-numeric-separator": ^7.18.6 + "@babel/plugin-proposal-object-rest-spread": ^7.18.9 + "@babel/plugin-proposal-optional-catch-binding": ^7.18.6 + "@babel/plugin-proposal-optional-chaining": ^7.18.9 + "@babel/plugin-proposal-private-methods": ^7.18.6 + "@babel/plugin-proposal-private-property-in-object": ^7.18.6 + "@babel/plugin-proposal-unicode-property-regex": ^7.18.6 "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 "@babel/plugin-syntax-class-static-block": ^7.14.5 "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-import-assertions": ^7.17.12 + "@babel/plugin-syntax-import-assertions": ^7.18.6 "@babel/plugin-syntax-json-strings": ^7.8.3 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 @@ -3304,63 +1346,48 @@ __metadata: "@babel/plugin-syntax-optional-chaining": ^7.8.3 "@babel/plugin-syntax-private-property-in-object": ^7.14.5 "@babel/plugin-syntax-top-level-await": ^7.14.5 - "@babel/plugin-transform-arrow-functions": ^7.17.12 - "@babel/plugin-transform-async-to-generator": ^7.17.12 - "@babel/plugin-transform-block-scoped-functions": ^7.16.7 - "@babel/plugin-transform-block-scoping": ^7.17.12 - "@babel/plugin-transform-classes": ^7.17.12 - "@babel/plugin-transform-computed-properties": ^7.17.12 - "@babel/plugin-transform-destructuring": ^7.18.0 - "@babel/plugin-transform-dotall-regex": ^7.16.7 - "@babel/plugin-transform-duplicate-keys": ^7.17.12 - "@babel/plugin-transform-exponentiation-operator": ^7.16.7 - "@babel/plugin-transform-for-of": ^7.18.1 - "@babel/plugin-transform-function-name": ^7.16.7 - "@babel/plugin-transform-literals": ^7.17.12 - "@babel/plugin-transform-member-expression-literals": ^7.16.7 - "@babel/plugin-transform-modules-amd": ^7.18.0 - "@babel/plugin-transform-modules-commonjs": ^7.18.2 - "@babel/plugin-transform-modules-systemjs": ^7.18.0 - "@babel/plugin-transform-modules-umd": ^7.18.0 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.17.12 - "@babel/plugin-transform-new-target": ^7.17.12 - "@babel/plugin-transform-object-super": ^7.16.7 - "@babel/plugin-transform-parameters": ^7.17.12 - "@babel/plugin-transform-property-literals": ^7.16.7 - "@babel/plugin-transform-regenerator": ^7.18.0 - "@babel/plugin-transform-reserved-words": ^7.17.12 - "@babel/plugin-transform-shorthand-properties": ^7.16.7 - "@babel/plugin-transform-spread": ^7.17.12 - "@babel/plugin-transform-sticky-regex": ^7.16.7 - "@babel/plugin-transform-template-literals": ^7.18.2 - "@babel/plugin-transform-typeof-symbol": ^7.17.12 - "@babel/plugin-transform-unicode-escapes": ^7.16.7 - "@babel/plugin-transform-unicode-regex": ^7.16.7 + "@babel/plugin-transform-arrow-functions": ^7.18.6 + "@babel/plugin-transform-async-to-generator": ^7.18.6 + "@babel/plugin-transform-block-scoped-functions": ^7.18.6 + "@babel/plugin-transform-block-scoping": ^7.18.9 + "@babel/plugin-transform-classes": ^7.18.9 + "@babel/plugin-transform-computed-properties": ^7.18.9 + "@babel/plugin-transform-destructuring": ^7.18.9 + "@babel/plugin-transform-dotall-regex": ^7.18.6 + "@babel/plugin-transform-duplicate-keys": ^7.18.9 + "@babel/plugin-transform-exponentiation-operator": ^7.18.6 + "@babel/plugin-transform-for-of": ^7.18.8 + "@babel/plugin-transform-function-name": ^7.18.9 + "@babel/plugin-transform-literals": ^7.18.9 + "@babel/plugin-transform-member-expression-literals": ^7.18.6 + "@babel/plugin-transform-modules-amd": ^7.18.6 + "@babel/plugin-transform-modules-commonjs": ^7.18.6 + "@babel/plugin-transform-modules-systemjs": ^7.18.9 + "@babel/plugin-transform-modules-umd": ^7.18.6 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.18.6 + "@babel/plugin-transform-new-target": ^7.18.6 + "@babel/plugin-transform-object-super": ^7.18.6 + "@babel/plugin-transform-parameters": ^7.18.8 + "@babel/plugin-transform-property-literals": ^7.18.6 + "@babel/plugin-transform-regenerator": ^7.18.6 + "@babel/plugin-transform-reserved-words": ^7.18.6 + "@babel/plugin-transform-shorthand-properties": ^7.18.6 + "@babel/plugin-transform-spread": ^7.18.9 + "@babel/plugin-transform-sticky-regex": ^7.18.6 + "@babel/plugin-transform-template-literals": ^7.18.9 + "@babel/plugin-transform-typeof-symbol": ^7.18.9 + "@babel/plugin-transform-unicode-escapes": ^7.18.6 + "@babel/plugin-transform-unicode-regex": ^7.18.6 "@babel/preset-modules": ^0.1.5 - "@babel/types": ^7.18.2 - babel-plugin-polyfill-corejs2: ^0.3.0 - babel-plugin-polyfill-corejs3: ^0.5.0 - babel-plugin-polyfill-regenerator: ^0.3.0 + "@babel/types": ^7.18.9 + babel-plugin-polyfill-corejs2: ^0.3.1 + babel-plugin-polyfill-corejs3: ^0.5.2 + babel-plugin-polyfill-regenerator: ^0.3.1 core-js-compat: ^3.22.1 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f81892a7970cb34643b93917cbbc9b581d5066d892639867521f4a85ec258e69362a37bbb7b899b351e71d26095a97cd2d6e35e5f9ee110715146e0ccc19e700 - languageName: node - linkType: hard - -"@babel/preset-modules@npm:^0.1.3, @babel/preset-modules@npm:^0.1.4": - version: 0.1.4 - resolution: "@babel/preset-modules@npm:0.1.4" - dependencies: - "@babel/helper-plugin-utils": ^7.0.0 - "@babel/plugin-proposal-unicode-property-regex": ^7.4.4 - "@babel/plugin-transform-dotall-regex": ^7.4.4 - "@babel/types": ^7.4.4 - esutils: ^2.0.2 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7c6500be06be9a341e377eb63292a4a22d0da2b4fb8c68714aff703ddb341cbd58e37d4119d64fc3e602f73801103af471fca2c60b4c1e48e08eea3e6b1afc93 + checksum: 311002b9255d1aa261afe712ab73a93687652437804e2f44e6cc55438f8b199463f53bb2b8e0912b0034f208a42eee664a9e126a6061ca504a792ede97dd027e languageName: node linkType: hard @@ -3379,35 +1406,19 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/preset-react@npm:7.12.1" +"@babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.16.0": + version: 7.18.6 + resolution: "@babel/preset-react@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-transform-react-display-name": ^7.12.1 - "@babel/plugin-transform-react-jsx": ^7.12.1 - "@babel/plugin-transform-react-jsx-development": ^7.12.1 - "@babel/plugin-transform-react-jsx-self": ^7.12.1 - "@babel/plugin-transform-react-jsx-source": ^7.12.1 - "@babel/plugin-transform-react-pure-annotations": ^7.12.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 62f244b4c294554aa69476e337f4c9aec2ca24a93adb8fdf1361c38229534d3e0c87cce846d9f2541f725819f3d49c33426978ba5f851f1ef0f559b1bf435e65 - languageName: node - linkType: hard - -"@babel/preset-react@npm:^7.12.5": - version: 7.12.13 - resolution: "@babel/preset-react@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/plugin-transform-react-display-name": ^7.12.13 - "@babel/plugin-transform-react-jsx": ^7.12.13 - "@babel/plugin-transform-react-jsx-development": ^7.12.12 - "@babel/plugin-transform-react-pure-annotations": ^7.12.1 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-validator-option": ^7.18.6 + "@babel/plugin-transform-react-display-name": ^7.18.6 + "@babel/plugin-transform-react-jsx": ^7.18.6 + "@babel/plugin-transform-react-jsx-development": ^7.18.6 + "@babel/plugin-transform-react-pure-annotations": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 99ce3bc8945891a3e9724930fcfe766516160a4e3d1597edad32d26270dbdbe33fb32b1589075ecb808d5fe72f5cf00a4ad8747301a76402f3b18787fcd549f4 + checksum: 540d9cf0a0cc0bb07e6879994e6fb7152f87dafbac880b56b65e2f528134c7ba33e0cd140b58700c77b2ebf4c81fa6468fed0ba391462d75efc7f8c1699bb4c3 languageName: node linkType: hard @@ -3427,252 +1438,258 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/preset-typescript@npm:7.12.1" +"@babel/preset-typescript@npm:^7.16.0": + version: 7.18.6 + resolution: "@babel/preset-typescript@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-transform-typescript": ^7.12.1 + "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-validator-option": ^7.18.6 + "@babel/plugin-transform-typescript": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: da5df86cbe8cbbd3d2589622b78474f30d7f5a7b1722fc0cd81b908a195f63751c46b6ee4307b9dd65bee501c6629e3720d0a456dcde933b47edfa2ff743cc08 + checksum: 7fe0da5103eb72d3cf39cf3e138a794c8cdd19c0b38e3e101507eef519c46a87a0d6d0e8bc9e28a13ea2364001ebe7430b9d75758aab4c3c3a8db9a487b9dc7c languageName: node linkType: hard "@babel/runtime-corejs3@npm:^7.10.2": - version: 7.13.9 - resolution: "@babel/runtime-corejs3@npm:7.13.9" + version: 7.18.9 + resolution: "@babel/runtime-corejs3@npm:7.18.9" dependencies: - core-js-pure: ^3.0.0 + core-js-pure: ^3.20.2 regenerator-runtime: ^0.13.4 - checksum: 910929987cb916b312b6051a542c12f87bba41ff07cf705e5632b378b5fe232d9dd48e4ab62a170a4bc266d000952da3ff7c209300b95b2fa9099a3aeb6240f2 + checksum: 249158b660ac996fa4f4b0d1ab5810db060af40fac4d0bb5da23f55539a151313ae254aa64afc2ab7000d95167824e21a689f74bc24b36fd0f5ca030d522133d languageName: node linkType: hard -"@babel/runtime@npm:7.12.1": - version: 7.12.1 - resolution: "@babel/runtime@npm:7.12.1" +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": + version: 7.18.9 + resolution: "@babel/runtime@npm:7.18.9" dependencies: regenerator-runtime: ^0.13.4 - checksum: fb4b4c8f704a338d3500ff75bfd28a35927444e0c48254d60ce87a9402d7e149e2189e5f55fa3bd2927d4c10fa25fe34c239ae0be68df77af040b01561c5bcc8 + checksum: 36dd736baba7164e82b3cc9d43e081f0cb2d05ff867ad39cac515d99546cee75b7f782018b02a3dcf5f2ef3d27f319faa68965fdfec49d4912c60c6002353a2e languageName: node linkType: hard -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": - version: 7.13.9 - resolution: "@babel/runtime@npm:7.13.9" +"@babel/template@npm:^7.18.6, @babel/template@npm:^7.3.3, @babel/template@npm:^7.4.4": + version: 7.18.6 + resolution: "@babel/template@npm:7.18.6" dependencies: - regenerator-runtime: ^0.13.4 - checksum: 3ac9450e53f1092a44e9077c19a0e69310b23680ec66a83cef32b71be9228d983127467bd11d9f02c9389134721bf0512935a150000ad676edaebfad176b3257 + "@babel/code-frame": ^7.18.6 + "@babel/parser": ^7.18.6 + "@babel/types": ^7.18.6 + checksum: cb02ed804b7b1938dbecef4e01562013b80681843dd391933315b3dd9880820def3b5b1bff6320d6e4c6a1d63d1d5799630d658ec6b0369c5505e7e4029c38fb languageName: node linkType: hard -"@babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.9.2": - version: 7.17.2 - resolution: "@babel/runtime@npm:7.17.2" +"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.4.4, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.2": + version: 7.18.9 + resolution: "@babel/traverse@npm:7.18.9" dependencies: - regenerator-runtime: ^0.13.4 - checksum: a48702d271ecc59c09c397856407afa29ff980ab537b3da58eeee1aeaa0f545402d340a1680c9af58aec94dfdcbccfb6abb211991b74686a86d03d3f6956cacd + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.18.9 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.18.9 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/parser": ^7.18.9 + "@babel/types": ^7.18.9 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 0445a51952ea1664a5719d9b1f8bf04be6f1933bcf54915fecc544c844a5dad2ac56f3b555723bbf741ef680d7fd64f6a5d69cfd08d518a4089c79a734270162 languageName: node linkType: hard -"@babel/runtime@npm:^7.17.2": - version: 7.18.3 - resolution: "@babel/runtime@npm:7.18.3" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.6, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.18.9 + resolution: "@babel/types@npm:7.18.9" dependencies: - regenerator-runtime: ^0.13.4 - checksum: db8526226aa02cfa35a5a7ac1a34b5f303c62a1f000c7db48cb06c6290e616483e5036ab3c4e7a84d0f3be6d4e2148d5fe5cec9564bf955f505c3e764b83d7f1 + "@babel/helper-validator-identifier": ^7.18.6 + to-fast-properties: ^2.0.0 + checksum: f0e0147267895fd8a5b82133e711ce7ce99941f3ce63647e0e3b00656a7afe48a8aa48edbae27543b701794d2b29a562a08f51f88f41df401abce7c3acc5e13a languageName: node linkType: hard -"@babel/template@npm:^7.10.4, @babel/template@npm:^7.12.13, @babel/template@npm:^7.3.3": - version: 7.12.13 - resolution: "@babel/template@npm:7.12.13" - dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/parser": ^7.12.13 - "@babel/types": ^7.12.13 - checksum: e0377316317ff55c794ec79f70d8f27b5cd3323ce76278ade525c264af669952b09613288221c76ee4abd49626a5f014a60ec4a637694c9121a1b77f820792d0 +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 languageName: node linkType: hard -"@babel/template@npm:^7.16.7, @babel/template@npm:^7.4.4": - version: 7.16.7 - resolution: "@babel/template@npm:7.16.7" +"@choojs/findup@npm:^0.2.0": + version: 0.2.1 + resolution: "@choojs/findup@npm:0.2.1" dependencies: - "@babel/code-frame": ^7.16.7 - "@babel/parser": ^7.16.7 - "@babel/types": ^7.16.7 - checksum: 10cd112e89276e00f8b11b55a51c8b2f1262c318283a980f4d6cdb0286dc05734b9aaeeb9f3ad3311900b09bc913e02343fcaa9d4a4f413964aaab04eb84ac4a + commander: ^2.15.1 + bin: + findup: bin/findup.js + checksum: 9496321caa276f2a560ebae0e7607ba009012e8eff16db68fb405561ec482606edecf1c5ce1956805d77721c2db34c4bd9e2e95a2be2eec1c5ae8bb289ed5fd2 + languageName: node + linkType: hard + +"@csstools/normalize.css@npm:*": + version: 12.0.0 + resolution: "@csstools/normalize.css@npm:12.0.0" + checksum: fbef0f7fe4edbc3ce31b41257f0fa06e0442f11260e41c082a98de9b824997786a16900e7a5c0f4ca8f736dcd25dfd01c153d1c994a07d42c93c0a526ce0774d languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.1, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.7.0": - version: 7.13.0 - resolution: "@babel/traverse@npm:7.13.0" +"@csstools/postcss-cascade-layers@npm:^1.0.4": + version: 1.0.5 + resolution: "@csstools/postcss-cascade-layers@npm:1.0.5" dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.13.0 - "@babel/helper-function-name": ^7.12.13 - "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/parser": ^7.13.0 - "@babel/types": ^7.13.0 - debug: ^4.1.0 - globals: ^11.1.0 - lodash: ^4.17.19 - checksum: 7d584b5541396b02f6973ba8ec8a067f2a6c2fd2e894c663dfae36e86e65a004a6865fbffbfc89ca040c894f9c12134bb971d31f09e7ec32c28e9b18bf737f2a + "@csstools/selector-specificity": ^2.0.2 + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: f9d6954d7d7b888af9ecc6160e1a1d3dac3d11de7520007e198689c703249c7e66d6e7643828b76952a77576193f295dbcaea897ac21d01a217f94cc7935dc73 languageName: node linkType: hard -"@babel/traverse@npm:^7.16.7, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.4.4": - version: 7.17.0 - resolution: "@babel/traverse@npm:7.17.0" - dependencies: - "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.17.0 - "@babel/helper-environment-visitor": ^7.16.7 - "@babel/helper-function-name": ^7.16.7 - "@babel/helper-hoist-variables": ^7.16.7 - "@babel/helper-split-export-declaration": ^7.16.7 - "@babel/parser": ^7.17.0 - "@babel/types": ^7.17.0 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: 9b7de053d8a29453fd7b9614a028d8dc811817f02948eaee02093274b67927a1cfb0513b521bc4a9328c9b6e5b021fd343b358c3526bbb6ee61ec078d4110c0c +"@csstools/postcss-color-function@npm:^1.1.0": + version: 1.1.1 + resolution: "@csstools/postcss-color-function@npm:1.1.1" + dependencies: + "@csstools/postcss-progressive-custom-properties": ^1.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 087595985ebcc2fc42013d6305185d4cdc842d87fb261185db905dc31eaa24fc23a7cc068fa3da814b3c8b98164107ddaf1b4ab24f4ff5b2a7b5fbcd4c6ceec9 languageName: node linkType: hard -"@babel/traverse@npm:^7.18.0, @babel/traverse@npm:^7.18.2": - version: 7.18.2 - resolution: "@babel/traverse@npm:7.18.2" +"@csstools/postcss-font-format-keywords@npm:^1.0.0": + version: 1.0.1 + resolution: "@csstools/postcss-font-format-keywords@npm:1.0.1" dependencies: - "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.18.2 - "@babel/helper-environment-visitor": ^7.18.2 - "@babel/helper-function-name": ^7.17.9 - "@babel/helper-hoist-variables": ^7.16.7 - "@babel/helper-split-export-declaration": ^7.16.7 - "@babel/parser": ^7.18.0 - "@babel/types": ^7.18.2 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: e21c2d550bf610406cf21ef6fbec525cb1d80b9d6d71af67552478a24ee371203cb4025b23b110ae7288a62a874ad5898daad19ad23daa95dfc8ab47a47a092f + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: ed8d9eab9793f0184e000709bcb155d4eb96c49a312e3ea9e549e006b74fd4aafac63cb9f9f01bec5b717a833539ff085c3f1ef7d273b97d587769ef637d50c1 languageName: node linkType: hard -"@babel/traverse@npm:^7.4.5": - version: 7.13.15 - resolution: "@babel/traverse@npm:7.13.15" +"@csstools/postcss-hwb-function@npm:^1.0.1": + version: 1.0.2 + resolution: "@csstools/postcss-hwb-function@npm:1.0.2" dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.13.9 - "@babel/helper-function-name": ^7.12.13 - "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/parser": ^7.13.15 - "@babel/types": ^7.13.14 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: 3892ca8afedd2bbbfacee395ab29498f3155ed53a8e0eef8ed8299ab722f741a851e000dad1ce1c687352e99868656603d33491dd3d87d28b66a41e049d61061 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 352ead754a692f7ed33a712c491012cab5c2f2946136a669a354237cfe8e6faca90c7389ee793cb329b9b0ddec984faa06d47e2f875933aaca417afff74ce6aa languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.12.17, @babel/types@npm:^7.12.6, @babel/types@npm:^7.13.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": - version: 7.13.0 - resolution: "@babel/types@npm:7.13.0" +"@csstools/postcss-ic-unit@npm:^1.0.0": + version: 1.0.1 + resolution: "@csstools/postcss-ic-unit@npm:1.0.1" dependencies: - "@babel/helper-validator-identifier": ^7.12.11 - lodash: ^4.17.19 - to-fast-properties: ^2.0.0 - checksum: 3dbb08add345325a49e1deebefa8d3774a8ab055c4be675c339a389358f4b3443652ded4bfdb230b342c6af12593a6fd3fb95156564e7ec84081018815896821 + "@csstools/postcss-progressive-custom-properties": ^1.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 09c414c9b7762b5fbe837ff451d7a11e4890f1ed3c92edc3573f02f3d89747f6ac3f2270799b68a332bd7f5de05bb0dfffddb6323fc4020c2bea33ff58314533 languageName: node linkType: hard -"@babel/types@npm:^7.13.14": - version: 7.13.14 - resolution: "@babel/types@npm:7.13.14" +"@csstools/postcss-is-pseudo-class@npm:^2.0.6": + version: 2.0.7 + resolution: "@csstools/postcss-is-pseudo-class@npm:2.0.7" dependencies: - "@babel/helper-validator-identifier": ^7.12.11 - lodash: ^4.17.19 - to-fast-properties: ^2.0.0 - checksum: ba3d0415572de602e7cfdfb64cd541c1391cefccdcbdb226eb5a4c2d06a9cdb86defc7789bc19d45cae38580b04a5ddef6a9db67284c398af30217fe489fe802 + "@csstools/selector-specificity": ^2.0.0 + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: a4494bb8e9a34826944ba6872c91c1e88268caab6d06968897f1a0cc75ca5cfc4989435961fc668a9c6842a6d17f4cda0055fa256d23e598b8bbc6f022956125 languageName: node linkType: hard -"@babel/types@npm:^7.16.0, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0": - version: 7.17.0 - resolution: "@babel/types@npm:7.17.0" +"@csstools/postcss-normalize-display-values@npm:^1.0.0": + version: 1.0.1 + resolution: "@csstools/postcss-normalize-display-values@npm:1.0.1" dependencies: - "@babel/helper-validator-identifier": ^7.16.7 - to-fast-properties: ^2.0.0 - checksum: 12e5a287986fe557188e87b2c5202223f1dc83d9239a196ab936fdb9f8c1eb0be717ff19f934b5fad4e29a75586d5798f74bed209bccea1c20376b9952056f0e + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 75901daec3869ba15e0adfd50d8e2e754ec06d55ac44fbd540748476388d223d53710fb3a3cbfe6695a2bab015a489fb47d9e3914ff211736923f8deb818dc0b languageName: node linkType: hard -"@babel/types@npm:^7.17.12, @babel/types@npm:^7.18.0, @babel/types@npm:^7.18.2": - version: 7.18.4 - resolution: "@babel/types@npm:7.18.4" +"@csstools/postcss-oklab-function@npm:^1.1.0": + version: 1.1.1 + resolution: "@csstools/postcss-oklab-function@npm:1.1.1" dependencies: - "@babel/helper-validator-identifier": ^7.16.7 - to-fast-properties: ^2.0.0 - checksum: 85df59beb99c1b95e9e41590442f2ffa1e5b1b558d025489db40c9f7c906bd03a17da26c3ec486e5800e80af27c42ca7eee9506d9212ab17766d2d68d30fbf52 + "@csstools/postcss-progressive-custom-properties": ^1.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: d66b789060b37ed810450d9a7d8319a0ae14e913c091f3e0ee482b3471538762e801d5eae3d62fda2f1eb1e88c76786d2c2b06c1172166eba1cca5e2a0dc95f2 languageName: node linkType: hard -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 +"@csstools/postcss-progressive-custom-properties@npm:^1.1.0, @csstools/postcss-progressive-custom-properties@npm:^1.3.0": + version: 1.3.0 + resolution: "@csstools/postcss-progressive-custom-properties@npm:1.3.0" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.3 + checksum: e281845fde5b8a80d06ec20147bd74e96a9351bebbec5e5c3a6fb37ea30a597ff84172601786a8a270662f58f708b4a3bf8d822d6318023def9773d2f6589962 languageName: node linkType: hard -"@choojs/findup@npm:^0.2.0": - version: 0.2.1 - resolution: "@choojs/findup@npm:0.2.1" +"@csstools/postcss-stepped-value-functions@npm:^1.0.0": + version: 1.0.1 + resolution: "@csstools/postcss-stepped-value-functions@npm:1.0.1" dependencies: - commander: ^2.15.1 - bin: - findup: bin/findup.js - checksum: 9496321caa276f2a560ebae0e7607ba009012e8eff16db68fb405561ec482606edecf1c5ce1956805d77721c2db34c4bd9e2e95a2be2eec1c5ae8bb289ed5fd2 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 2fc88713a0d49d142010652be8139b00719e407df1173e46047284f1befd0647e1fff67f259f9f55ac3b46bba6462b21f0aa192bd10a2989c51a8ce0d25fc495 languageName: node linkType: hard -"@cnakazawa/watch@npm:^1.0.3": - version: 1.0.4 - resolution: "@cnakazawa/watch@npm:1.0.4" +"@csstools/postcss-trigonometric-functions@npm:^1.0.1": + version: 1.0.2 + resolution: "@csstools/postcss-trigonometric-functions@npm:1.0.2" dependencies: - exec-sh: ^0.3.2 - minimist: ^1.2.0 - bin: - watch: cli.js - checksum: 88f395ca0af2f3c0665b8ce7bb29e83647ec5d141e8735712aeeee4117081555436712966b6957aa1c461f6f826a4d23b0034e379c443a10e919f81c8748bf29 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: f7f5b5f2492606b79a56f09e814ae8f10a2ae9e9c5fb8019f0e347a4a6c07953b2cc663fd4fa43a60e6994dfd958958f39df8ec760e2a646cfe71fe2bb119382 languageName: node linkType: hard -"@csstools/convert-colors@npm:^1.4.0": - version: 1.4.0 - resolution: "@csstools/convert-colors@npm:1.4.0" - checksum: 26069eeb845a506934c821c203feb97f5de634c5fbeb9978505a2271d6cfdb0ce400240fca9620a4ef2e68953928ea25aab92ea8454e0edf5cd074066d9ad57b +"@csstools/postcss-unset-value@npm:^1.0.1": + version: 1.0.2 + resolution: "@csstools/postcss-unset-value@npm:1.0.2" + peerDependencies: + postcss: ^8.2 + checksum: 3facdae154d6516ffd964f7582696f406465f11cf8dead503e0afdfecc99ebc25638ab2830affce4516131aa2db004458a235e439f575b04e9ef72ad82f55835 languageName: node linkType: hard -"@csstools/normalize.css@npm:^10.1.0": - version: 10.1.0 - resolution: "@csstools/normalize.css@npm:10.1.0" - checksum: c0adedd58e16b73b6588377ca505bfbc3f6273ab1ba1b55dd343aa5e4c0bf81bd74f051a1317a0d383bdcd59af665ba34db00b0c51c7dbc176c1a536175c2b03 +"@csstools/selector-specificity@npm:^2.0.0, @csstools/selector-specificity@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/selector-specificity@npm:2.0.2" + peerDependencies: + postcss: ^8.2 + postcss-selector-parser: ^6.0.10 + checksum: a2045a27276a6cfe645b6e212afc217d9a43174ea7a1fa1ab8918d5a0ace72380fbd9837fe1920c547985c11a9070dc48c5c80d483d3f581ddf7aa688204d44f languageName: node linkType: hard "@emotion/babel-plugin@npm:^11.7.1": - version: 11.9.2 - resolution: "@emotion/babel-plugin@npm:11.9.2" + version: 11.9.5 + resolution: "@emotion/babel-plugin@npm:11.9.5" dependencies: - "@babel/helper-module-imports": ^7.12.13 - "@babel/plugin-syntax-jsx": ^7.12.13 - "@babel/runtime": ^7.13.10 + "@babel/helper-module-imports": ^7.16.7 + "@babel/plugin-syntax-jsx": ^7.17.12 + "@babel/runtime": ^7.18.3 "@emotion/hash": ^0.8.0 "@emotion/memoize": ^0.7.5 "@emotion/serialize": ^1.0.2 - babel-plugin-macros: ^2.6.1 + babel-plugin-macros: ^3.1.0 convert-source-map: ^1.5.0 escape-string-regexp: ^4.0.0 find-root: ^1.1.0 @@ -3680,20 +1697,20 @@ __metadata: stylis: 4.0.13 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2d2c4fadd389862896bcbc5f42c9b9c1a199810173fcf14e5520506c7179c2ddb991b8832fd273f42104cf0dae98886ad8e767b5e38ad235b652d903c3b8a328 + checksum: e9f6752d9ed0464923743fa0b1bf9e29d82f9d4a5e59b9b4b7e38bc06ca2a0df876a38a42bdf7294657522cc46a01f565889249f12d258433ea6495b97a8cc9a languageName: node linkType: hard -"@emotion/cache@npm:^11.7.1": - version: 11.7.1 - resolution: "@emotion/cache@npm:11.7.1" +"@emotion/cache@npm:^11.9.3": + version: 11.9.3 + resolution: "@emotion/cache@npm:11.9.3" dependencies: "@emotion/memoize": ^0.7.4 - "@emotion/sheet": ^1.1.0 + "@emotion/sheet": ^1.1.1 "@emotion/utils": ^1.0.0 "@emotion/weak-memoize": ^0.2.5 stylis: 4.0.13 - checksum: cf7aa8fe3bacfdedcda94b53e76a7635e122043439715fcfbf7f1a81340cfe6099a59134481a03ec3e0437466566d18528577d1e6ea92f5b98c372b8b38a8f35 + checksum: 6e0aab2fa5b9b6b0b9bf66b5328ed44265c23ced16b46c13d2602c3497fabd95299f6cf2c87cbc02b630452aa3cff599c194c538125d744aa135824129698ccc languageName: node linkType: hard @@ -3704,12 +1721,12 @@ __metadata: languageName: node linkType: hard -"@emotion/is-prop-valid@npm:^1.1.0, @emotion/is-prop-valid@npm:^1.1.2": - version: 1.1.2 - resolution: "@emotion/is-prop-valid@npm:1.1.2" +"@emotion/is-prop-valid@npm:^1.1.0, @emotion/is-prop-valid@npm:^1.1.2, @emotion/is-prop-valid@npm:^1.1.3": + version: 1.1.3 + resolution: "@emotion/is-prop-valid@npm:1.1.3" dependencies: "@emotion/memoize": ^0.7.4 - checksum: 58b1f2d429a589f8f5bc2c33a8732cbb7bbcb17131a103511ef9a94ac754d7eeb53d627f947da480cd977f9d419fd92e244991680292f3287204159652745707 + checksum: 511997c3bbaab5a967db65b65a111afc46c4aac8b3b87a436fd9e3dc2891829a9ada1405b77326f407d93934ee3b831e62248b498c071089312c5be080af75dd languageName: node linkType: hard @@ -3721,13 +1738,13 @@ __metadata: linkType: hard "@emotion/react@npm:~11.9.0": - version: 11.9.0 - resolution: "@emotion/react@npm:11.9.0" + version: 11.9.3 + resolution: "@emotion/react@npm:11.9.3" dependencies: "@babel/runtime": ^7.13.10 "@emotion/babel-plugin": ^11.7.1 - "@emotion/cache": ^11.7.1 - "@emotion/serialize": ^1.0.3 + "@emotion/cache": ^11.9.3 + "@emotion/serialize": ^1.0.4 "@emotion/utils": ^1.1.0 "@emotion/weak-memoize": ^0.2.5 hoist-non-react-statics: ^3.3.1 @@ -3739,40 +1756,27 @@ __metadata: optional: true "@types/react": optional: true - checksum: 4ceb004f942fb7557a55ea17aad2c48c4cd48ed5a780ccdc2993e4bded2f94d7c1764bd2f4fbe53f5b26059263599cec64ff66d29447e281a58c60b39c72e5cc - languageName: node - linkType: hard - -"@emotion/serialize@npm:^1.0.2": - version: 1.0.2 - resolution: "@emotion/serialize@npm:1.0.2" - dependencies: - "@emotion/hash": ^0.8.0 - "@emotion/memoize": ^0.7.4 - "@emotion/unitless": ^0.7.5 - "@emotion/utils": ^1.0.0 - csstype: ^3.0.2 - checksum: ff84fbe09ec06e7ad3deaef5c5b5ea6af6a522e8efe49c2b398b875d06872626284a83b6b18b7f777750c94264a61e7924157d869d9bca2f675731bbb91a6055 + checksum: 19bc7205e85e87cadebbe5a926d45103b836af70ab6972ea4c333c8dd01b463fc9646d4e4097a36f145a05dd4bc388739667437b990f8cf7f7f925f9610d1aa8 languageName: node linkType: hard -"@emotion/serialize@npm:^1.0.3": - version: 1.0.3 - resolution: "@emotion/serialize@npm:1.0.3" +"@emotion/serialize@npm:^1.0.2, @emotion/serialize@npm:^1.0.4": + version: 1.0.4 + resolution: "@emotion/serialize@npm:1.0.4" dependencies: "@emotion/hash": ^0.8.0 "@emotion/memoize": ^0.7.4 "@emotion/unitless": ^0.7.5 "@emotion/utils": ^1.0.0 csstype: ^3.0.2 - checksum: 99a9053bd98c99d63af542ebee029281eeaf653e3a12e97ee79bad7330c68408104c30be6fc07a528e38bb69aba680655181744b76ec6c6f459c121cb805fac2 + checksum: e8cc342056734e176ea837fe44035126dea174962db40852a7ced499d258c0056b0fd3c298743c446f9ba0f2647cb42dfb623b8e5783c265deb9eb20138d68e7 languageName: node linkType: hard -"@emotion/sheet@npm:^1.1.0": - version: 1.1.0 - resolution: "@emotion/sheet@npm:1.1.0" - checksum: a4b74e16a8fea1157413efe4904f5f679d724323cb605d66d20a0b98744422f5d411fca927ceb52e4de454a0a819c5273ca9496db9f011b4ecd17b9f1b212007 +"@emotion/sheet@npm:^1.1.1": + version: 1.1.1 + resolution: "@emotion/sheet@npm:1.1.1" + checksum: b916ac665735ef6dfda26b09f2d3493789d432d649733db9da18c4db0115e7fdadeb8d45f6490320248916bb13d978bba74c914b711ac96f659b76a5e52d5cd2 languageName: node linkType: hard @@ -3812,14 +1816,7 @@ __metadata: languageName: node linkType: hard -"@emotion/utils@npm:^1.0.0": - version: 1.0.0 - resolution: "@emotion/utils@npm:1.0.0" - checksum: 3ce8048441a915447d9ef51eb6d1d4cbcce8c8d1647bc7a23333ce2fb2249e74cf9471670d6f49a716e93ff633c9e7a6633517698e17391aebfc40c9d0cabcc0 - languageName: node - linkType: hard - -"@emotion/utils@npm:^1.1.0": +"@emotion/utils@npm:^1.0.0, @emotion/utils@npm:^1.1.0": version: 1.1.0 resolution: "@emotion/utils@npm:1.1.0" checksum: d3b681ca3a23b07033ac6c6937e71010a5549ac8ccec325eb6c91a7e48d9a73db83fa5dadc58be981bb125d7c00fedca868ea4362b1da9e02866615f96be4df1 @@ -3851,35 +1848,35 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.0": - version: 0.4.0 - resolution: "@eslint/eslintrc@npm:0.4.0" +"@eslint/eslintrc@npm:^1.3.0": + version: 1.3.0 + resolution: "@eslint/eslintrc@npm:1.3.0" dependencies: ajv: ^6.12.4 - debug: ^4.1.1 - espree: ^7.3.0 - globals: ^12.1.0 - ignore: ^4.0.6 + debug: ^4.3.2 + espree: ^9.3.2 + globals: ^13.15.0 + ignore: ^5.2.0 import-fresh: ^3.2.1 - js-yaml: ^3.13.1 - minimatch: ^3.0.4 + js-yaml: ^4.1.0 + minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: c4e7a5021bfdd293aff47b1993a66aee3d7a71a6b13bc8036028c71aa08bdac232c8683f5bb55090d0f260ecf81f4159e1a28554c8ad242a372ee89583dc75af + checksum: a1e734ad31a8b5328dce9f479f185fd4fc83dd7f06c538e1fa457fd8226b89602a55cc6458cd52b29573b01cdfaf42331be8cfc1fec732570086b591f4ed6515 languageName: node linkType: hard -"@firebase/analytics-compat@npm:0.1.10": - version: 0.1.10 - resolution: "@firebase/analytics-compat@npm:0.1.10" +"@firebase/analytics-compat@npm:0.1.12": + version: 0.1.12 + resolution: "@firebase/analytics-compat@npm:0.1.12" dependencies: - "@firebase/analytics": 0.7.9 + "@firebase/analytics": 0.7.11 "@firebase/analytics-types": 0.7.0 - "@firebase/component": 0.5.14 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: b093914218865e5f2c4c30bfa00cf54213eb8ea802172de3217402101aaa92a5eb91c1876f04bf75ea00022ddd79c3023d0bd715fe98b9a9a93d9014ea55db1c + checksum: 5bdebd9f21cf5d4b222d732a92324460eac3c938a60835bc742fdba15fd4729ad0dd012cd432a590ecad5a4b7b7ad2dce40467b8c802762fefd99a83d40a344a languageName: node linkType: hard @@ -3890,34 +1887,34 @@ __metadata: languageName: node linkType: hard -"@firebase/analytics@npm:0.7.9": - version: 0.7.9 - resolution: "@firebase/analytics@npm:0.7.9" +"@firebase/analytics@npm:0.7.11": + version: 0.7.11 + resolution: "@firebase/analytics@npm:0.7.11" dependencies: - "@firebase/component": 0.5.14 - "@firebase/installations": 0.5.9 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/installations": 0.5.11 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 06657c6f2d12c4279622b7bcf335eb9116189190a5f1998b2dd231ca2b9ca34f0048f106c9245d0af0263d6c0edd278e466a289a8f6e85722d3e273c64f18eb9 + checksum: ca75c0af03558b774770c3999398c798bb0bd2293d6d1761a3b543a040d405985afdae7bd42b6fc75a7653ca4c4da10ddba4bb752d524ea02041b10b678583ce languageName: node linkType: hard -"@firebase/app-check-compat@npm:0.2.8": - version: 0.2.8 - resolution: "@firebase/app-check-compat@npm:0.2.8" +"@firebase/app-check-compat@npm:0.2.10": + version: 0.2.10 + resolution: "@firebase/app-check-compat@npm:0.2.10" dependencies: - "@firebase/app-check": 0.5.8 + "@firebase/app-check": 0.5.10 "@firebase/app-check-types": 0.4.0 - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: fc1a4607ee8ee375829edb76f4be2ee712a8d676c9a67e3a7430f0da4b55adbf92b9e6a114ce82a5e8bc627bbb79d3de197b7dd34b531d73e37098f6fd9aaa10 + checksum: ea72b978e4f49f331e8f853e27ead22fce77a01314ba91511fa02c0ec9908682372211d4a16b13915f6028f81a263be5abebffc299ad932725b36a10f683a20e languageName: node linkType: hard @@ -3935,30 +1932,30 @@ __metadata: languageName: node linkType: hard -"@firebase/app-check@npm:0.5.8": - version: 0.5.8 - resolution: "@firebase/app-check@npm:0.5.8" +"@firebase/app-check@npm:0.5.10": + version: 0.5.10 + resolution: "@firebase/app-check@npm:0.5.10" dependencies: - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: cbfcbcb2ffdc8ad16e4e877c4cee3d2384e7321ddf0778d251cb1bc855d148b2b62c8cb46e9fd365624dcc9347f3bed708275505faf6887a80fcb52747849c66 + checksum: e05f1942233882ba1a3fa01ded108601104b879ac3de90415ec17b7ac74028ec50b77321c99c981d944bcb424c5dfcf3cf06d299b5948e594d84abfe4825bc91 languageName: node linkType: hard -"@firebase/app-compat@npm:0.1.26": - version: 0.1.26 - resolution: "@firebase/app-compat@npm:0.1.26" +"@firebase/app-compat@npm:0.1.28": + version: 0.1.28 + resolution: "@firebase/app-compat@npm:0.1.28" dependencies: - "@firebase/app": 0.7.25 - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/app": 0.7.27 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 tslib: ^2.1.0 - checksum: 8508e1dd574e7a6a611a5316676356e123407d048fb3a3240781dd73d56af6aeba1c140a31d8ae90e9b17b2c042703487621df2bb29613ecdf2f1ac72d0cefb4 + checksum: 7894662c22a63e34627e69509294b6b18790a3909c55044f7e627cc12fd4f005a4d353d87e3ac8b0e890ad03cd98541a00da769c81216a9e533f6f9fa6f5075e languageName: node linkType: hard @@ -3969,33 +1966,33 @@ __metadata: languageName: node linkType: hard -"@firebase/app@npm:0.7.25": - version: 0.7.25 - resolution: "@firebase/app@npm:0.7.25" +"@firebase/app@npm:0.7.27": + version: 0.7.27 + resolution: "@firebase/app@npm:0.7.27" dependencies: - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 idb: 7.0.1 tslib: ^2.1.0 - checksum: 0076776db6764e606df46d71d84d7bef454ac247318f335bb61a17301eb033b79e47dc59df456a09a894945c50c494e0696a0f5ab3456e3c19f2085aead020f8 + checksum: 1510cfcba0a3ce122c90eeb305ba5a9d93a1f4efff10f1a10e4c9065de6307463575988e1436ea13e14ed41554a33e678f93881bcb570252d95d4950c22cf035 languageName: node linkType: hard -"@firebase/auth-compat@npm:0.2.15": - version: 0.2.15 - resolution: "@firebase/auth-compat@npm:0.2.15" +"@firebase/auth-compat@npm:0.2.17": + version: 0.2.17 + resolution: "@firebase/auth-compat@npm:0.2.17" dependencies: - "@firebase/auth": 0.20.2 + "@firebase/auth": 0.20.4 "@firebase/auth-types": 0.11.0 - "@firebase/component": 0.5.14 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/util": 1.6.2 node-fetch: 2.6.7 selenium-webdriver: 4.1.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 135aea4f7497bc952d59b7b458d37fb0f72fd19d0bbb8c9f821c06d7caadc4e409b8ea6199fb5feb1229c534c33a6e09b4327e2d2f6803fae2b5c26cae914df2 + checksum: d4f1edf8569f88d7c343c0744aeeff3ecd08d9908ba773dabc4fdc70e109d6d276318e299a1c3574d4090941115044af7642015cc4d10b87ebec77d5a86bff51 languageName: node linkType: hard @@ -4019,84 +2016,82 @@ __metadata: languageName: node linkType: hard -"@firebase/auth@npm:0.20.2": - version: 0.20.2 - resolution: "@firebase/auth@npm:0.20.2" +"@firebase/auth@npm:0.20.4": + version: 0.20.4 + resolution: "@firebase/auth@npm:0.20.4" dependencies: - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 node-fetch: 2.6.7 selenium-webdriver: 4.1.2 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 6c003e5794fcba70658ef7c6f5d4b95f5ec374646ee8f67c7e678d1f7d58c268a96fba6deda15abb20dee23be2950709e0cfed0289fc1873a739eca58d2dcb40 + checksum: 30bd449130c86eaf2cdb37973a9678804869deeb459a1f2340793411895101ba15160362ca13abcbedc7e2613fa95c6c01ee0b8b0408c79e3ce4adbce673dcd2 languageName: node linkType: hard -"@firebase/component@npm:0.5.14": - version: 0.5.14 - resolution: "@firebase/component@npm:0.5.14" +"@firebase/component@npm:0.5.16": + version: 0.5.16 + resolution: "@firebase/component@npm:0.5.16" dependencies: - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 tslib: ^2.1.0 - checksum: 0b9c1118907e7afdc4e8bf03431b3d5ab11f32996585314d83a9ec97d58c93a3d8d547c1ae6fd46eca3df3847a692d0cf5a206e61652a1c5e6f309b8c0074791 + checksum: 98c9da424583afcec068f608abab3d45dd2a7f5f7c315ecf4774acb5f52dd3059a816bf063de57dcdb95e5607f1576c4b3368be5f212740936d9d24cb9a3f0f5 languageName: node linkType: hard -"@firebase/database-compat@npm:0.2.0": - version: 0.2.0 - resolution: "@firebase/database-compat@npm:0.2.0" +"@firebase/database-compat@npm:0.2.2": + version: 0.2.2 + resolution: "@firebase/database-compat@npm:0.2.2" dependencies: - "@firebase/component": 0.5.14 - "@firebase/database": 0.13.0 - "@firebase/database-types": 0.9.8 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/database": 0.13.2 + "@firebase/database-types": 0.9.10 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 tslib: ^2.1.0 - peerDependencies: - "@firebase/app-compat": 0.x - checksum: 000fb97ebdeab1ea8cd228562a0e5f9b4b829b6c70bb438564287e6d2d24b4e17a1f7585eab3810c60dd3ad39887b3360401e88644c71a4c243342eacd4dd0ab + checksum: 197e082c3831e1ba2e1cbfb50470615b50b425d70c3f0ce83bbea4e147de70cff3758f649b98e006dcaa0f98a1b82050f83f1ec29d87d6e4782ea60e3ac9c25e languageName: node linkType: hard -"@firebase/database-types@npm:0.9.8": - version: 0.9.8 - resolution: "@firebase/database-types@npm:0.9.8" +"@firebase/database-types@npm:0.9.10": + version: 0.9.10 + resolution: "@firebase/database-types@npm:0.9.10" dependencies: "@firebase/app-types": 0.7.0 - "@firebase/util": 1.6.0 - checksum: 602bedde0baa4a04a07f24138a527a52eabdd56be9ddadcde634df995fb739b7166bfd19f25014472408a5d2ac0dee922eec89c47f24fb51d4399a8a0332ef20 + "@firebase/util": 1.6.2 + checksum: 41787c147183c32dd30671a6ce4050960a0075e5f720b312a774b83532aa8c51ffda83512a92ce1d8a73ca3910912588481545260ac8f6635c9629b841ae9627 languageName: node linkType: hard -"@firebase/database@npm:0.13.0": - version: 0.13.0 - resolution: "@firebase/database@npm:0.13.0" +"@firebase/database@npm:0.13.2": + version: 0.13.2 + resolution: "@firebase/database@npm:0.13.2" dependencies: "@firebase/auth-interop-types": 0.1.6 - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 faye-websocket: 0.11.4 tslib: ^2.1.0 - checksum: e12eddcb6e668bec9433cf3b047d3d8ea9c8c44a3687fffc0e12c1c593b7eac1e10bbf7bbf16a9bfb876c548c9bec31c1bab06c39b69cb3dbac38b058992f448 + checksum: 716344cd0c6fceb1ad109c87b3456768ab3d95d5ba197f5dbfd6e329517643aef45d66fa42c90c62c7221cc00ed79f6be4fda2b85b03eac79c101f63483b0a5c languageName: node linkType: hard -"@firebase/firestore-compat@npm:0.1.18": - version: 0.1.18 - resolution: "@firebase/firestore-compat@npm:0.1.18" +"@firebase/firestore-compat@npm:0.1.20": + version: 0.1.20 + resolution: "@firebase/firestore-compat@npm:0.1.20" dependencies: - "@firebase/component": 0.5.14 - "@firebase/firestore": 3.4.9 + "@firebase/component": 0.5.16 + "@firebase/firestore": 3.4.11 "@firebase/firestore-types": 2.5.0 - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 1aee22cc5943e2361ee075e1d122cd3d005d52aaccabd531aaadbf89c69654b58001149edd92aa5915f65a256033d843212a55493c3d88d224b92460012c4949 + checksum: 4fac685f00ef74166793e2711283121a672745ccd5624356d207e6149d310fcb8f536cf8e406ab5d3ed2a5f027c6f901a8eaee226d28d4f8654b5adea8137ecc languageName: node linkType: hard @@ -4110,36 +2105,36 @@ __metadata: languageName: node linkType: hard -"@firebase/firestore@npm:3.4.9": - version: 3.4.9 - resolution: "@firebase/firestore@npm:3.4.9" +"@firebase/firestore@npm:3.4.11": + version: 3.4.11 + resolution: "@firebase/firestore@npm:3.4.11" dependencies: - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 - "@firebase/webchannel-wrapper": 0.6.1 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 + "@firebase/webchannel-wrapper": 0.6.2 "@grpc/grpc-js": ^1.3.2 "@grpc/proto-loader": ^0.6.0 node-fetch: 2.6.7 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: dd33bdd93f852b01f08efdad86fa7f6d3def74469382f3c756255b1a81906c507d803674de93f93d6f62f9f1086941428b9e24b5005984080a5e0e092639e30c + checksum: 4570612293d13d668b6737faf95661fad8c83bcb80b3876d8b8b364bea82758ff68701878d0807508fc72604d7b6940a4fee8ac30f75a1095f6c97501072e287 languageName: node linkType: hard -"@firebase/functions-compat@npm:0.2.1": - version: 0.2.1 - resolution: "@firebase/functions-compat@npm:0.2.1" +"@firebase/functions-compat@npm:0.2.3": + version: 0.2.3 + resolution: "@firebase/functions-compat@npm:0.2.3" dependencies: - "@firebase/component": 0.5.14 - "@firebase/functions": 0.8.1 + "@firebase/component": 0.5.16 + "@firebase/functions": 0.8.3 "@firebase/functions-types": 0.5.0 - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 7bcb736cf5e0dd2a37858264c67effa4865a32c54ecdf54522262b55a7726dca08c55675422222e48bac155dc5c31d8794d4c45c088f1cc4df22ef3d5f6ced65 + checksum: a18ab521063b08cb3c12248e29c7318d1ebae451ae87d7d81a59536ac93a42a935f59a3801bcdf2e5b4c8e4c56dab643e0452a415cc6953546d7c54bd8ef2ec6 languageName: node linkType: hard @@ -4150,57 +2145,57 @@ __metadata: languageName: node linkType: hard -"@firebase/functions@npm:0.8.1": - version: 0.8.1 - resolution: "@firebase/functions@npm:0.8.1" +"@firebase/functions@npm:0.8.3": + version: 0.8.3 + resolution: "@firebase/functions@npm:0.8.3" dependencies: "@firebase/app-check-interop-types": 0.1.0 "@firebase/auth-interop-types": 0.1.6 - "@firebase/component": 0.5.14 + "@firebase/component": 0.5.16 "@firebase/messaging-interop-types": 0.1.0 - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 node-fetch: 2.6.7 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: a181369435bd559471a7b9c7cb8c5090e08ce3a9756b535159abfcd25aeb3f1c120203733e6eebfbc5368638d3f17ba26c9541f62e51a1681d3712de2b763291 + checksum: f9de5accebfaa3cea612a2a522bdba5c8d92f3ab11adb1bc092805ab5839750f6053b0e15d3db94a22df8f735a71b797bdf581170050fb33f00430fbe79034be languageName: node linkType: hard -"@firebase/installations@npm:0.5.9": - version: 0.5.9 - resolution: "@firebase/installations@npm:0.5.9" +"@firebase/installations@npm:0.5.11": + version: 0.5.11 + resolution: "@firebase/installations@npm:0.5.11" dependencies: - "@firebase/component": 0.5.14 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/util": 1.6.2 idb: 7.0.1 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: d8efc79a41dea1282da677ca5916a3a407a4005e078259c50f8f25a96c0673def314118aa8eec4f995779cde8d10ae24e722f9c0094d89a15c51ad54bb7748c1 + checksum: 379d182a44e44f400bc94d19170acac4bb6399104f7735d7a9033f61605121c058b4b1ded5279087c155548b3a3904fe0448f35aea15d2a43df13bf5659d4f1f languageName: node linkType: hard -"@firebase/logger@npm:0.3.2": - version: 0.3.2 - resolution: "@firebase/logger@npm:0.3.2" +"@firebase/logger@npm:0.3.3": + version: 0.3.3 + resolution: "@firebase/logger@npm:0.3.3" dependencies: tslib: ^2.1.0 - checksum: 1a51de912d24e05081bee84adc33665c5f198b261ddf87b41035f3af0fee035d021b3839d739d24ee07b96e7b190846e21fb1cdf3645c404a7cdde3a23765c1b + checksum: 34c20c50db125b904e231c10e9f00868fad91dcdba6981c8a296c86036d49ab4a0aa9a367b6472f6321562f8d07d858eac155597d271351279e8aba825d7f77c languageName: node linkType: hard -"@firebase/messaging-compat@npm:0.1.13": - version: 0.1.13 - resolution: "@firebase/messaging-compat@npm:0.1.13" +"@firebase/messaging-compat@npm:0.1.15": + version: 0.1.15 + resolution: "@firebase/messaging-compat@npm:0.1.15" dependencies: - "@firebase/component": 0.5.14 - "@firebase/messaging": 0.9.13 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/messaging": 0.9.15 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: b1b169769d5d4e7e784a7c0925afc79e8fcf906354e8428634bd34818dec54a4a0d8784799f1bced9f0df6c51b1eeee7d22634413884696b354440c8a25db875 + checksum: a170eb9b2ce8577e58912d4087b9ace5fb160b7c809820e4567f7b08e7fcda2db63afef00eb3e7f850aaf506dbccf74df7d6c2818e239b3a562192f0d93cc7e8 languageName: node linkType: hard @@ -4211,35 +2206,35 @@ __metadata: languageName: node linkType: hard -"@firebase/messaging@npm:0.9.13": - version: 0.9.13 - resolution: "@firebase/messaging@npm:0.9.13" +"@firebase/messaging@npm:0.9.15": + version: 0.9.15 + resolution: "@firebase/messaging@npm:0.9.15" dependencies: - "@firebase/component": 0.5.14 - "@firebase/installations": 0.5.9 + "@firebase/component": 0.5.16 + "@firebase/installations": 0.5.11 "@firebase/messaging-interop-types": 0.1.0 - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 idb: 7.0.1 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 2db935a71ae211cb45b86d1033eeda9ece699cc99458695af1df24e0d822cfd1cdb9c4efac8916100910e2d24db2cfe3921d50b567b1a77ddc5cf641dde66865 + checksum: f77da8e20111921bb01bfa08f107898a72f9595f7beec84fea47af7353ef1e01e21eff87ad631e1354fe3ffd37e279afb4bd93945333200eb10266c3194e633a languageName: node linkType: hard -"@firebase/performance-compat@npm:0.1.9": - version: 0.1.9 - resolution: "@firebase/performance-compat@npm:0.1.9" +"@firebase/performance-compat@npm:0.1.11": + version: 0.1.11 + resolution: "@firebase/performance-compat@npm:0.1.11" dependencies: - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/performance": 0.5.9 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/performance": 0.5.11 "@firebase/performance-types": 0.1.0 - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: 447a136ebe8cf8ed486dd127d149670fd5482ce0e02effd54ad8bcab11ebfc28643be7ccf217b9db2dabee002bd3f80743238be2e1f9402190aceb2dfab6ebaf + checksum: 5f8673c705ccf1774f81723ed75b9bdf39231e5e9442c95c8644c5d37694a3a4f58d7145db78c47d32d6c184e07f3fb0fba880e83638cba02b800f1a7bed6cb8 languageName: node linkType: hard @@ -4250,18 +2245,18 @@ __metadata: languageName: node linkType: hard -"@firebase/performance@npm:0.5.9": - version: 0.5.9 - resolution: "@firebase/performance@npm:0.5.9" +"@firebase/performance@npm:0.5.11": + version: 0.5.11 + resolution: "@firebase/performance@npm:0.5.11" dependencies: - "@firebase/component": 0.5.14 - "@firebase/installations": 0.5.9 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/installations": 0.5.11 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 63d4d9b9f5647778c6a438f91cea6c353db57c34359fa650faa019ad285a6263a0e98e21444a0ec6389b00760780d4ba04a4dee4e08b7a30d00c13119bbe91a7 + checksum: d580a89120102747f7b4e1e8dff5e53d9800c6bf023d608afe21900860dc1091cfff09dde22778022c665d0a6bc0e247da4156aba008ea4d015378b19f6c3d51 languageName: node linkType: hard @@ -4276,19 +2271,19 @@ __metadata: languageName: node linkType: hard -"@firebase/remote-config-compat@npm:0.1.9": - version: 0.1.9 - resolution: "@firebase/remote-config-compat@npm:0.1.9" +"@firebase/remote-config-compat@npm:0.1.11": + version: 0.1.11 + resolution: "@firebase/remote-config-compat@npm:0.1.11" dependencies: - "@firebase/component": 0.5.14 - "@firebase/logger": 0.3.2 - "@firebase/remote-config": 0.3.8 + "@firebase/component": 0.5.16 + "@firebase/logger": 0.3.3 + "@firebase/remote-config": 0.3.10 "@firebase/remote-config-types": 0.2.0 - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: b04b2fec67b8343bfa542fa2996d2876f95cbb8fa116ad5a06b4a5338bf6e5e82b4862f2562e5785e4a2531ff7442566ac1f16b55bac6a237053468487bd2783 + checksum: 5d361b9641850f4541731836c1949237fd60073cae9423ed8d458d9fe17f8abfa3bd10e827c75f0e0245fcaa74dd3cff9cdda53fe63e9ec81fe1dbdfd20d629a languageName: node linkType: hard @@ -4299,33 +2294,33 @@ __metadata: languageName: node linkType: hard -"@firebase/remote-config@npm:0.3.8": - version: 0.3.8 - resolution: "@firebase/remote-config@npm:0.3.8" +"@firebase/remote-config@npm:0.3.10": + version: 0.3.10 + resolution: "@firebase/remote-config@npm:0.3.10" dependencies: - "@firebase/component": 0.5.14 - "@firebase/installations": 0.5.9 - "@firebase/logger": 0.3.2 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/installations": 0.5.11 + "@firebase/logger": 0.3.3 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 5366b3438ed3089d4ba6e253e749352395fe9ed0ff6e4b788a8ad21843941f79c7e1c428b3287d4c64d5350507b6c131ec753532ecc8db2cca2216adf053f2e7 + checksum: 9e575b4e84851f1111ac5c2aaaa468dd7995274274031e93c09fdbf5fc7ca8fa71e5d4f0618862a6c8fe69419f3fe83fbac40884afb7794a63f4ca88f6233f75 languageName: node linkType: hard -"@firebase/storage-compat@npm:0.1.14": - version: 0.1.14 - resolution: "@firebase/storage-compat@npm:0.1.14" +"@firebase/storage-compat@npm:0.1.16": + version: 0.1.16 + resolution: "@firebase/storage-compat@npm:0.1.16" dependencies: - "@firebase/component": 0.5.14 - "@firebase/storage": 0.9.6 + "@firebase/component": 0.5.16 + "@firebase/storage": 0.9.8 "@firebase/storage-types": 0.6.0 - "@firebase/util": 1.6.0 + "@firebase/util": 1.6.2 tslib: ^2.1.0 peerDependencies: "@firebase/app-compat": 0.x - checksum: ff0e8fdfbb3c00653958d38463098828f2ef700c27afd3f6a0740523aadfb48f2b5f1b8e3aee5e30f839b66ea356c198a17282ad61964a8f35d3e019add3015a + checksum: 012394e7a9e863cb1304fc8011b65a40c0a1d2a85627a1ea81a70386a766e326f6fb8934b16c48033d980e5be0a52a7e4795a8ab13e8cb0d111343a175645b14 languageName: node linkType: hard @@ -4339,100 +2334,98 @@ __metadata: languageName: node linkType: hard -"@firebase/storage@npm:0.9.6": - version: 0.9.6 - resolution: "@firebase/storage@npm:0.9.6" +"@firebase/storage@npm:0.9.8": + version: 0.9.8 + resolution: "@firebase/storage@npm:0.9.8" dependencies: - "@firebase/component": 0.5.14 - "@firebase/util": 1.6.0 + "@firebase/component": 0.5.16 + "@firebase/util": 1.6.2 node-fetch: 2.6.7 tslib: ^2.1.0 peerDependencies: "@firebase/app": 0.x - checksum: 45b2e67b973092e5c2b6124e38132b5ba0f3a6ac3c076e937d0757b848f5d49e5be6b508b3b3270065be9574b44cde84d48c6dc2131681487bb68ba78981e7df + checksum: 6aad596c04ad02142e8f332348674487bf454dabd30a85489f71c4a49a3573fee31e64b240086c053649a49ed16500bdd184e7914bdcbdc3ffadf9e872e91a03 languageName: node linkType: hard -"@firebase/util@npm:1.6.0": - version: 1.6.0 - resolution: "@firebase/util@npm:1.6.0" +"@firebase/util@npm:1.6.2": + version: 1.6.2 + resolution: "@firebase/util@npm:1.6.2" dependencies: tslib: ^2.1.0 - checksum: 9bdd4cc5b2964639bd5f519bbeba4ad101d86cde53f8fe16a285c8ffacd6266186b343674cef886d1949a5e1069b642380758886c81f53c5a9c0145ac4f38363 + checksum: 762360269070853c0a485aed5b353a5a5564df72bbccc34440edcf6fe55ae29779728b5486e9ba052e3f734c0654c7a24ed5577b881eccfeb7e5d558c7819b1e + languageName: node + linkType: hard + +"@firebase/webchannel-wrapper@npm:0.6.2": + version: 0.6.2 + resolution: "@firebase/webchannel-wrapper@npm:0.6.2" + checksum: e15e1d7d5fe668616c0f698cc4776af4ce858154fdabd1be7a34da60f368652a6a8c7a59c253be030600c1c515caaefc73ae941766ec61c6ee8d555971f7d619 languageName: node linkType: hard -"@firebase/webchannel-wrapper@npm:0.6.1": - version: 0.6.1 - resolution: "@firebase/webchannel-wrapper@npm:0.6.1" - checksum: 8c4547eee56588247734dcb6552951402ee38dbe88ea5e73a8d3689a8bff3fe1ed2565136fe6bd42f41a94ca8895a2b023fd682ede96fe7949370fa091468732 +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 languageName: node linkType: hard "@grpc/grpc-js@npm:^1.3.2": - version: 1.4.4 - resolution: "@grpc/grpc-js@npm:1.4.4" + version: 1.6.8 + resolution: "@grpc/grpc-js@npm:1.6.8" dependencies: - "@grpc/proto-loader": ^0.6.4 + "@grpc/proto-loader": ^0.7.0 "@types/node": ">=12.12.47" - checksum: f9be710ceff8e14865718dbead97c85f3457889ae01c4d94f1338bb19dfe19c92549046b3ea2f0df31360363c39322031dfff0189df5798e7b8452016afcce6e + checksum: 2dd2e2bdc3f0c50fa76f9466607c5b8832489b41ca0958446326e3ed4c693f2a120eedad06d451180ea50dbd3717d6d37282284fb6c1d5598e55ceaff454184f languageName: node linkType: hard -"@grpc/proto-loader@npm:^0.6.0, @grpc/proto-loader@npm:^0.6.4": - version: 0.6.6 - resolution: "@grpc/proto-loader@npm:0.6.6" +"@grpc/proto-loader@npm:^0.6.0": + version: 0.6.13 + resolution: "@grpc/proto-loader@npm:0.6.13" dependencies: "@types/long": ^4.0.1 lodash.camelcase: ^4.3.0 long: ^4.0.0 - protobufjs: ^6.10.0 - yargs: ^16.1.1 + protobufjs: ^6.11.3 + yargs: ^16.2.0 bin: proto-loader-gen-types: build/bin/proto-loader-gen-types.js - checksum: d147accc4d6bbdfd67ca681192cea286511aadc532930b77106bb458b094a8473031eb0de523e5fe2e0e87c4f5ee7c4c31248e01276b910040da169e0f6b3196 - languageName: node - linkType: hard - -"@hapi/address@npm:2.x.x": - version: 2.1.4 - resolution: "@hapi/address@npm:2.1.4" - checksum: 10341c3b650746c79ac2c57118efb05d45d850b33aef82a6f2ba89419fdbf1b6d337c8b085cc9bc1af7a5fb18379c07edaf3be7584426f40bd370ed6de29e965 - languageName: node - linkType: hard - -"@hapi/bourne@npm:1.x.x": - version: 1.3.2 - resolution: "@hapi/bourne@npm:1.3.2" - checksum: 8403a2e8297fbb49a0e4fca30e874590d96ecaf7165740804037ff30625f3fdea6353d9f7f4422607eb069a3f471900a3037df34285a95135d15c6a8b10094b0 + checksum: 863417e961cfa3acb579124f5c2bbfbeaee4d507c33470dc0af3b6792892c68706c6c61e26629f5ff3d28cb631dc4f0a00233323135e322406e3cb19a0b92823 languageName: node linkType: hard -"@hapi/hoek@npm:8.x.x, @hapi/hoek@npm:^8.3.0": - version: 8.5.1 - resolution: "@hapi/hoek@npm:8.5.1" - checksum: 8f8ce36be4f5e5d7a712072d4a028a4a95beec7a7da3a7a6e9a0c07d697f04c19b37d93751db352c314ea831f7e2120569a035dc6a351ed8c0444f1d3b275621 +"@grpc/proto-loader@npm:^0.7.0": + version: 0.7.0 + resolution: "@grpc/proto-loader@npm:0.7.0" + dependencies: + "@types/long": ^4.0.1 + lodash.camelcase: ^4.3.0 + long: ^4.0.0 + protobufjs: ^7.0.0 + yargs: ^16.2.0 + bin: + proto-loader-gen-types: build/bin/proto-loader-gen-types.js + checksum: 64fa85e9c15403b42d5be2a6e1aa75db58d3f32d3c12fc48001fc9435030f4952feae05bba2bc428b5092aa3d52edd8b1a629e000736776915582172c7053cd4 languageName: node linkType: hard -"@hapi/joi@npm:^15.1.0": - version: 15.1.1 - resolution: "@hapi/joi@npm:15.1.1" +"@humanwhocodes/config-array@npm:^0.9.2": + version: 0.9.5 + resolution: "@humanwhocodes/config-array@npm:0.9.5" dependencies: - "@hapi/address": 2.x.x - "@hapi/bourne": 1.x.x - "@hapi/hoek": 8.x.x - "@hapi/topo": 3.x.x - checksum: 5bc3df9d43d4a53c41fd172d2958a4a846dbacbe2a2abe16830059109c436776d7be98144f14af9d328ebd107dbebafe55e00a9032a905aef45aadff988b54bf + "@humanwhocodes/object-schema": ^1.2.1 + debug: ^4.1.1 + minimatch: ^3.0.4 + checksum: 8ba6281bc0590f6c6eadeefc14244b5a3e3f5903445aadd1a32099ed80e753037674026ce1b3c945ab93561bea5eb29e3c5bff67060e230c295595ba517a3492 languageName: node linkType: hard -"@hapi/topo@npm:3.x.x": - version: 3.1.6 - resolution: "@hapi/topo@npm:3.1.6" - dependencies: - "@hapi/hoek": ^8.3.0 - checksum: 34278bc13b4023d6d0d7c913605a254b2d728dc6489cd465269eebaa7d8d2d81cda3f2157398dca87d3cb9e1a8aa8a1158ce2564c71a8e289b807c144e3b4c1e +"@humanwhocodes/object-schema@npm:^1.2.1": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 languageName: node linkType: hard @@ -4463,198 +2456,253 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/console@npm:26.6.2" +"@jest/console@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/console@npm:27.5.1" + dependencies: + "@jest/types": ^27.5.1 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^27.5.1 + jest-util: ^27.5.1 + slash: ^3.0.0 + checksum: 7cb20f06a34b09734c0342685ec53aa4c401fe3757c13a9c58fce76b971a322eb884f6de1068ef96f746e5398e067371b89515a07c268d4440a867c87748a706 + languageName: node + linkType: hard + +"@jest/console@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/console@npm:28.1.3" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^28.1.3 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^26.6.2 - jest-util: ^26.6.2 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 slash: ^3.0.0 - checksum: 69a9ca6ba357d7634fd537e3b87c64369865ffb59f57fe6661223088bd62273d0c1d660fefce3625a427f42a37d32590f6b291e1295ea6d6b7cb31ddae36a737 + checksum: fe50d98d26d02ce2901c76dff4bd5429a33c13affb692c9ebf8a578ca2f38a5dd854363d40d6c394f215150791fd1f692afd8e730a4178dda24107c8dfd9750a languageName: node linkType: hard -"@jest/core@npm:^26.6.0, @jest/core@npm:^26.6.3": - version: 26.6.3 - resolution: "@jest/core@npm:26.6.3" +"@jest/core@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/core@npm:27.5.1" dependencies: - "@jest/console": ^26.6.2 - "@jest/reporters": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.5.1 + "@jest/reporters": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 + emittery: ^0.8.1 exit: ^0.1.2 - graceful-fs: ^4.2.4 - jest-changed-files: ^26.6.2 - jest-config: ^26.6.3 - jest-haste-map: ^26.6.2 - jest-message-util: ^26.6.2 - jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-resolve-dependencies: ^26.6.3 - jest-runner: ^26.6.3 - jest-runtime: ^26.6.3 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 - jest-watcher: ^26.6.2 - micromatch: ^4.0.2 - p-each-series: ^2.1.0 + graceful-fs: ^4.2.9 + jest-changed-files: ^27.5.1 + jest-config: ^27.5.1 + jest-haste-map: ^27.5.1 + jest-message-util: ^27.5.1 + jest-regex-util: ^27.5.1 + jest-resolve: ^27.5.1 + jest-resolve-dependencies: ^27.5.1 + jest-runner: ^27.5.1 + jest-runtime: ^27.5.1 + jest-snapshot: ^27.5.1 + jest-util: ^27.5.1 + jest-validate: ^27.5.1 + jest-watcher: ^27.5.1 + micromatch: ^4.0.4 rimraf: ^3.0.0 slash: ^3.0.0 strip-ansi: ^6.0.0 - checksum: f52b26ffe9b923ed67b3ff30e170b3a434d4263990f78d96cd43acbd0aa8ad36aecad2f1822f376da3a80228714fd6b7f7acd51744133cfcd2780ba0e3da537b + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 904a94ad8f1b43cd6b48de3b0226659bff3696150ff8cf7680fc2faffdc8a115203bb9ab6e817c1f79f9d6a81f67953053cbc64d8a4604f2e0c42a04c28cf126 languageName: node linkType: hard -"@jest/environment@npm:^26.6.0, @jest/environment@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/environment@npm:26.6.2" +"@jest/environment@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/environment@npm:27.5.1" dependencies: - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/fake-timers": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" - jest-mock: ^26.6.2 - checksum: 7748081b2a758161785aff161780b05084dccaff908c8ed82c04f7da5d5e5439e77b5eb667306d5c4e1422653c7a67ed2955f26704f48c65c404195e1e21780a + jest-mock: ^27.5.1 + checksum: 2a9e18c35a015508dbec5b90b21c150230fa6c1c8cb8fabe029d46ee2ca4c40eb832fb636157da14c66590d0a4c8a2c053226b041f54a44507d6f6a89abefd66 languageName: node linkType: hard -"@jest/fake-timers@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/fake-timers@npm:26.6.2" +"@jest/fake-timers@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/fake-timers@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 - "@sinonjs/fake-timers": ^6.0.1 + "@jest/types": ^27.5.1 + "@sinonjs/fake-timers": ^8.0.1 "@types/node": "*" - jest-message-util: ^26.6.2 - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - checksum: c732658fac4014a424e6629495296c3b2e8697787518df34c74539ec139625e7141ad792b8a4d3c8392b47954ad01be9846b7c57cc8c631490969e7cafa84e6a + jest-message-util: ^27.5.1 + jest-mock: ^27.5.1 + jest-util: ^27.5.1 + checksum: 02a0561ed2f4586093facd4ae500b74694f187ac24d4a00e949a39a1c5325bca8932b4fcb0388a2c5ed0656506fc1cf51fd3e32cdd48cea7497ad9c6e028aba8 languageName: node linkType: hard -"@jest/globals@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/globals@npm:26.6.2" +"@jest/globals@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/globals@npm:27.5.1" dependencies: - "@jest/environment": ^26.6.2 - "@jest/types": ^26.6.2 - expect: ^26.6.2 - checksum: 49b28d0cc7e99898eeaf23e6899e3c9ee25a2a4831caa3eb930ec1722de2e92a0e8a6a6f649438fdd20ff0c0d5e522dd78cb719466a57f011a88d60419b903c5 + "@jest/environment": ^27.5.1 + "@jest/types": ^27.5.1 + expect: ^27.5.1 + checksum: 087f97047e9dcf555f76fe2ce54aee681e005eaa837a0c0c2d251df6b6412c892c9df54cb871b180342114389a5ff895a4e52e6e6d3d0015bf83c02a54f64c3c languageName: node linkType: hard -"@jest/reporters@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/reporters@npm:26.6.2" +"@jest/reporters@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/reporters@npm:27.5.1" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 + "@types/node": "*" chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 exit: ^0.1.2 glob: ^7.1.2 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 istanbul-lib-coverage: ^3.0.0 - istanbul-lib-instrument: ^4.0.3 + istanbul-lib-instrument: ^5.1.0 istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 - istanbul-reports: ^3.0.2 - jest-haste-map: ^26.6.2 - jest-resolve: ^26.6.2 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 - node-notifier: ^8.0.0 + istanbul-reports: ^3.1.3 + jest-haste-map: ^27.5.1 + jest-resolve: ^27.5.1 + jest-util: ^27.5.1 + jest-worker: ^27.5.1 slash: ^3.0.0 source-map: ^0.6.0 string-length: ^4.0.1 terminal-link: ^2.0.0 - v8-to-istanbul: ^7.0.0 - dependenciesMeta: + v8-to-istanbul: ^8.1.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: node-notifier: optional: true - checksum: 53c7a697c562becb7682a9a6248ea553013bf7048c08ddce5bf9fb53b975fc9f799ca163f7494e0be6c4d3cf181c8bc392976268da52b7de8ce4470b971ed84e + checksum: faba5eafb86e62b62e152cafc8812d56308f9d1e8b77f3a7dcae4a8803a20a60a0909cc43ed73363ef649bf558e4fb181c7a336d144c89f7998279d1882bb69e languageName: node linkType: hard -"@jest/source-map@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/source-map@npm:26.6.2" +"@jest/schemas@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/schemas@npm:28.1.3" + dependencies: + "@sinclair/typebox": ^0.24.1 + checksum: 3cf1d4b66c9c4ffda58b246de1ddcba8e6ad085af63dccdf07922511f13b68c0cc480a7bc620cb4f3099a6f134801c747e1df7bfc7a4ef4dceefbdea3e31e1de + languageName: node + linkType: hard + +"@jest/source-map@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/source-map@npm:27.5.1" dependencies: callsites: ^3.0.0 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 source-map: ^0.6.0 - checksum: b171cef442738887dda85527ab78229996db5946c6435ddb56d442c2851889ba493729a9de73100f1a31b9a31a91207b55bc75656ae7df9843d65078b925385e + checksum: 4fb1e743b602841babf7e22bd84eca34676cb05d4eb3b604cae57fc59e406099f5ac759ac1a0d04d901237d143f0f4f234417306e823bde732a1d19982230862 languageName: node linkType: hard -"@jest/test-result@npm:^26.6.0, @jest/test-result@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/test-result@npm:26.6.2" +"@jest/test-result@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/test-result@npm:27.5.1" dependencies: - "@jest/console": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.5.1 + "@jest/types": ^27.5.1 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: dcb6175825231e9377e43546aed4edd6acc22f1788d5f099bbba36bb55b9115a92f760e88426c076bcdeff5a50d8f697327a920db0cd1fb339781fc3713fa8c7 + checksum: 338f7c509d6a3bc6d7dd7388c8f6f548b87638e171dc1fddfedcacb4e8950583288832223ba688058cbcf874b937d22bdc0fa88f79f5fc666f77957e465c06a5 languageName: node linkType: hard -"@jest/test-sequencer@npm:^26.6.3": - version: 26.6.3 - resolution: "@jest/test-sequencer@npm:26.6.3" +"@jest/test-result@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/test-result@npm:28.1.3" dependencies: - "@jest/test-result": ^26.6.2 - graceful-fs: ^4.2.4 - jest-haste-map: ^26.6.2 - jest-runner: ^26.6.3 - jest-runtime: ^26.6.3 - checksum: a3450b3d7057f74da1828bb7b3658f228a7c049dc4082c5c49b8bafbd8f69d102a8a99007b7ed5d43464712f7823f53fe3564fda17787f178c219cccf329a461 + "@jest/console": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 957a5dd2fd2e84aabe86698f93c0825e96128ccaa23abf548b159a9b08ac74e4bde7acf4bec48479243dbdb27e4ea1b68c171846d21fb64855c6b55cead9ef27 languageName: node linkType: hard -"@jest/transform@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/transform@npm:26.6.2" +"@jest/test-sequencer@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/test-sequencer@npm:27.5.1" + dependencies: + "@jest/test-result": ^27.5.1 + graceful-fs: ^4.2.9 + jest-haste-map: ^27.5.1 + jest-runtime: ^27.5.1 + checksum: f21f9c8bb746847f7f89accfd29d6046eec1446f0b54e4694444feaa4df379791f76ef0f5a4360aafcbc73b50bc979f68b8a7620de404019d3de166be6720cb0 + languageName: node + linkType: hard + +"@jest/transform@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/transform@npm:27.5.1" dependencies: "@babel/core": ^7.1.0 - "@jest/types": ^26.6.2 - babel-plugin-istanbul: ^6.0.0 + "@jest/types": ^27.5.1 + babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^1.4.0 fast-json-stable-stringify: ^2.0.0 - graceful-fs: ^4.2.4 - jest-haste-map: ^26.6.2 - jest-regex-util: ^26.0.0 - jest-util: ^26.6.2 - micromatch: ^4.0.2 - pirates: ^4.0.1 + graceful-fs: ^4.2.9 + jest-haste-map: ^27.5.1 + jest-regex-util: ^27.5.1 + jest-util: ^27.5.1 + micromatch: ^4.0.4 + pirates: ^4.0.4 slash: ^3.0.0 source-map: ^0.6.1 write-file-atomic: ^3.0.0 - checksum: 31667b925a2f3b310d854495da0ab67be8f5da24df76ecfc51162e75f1140aed5d18069ba190cb5e0c7e492b04272c8c79076ddf5bbcff530ee80a16a02c4545 + checksum: a22079121aedea0f20a03a9c026be971f7b92adbfb4d5fd1fb67be315741deac4f056936d7c72a53b24aa5a1071bc942c003925fd453bf3f6a0ae5da6384e137 languageName: node linkType: hard -"@jest/types@npm:^26.6.0, @jest/types@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/types@npm:26.6.2" +"@jest/types@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/types@npm:27.5.1" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + checksum: d1f43cc946d87543ddd79d49547aab2399481d34025d5c5f2025d3d99c573e1d9832fa83cef25e9d9b07a8583500229d15bbb07b8e233d127d911d133e2f14b1 + languageName: node + linkType: hard + +"@jest/types@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/types@npm:28.1.3" dependencies: + "@jest/schemas": ^28.1.3 "@types/istanbul-lib-coverage": ^2.0.0 "@types/istanbul-reports": ^3.0.0 "@types/node": "*" - "@types/yargs": ^15.0.0 + "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: a0bd3d2f22f26ddb23f41fddf6e6a30bf4fab2ce79ec1cb6ce6fdfaf90a72e00f4c71da91ec61e13db3b10c41de22cf49d07c57ff2b59171d64b29f909c1d8d6 + checksum: 1e258d9c063fcf59ebc91e46d5ea5984674ac7ae6cae3e50aa780d22b4405bf2c925f40350bf30013839eb5d4b5e521d956ddf8f3b7c78debef0e75a07f57350 languageName: node linkType: hard @@ -4668,55 +2716,62 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0": - version: 0.3.1 - resolution: "@jridgewell/gen-mapping@npm:0.3.1" +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/gen-mapping@npm:0.3.2" dependencies: - "@jridgewell/set-array": ^1.0.0 + "@jridgewell/set-array": ^1.0.1 "@jridgewell/sourcemap-codec": ^1.4.10 "@jridgewell/trace-mapping": ^0.3.9 - checksum: e9e7bb3335dea9e60872089761d4e8e089597360cdb1af90370e9d53b7d67232c1e0a3ab65fbfef4fc785745193fbc56bff9f3a6cab6c6ce3f15e12b4191f86b + checksum: 1832707a1c476afebe4d0fbbd4b9434fdb51a4c3e009ab1e9938648e21b7a97049fa6009393bdf05cab7504108413441df26d8a3c12193996e65493a4efb6882 languageName: node linkType: hard "@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.0.4 - resolution: "@jridgewell/resolve-uri@npm:3.0.4" - checksum: 799bcba2730280a42f11b4d41a5d34d68ce72cb1bd23186bd3356607c93b62765b2b050e5dfb67f04ce4e817f882bfc10a4d1c43fe2d8eeb38371c98d71217b4 + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.0": - version: 1.1.1 - resolution: "@jridgewell/set-array@npm:1.1.1" - checksum: cc5d91e0381c347e3edee4ca90b3c292df9e6e55f29acbe0dd97de8651b4730e9ab761406fd572effa79972a0edc55647b627f8c72315e276d959508853d9bf2 +"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/source-map@npm:0.3.2" + dependencies: + "@jridgewell/gen-mapping": ^0.3.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1b83f0eb944e77b70559a394d5d3b3f98a81fcc186946aceb3ef42d036762b52ef71493c6c0a3b7c1d2f08785f53ba2df1277fe629a06e6109588ff4cdcf7482 languageName: node linkType: hard "@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.10 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.10" - checksum: 247229218edbe165dcf0a5ae0c4b81bff1b5438818bb09221f756681fe158597fdf25c2a803f9260453b299c98c7e01ddebeb1555cda3157d987cd22c08605ef + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.0": - version: 0.3.4 - resolution: "@jridgewell/trace-mapping@npm:0.3.4" +"@jridgewell/trace-mapping@npm:^0.3.7, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.14 + resolution: "@jridgewell/trace-mapping@npm:0.3.14" dependencies: "@jridgewell/resolve-uri": ^3.0.3 "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: ab8bce84bbbc8c34f3ba8325ed926f8f2d3098983c10442a80c55764c4eb6e47d5b92d8ff20a0dd868c3e76a3535651fd8a0138182c290dbfc8396195685c37b + checksum: b9537b9630ffb631aef9651a085fe361881cde1772cd482c257fe3c78c8fd5388d681f504a9c9fe1081b1c05e8f75edf55ee10fdb58d92bbaa8dbf6a7bd6b18c languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.13 - resolution: "@jridgewell/trace-mapping@npm:0.3.13" - dependencies: - "@jridgewell/resolve-uri": ^3.0.3 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: e38254e830472248ca10a6ed1ae75af5e8514f0680245a5e7b53bc3c030fd8691d4d3115d80595b45d3badead68269769ed47ecbbdd67db1343a11f05700e75a +"@leichtgewicht/ip-codec@npm:^2.0.1": + version: 2.0.4 + resolution: "@leichtgewicht/ip-codec@npm:2.0.4" + checksum: 468de1f04d33de6d300892683d7c8aecbf96d1e2c5fe084f95f816e50a054d45b7c1ebfb141a1447d844b86a948733f6eebd92234da8581c84a1ad4de2946a2d languageName: node linkType: hard @@ -4736,15 +2791,57 @@ __metadata: languageName: node linkType: hard +"@lmdb/lmdb-darwin-arm64@npm:2.5.2": + version: 2.5.2 + resolution: "@lmdb/lmdb-darwin-arm64@npm:2.5.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@lmdb/lmdb-darwin-x64@npm:2.5.2": + version: 2.5.2 + resolution: "@lmdb/lmdb-darwin-x64@npm:2.5.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@lmdb/lmdb-linux-arm64@npm:2.5.2": + version: 2.5.2 + resolution: "@lmdb/lmdb-linux-arm64@npm:2.5.2" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@lmdb/lmdb-linux-arm@npm:2.5.2": + version: 2.5.2 + resolution: "@lmdb/lmdb-linux-arm@npm:2.5.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@lmdb/lmdb-linux-x64@npm:2.5.2": + version: 2.5.2 + resolution: "@lmdb/lmdb-linux-x64@npm:2.5.2" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@lmdb/lmdb-win32-x64@npm:2.5.2": + version: 2.5.2 + resolution: "@lmdb/lmdb-win32-x64@npm:2.5.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@mapbox/geojson-rewind@npm:^0.5.0": - version: 0.5.0 - resolution: "@mapbox/geojson-rewind@npm:0.5.0" + version: 0.5.2 + resolution: "@mapbox/geojson-rewind@npm:0.5.2" dependencies: - concat-stream: ~2.0.0 - minimist: ^1.2.5 + get-stream: ^6.0.1 + minimist: ^1.2.6 bin: geojson-rewind: geojson-rewind - checksum: 8ece53c074697c43d2e1959439532872c9dbd52a652992ff308d1b34d8113311b7d4e7faf24e61c6cbe25848e3a722166466e2e27ad8c5bf90396976be0ff684 + checksum: 721470ab5e8912d69aef06fa4db891bade8b028d6708a35a982b1dfec0f40eb4ba05a749258867f5844cf4e776e53866813bf9c97e3289054b21cbf7840d3608 languageName: node linkType: hard @@ -4949,16 +3046,58 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-alpha.84": - version: 5.0.0-alpha.84 - resolution: "@mui/base@npm:5.0.0-alpha.84" +"@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:2.0.2": + version: 2.0.2 + resolution: "@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:2.0.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-darwin-x64@npm:2.0.2": + version: 2.0.2 + resolution: "@msgpackr-extract/msgpackr-extract-darwin-x64@npm:2.0.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-arm64@npm:2.0.2": + version: 2.0.2 + resolution: "@msgpackr-extract/msgpackr-extract-linux-arm64@npm:2.0.2" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-arm@npm:2.0.2": + version: 2.0.2 + resolution: "@msgpackr-extract/msgpackr-extract-linux-arm@npm:2.0.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-x64@npm:2.0.2": + version: 2.0.2 + resolution: "@msgpackr-extract/msgpackr-extract-linux-x64@npm:2.0.2" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-win32-x64@npm:2.0.2": + version: 2.0.2 + resolution: "@msgpackr-extract/msgpackr-extract-win32-x64@npm:2.0.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@mui/base@npm:5.0.0-alpha.88": + version: 5.0.0-alpha.88 + resolution: "@mui/base@npm:5.0.0-alpha.88" dependencies: "@babel/runtime": ^7.17.2 - "@emotion/is-prop-valid": ^1.1.2 - "@mui/types": ^7.1.3 - "@mui/utils": ^5.8.0 + "@emotion/is-prop-valid": ^1.1.3 + "@mui/types": ^7.1.4 + "@mui/utils": ^5.8.6 "@popperjs/core": ^2.11.5 - clsx: ^1.1.1 + clsx: ^1.2.0 prop-types: ^15.8.1 react-is: ^17.0.2 peerDependencies: @@ -4968,13 +3107,13 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 1c632d52094883bd83f8f35fe1aed67d1981dbe3dde6e353215ee0b1dd5443f21b84330b201bd6e9216891dce441f2b0f86edb07dd0e47ad1dc37ce05d226d06 + checksum: 4e7278310450c370e6c0d573100c3143fa5096dd8582d4ccadaeccd2cf98735df31a8c0900885fef039d296752e459ab3be8cbaccf79cf82da6b244cd5562b45 languageName: node linkType: hard "@mui/icons-material@npm:~5.8.3": - version: 5.8.3 - resolution: "@mui/icons-material@npm:5.8.3" + version: 5.8.4 + resolution: "@mui/icons-material@npm:5.8.4" dependencies: "@babel/runtime": ^7.17.2 peerDependencies: @@ -4984,23 +3123,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 6c09ab20194904ed755cb595382df8b74ffbf914feaad89d603fd624148944be5e728286eb7b05534c9fc104bf0f765f4d50548e370ee5b3b0f64bfaaec0969a + checksum: 1df0ffb08670628968b803c7048fc645df5e2870860759626d80a355fdef62498e60e4ebed2d47ca8b3600e6ecb6db1829bec5acf3a766ff41e518007c7e2f5b languageName: node linkType: hard "@mui/material@npm:~5.8.3": - version: 5.8.3 - resolution: "@mui/material@npm:5.8.3" + version: 5.8.7 + resolution: "@mui/material@npm:5.8.7" dependencies: "@babel/runtime": ^7.17.2 - "@mui/base": 5.0.0-alpha.84 - "@mui/system": ^5.8.3 - "@mui/types": ^7.1.3 - "@mui/utils": ^5.8.0 - "@types/react-transition-group": ^4.4.4 - clsx: ^1.1.1 + "@mui/base": 5.0.0-alpha.88 + "@mui/system": ^5.8.7 + "@mui/types": ^7.1.4 + "@mui/utils": ^5.8.6 + "@types/react-transition-group": ^4.4.5 + clsx: ^1.2.0 csstype: ^3.1.0 - hoist-non-react-statics: ^3.3.2 prop-types: ^15.8.1 react-is: ^17.0.2 react-transition-group: ^4.4.2 @@ -5017,16 +3155,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 5a731721787583710eb24687db37ca7e0f32243478ee96b823fb6db20a1caadf03772c1906ed7b352866cd11b243b3dd587a07f524b51512606e5d4dd81b7eba + checksum: 3dffeda204432ba6f2316d020f71a57002b72cf65bcdf4c1b88058f6fe185bf97a917f5919fae0a9fd496e9c71c0a6ca2da473951990bff79fa8153ea8125169 languageName: node linkType: hard -"@mui/private-theming@npm:^5.8.0": - version: 5.8.0 - resolution: "@mui/private-theming@npm:5.8.0" +"@mui/private-theming@npm:^5.8.6, @mui/private-theming@npm:^5.9.1": + version: 5.9.1 + resolution: "@mui/private-theming@npm:5.9.1" dependencies: "@babel/runtime": ^7.17.2 - "@mui/utils": ^5.8.0 + "@mui/utils": ^5.9.1 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -5034,16 +3172,17 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 6107b579409913a5e0d6d79fbe074ae4ad55e57f7a485da4542a5772be86b835994311609e84e4e881ea187c5b8892e432bcce9ac98d4e69dd7ace55da675f8a + checksum: 98684e5992dcd915f1f518d07dc61e8d4b4b442be3838e87c246da38959e613e2dbf07c4316f21600738aa2b4cc97a1cca591b2680a2c601ef2972161810af28 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.8.0": - version: 5.8.0 - resolution: "@mui/styled-engine@npm:5.8.0" +"@mui/styled-engine@npm:^5.8.7": + version: 5.8.7 + resolution: "@mui/styled-engine@npm:5.8.7" dependencies: "@babel/runtime": ^7.17.2 - "@emotion/cache": ^11.7.1 + "@emotion/cache": ^11.9.3 + csstype: ^3.1.0 prop-types: ^15.8.1 peerDependencies: "@emotion/react": ^11.4.1 @@ -5054,20 +3193,20 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: f1140151cb06b72af774e6c14f537879bee0e699fff05cac5f9b1e4483d5202e161dc6d8e23ff7e31e3f660867056689b2225ab1d7ad69f45dc489d9ed058a92 + checksum: b350758d8a117b37eb109c9d81e2aa0f2ca38269ca7e22744ea7f85aa6dda1139792b9ec1223a5ee2fa54f4897a093a63b8bb3db190824a5887678babe7bc898 languageName: node linkType: hard "@mui/styles@npm:~5.8.3": - version: 5.8.3 - resolution: "@mui/styles@npm:5.8.3" + version: 5.8.7 + resolution: "@mui/styles@npm:5.8.7" dependencies: "@babel/runtime": ^7.17.2 "@emotion/hash": ^0.8.0 - "@mui/private-theming": ^5.8.0 - "@mui/types": ^7.1.3 - "@mui/utils": ^5.8.0 - clsx: ^1.1.1 + "@mui/private-theming": ^5.8.6 + "@mui/types": ^7.1.4 + "@mui/utils": ^5.8.6 + clsx: ^1.2.0 csstype: ^3.1.0 hoist-non-react-statics: ^3.3.2 jss: ^10.8.2 @@ -5085,20 +3224,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 8f333a020bc81513e7e687ccd301b029d3506dd1b99fc4f91745863a6803bb1a61d95a8927707b9c5c119190c39b008756940bedcbb948af16599259a6c986a4 + checksum: b958391d39c6de5865bd833e526ea0b9739e04d5e800c8894ac0e0fbf9303e7864f8d00134372fc26da6577dcc899bc5b229de243060e9477b1748322bdf91d0 languageName: node linkType: hard -"@mui/system@npm:^5.8.3": - version: 5.8.3 - resolution: "@mui/system@npm:5.8.3" +"@mui/system@npm:^5.8.7": + version: 5.9.2 + resolution: "@mui/system@npm:5.9.2" dependencies: "@babel/runtime": ^7.17.2 - "@mui/private-theming": ^5.8.0 - "@mui/styled-engine": ^5.8.0 - "@mui/types": ^7.1.3 - "@mui/utils": ^5.8.0 - clsx: ^1.1.1 + "@mui/private-theming": ^5.9.1 + "@mui/styled-engine": ^5.8.7 + "@mui/types": ^7.1.5 + "@mui/utils": ^5.9.1 + clsx: ^1.2.1 csstype: ^3.1.0 prop-types: ^15.8.1 peerDependencies: @@ -5113,34 +3252,34 @@ __metadata: optional: true "@types/react": optional: true - checksum: e295eafd84e7a2b845c703d3f754ffd170eb061b2cd13af45bbc16cccfc7f11ddf1ff158b1c2e2615843e969ca4f10d2fe815992c2d36587064fbb7f03be59bd + checksum: 9d0ebb98bf0023ba38a18331d73d2b518d6f0b85decbe94afbd508435db2ab86c2fc5b4df61261465078e6a0ac3dcbb975c2af8c998886b9201e27fa76ef2d1c languageName: node linkType: hard -"@mui/types@npm:^7.1.3": - version: 7.1.3 - resolution: "@mui/types@npm:7.1.3" +"@mui/types@npm:^7.1.4, @mui/types@npm:^7.1.5": + version: 7.1.5 + resolution: "@mui/types@npm:7.1.5" peerDependencies: "@types/react": "*" peerDependenciesMeta: "@types/react": optional: true - checksum: 4990f505f1058bdd4c01ea21a6a6f788e5d3ff73b50962879d33bbf9c98ef1f18d8b6664025ce1dbd42544a79d7697d0011834f8fd83d12c9705f2c702829bb4 + checksum: ce866083bfaef7c2231077b7d5db3db20e2a9b17758e4337aeac12bbae2063ea15b95f8384661dd4f260c51e6dfb098a0f768bf26daaad91e7e1233f794191f0 languageName: node linkType: hard -"@mui/utils@npm:^5.8.0": - version: 5.8.0 - resolution: "@mui/utils@npm:5.8.0" +"@mui/utils@npm:^5.8.6, @mui/utils@npm:^5.9.1": + version: 5.9.1 + resolution: "@mui/utils@npm:5.9.1" dependencies: "@babel/runtime": ^7.17.2 "@types/prop-types": ^15.7.5 "@types/react-is": ^16.7.1 || ^17.0.0 prop-types: ^15.8.1 - react-is: ^17.0.2 + react-is: ^18.2.0 peerDependencies: react: ^17.0.0 || ^18.0.0 - checksum: 488b4e709e3f86e7a627f2e61b4c8b3d6fcb606922666b829f5a24c77383ee5776446a30e7b5c10007d03e4e764c3190d608485113d5108e54f79308bddafefc + checksum: efd604249ab19a3203df0677ab6f2781de747dcd7d09097a32c20bee08a9b70a8f97834dc6e1e1cf49178b1cfd2a83c5ae030d0c2ec33d200d5ea2b509069bbb languageName: node linkType: hard @@ -5358,20 +3497,20 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.4": - version: 2.1.4 - resolution: "@nodelib/fs.scandir@npm:2.1.4" +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" dependencies: - "@nodelib/fs.stat": 2.0.4 + "@nodelib/fs.stat": 2.0.5 run-parallel: ^1.1.9 - checksum: 18c2150ab52a042bd65babe5b70106e6586dc036644131c33d253ff99e5eeef2e65858ab40161530a6f22b512a65e7c7629f0f1e0f35c00ee4c606f960d375ba + checksum: a970d595bd23c66c880e0ef1817791432dbb7acbb8d44b7e7d0e7a22f4521260d4a83f7f9fd61d44fda4610105577f8f58a60718105fb38352baed612fd79e59 languageName: node linkType: hard -"@nodelib/fs.stat@npm:2.0.4, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.4 - resolution: "@nodelib/fs.stat@npm:2.0.4" - checksum: d0d9745f878816d041a8b36faf5797d88ba961274178f0ad1f7fe0efef8118ca9bd0e43e4d0d85a9af911bd35122ec1580e626a83d7595fc4d60f2c1c70e2665 +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 languageName: node linkType: hard @@ -5383,128 +3522,138 @@ __metadata: linkType: hard "@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.6 - resolution: "@nodelib/fs.walk@npm:1.2.6" + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: - "@nodelib/fs.scandir": 2.1.4 + "@nodelib/fs.scandir": 2.1.5 fastq: ^1.6.0 - checksum: d156901823b3d3de368ad68047a964523e0ce5f796c0aa7712443b1f748d8e7fc24ce2c0f18d22a177e1f1c6092bca609ab5e4cb1792c41cdc8a6989bc391139 + checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 languageName: node linkType: hard -"@npmcli/move-file@npm:^1.0.1": - version: 1.1.2 - resolution: "@npmcli/move-file@npm:1.1.2" +"@npmcli/fs@npm:^2.1.0": + version: 2.1.1 + resolution: "@npmcli/fs@npm:2.1.1" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 4944a0545d38d3e6e29780eeb3cd4be6059c1e9627509d2c9ced635c53b852d28b37cdc615a2adf815b51ab8673adb6507e370401a20a7e90c8a6dc4fac02389 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/move-file@npm:2.0.0" dependencies: mkdirp: ^1.0.4 rimraf: ^3.0.2 - checksum: c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 languageName: node linkType: hard -"@parcel/bundler-default@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/bundler-default@npm:2.6.0" +"@parcel/bundler-default@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/bundler-default@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/hash": 2.6.0 - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/hash": 2.6.2 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 - checksum: 9e856e28bacd51627ad751f821c704bc568b5d4e185bc46f54465cdd2f72d8b8fc590a0f915eb26dacd94f087c57e2f9c077e90781eee61050f3e23ea24c95c2 + checksum: f99c2b673beee732a88867354397ca9414f7528febfc03a6083c79e279f35dd385b8c606508a2a15954f3623ca72eb6f8873e6851039ee3218e6d241c1fb8860 languageName: node linkType: hard -"@parcel/cache@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/cache@npm:2.6.0" +"@parcel/cache@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/cache@npm:2.6.2" dependencies: - "@parcel/fs": 2.6.0 - "@parcel/logger": 2.6.0 - "@parcel/utils": 2.6.0 - lmdb: 2.3.10 + "@parcel/fs": 2.6.2 + "@parcel/logger": 2.6.2 + "@parcel/utils": 2.6.2 + lmdb: 2.5.2 peerDependencies: - "@parcel/core": ^2.6.0 - checksum: fe5a73d1f20cca1915bfd6622845375741bc76d60fc28755561a2198d52f5e49f9af28fc7a66a2ae610cb6931c3b0bae55b5b38ff335d6bf9812fd19f9fa2ad5 + "@parcel/core": ^2.6.2 + checksum: e7b540fe104390399b5f51a3b48c048d38b02b304abbf9180d6398aba8adbd765d2e7acd4708c38a04b7a25b953f2c54e5126a451b1aa2b57c6f5b82f499a1a7 languageName: node linkType: hard -"@parcel/codeframe@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/codeframe@npm:2.6.0" +"@parcel/codeframe@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/codeframe@npm:2.6.2" dependencies: chalk: ^4.1.0 - checksum: 095843a973247c91ed3ec47292e7f7d266f8f1d7e7e22c656e523576ad62c0f15fec37c246c06d15795434ec430ea91e1dc742a32d4e0b2022a6f9385cb2fee5 + checksum: 3253f42b907edefecbc14d6a3f3924eeda1c828c32d9eb4b05d771c68ff124d6a7065aa950dd990beda73fa6b1c18f2b25329a013e8b52742a371cbcf620054f languageName: node linkType: hard -"@parcel/compressor-raw@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/compressor-raw@npm:2.6.0" +"@parcel/compressor-raw@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/compressor-raw@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - checksum: fb000666c2bed71385f0792493275035c30d92e434613af5d31589d617a51852e9aa085405eeaaaac6fcee50c10266d52897f2d8711e5654180badce9bb2d619 + "@parcel/plugin": 2.6.2 + checksum: fb147eb18952f68b6d2a63fe36a0810f503d326aa524bf46c1864091ef8abe05c3990d3228275e19597054296d5abea850d224d5355ced0def73cec381c02398 languageName: node linkType: hard -"@parcel/config-default@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/config-default@npm:2.6.0" - dependencies: - "@parcel/bundler-default": 2.6.0 - "@parcel/compressor-raw": 2.6.0 - "@parcel/namer-default": 2.6.0 - "@parcel/optimizer-css": 2.6.0 - "@parcel/optimizer-htmlnano": 2.6.0 - "@parcel/optimizer-image": 2.6.0 - "@parcel/optimizer-svgo": 2.6.0 - "@parcel/optimizer-terser": 2.6.0 - "@parcel/packager-css": 2.6.0 - "@parcel/packager-html": 2.6.0 - "@parcel/packager-js": 2.6.0 - "@parcel/packager-raw": 2.6.0 - "@parcel/packager-svg": 2.6.0 - "@parcel/reporter-dev-server": 2.6.0 - "@parcel/resolver-default": 2.6.0 - "@parcel/runtime-browser-hmr": 2.6.0 - "@parcel/runtime-js": 2.6.0 - "@parcel/runtime-react-refresh": 2.6.0 - "@parcel/runtime-service-worker": 2.6.0 - "@parcel/transformer-babel": 2.6.0 - "@parcel/transformer-css": 2.6.0 - "@parcel/transformer-html": 2.6.0 - "@parcel/transformer-image": 2.6.0 - "@parcel/transformer-js": 2.6.0 - "@parcel/transformer-json": 2.6.0 - "@parcel/transformer-postcss": 2.6.0 - "@parcel/transformer-posthtml": 2.6.0 - "@parcel/transformer-raw": 2.6.0 - "@parcel/transformer-react-refresh-wrap": 2.6.0 - "@parcel/transformer-svg": 2.6.0 - peerDependencies: - "@parcel/core": ^2.6.0 - checksum: bd05f6e97ec547e2a3ccbfa7ad63f815fab5daa32e927ac4fd67a7ca2b4098712dbad996069663bb128172bfa306ae8bac2b337a0ca91d93e8d7eb1f761e68c0 - languageName: node - linkType: hard - -"@parcel/core@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/core@npm:2.6.0" +"@parcel/config-default@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/config-default@npm:2.6.2" + dependencies: + "@parcel/bundler-default": 2.6.2 + "@parcel/compressor-raw": 2.6.2 + "@parcel/namer-default": 2.6.2 + "@parcel/optimizer-css": 2.6.2 + "@parcel/optimizer-htmlnano": 2.6.2 + "@parcel/optimizer-image": 2.6.2 + "@parcel/optimizer-svgo": 2.6.2 + "@parcel/optimizer-terser": 2.6.2 + "@parcel/packager-css": 2.6.2 + "@parcel/packager-html": 2.6.2 + "@parcel/packager-js": 2.6.2 + "@parcel/packager-raw": 2.6.2 + "@parcel/packager-svg": 2.6.2 + "@parcel/reporter-dev-server": 2.6.2 + "@parcel/resolver-default": 2.6.2 + "@parcel/runtime-browser-hmr": 2.6.2 + "@parcel/runtime-js": 2.6.2 + "@parcel/runtime-react-refresh": 2.6.2 + "@parcel/runtime-service-worker": 2.6.2 + "@parcel/transformer-babel": 2.6.2 + "@parcel/transformer-css": 2.6.2 + "@parcel/transformer-html": 2.6.2 + "@parcel/transformer-image": 2.6.2 + "@parcel/transformer-js": 2.6.2 + "@parcel/transformer-json": 2.6.2 + "@parcel/transformer-postcss": 2.6.2 + "@parcel/transformer-posthtml": 2.6.2 + "@parcel/transformer-raw": 2.6.2 + "@parcel/transformer-react-refresh-wrap": 2.6.2 + "@parcel/transformer-svg": 2.6.2 + peerDependencies: + "@parcel/core": ^2.6.2 + checksum: 08cf9d08bb0a19900cbe3512970b9be0aaf074af3d266a3bbb47808201e36bcaeb1b7c8764620810bb66a4c98924d4000bb365d3f384764aec18b326409fd86f + languageName: node + linkType: hard + +"@parcel/core@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/core@npm:2.6.2" dependencies: "@mischnic/json-sourcemap": ^0.1.0 - "@parcel/cache": 2.6.0 - "@parcel/diagnostic": 2.6.0 - "@parcel/events": 2.6.0 - "@parcel/fs": 2.6.0 - "@parcel/graph": 2.6.0 - "@parcel/hash": 2.6.0 - "@parcel/logger": 2.6.0 - "@parcel/package-manager": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/cache": 2.6.2 + "@parcel/diagnostic": 2.6.2 + "@parcel/events": 2.6.2 + "@parcel/fs": 2.6.2 + "@parcel/graph": 2.6.2 + "@parcel/hash": 2.6.2 + "@parcel/logger": 2.6.2 + "@parcel/package-manager": 2.6.2 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/types": 2.6.0 - "@parcel/utils": 2.6.0 - "@parcel/workers": 2.6.0 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 + "@parcel/workers": 2.6.2 abortcontroller-polyfill: ^1.1.9 base-x: ^3.0.8 browserslist: ^4.6.6 @@ -5515,78 +3664,78 @@ __metadata: msgpackr: ^1.5.4 nullthrows: ^1.1.1 semver: ^5.7.1 - checksum: fae65c153bbd96f55b1bf5b1b410f8af15418b4ad899b44487250c30ad979768b162ec87e0199d787bee53fd35fb14c5b6c77974ef19c36ba78f3e9adf093f4c + checksum: f550cbbd5ee9db5c9c9dda79ad6b4c307d8d16ca52d6abc42d1df846ad6f5a9dedf0aa1dcb6550a66611b8e89a52bc4036039ef4bc62e007c6faab63541d4c69 languageName: node linkType: hard -"@parcel/css-darwin-arm64@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-darwin-arm64@npm:1.9.0" +"@parcel/css-darwin-arm64@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-darwin-arm64@npm:1.12.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@parcel/css-darwin-x64@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-darwin-x64@npm:1.9.0" +"@parcel/css-darwin-x64@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-darwin-x64@npm:1.12.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@parcel/css-linux-arm-gnueabihf@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-linux-arm-gnueabihf@npm:1.9.0" +"@parcel/css-linux-arm-gnueabihf@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-linux-arm-gnueabihf@npm:1.12.0" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@parcel/css-linux-arm64-gnu@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-linux-arm64-gnu@npm:1.9.0" +"@parcel/css-linux-arm64-gnu@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-linux-arm64-gnu@npm:1.12.0" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@parcel/css-linux-arm64-musl@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-linux-arm64-musl@npm:1.9.0" +"@parcel/css-linux-arm64-musl@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-linux-arm64-musl@npm:1.12.0" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@parcel/css-linux-x64-gnu@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-linux-x64-gnu@npm:1.9.0" +"@parcel/css-linux-x64-gnu@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-linux-x64-gnu@npm:1.12.0" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@parcel/css-linux-x64-musl@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-linux-x64-musl@npm:1.9.0" +"@parcel/css-linux-x64-musl@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-linux-x64-musl@npm:1.12.0" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@parcel/css-win32-x64-msvc@npm:1.9.0": - version: 1.9.0 - resolution: "@parcel/css-win32-x64-msvc@npm:1.9.0" +"@parcel/css-win32-x64-msvc@npm:1.12.0": + version: 1.12.0 + resolution: "@parcel/css-win32-x64-msvc@npm:1.12.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@parcel/css@npm:^1.9.0": - version: 1.9.0 - resolution: "@parcel/css@npm:1.9.0" - dependencies: - "@parcel/css-darwin-arm64": 1.9.0 - "@parcel/css-darwin-x64": 1.9.0 - "@parcel/css-linux-arm-gnueabihf": 1.9.0 - "@parcel/css-linux-arm64-gnu": 1.9.0 - "@parcel/css-linux-arm64-musl": 1.9.0 - "@parcel/css-linux-x64-gnu": 1.9.0 - "@parcel/css-linux-x64-musl": 1.9.0 - "@parcel/css-win32-x64-msvc": 1.9.0 +"@parcel/css@npm:^1.10.1": + version: 1.12.0 + resolution: "@parcel/css@npm:1.12.0" + dependencies: + "@parcel/css-darwin-arm64": 1.12.0 + "@parcel/css-darwin-x64": 1.12.0 + "@parcel/css-linux-arm-gnueabihf": 1.12.0 + "@parcel/css-linux-arm64-gnu": 1.12.0 + "@parcel/css-linux-arm64-musl": 1.12.0 + "@parcel/css-linux-x64-gnu": 1.12.0 + "@parcel/css-linux-x64-musl": 1.12.0 + "@parcel/css-win32-x64-msvc": 1.12.0 detect-libc: ^1.0.3 dependenciesMeta: "@parcel/css-darwin-arm64": @@ -5605,48 +3754,48 @@ __metadata: optional: true "@parcel/css-win32-x64-msvc": optional: true - checksum: a565e8755d112bc4613e5f8076c30ae8056d8c4910ce3191d79a1a712fb4438ad29363e2080368f290ec239882dfe9d8c599454f1418fc93d01a8c659c0ffcfa + checksum: 4623116c1afd0d616044a922be52685ee96c72b0539714c1a46c80b7ef32df6b5cda138020b2186975d27bc721495471f0839ebc364bc0240a7144bb75abaf17 languageName: node linkType: hard -"@parcel/diagnostic@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/diagnostic@npm:2.6.0" +"@parcel/diagnostic@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/diagnostic@npm:2.6.2" dependencies: "@mischnic/json-sourcemap": ^0.1.0 nullthrows: ^1.1.1 - checksum: 89c9db939946f817e1dd0044ae397789b6eae00ebaea5f21c3832a7ad61240dd11177ff3bbe3954cc72c6ea4ed3af92acb93931e522abd15331ba37e901a0693 + checksum: c20c7b12c4a9e840d612fcc0d891675a8fd0a79558698b1f96009cc3631a3222faf7484ebf36f728d255e91d9868ae67638766f7231e016ba078e7cf1899f6b3 languageName: node linkType: hard -"@parcel/events@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/events@npm:2.6.0" - checksum: d3ae4a8abb3e009bb3d7228685b06d0fc14bb2cb3d7d7b10a2d31332c211aa5baa2bab4b09c2224b235adefa2c7d27a243521145b6de9a68314a5f668a330bd0 +"@parcel/events@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/events@npm:2.6.2" + checksum: 272898db0c5de72bd59d7f43acce188a9c6574abc7235f6b47bf0376a73b49ea634f1fab5c3cdcf846a16e541f40ced16275325f80cc04332543d25d297973d1 languageName: node linkType: hard -"@parcel/fs-search@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/fs-search@npm:2.6.0" +"@parcel/fs-search@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/fs-search@npm:2.6.2" dependencies: detect-libc: ^1.0.3 - checksum: f2ab475a518c1896b71170cc2f7004dbb2aeffb6a082b8acc1b44403444fa09d0fe2a919dd2bb209173da506cdecfaae18520916214d3210a82b2f75e54d670c + checksum: 99850b1fd81009bbfb150421cfe9a7fc5936b617eb682a154227e563f53dc60baeb131c3825dda2d8bc240fcc3e96889f96b2a85ef7063c1d4925f4c0f9f7842 languageName: node linkType: hard -"@parcel/fs@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/fs@npm:2.6.0" +"@parcel/fs@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/fs@npm:2.6.2" dependencies: - "@parcel/fs-search": 2.6.0 - "@parcel/types": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/fs-search": 2.6.2 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 "@parcel/watcher": ^2.0.0 - "@parcel/workers": 2.6.0 + "@parcel/workers": 2.6.2 peerDependencies: - "@parcel/core": ^2.6.0 - checksum: e190f6fee093394fcec996ab9a6a7a7426c9a39c3df59f4c561b9060ccd50fd6539099b22dd09aa986742e6f0cb05157d3472d6eb2b4971d3dbe62e360547dcc + "@parcel/core": ^2.6.2 + checksum: b5e324d93b5149fb75ba3b931cf45ed1e56266b1585d6ecd14d969cebb673ebd4c3a8d9762bf387185066b838a1a9e1d5a7411fc174a55e3801eae8b1201f68e languageName: node linkType: hard @@ -5661,33 +3810,33 @@ __metadata: languageName: node linkType: hard -"@parcel/graph@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/graph@npm:2.6.0" +"@parcel/graph@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/graph@npm:2.6.2" dependencies: - "@parcel/utils": 2.6.0 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 - checksum: f6d0a229b694e16dbc7a4d78e0762d4ec11238abcf4d3a2df1736434ec0e86ad84ed6ea9d8b43235ed5c28b75ee09e5fcc670cc7f7bc9b3428420e7ce33b5548 + checksum: 74490009e804b14bcf795fe4a1518ae8dd21f04ac4a26fde43cfad69cf6874fe9a1ab7e7b4305d6ceb15b11600e8156504a8ee3279134b22133ffbb4cdab3398 languageName: node linkType: hard -"@parcel/hash@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/hash@npm:2.6.0" +"@parcel/hash@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/hash@npm:2.6.2" dependencies: detect-libc: ^1.0.3 xxhash-wasm: ^0.4.2 - checksum: 8a82b3123666f0d62fa77fc4a7a17ef36934b27d3d578463e29f94dd01e86e02eae26e1d660b54b139ceaa49462d2c14f631dfdc2d8fed8d9b889f0d1b4c0f88 + checksum: 212f34e4397bdc48824892eb556755eeb2e3210dfd217cc14740ff94a3adaed89f4a18591916668aad7a0bf906a06b523ad6326fd970753a57b019453d26fb63 languageName: node linkType: hard -"@parcel/logger@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/logger@npm:2.6.0" +"@parcel/logger@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/logger@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/events": 2.6.0 - checksum: 8336f73b3b4cfa4e77143cae2eeed2059681c2d65ee2555b508b64c1459ad897c4df06af7f619e1785a02bfd0f9cea8262188bcb3b29307c2ef9ab1fbbaf723b + "@parcel/diagnostic": 2.6.2 + "@parcel/events": 2.6.2 + checksum: d3536408dac9a28476821f6ba536f8f2b4efba635581d603fdadc78ec062084bdbeec17ab8d38c11c0b368092f63a1db1b757c986ede702654ab69d94b4b815c languageName: node linkType: hard @@ -5704,462 +3853,463 @@ __metadata: languageName: node linkType: hard -"@parcel/markdown-ansi@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/markdown-ansi@npm:2.6.0" +"@parcel/markdown-ansi@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/markdown-ansi@npm:2.6.2" dependencies: chalk: ^4.1.0 - checksum: 9870ad824a71eeb96c3a5b7bd8a3e4b793c02f00695cb2234092df8b2fde6f5a65e5d48f370fb79d1f7ce269e31ad777b0b58c607a7ff40f718bfab57796764e + checksum: 742c64c5db484565de8ab549daf76f3b24156720e1914fc26c3b9d2e0b933213d0a37c421e54053387a5011e2060ef430b7b932265eb1922e4b23b151b06a449 languageName: node linkType: hard -"@parcel/namer-default@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/namer-default@npm:2.6.0" +"@parcel/namer-default@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/namer-default@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 nullthrows: ^1.1.1 - checksum: db138cbc8087b9f3ce453586d0508340e0721c3c0de2854dae23ac8c43d3601556840b5d9b980654a566b7adb2b1de40c80f130cda88ed1ac772a8f884fc7245 + checksum: 259053a59f24b46cf2618d548c4e10806f029e95cf61c4cafff90adb88cbbc2075d96412753df9278759448b09666e7abf3ec9ac8fbefb353a2463f3f6b2c4a0 languageName: node linkType: hard -"@parcel/node-resolver-core@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/node-resolver-core@npm:2.6.0" +"@parcel/node-resolver-core@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/node-resolver-core@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 - checksum: ba3560170b88f16e43593aefcbc62dde0c56e68a8236d435bebd2a94085402f88a90d25c8829e674f53f355a6389a2c15c7a0ad33a688b2947d977d3d98a4ca6 + semver: ^5.7.1 + checksum: 7746b309fa87eeeba08e61e1a192b84feecd792a5f5b484edbda2da11a1e665ef27093e0b6d821f11dc74dd62a50601ae89de9b62efa7dd3d182a52faebaed8c languageName: node linkType: hard -"@parcel/optimizer-css@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/optimizer-css@npm:2.6.0" +"@parcel/optimizer-css@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/optimizer-css@npm:2.6.2" dependencies: - "@parcel/css": ^1.9.0 - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/css": ^1.10.1 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.6.0 + "@parcel/utils": 2.6.2 browserslist: ^4.6.6 nullthrows: ^1.1.1 - checksum: 5e8b2ae9decaf3ce76bf5c578388a0b19b905cc699ce25c588518af351c33af6bed016c82816559ab4d27199d4c3a0318432aecef38cd57ac8d084b2ded68672 + checksum: d1179276f49bdc756b8002050d9952d8724a157e5021886c9df4300ce8f6313d633b546cda3c7cd962e7017721fe5fe5d69d4a92d9094833c0a886e0bf4e6599 languageName: node linkType: hard -"@parcel/optimizer-htmlnano@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/optimizer-htmlnano@npm:2.6.0" +"@parcel/optimizer-htmlnano@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/optimizer-htmlnano@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 + "@parcel/plugin": 2.6.2 htmlnano: ^2.0.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 svgo: ^2.4.0 - checksum: 2bd7fa7ca96dec75379fb956dfed5341d91749c7e7a0227f7cb5757594a58475389dea11a3d3348c19be3662677494d276abb5e08aae5b516faf99b8014e6849 + checksum: 3b86fb1b17d0af5dd2d25a3c9d5f1d587563305ca36afd12429c4de43d8ea29cdfdaed2d5434c2e83c85de7b5f856d4a90ba5b0119255fe3ba5150943c81bcf2 languageName: node linkType: hard -"@parcel/optimizer-image@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/optimizer-image@npm:2.6.0" +"@parcel/optimizer-image@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/optimizer-image@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 - "@parcel/workers": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 + "@parcel/workers": 2.6.2 detect-libc: ^1.0.3 - checksum: fe6a429c165e7967795c3e831f48d6d2f170bbc0dab27eb10bf5e2a6e4319d8543f9d9beef8be926451d8bb7e5dfe866b3bedf8ec8e5e20061da023ac55fc83a + checksum: d36e3c4d801bbaafa4720aa148c0c329bc957c3f890aa568e90f9cfbcdb78fa1e8fd306dcef98dcecddbec32474dfa783fd4c400df6a55f0a8b07f4241816259 languageName: node linkType: hard -"@parcel/optimizer-svgo@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/optimizer-svgo@npm:2.6.0" +"@parcel/optimizer-svgo@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/optimizer-svgo@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 svgo: ^2.4.0 - checksum: c2251c4cf88c7397ff465fea4aa0b32fd44e1d190cc100f42a4fa7f426296a1a9b77a07899824ac13ac41d75b90d4b1702bbe7df3c9556ad06a82bb3d7f29ed7 + checksum: 00b673780522f9594cea5ef0660cf06de5d8ab0542893e50ab52e5ff29a2b64c1fad0a1160abcc8e246239e66b4b67221bb1518755ac857148f2d2c80112a7a7 languageName: node linkType: hard -"@parcel/optimizer-terser@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/optimizer-terser@npm:2.6.0" +"@parcel/optimizer-terser@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/optimizer-terser@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.6.0 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 terser: ^5.2.0 - checksum: 28ae4e5a5db548b0cf49a0c03b829c8f105028cdbf000d40d918f328a452229034667f42e6b441f1c9c3bd670534f922d7dc6efb109eee6b2c2ca8fb381d1a16 + checksum: 1b9cdee1978ee56f03d86a3993cc07453bd1699a9624d79fbc14623c2e693256803863d3c0a77936e47b69777f6ba7e659edb3c15da206b15b97c3f6cd5c312e languageName: node linkType: hard -"@parcel/package-manager@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/package-manager@npm:2.6.0" - dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/fs": 2.6.0 - "@parcel/logger": 2.6.0 - "@parcel/types": 2.6.0 - "@parcel/utils": 2.6.0 - "@parcel/workers": 2.6.0 +"@parcel/package-manager@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/package-manager@npm:2.6.2" + dependencies: + "@parcel/diagnostic": 2.6.2 + "@parcel/fs": 2.6.2 + "@parcel/logger": 2.6.2 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 + "@parcel/workers": 2.6.2 semver: ^5.7.1 peerDependencies: - "@parcel/core": ^2.6.0 - checksum: 57da82e79963190d29d34a50eafe6acacf5eb43271c9fae72bcecc9a6e0214d5fc0348d675e1f641abeafabf67417a0f25dd71f052e7a49b2c20c2d8bf1c3814 + "@parcel/core": ^2.6.2 + checksum: 0c7dfce953da0f26bcd2bc05104767d5d5e0391d66bb76a700022e562c91be683a43e6b4b81ce0c00bc02b3715f4045e0d144d73631dcf7eee2ebd1316dbb879 languageName: node linkType: hard -"@parcel/packager-css@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/packager-css@npm:2.6.0" +"@parcel/packager-css@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/packager-css@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.6.0 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 - checksum: 590446ff7ca302197f1b326a87161b89ce5a2999ce136aae82dc5b218593cbff71e0b2321b32fc86150e31d231b5bba253345f372743d294d815433d9a592280 + checksum: 70d0c5195f75a88a2ffd71e320a9feb814cef8df23810a6bd914146513705b2396330fe1b02a14dbfdb0a0f06c631df5b2558fbb5a15775ef81d5fa0c94b5399 languageName: node linkType: hard -"@parcel/packager-html@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/packager-html@npm:2.6.0" +"@parcel/packager-html@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/packager-html@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/types": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 - checksum: 6d51afdda129224ec655e976f5c9f1df354430e9ccb1870058acceb7d50550c19598c99cacf03a771aaa8b5d5c4fd4b84cdb793f7dda9511947f6699a03a4db6 + checksum: 5f0095111deca877361e604e0f48e9a514b7506f38915c85720d53c87eccf5a2cd106e181f4030c4f58e648a3583ae80da823cf825e74a912ee0d93026992841 languageName: node linkType: hard -"@parcel/packager-js@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/packager-js@npm:2.6.0" +"@parcel/packager-js@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/packager-js@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/hash": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/hash": 2.6.2 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.6.0 + "@parcel/utils": 2.6.2 globals: ^13.2.0 nullthrows: ^1.1.1 - checksum: 2a1d1a1c0ae659ea50e6139b3ce6d807c91fe3fe12934998e3bd7091663afc1fe67c72ac60cd63ad9e3caf5c36cd4a542f29fd230437d37b4aadf23e92c7c438 + checksum: b441a709c668f4a0636fb872f672abd5fcd73a9830f89c6271c66c20b1d16c36d687ff3892605210e2305e76d44a01b108156f90f7e4f20e2ad8acbb9eac2d05 languageName: node linkType: hard -"@parcel/packager-raw@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/packager-raw@npm:2.6.0" +"@parcel/packager-raw@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/packager-raw@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - checksum: 8a8175e16726f5a17b82e0ad474c0baae3851a972c1828c652b5a6944c9bd820c90f80c0f9bddfcea5a0dd9df5ee136c393d93205e16edbd394b21fe79fd6cb3 + "@parcel/plugin": 2.6.2 + checksum: c067a612c0b346a80448638cb6b5abc5461a3cc3bbb2a71da24497d09f8e2e9565b64c4de3cbe7d90905ded9363b5421b6708a5ab21eea00787a2266f9ede123 languageName: node linkType: hard -"@parcel/packager-svg@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/packager-svg@npm:2.6.0" +"@parcel/packager-svg@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/packager-svg@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/types": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 posthtml: ^0.16.4 - checksum: 8148b1b0fc299630e714296b944ffa8be02dfa5c778d27694468d9785d3d810d31c1df368d7bfa0606fdaae02101abe6a037c96413f845a9d6f505b316f9184f + checksum: 50468d382f9423951b391025059d50264fb5f648c266c9d38e493c87d1f9d6d1f901dbc5487ba4d1a6d1fbe11ebaac3ab6b2df24439e7de4ebfea486d90f839d languageName: node linkType: hard -"@parcel/plugin@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/plugin@npm:2.6.0" +"@parcel/plugin@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/plugin@npm:2.6.2" dependencies: - "@parcel/types": 2.6.0 - checksum: 2668d803d726ecf98c1a9564883a7083bbeff444116f662c50f20067a25c1aa56ca49cc62cf8883ad3fde7ed42da9a7e9d1b89093ce7a77f1362218c3b0c75a1 + "@parcel/types": 2.6.2 + checksum: 23da0fa37213a6aef0df3949eff7a53994ed68f413e396ee73d7246277b1e0b2f3ce5d34039cf25a5b79db05a1c769a74564d106e2005fe30b89a628a217294a languageName: node linkType: hard -"@parcel/reporter-cli@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/reporter-cli@npm:2.6.0" +"@parcel/reporter-cli@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/reporter-cli@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/types": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 chalk: ^4.1.0 term-size: ^2.2.1 - checksum: fc2b69c4b0ad271107f43fce599158a579a256edecadcafee18aa5fd9a5ddec9fe2015b4a4bcf9df1df0b9138dd70cea390592280757e155bc380cd193a5be71 + checksum: 27486b9c5cb82ddfd3d52039c3909efc1f5dcd6d478231e329c08f8c87eeaa298bbb5f8f6312c92a9613b7e5f993324d1331af6f10229a12268845c0316f1234 languageName: node linkType: hard -"@parcel/reporter-dev-server@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/reporter-dev-server@npm:2.6.0" +"@parcel/reporter-dev-server@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/reporter-dev-server@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 - checksum: a19f5faef386e3f685c8645d49d1df2e0d3a036e3e97e7e1edb85f36327b35cc323a3e0d346c119c77ca3b60e5ece088fe4927e700df45de26bae564fbab7e3d + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 + checksum: 44007a3bce0ed6d0a64c2d82644e36ea193a6f5871ba614c083b43a7204031214be7b9de018e497b7fb4fcf01458fa07a665e8213ae6e5b276277f3f2d25bedd languageName: node linkType: hard -"@parcel/resolver-default@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/resolver-default@npm:2.6.0" +"@parcel/resolver-default@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/resolver-default@npm:2.6.2" dependencies: - "@parcel/node-resolver-core": 2.6.0 - "@parcel/plugin": 2.6.0 - checksum: 6b1cd291f37d431cfeef5ad187191932a8f063307dba6c6237c2de94fa24b037a6e77cf1a363cc86b016873e07f5e73e65a49a4f237ad3f01c64bf3e2a4ef3b6 + "@parcel/node-resolver-core": 2.6.2 + "@parcel/plugin": 2.6.2 + checksum: e0dfff6e62892bfce11a76f66fa1a6013fdcf4f5f8d8afb80b43f0f2111ce0214bdc8348b32207658bd19b8bc046b53f77b1cb5a12892cc668df50373cacd78d languageName: node linkType: hard -"@parcel/runtime-browser-hmr@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/runtime-browser-hmr@npm:2.6.0" +"@parcel/runtime-browser-hmr@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/runtime-browser-hmr@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 - checksum: c88ad93521e6a9c5080bb3ebf3ebc4823c95ebbf427710a335d3bc6716794fe6ea291f3b5ecca606e2e846079b2ba9f8f3165259a94d1acde0f21c0973b85235 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 + checksum: 39a324c4ef4014a8a122fe989d3802dd09eac9a40ff8a762c4e02b1cd49ab0bff4cb1e803333a707ae2ae6a84907c4331f8a39aad753048347f618ffb70e29a9 languageName: node linkType: hard -"@parcel/runtime-js@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/runtime-js@npm:2.6.0" +"@parcel/runtime-js@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/runtime-js@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 - checksum: d867dea72b91669d895f1b06346cae4e514cdfaedf55d4f2002930681a59dfe59fed45d784e88a9fe7218e1bc3f0c91daf873ed0b9a3f73f7e0d6ee4623d817e + checksum: 861e89c53625b23b0e4c48a938db8f8bc168eb5d739416d3a2e81f91346dcdb163b03e73441fc609c8c8308f679497de7454ce86788251b995d57cf8c1908afe languageName: node linkType: hard -"@parcel/runtime-react-refresh@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/runtime-react-refresh@npm:2.6.0" +"@parcel/runtime-react-refresh@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/runtime-react-refresh@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 react-error-overlay: 6.0.9 react-refresh: ^0.9.0 - checksum: 7620f56de4445c4d6c5df95bb25e22d6c81d34dc3b22f8dca714ff1f0f888cedd0c13720dbe4f8779f18b682687f4d27973462a04c9d92f1f5553d2f8d406d99 + checksum: 0c33a13dd47a822bc962cf394d57989d60fc2396463c523f8058dfada537a1d96f3d681932d793304d6d37eea7a9e4c39745c6ce42d3f3f8ddd9c6bced640b21 languageName: node linkType: hard -"@parcel/runtime-service-worker@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/runtime-service-worker@npm:2.6.0" +"@parcel/runtime-service-worker@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/runtime-service-worker@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 - checksum: d3d140cc0d24798c35bd5290571445a468c589a196ab29c628a08534c2ad4107c45ed4671bf5b9543f32e1dc9acd300e178ad7366986797560464e522cd913ee + checksum: 2a9790ad275212746873f0ee7a4296156096bf89ceb0c53b8be1f04bc110cbe451bcc3d4f8dca994f2641280e6ae37cba0f507b630ac1b85403f7f385a97f765 languageName: node linkType: hard "@parcel/source-map@npm:^2.0.0": - version: 2.0.2 - resolution: "@parcel/source-map@npm:2.0.2" + version: 2.1.0 + resolution: "@parcel/source-map@npm:2.1.0" dependencies: detect-libc: ^1.0.3 - checksum: 5d684ddb9a10103540e0bf0c80d15e3b0481a36f9d456dda4411e16d235701eacd36e0571b58fad433df04283adca77ba88d1a8af0af04c75075bc053022d8ca + checksum: 7ec2cfec01148d1813030615e525b7ce27ee6a80781769aba52149677286f02b6b6e387e8c602fd67abe5e0f815b07a5b2ee94e1cc8bf1714301c575436aaaa6 languageName: node linkType: hard -"@parcel/transformer-babel@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-babel@npm:2.6.0" +"@parcel/transformer-babel@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-babel@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.6.0 + "@parcel/utils": 2.6.2 browserslist: ^4.6.6 json5: ^2.2.0 nullthrows: ^1.1.1 semver: ^5.7.0 - checksum: 1dff12dffe693075510a0864f99f814c5abe86b8bca22e6d8c94a1fa9eef39b693fca5b2990a635caa8d7bd704242a88d9309008495150c26c39847ab23ca7b8 + checksum: c7f14b76bf70748995ea797f48bb61ceda8857426565e614560ed447597370869b647fa305a8d217a5e1b2ea7e88732264f8329fe3d6ee1efb954b18246f4881 languageName: node linkType: hard -"@parcel/transformer-css@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-css@npm:2.6.0" +"@parcel/transformer-css@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-css@npm:2.6.2" dependencies: - "@parcel/css": ^1.9.0 - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/css": ^1.10.1 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.6.0 + "@parcel/utils": 2.6.2 browserslist: ^4.6.6 nullthrows: ^1.1.1 - checksum: 16efc770e13badeb697f30c84043bf110f91002dde6a80aa9b9a685bfc5519563d508bd076c905cdb96447a6f7fd66c7b1cf95712a04e2915db94c69b4439a54 + checksum: 2a8ac504571518fbd64d38cd1fe337cdeb43e5becd721b10c2cbba97271ad1c9929f7ecc7bca90b1e7657703be329c5cc8db635c381cfc6c172f942e9adbc3f3 languageName: node linkType: hard -"@parcel/transformer-html@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-html@npm:2.6.0" +"@parcel/transformer-html@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-html@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/hash": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/hash": 2.6.2 + "@parcel/plugin": 2.6.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 55f88caaf55d77313efbeb213a045456882245ed3d45b6c6dbf06e6e50409120d4773d72c8e7452bca27199558b67dfaa1692b08e6fd9475de92b744014a3f3c + checksum: 6d37d556aa7a744bc0c13e74d9a3769c6a85152fb2a609d334e016ce826b26bae04a63e9dad0ab36ca2c34573eafd534753c5c982d4c5855d84778dec98617d6 languageName: node linkType: hard -"@parcel/transformer-image@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-image@npm:2.6.0" +"@parcel/transformer-image@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-image@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/workers": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/workers": 2.6.2 nullthrows: ^1.1.1 peerDependencies: - "@parcel/core": ^2.6.0 - checksum: b4f7f06ee16caf327a9f739b83a5fcfbc57ca99afb38b670f33b83bf6dffc99e2e033c9de5695be843d732c814ce34dedbc254f1c348ef34c12c5a3b57974c81 + "@parcel/core": ^2.6.2 + checksum: 2627a162b9bc730ad12086502edf043cac69b7e832b2c344478e2ed2b1c96db6686adbca32bd715c4421f8c360c301d029773e13209e6060639e40d020719d62 languageName: node linkType: hard -"@parcel/transformer-js@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-js@npm:2.6.0" +"@parcel/transformer-js@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-js@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/plugin": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/utils": 2.6.0 - "@parcel/workers": 2.6.0 - "@swc/helpers": ^0.3.15 + "@parcel/utils": 2.6.2 + "@parcel/workers": 2.6.2 + "@swc/helpers": ^0.4.2 browserslist: ^4.6.6 detect-libc: ^1.0.3 nullthrows: ^1.1.1 regenerator-runtime: ^0.13.7 semver: ^5.7.1 peerDependencies: - "@parcel/core": ^2.6.0 - checksum: 837f93d04dc86c28697dca82f4da6575316fbb693bcff4c9a60a0232fcfb07dd61bf76938a7a4a0d65a043e78f28a9feeb6a8160af5111564da93632118e4263 + "@parcel/core": ^2.6.2 + checksum: 32a0480b2986b843d55e0c48a965ff842bf7e4d99325d77c1a7e451a1afc41f7f2602b5a61c79dda1d5382b75834b8e5a452cfb7242d029226f750236cbd3bcf languageName: node linkType: hard -"@parcel/transformer-json@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-json@npm:2.6.0" +"@parcel/transformer-json@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-json@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 + "@parcel/plugin": 2.6.2 json5: ^2.2.0 - checksum: 27ad74e0508ff7b09bbb5e822e8ce746b474bca37d04d7508b623052ba4f3e0b80a4b21bbfa9b839f35baf2c57040f0ec4d9390555021a9806c10050b11bb4a6 + checksum: 0b4162ba936999e10ad66a569d16b42947c7e2f98f3ac83fcabe20aefac8990797f8032115441a1d49ad01ccb2555b31d70c3cf7f202ba2a1fcc1bc7e4703fe0 languageName: node linkType: hard -"@parcel/transformer-postcss@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-postcss@npm:2.6.0" +"@parcel/transformer-postcss@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-postcss@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/hash": 2.6.0 - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/hash": 2.6.2 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 clone: ^2.1.1 nullthrows: ^1.1.1 postcss-value-parser: ^4.2.0 semver: ^5.7.1 - checksum: 3835431655958ae05bd3a93af80353cb008f60594519d45cd1db795eff0f691b999c80a2049baaea37223eefe79922fc64d6d113ee02541fef60131feff31445 + checksum: 473d1e96f9290a158ffe0f662f50769d386773e9dc7f6c5cfec9bb9db2f51020a191639d9f9ad30d73e859ba1e4a78cf2079256095b5481c41230b611f73d453 languageName: node linkType: hard -"@parcel/transformer-posthtml@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-posthtml@npm:2.6.0" +"@parcel/transformer-posthtml@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-posthtml@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 1b94560b717c6af2aee8740951453b92de0d31dad5acc3efefd38c6653c5b9b6cbe0dd6eb7f02b01da8f591f11cf64bf12e60d3f52a0654538f197fb8e16efbf + checksum: 3ddb727aa2f0ff8e867fee2c4a739d8cd4c213e7fbf61b672497a2b51559cb75ff4381881cb0262c511ff5c21a608dfa8805f96c9606a27cddbdff910dc9c2df languageName: node linkType: hard -"@parcel/transformer-raw@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-raw@npm:2.6.0" +"@parcel/transformer-raw@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-raw@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - checksum: 403fab19312f413de2449a87f627be6e3790e0446f336a6166cc260ae0d0e5406ec5f918e7b0ab5ec44a6ee20b1b25eb1c8f52b78876d45540e813a4b01800de + "@parcel/plugin": 2.6.2 + checksum: aa8543194f4958f21f74e8c06171116b63c17113d584b121128765277d604965f42a1acb8aca8a7babb2051697cc74edf4be9bd4c203601cff6c291da9cf5383 languageName: node linkType: hard -"@parcel/transformer-react-refresh-wrap@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-react-refresh-wrap@npm:2.6.0" +"@parcel/transformer-react-refresh-wrap@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-react-refresh-wrap@npm:2.6.2" dependencies: - "@parcel/plugin": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/plugin": 2.6.2 + "@parcel/utils": 2.6.2 react-refresh: ^0.9.0 - checksum: 59e75bfa480e6beb92780a0aa20d9c28dc7630dbe72bf1df315b71d7a9f890cc358473ba34ccf1a80bd29671e3477091a753b7f01a9d622304d844a14cffb2eb + checksum: 6655b93d5e362b4916eab061ec93badeefec0f07a28245d647d1eda2945f062874a6f2692446353e62c9a261a53840a31a6164775123192cd864d24af5f2e2ab languageName: node linkType: hard -"@parcel/transformer-svg@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/transformer-svg@npm:2.6.0" +"@parcel/transformer-svg@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/transformer-svg@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/hash": 2.6.0 - "@parcel/plugin": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/hash": 2.6.2 + "@parcel/plugin": 2.6.2 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 64d0274d7ada8473250d9107e72b1da26f2da74942177b73833e5272db7812934d6db24d02b5d49f05920963d2e17cacb090679e6e75f4414d56bff8dec39100 + checksum: b768ecc0c69f3b5dd8716453ad2aaa7928ccc8eb95469cdb9d925e9c2e0cf4b3a61abfb8057471d9f106f992548001b628d5af82b75cb29dbb15c697ecbdec53 languageName: node linkType: hard -"@parcel/types@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/types@npm:2.6.0" +"@parcel/types@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/types@npm:2.6.2" dependencies: - "@parcel/cache": 2.6.0 - "@parcel/diagnostic": 2.6.0 - "@parcel/fs": 2.6.0 - "@parcel/package-manager": 2.6.0 + "@parcel/cache": 2.6.2 + "@parcel/diagnostic": 2.6.2 + "@parcel/fs": 2.6.2 + "@parcel/package-manager": 2.6.2 "@parcel/source-map": ^2.0.0 - "@parcel/workers": 2.6.0 + "@parcel/workers": 2.6.2 utility-types: ^3.10.0 - checksum: a05de5059859836983bc01444b93f361e9032d39e3ee2efffc3c0d417b92a329be317db9b82751d6810cdb6f8b720f3237744fb00fa7d2d57c1f4d59d95b70c1 + checksum: 16f3c3ac36eb6f4bfdf91e65b893b10be8911f708752976baf270d087f82957069fb84b410312fc231543ed74573e6dcf5bc01373fe1113f87f91833cb6d5a86 languageName: node linkType: hard -"@parcel/utils@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/utils@npm:2.6.0" +"@parcel/utils@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/utils@npm:2.6.2" dependencies: - "@parcel/codeframe": 2.6.0 - "@parcel/diagnostic": 2.6.0 - "@parcel/hash": 2.6.0 - "@parcel/logger": 2.6.0 - "@parcel/markdown-ansi": 2.6.0 + "@parcel/codeframe": 2.6.2 + "@parcel/diagnostic": 2.6.2 + "@parcel/hash": 2.6.2 + "@parcel/logger": 2.6.2 + "@parcel/markdown-ansi": 2.6.2 "@parcel/source-map": ^2.0.0 chalk: ^4.1.0 - checksum: acada3b77aac68b49068e4030ec9a2e2c1ea1a5f7a12eee8c979537cc385b15b3edab31678fc1b05a804dcec2f91a9947ac00dbecd57e6cc5407d79a7e1a9fdf + checksum: a74fdca9664412c6a18ef151cba80e784bb5e74784c5b1e1a8f00c0ab8c747203a819a3211e6822b9d86694825297b73c7fd4a8145212f78b2718d1e4b03c987 languageName: node linkType: hard @@ -6191,19 +4341,19 @@ __metadata: languageName: node linkType: hard -"@parcel/workers@npm:2.6.0": - version: 2.6.0 - resolution: "@parcel/workers@npm:2.6.0" +"@parcel/workers@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/workers@npm:2.6.2" dependencies: - "@parcel/diagnostic": 2.6.0 - "@parcel/logger": 2.6.0 - "@parcel/types": 2.6.0 - "@parcel/utils": 2.6.0 + "@parcel/diagnostic": 2.6.2 + "@parcel/logger": 2.6.2 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 chrome-trace-event: ^1.0.2 nullthrows: ^1.1.1 peerDependencies: - "@parcel/core": ^2.6.0 - checksum: d064fabdff53ce14f69f5000c479d8e77795d4251c80ca373342e0ab73141878a7afc65d3d27c36c9c661c18fac77dc1e10799c1a532f456691157ea5a213f89 + "@parcel/core": ^2.6.2 + checksum: 92b65cd3fde225dcd377f1f529caeb0d8ee56a9aeef3785716b1ad210132e5dc1b6bd9b7c4c6920094e0030c6aad9cc42d5dbf7b4fb0fb4668eedfd332e0b242 languageName: node linkType: hard @@ -6265,23 +4415,26 @@ __metadata: languageName: node linkType: hard -"@pmmmwh/react-refresh-webpack-plugin@npm:0.4.3": - version: 0.4.3 - resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.4.3" +"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.3": + version: 0.5.7 + resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.7" dependencies: - ansi-html: ^0.0.7 + ansi-html-community: ^0.0.8 + common-path-prefix: ^3.0.0 + core-js-pure: ^3.8.1 error-stack-parser: ^2.0.6 - html-entities: ^1.2.1 - native-url: ^0.2.6 - schema-utils: ^2.6.5 + find-up: ^5.0.0 + html-entities: ^2.1.0 + loader-utils: ^2.0.0 + schema-utils: ^3.0.0 source-map: ^0.7.3 peerDependencies: - "@types/webpack": 4.x - react-refresh: ">=0.8.3 <0.10.0" + "@types/webpack": 4.x || 5.x + react-refresh: ">=0.10.0 <1.0.0" sockjs-client: ^1.4.0 - type-fest: ^0.13.1 + type-fest: ">=0.17.0 <3.0.0" webpack: ">=4.43.0 <6.0.0" - webpack-dev-server: 3.x + webpack-dev-server: 3.x || 4.x webpack-hot-middleware: 2.x webpack-plugin-serve: 0.x || 1.x peerDependenciesMeta: @@ -6297,7 +4450,7 @@ __metadata: optional: true webpack-plugin-serve: optional: true - checksum: 36a7b0c63f0aabde856a2b43f3f3bfa7919920afa67b4fbcf7d4980b286c7c11e34ada13654d81bf30c3d3e2c12a5b9eef6c15e21a200003b8030809d3ddd6c6 + checksum: 3490649181878cc8808fb91f3870ef095e5a1fb9647b3ac83740df07379c9d1cf540f24bf2b09d5f26a3a8c805b2c6b9c5be7192bdb9317d0ffffa67426e9f66 languageName: node linkType: hard @@ -6578,7 +4731,7 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-babel@npm:~5.3.1": +"@rollup/plugin-babel@npm:^5.2.0, @rollup/plugin-babel@npm:~5.3.1": version: 5.3.1 resolution: "@rollup/plugin-babel@npm:5.3.1" dependencies: @@ -6629,18 +4782,19 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-node-resolve@npm:^7.1.1": - version: 7.1.3 - resolution: "@rollup/plugin-node-resolve@npm:7.1.3" +"@rollup/plugin-node-resolve@npm:^11.2.1": + version: 11.2.1 + resolution: "@rollup/plugin-node-resolve@npm:11.2.1" dependencies: - "@rollup/pluginutils": ^3.0.8 - "@types/resolve": 0.0.8 + "@rollup/pluginutils": ^3.1.0 + "@types/resolve": 1.17.1 builtin-modules: ^3.1.0 + deepmerge: ^4.2.2 is-module: ^1.0.0 - resolve: ^1.14.2 + resolve: ^1.19.0 peerDependencies: rollup: ^1.20.0||^2.0.0 - checksum: e787c35f123652762d212b63f8cfaf577307434a935466397021c31b71d0d94357c6fa4e326b49bf44b959e22e41bc21f5648470eabec086566e7c36c5d041b1 + checksum: 6f3b3ecf9a0596a5db4212984bdeb13bb7612693602407e9457ada075dea5a5f2e4e124c592352cf27066a88b194de9b9a95390149b52cf335d5b5e17b4e265b languageName: node linkType: hard @@ -6660,31 +4814,29 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-replace@npm:^2.3.1": - version: 2.4.1 - resolution: "@rollup/plugin-replace@npm:2.4.1" +"@rollup/plugin-replace@npm:^2.4.1": + version: 2.4.2 + resolution: "@rollup/plugin-replace@npm:2.4.2" dependencies: "@rollup/pluginutils": ^3.1.0 magic-string: ^0.25.7 peerDependencies: rollup: ^1.20.0 || ^2.0.0 - checksum: 5851c10e4bacc25c98b82a63d788b7cdaedb93b0fa58ee42fbf1c5625401b76662aa02d9ad5137f830a31ee68c337e512d68267ca426ef0333bb1d1625a8cf42 + checksum: b2f1618ee5526d288e2f8ae328dcb326e20e8dc8bd1f60d3e14d6708a5832e4aa44811f7d493f4aed2deeadca86e3b6b0503cd39bf50cfb4b595bb9da027fad0 languageName: node linkType: hard "@rollup/pluginutils@npm:4": - version: 4.1.0 - resolution: "@rollup/pluginutils@npm:4.1.0" + version: 4.2.1 + resolution: "@rollup/pluginutils@npm:4.2.1" dependencies: estree-walker: ^2.0.1 picomatch: ^2.2.2 - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 5ef767b4e57aaea4ad223af2fa50e5ee1e2d8a94bd79f534b55485b5aeb89e8839236e45e2c0730541f18534288fba92ae223c54683613f26071e3474564ddd9 + checksum: 6bc41f22b1a0f1efec3043899e4d3b6b1497b3dea4d94292d8f83b4cf07a1073ecbaedd562a22d11913ff7659f459677b01b09e9598a98936e746780ecc93a12 languageName: node linkType: hard -"@rollup/pluginutils@npm:^3.0.8, @rollup/pluginutils@npm:^3.1.0": +"@rollup/pluginutils@npm:^3.1.0": version: 3.1.0 resolution: "@rollup/pluginutils@npm:3.1.0" dependencies: @@ -6697,31 +4849,47 @@ __metadata: languageName: node linkType: hard +"@rushstack/eslint-patch@npm:^1.1.0": + version: 1.1.4 + resolution: "@rushstack/eslint-patch@npm:1.1.4" + checksum: 597bc84e2f76c7f5f2bcedd4c4b1dd5d02524167a0f67ac588e8fbbd94666297aaf0e6a53ec46afb95554164fc1169ff782841003280e4bc98e80ab6559412c6 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.24.1": + version: 0.24.21 + resolution: "@sinclair/typebox@npm:0.24.21" + checksum: e22b083cac9248f45a2e37b8cc05af2be9759e793dbc73112ed6a58d89de9ba77a9fcf693588cafcfc125c3da6d2c8127a8cdb6dda957675743532c8ac5f00f4 + languageName: node + linkType: hard + "@sinonjs/commons@npm:^1.7.0": - version: 1.8.2 - resolution: "@sinonjs/commons@npm:1.8.2" + version: 1.8.3 + resolution: "@sinonjs/commons@npm:1.8.3" dependencies: type-detect: 4.0.8 - checksum: 67aa47d4a19e688da5c291286786635625356d6dc379d86f255c8425b9da3dfd26d07cfef82aad755ad51bd1a889bde07abd1e1592f9f5b3e29013045738e344 + checksum: 6159726db5ce6bf9f2297f8427f7ca5b3dff45b31e5cee23496f1fa6ef0bb4eab878b23fb2c5e6446381f6a66aba4968ef2fc255c1180d753d4b8c271636a2e5 languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^6.0.1": - version: 6.0.1 - resolution: "@sinonjs/fake-timers@npm:6.0.1" +"@sinonjs/fake-timers@npm:^8.0.1": + version: 8.1.0 + resolution: "@sinonjs/fake-timers@npm:8.1.0" dependencies: "@sinonjs/commons": ^1.7.0 - checksum: 8e331aa1412d905ecc8efd63550f58a6f77dcb510f878172004e53be63eb82650623618763001a918fc5e21257b86c45041e4e97c454ed6a2d187de084abbd11 + checksum: 09b5a158ce013a6c37613258bad79ca4efeb99b1f59c41c73cca36cac00b258aefcf46eeea970fccf06b989414d86fe9f54c1102272c0c3bdd51a313cea80949 languageName: node linkType: hard -"@surma/rollup-plugin-off-main-thread@npm:^1.1.1": - version: 1.4.2 - resolution: "@surma/rollup-plugin-off-main-thread@npm:1.4.2" +"@surma/rollup-plugin-off-main-thread@npm:^2.2.3": + version: 2.2.3 + resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" dependencies: - ejs: ^2.6.1 + ejs: ^3.1.6 + json5: ^2.2.0 magic-string: ^0.25.0 - checksum: da721792036a0e1253911f9b5280e6cb236024d7d2255bde3b6e87587c0ea8f46404224c8c032a27ee11ab3244eda752587fb37ec78c2e64eb53e10557373102 + string.prototype.matchall: ^4.0.6 + checksum: 2c021349442e2e2cec96bb50fd82ec8bf8514d909bc73594f6cfc89b3b68f2feed909a8161d7d307d9455585c97e6b66853ce334db432626c7596836d4549c0c languageName: node linkType: hard @@ -6840,7 +5008,7 @@ __metadata: languageName: node linkType: hard -"@svgr/webpack@npm:5.5.0": +"@svgr/webpack@npm:^5.5.0": version: 5.5.0 resolution: "@svgr/webpack@npm:5.5.0" dependencies: @@ -6856,12 +5024,26 @@ __metadata: languageName: node linkType: hard -"@swc/helpers@npm:^0.3.15": - version: 0.3.17 - resolution: "@swc/helpers@npm:0.3.17" +"@swc/helpers@npm:^0.4.2": + version: 0.4.3 + resolution: "@swc/helpers@npm:0.4.3" dependencies: tslib: ^2.4.0 - checksum: ce3a5146d738b707f0608bba731aa1fd0a8e3f75f140ff7281225d775a769f085f085e0293b570a9d201c76e09951af178c9222d8c706d4ed0d1c85b25f55cb6 + checksum: 5c2f173e950dd3929d84ae48b3586a274d5a874e7cf2013b3d8081e4f8c723fa3a4d4e63b263e84bb7f06431f87b640e91a12655410463c81a3dc2bbc15eceda + languageName: node + linkType: hard + +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 languageName: node linkType: hard @@ -6893,19 +5075,12 @@ __metadata: linkType: hard "@turf/centroid@npm:^6.0.2": - version: 6.3.0 - resolution: "@turf/centroid@npm:6.3.0" + version: 6.5.0 + resolution: "@turf/centroid@npm:6.5.0" dependencies: - "@turf/helpers": ^6.3.0 - "@turf/meta": ^6.3.0 - checksum: 376d85b6939b08e60c1c4a1e864c4bdf22f585157d27b0dab490956cb34180ffbc0107c5fd0f590f5f7738d0450dff7e541252d1bb61337a24fc295e157e41a5 - languageName: node - linkType: hard - -"@turf/helpers@npm:^6.3.0": - version: 6.3.0 - resolution: "@turf/helpers@npm:6.3.0" - checksum: 261746590fe1944b6f8b8e60298979efeace0890b8025db467dbf65ca64e7a56bd0e09d3c200cea1abd53f101ee7d4d925c904f811966abf3954de1d5352d097 + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 1a37c26232f9aabde9174c6408c42863fd9718a541ad664abf063ffd4c59764c1e7e974b607cadb3a1dae62e8fa4632d6b431a6bfdc9d42e8c21911e43d07b21 languageName: node linkType: hard @@ -6916,15 +5091,6 @@ __metadata: languageName: node linkType: hard -"@turf/meta@npm:^6.3.0": - version: 6.3.0 - resolution: "@turf/meta@npm:6.3.0" - dependencies: - "@turf/helpers": ^6.3.0 - checksum: ba5861d0496cd6598a4a79ef019cd8bab4a8a2e1c3460a4161fda25b0915ebd6c0846a4adc614f20ec1ac27a2fbf30f3a832d9abcf354b9f72340a1c4af883f1 - languageName: node - linkType: hard - "@turf/meta@npm:^6.5.0": version: 6.5.0 resolution: "@turf/meta@npm:6.5.0" @@ -6934,51 +5100,63 @@ __metadata: languageName: node linkType: hard -"@types/anymatch@npm:*": - version: 1.3.1 - resolution: "@types/anymatch@npm:1.3.1" - checksum: 1eeb16286102a98eda415e1ade6fb980ff0a001fc21e777af8932001ebbd324d0d2fbbd5ef51c828346ff71847ba00af3f73d1dfea434efb9b72467b8cf0343a - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.7": - version: 7.1.12 - resolution: "@types/babel__core@npm:7.1.12" +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": + version: 7.1.19 + resolution: "@types/babel__core@npm:7.1.19" dependencies: "@babel/parser": ^7.1.0 "@babel/types": ^7.0.0 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: ea3b2eee3bc7d06929bd0d921734e7a4afb5eecd0e4ceb5479ba01d00638fe12f59b1e82c917c8776479d8e1eb0f6a515ba9b4df552606fa571dce60a226e9ce + checksum: 8c9fa87a1c2224cbec251683a58bebb0d74c497118034166aaa0491a4e2627998a6621fc71f8a60ffd27d9c0c52097defedf7637adc6618d0331c15adb302338 languageName: node linkType: hard "@types/babel__generator@npm:*": - version: 7.6.2 - resolution: "@types/babel__generator@npm:7.6.2" + version: 7.6.4 + resolution: "@types/babel__generator@npm:7.6.4" dependencies: "@babel/types": ^7.0.0 - checksum: b7764309e5f292c4a15fb587ba610e7fa290e1a2824efe16c0608abdb835de310147b4410f067bb25d817ba72bfc65c6aa0018933b02a774e744dbe51befeab6 + checksum: 20effbbb5f8a3a0211e95959d06ae70c097fb6191011b73b38fe86deebefad8e09ee014605e0fd3cdaedc73d158be555866810e9166e1f09e4cfd880b874dcb0 languageName: node linkType: hard "@types/babel__template@npm:*": - version: 7.4.0 - resolution: "@types/babel__template@npm:7.4.0" + version: 7.4.1 + resolution: "@types/babel__template@npm:7.4.1" dependencies: "@babel/parser": ^7.1.0 "@babel/types": ^7.0.0 - checksum: 5262dc75e66fe0531b046d19f5c39d1b7e3419e340624229b52757cdedb295cb5658494b64eb234bd18cab7740c45c1d72ed2f16d1d189a765df2dc4efeed1af + checksum: 649fe8b42c2876be1fd28c6ed9b276f78152d5904ec290b6c861d9ef324206e0a5c242e8305c421ac52ecf6358fa7e32ab7a692f55370484825c1df29b1596ee languageName: node linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": - version: 7.11.0 - resolution: "@types/babel__traverse@npm:7.11.0" + version: 7.17.1 + resolution: "@types/babel__traverse@npm:7.17.1" dependencies: "@babel/types": ^7.3.0 - checksum: 4e86b3d0ee9fe19bd7e1b523b71ed7cbef0f0fe37158970ef1e6c22da218fef05f79e79b07f2c10dc9bbe3ea9fb7e69dfce9761aff16fb10e891d14cac6d66d4 + checksum: 8992d8c1eaaf1c793e9184b930767883446939d2744c40ea4e9591086e79b631189dc519931ed8864f1e016742a189703c217db59b800aca84870b865009d8b4 + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.2 + resolution: "@types/body-parser@npm:1.19.2" + dependencies: + "@types/connect": "*" + "@types/node": "*" + checksum: e17840c7d747a549f00aebe72c89313d09fbc4b632b949b2470c5cb3b1cb73863901ae84d9335b567a79ec5efcfb8a28ff8e3f36bc8748a9686756b6d5681f40 + languageName: node + linkType: hard + +"@types/bonjour@npm:^3.5.9": + version: 3.5.10 + resolution: "@types/bonjour@npm:3.5.10" + dependencies: + "@types/node": "*" + checksum: bfcadb042a41b124c4e3de4925e3be6d35b78f93f27c4535d5ff86980dc0f8bc407ed99b9b54528952dc62834d5a779392f7a12c2947dd19330eb05a6bcae15a languageName: node linkType: hard @@ -6991,6 +5169,25 @@ __metadata: languageName: node linkType: hard +"@types/connect-history-api-fallback@npm:^1.3.5": + version: 1.3.5 + resolution: "@types/connect-history-api-fallback@npm:1.3.5" + dependencies: + "@types/express-serve-static-core": "*" + "@types/node": "*" + checksum: 464d06e5ab00f113fa89978633d5eb00d225aeb4ebbadc07f6f3bc337aa7cbfcd74957b2a539d6d47f2e128e956a17819973ec7ae62ade2e16e367a6c38b8d3a + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.35 + resolution: "@types/connect@npm:3.4.35" + dependencies: + "@types/node": "*" + checksum: fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 + languageName: node + linkType: hard + "@types/d3-color@npm:^1": version: 1.4.2 resolution: "@types/d3-color@npm:1.4.2" @@ -7039,20 +5236,30 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:^7.28.2": - version: 7.29.0 - resolution: "@types/eslint@npm:7.29.0" +"@types/eslint-scope@npm:^3.7.3": + version: 3.7.4 + resolution: "@types/eslint-scope@npm:3.7.4" + dependencies: + "@types/eslint": "*" + "@types/estree": "*" + checksum: ea6a9363e92f301cd3888194469f9ec9d0021fe0a397a97a6dd689e7545c75de0bd2153dfb13d3ab532853a278b6572c6f678ce846980669e41029d205653460 + languageName: node + linkType: hard + +"@types/eslint@npm:*, @types/eslint@npm:^7.29.0 || ^8.4.1": + version: 8.4.5 + resolution: "@types/eslint@npm:8.4.5" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: df13991c554954353ce8f3bb03e19da6cc71916889443d68d178d4f858b561ba4cc4a4f291c6eb9eebb7f864b12b9b9313051b3a8dfea3e513dadf3188a77bdf + checksum: 428b0c971a50adb0d08621e76f21b284580a0052a31341a0e6d553f72b54cd0142d549aa1497c7e3bc56e9f6bcc27286e66e0216e1ba76d1a5ecd2279c40bc8c languageName: node linkType: hard "@types/estree@npm:*": - version: 0.0.46 - resolution: "@types/estree@npm:0.0.46" - checksum: 620f7549c8cf99fe1c91a943a42ae2684c18f6007dc1bd6a439a2bf3204022ab746ffb3be5244c70d43a822beeb3c948216be1a69cb25e79005daeca4ebe5722 + version: 1.0.0 + resolution: "@types/estree@npm:1.0.0" + checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 languageName: node linkType: hard @@ -7063,6 +5270,36 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^0.0.51": + version: 0.0.51 + resolution: "@types/estree@npm:0.0.51" + checksum: e56a3bcf759fd9185e992e7fdb3c6a5f81e8ff120e871641607581fb3728d16c811702a7d40fa5f869b7f7b4437ab6a87eb8d98ffafeee51e85bbe955932a189 + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.18": + version: 4.17.30 + resolution: "@types/express-serve-static-core@npm:4.17.30" + dependencies: + "@types/node": "*" + "@types/qs": "*" + "@types/range-parser": "*" + checksum: c40d9027884ab9e97fa29d9d41d1b75a5966109312e26594cf03c61b278b5bf8e095f53589e47899b34a2e224291a44043617695c3e8bd22284f988e48582ee6 + languageName: node + linkType: hard + +"@types/express@npm:*, @types/express@npm:^4.17.13": + version: 4.17.13 + resolution: "@types/express@npm:4.17.13" + dependencies: + "@types/body-parser": "*" + "@types/express-serve-static-core": ^4.17.18 + "@types/qs": "*" + "@types/serve-static": "*" + checksum: 12a2a0e6c4b993fc0854bec665906788aea0d8ee4392389d7a98a5de1eefdd33c9e1e40a91f3afd274011119c506f7b4126acb97fae62ae20b654974d44cba12 + languageName: node + linkType: hard + "@types/find-cache-dir@npm:^3.2.1": version: 3.2.1 resolution: "@types/find-cache-dir@npm:3.2.1" @@ -7079,16 +5316,6 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:^7.1.1": - version: 7.1.3 - resolution: "@types/glob@npm:7.1.3" - dependencies: - "@types/minimatch": "*" - "@types/node": "*" - checksum: e0eef12285f548f15d887145590594a04ccce7f7e645fb047cbac18cb093f25d507ffbcc725312294c224bb78cf980fce33e5807de8d6f8a868b4186253499d4 - languageName: node - linkType: hard - "@types/graceful-fs@npm:^4.1.2": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -7098,17 +5325,26 @@ __metadata: languageName: node linkType: hard -"@types/html-minifier-terser@npm:^5.0.0": - version: 5.1.1 - resolution: "@types/html-minifier-terser@npm:5.1.1" - checksum: e2f0882d9d1b217e68064cf432e904fe9d4a0f865b2ae1657dfa8f80ad27d04749e12e4ff3099638595b6bf7538efe5bd388b84b578139a841b8fa3b84fa87c4 +"@types/html-minifier-terser@npm:^6.0.0": + version: 6.1.0 + resolution: "@types/html-minifier-terser@npm:6.1.0" + checksum: eb843f6a8d662d44fb18ec61041117734c6aae77aa38df1be3b4712e8e50ffaa35f1e1c92fdd0fde14a5675fecf457abcd0d15a01fae7506c91926176967f452 + languageName: node + linkType: hard + +"@types/http-proxy@npm:^1.17.8": + version: 1.17.9 + resolution: "@types/http-proxy@npm:1.17.9" + dependencies: + "@types/node": "*" + checksum: 7a6746d00729b2a9fe9f9dd3453430b099931df879ec8f7a7b5f07b1795f6d99b0512640c45a67390b1e4bacb9401e36824952aeeaf089feba8627a063cf8e00 languageName: node linkType: hard "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.3 - resolution: "@types/istanbul-lib-coverage@npm:2.0.3" - checksum: 0650cba4be8f464bee89b9de0b71a5ea3b5cc676ce24e1196b5d6a51542ce9e613ae4549bf19756bb33dbbbb32b47931040266100062bfb197c597d73e341eb0 + version: 2.0.4 + resolution: "@types/istanbul-lib-coverage@npm:2.0.4" + checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 languageName: node linkType: hard @@ -7122,22 +5358,15 @@ __metadata: linkType: hard "@types/istanbul-reports@npm:^3.0.0": - version: 3.0.0 - resolution: "@types/istanbul-reports@npm:3.0.0" + version: 3.0.1 + resolution: "@types/istanbul-reports@npm:3.0.1" dependencies: "@types/istanbul-lib-report": "*" - checksum: 286a18cff19c4dac4321b9ea406a3560faf577fb2a4df5abf9d577fa81ba831c9baa7d40d03f1daf7fe613d468546b731c00b844b72fad9834c583311a35bb7b - languageName: node - linkType: hard - -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.3, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6": - version: 7.0.7 - resolution: "@types/json-schema@npm:7.0.7" - checksum: ea3b409235862d28122751158f4054e729e31ad844bd7b8b23868f38c518047b1c0e8e4e7cc293e02c31a2fb8cfc8a4506c2de2a745cf78b218e064fb8898cd4 + checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 languageName: node linkType: hard -"@types/json-schema@npm:^7.0.8": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.11 resolution: "@types/json-schema@npm:7.0.11" checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d @@ -7161,51 +5390,37 @@ __metadata: linkType: hard "@types/lodash@npm:*, @types/lodash@npm:^4.14.146, @types/lodash@npm:^4.14.160": - version: 4.14.178 - resolution: "@types/lodash@npm:4.14.178" - checksum: a69a04a60bfc5257c3130a554b4efa0c383f0141b7b3db8ab7cf07ad2a46ea085fce66d0242da41da7e5647b133d5dfb2c15add9cbed8d7fef955e4a1e5b3128 + version: 4.14.182 + resolution: "@types/lodash@npm:4.14.182" + checksum: 7dd137aa9dbabd632408bd37009d984655164fa1ecc3f2b6eb94afe35bf0a5852cbab6183148d883e9c73a958b7fec9a9bcf7c8e45d41195add6a18c34958209 languageName: node linkType: hard "@types/long@npm:^4.0.1": - version: 4.0.1 - resolution: "@types/long@npm:4.0.1" - checksum: ff9653c33f5000d0f131fd98a950a0343e2e33107dd067a97ac4a3b9678e1a2e39ea44772ad920f54ef6e8f107f76bc92c2584ba905a0dc4253282a4101166d0 - languageName: node - linkType: hard - -"@types/minimatch@npm:*": - version: 3.0.3 - resolution: "@types/minimatch@npm:3.0.3" - checksum: b80259d55b96ef24cb3bb961b6dc18b943f2bb8838b4d8e7bead204f3173e551a416ffa49f9aaf1dc431277fffe36214118628eacf4aea20119df8835229901b + version: 4.0.2 + resolution: "@types/long@npm:4.0.2" + checksum: d16cde7240d834cf44ba1eaec49e78ae3180e724cd667052b194a372f350d024cba8dd3f37b0864931683dab09ca935d52f0c4c1687178af5ada9fc85b0635f4 languageName: node linkType: hard -"@types/node@npm:*": - version: 14.14.31 - resolution: "@types/node@npm:14.14.31" - checksum: 5b9ab3660ee63abc57affc836c0d50b2941a862c5b6c241c02762d8e1ad610f6b0d350d7426218dc401b5abc7d6294ee1b475da7c331e486d59a5608d1a0b777 +"@types/mime@npm:^1": + version: 1.3.2 + resolution: "@types/mime@npm:1.3.2" + checksum: 0493368244cced1a69cb791b485a260a422e6fcc857782e1178d1e6f219f1b161793e9f87f5fae1b219af0f50bee24fcbe733a18b4be8fdd07a38a8fb91146fd languageName: node linkType: hard -"@types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0": - version: 16.11.7 - resolution: "@types/node@npm:16.11.7" - checksum: 2706403e6efc4aa40fdce8f0b5d9884d5600c3c8610aedc7fa5e7e298d30366f7e8b7296028d52898dca3edef4c3e827b03bf20952c4780f13fa4e79864f7a86 +"@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0": + version: 18.6.2 + resolution: "@types/node@npm:18.6.2" + checksum: 644c460baedb1fbbd55369ab621167cb39ddaa727fd4fcf4bc7080183cf936d7ff8c2c886ba93ff42768d6f7a579a540e6d1e63d3adba4e5758fb13671ae68ce languageName: node linkType: hard "@types/node@npm:^17.0.41": - version: 17.0.41 - resolution: "@types/node@npm:17.0.41" - checksum: ddaf9e7decb487850a9bbfeb670b41c9d35c5b1597c4c4f889419b65042d776e9041ed533c7afc1bac30cad1e9dcfd984085b4a35312efe8ea5eaf0bd36a8191 - languageName: node - linkType: hard - -"@types/normalize-package-data@npm:^2.4.0": - version: 2.4.0 - resolution: "@types/normalize-package-data@npm:2.4.0" - checksum: fd22ba86a186a033dbe173840fd2ad091032be6d48163198869d058821acca7373d9f39cfd0caf42f3b92bc737723814fe1b4e9e90eacaa913836610aa197d3b + version: 17.0.45 + resolution: "@types/node@npm:17.0.45" + checksum: aa04366b9103b7d6cfd6b2ef64182e0eaa7d4462c3f817618486ea0422984c51fc69fd0d436eae6c9e696ddfdbec9ccaa27a917f7c2e8c75c5d57827fe3d95e8 languageName: node linkType: hard @@ -7216,21 +5431,14 @@ __metadata: languageName: node linkType: hard -"@types/prettier@npm:^2.0.0": - version: 2.2.2 - resolution: "@types/prettier@npm:2.2.2" - checksum: 22ab6c4fe5d9006fc0597bc365401641f36e730c9cac32c762624a68953963a20ae1cd39843fb382050c617cd39d879b69e627fed48256694baabdabadcc2c30 - languageName: node - linkType: hard - -"@types/prop-types@npm:*": - version: 15.7.3 - resolution: "@types/prop-types@npm:15.7.3" - checksum: 41831d53c44c9eeafdaf9762bcb4553c13a3bbf990745ed9065a1cc3581b80633113b53fd49b202bf51731b258da5d0a9aa09c9035d5af7f78b0f6bc273f1325 +"@types/prettier@npm:^2.1.5": + version: 2.6.4 + resolution: "@types/prettier@npm:2.6.4" + checksum: a8ec6601cbacf8040782cc883bf1a9393fdcb991ebe88440b0f875bb1556652927ac9fe61a721b6c666ac6252158ba327ce2868559bafa2c86e7dfef4089782a languageName: node linkType: hard -"@types/prop-types@npm:^15.7.5": +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.5": version: 15.7.5 resolution: "@types/prop-types@npm:15.7.5" checksum: 5b43b8b15415e1f298243165f1d44390403bb2bd42e662bca3b5b5633fdd39c938e91b7fce3a9483699db0f7a715d08cef220c121f723a634972fdf596aec980 @@ -7238,27 +5446,32 @@ __metadata: linkType: hard "@types/q@npm:^1.5.1": - version: 1.5.4 - resolution: "@types/q@npm:1.5.4" - checksum: 0842d7d71b5f102dcc2d78f893d0b42c1149f8cdc194d09e7a00be3187999ee3041e535357344818f8fee1b5e216b06bb7df7754d0fe08bd8aca38d3c45f1af6 + version: 1.5.5 + resolution: "@types/q@npm:1.5.5" + checksum: 3bd386fb97a0e5f1ce1ed7a14e39b60e469b5ca9d920a7f69e0cdb58d22c0f5bdd16637d8c3a5bfeda76663c023564dd47a65389ee9aaabd65aee54803d5ba45 languageName: node linkType: hard -"@types/react-dom@npm:*": - version: 17.0.11 - resolution: "@types/react-dom@npm:17.0.11" - dependencies: - "@types/react": "*" - checksum: 4d5730dffbef86c887cecad7e3cecda424ce6a64d0b5441c63b5b015d48219868660a2bb1aa15e897e565ad8867fa6b885d4358b04e1c4e589ba4c07c3fda55c +"@types/qs@npm:*": + version: 6.9.7 + resolution: "@types/qs@npm:6.9.7" + checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.4 + resolution: "@types/range-parser@npm:1.2.4" + checksum: b7c0dfd5080a989d6c8bb0b6750fc0933d9acabeb476da6fe71d8bdf1ab65e37c136169d84148034802f48378ab94e3c37bb4ef7656b2bec2cb9c0f8d4146a95 languageName: node linkType: hard -"@types/react-dom@npm:^18.0.5": - version: 18.0.5 - resolution: "@types/react-dom@npm:18.0.5" +"@types/react-dom@npm:*, @types/react-dom@npm:^18.0.5": + version: 18.0.6 + resolution: "@types/react-dom@npm:18.0.6" dependencies: "@types/react": "*" - checksum: cd48b81950f499b52a3f0c08261f00046f9b7c96699fa249c9664e257e820daf6ecac815cd1028cebc9d105094adc39d047d1efd79214394b8b2d515574c0787 + checksum: db571047af1a567631758700b9f7d143e566df939cfe5fbf7535347cc0c726a1cdbb5e3f8566d076e54cf708b6c1166689de194a9ba09ee35efc9e1d45911685 languageName: node linkType: hard @@ -7271,51 +5484,23 @@ __metadata: languageName: node linkType: hard -"@types/react-transition-group@npm:^4.2.0": - version: 4.4.1 - resolution: "@types/react-transition-group@npm:4.4.1" - dependencies: - "@types/react": "*" - checksum: feb4baddd598b27a9a267028c22484a89edb99a5bb3fd0112a92e402bf15d5371924fc3572d9567f5d8aa6fc1757ef48a52b2545345415f8bd41eadfd18b80b9 - languageName: node - linkType: hard - -"@types/react-transition-group@npm:^4.4.4": - version: 4.4.4 - resolution: "@types/react-transition-group@npm:4.4.4" +"@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.5": + version: 4.4.5 + resolution: "@types/react-transition-group@npm:4.4.5" dependencies: "@types/react": "*" - checksum: 86e9ff9731798e12bc2afe0304678918769633b531dcf6397f86af81718fb7930ef8648e894eeb3718fc6eab6eb885cfb9b82a44d1d74e10951ee11ebc4643ae - languageName: node - linkType: hard - -"@types/react@npm:*": - version: 17.0.2 - resolution: "@types/react@npm:17.0.2" - dependencies: - "@types/prop-types": "*" - csstype: ^3.0.2 - checksum: a5198857165feddcbfc7d33e3322460ac62b8894d702414496a825b0c82272911ec33a42ef7c9d623a59308070eef4dfee6ff834b0674aa3f87eeb644196ee3b + checksum: 265f1c74061556708ffe8d15559e35c60d6c11478c9950d3735575d2c116ca69f461d85effa06d73a613eb8b73c84fd32682feb57cf7c5f9e4284021dbca25b0 languageName: node linkType: hard -"@types/react@npm:^18.0.12": - version: 18.0.12 - resolution: "@types/react@npm:18.0.12" +"@types/react@npm:*, @types/react@npm:^18.0.12": + version: 18.0.15 + resolution: "@types/react@npm:18.0.15" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 526ea13b3adf7fe4b475e55b7426510a7861ef2910664a9014ef42cba0c699d5167dc378eb161e2ec26c07a3b6fde9b6bdcbbb6f4b5580612246bc289395ef03 - languageName: node - linkType: hard - -"@types/resolve@npm:0.0.8": - version: 0.0.8 - resolution: "@types/resolve@npm:0.0.8" - dependencies: - "@types/node": "*" - checksum: f241bb773ab14b14500623ac3b57c52006ce32b20426b6d8bf2fe5fdc0344f42c77ac0f94ff57b443ae1d320a1a86c62b4e47239f0321699404402fbeb24bad6 + checksum: e22cc388d1c145aa184787e44dc28db4789976c704cd5db475c170bb76a560eb81def5f346cfe750949bb3d43ad88822b8cbb9f19b1286e3795892a8263e7715 languageName: node linkType: hard @@ -7328,6 +5513,13 @@ __metadata: languageName: node linkType: hard +"@types/retry@npm:0.12.0": + version: 0.12.0 + resolution: "@types/retry@npm:0.12.0" + checksum: 61a072c7639f6e8126588bf1eb1ce8835f2cb9c2aba795c4491cf6310e013267b0c8488039857c261c387e9728c1b43205099223f160bb6a76b4374f741b5603 + languageName: node + linkType: hard + "@types/scheduler@npm:*": version: 0.16.2 resolution: "@types/scheduler@npm:0.16.2" @@ -7335,238 +5527,221 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.9": - version: 7.3.9 - resolution: "@types/semver@npm:7.3.9" - checksum: 60bfcfdfa7f937be2c6f4b37ddb6714fb0f27b05fe4cbdfdd596a97d35ed95d13ee410efdd88e72a66449d0384220bf20055ab7d6b5df10de4990fbd20e5cbe0 - languageName: node - linkType: hard - -"@types/source-list-map@npm:*": - version: 0.1.2 - resolution: "@types/source-list-map@npm:0.1.2" - checksum: fda8f37537aca9d3ed860d559289ab1dddb6897e642e6f53e909bbd18a7ac3129a8faa2a7d093847c91346cf09c86ef36e350c715406fba1f2271759b449adf6 - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.0 - resolution: "@types/stack-utils@npm:2.0.0" - checksum: b3fbae25b073116977ecb5c67d22f14567b51a7792403b0bf46e5de8f29bde3bd4ec1626afb22065495ca7f1c699c8bd66720050c94b8f8f9bcefbee79d161fd +"@types/semver@npm:^7.3.10": + version: 7.3.10 + resolution: "@types/semver@npm:7.3.10" + checksum: 7047c2822b1759b2b950f39cfcf261f2b9dca47b4b55bdebba0905a8553631f1531eb0f59264ffe4834d1198c8331c8e0010a4cd742f4e0b60abbf399d134364 languageName: node linkType: hard -"@types/tapable@npm:*, @types/tapable@npm:^1.0.5": - version: 1.0.6 - resolution: "@types/tapable@npm:1.0.6" - checksum: 5be0d2b1c71f0fbd92a3df23140fc1907c8c4471f42385ce1cf700144405a1baa5c272964c8cb0488b589b354c2a952835a9d9e64b1e131ae88ab36cf46ab5da +"@types/serve-index@npm:^1.9.1": + version: 1.9.1 + resolution: "@types/serve-index@npm:1.9.1" + dependencies: + "@types/express": "*" + checksum: 026f3995fb500f6df7c3fe5009e53bad6d739e20b84089f58ebfafb2f404bbbb6162bbe33f72d2f2af32d5b8d3799c8e179793f90d9ed5871fb8591190bb6056 languageName: node linkType: hard -"@types/uglify-js@npm:*": - version: 3.12.0 - resolution: "@types/uglify-js@npm:3.12.0" +"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": + version: 1.13.10 + resolution: "@types/serve-static@npm:1.13.10" dependencies: - source-map: ^0.6.1 - checksum: 5378f9384e976555bfe0476030c7f77b89f0563337ce710b76900f00fd83a0f20d506e4a22993fde29cefeeed2f97fafb6da281a61c40a99b4e8c1469530df0d + "@types/mime": ^1 + "@types/node": "*" + checksum: eaca858739483e3ded254cad7d7a679dc2c8b3f52c8bb0cd845b3b7eb1984bde0371fdcb0a5c83aa12e6daf61b6beb762545021f520f08a1fe882a3fa4ea5554 languageName: node linkType: hard -"@types/webpack-sources@npm:*": - version: 2.1.0 - resolution: "@types/webpack-sources@npm:2.1.0" +"@types/sockjs@npm:^0.3.33": + version: 0.3.33 + resolution: "@types/sockjs@npm:0.3.33" dependencies: "@types/node": "*" - "@types/source-list-map": "*" - source-map: ^0.7.3 - checksum: de7fc348b57286b9d745b22cf2e910daecbcae47b64c29f91ed877f30b7b132de7e1e575855422717113d390e1c18e2767443f8a10e9394056b47c42adbad6f5 + checksum: b9bbb2b5c5ead2fb884bb019f61a014e37410bddd295de28184e1b2e71ee6b04120c5ba7b9954617f0bdf962c13d06249ce65004490889c747c80d3f628ea842 languageName: node linkType: hard -"@types/webpack@npm:^4.41.8": - version: 4.41.26 - resolution: "@types/webpack@npm:4.41.26" - dependencies: - "@types/anymatch": "*" - "@types/node": "*" - "@types/tapable": "*" - "@types/uglify-js": "*" - "@types/webpack-sources": "*" - source-map: ^0.6.0 - checksum: a0190801069a177a60fd9274ee1638e2fefa721609bcb657d92c5de43fdcfa771ec93daf2735419cea5e61a73ca6bf9b26c019638ab26ccc573a35355be84435 +"@types/stack-utils@npm:^2.0.0": + version: 2.0.1 + resolution: "@types/stack-utils@npm:2.0.1" + checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 languageName: node linkType: hard -"@types/yargs-parser@npm:*": - version: 20.2.0 - resolution: "@types/yargs-parser@npm:20.2.0" - checksum: 54cf3f8d2c7db47e200e8c96e05b3b33ee554e78d29f3db55f04ca4b86dc6b8ff6b1349f5772268ce2d365cde0a0f4fdd92bf5933c2be2c1ea3f19f0b4599e1f +"@types/trusted-types@npm:^2.0.2": + version: 2.0.2 + resolution: "@types/trusted-types@npm:2.0.2" + checksum: 3371eef5f1c50e1c3c07a127c1207b262ba65b83dd167a1c460fc1b135a3fb0c97b9f508efebd383f239cc5dd5b7169093686a692a501fde9c3f7208657d9b0d languageName: node linkType: hard -"@types/yargs@npm:^15.0.0": - version: 15.0.13 - resolution: "@types/yargs@npm:15.0.13" +"@types/ws@npm:^8.5.1": + version: 8.5.3 + resolution: "@types/ws@npm:8.5.3" dependencies: - "@types/yargs-parser": "*" - checksum: a6ebb0ec63f168280e02370fcf24ff29c3eb0335e1c46e3b34e04d32eb7c818446e0b7de8badb339b07c0ddba322827ce13ccb604d14a0de422335ae56b2120d + "@types/node": "*" + checksum: 0ce46f850d41383fcdc2149bcacc86d7232fa7a233f903d2246dff86e31701a02f8566f40af5f8b56d1834779255c04ec6ec78660fe0f9b2a69cf3d71937e4ae languageName: node linkType: hard -"@types/yarnpkg__lockfile@npm:^1.1.5": - version: 1.1.5 - resolution: "@types/yarnpkg__lockfile@npm:1.1.5" - checksum: 2aa761eebea2e8780ddc9d2819a356451d04166e3ea4fad3fd43d81e25a68806edf884f71aef12f77f0a256eb98aa152d32a8af16e32d04a918424d10cb6d858 +"@types/yargs-parser@npm:*": + version: 21.0.0 + resolution: "@types/yargs-parser@npm:21.0.0" + checksum: b2f4c8d12ac18a567440379909127cf2cec393daffb73f246d0a25df36ea983b93b7e9e824251f959e9f928cbc7c1aab6728d0a0ff15d6145f66cec2be67d9a2 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^4.5.0": - version: 4.16.1 - resolution: "@typescript-eslint/eslint-plugin@npm:4.16.1" +"@types/yargs@npm:^16.0.0": + version: 16.0.4 + resolution: "@types/yargs@npm:16.0.4" dependencies: - "@typescript-eslint/experimental-utils": 4.16.1 - "@typescript-eslint/scope-manager": 4.16.1 - debug: ^4.1.1 - functional-red-black-tree: ^1.0.1 - lodash: ^4.17.15 - regexpp: ^3.0.0 - semver: ^7.3.2 - tsutils: ^3.17.1 - peerDependencies: - "@typescript-eslint/parser": ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 488880433f73efbc4aed4d208df55e94f12fa15349ce77188d2fa9012b4a6cf8767491fa48403ab1403a11f22b90e515f4ace02339ad628adbb0f3c3c9ace2b8 + "@types/yargs-parser": "*" + checksum: caa21d2c957592fe2184a8368c8cbe5a82a6c2e2f2893722e489f842dc5963293d2f3120bc06fe3933d60a3a0d1e2eb269649fd6b1947fe1820f8841ba611dd9 languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:4.16.1, @typescript-eslint/experimental-utils@npm:^4.0.1": - version: 4.16.1 - resolution: "@typescript-eslint/experimental-utils@npm:4.16.1" +"@types/yargs@npm:^17.0.8": + version: 17.0.10 + resolution: "@types/yargs@npm:17.0.10" dependencies: - "@types/json-schema": ^7.0.3 - "@typescript-eslint/scope-manager": 4.16.1 - "@typescript-eslint/types": 4.16.1 - "@typescript-eslint/typescript-estree": 4.16.1 - eslint-scope: ^5.0.0 - eslint-utils: ^2.0.0 - peerDependencies: - eslint: "*" - checksum: e5957bc3b0a2f0ba22637d81b162423fb56ad63be3acff37d01e2b1abba110f304ff2a57a4ff103bb3b11db0dda2a5cbec4bf07197087dc15ded58345ccf8c77 + "@types/yargs-parser": "*" + checksum: f0673cbfc08e17239dc58952a88350d6c4db04a027a28a06fbad27d87b670e909f9cd9e66f9c64cebdd5071d1096261e33454a55868395f125297e5c50992ca8 languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:^3.10.1": - version: 3.10.1 - resolution: "@typescript-eslint/experimental-utils@npm:3.10.1" - dependencies: - "@types/json-schema": ^7.0.3 - "@typescript-eslint/types": 3.10.1 - "@typescript-eslint/typescript-estree": 3.10.1 - eslint-scope: ^5.0.0 - eslint-utils: ^2.0.0 - peerDependencies: - eslint: "*" - checksum: 635cc1afe466088b04901c2bce0e4c3e48bb74668e61e39aa74a485f856c6f9683482350d4b16b3f4c0112ce40cad2c2c427d4fe5e11a3329b3bb93286d4ab26 +"@types/yarnpkg__lockfile@npm:^1.1.5": + version: 1.1.5 + resolution: "@types/yarnpkg__lockfile@npm:1.1.5" + checksum: 2aa761eebea2e8780ddc9d2819a356451d04166e3ea4fad3fd43d81e25a68806edf884f71aef12f77f0a256eb98aa152d32a8af16e32d04a918424d10cb6d858 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^4.5.0": - version: 4.16.1 - resolution: "@typescript-eslint/parser@npm:4.16.1" +"@typescript-eslint/eslint-plugin@npm:^5.5.0": + version: 5.31.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.31.0" dependencies: - "@typescript-eslint/scope-manager": 4.16.1 - "@typescript-eslint/types": 4.16.1 - "@typescript-eslint/typescript-estree": 4.16.1 - debug: ^4.1.1 + "@typescript-eslint/scope-manager": 5.31.0 + "@typescript-eslint/type-utils": 5.31.0 + "@typescript-eslint/utils": 5.31.0 + debug: ^4.3.4 + functional-red-black-tree: ^1.0.1 + ignore: ^5.2.0 + regexpp: ^3.2.0 + semver: ^7.3.7 + tsutils: ^3.21.0 peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 439b424fe4f5ab88e73c8cd85ef6935ef10f54b93b004299ba4c5ca4be1b67d2957931338247c207e6160cb7a0ebda9aa3707274bafdd1151a00a84bd0546941 + checksum: a6d007e6cc6c7204b9ce09dd6670a5a29f8b75417a84c8238d1dd7fc3bfa4a7294beb961a0ba76e610b695a0c80edd4186803429e3605a21562c23e47b8efa37 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:4.16.1": - version: 4.16.1 - resolution: "@typescript-eslint/scope-manager@npm:4.16.1" +"@typescript-eslint/experimental-utils@npm:^5.0.0": + version: 5.31.0 + resolution: "@typescript-eslint/experimental-utils@npm:5.31.0" dependencies: - "@typescript-eslint/types": 4.16.1 - "@typescript-eslint/visitor-keys": 4.16.1 - checksum: 0b006b67a0977e0c84f7dc7731135f03f948f9f072ed2c8e65cb61b19eff1cb8edb3a774791b9303299f59bc0ddeb77005b7b2a11775eece9f74db303a0ecf2c + "@typescript-eslint/utils": 5.31.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 87d9c9fe9b887bb46780741e682fc83285454ea7dd7beffcbe74441d9be5bd2fdec01bec933cd5278b7a2c4542dd1a35f2eb7a71f3c0a5127d792108aa9f827d languageName: node linkType: hard -"@typescript-eslint/types@npm:3.10.1": - version: 3.10.1 - resolution: "@typescript-eslint/types@npm:3.10.1" - checksum: 3ea820d37c2595d457acd6091ffda8b531e5d916e1cce708336bf958aa8869126f95cca3268a724f453ce13be11c5388a0a4143bf09bca51be1020ec46635d92 +"@typescript-eslint/parser@npm:^5.5.0": + version: 5.31.0 + resolution: "@typescript-eslint/parser@npm:5.31.0" + dependencies: + "@typescript-eslint/scope-manager": 5.31.0 + "@typescript-eslint/types": 5.31.0 + "@typescript-eslint/typescript-estree": 5.31.0 + debug: ^4.3.4 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: ae842105ff0e5811d54c9c020ee0568170c13f401de293eb4caa2106f3060558773b496b5647f2b80b2969a2890135c054f50e2443a13c3705d5965aa12896c0 languageName: node linkType: hard -"@typescript-eslint/types@npm:4.16.1": - version: 4.16.1 - resolution: "@typescript-eslint/types@npm:4.16.1" - checksum: d5babec7346a666c72247025d39925e7c0f70f8ed44ee9584eb8a732e9d2a4c39c29d14fe4184c95c0a9a3b55c629986f793c4d01390f457c03aa452406d025f +"@typescript-eslint/scope-manager@npm:5.31.0": + version: 5.31.0 + resolution: "@typescript-eslint/scope-manager@npm:5.31.0" + dependencies: + "@typescript-eslint/types": 5.31.0 + "@typescript-eslint/visitor-keys": 5.31.0 + checksum: f771adf54a7cf6387bb201a0d4bef598425818c38832cabbf33c369b3fb650932cbb81a28f198727f3ffae5e21445dde710c41c624bd10b3b7283249333b625b languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:3.10.1": - version: 3.10.1 - resolution: "@typescript-eslint/typescript-estree@npm:3.10.1" +"@typescript-eslint/type-utils@npm:5.31.0": + version: 5.31.0 + resolution: "@typescript-eslint/type-utils@npm:5.31.0" dependencies: - "@typescript-eslint/types": 3.10.1 - "@typescript-eslint/visitor-keys": 3.10.1 - debug: ^4.1.1 - glob: ^7.1.6 - is-glob: ^4.0.1 - lodash: ^4.17.15 - semver: ^7.3.2 - tsutils: ^3.17.1 + "@typescript-eslint/utils": 5.31.0 + debug: ^4.3.4 + tsutils: ^3.21.0 + peerDependencies: + eslint: "*" peerDependenciesMeta: typescript: optional: true - checksum: 911680da9d26220944f4f8f26f88349917609844fafcff566147cecae37ff0211d66c626eb62a2b24d17fd50d10715f5b0f32b2e7f5d9a88efc46709266d5053 + checksum: 1e98a6952207cf7d19cdac375a69bcfed953a29746fa1f2b3c7a8c9376c6984c0bb52506539b76d6a9bebc33966c825f032a27859e545447890562dd3c05ef31 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:4.16.1": - version: 4.16.1 - resolution: "@typescript-eslint/typescript-estree@npm:4.16.1" +"@typescript-eslint/types@npm:5.31.0": + version: 5.31.0 + resolution: "@typescript-eslint/types@npm:5.31.0" + checksum: 1c4223a7dcbeb2fb52dc723ac366e2cc75549b21d71f5de8515e86e48d13324e4e136e75804e0f71aff56c9936ef494fa4d1e3eb2f189ed60cf8e2c7401ce372 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.31.0": + version: 5.31.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.31.0" dependencies: - "@typescript-eslint/types": 4.16.1 - "@typescript-eslint/visitor-keys": 4.16.1 - debug: ^4.1.1 - globby: ^11.0.1 - is-glob: ^4.0.1 - semver: ^7.3.2 - tsutils: ^3.17.1 + "@typescript-eslint/types": 5.31.0 + "@typescript-eslint/visitor-keys": 5.31.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 peerDependenciesMeta: typescript: optional: true - checksum: 32856f9eeb0adfe758929c09074f71af30823520a2f028dcc3091ac1ed94da406e1e0bb3af10279253d62f6232ce12417138e7b664cbea28303a48fdcf96ad46 + checksum: 921c502ac4c93df9342d29636b384e154c3ac714e2be0308a4c9d3337d24d8b4721b76cbe700f70c7ceef06b50dfc404e4d4d734e446fe319bac030cb653d7b4 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:3.10.1": - version: 3.10.1 - resolution: "@typescript-eslint/visitor-keys@npm:3.10.1" +"@typescript-eslint/utils@npm:5.31.0, @typescript-eslint/utils@npm:^5.13.0": + version: 5.31.0 + resolution: "@typescript-eslint/utils@npm:5.31.0" dependencies: - eslint-visitor-keys: ^1.1.0 - checksum: 0c4825b9829b1c11258a73aaee70d64834ba6d9b24157e7624e80f27f6537f468861d4dd33ad233c13ad2c6520afb9008c0675da6d792f26e82d75d6bfe9b0c6 + "@types/json-schema": ^7.0.9 + "@typescript-eslint/scope-manager": 5.31.0 + "@typescript-eslint/types": 5.31.0 + "@typescript-eslint/typescript-estree": 5.31.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 2a4200fd8812f7d7dfbe381d856e97da3606f0c59de78829edd297cc76b4851316bf8362b65e66c7db399e9ea31ec71943626ec12022a552bcb7bb591259ec49 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:4.16.1": - version: 4.16.1 - resolution: "@typescript-eslint/visitor-keys@npm:4.16.1" +"@typescript-eslint/visitor-keys@npm:5.31.0": + version: 5.31.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.31.0" dependencies: - "@typescript-eslint/types": 4.16.1 - eslint-visitor-keys: ^2.0.0 - checksum: a02cd959fae7572237eea5b9f5d3056fd5ac600f147f60c6f9025bc1d17801e1c05149ea2b32059d8b7a839914cec1c205f412ac4ed4123f43cf9eeec7a97ada + "@typescript-eslint/types": 5.31.0 + eslint-visitor-keys: ^3.3.0 + checksum: 24ff3b9037b8fafe4f240b1c8a91981d658cd12a019f7961c9fe2f1d4dc84cf64e4071d865073191181b46652f4bd8f8cfc8e053ed8737ba1b9aede3e3252b3d languageName: node linkType: hard @@ -7755,184 +5930,154 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/ast@npm:1.9.0" +"@webassemblyjs/ast@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/ast@npm:1.11.1" dependencies: - "@webassemblyjs/helper-module-context": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/wast-parser": 1.9.0 - checksum: 8a9838dc7fdac358aee8daa75eefa35934ab18dafb594092ff7be79c467ebe9dabb2543e58313c905fd802bdcc3cb8320e4e19af7444e49853a7a24e25138f75 - languageName: node - linkType: hard - -"@webassemblyjs/floating-point-hex-parser@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.9.0" - checksum: d3aeb19bc30da26f639698daa28e44e0c18d5aa135359ef3c54148e194eec46451a912d0506099d479a71a94bc3eef6ef52d6ec234799528a25a9744789852de - languageName: node - linkType: hard - -"@webassemblyjs/helper-api-error@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-api-error@npm:1.9.0" - checksum: 9179d3148639cc202e89a118145b485cf834613260679a99af6ec487bbc15f238566ca713207394b336160a41bf8c1b75cf2e853b3e96f0cc73c1e5c735b3f64 + "@webassemblyjs/helper-numbers": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + checksum: 1eee1534adebeece635362f8e834ae03e389281972611408d64be7895fc49f48f98fddbbb5339bf8a72cb101bcb066e8bca3ca1bf1ef47dadf89def0395a8d87 languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-buffer@npm:1.9.0" - checksum: dcb85f630f8a2e22b7346ad4dd58c3237a2cad1457699423e8fd19592a0bd3eacbc2639178a1b9a873c3ac217bfc7a23a134ff440a099496b590e82c7a4968d5 +"@webassemblyjs/floating-point-hex-parser@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" + checksum: b8efc6fa08e4787b7f8e682182d84dfdf8da9d9c77cae5d293818bc4a55c1f419a87fa265ab85252b3e6c1fd323d799efea68d825d341a7c365c64bc14750e97 languageName: node linkType: hard -"@webassemblyjs/helper-code-frame@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-code-frame@npm:1.9.0" - dependencies: - "@webassemblyjs/wast-printer": 1.9.0 - checksum: a28fa057f7beff0fd14bff716561520f8edb8c9c56c7a5559451e6765acfb70aaeb8af718ea2bd2262e7baeba597545af407e28eb2eff8329235afe8605f20d1 +"@webassemblyjs/helper-api-error@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" + checksum: 0792813f0ed4a0e5ee0750e8b5d0c631f08e927f4bdfdd9fe9105dc410c786850b8c61bff7f9f515fdfb149903bec3c976a1310573a4c6866a94d49bc7271959 languageName: node linkType: hard -"@webassemblyjs/helper-fsm@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-fsm@npm:1.9.0" - checksum: 374cc510c8f5a7a07d4fe9eb7036cc475a96a670b5d25c31f16757ac8295be8d03a2f29657ff53eaefa9e8315670a48824d430ed910e7c1835788ac79f93124e +"@webassemblyjs/helper-buffer@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" + checksum: a337ee44b45590c3a30db5a8b7b68a717526cf967ada9f10253995294dbd70a58b2da2165222e0b9830cd4fc6e4c833bf441a721128d1fe2e9a7ab26b36003ce languageName: node linkType: hard -"@webassemblyjs/helper-module-context@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-module-context@npm:1.9.0" +"@webassemblyjs/helper-numbers@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - checksum: 55e8f89c7ea1beaa78fad88403f3753b8413b0f3b6bb32d898ce95078b3e1d1b48ade0919c00b82fc2e3813c0ab6901e415f7a4d4fa9be50944e2431adde75a5 + "@webassemblyjs/floating-point-hex-parser": 1.11.1 + "@webassemblyjs/helper-api-error": 1.11.1 + "@xtuc/long": 4.2.2 + checksum: 44d2905dac2f14d1e9b5765cf1063a0fa3d57295c6d8930f6c59a36462afecc6e763e8a110b97b342a0f13376166c5d41aa928e6ced92e2f06b071fd0db59d3a languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.9.0" - checksum: 280da4df3c556f73a1a02053277f8a4be481de32df4aa21050b015c8f4d27c46af89f0417eb88e486df117e5df4bccffae593f78cb1e79f212d3b3d4f3ed0f04 +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1" + checksum: eac400113127832c88f5826bcc3ad1c0db9b3dbd4c51a723cfdb16af6bfcbceb608170fdaac0ab7731a7e18b291be7af68a47fcdb41cfe0260c10857e7413d97 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.9.0" +"@webassemblyjs/helper-wasm-section@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-buffer": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/wasm-gen": 1.9.0 - checksum: b8f7bb45d4194074c82210211a5d3e402a5b5fa63ecae26d2c356ae3978af5a530e91192fb260f32f9d561b18e2828b3da2e2f41c59efadb5f3c6d72446807f0 + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + checksum: 617696cfe8ecaf0532763162aaf748eb69096fb27950219bb87686c6b2e66e11cd0614d95d319d0ab1904bc14ebe4e29068b12c3e7c5e020281379741fe4bedf languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/ieee754@npm:1.9.0" +"@webassemblyjs/ieee754@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/ieee754@npm:1.11.1" dependencies: "@xtuc/ieee754": ^1.2.0 - checksum: 7fe4a217ba0f7051e2cfef92919d4a64fac1a63c65411763779bd50907820f33f440255231a474fe3ba03bd1d9ee0328662d1eae3fce4c59b91549d6b62b839b + checksum: 23a0ac02a50f244471631802798a816524df17e56b1ef929f0c73e3cde70eaf105a24130105c60aff9d64a24ce3b640dad443d6f86e5967f922943a7115022ec languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/leb128@npm:1.9.0" +"@webassemblyjs/leb128@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/leb128@npm:1.11.1" dependencies: "@xtuc/long": 4.2.2 - checksum: 4ca7cbb869530d78d42a414f34ae53249364cb1ecebbfb6ed5d562c2f209fce857502f088822ee82a23876f653a262ddc34ab64e45a7962510a263d39bb3f51a - languageName: node - linkType: hard - -"@webassemblyjs/utf8@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/utf8@npm:1.9.0" - checksum: e328a30ac8a503bbd015d32e75176e0dedcb45a21d4be051c25dfe89a00035ca7a6dbd8937b442dd5b4b334de3959d4f5fe0b330037bd226a28b9814cd49e84f + checksum: 33ccc4ade2f24de07bf31690844d0b1ad224304ee2062b0e464a610b0209c79e0b3009ac190efe0e6bd568b0d1578d7c3047fc1f9d0197c92fc061f56224ff4a languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-edit@npm:1.9.0" - dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-buffer": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/helper-wasm-section": 1.9.0 - "@webassemblyjs/wasm-gen": 1.9.0 - "@webassemblyjs/wasm-opt": 1.9.0 - "@webassemblyjs/wasm-parser": 1.9.0 - "@webassemblyjs/wast-printer": 1.9.0 - checksum: 1997e0c2f4051c33239587fb143242919320bc861a0af03a873c7150a27d6404bd2e063c658193288b0aa88c35aadbe0c4fde601fe642bae0743a8c8eda52717 +"@webassemblyjs/utf8@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/utf8@npm:1.11.1" + checksum: 972c5cfc769d7af79313a6bfb96517253a270a4bf0c33ba486aa43cac43917184fb35e51dfc9e6b5601548cd5931479a42e42c89a13bb591ffabebf30c8a6a0b languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-gen@npm:1.9.0" +"@webassemblyjs/wasm-edit@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/ieee754": 1.9.0 - "@webassemblyjs/leb128": 1.9.0 - "@webassemblyjs/utf8": 1.9.0 - checksum: 2456e84e8e6bedb7ab47f6333a0ee170f7ef62842c90862ca787c08528ca8041061f3f8bc257fc2a01bf6e8d1a76fddaddd43418c738f681066e5b50f88fe7df + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/helper-wasm-section": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + "@webassemblyjs/wasm-opt": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + "@webassemblyjs/wast-printer": 1.11.1 + checksum: 6d7d9efaec1227e7ef7585a5d7ff0be5f329f7c1c6b6c0e906b18ed2e9a28792a5635e450aca2d136770d0207225f204eff70a4b8fd879d3ac79e1dcc26dbeb9 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-opt@npm:1.9.0" +"@webassemblyjs/wasm-gen@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-buffer": 1.9.0 - "@webassemblyjs/wasm-gen": 1.9.0 - "@webassemblyjs/wasm-parser": 1.9.0 - checksum: 91242205bdbd1aa8045364a5338bfb34880cb2c65f56db8dd19382894209673699fb31a0e5279f25c7e5bcd8f3097d6c9ca84d8969d9613ef2cf166450cc3515 + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/ieee754": 1.11.1 + "@webassemblyjs/leb128": 1.11.1 + "@webassemblyjs/utf8": 1.11.1 + checksum: 1f6921e640293bf99fb16b21e09acb59b340a79f986c8f979853a0ae9f0b58557534b81e02ea2b4ef11e929d946708533fd0693c7f3712924128fdafd6465f5b languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wasm-parser@npm:1.9.0" +"@webassemblyjs/wasm-opt@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-api-error": 1.9.0 - "@webassemblyjs/helper-wasm-bytecode": 1.9.0 - "@webassemblyjs/ieee754": 1.9.0 - "@webassemblyjs/leb128": 1.9.0 - "@webassemblyjs/utf8": 1.9.0 - checksum: 493f6cfc63a5e16073056c81ff0526a9936f461327379ef3c83cc841000e03623b6352704f6bf9f7cb5b3610f0032020a61f9cca78c91b15b8e995854b29c098 + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + checksum: 21586883a20009e2b20feb67bdc451bbc6942252e038aae4c3a08e6f67b6bae0f5f88f20bfc7bd0452db5000bacaf5ab42b98cf9aa034a6c70e9fc616142e1db languageName: node linkType: hard -"@webassemblyjs/wast-parser@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wast-parser@npm:1.9.0" +"@webassemblyjs/wasm-parser@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/floating-point-hex-parser": 1.9.0 - "@webassemblyjs/helper-api-error": 1.9.0 - "@webassemblyjs/helper-code-frame": 1.9.0 - "@webassemblyjs/helper-fsm": 1.9.0 - "@xtuc/long": 4.2.2 - checksum: 705dd48fbbceec7f6bed299b8813631b242fd9312f9594dbb2985dda86c9688048692357d684f6080fc2c5666287cefaa26b263d01abadb6a9049d4c8978b9db + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-api-error": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/ieee754": 1.11.1 + "@webassemblyjs/leb128": 1.11.1 + "@webassemblyjs/utf8": 1.11.1 + checksum: 1521644065c360e7b27fad9f4bb2df1802d134dd62937fa1f601a1975cde56bc31a57b6e26408b9ee0228626ff3ba1131ae6f74ffb7d718415b6528c5a6dbfc2 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.9.0": - version: 1.9.0 - resolution: "@webassemblyjs/wast-printer@npm:1.9.0" +"@webassemblyjs/wast-printer@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wast-printer@npm:1.11.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/wast-parser": 1.9.0 + "@webassemblyjs/ast": 1.11.1 "@xtuc/long": 4.2.2 - checksum: 3d1e1b2e84745a963f69acd1c02425b321dd2e608e11dabc467cae0c9a808962bc769ec9afc46fbcea7188cc1e47d72370da762d258f716fb367cb1a7865c54b + checksum: f15ae4c2441b979a3b4fce78f3d83472fb22350c6dc3fd34bfe7c3da108e0b2360718734d961bba20e7716cb8578e964b870da55b035e209e50ec9db0378a3f7 languageName: node linkType: hard @@ -7957,10 +6102,10 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.0, abab@npm:^2.0.3": - version: 2.0.5 - resolution: "abab@npm:2.0.5" - checksum: 0ec951b46d5418c2c2f923021ec193eaebdb4e802ffd5506286781b454be722a13a8430f98085cd3e204918401d9130ec6cc8f5ae19be315b3a0e857d83196e1 +"abab@npm:^2.0.0, abab@npm:^2.0.3, abab@npm:^2.0.5": + version: 2.0.6 + resolution: "abab@npm:2.0.6" + checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e languageName: node linkType: hard @@ -7985,13 +6130,13 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.7": - version: 1.3.7 - resolution: "accepts@npm:1.3.7" +"accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" dependencies: - mime-types: ~2.1.24 - negotiator: 0.6.2 - checksum: 27fc8060ffc69481ff6719cd3ee06387d2b88381cb0ce626f087781bbd02201a645a9febc8e7e7333558354b33b1d2f922ad13560be4ec1b7ba9e76fc1c1241d + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 languageName: node linkType: hard @@ -8015,12 +6160,32 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.3.1": - version: 5.3.1 - resolution: "acorn-jsx@npm:5.3.1" +"acorn-import-assertions@npm:^1.7.6": + version: 1.8.0 + resolution: "acorn-import-assertions@npm:1.8.0" + peerDependencies: + acorn: ^8 + checksum: 5c4cf7c850102ba7ae0eeae0deb40fb3158c8ca5ff15c0bca43b5c47e307a1de3d8ef761788f881343680ea374631ae9e9615ba8876fee5268dbe068c98bcba6 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: daf441a9d7b59c0ea1f7fe2934c48aca604a007455129ce35fa62ec3d4c8363e2efc2d4da636d18ce0049979260ba07d8b42bc002ae95182916d2c90901529c2 + checksum: c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950 + languageName: node + linkType: hard + +"acorn-node@npm:^1.8.2": + version: 1.8.2 + resolution: "acorn-node@npm:1.8.2" + dependencies: + acorn: ^7.0.0 + acorn-walk: ^7.0.0 + xtend: ^4.0.2 + checksum: 02e1564a1ccf8bd1fcefcd01235398af4a9effaf032c5397994ddd275590a72894cb3e26e4b82579ccdda1e48ade7486aef61e771ddae3563ca452b927f443d8 languageName: node linkType: hard @@ -8031,14 +6196,14 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.1.1": +"acorn-walk@npm:^7.0.0, acorn-walk@npm:^7.1.1": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f languageName: node linkType: hard -"acorn@npm:^6.0.1, acorn@npm:^6.0.4, acorn@npm:^6.4.1": +"acorn@npm:^6.0.1, acorn@npm:^6.0.4": version: 6.4.2 resolution: "acorn@npm:6.4.2" bin: @@ -8047,7 +6212,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.1.0, acorn@npm:^7.1.1, acorn@npm:^7.4.0": +"acorn@npm:^7.0.0, acorn@npm:^7.1.1, acorn@npm:^7.4.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -8056,20 +6221,49 @@ __metadata: languageName: node linkType: hard -"address@npm:1.1.2, address@npm:^1.0.1": - version: 1.1.2 - resolution: "address@npm:1.1.2" - checksum: d966deee6ab9a0f96ed1d25dc73e91a248f64479c91f9daeb15237b8e3c39a02faac4e6afe8987ef9e5aea60a1593cef5882b7456ab2e6196fc0229a93ec39c2 +"acorn@npm:^8.2.4, acorn@npm:^8.5.0, acorn@npm:^8.7.1": + version: 8.8.0 + resolution: "acorn@npm:8.8.0" + bin: + acorn: bin/acorn + checksum: 7270ca82b242eafe5687a11fea6e088c960af712683756abf0791b68855ea9cace3057bd5e998ffcef50c944810c1e0ca1da526d02b32110e13c722aa959afdc languageName: node linkType: hard -"adjust-sourcemap-loader@npm:3.0.0": - version: 3.0.0 - resolution: "adjust-sourcemap-loader@npm:3.0.0" +"address@npm:^1.0.1, address@npm:^1.1.2": + version: 1.2.0 + resolution: "address@npm:1.2.0" + checksum: 2ef3aa9d23bbe0f9f2745a634b16f3a2f2b18c43146c0913c7b26c8be410e20d59b8c3808d0bb7fe94d50fc2448b4b91e65dd9f33deb4aed53c14f0dedc3ddd8 + languageName: node + linkType: hard + +"adjust-sourcemap-loader@npm:^4.0.0": + version: 4.0.0 + resolution: "adjust-sourcemap-loader@npm:4.0.0" dependencies: loader-utils: ^2.0.0 regex-parser: ^2.2.11 - checksum: 5ceabea85219fcafed06f7d1aafb37dc761c6435e4ded2a8c6b01c69844250aa94ef65a4d07210dc7566c2d8b4c9ba8897518db596a550461eed26fbeb76b96f + checksum: d524ae23582f41e2275af5d88faab7a9dc09770ed588244e0a76d3196d0d6a90bf02760c71bc6213dbfef3aef4a86232ac9521bfd629752c32b7af37bc74c660 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.2.1 + resolution: "agentkeepalive@npm:4.2.1" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 languageName: node linkType: hard @@ -8083,16 +6277,21 @@ __metadata: languageName: node linkType: hard -"ajv-errors@npm:^1.0.0": - version: 1.0.1 - resolution: "ajv-errors@npm:1.0.1" +"ajv-formats@npm:^2.1.1": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: ^8.0.0 peerDependencies: - ajv: ">=5.0.0" - checksum: 2c9fc02cf58f9aae5bace61ebd1b162e1ea372ae9db5999243ba5e32a9a78c0d635d29ae085f652c61c941a43af0b2b1acdb255e29d44dc43a6e021085716d8c + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 4a287d937f1ebaad4683249a4c40c0fa3beed30d9ddc0adba04859026a622da0d317851316ea64b3680dc60f5c3c708105ddd5d5db8fe595d9d0207fd19f90b7 languageName: node linkType: hard -"ajv-keywords@npm:^3.1.0, ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": +"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": version: 3.5.2 resolution: "ajv-keywords@npm:3.5.2" peerDependencies: @@ -8101,7 +6300,18 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv-keywords@npm:^5.0.0": + version: 5.1.0 + resolution: "ajv-keywords@npm:5.1.0" + dependencies: + fast-deep-equal: ^3.1.3 + peerDependencies: + ajv: ^8.8.2 + checksum: c35193940b853119242c6757787f09ecf89a2c19bcd36d03ed1a615e710d19d450cb448bfda407b939aba54b002368c8bff30529cc50a0536a8e10bcce300421 + languageName: node + linkType: hard + +"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -8113,15 +6323,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^7.0.2": - version: 7.1.1 - resolution: "ajv@npm:7.1.1" +"ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.6.0, ajv@npm:^8.8.0": + version: 8.11.0 + resolution: "ajv@npm:8.11.0" dependencies: fast-deep-equal: ^3.1.1 json-schema-traverse: ^1.0.0 require-from-string: ^2.0.2 uri-js: ^4.2.2 - checksum: e1a380d89367e73fd6dad5854abf46a8625e613d7cacce01432334c1ddbd8b950d62bbe9b8f0a52e456f68f57ffa2079d5eb033bd4069f257c1e8faf75961188 + checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef languageName: node linkType: hard @@ -8139,35 +6349,28 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^3.0.0": - version: 3.2.4 - resolution: "ansi-colors@npm:3.2.4" - checksum: 026c51880e9f8eb59b112669a87dbea4469939ff94b131606303bbd697438a6691b16b9db3027aa9bf132a244214e83ab1508b998496a34d2aea5b437ac9e62d - languageName: node - linkType: hard - "ansi-colors@npm:^4.1.1": - version: 4.1.1 - resolution: "ansi-colors@npm:4.1.1" - checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e languageName: node linkType: hard "ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.1": - version: 4.3.1 - resolution: "ansi-escapes@npm:4.3.1" + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" dependencies: - type-fest: ^0.11.0 - checksum: c4962c1791cc4e29efb9976680bad7b23f322ca039e588406680fffc8b6bc6e223721193eb481dab076309d9a7371bbfc4e835efe5fe267e3395ffa047da239d + type-fest: ^0.21.3 + checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 languageName: node linkType: hard -"ansi-html@npm:0.0.7, ansi-html@npm:^0.0.7": - version: 0.0.7 - resolution: "ansi-html@npm:0.0.7" +"ansi-html-community@npm:^0.0.8": + version: 0.0.8 + resolution: "ansi-html-community@npm:0.0.8" bin: - ansi-html: ./bin/ansi-html - checksum: 9b839ce99650b4c2d83621d67d68622d27e7948b54f7a4386f2218a3997ee4e684e5a6e8d290880c3f3260e8d90c2613c59c7028f04992ad5c8d99d3a0fcc02c + ansi-html: bin/ansi-html + checksum: 04c568e8348a636963f915e48eaa3e01218322e1169acafdd79c384f22e5558c003f79bbc480c1563865497482817c7eed025f0653ebc17642fededa5cb42089 languageName: node linkType: hard @@ -8179,26 +6382,26 @@ __metadata: linkType: hard "ansi-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "ansi-regex@npm:3.0.0" - checksum: 2ad11c416f81c39f5c65eafc88cf1d71aa91d76a2f766e75e457c2a3c43e8a003aadbf2966b61c497aa6a6940a36412486c975b3270cdfc3f413b69826189ec3 - languageName: node - linkType: hard - -"ansi-regex@npm:^4.1.0": - version: 4.1.0 - resolution: "ansi-regex@npm:4.1.0" - checksum: 97aa4659538d53e5e441f5ef2949a3cffcb838e57aeaad42c4194e9d7ddb37246a6526c4ca85d3940a9d1e19b11cc2e114530b54c9d700c8baf163c31779baf8 + version: 3.0.1 + resolution: "ansi-regex@npm:3.0.1" + checksum: 09daf180c5f59af9850c7ac1bd7fda85ba596cc8cbeb210826e90755f06c818af86d9fa1e6e8322fab2c3b9e9b03f56c537b42241139f824dd75066a1e7257cc languageName: node linkType: hard -"ansi-regex@npm:^5.0.0": +"ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b languageName: node linkType: hard +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + languageName: node + linkType: hard + "ansi-styles@npm:^2.2.1": version: 2.2.1 resolution: "ansi-styles@npm:2.2.1" @@ -8206,7 +6409,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -8224,14 +6427,21 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 + languageName: node + linkType: hard + "ansi-to-html@npm:^0.6.4": - version: 0.6.14 - resolution: "ansi-to-html@npm:0.6.14" + version: 0.6.15 + resolution: "ansi-to-html@npm:0.6.15" dependencies: - entities: ^1.1.2 + entities: ^2.0.0 bin: ansi-to-html: bin/ansi-to-html - checksum: 18ca72230ff1987623340fa07a86f1da2f83061ea17ad792b76918fdb9af3f91bee096812a42085f93c5d81f71567449195a313935fea4386db236888b57ff60 + checksum: c899362a29b92c8ae075b72168b826f7c233875b475719304942f80695e0ce4a6812845021192da5fb0ac80b10209b4fae5aede42620a1b1b3d3b30f3ef77a86 languageName: node linkType: hard @@ -8245,30 +6455,37 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:~3.1.1": - version: 3.1.1 - resolution: "anymatch@npm:3.1.1" +"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": + version: 3.1.2 + resolution: "anymatch@npm:3.1.2" dependencies: normalize-path: ^3.0.0 picomatch: ^2.0.4 - checksum: c951385862bf114807d594bdffccb769bd7219ddc14f24fc135cde075ad2477a97991567b8bb5032d4f279f96897f0c2af6468a350a6c674ac0a5ee3b62a26d6 + checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 languageName: node linkType: hard -"aproba@npm:^1.0.3, aproba@npm:^1.1.1": - version: 1.2.0 - resolution: "aproba@npm:1.2.0" - checksum: 0fca141966559d195072ed047658b6e6c4fe92428c385dd38e288eacfc55807e7b4989322f030faff32c0f46bb0bc10f1e0ac32ec22d25315a1e5bbc0ebb76dc +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 languageName: node linkType: hard -"are-we-there-yet@npm:~1.1.2": - version: 1.1.5 - resolution: "are-we-there-yet@npm:1.1.5" +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" dependencies: delegates: ^1.0.0 - readable-stream: ^2.0.6 - checksum: 9a746b1dbce4122f44002b0c39fbba5b2c6f52c00e88b6ccba6fc68652323f8a1355a20e8ab94846995626d8de3bf67669a3b4a037dff0885db14607168f2b15 + readable-stream: ^3.6.0 + checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 6c69ada1a9943d332d9e5382393e897c500908d91d5cb735a01120d5f71daf1b339b7b8980cbeaba8fd1afc68e658a739746179e4315a26e8a28951ff9930078 languageName: node linkType: hard @@ -8298,13 +6515,6 @@ __metadata: languageName: node linkType: hard -"arity-n@npm:^1.0.4": - version: 1.0.4 - resolution: "arity-n@npm:1.0.4" - checksum: 3d76e16907f7b8a9452690c1efc301d0fbecea457365797eccfbade9b8d1653175b2c38343201bf26fdcbf0bcbb31eab6d912e7c008c6d19042301dc0be80a73 - languageName: node - linkType: hard - "arr-diff@npm:^4.0.0": version: 4.0.0 resolution: "arr-diff@npm:4.0.0" @@ -8354,23 +6564,23 @@ __metadata: languageName: node linkType: hard -"array-flatten@npm:^2.1.0": +"array-flatten@npm:^2.1.2": version: 2.1.2 resolution: "array-flatten@npm:2.1.2" checksum: e8988aac1fbfcdaae343d08c9a06a6fddd2c6141721eeeea45c3cf523bf4431d29a46602929455ed548c7a3e0769928cdc630405427297e7081bd118fdec9262 languageName: node linkType: hard -"array-includes@npm:^3.1.1, array-includes@npm:^3.1.2": - version: 3.1.3 - resolution: "array-includes@npm:3.1.3" +"array-includes@npm:^3.1.4, array-includes@npm:^3.1.5": + version: 3.1.5 + resolution: "array-includes@npm:3.1.5" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 get-intrinsic: ^1.1.1 - is-string: ^1.0.5 - checksum: eaab8812412b5ec921c8fe678a9d61f501b12f6c72e271e0e8652fe7f4145276cc7ad79ff303ac4ed69cbf5135155bfb092b1b6d552e423e75106d1c887da150 + is-string: ^1.0.7 + checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 languageName: node linkType: hard @@ -8397,15 +6607,6 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^1.0.1": - version: 1.0.2 - resolution: "array-union@npm:1.0.2" - dependencies: - array-uniq: ^1.0.1 - checksum: 82cec6421b6e6766556c484835a6d476a873f1b71cace5ab2b4f1b15b1e3162dc4da0d16f7a2b04d4aec18146c6638fe8f661340b31ba8e469fd811a1b45dc8d - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -8413,13 +6614,6 @@ __metadata: languageName: node linkType: hard -"array-uniq@npm:^1.0.1": - version: 1.0.3 - resolution: "array-uniq@npm:1.0.3" - checksum: 1625f06b093d8bf279b81adfec6e72951c0857d65b5e3f65f053fffe9f9dd61c2fc52cff57e38a4700817e7e3f01a4faa433d505ea9e33cdae4514c334e0bf9e - languageName: node - linkType: hard - "array-unique@npm:^0.3.2": version: 0.3.2 resolution: "array-unique@npm:0.3.2" @@ -8427,33 +6621,40 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.3": - version: 1.2.4 - resolution: "array.prototype.flat@npm:1.2.4" +"array.prototype.flat@npm:^1.2.5": + version: 1.3.0 + resolution: "array.prototype.flat@npm:1.3.0" dependencies: - call-bind: ^1.0.0 + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - checksum: 1ec5d9887ae45e70e4b993e801b440ae5ddcd0d2c6d1dbe214c311e91436152f510916bdac82b066693544b9801a3c510dfbec8a278ababf8de7eb0bde74636f + es-abstract: ^1.19.2 + es-shim-unscopables: ^1.0.0 + checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257 languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.2.3": - version: 1.2.4 - resolution: "array.prototype.flatmap@npm:1.2.4" +"array.prototype.flatmap@npm:^1.3.0": + version: 1.3.0 + resolution: "array.prototype.flatmap@npm:1.3.0" dependencies: - call-bind: ^1.0.0 + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - function-bind: ^1.1.1 - checksum: 1d32ec6747611e88a5f55b49df0fb38d1d6a3824e451b760a1b7ca87d22874f638d784a6dbdd2b7eba01d7dea6e48e2cce4848bd2e8b48f1f53013605ddef08b + es-abstract: ^1.19.2 + es-shim-unscopables: ^1.0.0 + checksum: 818538f39409c4045d874be85df0dbd195e1446b14d22f95bdcfefea44ae77db44e42dcd89a559254ec5a7c8b338cfc986cc6d641e3472f9a5326b21eb2976a2 languageName: node linkType: hard -"arrify@npm:^2.0.1": - version: 2.0.1 - resolution: "arrify@npm:2.0.1" - checksum: 067c4c1afd182806a82e4c1cb8acee16ab8b5284fbca1ce29408e6e91281c36bb5b612f6ddfbd40a0f7a7e0c75bf2696eb94c027f6e328d6e9c52465c98e4209 +"array.prototype.reduce@npm:^1.0.4": + version: 1.0.4 + resolution: "array.prototype.reduce@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.2 + es-array-method-boxes-properly: ^1.0.0 + is-string: ^1.0.7 + checksum: 6a57a1a2d3b77a9543db139cd52211f43a5af8e8271cb3c173be802076e3a6f71204ba8f090f5937ebc0842d5876db282f0f63dffd0e86b153e6e5a45681e4a5 languageName: node linkType: hard @@ -8477,11 +6678,11 @@ __metadata: linkType: hard "asn1@npm:~0.2.3": - version: 0.2.4 - resolution: "asn1@npm:0.2.4" + version: 0.2.6 + resolution: "asn1@npm:0.2.6" dependencies: safer-buffer: ~2.1.0 - checksum: aa5d6f77b1e0597df53824c68cfe82d1d89ce41cb3520148611f025fbb3101b2d25dd6a40ad34e4fac10f6b19ed5e8628cd4b7d212261e80e83f02b39ee5663c + checksum: 39f2ae343b03c15ad4f238ba561e626602a3de8d94ae536c46a4a93e69578826305366dc09fbb9b56aec39b4982a463682f259c38e59f6fa380cd72cd61e493d languageName: node linkType: hard @@ -8537,12 +6738,10 @@ __metadata: languageName: node linkType: hard -"async@npm:^2.6.2": - version: 2.6.3 - resolution: "async@npm:2.6.3" - dependencies: - lodash: ^4.17.14 - checksum: 5e5561ff8fca807e88738533d620488ac03a5c43fce6c937451f7e35f943d33ad06c24af3f681a48cca3d2b0002b3118faff0a128dc89438a9bf0226f712c499 +"async@npm:^3.2.3": + version: 3.2.4 + resolution: "async@npm:3.2.4" + checksum: 43d07459a4e1d09b84a20772414aa684ff4de085cbcaec6eea3c7a8f8150e8c62aa6cd4e699fe8ee93c3a5b324e777d34642531875a0817a35697522c1b02e89 languageName: node linkType: hard @@ -8576,20 +6775,21 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^9.6.1": - version: 9.8.6 - resolution: "autoprefixer@npm:9.8.6" +"autoprefixer@npm:^10.4.7": + version: 10.4.7 + resolution: "autoprefixer@npm:10.4.7" dependencies: - browserslist: ^4.12.0 - caniuse-lite: ^1.0.30001109 - colorette: ^1.2.1 + browserslist: ^4.20.3 + caniuse-lite: ^1.0.30001335 + fraction.js: ^4.2.0 normalize-range: ^0.1.2 - num2fraction: ^1.2.2 - postcss: ^7.0.32 - postcss-value-parser: ^4.1.0 + picocolors: ^1.0.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.1.0 bin: autoprefixer: bin/autoprefixer - checksum: 46987bc3de6612f0276c3643061901e33cc5721d07aaeb6f0daf237554448884a59c0b17087bf0f00a07d940abcb5a6eaf2203b962c24fe33d52f76aa845cb70 + checksum: 0e55d0d19806c672ec0c79cc23c27cf77e90edf2600670735266ba33ec5294458f404baaa2f7cd4cfe359cf7a97b3c86f01886bdbdc129a4f2f76ca5977a91af languageName: node linkType: hard @@ -8607,10 +6807,10 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.0.2": - version: 4.1.2 - resolution: "axe-core@npm:4.1.2" - checksum: e26d155e1dcaa48dffcbded84739c96c350069e20c52cb1ebdeaa8e2881a6ce683961276b3de57ca66b6ba8bd4d2beaed54d504c818198757c98d790586f7a92 +"axe-core@npm:^4.4.3": + version: 4.4.3 + resolution: "axe-core@npm:4.4.3" + checksum: c3ea000d9ace3ba0bc747c8feafc24b0de62a0f7d93021d0f77b19c73fca15341843510f6170da563d51535d6cfb7a46c5fc0ea36170549dbb44b170208450a2 languageName: node linkType: hard @@ -8631,62 +6831,36 @@ __metadata: languageName: node linkType: hard -"babel-eslint@npm:^10.1.0": - version: 10.1.0 - resolution: "babel-eslint@npm:10.1.0" - dependencies: - "@babel/code-frame": ^7.0.0 - "@babel/parser": ^7.7.0 - "@babel/traverse": ^7.7.0 - "@babel/types": ^7.7.0 - eslint-visitor-keys: ^1.0.0 - resolve: ^1.12.0 - peerDependencies: - eslint: ">= 4.12.1" - checksum: bdc1f62b6b0f9c4d5108c96d835dad0c0066bc45b7c020fcb2d6a08107cf69c9217a99d3438dbd701b2816896190c4283ba04270ed9a8349ee07bd8dafcdc050 - languageName: node - linkType: hard - -"babel-extract-comments@npm:^1.0.0": - version: 1.0.0 - resolution: "babel-extract-comments@npm:1.0.0" - dependencies: - babylon: ^6.18.0 - checksum: 6345c688ccb56a7b750223afb42c1ddc83865b8ac33d7b808b5ad5e3619624563cf8324fbacdcf41cf073a40d935468a05f806e1a7622b0186fa5dad1232a07b - languageName: node - linkType: hard - -"babel-jest@npm:^26.6.0, babel-jest@npm:^26.6.3": - version: 26.6.3 - resolution: "babel-jest@npm:26.6.3" +"babel-jest@npm:^27.4.2, babel-jest@npm:^27.5.1": + version: 27.5.1 + resolution: "babel-jest@npm:27.5.1" dependencies: - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 - "@types/babel__core": ^7.1.7 - babel-plugin-istanbul: ^6.0.0 - babel-preset-jest: ^26.6.2 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 + "@types/babel__core": ^7.1.14 + babel-plugin-istanbul: ^6.1.1 + babel-preset-jest: ^27.5.1 chalk: ^4.0.0 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: - "@babel/core": ^7.0.0 - checksum: 5917233f0d381e719e195b69b81e46da90293432d10288d79f8f59b8f3f9ac030e14701f3d9f90893fb739481df1d132446f1b983d841e65e2623775db100897 + "@babel/core": ^7.8.0 + checksum: 4e93e6e9fb996cc5f1505e924eb8e8cc7b25c294ba9629762a2715390f48af6a4c14dbb84cd9730013ac0e03267a5a9aa2fb6318c544489cda7f50f4e506def4 languageName: node linkType: hard -"babel-loader@npm:8.1.0": - version: 8.1.0 - resolution: "babel-loader@npm:8.1.0" +"babel-loader@npm:^8.2.3": + version: 8.2.5 + resolution: "babel-loader@npm:8.2.5" dependencies: - find-cache-dir: ^2.1.0 - loader-utils: ^1.4.0 - mkdirp: ^0.5.3 - pify: ^4.0.1 + find-cache-dir: ^3.3.1 + loader-utils: ^2.0.0 + make-dir: ^3.1.0 schema-utils: ^2.6.5 peerDependencies: "@babel/core": ^7.0.0 webpack: ">=2" - checksum: fdbcae91cc43366206320a1cbe40d358a64ba2dfaa561fbd690efe0db6256c9d27ab7600f7c84041fbc4c2a6f0279175b1f8d1fa5ed17ec30bbd734da84a1bc0 + checksum: a6605557885eabbc3250412405f2c63ca87287a95a439c643fdb47d5ea3d5326f72e43ab97be070316998cb685d5dfbc70927ce1abe8be7a6a4f5919287773fb languageName: node linkType: hard @@ -8699,113 +6873,77 @@ __metadata: languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.0.0": - version: 6.0.0 - resolution: "babel-plugin-istanbul@npm:6.0.0" +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" dependencies: "@babel/helper-plugin-utils": ^7.0.0 "@istanbuljs/load-nyc-config": ^1.0.0 "@istanbuljs/schema": ^0.1.2 - istanbul-lib-instrument: ^4.0.0 + istanbul-lib-instrument: ^5.0.4 test-exclude: ^6.0.0 - checksum: bc586cf088ec471a98a474ef0e9361ace61947da2a3e54162f1e1ab712a1a81a88007639e8aff7db2fc8678ae7c671e696e6edd6ccf72db8e6af86f0628d5a08 + checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^26.6.2": - version: 26.6.2 - resolution: "babel-plugin-jest-hoist@npm:26.6.2" +"babel-plugin-jest-hoist@npm:^27.5.1": + version: 27.5.1 + resolution: "babel-plugin-jest-hoist@npm:27.5.1" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.0.0 "@types/babel__traverse": ^7.0.6 - checksum: abe3732fdf20f96e91cbf788a54d776b30bd7a6054cb002a744d7071c656813e26e77a780dc2a6f6b197472897e220836cd907bda3fadb9d0481126bfd6c3783 + checksum: 709c17727aa8fd3be755d256fb514bf945a5c2ea6017f037d80280fc44ae5fe7dfeebf63d8412df53796455c2c216119d628d8cc90b099434fd819005943d058 languageName: node linkType: hard -"babel-plugin-macros@npm:2.8.0, babel-plugin-macros@npm:^2.6.1": - version: 2.8.0 - resolution: "babel-plugin-macros@npm:2.8.0" +"babel-plugin-macros@npm:^3.1.0": + version: 3.1.0 + resolution: "babel-plugin-macros@npm:3.1.0" dependencies: - "@babel/runtime": ^7.7.2 - cosmiconfig: ^6.0.0 - resolve: ^1.12.0 - checksum: 59b09a21cf3ae1e14186c1b021917d004b49b953824b24953a54c6502da79e8051d4ac31cfd4a0ae7f6ea5ddf1f7edd93df4895dd3c3982a5b2431859c2889ac + "@babel/runtime": ^7.12.5 + cosmiconfig: ^7.0.0 + resolve: ^1.19.0 + checksum: 765de4abebd3e4688ebdfbff8571ddc8cd8061f839bb6c3e550b0344a4027b04c60491f843296ce3f3379fb356cc873d57a9ee6694262547eb822c14a25be9a6 languageName: node linkType: hard -"babel-plugin-named-asset-import@npm:^0.3.7": - version: 0.3.7 - resolution: "babel-plugin-named-asset-import@npm:0.3.7" +"babel-plugin-named-asset-import@npm:^0.3.8": + version: 0.3.8 + resolution: "babel-plugin-named-asset-import@npm:0.3.8" peerDependencies: "@babel/core": ^7.1.0 - checksum: 4c9a42a2762f3d596a09105d05991525a0553d095030459d0f71449b023801ccc43e90fa20b618c52283dc61ca528a4a59df244e5b1dd583867786088eb473b7 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs2@npm:^0.1.4": - version: 0.1.10 - resolution: "babel-plugin-polyfill-corejs2@npm:0.1.10" - dependencies: - "@babel/compat-data": ^7.13.0 - "@babel/helper-define-polyfill-provider": ^0.1.5 - semver: ^6.1.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d4bf9a68fb6b70a52c74ed9a262a8cfdb3d4fa86e70ef07172884589d50547efb730d4ff7a798d0bc22a589ed8b92d60f58aece5d44cf2febc22949daf60fb36 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs2@npm:^0.3.0": - version: 0.3.1 - resolution: "babel-plugin-polyfill-corejs2@npm:0.3.1" - dependencies: - "@babel/compat-data": ^7.13.11 - "@babel/helper-define-polyfill-provider": ^0.3.1 - semver: ^6.1.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ca873f14ccd6d2942013345a956de8165d0913556ec29756a748157140f5312f79eed487674e0ca562285880f05829b3712d72e1e4b412c2ce46bd6a50b4b975 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs3@npm:^0.1.3": - version: 0.1.7 - resolution: "babel-plugin-polyfill-corejs3@npm:0.1.7" - dependencies: - "@babel/helper-define-polyfill-provider": ^0.1.5 - core-js-compat: ^3.8.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5c420590a6e18688a868218fa1f5025e9294d093968d2fe1e6aa86981776d66826182f9b36cdd1c41741e9c401bf76164313aab6661efb56741348ed0e98448d + checksum: d1e58df8cb75d91d070feea31087bc989906d3465144bde7e9f3c3690b514a90a55d3aebf3e65e76c5d4c743ecedde5f640f09f43a21fa60f1a5d413cb3f7a67 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.5.0": - version: 0.5.2 - resolution: "babel-plugin-polyfill-corejs3@npm:0.5.2" +"babel-plugin-polyfill-corejs2@npm:^0.3.1": + version: 0.3.2 + resolution: "babel-plugin-polyfill-corejs2@npm:0.3.2" dependencies: - "@babel/helper-define-polyfill-provider": ^0.3.1 - core-js-compat: ^3.21.0 + "@babel/compat-data": ^7.17.7 + "@babel/helper-define-polyfill-provider": ^0.3.2 + semver: ^6.1.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2f3184c73f80f00ac876a5ebcad945fd8d2ae70e5f85b7ab6cc3bc69bc74025f4f7070de7abbb2a7274c78e130bd34fc13f4c85342da28205930364a1ef0aa21 + checksum: a76e7bb1a5cc0a4507baa523c23f9efd75764069a25845beba92290386e5e48ed85b894005ece3b527e13c3d2d9c6589cc0a23befb72ea6fc7aa8711f231bb4d languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.1.2": - version: 0.1.6 - resolution: "babel-plugin-polyfill-regenerator@npm:0.1.6" +"babel-plugin-polyfill-corejs3@npm:^0.5.2": + version: 0.5.3 + resolution: "babel-plugin-polyfill-corejs3@npm:0.5.3" dependencies: - "@babel/helper-define-polyfill-provider": ^0.1.5 + "@babel/helper-define-polyfill-provider": ^0.3.2 + core-js-compat: ^3.21.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 05d9222c33c248e6402589dfa1e007389605376d47d5c51224a3f4a0371a38e41039584968d6e061916dd221943d4f11f317fb187460fca87e446ee8bf73cfc8 + checksum: 9c6644a1b0afbe59e402827fdafc6f44994ff92c5b2f258659cbbfd228f7075dea49e95114af10e66d70f36cbde12ff1d81263eb67be749b3ef0e2c18cf3c16d languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.3.0": +"babel-plugin-polyfill-regenerator@npm:^0.3.1": version: 0.3.1 resolution: "babel-plugin-polyfill-regenerator@npm:0.3.1" dependencies: @@ -8817,16 +6955,17 @@ __metadata: linkType: hard "babel-plugin-styled-components@npm:>= 1.12.0": - version: 1.12.0 - resolution: "babel-plugin-styled-components@npm:1.12.0" + version: 2.0.7 + resolution: "babel-plugin-styled-components@npm:2.0.7" dependencies: - "@babel/helper-annotate-as-pure": ^7.0.0 - "@babel/helper-module-imports": ^7.0.0 + "@babel/helper-annotate-as-pure": ^7.16.0 + "@babel/helper-module-imports": ^7.16.0 babel-plugin-syntax-jsx: ^6.18.0 lodash: ^4.17.11 + picomatch: ^2.3.0 peerDependencies: styled-components: ">= 2" - checksum: c240e64fc8a5656d154f23a38a4f393aa2845ef0669605e2ceafe3e26bd166de48cb5bebb9e3c9830aa391f84c3435a67164f2854a0ab8326f9148eeaff34bd6 + checksum: 80b06b10db02d749432a0ac43a5feedd686f6b648628d7433a39b1844260b2b7c72431f6e705c82636ee025fcfd4f6c32fc05677e44033b8a39ddcd4488b3147 languageName: node linkType: hard @@ -8837,24 +6976,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-object-rest-spread@npm:^6.8.0": - version: 6.13.0 - resolution: "babel-plugin-syntax-object-rest-spread@npm:6.13.0" - checksum: 14083f2783c760f5f199160f48e42ad4505fd35fc7cf9c4530812b176705259562b77db6d3ddc5e3cbce9e9b2b61ec9db3065941f0949b68e77cae3e395a6eef - languageName: node - linkType: hard - -"babel-plugin-transform-object-rest-spread@npm:^6.26.0": - version: 6.26.0 - resolution: "babel-plugin-transform-object-rest-spread@npm:6.26.0" - dependencies: - babel-plugin-syntax-object-rest-spread: ^6.8.0 - babel-runtime: ^6.26.0 - checksum: aad583fb0d08073678838f77fa822788b9a0b842ba33e34f8d131246852f7ed31cfb5fdf57644dec952f84dcae862a27dbf3d12ccbee6bdb0aed6e7ed13ca9ba - languageName: node - linkType: hard - -"babel-plugin-transform-react-remove-prop-types@npm:0.4.24": +"babel-plugin-transform-react-remove-prop-types@npm:^0.4.24": version: 0.4.24 resolution: "babel-plugin-transform-react-remove-prop-types@npm:0.4.24" checksum: 54afe56d67f0d118c9da23996f39948e502a152b3f582eb6e8f163fcb76c2c1ea4e0cdd4f9fac5c0ef050eab4fe0a950b0b74aae6237bcc0d31d8fc4cc808d1a @@ -8892,38 +7014,39 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^26.6.2": - version: 26.6.2 - resolution: "babel-preset-jest@npm:26.6.2" +"babel-preset-jest@npm:^27.5.1": + version: 27.5.1 + resolution: "babel-preset-jest@npm:27.5.1" dependencies: - babel-plugin-jest-hoist: ^26.6.2 + babel-plugin-jest-hoist: ^27.5.1 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 1d9bef3a7ac6751a09d29ceb84be8b1998abd210fafa12223689c744db4f2a63ab90cba7986a71f3154d9aceda9dbeca563178731d21cbaf793b4096ed3a4d01 + checksum: 251bcea11c18fd9672fec104eadb45b43f117ceeb326fa7345ced778d4c1feab29343cd7a87a1dcfae4997d6c851a8b386d7f7213792da6e23b74f4443a8976d languageName: node linkType: hard -"babel-preset-react-app@npm:^10.0.0": - version: 10.0.0 - resolution: "babel-preset-react-app@npm:10.0.0" - dependencies: - "@babel/core": 7.12.3 - "@babel/plugin-proposal-class-properties": 7.12.1 - "@babel/plugin-proposal-decorators": 7.12.1 - "@babel/plugin-proposal-nullish-coalescing-operator": 7.12.1 - "@babel/plugin-proposal-numeric-separator": 7.12.1 - "@babel/plugin-proposal-optional-chaining": 7.12.1 - "@babel/plugin-transform-flow-strip-types": 7.12.1 - "@babel/plugin-transform-react-display-name": 7.12.1 - "@babel/plugin-transform-runtime": 7.12.1 - "@babel/preset-env": 7.12.1 - "@babel/preset-react": 7.12.1 - "@babel/preset-typescript": 7.12.1 - "@babel/runtime": 7.12.1 - babel-plugin-macros: 2.8.0 - babel-plugin-transform-react-remove-prop-types: 0.4.24 - checksum: d117a1384b8e070f73372f657f728b016467b503360ac5ffc050971faa4313ba334fd9830c8d8fb85adb277e6dc0ecd701c0cb0f035c53a1eb6f207e45f8634e +"babel-preset-react-app@npm:^10.0.1": + version: 10.0.1 + resolution: "babel-preset-react-app@npm:10.0.1" + dependencies: + "@babel/core": ^7.16.0 + "@babel/plugin-proposal-class-properties": ^7.16.0 + "@babel/plugin-proposal-decorators": ^7.16.4 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.16.0 + "@babel/plugin-proposal-numeric-separator": ^7.16.0 + "@babel/plugin-proposal-optional-chaining": ^7.16.0 + "@babel/plugin-proposal-private-methods": ^7.16.0 + "@babel/plugin-transform-flow-strip-types": ^7.16.0 + "@babel/plugin-transform-react-display-name": ^7.16.0 + "@babel/plugin-transform-runtime": ^7.16.4 + "@babel/preset-env": ^7.16.4 + "@babel/preset-react": ^7.16.0 + "@babel/preset-typescript": ^7.16.0 + "@babel/runtime": ^7.16.3 + babel-plugin-macros: ^3.1.0 + babel-plugin-transform-react-remove-prop-types: ^0.4.24 + checksum: ee66043484e67b8aef2541976388299691478ea00834f3bb14b6b3d5edcd316a5ac95351f6ec084b41ee555cad820d4194280ad38ce51884fedc7e8946a57b74 languageName: node linkType: hard @@ -8960,15 +7083,6 @@ __metadata: languageName: node linkType: hard -"babylon@npm:^6.18.0": - version: 6.18.0 - resolution: "babylon@npm:6.18.0" - bin: - babylon: ./bin/babylon.js - checksum: 0777ae0c735ce1cbfc856d627589ed9aae212b84fb0c03c368b55e6c5d3507841780052808d0ad46e18a2ba516e93d55eeed8cd967f3b2938822dfeccfb2a16d - languageName: node - linkType: hard - "balanced-match@npm:^0.4.2": version: 0.4.2 resolution: "balanced-match@npm:0.4.2" @@ -8977,18 +7091,18 @@ __metadata: linkType: hard "balanced-match@npm:^1.0.0": - version: 1.0.0 - resolution: "balanced-match@npm:1.0.0" - checksum: 9b67bfe558772f40cf743a3469b48b286aecec2ea9fe80c48d74845e53aab1cef524fafedf123a63019b49ac397760573ef5f173f539423061f7217cbb5fbd40 + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 languageName: node linkType: hard "base-x@npm:^3.0.8": - version: 3.0.8 - resolution: "base-x@npm:3.0.8" + version: 3.0.9 + resolution: "base-x@npm:3.0.9" dependencies: safe-buffer: ^5.0.1 - checksum: 92b95493e636999d6505d9c5abfa049fce1bdde9327f733c5984e712cdb98482d2d45410e4ac1d04e5a004545e46898674f405db04c9555ba3e35fc00b150bf4 + checksum: 957101d6fd09e1903e846fd8f69fd7e5e3e50254383e61ab667c725866bec54e5ece5ba49ce385128ae48f9ec93a26567d1d5ebb91f4d56ef4a9cc0d5a5481e8 languageName: node linkType: hard @@ -9150,7 +7264,7 @@ __metadata: react-leaflet: 2.7.0 react-leaflet-draw: 0.19.0 react-router-dom: 5.3.3 - react-scripts: 4.0.3 + react-scripts: ~5.0.1 react-spring: ~9.4.5 styled-components: ~5.3.5 typescript: ~4.7.3 @@ -9171,11 +7285,9 @@ __metadata: linkType: hard "bitmap-sdf@npm:^1.0.0": - version: 1.0.3 - resolution: "bitmap-sdf@npm:1.0.3" - dependencies: - clamp: ^1.0.1 - checksum: 471a3cff168b1084a8157c622badbccdc3625639b49d575d7fce3665a53ab05b44554cff71779e2bfcd879746e734ca9c2684b4705d3961ffdc39eba9d424135 + version: 1.0.4 + resolution: "bitmap-sdf@npm:1.0.4" + checksum: 3165504a2a3e97de14c110c80bf0e7fea662ad81702d02a5d9aeaf9482d8702be139f5c3b9b2c893d8472eb799ae0e5c49b3062edbceaddde5fe10039e4a8be5 languageName: node linkType: hard @@ -9204,41 +7316,41 @@ __metadata: linkType: hard "bn.js@npm:^5.0.0, bn.js@npm:^5.1.1": - version: 5.2.0 - resolution: "bn.js@npm:5.2.0" - checksum: 6117170393200f68b35a061ecbf55d01dd989302e7b3c798a3012354fa638d124f0b2f79e63f77be5556be80322a09c40339eda6413ba7468524c0b6d4b4cb7a + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 languageName: node linkType: hard -"body-parser@npm:1.19.0": - version: 1.19.0 - resolution: "body-parser@npm:1.19.0" +"body-parser@npm:1.20.0": + version: 1.20.0 + resolution: "body-parser@npm:1.20.0" dependencies: - bytes: 3.1.0 + bytes: 3.1.2 content-type: ~1.0.4 debug: 2.6.9 - depd: ~1.1.2 - http-errors: 1.7.2 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 iconv-lite: 0.4.24 - on-finished: ~2.3.0 - qs: 6.7.0 - raw-body: 2.4.0 - type-is: ~1.6.17 - checksum: 490231b4c89bbd43112762f7ba8e5342c174a6c9f64284a3b0fcabf63277e332f8316765596f1e5b15e4f3a6cf0422e005f4bb3149ed3a224bb025b7a36b9ac1 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 + type-is: ~1.6.18 + unpipe: 1.0.0 + checksum: 12fffdeac82fe20dddcab7074215d5156e7d02a69ae90cbe9fee1ca3efa2f28ef52097cbea76685ee0a1509c71d85abd0056a08e612c09077cad6277a644cf88 languageName: node linkType: hard -"bonjour@npm:^3.5.0": - version: 3.5.0 - resolution: "bonjour@npm:3.5.0" +"bonjour-service@npm:^1.0.11": + version: 1.0.13 + resolution: "bonjour-service@npm:1.0.13" dependencies: - array-flatten: ^2.1.0 - deep-equal: ^1.0.1 + array-flatten: ^2.1.2 dns-equal: ^1.0.0 - dns-txt: ^2.0.2 - multicast-dns: ^6.0.1 - multicast-dns-service-types: ^1.1.0 - checksum: 2cfbe9fa861f4507b5ff3853eeae3ef03a231ede2b7363efedd80880ea3c0576f64416f98056c96e429ed68ff38dc4a70c0583d1eb4dab72e491ca44a0f03444 + fast-deep-equal: ^3.1.3 + multicast-dns: ^7.2.5 + checksum: aee186f542e0ec095d1f7fd8194182373ea4e854eef1182a3cb90e70c958deb6945de38f1a793bb43cc51f3a0044fa7eabee05a7ecb698c446aee80f00101124 languageName: node linkType: hard @@ -9259,6 +7371,15 @@ __metadata: languageName: node linkType: hard +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + "braces@npm:^2.3.1, braces@npm:^2.3.2": version: 2.3.2 resolution: "braces@npm:2.3.2" @@ -9277,7 +7398,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.1, braces@npm:~3.0.2": +"braces@npm:^3.0.2, braces@npm:~3.0.2": version: 3.0.2 resolution: "braces@npm:3.0.2" dependencies: @@ -9387,77 +7508,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:4.14.2": - version: 4.14.2 - resolution: "browserslist@npm:4.14.2" - dependencies: - caniuse-lite: ^1.0.30001125 - electron-to-chromium: ^1.3.564 - escalade: ^3.0.2 - node-releases: ^1.1.61 - bin: - browserslist: cli.js - checksum: 44b5d7a444b867e1f027923f37a8ed537b4403f8a85a35869904e7d3e4071b37459df08d41ab4d425f5191f3125f1c5a191cbff9070f81f4d311803dc0a2fb0f - languageName: node - linkType: hard - -"browserslist@npm:^4.0.0, browserslist@npm:^4.1.0, browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.16.3, browserslist@npm:^4.6.2, browserslist@npm:^4.6.4": - version: 4.16.5 - resolution: "browserslist@npm:4.16.5" - dependencies: - caniuse-lite: ^1.0.30001214 - colorette: ^1.2.2 - electron-to-chromium: ^1.3.719 - escalade: ^3.1.1 - node-releases: ^1.1.71 - bin: - browserslist: cli.js - checksum: 8d060e01829a99e9525a5d2ab93193c5fe56790e6f46e44428fac634c3eb8dd7294d53763cdde9d7614bda5a81dc38d2cd946b761aa05fc70799aa685d472287 - languageName: node - linkType: hard - -"browserslist@npm:^4.17.5, browserslist@npm:^4.19.1": - version: 4.19.1 - resolution: "browserslist@npm:4.19.1" - dependencies: - caniuse-lite: ^1.0.30001286 - electron-to-chromium: ^1.4.17 - escalade: ^3.1.1 - node-releases: ^2.0.1 - picocolors: ^1.0.0 - bin: - browserslist: cli.js - checksum: c0777fd483691638fd6801e16c9d809e1d65f6d2b06db2e806654be51045cbab1452a89841a2c5caea2cbe19d621b4f1d391cffbb24512aa33280039ab345875 - languageName: node - linkType: hard - -"browserslist@npm:^4.20.2, browserslist@npm:^4.20.3": - version: 4.20.4 - resolution: "browserslist@npm:4.20.4" - dependencies: - caniuse-lite: ^1.0.30001349 - electron-to-chromium: ^1.4.147 - escalade: ^3.1.1 - node-releases: ^2.0.5 - picocolors: ^1.0.0 - bin: - browserslist: cli.js - checksum: 0e56c42da765524e5c31bc9a1f08afaa8d5dba085071137cf21e56dc78d0cf0283764143df4c7d1c0cd18c3187fc9494e1d93fa0255004f0be493251a28635f9 - languageName: node - linkType: hard - -"browserslist@npm:^4.6.6": - version: 4.17.0 - resolution: "browserslist@npm:4.17.0" +"browserslist@npm:^4.0.0, browserslist@npm:^4.1.0, browserslist@npm:^4.14.5, browserslist@npm:^4.16.6, browserslist@npm:^4.18.1, browserslist@npm:^4.20.2, browserslist@npm:^4.20.3, browserslist@npm:^4.21.0, browserslist@npm:^4.21.2, browserslist@npm:^4.6.6": + version: 4.21.3 + resolution: "browserslist@npm:4.21.3" dependencies: - caniuse-lite: ^1.0.30001254 - colorette: ^1.3.0 - electron-to-chromium: ^1.3.830 - escalade: ^3.1.1 - node-releases: ^1.1.75 + caniuse-lite: ^1.0.30001370 + electron-to-chromium: ^1.4.202 + node-releases: ^2.0.6 + update-browserslist-db: ^1.0.5 bin: browserslist: cli.js - checksum: 9b45ec283d7ba1513bd8be6143dadb34a65e8be7f7210b3a2bce947e019184408df6126238e54f8061e9be74362b19d04eaba739b3ee0d5d41d57ac0ae5fe4cd + checksum: ff512a7bcca1c530e2854bbdfc7be2791d0fb524097a6340e56e1d5924164c7e4e0a9b070de04cdc4c149d15cb4d4275cb7c626ebbce954278a2823aaad2452a languageName: node linkType: hard @@ -9478,16 +7539,9 @@ __metadata: linkType: hard "buffer-from@npm:^1.0.0": - version: 1.1.1 - resolution: "buffer-from@npm:1.1.1" - checksum: ccc53b69736008bff764497367c4d24879ba7122bc619ee499ff47eef3a5b885ca496e87272e7ebffa0bec3804c83f84041c616f6e3318f40624e27c1d80f045 - languageName: node - linkType: hard - -"buffer-indexof@npm:^1.0.0": - version: 1.1.1 - resolution: "buffer-indexof@npm:1.1.1" - checksum: 0967abc2981a8e7d776324c6b84811e4d84a7ead89b54a3bb8791437f0c4751afd060406b06db90a436f1cf771867331b5ecf5c4aca95b4ccb9f6cb146c22ebc + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb languageName: node linkType: hard @@ -9509,20 +7563,13 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.0.0": +"builtin-modules@npm:^3.0.0, builtin-modules@npm:^3.1.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d languageName: node linkType: hard -"builtin-modules@npm:^3.1.0": - version: 3.2.0 - resolution: "builtin-modules@npm:3.2.0" - checksum: 0265aa1ba78e1a16f4e18668d815cb43fb364e6a6b8aa9189c6f44c7b894a551a43b323c40206959d2d4b2568c1f2805607ad6c88adc306a776ce6904cca6715 - languageName: node - linkType: hard - "builtin-status-codes@npm:^3.0.0": version: 3.0.0 resolution: "builtin-status-codes@npm:3.0.0" @@ -9537,58 +7584,36 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.0": - version: 3.1.0 - resolution: "bytes@npm:3.1.0" - checksum: 7c3b21c5d9d44ed455460d5d36a31abc6fa2ce3807964ba60a4b03fd44454c8cf07bb0585af83bfde1c5cc2ea4bbe5897bc3d18cd15e0acf25a3615a35aba2df - languageName: node - linkType: hard - -"cacache@npm:^12.0.2": - version: 12.0.4 - resolution: "cacache@npm:12.0.4" - dependencies: - bluebird: ^3.5.5 - chownr: ^1.1.1 - figgy-pudding: ^3.5.1 - glob: ^7.1.4 - graceful-fs: ^4.1.15 - infer-owner: ^1.0.3 - lru-cache: ^5.1.1 - mississippi: ^3.0.0 - mkdirp: ^0.5.1 - move-concurrently: ^1.0.1 - promise-inflight: ^1.0.1 - rimraf: ^2.6.3 - ssri: ^6.0.1 - unique-filename: ^1.1.1 - y18n: ^4.0.0 - checksum: c88a72f36939b2523533946ffb27828443db5bf5995d761b35ae17af1eb6c8e20ac55b00b74c2ca900b2e1e917f0afba6847bf8cc16bee05ccca6aa150e0830c +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e languageName: node linkType: hard -"cacache@npm:^15.0.5": - version: 15.0.5 - resolution: "cacache@npm:15.0.5" +"cacache@npm:^16.1.0": + version: 16.1.1 + resolution: "cacache@npm:16.1.1" dependencies: - "@npmcli/move-file": ^1.0.1 + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 chownr: ^2.0.0 - fs-minipass: ^2.0.0 - glob: ^7.1.4 + fs-minipass: ^2.1.0 + glob: ^8.0.1 infer-owner: ^1.0.4 - lru-cache: ^6.0.0 - minipass: ^3.1.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 minipass-collect: ^1.0.2 minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.2 - mkdirp: ^1.0.3 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 p-map: ^4.0.0 promise-inflight: ^1.0.1 rimraf: ^3.0.2 - ssri: ^8.0.0 - tar: ^6.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 unique-filename: ^1.1.1 - checksum: 911436a9df4caf868c91b75d58c8ba7c958dd4a1882cf18daeac003f46e81d79c11196affe8d86dd9137194466cc2f45b61707b5fbe5fea3d9b8e9220f669e48 + checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a languageName: node linkType: hard @@ -9658,7 +7683,7 @@ __metadata: languageName: node linkType: hard -"camel-case@npm:^4.1.1": +"camel-case@npm:^4.1.2": version: 4.1.2 resolution: "camel-case@npm:4.1.2" dependencies: @@ -9668,17 +7693,24 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:5.3.1, camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": +"camelcase-css@npm:^2.0.1": + version: 2.0.1 + resolution: "camelcase-css@npm:2.0.1" + checksum: 1cec2b3b3dcb5026688a470b00299a8db7d904c4802845c353dbd12d9d248d3346949a814d83bfd988d4d2e5b9904c07efe76fecd195a1d4f05b543e7c0b56b1 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b languageName: node linkType: hard -"camelcase@npm:^6.0.0, camelcase@npm:^6.1.0, camelcase@npm:^6.2.0": - version: 6.2.0 - resolution: "camelcase@npm:6.2.0" - checksum: 8335cfd0ecc472eae685896a42afd8c9dacd193a91f569120b931c87deb053a1ba82102031b9b48a4dbc1d18066caeacf2e4ace8c3c7f0d02936d348dc0b5a87 +"camelcase@npm:^6.2.0, camelcase@npm:^6.2.1": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d languageName: node linkType: hard @@ -9701,17 +7733,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30000981, caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001125, caniuse-lite@npm:^1.0.30001214, caniuse-lite@npm:^1.0.30001254, caniuse-lite@npm:^1.0.30001286": - version: 1.0.30001312 - resolution: "caniuse-lite@npm:1.0.30001312" - checksum: 753fb9ea1e02e999430b323a71b5acab5120f3b5fc0161b01669f54a3ef5c5296240b6ae9b79b12a3742e3aed216aa9ee3d5398a23c16d08625ccd376b79545d - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001349": - version: 1.0.30001352 - resolution: "caniuse-lite@npm:1.0.30001352" - checksum: 575ad031349e56224471859decd100d0f90c804325bf1b543789b212d6126f6e18925766b325b1d96f75e48df0036e68f92af26d1fb175803fd6ad935bc807ac +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001335, caniuse-lite@npm:^1.0.30001370": + version: 1.0.30001373 + resolution: "caniuse-lite@npm:1.0.30001373" + checksum: cd2f027e2fcf66ed3b0e3eccec89df871f951f2e7600944fae2c3f6f1c37ac82392e573c279e15bf851b75f9696472e38d33fd52d964819ffb8af7af4078ceba languageName: node linkType: hard @@ -9724,19 +7749,10 @@ __metadata: languageName: node linkType: hard -"capture-exit@npm:^2.0.0": - version: 2.0.0 - resolution: "capture-exit@npm:2.0.0" - dependencies: - rsvp: ^4.8.4 - checksum: 0b9f10daca09e521da9599f34c8e7af14ad879c336e2bdeb19955b375398ae1c5bcc91ac9f2429944343057ee9ed028b1b2fb28816c384e0e55d70c439b226f4 - languageName: node - linkType: hard - -"case-sensitive-paths-webpack-plugin@npm:2.3.0": - version: 2.3.0 - resolution: "case-sensitive-paths-webpack-plugin@npm:2.3.0" - checksum: 2fa78f7a495d7e73e66d1f528eac5abde65df797c9487624eeae9815a409ba6d584d8fbfe8b6c89157292fbb08d0ee6cc3418fe7f8c75b83fb2c8e29c30f205d +"case-sensitive-paths-webpack-plugin@npm:^2.4.0": + version: 2.4.0 + resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" + checksum: bcf469446eeee9ac0046e30860074ebb9aa4803aab9140e6bb72b600b23b1d70635690754be4504ce35cd99cdf05226bee8d894ba362a3f5485d5f6310fc6d02 languageName: node linkType: hard @@ -9774,20 +7790,10 @@ __metadata: react-plotly.js: ~2.5.1 rollup: ~2.75.6 rollup-plugin-css-only: ~3.1.0 + rollup-plugin-node-polyfills: ^0.2.1 languageName: unknown linkType: soft -"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.1.0, chalk@npm:^2.3.1, chalk@npm:^2.4.1, chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: ^3.2.1 - escape-string-regexp: ^1.0.5 - supports-color: ^5.3.0 - checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 - languageName: node - linkType: hard - "chalk@npm:^1.1.3": version: 1.1.3 resolution: "chalk@npm:1.1.3" @@ -9801,13 +7807,24 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.1.0": - version: 4.1.0 - resolution: "chalk@npm:4.1.0" +"chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.1.0, chalk@npm:^2.3.1, chalk@npm:^2.4.1, chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" dependencies: ansi-styles: ^4.1.0 supports-color: ^7.1.0 - checksum: 5561c7b4c063badee3e16d04bce50bd033e1be1bf4c6948639275683ffa7a1993c44639b43c22b1c505f0f813a24b1889037eb182546b48946f9fe7cdd0e7d13 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc languageName: node linkType: hard @@ -9825,10 +7842,17 @@ __metadata: languageName: node linkType: hard +"char-regex@npm:^2.0.0": + version: 2.0.1 + resolution: "char-regex@npm:2.0.1" + checksum: 8524c03fd7e58381dccf33babe885fe62731ae20755528b19c39945b8203479184f35247210dc9eeeef279cdbdd6511cd3182e0e1db8e4549bf2586470b7c204 + languageName: node + linkType: hard + "chart.js@npm:~3.8.0": - version: 3.8.0 - resolution: "chart.js@npm:3.8.0" - checksum: 0360212bf5d534effc8475a1aa705ba7257a315af368b5e8eecf476f0bd57a6bb80ad740e870d552f2d11e134dd1497ccef02950d7e626c21a400ff00ecf59af + version: 3.8.2 + resolution: "chart.js@npm:3.8.2" + checksum: a60fef3c98ed6890ce0e1e094900aa573aa1f5fa2edc7363f52efb6850730666ac479a193e86fba17dc340a1651d6b273fac7632c3e0c40c9ed5a70d09b118da languageName: node linkType: hard @@ -9839,7 +7863,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^2.1.5, chokidar@npm:^2.1.8": +"chokidar@npm:^2.1.5": version: 2.1.8 resolution: "chokidar@npm:2.1.8" dependencies: @@ -9862,29 +7886,22 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.4.1": - version: 3.5.1 - resolution: "chokidar@npm:3.5.1" +"chokidar@npm:^3.4.2, chokidar@npm:^3.5.3": + version: 3.5.3 + resolution: "chokidar@npm:3.5.3" dependencies: - anymatch: ~3.1.1 + anymatch: ~3.1.2 braces: ~3.0.2 - fsevents: ~2.3.1 - glob-parent: ~5.1.0 + fsevents: ~2.3.2 + glob-parent: ~5.1.2 is-binary-path: ~2.1.0 is-glob: ~4.0.1 normalize-path: ~3.0.0 - readdirp: ~3.5.0 + readdirp: ~3.6.0 dependenciesMeta: fsevents: optional: true - checksum: b7774e6e3aeca084d39e8542041555a11452414c744122436101243f89580fad97154ae11525e46bfa816313ae32533e2a88e8587e4d50b14ea716a9e6538978 - languageName: node - linkType: hard - -"chownr@npm:^1.1.1": - version: 1.1.4 - resolution: "chownr@npm:1.1.4" - checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d + checksum: b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c languageName: node linkType: hard @@ -9896,18 +7913,16 @@ __metadata: linkType: hard "chrome-trace-event@npm:^1.0.2": - version: 1.0.2 - resolution: "chrome-trace-event@npm:1.0.2" - dependencies: - tslib: ^1.9.0 - checksum: a104606fd07e6191848fa15d4031ac41c1715d025074574bdbb27d998a20d75d860a2060a5aca840bfbf97ec2ef6b72df9b387ed4109a8fc6eb5c362477c9294 + version: 1.0.3 + resolution: "chrome-trace-event@npm:1.0.3" + checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 languageName: node linkType: hard -"ci-info@npm:^2.0.0": - version: 2.0.0 - resolution: "ci-info@npm:2.0.0" - checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 +"ci-info@npm:^3.2.0": + version: 3.3.2 + resolution: "ci-info@npm:3.3.2" + checksum: fd81f1edd2d3b0f6cb077b2e84365136d87b9db8c055928c1ad69da8a76c2c2f19cba8ea51b90238302157ca927f91f92b653e933f2398dde4867500f08d6e62 languageName: node linkType: hard @@ -9921,10 +7936,10 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^0.6.0": - version: 0.6.0 - resolution: "cjs-module-lexer@npm:0.6.0" - checksum: 445b039607efd74561d7db8d0867031c8b6a69f25e83fdd861b0fa1fbc11f12de057ba1db80637f3c9016774354092af5325eebb90505d65ccc5389cae09d1fd +"cjs-module-lexer@npm:^1.0.0": + version: 1.2.2 + resolution: "cjs-module-lexer@npm:1.2.2" + checksum: 977f3f042bd4f08e368c890d91eecfbc4f91da0bc009a3c557bc4dfbf32022ad1141244ac1178d44de70fc9f3dea7add7cd9a658a34b9fae98a55d8f92331ce5 languageName: node linkType: hard @@ -9947,26 +7962,19 @@ __metadata: languageName: node linkType: hard -"classnames@npm:*": +"classnames@npm:*, classnames@npm:^2.2.5": version: 2.3.1 resolution: "classnames@npm:2.3.1" checksum: 14db8889d56c267a591f08b0834989fe542d47fac659af5a539e110cc4266694e8de86e4e3bbd271157dbd831361310a8293e0167141e80b0f03a0f175c80960 languageName: node linkType: hard -"classnames@npm:^2.2.5": - version: 2.2.6 - resolution: "classnames@npm:2.2.6" - checksum: 09a4fda780158aa8399079898eabeeca0c48c28641d9e4de140db7412e5e346843039ded1af0152f755afc2cc246ff8c3d6f227bf0dcb004e070b7fa14ec54cc - languageName: node - linkType: hard - -"clean-css@npm:^4.2.3": - version: 4.2.3 - resolution: "clean-css@npm:4.2.3" +"clean-css@npm:^5.2.2": + version: 5.3.1 + resolution: "clean-css@npm:5.3.1" dependencies: source-map: ~0.6.0 - checksum: 613129973a038b8bb13e3975ad6b679feccb8c98f2a9d03e6bec9e60291ef1e6b5037ee8cb09a3470751adc52f43782b1dcb4cb049360230b48062d6e3314072 + checksum: 860696c60503cbfec480b5f92f62729246304b55950571af7292f2687b57f86b277f2b9fefe6f64643d409008018b78383972b55c2cc859792dcc8658988fb16 languageName: node linkType: hard @@ -9993,28 +8001,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^5.0.0": - version: 5.0.0 - resolution: "cliui@npm:5.0.0" - dependencies: - string-width: ^3.1.0 - strip-ansi: ^5.2.0 - wrap-ansi: ^5.1.0 - checksum: 0bb8779efe299b8f3002a73619eaa8add4081eb8d1c17bc4fedc6240557fb4eacdc08fe87c39b002eacb6cfc117ce736b362dbfd8bf28d90da800e010ee97df4 - languageName: node - linkType: hard - -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - wrap-ansi: ^6.2.0 - checksum: 4fcfd26d292c9f00238117f39fc797608292ae36bac2168cfee4c85923817d0607fe21b3329a8621e01aedf512c99b7eaa60e363a671ffd378df6649fb48ae42 - languageName: node - linkType: hard - "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -10040,10 +8026,10 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^1.0.4, clsx@npm:^1.1.1": - version: 1.1.1 - resolution: "clsx@npm:1.1.1" - checksum: ff052650329773b9b245177305fc4c4dc3129f7b2be84af4f58dc5defa99538c61d4207be7419405a5f8f3d92007c954f4daba5a7b74e563d5de71c28c830063 +"clsx@npm:^1.0.4, clsx@npm:^1.2.0, clsx@npm:^1.2.1": + version: 1.2.1 + resolution: "clsx@npm:1.2.1" + checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12 languageName: node linkType: hard @@ -10065,13 +8051,6 @@ __metadata: languageName: node linkType: hard -"code-point-at@npm:^1.0.0": - version: 1.1.0 - resolution: "code-point-at@npm:1.1.0" - checksum: 17d5666611f9b16d64fdf48176d9b7fb1c7d1c1607a189f7e600040a11a6616982876af148230336adb7d8fe728a559f743a4e29db3747e3b1a32fa7f4529681 - languageName: node - linkType: hard - "collect-v8-coverage@npm:^1.0.0": version: 1.0.1 resolution: "collect-v8-coverage@npm:1.0.1" @@ -10099,15 +8078,15 @@ __metadata: linkType: hard "color-alpha@npm:^1.0.4": - version: 1.1.2 - resolution: "color-alpha@npm:1.1.2" + version: 1.1.3 + resolution: "color-alpha@npm:1.1.3" dependencies: color-parse: ^1.4.1 - checksum: af9095093ae53f639c3adf3cad6156cd495bd830953eac340937b863c7fa0d1c47fd0dd4b50c9281601b518bd27960012b88efc99091c7aa916d3cc9e10996d8 + checksum: 7c47fa16e1ceffd567731439e4c84f7c971767eb522fa3ba74be1f5a4f22b204962b02a969ce32c40b0f2358b63ec44ddf1115f29264d07369c6103c0fed97e7 languageName: node linkType: hard -"color-convert@npm:^1.9.0, color-convert@npm:^1.9.1": +"color-convert@npm:^1.9.0, color-convert@npm:^1.9.3": version: 1.9.3 resolution: "color-convert@npm:1.9.3" dependencies: @@ -10141,7 +8120,7 @@ __metadata: languageName: node linkType: hard -"color-name@npm:^1.0.0, color-name@npm:~1.1.4": +"color-name@npm:^1.0.0, color-name@npm:^1.1.4, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 @@ -10180,7 +8159,7 @@ __metadata: languageName: node linkType: hard -"color-parse@npm:^1.3.8, color-parse@npm:^1.4.1": +"color-parse@npm:^1.3.8, color-parse@npm:^1.4.1, color-parse@npm:^1.4.2": version: 1.4.2 resolution: "color-parse@npm:1.4.2" dependencies: @@ -10201,12 +8180,12 @@ __metadata: linkType: hard "color-rgba@npm:^2.1.1, color-rgba@npm:^2.2.0": - version: 2.2.3 - resolution: "color-rgba@npm:2.2.3" + version: 2.4.0 + resolution: "color-rgba@npm:2.4.0" dependencies: - color-parse: ^1.4.1 - color-space: ^1.14.6 - checksum: f0d48b5e8a76c56814833923e032c298ae0dbd1586242916226150bb3d3579537d461cba431c18a3565d8c061442a6824d9ea05968d38571a90feccf8dad7327 + color-parse: ^1.4.2 + color-space: ^2.0.0 + checksum: a72b1001af4bed60d4677f6e368e3ea44fd228f6f3098182dd8d8d612165cb847f0792252539b36aa238840f45f1c644b8d7ed867e3d735d67d4e4b107384279 languageName: node linkType: hard @@ -10220,44 +8199,53 @@ __metadata: languageName: node linkType: hard -"color-string@npm:^1.5.4": - version: 1.5.4 - resolution: "color-string@npm:1.5.4" +"color-space@npm:^2.0.0": + version: 2.0.0 + resolution: "color-space@npm:2.0.0" + checksum: 2abfa964121c665090873860e0fe4c6b2e9752da30e4ef71d989ade516ecde972e80479b0f99334685022ff085772f8267c8549990aa1607ef3ab24677367420 + languageName: node + linkType: hard + +"color-string@npm:^1.6.0": + version: 1.9.1 + resolution: "color-string@npm:1.9.1" dependencies: color-name: ^1.0.0 simple-swizzle: ^0.2.2 - checksum: ae53f205d7a757ce7e1256dc4c8873675a8d3a5f136963183b94bbe725184239e0c19002177ee71488884abb7db958b1744cf83095c5b2b95d0b8937839162b7 + checksum: c13fe7cff7885f603f49105827d621ce87f4571d78ba28ef4a3f1a104304748f620615e6bf065ecd2145d0d9dad83a3553f52bb25ede7239d18e9f81622f1cc5 languageName: node linkType: hard -"color@npm:^3.0.0": - version: 3.1.3 - resolution: "color@npm:3.1.3" - dependencies: - color-convert: ^1.9.1 - color-string: ^1.5.4 - checksum: d52a77ae239e1cdb55d9920e73d730df69a05cec9cb5d9b83a3e311b23009fd4053f4a88e7f6152207db498838f10e3ba4b1661a64a3acb41a50b14944214f26 +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b languageName: node linkType: hard -"colorette@npm:^1.2.1": - version: 1.2.2 - resolution: "colorette@npm:1.2.2" - checksum: 69fec14ddaedd0f5b00e4bae40dc4bc61f7050ebdc82983a595d6fd64e650b9dc3c033fff378775683138e992e0ddd8717ac7c7cec4d089679dcfbe3cd921b04 +"color@npm:^3.0.0": + version: 3.2.1 + resolution: "color@npm:3.2.1" + dependencies: + color-convert: ^1.9.3 + color-string: ^1.6.0 + checksum: f81220e8b774d35865c2561be921f5652117638dcda7ca4029262046e37fc2444ac7bbfdd110cf1fd9c074a4ee5eda8f85944ffbdda26186b602dd9bb05f6400 languageName: node linkType: hard -"colorette@npm:^1.2.2": - version: 1.4.0 - resolution: "colorette@npm:1.4.0" - checksum: 01c3c16058b182a4ab4c126a65a75faa4d38a20fa7c845090b25453acec6c371bb2c5dceb0a2338511f17902b9d1a9af0cadd8509c9403894b79311032c256c3 +"colord@npm:^2.9.1": + version: 2.9.2 + resolution: "colord@npm:2.9.2" + checksum: 2aa6a9b3abbce74ba3c563886cfeb433ea0d7df5ad6f4a560005eddab1ddf7c0fc98f39b09b599767a19c86dd3837b77f66f036e479515d4b17347006dbd6d9f languageName: node linkType: hard -"colorette@npm:^1.3.0": - version: 1.3.0 - resolution: "colorette@npm:1.3.0" - checksum: bda403dfba4d032bee4169f2a6436a83ae3da488a53bcb3be92dc44ace056518245cc614b12429d7529493d6b090a119b2523b0d55e8cd6b81ad939a3003c008 +"colorette@npm:^2.0.10": + version: 2.0.19 + resolution: "colorette@npm:2.0.19" + checksum: 888cf5493f781e5fcf54ce4d49e9d7d698f96ea2b2ef67906834bb319a392c667f9ec69f4a10e268d2946d13a9503d2d19b3abaaaf174e3451bfe91fb9d82427 languageName: node linkType: hard @@ -10291,13 +8279,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^4.1.1": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977 - languageName: node - linkType: hard - "commander@npm:^5.0.0": version: 5.1.0 resolution: "commander@npm:5.1.0" @@ -10312,17 +8293,31 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.2.0": - version: 9.3.0 - resolution: "commander@npm:9.3.0" - checksum: d421ce66fee25792a1470c69aa8d1b86434bf873a96483aa92c8267f81a6f20c6f7c426f5e82f88ac50a8ec4855d3f2787aebcdef8aa559e1080a2337a95a217 +"commander@npm:^8.3.0": + version: 8.3.0 + resolution: "commander@npm:8.3.0" + checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 + languageName: node + linkType: hard + +"commander@npm:^9.4.0": + version: 9.4.0 + resolution: "commander@npm:9.4.0" + checksum: a322de584a6ccd1ea83c24f6a660e52d16ffbe2613fcfbb8d2cc68bc9dec637492456d754fe8bb5b039ad843ed8e04fb0b107e581a75f62cde9e1a0ab1546e09 + languageName: node + linkType: hard + +"common-path-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "common-path-prefix@npm:3.0.0" + checksum: fdb3c4f54e51e70d417ccd950c07f757582de800c0678ca388aedefefc84982039f346f9fd9a1252d08d2da9e9ef4019f580a1d1d3a10da031e4bb3c924c5818 languageName: node linkType: hard "common-tags@npm:^1.8.0": - version: 1.8.0 - resolution: "common-tags@npm:1.8.0" - checksum: fb0cc9420d149176f2bd2b1fc9e6df622cd34eccaca60b276aa3253a7c9241e8a8ed1ec0702b2679eba7e47aeef721869c686bbd7257b75b5c44993c8462cd7f + version: 1.8.2 + resolution: "common-tags@npm:1.8.2" + checksum: 767a6255a84bbc47df49a60ab583053bb29a7d9687066a18500a516188a062c4e4cd52de341f22de0b07062e699b1b8fe3cfa1cb55b241cb9301aeb4f45b4dff languageName: node linkType: hard @@ -10340,15 +8335,6 @@ __metadata: languageName: node linkType: hard -"compose-function@npm:3.0.3": - version: 3.0.3 - resolution: "compose-function@npm:3.0.3" - dependencies: - arity-n: ^1.0.4 - checksum: 9f17d431e3ee4797c844f2870e13494079882ac3dbc54c143b7d99967b371908e0ce7ceb71c6aed61e2ecddbcd7bb437d91428a3d0e6569aee17a87fcbc7918f - languageName: node - linkType: hard - "compressible@npm:~2.0.16": version: 2.0.18 resolution: "compressible@npm:2.0.18" @@ -10393,7 +8379,7 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:^1.5.0, concat-stream@npm:^1.5.2, concat-stream@npm:~1.6.0": +"concat-stream@npm:^1.5.2, concat-stream@npm:~1.6.0": version: 1.6.2 resolution: "concat-stream@npm:1.6.2" dependencies: @@ -10405,29 +8391,17 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:~2.0.0": - version: 2.0.0 - resolution: "concat-stream@npm:2.0.0" - dependencies: - buffer-from: ^1.0.0 - inherits: ^2.0.3 - readable-stream: ^3.0.2 - typedarray: ^0.0.6 - checksum: d7f75d48f0ecd356c1545d87e22f57b488172811b1181d96021c7c4b14ab8855f5313280263dca44bb06e5222f274d047da3e290a38841ef87b59719bde967c7 - languageName: node - linkType: hard - -"confusing-browser-globals@npm:^1.0.10": - version: 1.0.10 - resolution: "confusing-browser-globals@npm:1.0.10" - checksum: 7ccdc44c2ca419cf6576c3e4336106e18d1c5337f547e461342f51aec4a10f96fdfe45414b522be3c7d24ea0b62bf4372cd37768022e4d6161707ffb2c0987e6 +"confusing-browser-globals@npm:^1.0.10, confusing-browser-globals@npm:^1.0.11": + version: 1.0.11 + resolution: "confusing-browser-globals@npm:1.0.11" + checksum: 3afc635abd37e566477f610e7978b15753f0e84025c25d49236f1f14d480117185516bdd40d2a2167e6bed8048641a9854964b9c067e3dcdfa6b5d0ad3c3a5ef languageName: node linkType: hard -"connect-history-api-fallback@npm:^1.6.0": - version: 1.6.0 - resolution: "connect-history-api-fallback@npm:1.6.0" - checksum: 804ca2be28c999032ecd37a9f71405e5d7b7a4b3defcebbe41077bb8c5a0a150d7b59f51dcc33b2de30bc7e217a31d10f8cfad27e8e74c2fc7655eeba82d6e7e +"connect-history-api-fallback@npm:^2.0.0": + version: 2.0.0 + resolution: "connect-history-api-fallback@npm:2.0.0" + checksum: dc5368690f4a5c413889792f8df70d5941ca9da44523cde3f87af0745faee5ee16afb8195434550f0504726642734f2683d6c07f8b460f828a12c45fbd4c9a68 languageName: node linkType: hard @@ -10438,7 +8412,7 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": +"console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed @@ -10466,19 +8440,12 @@ __metadata: languageName: node linkType: hard -"contains-path@npm:^0.1.0": - version: 0.1.0 - resolution: "contains-path@npm:0.1.0" - checksum: 94ecfd944e0bc51be8d3fc596dcd17d705bd4c8a1a627952a3a8c5924bac01c7ea19034cf40b4b4f89e576cdead130a7e5fd38f5f7f07ef67b4b261d875871e3 - languageName: node - linkType: hard - -"content-disposition@npm:0.5.3": - version: 0.5.3 - resolution: "content-disposition@npm:0.5.3" +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" dependencies: - safe-buffer: 5.1.2 - checksum: 95bf164c0b0b8199d3f44b7631e51b37f683c6a90b9baa4315bd3d405a6d1bc81b7346f0981046aa004331fb3d7a28b629514d01fc209a5251573fc7e4d33380 + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 languageName: node linkType: hard @@ -10489,23 +8456,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:1.7.0, convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": - version: 1.7.0 - resolution: "convert-source-map@npm:1.7.0" - dependencies: - safe-buffer: ~5.1.1 - checksum: bcd2e3ea7d37f96b85a6e362c8a89402ccc73757256e3ee53aa2c22fe915adb854c66b1f81111be815a3a6a6ce3c58e8001858e883c9d5b4fe08a853fa865967 - languageName: node - linkType: hard - -"convert-source-map@npm:^0.3.3": - version: 0.3.5 - resolution: "convert-source-map@npm:0.3.5" - checksum: 33b209aa8f33bcaa9a22f2dbf6bfb71f4a429d8e948068d61b6087304e3194c30016d1e02e842184e653b74442c7e2dd2e7db97532b67f556aded3d8b4377a2c - languageName: node - linkType: hard - -"convert-source-map@npm:^1.5.0": +"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" dependencies: @@ -10521,24 +8472,10 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.4.0": - version: 0.4.0 - resolution: "cookie@npm:0.4.0" - checksum: 760384ba0aef329c52523747e36a452b5e51bc49b34160363a6934e7b7df3f93fcc88b35e33450361535d40a92a96412da870e1816aba9aa6cc556a9fedd8492 - languageName: node - linkType: hard - -"copy-concurrently@npm:^1.0.0": - version: 1.0.5 - resolution: "copy-concurrently@npm:1.0.5" - dependencies: - aproba: ^1.1.1 - fs-write-stream-atomic: ^1.0.8 - iferr: ^0.1.5 - mkdirp: ^0.5.1 - rimraf: ^2.5.4 - run-queue: ^1.0.0 - checksum: 63c169f582e09445260988f697b2d07793d439dfc31e97c8999707bd188dd94d1c7f2ca3533c7786fb75f03a3f2f54ad1ee08055f95f61bb8d2e862498c1d460 +"cookie@npm:0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 languageName: node linkType: hard @@ -10549,40 +8486,20 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.20.2, core-js-compat@npm:^3.21.0": - version: 3.21.0 - resolution: "core-js-compat@npm:3.21.0" - dependencies: - browserslist: ^4.19.1 - semver: 7.0.0 - checksum: 7914d2f8a2f7c1b400e1c04c7560f4c96028bf23cec3cea6063ba594e38023cccbd38ad88af41c5d6b65450e97a989eb37598f609e3f7fbc6ebc1856d4195cbb - languageName: node - linkType: hard - -"core-js-compat@npm:^3.22.1": - version: 3.22.8 - resolution: "core-js-compat@npm:3.22.8" - dependencies: - browserslist: ^4.20.3 - semver: 7.0.0 - checksum: 0c82d9110dcb267c2f5547c61b62f8043793d203523048169176b8badf0b73f3792624342b85d9c923df8eb8971b4aa468b160abb81a023d183c5951e4f05a66 - languageName: node - linkType: hard - -"core-js-compat@npm:^3.6.2, core-js-compat@npm:^3.8.1, core-js-compat@npm:^3.9.0": - version: 3.9.1 - resolution: "core-js-compat@npm:3.9.1" +"core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": + version: 3.24.0 + resolution: "core-js-compat@npm:3.24.0" dependencies: - browserslist: ^4.16.3 + browserslist: ^4.21.2 semver: 7.0.0 - checksum: e72664610247b9735ff22358d6f2069837a02454da174ff7c69c8ef81992ea819be25ad2794130027114b328a02faefc85f1a42eb1359b8d48ca36ccb30fafcc + checksum: dbfa9154de02310cdfd121a04e9030f947b31c9c46abe8f6b50a1fe1677d200315e015d4644bdabacd89432cb0564c19e2a5c81aca5c4db4f7efbba994a410c9 languageName: node linkType: hard -"core-js-pure@npm:^3.0.0": - version: 3.9.1 - resolution: "core-js-pure@npm:3.9.1" - checksum: f4ec527da77d031a9f7c4b912c4b733d99506c85a227949993b8bdbe6cc4cebd1d160f483f91b5bfee41d2b8b54af43b4655cb2bd85d97645cf9c23ff130611f +"core-js-pure@npm:^3.20.2, core-js-pure@npm:^3.8.1": + version: 3.24.0 + resolution: "core-js-pure@npm:3.24.0" + checksum: 9ed3ec22e3c428ef346ab4a8f25fffe7938734513fbe738d4b46cc59735a2b98319ffd2f65e3e29fe5f1df5963faeb22e518d2576bf93efa02f49ef0f4d1a0ce languageName: node linkType: hard @@ -10600,20 +8517,27 @@ __metadata: languageName: node linkType: hard -"core-js@npm:^3.6.5": - version: 3.9.1 - resolution: "core-js@npm:3.9.1" - checksum: fb21fb37deaac0964ebf3f51eebe990eaf39fd239c35d36f5c4c7510ffca85fd96d3a89f0ee8059b4f1c0e773e434b6148e0565a760f0c20b3c5cda7329c2ba5 +"core-js@npm:^3.19.2": + version: 3.24.0 + resolution: "core-js@npm:3.24.0" + checksum: f1d1feef82bac7ecddd9e40e75b7126e7b5299a0d17aa046238bd8c78567d485b32c9c80b212704d9483ccc8b3f13b3ee35a5ec69fdca874377f654664068669 languageName: node linkType: hard -"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": +"core-util-is@npm:1.0.2": version: 1.0.2 resolution: "core-util-is@npm:1.0.2" checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab languageName: node linkType: hard +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + languageName: node + linkType: hard + "cosmiconfig@npm:^5.0.0": version: 5.2.1 resolution: "cosmiconfig@npm:5.2.1" @@ -10639,20 +8563,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^7.0.0": - version: 7.0.0 - resolution: "cosmiconfig@npm:7.0.0" - dependencies: - "@types/parse-json": ^4.0.0 - import-fresh: ^3.2.1 - parse-json: ^5.0.0 - path-type: ^4.0.0 - yaml: ^1.10.0 - checksum: 6801feaa0249e9b9fdde5b3d70dc33b4f9c69095bec94d67e3fe08b66eac24dc7e2099f053597cfbc94b743de269aa5d2cfa7da3fde765433423b06bd122941a - languageName: node - linkType: hard - -"cosmiconfig@npm:^7.0.1": +"cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": version: 7.0.1 resolution: "cosmiconfig@npm:7.0.1" dependencies: @@ -10719,17 +8630,6 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: ^3.1.0 - shebang-command: ^2.0.0 - which: ^2.0.1 - checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 - languageName: node - linkType: hard - "cross-spawn@npm:^5.1.0": version: 5.1.0 resolution: "cross-spawn@npm:5.1.0" @@ -10741,7 +8641,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^6.0.0, cross-spawn@npm:^6.0.4": +"cross-spawn@npm:^6.0.4": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" dependencies: @@ -10754,6 +8654,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + "crypto-browserify@npm:^3.11.0": version: 3.12.0 resolution: "crypto-browserify@npm:3.12.0" @@ -10773,21 +8684,23 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^1.0.0": - version: 1.0.0 - resolution: "crypto-random-string@npm:1.0.0" - checksum: 6fc61a46c18547b49a93da24f4559c4a1c859f4ee730ecc9533c1ba89fa2a9e9d81f390c2789467afbbd0d1c55a6e96a71e4716b6cd3e77736ed5fced7a2df9a +"crypto-random-string@npm:^2.0.0": + version: 2.0.0 + resolution: "crypto-random-string@npm:2.0.0" + checksum: 0283879f55e7c16fdceacc181f87a0a65c53bc16ffe1d58b9d19a6277adcd71900d02bb2c4843dd55e78c51e30e89b0fec618a7f170ebcc95b33182c28f05fd6 languageName: node linkType: hard -"css-blank-pseudo@npm:^0.1.4": - version: 0.1.4 - resolution: "css-blank-pseudo@npm:0.1.4" +"css-blank-pseudo@npm:^3.0.3": + version: 3.0.3 + resolution: "css-blank-pseudo@npm:3.0.3" dependencies: - postcss: ^7.0.5 + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 bin: - css-blank-pseudo: cli.js - checksum: f995a6ca5dbb867af4b30c3dc872a8f0b27ad120442c34796eef7f9c4dcf014249522aaa0a2da3c101c4afa5d7d376436bb978ae1b2c02deddec283fad30c998 + css-blank-pseudo: dist/cli.cjs + checksum: 9be0a13885a99d8ba9e1f45ea66e801d4da75b58c1c3c516a40772fa3a93ef9952b15dcac0418acbb6c89daaae0572819647701b8e553a02972826e33d4cd67f languageName: node linkType: hard @@ -10815,6 +8728,15 @@ __metadata: languageName: node linkType: hard +"css-declaration-sorter@npm:^6.3.0": + version: 6.3.0 + resolution: "css-declaration-sorter@npm:6.3.0" + peerDependencies: + postcss: ^8.0.9 + checksum: 69ce1c2e0e854c043dccbb613f15e2911e2e12dd656d18cdae831baa6a6a8f9ef0d6560c456e3b41d28835e5e013bfdf9114eeba206564b1513ea968a3633c1f + languageName: node + linkType: hard + "css-font-size-keywords@npm:^1.0.0": version: 1.0.0 resolution: "css-font-size-keywords@npm:1.0.0" @@ -10867,37 +8789,59 @@ __metadata: languageName: node linkType: hard -"css-has-pseudo@npm:^0.10.0": - version: 0.10.0 - resolution: "css-has-pseudo@npm:0.10.0" +"css-has-pseudo@npm:^3.0.4": + version: 3.0.4 + resolution: "css-has-pseudo@npm:3.0.4" dependencies: - postcss: ^7.0.6 - postcss-selector-parser: ^5.0.0-rc.4 + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 bin: - css-has-pseudo: cli.js - checksum: 88d891ba18f821e8a94d821ecdd723c606019462664c7d86e7d8731622bd26f9d55582e494bcc2a62f9399cc7b89049ddc8a9d1e8f1bf1a133c2427739d2d334 + css-has-pseudo: dist/cli.cjs + checksum: 8f165d68f6621891d9fa1d874794916a52ed8847dfbec591523ad68774650cc1eae062ba08f59514666e04aeba27be72c9b211892f3a187c5ba6e287bd4260e7 languageName: node linkType: hard -"css-loader@npm:4.3.0": - version: 4.3.0 - resolution: "css-loader@npm:4.3.0" +"css-loader@npm:^6.5.1": + version: 6.7.1 + resolution: "css-loader@npm:6.7.1" dependencies: - camelcase: ^6.0.0 - cssesc: ^3.0.0 - icss-utils: ^4.1.1 - loader-utils: ^2.0.0 - postcss: ^7.0.32 - postcss-modules-extract-imports: ^2.0.0 - postcss-modules-local-by-default: ^3.0.3 - postcss-modules-scope: ^2.2.0 - postcss-modules-values: ^3.0.0 - postcss-value-parser: ^4.1.0 - schema-utils: ^2.7.1 - semver: ^7.3.2 + icss-utils: ^5.1.0 + postcss: ^8.4.7 + postcss-modules-extract-imports: ^3.0.0 + postcss-modules-local-by-default: ^4.0.0 + postcss-modules-scope: ^3.0.0 + postcss-modules-values: ^4.0.0 + postcss-value-parser: ^4.2.0 + semver: ^7.3.5 + peerDependencies: + webpack: ^5.0.0 + checksum: 170fdbc630a05a43679ef60fa97694766b568dbde37adccc0faafa964fc675f08b976bc68837bb73b61d60240e8d2cbcbf51540fe94ebc9dafc56e7c46ba5527 + languageName: node + linkType: hard + +"css-minimizer-webpack-plugin@npm:^3.2.0": + version: 3.4.1 + resolution: "css-minimizer-webpack-plugin@npm:3.4.1" + dependencies: + cssnano: ^5.0.6 + jest-worker: ^27.0.2 + postcss: ^8.3.5 + schema-utils: ^4.0.0 + serialize-javascript: ^6.0.0 + source-map: ^0.6.1 peerDependencies: - webpack: ^4.27.0 || ^5.0.0 - checksum: 697a8838f0975f86c634e7a920572604879a9738128fcc01e5393fae5ac9a7a1a925c0d14ebb6ed67fa7e14bd17849eec152a99e3299cc92f422f6b0cd4eff73 + webpack: ^5.0.0 + peerDependenciesMeta: + "@parcel/css": + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + checksum: 065c6c1eadb7c99267db5d04d6f3909e9968b73c4cb79ab9e4502a5fbf1a3d564cfe6f8e0bff8e4ab00d4ed233e9c3c76a4ebe0ee89150b3d9ecb064ddf1e5e9 languageName: node linkType: hard @@ -10915,14 +8859,14 @@ __metadata: languageName: node linkType: hard -"css-prefers-color-scheme@npm:^3.1.1": - version: 3.1.1 - resolution: "css-prefers-color-scheme@npm:3.1.1" - dependencies: - postcss: ^7.0.5 +"css-prefers-color-scheme@npm:^6.0.3": + version: 6.0.3 + resolution: "css-prefers-color-scheme@npm:6.0.3" + peerDependencies: + postcss: ^8.4 bin: - css-prefers-color-scheme: cli.js - checksum: ba69a86b006818ffe3548bcbeb5e4e8139b8b6cf45815a3b3dddd12cd9acf3d8ac3b94e63fe0abd34e0683cf43ed8c2344e3bd472bbf02a6eb40c7bbf565d587 + css-prefers-color-scheme: dist/cli.cjs + checksum: 3a2b02f0454adda68861cdcaf6a0d11f462eadf165301cba61c5ec7c5f229ac261c5baa54c377d9b811ec5f21b30d72a02bc032cdad2415b3a566f08a0c47b3a languageName: node linkType: hard @@ -10933,7 +8877,7 @@ __metadata: languageName: node linkType: hard -"css-select@npm:^2.0.0, css-select@npm:^2.0.2": +"css-select@npm:^2.0.0": version: 2.1.0 resolution: "css-select@npm:2.1.0" dependencies: @@ -10946,15 +8890,15 @@ __metadata: linkType: hard "css-select@npm:^4.1.3": - version: 4.1.3 - resolution: "css-select@npm:4.1.3" + version: 4.3.0 + resolution: "css-select@npm:4.3.0" dependencies: boolbase: ^1.0.0 - css-what: ^5.0.0 - domhandler: ^4.2.0 - domutils: ^2.6.0 - nth-check: ^2.0.0 - checksum: 40928f1aa6c71faf36430e7f26bcbb8ab51d07b98b754caacb71906400a195df5e6c7020a94f2982f02e52027b9bd57c99419220cf7020968c3415f14e4be5f8 + css-what: ^6.0.1 + domhandler: ^4.3.1 + domutils: ^2.8.0 + nth-check: ^2.0.1 + checksum: d6202736839194dd7f910320032e7cfc40372f025e4bf21ca5bf6eb0a33264f322f50ba9c0adc35dadd342d3d6fae5ca244779a4873afbfa76561e343f2058e0 languageName: node linkType: hard @@ -10996,17 +8940,7 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^1.1.2": - version: 1.1.2 - resolution: "css-tree@npm:1.1.2" - dependencies: - mdn-data: 2.0.14 - source-map: ^0.6.1 - checksum: b92e6439124f2a96bb111d4b4c2a50a8bdf392acd6be2179c67a0cff0582917e29561272543d37f3f48b7bfcad7a2aba1c9347d8c9519c97d54457b0d9090618 - languageName: node - linkType: hard - -"css-tree@npm:^1.1.3": +"css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": version: 1.1.3 resolution: "css-tree@npm:1.1.3" dependencies: @@ -11033,22 +8967,10 @@ __metadata: languageName: node linkType: hard -"css-what@npm:^5.0.0": - version: 5.0.1 - resolution: "css-what@npm:5.0.1" - checksum: 7a3de33a1c130d32d711cce4e0fa747be7a9afe6b5f2c6f3d56bc2765f150f6034f5dd5fe263b9359a1c371c01847399602d74b55322c982742b336d998602cd - languageName: node - linkType: hard - -"css@npm:^2.0.0": - version: 2.2.4 - resolution: "css@npm:2.2.4" - dependencies: - inherits: ^2.0.3 - source-map: ^0.6.1 - source-map-resolve: ^0.5.2 - urix: ^0.1.0 - checksum: a35d483c5ccc04bcde3b1e7393d58ad3eee1dd6956df0f152de38e46a17c0ee193c30eec6b1e59831ad0e74599385732000e95987fcc9cb2b16c6d951bae49e1 +"css-what@npm:^6.0.1": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: b975e547e1e90b79625918f84e67db5d33d896e6de846c9b584094e529f0c63e2ab85ee33b9daffd05bff3a146a1916bec664e18bb76dd5f66cbff9fc13b2bbe languageName: node linkType: hard @@ -11059,19 +8981,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^4.4.0": - version: 4.4.0 - resolution: "cssdb@npm:4.4.0" - checksum: 521dd2135da1ab93612a4161eb1024cfc7b155a35d95f9867d328cc88ad57fdd959aa88ea8f4e6cea3a82bca91b76570dc1abb18bfd902c6889973956a03e497 - languageName: node - linkType: hard - -"cssesc@npm:^2.0.0": - version: 2.0.0 - resolution: "cssesc@npm:2.0.0" - bin: - cssesc: bin/cssesc - checksum: 5e50886c2aca3f492fe808dbd146d30eb1c6f31fbe6093979a8376e39d171d989279199f6f3f1a42464109e082e0e42bc33eeff9467fb69bf346f5ba5853c3c6 +"cssdb@npm:^6.6.3": + version: 6.6.3 + resolution: "cssdb@npm:6.6.3" + checksum: 0d5bd77bbffae8d5236f7e7af5fb22d54ac0f88f6ffcde736e2759a9db34042cc28491a8b7499d0c7887c2848a4597544620847e2baf5fc108b766f1f30cb1b0 languageName: node linkType: hard @@ -11084,9 +8997,9 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^4.0.7": - version: 4.0.7 - resolution: "cssnano-preset-default@npm:4.0.7" +"cssnano-preset-default@npm:^4.0.8": + version: 4.0.8 + resolution: "cssnano-preset-default@npm:4.0.8" dependencies: css-declaration-sorter: ^4.0.1 cssnano-util-raw-cache: ^4.0.1 @@ -11116,9 +9029,48 @@ __metadata: postcss-ordered-values: ^4.1.2 postcss-reduce-initial: ^4.0.3 postcss-reduce-transforms: ^4.0.2 - postcss-svgo: ^4.0.2 + postcss-svgo: ^4.0.3 postcss-unique-selectors: ^4.0.1 - checksum: ebc382757b9819fc730f77ffb6bc9c37f7e758cedfb33010b3f4f5d4789a6ab1407185c5f69f161223dc9b5c96e07c024b32f942e30ad164b2c2a6e4411c227f + checksum: eb32c9fdd8bd4683e33d62284b6a9c4eb705b745235f4bb51a5571e1eb6738f636958fc9a6218fb51de43e0e2f74386a705b4c7ff2d1dcc611647953ba6ce159 + languageName: node + linkType: hard + +"cssnano-preset-default@npm:^5.2.12": + version: 5.2.12 + resolution: "cssnano-preset-default@npm:5.2.12" + dependencies: + css-declaration-sorter: ^6.3.0 + cssnano-utils: ^3.1.0 + postcss-calc: ^8.2.3 + postcss-colormin: ^5.3.0 + postcss-convert-values: ^5.1.2 + postcss-discard-comments: ^5.1.2 + postcss-discard-duplicates: ^5.1.0 + postcss-discard-empty: ^5.1.1 + postcss-discard-overridden: ^5.1.0 + postcss-merge-longhand: ^5.1.6 + postcss-merge-rules: ^5.1.2 + postcss-minify-font-values: ^5.1.0 + postcss-minify-gradients: ^5.1.1 + postcss-minify-params: ^5.1.3 + postcss-minify-selectors: ^5.2.1 + postcss-normalize-charset: ^5.1.0 + postcss-normalize-display-values: ^5.1.0 + postcss-normalize-positions: ^5.1.1 + postcss-normalize-repeat-style: ^5.1.1 + postcss-normalize-string: ^5.1.0 + postcss-normalize-timing-functions: ^5.1.0 + postcss-normalize-unicode: ^5.1.0 + postcss-normalize-url: ^5.1.0 + postcss-normalize-whitespace: ^5.1.1 + postcss-ordered-values: ^5.1.3 + postcss-reduce-initial: ^5.1.0 + postcss-reduce-transforms: ^5.1.0 + postcss-svgo: ^5.1.0 + postcss-unique-selectors: ^5.1.1 + peerDependencies: + postcss: ^8.2.15 + checksum: 3d6c05e7719f05c577c3123dc8f823ddc055ec5402ee8184cea1832c209a87ab11aa2aa2cba3e6f4ae6e144c1f3f5122fad1bc7c3086bc3441770f2733e03f58 languageName: node linkType: hard @@ -11152,15 +9104,37 @@ __metadata: languageName: node linkType: hard -"cssnano@npm:^4.0.0, cssnano@npm:^4.1.10": - version: 4.1.10 - resolution: "cssnano@npm:4.1.10" +"cssnano-utils@npm:^3.1.0": + version: 3.1.0 + resolution: "cssnano-utils@npm:3.1.0" + peerDependencies: + postcss: ^8.2.15 + checksum: 975c84ce9174cf23bb1da1e9faed8421954607e9ea76440cd3bb0c1bea7e17e490d800fca5ae2812d1d9e9d5524eef23ede0a3f52497d7ccc628e5d7321536f2 + languageName: node + linkType: hard + +"cssnano@npm:^4.0.0, cssnano@npm:^4.1.11": + version: 4.1.11 + resolution: "cssnano@npm:4.1.11" dependencies: cosmiconfig: ^5.0.0 - cssnano-preset-default: ^4.0.7 + cssnano-preset-default: ^4.0.8 is-resolvable: ^1.0.0 postcss: ^7.0.0 - checksum: 698179cb73cfbd04c16f9b54e54e403d3c4c557fae4fe53ff70f08011e0c6c2540333dbbd539670167f75dd27eed344ea8ec0a453513fd283d26551823d75d8b + checksum: 2453fbe9f9f9e2ffe87dc5c718578f1b801fc7b82eaad12f5564c84bb0faf1774ea52e01874ecd29d1782aa7d0d84f0dbc95001eed9866ebd9bc523638999c9b + languageName: node + linkType: hard + +"cssnano@npm:^5.0.6": + version: 5.1.12 + resolution: "cssnano@npm:5.1.12" + dependencies: + cssnano-preset-default: ^5.2.12 + lilconfig: ^2.0.3 + yaml: ^1.10.2 + peerDependencies: + postcss: ^8.2.15 + checksum: 5bc6a6195e7fe2065fbe6002dd09ce23f125956679232c823d9f28914e4ea7b72714b67c86e3b5369861253eb74c4df3079a9b839b8ddebe60e1f81d2292e224 languageName: node linkType: hard @@ -11196,7 +9170,7 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^2.2.0": +"cssstyle@npm:^2.3.0": version: 2.3.0 resolution: "cssstyle@npm:2.3.0" dependencies: @@ -11206,33 +9180,19 @@ __metadata: linkType: hard "csstype@npm:^2.5.2": - version: 2.6.16 - resolution: "csstype@npm:2.6.16" - checksum: 4da90b4aa0783fe8b5bcab21b6711ef68ae9d2b04377d064f4f264bc62003657882883d255f57e3567322982f541d98c68265cee0e456d395a3fd62963b6bea7 + version: 2.6.20 + resolution: "csstype@npm:2.6.20" + checksum: cb5d5ded49c3390909e93b20b285d4a63d0ba5b10294bdfbc4cf911f80e91d6cf367ea671f99f09570762535c14ea7074a2c7fa73f02008203f01328dea8968b languageName: node linkType: hard -"csstype@npm:^3.0.2": - version: 3.0.7 - resolution: "csstype@npm:3.0.7" - checksum: 2f30c993be570c6d0de334b979a718370ee9bca9569c90340f13e05e542146c55b22e87372b858c061f9f8ded494da7a4715957882f9356cf9993ba11ab6f09c - languageName: node - linkType: hard - -"csstype@npm:^3.1.0": +"csstype@npm:^3.0.2, csstype@npm:^3.1.0": version: 3.1.0 resolution: "csstype@npm:3.1.0" checksum: 644e986cefab86525f0b674a06889cfdbb1f117e5b7d1ce0fc55b0423ecc58807a1ea42ecc75c4f18999d14fc42d1d255f84662a45003a52bb5840e977eb2ffd languageName: node linkType: hard -"cyclist@npm:^1.0.1": - version: 1.0.1 - resolution: "cyclist@npm:1.0.1" - checksum: 3cc2fdeb358599ca0ea96f5ecf2fc530ccab7ed1f8aa1a894aebfacd2009281bd7380cb9b30db02a18cdd00b3ed1d7ce81a3b11fe56e33a6a0fe4424dc592fbe - languageName: node - linkType: hard - "d3-array@npm:1, d3-array@npm:^1.2.1": version: 1.2.4 resolution: "d3-array@npm:1.2.4" @@ -11240,7 +9200,7 @@ __metadata: languageName: node linkType: hard -"d3-array@npm:2": +"d3-array@npm:2, d3-array@npm:^2.3.0": version: 2.12.1 resolution: "d3-array@npm:2.12.1" dependencies: @@ -11249,15 +9209,6 @@ __metadata: languageName: node linkType: hard -"d3-array@npm:^2.3.0": - version: 2.11.0 - resolution: "d3-array@npm:2.11.0" - dependencies: - internmap: ^1.0.0 - checksum: 2ee58e56874886524d340d8f9310fbfdabe13431ac6c94832f2b6aaf59ad7e7023cf09c8e54207d48e3d56bd53cbf2af66aa24ccf7c0bf12657229b00ef9191e - languageName: node - linkType: hard - "d3-collection@npm:1, d3-collection@npm:^1.0.4": version: 1.0.7 resolution: "d3-collection@npm:1.0.7" @@ -11437,10 +9388,12 @@ __metadata: languageName: node linkType: hard -"d3-time@npm:1 - 2": - version: 2.0.0 - resolution: "d3-time@npm:2.0.0" - checksum: 9d1c1510b1c2569b2f87100a376eea18d322644a89360eadfb558c12e7c7f15cd1aebb5e60778cba3088edaffb6ee285334e735de8dfc1ea9f255f855e21d04b +"d3-time@npm:1 - 2, d3-time@npm:^2.1.1": + version: 2.1.1 + resolution: "d3-time@npm:2.1.1" + dependencies: + d3-array: 2 + checksum: d1c7b9658c20646e46c3dd19e11c38e02dec098e8baa7d2cd868af8eb01953668f5da499fa33dc63541cf74a26e788786f8828c4381dbbf475a76b95972979a6 languageName: node linkType: hard @@ -11451,15 +9404,6 @@ __metadata: languageName: node linkType: hard -"d3-time@npm:^2.1.1": - version: 2.1.1 - resolution: "d3-time@npm:2.1.1" - dependencies: - d3-array: 2 - checksum: d1c7b9658c20646e46c3dd19e11c38e02dec098e8baa7d2cd868af8eb01953668f5da499fa33dc63541cf74a26e788786f8828c4381dbbf475a76b95972979a6 - languageName: node - linkType: hard - "d3-timer@npm:1": version: 1.0.10 resolution: "d3-timer@npm:1.0.10" @@ -11477,10 +9421,10 @@ __metadata: languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.6": - version: 1.0.6 - resolution: "damerau-levenshtein@npm:1.0.6" - checksum: 4746e69c33e83038cac1f26100be6eb6a1cc1e52bdbf6d1c14a91aa0323cac35aea7e4f2bedf53e39db80c08853c88ec64b0e8b1622f05c80281636d4da7d139 +"damerau-levenshtein@npm:^1.0.8": + version: 1.0.8 + resolution: "damerau-levenshtein@npm:1.0.8" + checksum: d240b7757544460ae0586a341a53110ab0a61126570ef2d8c731e3eab3f0cb6e488e2609e6a69b46727635de49be20b071688698744417ff1b6c1d7ccd03e0de languageName: node linkType: hard @@ -11516,12 +9460,12 @@ __metadata: linkType: hard "deasync@npm:^0.1.14": - version: 0.1.21 - resolution: "deasync@npm:0.1.21" + version: 0.1.27 + resolution: "deasync@npm:0.1.27" dependencies: bindings: ^1.5.0 node-addon-api: ^1.7.1 - checksum: dd54c8af51c993e838113245fd430479ac56f23988d281449ec383cb62ba5cd8861bc0a59105a994805cfcd9ad59a69869afde9330dd8645f076327734a3dd1d + checksum: 2a3629f36e2e9d9a26622c68dbaf96a9034805ed4cedc7d0b73ea05121113be257f118a13353606a859f625123d32f695702cb6db8bbfe661869ef884f7e5ec9 languageName: node linkType: hard @@ -11541,38 +9485,31 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.1, debug@npm:^3.2.6, debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: ^2.1.1 - checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c - languageName: node - linkType: hard - -"debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1": - version: 4.3.1 - resolution: "debug@npm:4.3.1" +"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" dependencies: ms: 2.1.2 peerDependenciesMeta: supports-color: optional: true - checksum: 2c3352e37d5c46b0d203317cd45ea0e26b2c99f2d9dfec8b128e6ceba90dfb65425f5331bf3020fe9929d7da8c16758e737f4f3bfc0fce6b8b3d503bae03298b + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 languageName: node linkType: hard -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa +"debug@npm:^3.2.6, debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c languageName: node linkType: hard -"decimal.js@npm:^10.2.0": - version: 10.2.1 - resolution: "decimal.js@npm:10.2.1" - checksum: d2421adf209422d520c8f1a4d1fceffc2ccd0c041aa179f8d18a315ebda6a7be918f2634ac850df299dccccae6a3567c5761301a1c3693461fdef3d1de23b000 +"decimal.js@npm:^10.2.1": + version: 10.3.1 + resolution: "decimal.js@npm:10.3.1" + checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 languageName: node linkType: hard @@ -11590,24 +9527,10 @@ __metadata: languageName: node linkType: hard -"deep-equal@npm:^1.0.1": - version: 1.1.1 - resolution: "deep-equal@npm:1.1.1" - dependencies: - is-arguments: ^1.0.4 - is-date-object: ^1.0.1 - is-regex: ^1.0.4 - object-is: ^1.0.1 - object-keys: ^1.1.1 - regexp.prototype.flags: ^1.2.0 - checksum: f92686f2c5bcdf714a75a5fa7a9e47cb374a8ec9307e717b8d1ce61f56a75aaebf5619c2a12b8087a705b5a2f60d0292c35f8b58cb1f72e3268a3a15cab9f78d - languageName: node - linkType: hard - "deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": - version: 0.1.3 - resolution: "deep-is@npm:0.1.3" - checksum: c15b04c3848a89880c94e25b077c19b47d9a30dd99048e70e5f95d943e7b246bee1da0c1376b56b01bc045be2cae7d9b1c856e68e47e9805634327de7c6cb6d5 + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 languageName: node linkType: hard @@ -11618,13 +9541,12 @@ __metadata: languageName: node linkType: hard -"default-gateway@npm:^4.2.0": - version: 4.2.0 - resolution: "default-gateway@npm:4.2.0" +"default-gateway@npm:^6.0.3": + version: 6.0.3 + resolution: "default-gateway@npm:6.0.3" dependencies: - execa: ^1.0.0 - ip-regex: ^2.1.0 - checksum: 1f5be765471689c6bab33e0c8b87363c3e2485cc1ab78904d383a8a8293a79f684da2a3303744b112503f986af4ea87d917c63a468ed913e9b0c31588c02d6a4 + execa: ^5.0.0 + checksum: 126f8273ecac8ee9ff91ea778e8784f6cd732d77c3157e8c5bdd6ed03651b5291f71446d05bc02d04073b1e67583604db5394ea3cf992ede0088c70ea15b7378 languageName: node linkType: hard @@ -11637,12 +9559,20 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": - version: 1.1.3 - resolution: "define-properties@npm:1.1.3" +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": + version: 1.1.4 + resolution: "define-properties@npm:1.1.4" dependencies: - object-keys: ^1.0.12 - checksum: da80dba55d0cd76a5a7ab71ef6ea0ebcb7b941f803793e4e0257b384cb772038faa0c31659d244e82c4342edef841c1a1212580006a05a5068ee48223d787317 + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b languageName: node linkType: hard @@ -11681,21 +9611,6 @@ __metadata: languageName: node linkType: hard -"del@npm:^4.1.1": - version: 4.1.1 - resolution: "del@npm:4.1.1" - dependencies: - "@types/glob": ^7.1.1 - globby: ^6.1.0 - is-path-cwd: ^2.0.0 - is-path-in-cwd: ^2.0.0 - p-map: ^2.0.0 - pify: ^4.0.1 - rimraf: ^2.6.3 - checksum: 521f7da44bd79da841c06d573923d1f64f423aee8b8219c973478d3150ce1dcc024d03ad605929292adbff56d6448bca60d96dcdd2d8a53b46dbcb27e265c94b - languageName: node - linkType: hard - "delaunator@npm:4": version: 4.0.1 resolution: "delaunator@npm:4.0.1" @@ -11717,7 +9632,14 @@ __metadata: languageName: node linkType: hard -"depd@npm:~1.1.2": +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a + languageName: node + linkType: hard + +"depd@npm:^1.1.2, depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 @@ -11741,10 +9663,10 @@ __metadata: languageName: node linkType: hard -"destroy@npm:~1.0.4": - version: 1.0.4 - resolution: "destroy@npm:1.0.4" - checksum: da9ab4961dc61677c709da0c25ef01733042614453924d65636a7db37308fef8a24cd1e07172e61173d471ca175371295fbc984b0af5b2b4ff47cd57bd784c03 +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 languageName: node linkType: hard @@ -11772,13 +9694,13 @@ __metadata: linkType: hard "detect-node@npm:^2.0.4": - version: 2.0.4 - resolution: "detect-node@npm:2.0.4" - checksum: c06ae40fefbad8cb8cbb6ca819c93568b2a809e747bfc9c71f3524b027f5e988163b0ac0517fd65288b375360b30bc4822172eb05d211f99003d73cf8ec22911 + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 832184ec458353e41533ac9c622f16c19f7c02d8b10c303dfd3a756f56be93e903616c0bb2d4226183c9351c15fc0b3dba41a17a2308262afabcfa3776e6ae6e languageName: node linkType: hard -"detect-port-alt@npm:1.1.6": +"detect-port-alt@npm:^1.1.6": version: 1.1.6 resolution: "detect-port-alt@npm:1.1.6" dependencies: @@ -11791,10 +9713,30 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^26.6.2": - version: 26.6.2 - resolution: "diff-sequences@npm:26.6.2" - checksum: 79af871776ef149a7ff3345d6b1bf37fe6e81f68632aa5542787851f6f60fba19b0be22fdd1e06046f56ae7382763ccfe94a982c39ee72bd107aef435ecbc0cf +"detective@npm:^5.2.1": + version: 5.2.1 + resolution: "detective@npm:5.2.1" + dependencies: + acorn-node: ^1.8.2 + defined: ^1.0.0 + minimist: ^1.2.6 + bin: + detective: bin/detective.js + checksum: dc4601bbc6be850edb3c2dab7a0eaf5a6169a15ad201679c66d40ea1986df816eeaecd590047f15b0780285f3eeea13b82dca0d4c52a47e744a571e326a72dc9 + languageName: node + linkType: hard + +"didyoumean@npm:^1.2.2": + version: 1.2.2 + resolution: "didyoumean@npm:1.2.2" + checksum: d5d98719d58b3c2fa59663c4c42ba9716f1fd01245c31d5fce31915bd3aa26e6aac149788e007358f778ebbd68a2256eb5973e8ca6f221df221ba060115acf2e + languageName: node + linkType: hard + +"diff-sequences@npm:^27.5.1": + version: 27.5.1 + resolution: "diff-sequences@npm:27.5.1" + checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca languageName: node linkType: hard @@ -11818,6 +9760,13 @@ __metadata: languageName: node linkType: hard +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: d7381bca22ed11933a1ccf376db7a94bee2c57aa61e490f680124fa2d1cd27e94eba641d9f45be57caab4f9a6579de0983466f620a2cd6230d7ec93312105ae7 + languageName: node + linkType: hard + "dns-equal@npm:^1.0.0": version: 1.0.0 resolution: "dns-equal@npm:1.0.0" @@ -11825,32 +9774,12 @@ __metadata: languageName: node linkType: hard -"dns-packet@npm:^1.3.1": - version: 1.3.2 - resolution: "dns-packet@npm:1.3.2" - dependencies: - ip: ^1.1.0 - safe-buffer: ^5.0.1 - checksum: 36d5d9e6eecb8a6cacf01e0e304401228440883cc8b6aeff5e3e803d9f91f68fe91579e1e17eadf62698daa13988f3b45c78bc9c738ff99c641f42d3e45a19cc - languageName: node - linkType: hard - -"dns-txt@npm:^2.0.2": - version: 2.0.2 - resolution: "dns-txt@npm:2.0.2" - dependencies: - buffer-indexof: ^1.0.0 - checksum: 80130b665379ecd991687ae079fbee25d091e03e4c4cef41e7643b977849ac48c2f56bfcb3727e53594d29029b833749811110d9f3fbee1b26a6e6f8096a5cef - languageName: node - linkType: hard - -"doctrine@npm:1.5.0": - version: 1.5.0 - resolution: "doctrine@npm:1.5.0" +"dns-packet@npm:^5.2.2": + version: 5.4.0 + resolution: "dns-packet@npm:5.4.0" dependencies: - esutils: ^2.0.2 - isarray: ^1.0.0 - checksum: 7ce8102a05cbb9d942d49db5461d2f3dd1208ebfed929bf1c04770a1ef6ef540b792e63c45eae4c51f8b16075e0af4a73581a06bad31c37ceb0988f2e398509b + "@leichtgewicht/ip-codec": ^2.0.1 + checksum: a169963848e8539dfd8a19058562f9e1c15c0f82cbf76fa98942f11c46f3c74e7e7c82e3a8a5182d4c9e6ff19e21be738dbd098a876dde755d3aedd2cc730880 languageName: node linkType: hard @@ -11872,7 +9801,7 @@ __metadata: languageName: node linkType: hard -"dom-converter@npm:^0.2": +"dom-converter@npm:^0.2.0": version: 0.2.0 resolution: "dom-converter@npm:0.2.0" dependencies: @@ -11882,12 +9811,12 @@ __metadata: linkType: hard "dom-helpers@npm:^5.0.1": - version: 5.2.0 - resolution: "dom-helpers@npm:5.2.0" + version: 5.2.1 + resolution: "dom-helpers@npm:5.2.1" dependencies: "@babel/runtime": ^7.8.7 csstype: ^3.0.2 - checksum: bea3e7217c2adac5f89285b7786dbcc3a356226f6ff12934c9626689829b00e7fa7630a8f77973028d039db1aba6b882b1494854aa910422d1644486136b1e55 + checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c languageName: node linkType: hard @@ -11902,13 +9831,13 @@ __metadata: linkType: hard "dom-serializer@npm:^1.0.1": - version: 1.3.2 - resolution: "dom-serializer@npm:1.3.2" + version: 1.4.1 + resolution: "dom-serializer@npm:1.4.1" dependencies: domelementtype: ^2.0.1 domhandler: ^4.2.0 entities: ^2.0.0 - checksum: bff48714944d67b160db71ba244fb0f3fe72e77ef2ec8414e2eeb56f2d926e404a13456b8b83a5392e217ba47dec2ec0c368801b31481813e94d185276c3e964 + checksum: fbb0b01f87a8a2d18e6e5a388ad0f7ec4a5c05c06d219377da1abc7bb0f674d804f4a8a94e3f71ff15f6cb7dcfc75704a54b261db672b9b3ab03da6b758b0b22 languageName: node linkType: hard @@ -11926,17 +9855,10 @@ __metadata: languageName: node linkType: hard -"domelementtype@npm:^2.0.1": - version: 2.1.0 - resolution: "domelementtype@npm:2.1.0" - checksum: 55144142c1a06840b830909e4d2904bf604949114362b1b4ab2417b48e889e118b75f2d3eff68bf50fca74d8033a68e19c8b0387e6fafecb4489560af698cb5e - languageName: node - linkType: hard - -"domelementtype@npm:^2.2.0": - version: 2.2.0 - resolution: "domelementtype@npm:2.2.0" - checksum: 24cb386198640cd58aa36f8c987f2ea61859929106d06ffcc8f547e70cb2ed82a6dc56dcb8252b21fba1f1ea07df6e4356d60bfe57f77114ca1aed6828362629 +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 languageName: node linkType: hard @@ -11967,12 +9889,12 @@ __metadata: languageName: node linkType: hard -"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0": - version: 4.2.2 - resolution: "domhandler@npm:4.2.2" +"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.2.2, domhandler@npm:^4.3.1": + version: 4.3.1 + resolution: "domhandler@npm:4.3.1" dependencies: domelementtype: ^2.2.0 - checksum: ad782fef984eca5a6fdd4ce70b90c38aff335ae4d6a51223ac82bd371b6674614efdcfff2dbb1126a7395634357906781f179e4ec028c7c578bb7f2beef8a4a5 + checksum: 4c665ceed016e1911bf7d1dadc09dc888090b64dee7851cccd2fcf5442747ec39c647bb1cb8c8919f8bbdd0f0c625a6bafeeed4b2d656bbecdbae893f43ffaaa languageName: node linkType: hard @@ -11986,7 +9908,7 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^2.6.0, domutils@npm:^2.8.0": +"domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" dependencies: @@ -12016,17 +9938,17 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:5.1.0, dotenv-expand@npm:^5.1.0": +"dotenv-expand@npm:^5.1.0": version: 5.1.0 resolution: "dotenv-expand@npm:5.1.0" checksum: 8017675b7f254384915d55f9eb6388e577cf0a1231a28d54b0ca03b782be9501b0ac90ac57338636d395fa59051e6209e9b44b8ddf169ce6076dffb5dea227d3 languageName: node linkType: hard -"dotenv@npm:8.2.0": - version: 8.2.0 - resolution: "dotenv@npm:8.2.0" - checksum: ad4c8e0df3e24b4811c8e93377d048a10a9b213dcd9f062483b4a2d3168f08f10ec9c618c23f5639060d230ccdb174c08761479e9baa29610aa978e1ee66df76 +"dotenv@npm:^10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 languageName: node linkType: hard @@ -12077,14 +9999,14 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1": +"duplexer@npm:^0.1.2": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 languageName: node linkType: hard -"duplexify@npm:^3.4.2, duplexify@npm:^3.4.5, duplexify@npm:^3.6.0": +"duplexify@npm:^3.4.5": version: 3.7.1 resolution: "duplexify@npm:3.7.1" dependencies: @@ -12104,9 +10026,9 @@ __metadata: linkType: hard "earcut@npm:^2.1.5, earcut@npm:^2.2.2": - version: 2.2.2 - resolution: "earcut@npm:2.2.2" - checksum: 086ae42fdba847affed5278df7dc255f392aeab663758a44899f0e9f9ad4d0d33bc018197892b1f8b4be1b1c5d900de81c64519b7f1183cbe21a42729f0aa681 + version: 2.2.4 + resolution: "earcut@npm:2.2.4" + checksum: aea0466cb2f24e0c3c57148d8d28ac9846f53c4f43ee66780826474303ac851b305ef988152d0bdeb31e8f7ca939dc0df737e7505cfb1c1bdf2ff9d7f9ea2faa languageName: node linkType: hard @@ -12127,54 +10049,30 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^2.6.1": - version: 2.7.4 - resolution: "ejs@npm:2.7.4" - checksum: a1d2bfc7d1f0b39e99ae19b20c9469a25aeddba1ffc225db098110b18d566f73772fcdcc740b108cfda7452276f67d7b64eb359f90285414c942f4ae70713371 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.3.564": - version: 1.3.678 - resolution: "electron-to-chromium@npm:1.3.678" - checksum: 6b386a13e9422fa82b29225ed6e8e2cd6c6cfde63ec31e8566263d757c62eb9ec1257c431cf9268eabe8069baff04ac841a74cad6d0653159bb48125d63784ea - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.3.719": - version: 1.4.71 - resolution: "electron-to-chromium@npm:1.4.71" - checksum: ecb2546eed6b0e95003d787c259de730f32e2f5c0fa2acb27069c0cd21378cbc2a6c7516f4ec677a5960db4e180644f87ed91a729825a238454e31e4e74617db - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.3.830": - version: 1.3.831 - resolution: "electron-to-chromium@npm:1.3.831" - checksum: 724d82f4e498a3b641d4abedadbeb9c245344448e5f25370dfefdda7d9fb532cba4a8a9f5875988116225b12318f92849a8a80ec2c83a25d5a964fd9ef30d990 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.4.147": - version: 1.4.150 - resolution: "electron-to-chromium@npm:1.4.150" - checksum: d89c4db96c7d8d23c619772b787b7c036ccf48289c36c9e0d0938c137b7d3934234825161e9cc9e918ad83b9a23145e605181544a80034df4d2c0fc880881304 +"ejs@npm:^3.1.6": + version: 3.1.8 + resolution: "ejs@npm:3.1.8" + dependencies: + jake: ^10.8.5 + bin: + ejs: bin/cli.js + checksum: 1d40d198ad52e315ccf37e577bdec06e24eefdc4e3c27aafa47751a03a0c7f0ec4310254c9277a5f14763c3cd4bbacce27497332b2d87c74232b9b1defef8efc languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.17": - version: 1.4.68 - resolution: "electron-to-chromium@npm:1.4.68" - checksum: d7654d07ab7c504a0683cf29715db227bdbd3e397ad3a41bad3d1e35e9f837447be2bc5dea54b3350d51be5c9c7b79756dcbe44903fbee5949d67d783e788acb +"electron-to-chromium@npm:^1.4.202": + version: 1.4.204 + resolution: "electron-to-chromium@npm:1.4.204" + checksum: a0278e6af121bfcaeb3d0674b0762a2fd7c8f5af4a793e4f3f82275dec4a038e723174c92742be8c125a2c98a39f39b938a981596cc3c23f2eb7a01848e25950 languageName: node linkType: hard "element-resize-detector@npm:^1.1.9": - version: 1.2.2 - resolution: "element-resize-detector@npm:1.2.2" + version: 1.2.4 + resolution: "element-resize-detector@npm:1.2.4" dependencies: batch-processor: 1.0.0 - checksum: 9a129e9291bbb60100c2b413d96194b5003ddbc5687604547e3011ccf1d79fef6eb5fd276f5eac8903aa361d1e91aad4b71fa42fdfed2f8e026beaa8d054fc8f + checksum: 81c47b7e229c303889d3a9d78ec3f3232e88a6682f1e2424fb0632d9b4f503b2ca011e6954321060604da07749a5a972b6a175fdf6c6806093a3b80a304cde7b languageName: node linkType: hard @@ -12209,17 +10107,17 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.7.1": - version: 0.7.2 - resolution: "emittery@npm:0.7.2" - checksum: 908cd933d48a9bcb58ddf39e9a7d4ba1e049de392ccbef010102539a636e03cea2b28218331b7ede41de8165d9ed7f148851c5112ebd2e943117c0f61eff5f10 +"emittery@npm:^0.10.2": + version: 0.10.2 + resolution: "emittery@npm:0.10.2" + checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac languageName: node linkType: hard -"emoji-regex@npm:^7.0.1": - version: 7.0.3 - resolution: "emoji-regex@npm:7.0.3" - checksum: 9159b2228b1511f2870ac5920f394c7e041715429a68459ebe531601555f11ea782a8e1718f969df2711d38c66268174407cbca57ce36485544f695c2dfdc96e +"emittery@npm:^0.8.1": + version: 0.8.1 + resolution: "emittery@npm:0.8.1" + checksum: 2457e8c7b0688bb006126f2c025b2655abe682f66b184954122a8a065b5277f9813d49d627896a10b076b81c513ec5f491fd9c14fbd42c04b95ca3c9f3c365ee languageName: node linkType: hard @@ -12230,20 +10128,13 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^9.0.0": +"emoji-regex@npm:^9.2.2": version: 9.2.2 resolution: "emoji-regex@npm:9.2.2" checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 languageName: node linkType: hard -"emojis-list@npm:^2.0.0": - version: 2.1.0 - resolution: "emojis-list@npm:2.1.0" - checksum: fb61fa6356dfcc9fbe6db8e334c29da365a34d3d82a915cb59621883d3023d804fd5edad5acd42b8eec016936e81d3b38e2faf921b32e073758374253afe1272 - languageName: node - linkType: hard - "emojis-list@npm:^3.0.0": version: 3.0.0 resolution: "emojis-list@npm:3.0.0" @@ -12258,7 +10149,16 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0": +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"end-of-stream@npm:^1.0.0": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -12267,14 +10167,13 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^4.3.0": - version: 4.5.0 - resolution: "enhanced-resolve@npm:4.5.0" +"enhanced-resolve@npm:^5.10.0": + version: 5.10.0 + resolution: "enhanced-resolve@npm:5.10.0" dependencies: - graceful-fs: ^4.1.2 - memory-fs: ^0.5.0 - tapable: ^1.0.0 - checksum: 4d87488584c4d67d356ef4ba04978af4b2d4d18190cb859efac8e8475a34d5d6c069df33faa5a0a22920b0586dbf330f6a08d52bb15a8771a9ce4d70a2da74ba + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: 0bb9830704db271610f900e8d79d70a740ea16f251263362b0c91af545576d09fe50103496606c1300a05e588372d6f9780a9bc2e30ce8ef9b827ec8f44687ff languageName: node linkType: hard @@ -12287,7 +10186,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^1.1.1, entities@npm:^1.1.2": +"entities@npm:^1.1.1": version: 1.1.2 resolution: "entities@npm:1.1.2" checksum: d537b02799bdd4784ffd714d000597ed168727bddf4885da887c5a491d735739029a00794f1998abbf35f3f6aeda32ef5c15010dca1817d401903a501b6d3e05 @@ -12309,9 +10208,9 @@ __metadata: linkType: hard "env-paths@npm:^2.2.0": - version: 2.2.0 - resolution: "env-paths@npm:2.2.0" - checksum: ba2aea38301aafd69086be1f8cb453b92946e4840cb0de9d1c88a67e6f43a6174dcddb60b218ec36db8720b12de46b0d93c2f97ad9bbec6a267b479ab37debb6 + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e languageName: node linkType: hard @@ -12331,18 +10230,14 @@ __metadata: languageName: node linkType: hard -"errno@npm:^0.1.3, errno@npm:~0.1.7": - version: 0.1.8 - resolution: "errno@npm:0.1.8" - dependencies: - prr: ~1.0.1 - bin: - errno: cli.js - checksum: 1271f7b9fbb3bcbec76ffde932485d1e3561856d21d847ec613a9722ee924cdd4e523a62dc71a44174d91e898fe21fdc8d5b50823f4b5e0ce8c35c8271e6ef4a +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 languageName: node linkType: hard -"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": +"error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" dependencies: @@ -12352,54 +10247,65 @@ __metadata: linkType: hard "error-stack-parser@npm:^2.0.6": - version: 2.0.6 - resolution: "error-stack-parser@npm:2.0.6" + version: 2.1.4 + resolution: "error-stack-parser@npm:2.1.4" dependencies: - stackframe: ^1.1.1 - checksum: bd8e048fcb1c0c74ab201271fec3b39c097a7c24bdef1718828d053c0584da5d7ad845253b5e4773803ee8e7450b23b0920e60a3b60dd403c1568c843058cb12 + stackframe: ^1.3.4 + checksum: 3b916d2d14c6682f287c8bfa28e14672f47eafe832701080e420e7cdbaebb2c50293868256a95706ac2330fe078cf5664713158b49bc30d7a5f2ac229ded0e18 languageName: node linkType: hard -"es-abstract@npm:^1.17.2": - version: 1.17.7 - resolution: "es-abstract@npm:1.17.7" +"es-abstract@npm:^1.17.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.1": + version: 1.20.1 + resolution: "es-abstract@npm:1.20.1" dependencies: + call-bind: ^1.0.2 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 has: ^1.0.3 - has-symbols: ^1.0.1 - is-callable: ^1.2.2 - is-regex: ^1.1.1 - object-inspect: ^1.8.0 + has-property-descriptors: ^1.0.0 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-weakref: ^1.0.2 + object-inspect: ^1.12.0 object-keys: ^1.1.1 - object.assign: ^4.1.1 - string.prototype.trimend: ^1.0.1 - string.prototype.trimstart: ^1.0.1 - checksum: 0863830708ebbb7aa5555746278ad9825cda6c58009f006d62342131277364309793441439a33daf51e0b1d042bff4711b4d8ecda16ca64f8a113faa46d94ac2 + object.assign: ^4.1.2 + regexp.prototype.flags: ^1.4.3 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f + languageName: node + linkType: hard + +"es-array-method-boxes-properly@npm:^1.0.0": + version: 1.0.0 + resolution: "es-array-method-boxes-properly@npm:1.0.0" + checksum: 2537fcd1cecf187083890bc6f5236d3a26bf39237433587e5bf63392e88faae929dbba78ff0120681a3f6f81c23fe3816122982c160d63b38c95c830b633b826 + languageName: node + linkType: hard + +"es-module-lexer@npm:^0.9.0": + version: 0.9.3 + resolution: "es-module-lexer@npm:0.9.3" + checksum: 84bbab23c396281db2c906c766af58b1ae2a1a2599844a504df10b9e8dc77ec800b3211fdaa133ff700f5703d791198807bba25d9667392d27a5e9feda344da8 languageName: node linkType: hard -"es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2": - version: 1.18.0-next.3 - resolution: "es-abstract@npm:1.18.0-next.3" +"es-shim-unscopables@npm:^1.0.0": + version: 1.0.0 + resolution: "es-shim-unscopables@npm:1.0.0" dependencies: - call-bind: ^1.0.2 - es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 - get-intrinsic: ^1.1.1 has: ^1.0.3 - has-symbols: ^1.0.2 - is-callable: ^1.2.3 - is-negative-zero: ^2.0.1 - is-regex: ^1.1.2 - is-string: ^1.0.5 - object-inspect: ^1.9.0 - object-keys: ^1.1.1 - object.assign: ^4.1.2 - string.prototype.trimend: ^1.0.4 - string.prototype.trimstart: ^1.0.4 - unbox-primitive: ^1.0.0 - checksum: a40a9d10f7b32caba54cfa894b545e486c2482019a75b9f39d85201f426ef6fa3a02a83fc11eaa71cd77ed0aa8a7f8d6166e84017fd96a16a00f51677d19bd88 + checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 languageName: node linkType: hard @@ -12415,17 +10321,17 @@ __metadata: linkType: hard "es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.50": - version: 0.10.53 - resolution: "es5-ext@npm:0.10.53" + version: 0.10.61 + resolution: "es5-ext@npm:0.10.61" dependencies: - es6-iterator: ~2.0.3 - es6-symbol: ~3.1.3 - next-tick: ~1.0.0 - checksum: 24ec22369260cf98605cb2f51eae9d7df5dc621bc5d3b311f6f5c3d0fcdb7bafae888270f3083ee6e9af27350a5ea49f1fe2dd6406a9017247ca40f091f529b2 + es6-iterator: ^2.0.3 + es6-symbol: ^3.1.3 + next-tick: ^1.1.0 + checksum: 2f2034e91e77fe247d94f0fd13a94bcf113273b7cc4650794d6795e377267ffb2425d3a891bd8c4d9c8b990e16e17dd7c28f12dbd3fa4b0909d0874892f491bf languageName: node linkType: hard -"es6-iterator@npm:2.0.3, es6-iterator@npm:^2.0.3, es6-iterator@npm:~2.0.3": +"es6-iterator@npm:^2.0.3": version: 2.0.3 resolution: "es6-iterator@npm:2.0.3" dependencies: @@ -12436,7 +10342,7 @@ __metadata: languageName: node linkType: hard -"es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3": +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": version: 3.1.3 resolution: "es6-symbol@npm:3.1.3" dependencies: @@ -12458,7 +10364,7 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.0.2, escalade@npm:^3.1.1": +"escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 @@ -12472,13 +10378,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:2.0.0, escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 - languageName: node - linkType: hard - "escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -12486,6 +10385,13 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 + languageName: node + linkType: hard + "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -12493,7 +10399,7 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^1.11.0, escodegen@npm:^1.11.1, escodegen@npm:^1.14.1": +"escodegen@npm:^1.11.0, escodegen@npm:^1.11.1": version: 1.14.3 resolution: "escodegen@npm:1.14.3" dependencies: @@ -12512,6 +10418,25 @@ __metadata: languageName: node linkType: hard +"escodegen@npm:^2.0.0": + version: 2.0.0 + resolution: "escodegen@npm:2.0.0" + dependencies: + esprima: ^4.0.1 + estraverse: ^5.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef + languageName: node + linkType: hard + "escodegen@npm:~1.9.0": version: 1.9.1 resolution: "escodegen@npm:1.9.1" @@ -12573,116 +10498,124 @@ __metadata: languageName: node linkType: hard -"eslint-config-react-app@npm:^6.0.0": - version: 6.0.0 - resolution: "eslint-config-react-app@npm:6.0.0" +"eslint-config-react-app@npm:^7.0.1": + version: 7.0.1 + resolution: "eslint-config-react-app@npm:7.0.1" dependencies: - confusing-browser-globals: ^1.0.10 + "@babel/core": ^7.16.0 + "@babel/eslint-parser": ^7.16.3 + "@rushstack/eslint-patch": ^1.1.0 + "@typescript-eslint/eslint-plugin": ^5.5.0 + "@typescript-eslint/parser": ^5.5.0 + babel-preset-react-app: ^10.0.1 + confusing-browser-globals: ^1.0.11 + eslint-plugin-flowtype: ^8.0.3 + eslint-plugin-import: ^2.25.3 + eslint-plugin-jest: ^25.3.0 + eslint-plugin-jsx-a11y: ^6.5.1 + eslint-plugin-react: ^7.27.1 + eslint-plugin-react-hooks: ^4.3.0 + eslint-plugin-testing-library: ^5.0.1 peerDependencies: - "@typescript-eslint/eslint-plugin": ^4.0.0 - "@typescript-eslint/parser": ^4.0.0 - babel-eslint: ^10.0.0 - eslint: ^7.5.0 - eslint-plugin-flowtype: ^5.2.0 - eslint-plugin-import: ^2.22.0 - eslint-plugin-jest: ^24.0.0 - eslint-plugin-jsx-a11y: ^6.3.1 - eslint-plugin-react: ^7.20.3 - eslint-plugin-react-hooks: ^4.0.8 - eslint-plugin-testing-library: ^3.9.0 - peerDependenciesMeta: - eslint-plugin-jest: - optional: true - eslint-plugin-testing-library: - optional: true - checksum: b265852455b1c10e9c5f0cebe199306fffc7f8e1b6548fcb0bccdc4415c288dfee8ab10717122a32275b91130dfb482dcbbc87d2fb79d8728d4c2bfa889f0915 + eslint: ^8.0.0 + checksum: a67e0821809e62308d6e419753fa2acfc7cd353659fab08cf34735f59c6c66910c0b6fda0471c4ec0d712ce762d65efc6431b39569f8d575e2d9bdfc384e0824 languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.4": - version: 0.3.4 - resolution: "eslint-import-resolver-node@npm:0.3.4" +"eslint-import-resolver-node@npm:^0.3.6": + version: 0.3.6 + resolution: "eslint-import-resolver-node@npm:0.3.6" dependencies: - debug: ^2.6.9 - resolve: ^1.13.1 - checksum: a0db55ec26c5bb385c8681af6b8d6dee16768d5f27dff72c3113407d0f028f28e56dcb1cc3a4689c79396a5f6a9c24bd0cac9a2c9c588c7d7357d24a42bec876 + debug: ^3.2.7 + resolve: ^1.20.0 + checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 languageName: node linkType: hard -"eslint-module-utils@npm:^2.6.0": - version: 2.6.0 - resolution: "eslint-module-utils@npm:2.6.0" +"eslint-module-utils@npm:^2.7.3": + version: 2.7.3 + resolution: "eslint-module-utils@npm:2.7.3" dependencies: - debug: ^2.6.9 - pkg-dir: ^2.0.0 - checksum: 489bb82248e1090515701cc9614a6e183dac34805bc1cb205cf411a875b8db756b0c05141f9ddb64395ec1d518a99c7f113ac181929a0e995968b8584d7f5a63 + debug: ^3.2.7 + find-up: ^2.1.0 + checksum: 77048263f309167a1e6a1e1b896bfb5ddd1d3859b2e2abbd9c32c432aee13d610d46e6820b1ca81b37fba437cf423a404bc6649be64ace9148a3062d1886a678 languageName: node linkType: hard -"eslint-plugin-flowtype@npm:^5.2.0": - version: 5.3.1 - resolution: "eslint-plugin-flowtype@npm:5.3.1" +"eslint-plugin-flowtype@npm:^8.0.3": + version: 8.0.3 + resolution: "eslint-plugin-flowtype@npm:8.0.3" dependencies: - lodash: ^4.17.15 + lodash: ^4.17.21 string-natural-compare: ^3.0.1 peerDependencies: - eslint: ^7.1.0 - checksum: 19436d9712fbd2ff2d158f48517084b0921e6a66353e41bec27c8216737268a1b94f4f352c14c60dcb887cda0a4072b75ce69560491c564259aa8b0d1664bb4d + "@babel/plugin-syntax-flow": ^7.14.5 + "@babel/plugin-transform-react-jsx": ^7.14.9 + eslint: ^8.1.0 + checksum: 30e63c5357b0b5571f39afed51e59c140084f4aa53c106b1fd04f26da42b268908466daa6020b92943e71409bdaee1c67202515ed9012404d027cc92cb03cefa languageName: node linkType: hard -"eslint-plugin-import@npm:^2.22.1": - version: 2.22.1 - resolution: "eslint-plugin-import@npm:2.22.1" +"eslint-plugin-import@npm:^2.25.3": + version: 2.26.0 + resolution: "eslint-plugin-import@npm:2.26.0" dependencies: - array-includes: ^3.1.1 - array.prototype.flat: ^1.2.3 - contains-path: ^0.1.0 + array-includes: ^3.1.4 + array.prototype.flat: ^1.2.5 debug: ^2.6.9 - doctrine: 1.5.0 - eslint-import-resolver-node: ^0.3.4 - eslint-module-utils: ^2.6.0 + doctrine: ^2.1.0 + eslint-import-resolver-node: ^0.3.6 + eslint-module-utils: ^2.7.3 has: ^1.0.3 - minimatch: ^3.0.4 - object.values: ^1.1.1 - read-pkg-up: ^2.0.0 - resolve: ^1.17.0 - tsconfig-paths: ^3.9.0 + is-core-module: ^2.8.1 + is-glob: ^4.0.3 + minimatch: ^3.1.2 + object.values: ^1.1.5 + resolve: ^1.22.0 + tsconfig-paths: ^3.14.1 peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 - checksum: b043d5b67c0130545bfb7695abcd28fd605e4ccac580ec937217d078c5361800d3626a45dec43c2c697431c4c657b83be504e07605da1afb4a2ebc894a661f19 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 languageName: node linkType: hard -"eslint-plugin-jest@npm:^24.1.0": - version: 24.1.5 - resolution: "eslint-plugin-jest@npm:24.1.5" +"eslint-plugin-jest@npm:^25.3.0": + version: 25.7.0 + resolution: "eslint-plugin-jest@npm:25.7.0" dependencies: - "@typescript-eslint/experimental-utils": ^4.0.1 + "@typescript-eslint/experimental-utils": ^5.0.0 peerDependencies: - eslint: ">=5" - checksum: eec2a4ab2392f64f17b6b9f9de6722501f6b8c91481827cce3e9cc7d9073561b1f78d04d818f59c8069196f47036e17e666a63b9f16fa3dfd11d81fde4941ca0 + "@typescript-eslint/eslint-plugin": ^4.0.0 || ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: fc6da96131f4cbf33d15ef911ec8e600ccd71deb97d73c0ca340427cef7b01ff41a797e2e7d1e351abf97321a46ed0c0acff5ee8eeedac94961dd6dad1f718a9 languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:^6.3.1": - version: 6.4.1 - resolution: "eslint-plugin-jsx-a11y@npm:6.4.1" +"eslint-plugin-jsx-a11y@npm:^6.5.1": + version: 6.6.1 + resolution: "eslint-plugin-jsx-a11y@npm:6.6.1" dependencies: - "@babel/runtime": ^7.11.2 + "@babel/runtime": ^7.18.9 aria-query: ^4.2.2 - array-includes: ^3.1.1 + array-includes: ^3.1.5 ast-types-flow: ^0.0.7 - axe-core: ^4.0.2 + axe-core: ^4.4.3 axobject-query: ^2.2.0 - damerau-levenshtein: ^1.0.6 - emoji-regex: ^9.0.0 + damerau-levenshtein: ^1.0.8 + emoji-regex: ^9.2.2 has: ^1.0.3 - jsx-ast-utils: ^3.1.0 + jsx-ast-utils: ^3.3.2 language-tags: ^1.0.5 + minimatch: ^3.1.2 + semver: ^6.3.0 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: 30326276385b6029754fbca0a25140be0f2f84d263b38f794651acf973399ea316ab1b9d69dffb9b9807d2b47592ba4bc271a242edbb15abfc05d07b08060a7e + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: baae7377f0e25a0cc9b34dc333a3dc6ead9ee8365e445451eff554c3ca267a0a6cb88127fe90395c578ab1b92cfed246aef7dc8d2b48b603389e10181799e144 languageName: node linkType: hard @@ -12701,68 +10634,71 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.2.0": - version: 4.2.0 - resolution: "eslint-plugin-react-hooks@npm:4.2.0" +"eslint-plugin-react-hooks@npm:^4.3.0": + version: 4.6.0 + resolution: "eslint-plugin-react-hooks@npm:4.6.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - checksum: ead5c5be3ded82a0cf295b064376adb1998a43e2262b605eecc0efc88283dec4e159ca39307fafb3d8e661dd08e5a4c8cdfed97eea78f923954f72bad6e20397 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + checksum: 23001801f14c1d16bf0a837ca7970d9dd94e7b560384b41db378b49b6e32dc43d6e2790de1bd737a652a86f81a08d6a91f402525061b47719328f586a57e86c3 languageName: node linkType: hard -"eslint-plugin-react@npm:^7.21.5": - version: 7.22.0 - resolution: "eslint-plugin-react@npm:7.22.0" +"eslint-plugin-react@npm:^7.27.1": + version: 7.30.1 + resolution: "eslint-plugin-react@npm:7.30.1" dependencies: - array-includes: ^3.1.1 - array.prototype.flatmap: ^1.2.3 + array-includes: ^3.1.5 + array.prototype.flatmap: ^1.3.0 doctrine: ^2.1.0 - has: ^1.0.3 + estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 - object.entries: ^1.1.2 - object.fromentries: ^2.0.2 - object.values: ^1.1.1 - prop-types: ^15.7.2 - resolve: ^1.18.1 - string.prototype.matchall: ^4.0.2 + minimatch: ^3.1.2 + object.entries: ^1.1.5 + object.fromentries: ^2.0.5 + object.hasown: ^1.1.1 + object.values: ^1.1.5 + prop-types: ^15.8.1 + resolve: ^2.0.0-next.3 + semver: ^6.3.0 + string.prototype.matchall: ^4.0.7 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: 355800669204e92d7f629805edd72c3e3c231fd1a5efca999481cea56944fa96f15f65bbd653d248cd7d13d66155c37ad9356166402bba273a41b3d2c5b3e8a5 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: 553fb9ece6beb7c14cf6f84670c786c8ac978c2918421994dcc4edd2385302022e5d5ac4a39fafdb35954e29cecddefed61758040c3c530cafcf651f674a9d51 languageName: node linkType: hard -"eslint-plugin-testing-library@npm:^3.9.2": - version: 3.10.1 - resolution: "eslint-plugin-testing-library@npm:3.10.1" +"eslint-plugin-testing-library@npm:^5.0.1": + version: 5.5.1 + resolution: "eslint-plugin-testing-library@npm:5.5.1" dependencies: - "@typescript-eslint/experimental-utils": ^3.10.1 + "@typescript-eslint/utils": ^5.13.0 peerDependencies: - eslint: ^5 || ^6 || ^7 - checksum: 40eae721c8fdd53279e39969271218b51efdd36f348837e2c97ef008249980ed6039f2188c6336590ac1a329c56ce88ba43bdbe6bc6db4c0681c3acb410c040c + eslint: ^7.5.0 || ^8.0.0 + checksum: 558994da12e6a9ff0c4f71c2e63a23746b6323d171062032843591e0fca6ce3811f979cf82e11db003c8b4f1d9842cb75301bfaa9e88d1a399b11ea6686aadcc languageName: node linkType: hard -"eslint-scope@npm:^4.0.3": - version: 4.0.3 - resolution: "eslint-scope@npm:4.0.3" +"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" dependencies: - esrecurse: ^4.1.0 + esrecurse: ^4.3.0 estraverse: ^4.1.1 - checksum: c5f835f681884469991fe58d76a554688d9c9e50811299ccd4a8f79993a039f5bcb0ee6e8de2b0017d97c794b5832ef3b21c9aac66228e3aa0f7a0485bcfb65b + checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb languageName: node linkType: hard -"eslint-scope@npm:^5.0.0, eslint-scope@npm:^5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" +"eslint-scope@npm:^7.1.1": + version: 7.1.1 + resolution: "eslint-scope@npm:7.1.1" dependencies: esrecurse: ^4.3.0 - estraverse: ^4.1.1 - checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb + estraverse: ^5.2.0 + checksum: 9f6e974ab2db641ca8ab13508c405b7b859e72afe9f254e8131ff154d2f40c99ad4545ce326fd9fde3212ff29707102562a4834f1c48617b35d98c71a97fbf3e languageName: node linkType: hard -"eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0": +"eslint-utils@npm:^2.1.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" dependencies: @@ -12771,81 +10707,96 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": +"eslint-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-utils@npm:3.0.0" + dependencies: + eslint-visitor-keys: ^2.0.0 + peerDependencies: + eslint: ">=5" + checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a languageName: node linkType: hard -"eslint-visitor-keys@npm:^2.0.0": - version: 2.0.0 - resolution: "eslint-visitor-keys@npm:2.0.0" - checksum: e07e9863fb8c9b1453f5ad1a26f3cc8dd6b349b26605cc06bc0c61215ac5b6f13a4d08c875218e6c0f8ac8fc06ca6e090df769e32c569f0fd2e6a848b8a76c75 +"eslint-visitor-keys@npm:^2.0.0, eslint-visitor-keys@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d languageName: node linkType: hard -"eslint-webpack-plugin@npm:^2.5.2": - version: 2.6.0 - resolution: "eslint-webpack-plugin@npm:2.6.0" +"eslint-visitor-keys@npm:^3.3.0": + version: 3.3.0 + resolution: "eslint-visitor-keys@npm:3.3.0" + checksum: d59e68a7c5a6d0146526b0eec16ce87fbf97fe46b8281e0d41384224375c4e52f5ffb9e16d48f4ea50785cde93f766b0c898e31ab89978d88b0e1720fbfb7808 + languageName: node + linkType: hard + +"eslint-webpack-plugin@npm:^3.1.1": + version: 3.2.0 + resolution: "eslint-webpack-plugin@npm:3.2.0" dependencies: - "@types/eslint": ^7.28.2 - arrify: ^2.0.1 - jest-worker: ^27.3.1 - micromatch: ^4.0.4 + "@types/eslint": ^7.29.0 || ^8.4.1 + jest-worker: ^28.0.2 + micromatch: ^4.0.5 normalize-path: ^3.0.0 - schema-utils: ^3.1.1 + schema-utils: ^4.0.0 peerDependencies: eslint: ^7.0.0 || ^8.0.0 - webpack: ^4.0.0 || ^5.0.0 - checksum: 1f3c944f85b7473eb0a2d4b72e2ef90680ca9413419caf152d5864162e3b88d4aa9fbabaceef7d842124b3e5b3cc0d5e63f9f9c8efe6a15086347e739be711e2 + webpack: ^5.0.0 + checksum: 095034c35e773fdb21ec7e597ae1f8a6899679c290db29d8568ca94619e8c7f4971f0f9edccc8a965322ab8af9286c87205985a38f4fdcf17654aee7cd8bb7b5 languageName: node linkType: hard -"eslint@npm:^7.11.0": - version: 7.21.0 - resolution: "eslint@npm:7.21.0" +"eslint@npm:^8.3.0": + version: 8.20.0 + resolution: "eslint@npm:8.20.0" dependencies: - "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.0 + "@eslint/eslintrc": ^1.3.0 + "@humanwhocodes/config-array": ^0.9.2 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 - debug: ^4.0.1 + debug: ^4.3.2 doctrine: ^3.0.0 - enquirer: ^2.3.5 - eslint-scope: ^5.1.1 - eslint-utils: ^2.1.0 - eslint-visitor-keys: ^2.0.0 - espree: ^7.3.1 + escape-string-regexp: ^4.0.0 + eslint-scope: ^7.1.1 + eslint-utils: ^3.0.0 + eslint-visitor-keys: ^3.3.0 + espree: ^9.3.2 esquery: ^1.4.0 esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 functional-red-black-tree: ^1.0.1 - glob-parent: ^5.0.0 - globals: ^12.1.0 - ignore: ^4.0.6 + glob-parent: ^6.0.1 + globals: ^13.15.0 + ignore: ^5.2.0 import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 - js-yaml: ^3.13.1 + js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 - lodash: ^4.17.20 - minimatch: ^3.0.4 + lodash.merge: ^4.6.2 + minimatch: ^3.1.2 natural-compare: ^1.4.0 optionator: ^0.9.1 - progress: ^2.0.0 - regexpp: ^3.1.0 - semver: ^7.2.1 - strip-ansi: ^6.0.0 + regexpp: ^3.2.0 + strip-ansi: ^6.0.1 strip-json-comments: ^3.1.0 - table: ^6.0.4 text-table: ^0.2.0 v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 2ac78e255ff27c6462420adff9b6c6bf8d785ce121d5d2a41d9eddd4e9584027f70cfca1f4c30eaa144c7980cbf7017be1c2c6778b9569cb265fcd37b821146c + checksum: a31adf390d71d916925586bc8467b48f620e93dd0416bc1e897d99265af88b48d4eba3985b5ff4653ae5cc46311a360d373574002277e159bb38a4363abf9228 languageName: node linkType: hard @@ -12907,6 +10858,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^9.3.2": + version: 9.3.2 + resolution: "espree@npm:9.3.2" + dependencies: + acorn: ^8.7.1 + acorn-jsx: ^5.3.2 + eslint-visitor-keys: ^3.3.0 + checksum: 9a790d6779847051e87f70d720a0f6981899a722419e80c92ab6dee01e1ab83b8ce52d11b4dc96c2c490182efb5a4c138b8b0d569205bfe1cd4629e658e58c30 + languageName: node + linkType: hard + "esprima@npm:^3.1.3": version: 3.1.3 resolution: "esprima@npm:3.1.3" @@ -12936,7 +10898,7 @@ __metadata: languageName: node linkType: hard -"esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": +"esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" dependencies: @@ -12952,10 +10914,10 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.2.0 - resolution: "estraverse@npm:5.2.0" - checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b languageName: node linkType: hard @@ -13015,13 +10977,6 @@ __metadata: languageName: node linkType: hard -"eventsource@npm:^2.0.2": - version: 2.0.2 - resolution: "eventsource@npm:2.0.2" - checksum: c0072d972753e10c705d9b2285b559184bf29d011bc208973dde9c8b6b8b7b6fdad4ef0846cecb249f7b1585e860fdf324cbd2ac854a76bc53649e797496e99a - languageName: node - linkType: hard - "evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": version: 1.0.3 resolution: "evp_bytestokey@npm:1.0.3" @@ -13033,42 +10988,20 @@ __metadata: languageName: node linkType: hard -"exec-sh@npm:^0.3.2": - version: 0.3.4 - resolution: "exec-sh@npm:0.3.4" - checksum: a1a4a37c57ce405bfb6e82e814b5d1d8a3da4e076cc38fcac5ac2ccd5d1f91ec10d70f19d56c878dde4899dbbf9233369e83f3b64ebdfe3daee096f9e939b37b - languageName: node - linkType: hard - -"execa@npm:^1.0.0": - version: 1.0.0 - resolution: "execa@npm:1.0.0" - dependencies: - cross-spawn: ^6.0.0 - get-stream: ^4.0.0 - is-stream: ^1.1.0 - npm-run-path: ^2.0.0 - p-finally: ^1.0.0 - signal-exit: ^3.0.0 - strip-eof: ^1.0.0 - checksum: ddf1342c1c7d02dd93b41364cd847640f6163350d9439071abf70bf4ceb1b9b2b2e37f54babb1d8dc1df8e0d8def32d0e81e74a2e62c3e1d70c303eb4c306bc4 - languageName: node - linkType: hard - -"execa@npm:^4.0.0": - version: 4.1.0 - resolution: "execa@npm:4.1.0" +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" dependencies: - cross-spawn: ^7.0.0 - get-stream: ^5.0.0 - human-signals: ^1.1.1 + cross-spawn: ^7.0.3 + get-stream: ^6.0.0 + human-signals: ^2.1.0 is-stream: ^2.0.0 merge-stream: ^2.0.0 - npm-run-path: ^4.0.0 - onetime: ^5.1.0 - signal-exit: ^3.0.2 + npm-run-path: ^4.0.1 + onetime: ^5.1.2 + signal-exit: ^3.0.3 strip-final-newline: ^2.0.0 - checksum: e30d298934d9c52f90f3847704fd8224e849a081ab2b517bbc02f5f7732c24e56a21f14cb96a08256deffeb2d12b2b7cb7e2b014a12fb36f8d3357e06417ed55 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 languageName: node linkType: hard @@ -13094,64 +11027,63 @@ __metadata: languageName: node linkType: hard -"expect@npm:^26.6.0, expect@npm:^26.6.2": - version: 26.6.2 - resolution: "expect@npm:26.6.2" +"expect@npm:^27.5.1": + version: 27.5.1 + resolution: "expect@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 - ansi-styles: ^4.0.0 - jest-get-type: ^26.3.0 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-regex-util: ^26.0.0 - checksum: 79a9b888c5c6d37d11f2cb76def6cf1dc8ff098d38662ee20c9f2ee0da67e9a93435f2327854b2e7554732153870621843e7f83e8cefb1250447ee2bc39883a4 + "@jest/types": ^27.5.1 + jest-get-type: ^27.5.1 + jest-matcher-utils: ^27.5.1 + jest-message-util: ^27.5.1 + checksum: b2c66beb52de53ef1872165aace40224e722bca3c2274c54cfa74b6d617d55cf0ccdbf36783ccd64dbea501b280098ed33fd0b207d4f15bc03cd3c7a24364a6a languageName: node linkType: hard -"express@npm:^4.17.1": - version: 4.17.1 - resolution: "express@npm:4.17.1" +"express@npm:^4.17.3": + version: 4.18.1 + resolution: "express@npm:4.18.1" dependencies: - accepts: ~1.3.7 + accepts: ~1.3.8 array-flatten: 1.1.1 - body-parser: 1.19.0 - content-disposition: 0.5.3 + body-parser: 1.20.0 + content-disposition: 0.5.4 content-type: ~1.0.4 - cookie: 0.4.0 + cookie: 0.5.0 cookie-signature: 1.0.6 debug: 2.6.9 - depd: ~1.1.2 + depd: 2.0.0 encodeurl: ~1.0.2 escape-html: ~1.0.3 etag: ~1.8.1 - finalhandler: ~1.1.2 + finalhandler: 1.2.0 fresh: 0.5.2 + http-errors: 2.0.0 merge-descriptors: 1.0.1 methods: ~1.1.2 - on-finished: ~2.3.0 + on-finished: 2.4.1 parseurl: ~1.3.3 path-to-regexp: 0.1.7 - proxy-addr: ~2.0.5 - qs: 6.7.0 + proxy-addr: ~2.0.7 + qs: 6.10.3 range-parser: ~1.2.1 - safe-buffer: 5.1.2 - send: 0.17.1 - serve-static: 1.14.1 - setprototypeof: 1.1.1 - statuses: ~1.5.0 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 type-is: ~1.6.18 utils-merge: 1.0.1 vary: ~1.1.2 - checksum: d964e9e17af331ea6fa2f84999b063bc47189dd71b4a735df83f9126d3bb2b92e830f1cb1d7c2742530eb625e2689d7a9a9c71f0c3cc4dd6015c3cd32a01abd5 + checksum: c3d44c92e48226ef32ec978becfedb0ecf0ca21316bfd33674b3c5d20459840584f2325726a4f17f33d9c99f769636f728982d1c5433a5b6fe6eb95b8cf0c854 languageName: node linkType: hard "ext@npm:^1.1.2": - version: 1.4.0 - resolution: "ext@npm:1.4.0" + version: 1.6.0 + resolution: "ext@npm:1.6.0" dependencies: - type: ^2.0.0 - checksum: 70acfb68763ad888b34a1c8f2fd9ae5e7265c2470a58a7204645fea07fdbb802512944ea3820db5e643369a9364a98f01732c72e3f2ee577bc2582c3e7e370e3 + type: ^2.5.0 + checksum: ca3ef4619e838f441a92238a98b77ac873da2175ace746c64303ffe2c3208e79a3acf3bf7004e40b720f3c2a83bf0143e6dd4a7cdfae6e73f54a3bfc7a14b5c2 languageName: node linkType: hard @@ -13205,25 +11137,23 @@ __metadata: linkType: hard "extsprintf@npm:^1.2.0": - version: 1.4.0 - resolution: "extsprintf@npm:1.4.0" - checksum: 184dc8a413eb4b1ff16bdce797340e7ded4d28511d56a1c9afa5a95bcff6ace154063823eaf0206dbbb0d14059d74f382a15c34b7c0636fa74a7e681295eb67e + version: 1.4.1 + resolution: "extsprintf@npm:1.4.1" + checksum: a2f29b241914a8d2bad64363de684821b6b1609d06ae68d5b539e4de6b28659715b5bea94a7265201603713b7027d35399d10b0548f09071c5513e65e8323d33 languageName: node linkType: hard "falafel@npm:^2.1.0": - version: 2.2.4 - resolution: "falafel@npm:2.2.4" + version: 2.2.5 + resolution: "falafel@npm:2.2.5" dependencies: acorn: ^7.1.1 - foreach: ^2.0.5 isarray: ^2.0.1 - object-keys: ^1.0.6 - checksum: 3089e0bac6effa1de87a024891737aee18cfc8b44af01e35d2136dd74b6378d1492e1eb163226f658f86a50d92e1df0ace5c48d4958626b1f82075cbfd4ea130 + checksum: bfd46e92bca87670fd2ef31c6123088431271f98f3b2a300a58e9c3e5f4f9944f0058f7daaaaa8cefd68d461a334bd528c952bcec17061522b68b61f7925b382 languageName: node linkType: hard -"fast-deep-equal@npm:^3.1.1": +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d @@ -13251,21 +11181,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.1.1": - version: 3.2.5 - resolution: "fast-glob@npm:3.2.5" - dependencies: - "@nodelib/fs.stat": ^2.0.2 - "@nodelib/fs.walk": ^1.2.3 - glob-parent: ^5.1.0 - merge2: ^1.3.0 - micromatch: ^4.0.2 - picomatch: ^2.2.1 - checksum: 5d6772c9b63dbb739d60b5630851e1f2cbf9744119e0968eac44c9f8cbc2d3d5cb4f2f0c74715ccb23daa336c87bea42186ed367e6c991afee61cd3d967320eb - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.11": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9": version: 3.2.11 resolution: "fast-glob@npm:3.2.11" dependencies: @@ -13309,15 +11225,15 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.11.0 - resolution: "fastq@npm:1.11.0" + version: 1.13.0 + resolution: "fastq@npm:1.13.0" dependencies: reusify: ^1.0.4 - checksum: 9db0ceea9280c5f207da40c562a4e574913c18933cd74b880b01bf8e81a9a6e368ec71e89c9c1b9f4066d0275cc22600efd6dde87f713217acbf67076481734b + checksum: 32cf15c29afe622af187d12fc9cd93e160a0cb7c31a3bb6ace86b7dea3b28e7b72acde89c882663f307b2184e14782c6c664fa315973c03626c7d4bff070bb0b languageName: node linkType: hard -"faye-websocket@npm:0.11.4, faye-websocket@npm:^0.11.3, faye-websocket@npm:^0.11.4": +"faye-websocket@npm:0.11.4, faye-websocket@npm:^0.11.3": version: 0.11.4 resolution: "faye-websocket@npm:0.11.4" dependencies: @@ -13335,13 +11251,6 @@ __metadata: languageName: node linkType: hard -"figgy-pudding@npm:^3.5.1": - version: 3.5.2 - resolution: "figgy-pudding@npm:3.5.2" - checksum: 4090bd66193693dcda605e44d6b8715d8fb5c92a67acd57826e55cf816a342f550d57e5638f822b39366e1b2fdb244e99b3068a37213aa1d6c1bf602b8fde5ae - languageName: node - linkType: hard - "file-entry-cache@npm:^6.0.0, file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -13351,15 +11260,15 @@ __metadata: languageName: node linkType: hard -"file-loader@npm:6.1.1": - version: 6.1.1 - resolution: "file-loader@npm:6.1.1" +"file-loader@npm:^6.2.0": + version: 6.2.0 + resolution: "file-loader@npm:6.2.0" dependencies: loader-utils: ^2.0.0 schema-utils: ^3.0.0 peerDependencies: webpack: ^4.0.0 || ^5.0.0 - checksum: 6369da5af456b640599d7ede7a3a9a55e485138a7829c583313d5165d0984c3d337de3aebee32fdfa3295facb4a44b74a9c3c956b1e0e30e8c96152106ff4b23 + checksum: faf43eecf233f4897b0150aaa874eeeac214e4f9de49738a9e0ef734a30b5260059e85b7edadf852b98e415f875bd5f12587768a93fd52aaf2e479ecf95fab20 languageName: node linkType: hard @@ -13370,10 +11279,12 @@ __metadata: languageName: node linkType: hard -"filesize@npm:6.1.0": - version: 6.1.0 - resolution: "filesize@npm:6.1.0" - checksum: c46d644cb562fba7b7e837d5cd339394492abaa06722018b91a97d2a63b6c753ef30653de5c03bf178c631185bf55c3561c28fa9ccc4e9755f42d853c6ed4d09 +"filelist@npm:^1.0.1": + version: 1.0.4 + resolution: "filelist@npm:1.0.4" + dependencies: + minimatch: ^5.0.1 + checksum: a303573b0821e17f2d5e9783688ab6fbfce5d52aaac842790ae85e704a6f5e4e3538660a63183d6453834dedf1e0f19a9dadcebfa3e926c72397694ea11f5160 languageName: node linkType: hard @@ -13384,6 +11295,13 @@ __metadata: languageName: node linkType: hard +"filesize@npm:^8.0.6": + version: 8.0.7 + resolution: "filesize@npm:8.0.7" + checksum: 8603d27c5287b984cb100733640645e078f5f5ad65c6d913173e01fb99e09b0747828498fd86647685ccecb69be31f3587b9739ab1e50732116b2374aff4cbf9 + languageName: node + linkType: hard + "fill-range@npm:^4.0.0": version: 4.0.0 resolution: "fill-range@npm:4.0.0" @@ -13405,44 +11323,22 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:~1.1.2": - version: 1.1.2 - resolution: "finalhandler@npm:1.1.2" +"finalhandler@npm:1.2.0": + version: 1.2.0 + resolution: "finalhandler@npm:1.2.0" dependencies: debug: 2.6.9 encodeurl: ~1.0.2 escape-html: ~1.0.3 - on-finished: ~2.3.0 + on-finished: 2.4.1 parseurl: ~1.3.3 - statuses: ~1.5.0 + statuses: 2.0.1 unpipe: ~1.0.0 - checksum: 617880460c5138dd7ccfd555cb5dde4d8f170f4b31b8bd51e4b646bb2946c30f7db716428a1f2882d730d2b72afb47d1f67cc487b874cb15426f95753a88965e - languageName: node - linkType: hard - -"find-cache-dir@npm:^2.1.0": - version: 2.1.0 - resolution: "find-cache-dir@npm:2.1.0" - dependencies: - commondir: ^1.0.1 - make-dir: ^2.0.0 - pkg-dir: ^3.0.0 - checksum: 60ad475a6da9f257df4e81900f78986ab367d4f65d33cf802c5b91e969c28a8762f098693d7a571b6e4dd4c15166c2da32ae2d18b6766a18e2071079448fdce4 - languageName: node - linkType: hard - -"find-cache-dir@npm:^3.3.1": - version: 3.3.1 - resolution: "find-cache-dir@npm:3.3.1" - dependencies: - commondir: ^1.0.1 - make-dir: ^3.0.2 - pkg-dir: ^4.1.0 - checksum: 0f7c22b65e07f9b486b4560227d014fab1e79ffbbfbafb87d113a2e878510bd620ef6fdff090e5248bb2846d28851d19e42bfdc7c50687966acc106328e7abf1 + checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 languageName: node linkType: hard -"find-cache-dir@npm:^3.3.2": +"find-cache-dir@npm:^3.3.1, find-cache-dir@npm:^3.3.2": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" dependencies: @@ -13460,31 +11356,41 @@ __metadata: languageName: node linkType: hard -"find-up@npm:4.1.0, find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" +"find-up@npm:^2.1.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" dependencies: - locate-path: ^5.0.0 - path-exists: ^4.0.0 - checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + locate-path: ^2.0.0 + checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd languageName: node linkType: hard -"find-up@npm:^2.0.0, find-up@npm:^2.1.0": - version: 2.1.0 - resolution: "find-up@npm:2.1.0" +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: ^3.0.0 + checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" dependencies: - locate-path: ^2.0.0 - checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" dependencies: - locate-path: ^3.0.0 - checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + locate-path: ^6.0.0 + path-exists: ^4.0.0 + checksum: 07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 languageName: node linkType: hard @@ -13499,36 +11405,36 @@ __metadata: linkType: hard "firebase@npm:~9.8.2": - version: 9.8.2 - resolution: "firebase@npm:9.8.2" - dependencies: - "@firebase/analytics": 0.7.9 - "@firebase/analytics-compat": 0.1.10 - "@firebase/app": 0.7.25 - "@firebase/app-check": 0.5.8 - "@firebase/app-check-compat": 0.2.8 - "@firebase/app-compat": 0.1.26 + version: 9.8.4 + resolution: "firebase@npm:9.8.4" + dependencies: + "@firebase/analytics": 0.7.11 + "@firebase/analytics-compat": 0.1.12 + "@firebase/app": 0.7.27 + "@firebase/app-check": 0.5.10 + "@firebase/app-check-compat": 0.2.10 + "@firebase/app-compat": 0.1.28 "@firebase/app-types": 0.7.0 - "@firebase/auth": 0.20.2 - "@firebase/auth-compat": 0.2.15 - "@firebase/database": 0.13.0 - "@firebase/database-compat": 0.2.0 - "@firebase/firestore": 3.4.9 - "@firebase/firestore-compat": 0.1.18 - "@firebase/functions": 0.8.1 - "@firebase/functions-compat": 0.2.1 - "@firebase/installations": 0.5.9 - "@firebase/messaging": 0.9.13 - "@firebase/messaging-compat": 0.1.13 - "@firebase/performance": 0.5.9 - "@firebase/performance-compat": 0.1.9 + "@firebase/auth": 0.20.4 + "@firebase/auth-compat": 0.2.17 + "@firebase/database": 0.13.2 + "@firebase/database-compat": 0.2.2 + "@firebase/firestore": 3.4.11 + "@firebase/firestore-compat": 0.1.20 + "@firebase/functions": 0.8.3 + "@firebase/functions-compat": 0.2.3 + "@firebase/installations": 0.5.11 + "@firebase/messaging": 0.9.15 + "@firebase/messaging-compat": 0.1.15 + "@firebase/performance": 0.5.11 + "@firebase/performance-compat": 0.1.11 "@firebase/polyfill": 0.3.36 - "@firebase/remote-config": 0.3.8 - "@firebase/remote-config-compat": 0.1.9 - "@firebase/storage": 0.9.6 - "@firebase/storage-compat": 0.1.14 - "@firebase/util": 1.6.0 - checksum: 0a8cd0e52c0344209c428b35293a54f279366a2f55a7089721ebcc0425283f650d32a54d90833cade47cd32e86a5d6d7c22668295f4ceb6b7936fa7461a2af7e + "@firebase/remote-config": 0.3.10 + "@firebase/remote-config-compat": 0.1.11 + "@firebase/storage": 0.9.8 + "@firebase/storage-compat": 0.1.16 + "@firebase/util": 1.6.2 + checksum: c5ae4ecd29ccc85a141e0c9cb1f243560c5bfb6bbd576320376c27e215fb5374c434862d2712032743f500d3814a48385ab5feff63cbfb2fd9799a7c44159122 languageName: node linkType: hard @@ -13552,9 +11458,9 @@ __metadata: linkType: hard "flatted@npm:^3.1.0": - version: 3.1.1 - resolution: "flatted@npm:3.1.1" - checksum: 508935e3366d95444131f0aaa801a4301f24ea5bcb900d12764e7335b46b910730cc1b5bcfcfb8eccb7c8db261ba0671c6a7ca30d10870ff7a7756dc7e731a7a + version: 3.2.6 + resolution: "flatted@npm:3.2.6" + checksum: 33b87aa88dfa40ca6ee31d7df61712bbbad3d3c05c132c23e59b9b61d34631b337a18ff2b8dc5553acdc871ec72b741e485f78969cf006124a3f57174de29a0e languageName: node linkType: hard @@ -13567,13 +11473,6 @@ __metadata: languageName: node linkType: hard -"flatten@npm:^1.0.2": - version: 1.0.3 - resolution: "flatten@npm:1.0.3" - checksum: 5c57379816f1692aaa79fbc6390e0a0644e5e8442c5783ed57c6d315468eddbc53a659eaa03c9bb1e771b0f4a9bd8dd8a2620286bf21fd6538a7857321fdfb20 - languageName: node - linkType: hard - "flip-pixels@npm:^1.0.2": version: 1.0.2 resolution: "flip-pixels@npm:1.0.2" @@ -13581,27 +11480,7 @@ __metadata: languageName: node linkType: hard -"flush-write-stream@npm:^1.0.0": - version: 1.1.1 - resolution: "flush-write-stream@npm:1.1.1" - dependencies: - inherits: ^2.0.3 - readable-stream: ^2.3.6 - checksum: 42e07747f83bcd4e799da802e621d6039787749ffd41f5517f8c4f786ee967e31ba32b09f8b28a9c6f67bd4f5346772e604202df350e8d99f4141771bae31279 - languageName: node - linkType: hard - -"follow-redirects@npm:^1.0.0": - version: 1.14.8 - resolution: "follow-redirects@npm:1.14.8" - peerDependenciesMeta: - debug: - optional: true - checksum: 40c67899c2e3149a27e8b6498a338ff27f39fe138fde8d7f0756cb44b073ba0bfec3d52af28f20c5bdd67263d564d0d8d7b5efefd431de95c18c42f7b4aef457 - languageName: node - linkType: hard - -"follow-redirects@npm:^1.14.9": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.9": version: 1.15.1 resolution: "follow-redirects@npm:1.15.1" peerDependenciesMeta: @@ -13636,13 +11515,6 @@ __metadata: languageName: node linkType: hard -"foreach@npm:^2.0.5": - version: 2.0.5 - resolution: "foreach@npm:2.0.5" - checksum: dab4fbfef0b40b69ee5eab81bcb9626b8fa8b3469c8cfa26480f3e5e1ee08c40eae07048c9a967c65aeda26e774511ccc70b3f10a604c01753c6ef24361f0fc8 - languageName: node - linkType: hard - "forever-agent@npm:~0.6.1": version: 0.6.1 resolution: "forever-agent@npm:0.6.1" @@ -13650,18 +11522,45 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:4.1.6": - version: 4.1.6 - resolution: "fork-ts-checker-webpack-plugin@npm:4.1.6" +"fork-ts-checker-webpack-plugin@npm:^6.5.0": + version: 6.5.2 + resolution: "fork-ts-checker-webpack-plugin@npm:6.5.2" dependencies: - "@babel/code-frame": ^7.5.5 - chalk: ^2.4.1 - micromatch: ^3.1.10 + "@babel/code-frame": ^7.8.3 + "@types/json-schema": ^7.0.5 + chalk: ^4.1.0 + chokidar: ^3.4.2 + cosmiconfig: ^6.0.0 + deepmerge: ^4.2.2 + fs-extra: ^9.0.0 + glob: ^7.1.6 + memfs: ^3.1.2 minimatch: ^3.0.4 - semver: ^5.6.0 + schema-utils: 2.7.0 + semver: ^7.3.2 tapable: ^1.0.0 - worker-rpc: ^0.1.0 - checksum: 4cc4fa7919dd9a0d765514d064c86e3a6f9cea8e700996b3e775cfcc0280f606a2dd16203d9b7e294b64e900795b0d80eb41fc8c192857d3350e407f14ef3eed + peerDependencies: + eslint: ">= 6" + typescript: ">= 2.7" + vue-template-compiler: "*" + webpack: ">= 4" + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + checksum: c823de02ee258a26ea5c0c488b2f1825b941f72292417478689862468a9140b209ad7df52f67bd134228fe9f40e9115b604fc8f88a69338929fe52be869469b6 + languageName: node + linkType: hard + +"form-data@npm:^3.0.0": + version: 3.0.1 + resolution: "form-data@npm:3.0.1" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d languageName: node linkType: hard @@ -13687,10 +11586,17 @@ __metadata: languageName: node linkType: hard -"forwarded@npm:~0.1.2": - version: 0.1.2 - resolution: "forwarded@npm:0.1.2" - checksum: 54695c574292f9bc6bfa52111844337bc2e61cfcc5ec82f16b816d721a67a0c76b4849a34b57e38e51d64ddbb81aef974f393579f610ed1b990470e75abad2e0 +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 + languageName: node + linkType: hard + +"fraction.js@npm:^4.2.0": + version: 4.2.0 + resolution: "fraction.js@npm:4.2.0" + checksum: 8c76a6e21dedea87109d6171a0ac77afa14205794a565d71cb10d2925f629a3922da61bf45ea52dbc30bce4d8636dc0a27213a88cbd600eab047d82f9a3a94c5 languageName: node linkType: hard @@ -13710,7 +11616,7 @@ __metadata: languageName: node linkType: hard -"from2@npm:^2.1.0, from2@npm:^2.3.0": +"from2@npm:^2.3.0": version: 2.3.0 resolution: "from2@npm:2.3.0" dependencies: @@ -13720,7 +11626,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.1.0": +"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" dependencies: @@ -13731,29 +11637,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^7.0.0": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: ^4.1.2 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: 141b9dccb23b66a66cefdd81f4cda959ff89282b1d721b98cea19ba08db3dcbe6f862f28841f3cf24bb299e0b7e6c42303908f65093cb7e201708e86ea5a8dcf - languageName: node - linkType: hard - -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 - languageName: node - linkType: hard - -"fs-extra@npm:^9.0.1": +"fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" dependencies: @@ -13765,7 +11649,7 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -13774,15 +11658,10 @@ __metadata: languageName: node linkType: hard -"fs-write-stream-atomic@npm:^1.0.8": - version: 1.0.10 - resolution: "fs-write-stream-atomic@npm:1.0.10" - dependencies: - graceful-fs: ^4.1.2 - iferr: ^0.1.5 - imurmurhash: ^0.1.4 - readable-stream: 1 || 2 - checksum: 43c2d6817b72127793abc811ebf87a135b03ac7cbe41cdea9eeacf59b23e6e29b595739b083e9461303d525687499a1aaefcec3e5ff9bc82b170edd3dc467ccc +"fs-monkey@npm:^1.0.3": + version: 1.0.3 + resolution: "fs-monkey@npm:1.0.3" + checksum: cf50804833f9b88a476911ae911fe50f61a98d986df52f890bd97e7262796d023698cb2309fa9b74fdd8974f04315b648748a0a8ee059e7d5257b293bfc409c0 languageName: node linkType: hard @@ -13793,7 +11672,7 @@ __metadata: languageName: node linkType: hard -fsevents@^1.2.7: +"fsevents@npm:^1.2.7": version: 1.2.13 resolution: "fsevents@npm:1.2.13" dependencies: @@ -13804,7 +11683,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"fsevents@^2.1.2, fsevents@^2.1.3, fsevents@~2.3.1, fsevents@~2.3.2": +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -13824,7 +11703,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"fsevents@patch:fsevents@^2.1.2#~builtin, fsevents@patch:fsevents@^2.1.3#~builtin, fsevents@patch:fsevents@~2.3.1#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": +"fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" dependencies: @@ -13840,6 +11719,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.5": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -13847,23 +11738,30 @@ fsevents@^1.2.7: languageName: node linkType: hard -"gauge@npm:~2.7.3": - version: 2.7.4 - resolution: "gauge@npm:2.7.4" +"functions-have-names@npm:^1.2.2": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" dependencies: - aproba: ^1.0.3 - console-control-strings: ^1.0.0 - has-unicode: ^2.0.0 - object-assign: ^4.1.0 - signal-exit: ^3.0.0 - string-width: ^1.0.1 - strip-ansi: ^3.0.1 - wide-align: ^1.1.0 - checksum: a89b53cee65579b46832e050b5f3a79a832cc422c190de79c6b8e2e15296ab92faddde6ddf2d376875cbba2b043efa99b9e1ed8124e7365f61b04e3cee9d40ee + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d languageName: node linkType: hard -"gensync@npm:^1.0.0-beta.1, gensync@npm:^1.0.0-beta.2": +"gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec @@ -13877,7 +11775,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 @@ -13892,13 +11790,13 @@ fsevents@^1.2.7: linkType: hard "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": - version: 1.1.1 - resolution: "get-intrinsic@npm:1.1.1" + version: 1.1.2 + resolution: "get-intrinsic@npm:1.1.2" dependencies: function-bind: ^1.1.1 has: ^1.0.3 - has-symbols: ^1.0.1 - checksum: a9fe2ca8fa3f07f9b0d30fb202bcd01f3d9b9b6b732452e79c48e79f7d6d8d003af3f9e38514250e3553fdc83c61650851cb6870832ac89deaaceb08e3721a17 + has-symbols: ^1.0.3 + checksum: 252f45491f2ba88ebf5b38018020c7cc3279de54b1d67ffb70c0cdf1dfa8ab31cd56467b5d117a8b4275b7a4dde91f86766b163a17a850f036528a7b2faafb2b languageName: node linkType: hard @@ -13937,21 +11835,20 @@ fsevents@^1.2.7: languageName: node linkType: hard -"get-stream@npm:^4.0.0": - version: 4.1.0 - resolution: "get-stream@npm:4.1.0" - dependencies: - pump: ^3.0.0 - checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad languageName: node linkType: hard -"get-stream@npm:^5.0.0": - version: 5.2.0 - resolution: "get-stream@npm:5.2.0" +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" dependencies: - pump: ^3.0.0 - checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 languageName: node linkType: hard @@ -13979,9 +11876,9 @@ fsevents@^1.2.7: linkType: hard "gl-matrix@npm:^3.2.1": - version: 3.3.0 - resolution: "gl-matrix@npm:3.3.0" - checksum: 4a1b475d2f726ccb6ad1727e8553d391fba613cfc9eded2fc9d2c2d9dc44e457b4f04a0a640ca18d949927c4444df67ff8498997d25f7cf542a84125cfc9c87a + version: 3.4.3 + resolution: "gl-matrix@npm:3.4.3" + checksum: c47830ba727f3d0fab635c48135af96aef66274079a3e0afd6f68b68c98eae9fc1bcfdc7312fe2301e4fd22dd24c5e0f1b5d025960a208e50d07101ed8d940f9 languageName: node linkType: hard @@ -14035,21 +11932,21 @@ fsevents@^1.2.7: languageName: node linkType: hard -"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.0, glob-parent@npm:~5.1.0": - version: 5.1.1 - resolution: "glob-parent@npm:5.1.1" +"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" dependencies: is-glob: ^4.0.1 - checksum: 9f9a19c8d441d9df51df5985b2280b084f5ebc07e0fe5de761f346cb707cc30e7d51fb51c0e82490730b6c0ca9c9a3d0c73e4a22861a3cf363cc745e01721dd4 + checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e languageName: node linkType: hard -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" +"glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" dependencies: - is-glob: ^4.0.1 - checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e + is-glob: ^4.0.3 + checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 languageName: node linkType: hard @@ -14060,21 +11957,41 @@ fsevents@^1.2.7: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": - version: 7.1.6 - resolution: "glob@npm:7.1.6" +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: e795f4e8f06d2a15e86f76e4d92751cf8bbfcf0157cea5c2f0f35678a8195a750b34096b1256e436f0cebc1883b5ff0888c47348443e69546a5a87f9e1eb1167 + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": + version: 7.2.3 + resolution: "glob@npm:7.2.3" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 - minimatch: ^3.0.4 + minimatch: ^3.1.1 once: ^1.3.0 path-is-absolute: ^1.0.0 - checksum: 351d549dd90553b87c2d3f90ce11aed9e1093c74130440e7ae0592e11bbcd2ce7f0ebb8ba6bfe63aaf9b62166a7f4c80cb84490ae5d78408bb2572bf7d4ee0a6 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + languageName: node + linkType: hard + +"glob@npm:^8.0.1": + version: 8.0.3 + resolution: "glob@npm:8.0.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 languageName: node linkType: hard -"global-modules@npm:2.0.0": +"global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" dependencies: @@ -14110,66 +12027,39 @@ fsevents@^1.2.7: languageName: node linkType: hard -"globals@npm:^13.2.0": - version: 13.11.0 - resolution: "globals@npm:13.11.0" +"globals@npm:^13.15.0, globals@npm:^13.2.0": + version: 13.17.0 + resolution: "globals@npm:13.17.0" dependencies: type-fest: ^0.20.2 - checksum: e9e5624154261a3e5344d2105a94886c5f2ca48028fa8258cd7b9119c5f00cf2909392817bb2d162c9a1a31b55d9b2c14e8f2271c45a22f77806f5b9322541cf - languageName: node - linkType: hard - -"globby@npm:11.0.1": - version: 11.0.1 - resolution: "globby@npm:11.0.1" - dependencies: - array-union: ^2.1.0 - dir-glob: ^3.0.1 - fast-glob: ^3.1.1 - ignore: ^5.1.4 - merge2: ^1.3.0 - slash: ^3.0.0 - checksum: b0b26e580666ef8caf0b0facd585c1da46eb971207ee9f8c7b690c1372d77602dd072f047f26c3ae1c293807fdf8fb6890d9291d37bc6d2602b1f07386f983e5 + checksum: fbaf4112e59b92c9f5575e85ce65e9e17c0b82711196ec5f58beb08599bbd92fd72703d6dfc9b080381fd35b644e1b11dcf25b38cc2341ec21df942594cbc8ce languageName: node linkType: hard -"globby@npm:^11.0.1": - version: 11.0.2 - resolution: "globby@npm:11.0.2" +"globby@npm:^11.0.4, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" dependencies: array-union: ^2.1.0 dir-glob: ^3.0.1 - fast-glob: ^3.1.1 - ignore: ^5.1.4 - merge2: ^1.3.0 + fast-glob: ^3.2.9 + ignore: ^5.2.0 + merge2: ^1.4.1 slash: ^3.0.0 - checksum: a20885f3e16ad4a989b84bc0f4bf3c40e03c5707a0087bcdc4b28b22088954443667d35325ce7bbe6ac59e8eee9f370864f70869a70f900e7d619901938fc240 + checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 languageName: node linkType: hard -"globby@npm:^13.1.1": - version: 13.1.1 - resolution: "globby@npm:13.1.1" +"globby@npm:^13.1.2": + version: 13.1.2 + resolution: "globby@npm:13.1.2" dependencies: dir-glob: ^3.0.1 fast-glob: ^3.2.11 ignore: ^5.2.0 merge2: ^1.4.1 slash: ^4.0.0 - checksum: e6c43409c6c31b374fbd1c01a8c1811de52336928be9c697e472d2a89a156c9cbf1fb33863755c0447b4db16485858aa57f16628d66a6b7c7131669c9fbe76cd - languageName: node - linkType: hard - -"globby@npm:^6.1.0": - version: 6.1.0 - resolution: "globby@npm:6.1.0" - dependencies: - array-union: ^1.0.1 - glob: ^7.0.3 - object-assign: ^4.0.1 - pify: ^2.0.0 - pinkie-promise: ^2.0.0 - checksum: 18109d6b9d55643d2b98b59c3cfae7073ccfe39829632f353d516cc124d836c2ddebe48a23f04af63d66a621b6d86dd4cbd7e6af906f2458a7fe510ffc4bd424 + checksum: c148fcda0c981f00fb434bb94ca258f0a9d23cedbde6fb3f37098e1abde5b065019e2c63fe2aa2fad4daf2b54bf360b4d0423d85fb3a63d09ed75a2837d4de0f languageName: node linkType: hard @@ -14332,10 +12222,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4": - version: 4.2.6 - resolution: "graceful-fs@npm:4.2.6" - checksum: 792e64aafda05a151289f83eaa16aff34ef259658cefd65393883d959409f5a2389b0ec9ebf28f3d21f1b0ddc8f594a1162ae9b18e2b507a6799a70706ec573d +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da languageName: node linkType: hard @@ -14356,20 +12246,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"growly@npm:^1.3.0": - version: 1.3.0 - resolution: "growly@npm:1.3.0" - checksum: 53cdecd4c16d7d9154a9061a9ccb87d602e957502ca69b529d7d1b2436c2c0b700ec544fc6b3e4cd115d59b81e62e44ce86bd0521403b579d3a2a97d7ce72a44 - languageName: node - linkType: hard - -"gzip-size@npm:5.1.1": - version: 5.1.1 - resolution: "gzip-size@npm:5.1.1" +"gzip-size@npm:^6.0.0": + version: 6.0.0 + resolution: "gzip-size@npm:6.0.0" dependencies: - duplexer: ^0.1.1 - pify: ^4.0.1 - checksum: 6451ba2210877368f6d9ee9b4dc0d14501671472801323bf81fbd38bdeb8525f40a78be45a59d0182895d51e6b60c6314b7d02bd6ed40e7225a01e8d038aac1b + duplexer: ^0.1.2 + checksum: 2df97f359696ad154fc171dcb55bc883fe6e833bca7a65e457b9358f3cb6312405ed70a8da24a77c1baac0639906cd52358dc0ce2ec1a937eaa631b934c94194 languageName: node linkType: hard @@ -14398,9 +12280,9 @@ fsevents@^1.2.7: linkType: hard "harmony-reflect@npm:^1.4.6": - version: 1.6.1 - resolution: "harmony-reflect@npm:1.6.1" - checksum: 4cb91f86d262650d62c3ac713a2284ef0784a5c8be347188f97747db68d0e6d9801f09a3f12bacec59d5ec9d010cba64b8acb4c2c4827e172ef2ab215cdfef9d + version: 1.6.2 + resolution: "harmony-reflect@npm:1.6.2" + checksum: 2e5bae414cd2bfae5476147f9935dc69ee9b9a413206994dcb94c5b3208d4555da3d4313aff6fd14bd9991c1e3ef69cdda5c8fac1eb1d7afc064925839339b8c languageName: node linkType: hard @@ -14413,10 +12295,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"has-bigints@npm:^1.0.0": - version: 1.0.1 - resolution: "has-bigints@npm:1.0.1" - checksum: 44ab55868174470065d2e0f8f6def1c990d12b82162a8803c679699fa8a39f966e336f2a33c185092fe8aea7e8bf2e85f1c26add5f29d98f2318bd270096b183 +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b languageName: node linkType: hard @@ -14459,14 +12341,32 @@ fsevents@^1.2.7: languageName: node linkType: hard -"has-symbols@npm:^1.0.0, has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": - version: 1.0.2 - resolution: "has-symbols@npm:1.0.2" - checksum: 2309c426071731be792b5be43b3da6fb4ed7cbe8a9a6bcfca1862587709f01b33d575ce8f5c264c1eaad09fca2f9a8208c0a2be156232629daa2dd0c0740976b +"has-property-descriptors@npm:^1.0.0": + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" + dependencies: + get-intrinsic: ^1.1.1 + checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c languageName: node linkType: hard -"has-unicode@npm:^2.0.0": +"has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 @@ -14599,13 +12499,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"hosted-git-info@npm:^2.1.4": - version: 2.8.9 - resolution: "hosted-git-info@npm:2.8.9" - checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd - languageName: node - linkType: hard - "hpack.js@npm:^2.1.6": version: 2.1.6 resolution: "hpack.js@npm:2.1.6" @@ -14639,13 +12532,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"html-comment-regex@npm:^1.1.0": - version: 1.1.2 - resolution: "html-comment-regex@npm:1.1.2" - checksum: 64c1e13c93f91554a06327176663037e630f5a47de8aae6a6a60cbca25e6d7b63ee16dd35707e33ba09288b900c6947050c6945c34a0a84d27f5415cef525599 - languageName: node - linkType: hard - "html-encoding-sniffer@npm:^1.0.2": version: 1.0.2 resolution: "html-encoding-sniffer@npm:1.0.2" @@ -14664,10 +12550,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"html-entities@npm:^1.2.1, html-entities@npm:^1.3.1": - version: 1.4.0 - resolution: "html-entities@npm:1.4.0" - checksum: 4b73ffb9eead200f99146e4fbe70acb0af2fea136901a131fc3a782e9ef876a7cbb07dec303ca1f8804232b812249dbf3643a270c9c524852065d9224a8dcdd0 +"html-entities@npm:^2.1.0, html-entities@npm:^2.3.2": + version: 2.3.3 + resolution: "html-entities@npm:2.3.3" + checksum: 92521501da8aa5f66fee27f0f022d6e9ceae62667dae93aa6a2f636afa71ad530b7fb24a18d4d6c124c9885970cac5f8a52dbf1731741161002816ae43f98196 languageName: node linkType: hard @@ -14678,20 +12564,20 @@ fsevents@^1.2.7: languageName: node linkType: hard -"html-minifier-terser@npm:^5.0.1": - version: 5.1.1 - resolution: "html-minifier-terser@npm:5.1.1" +"html-minifier-terser@npm:^6.0.2": + version: 6.1.0 + resolution: "html-minifier-terser@npm:6.1.0" dependencies: - camel-case: ^4.1.1 - clean-css: ^4.2.3 - commander: ^4.1.1 + camel-case: ^4.1.2 + clean-css: ^5.2.2 + commander: ^8.3.0 he: ^1.2.0 - param-case: ^3.0.3 + param-case: ^3.0.4 relateurl: ^0.2.7 - terser: ^4.6.3 + terser: ^5.10.0 bin: html-minifier-terser: cli.js - checksum: 75ff3ff886631b9ecb3035acb8e7dd98c599bb4d4618ad6f7e487ee9752987dddcf6848dc3c1ab1d7fc1ad4484337c2ce39c19eac17b0342b4b15e4294c8a904 + checksum: ac52c14006476f773204c198b64838477859dc2879490040efab8979c0207424da55d59df7348153f412efa45a0840a1ca3c757bf14767d23a15e3e389d37a93 languageName: node linkType: hard @@ -14702,46 +12588,41 @@ fsevents@^1.2.7: languageName: node linkType: hard -"html-webpack-plugin@npm:4.5.0": - version: 4.5.0 - resolution: "html-webpack-plugin@npm:4.5.0" +"html-webpack-plugin@npm:^5.5.0": + version: 5.5.0 + resolution: "html-webpack-plugin@npm:5.5.0" dependencies: - "@types/html-minifier-terser": ^5.0.0 - "@types/tapable": ^1.0.5 - "@types/webpack": ^4.41.8 - html-minifier-terser: ^5.0.1 - loader-utils: ^1.2.3 - lodash: ^4.17.15 - pretty-error: ^2.1.1 - tapable: ^1.1.3 - util.promisify: 1.0.0 + "@types/html-minifier-terser": ^6.0.0 + html-minifier-terser: ^6.0.2 + lodash: ^4.17.21 + pretty-error: ^4.0.0 + tapable: ^2.0.0 peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: d197db16a160ab9136a544e297c3c75d34b769d3cee12a82b9e7af7ee38ff07f4a27f2235581a9624f03996cd24997613df807341799140b4427c12bc4f496f9 + webpack: ^5.20.0 + checksum: f3d84d0df71fe2f5bac533cc74dce41ab058558cdcc6ff767d166a2abf1cf6fb8491d54d60ddbb34e95c00394e379ba52e0468e0284d1d0cc6a42987056e8219 languageName: node linkType: hard "htmlnano@npm:^0.2.2": - version: 0.2.8 - resolution: "htmlnano@npm:0.2.8" + version: 0.2.9 + resolution: "htmlnano@npm:0.2.9" dependencies: - cssnano: ^4.1.10 - posthtml: ^0.13.4 - posthtml-render: ^1.3.0 + cssnano: ^4.1.11 + posthtml: ^0.15.1 purgecss: ^2.3.0 relateurl: ^0.2.7 srcset: ^3.0.0 svgo: ^1.3.2 - terser: ^4.8.0 + terser: ^5.6.1 timsort: ^0.3.0 uncss: ^0.17.3 - checksum: fc363ba5bdc7f48bbea7bd0e14140a37626537fe17d447100414e70c9414a01090576a55c0f39cdd23e253e5427b0b230f2da7176da027d0cdd676d0427d4847 + checksum: 66d56e4aea09f8a3931fb16d630d32d01600419b7f07cbd4ec6dfe1aa90b7923e85ff041639f04e00ff1c2669dba9d5b829cd7ea3d39cf7b2ae12a056be16254 languageName: node linkType: hard "htmlnano@npm:^2.0.0": - version: 2.0.0 - resolution: "htmlnano@npm:2.0.0" + version: 2.0.2 + resolution: "htmlnano@npm:2.0.2" dependencies: cosmiconfig: ^7.0.1 posthtml: ^0.16.5 @@ -14772,11 +12653,11 @@ fsevents@^1.2.7: optional: true uncss: optional: true - checksum: c9055309431549df64f0e6e11296378ee5dc1f33a8c4af973c3c29dc4f08fff02b0ffcc0fb523a68eb4b3ef9e9e9603e96f78e8d79a5878b8ee706ec2cc6241e + checksum: 41f9e0c0e54367730109e9ea31a1e625ebfa4134f6689d36aba76551cb62a9a5c200bee556b4ad12c230d3586243ac6ebaaaab93bb3091d7f96686a98c5caa1a languageName: node linkType: hard -"htmlparser2@npm:^3.10.1, htmlparser2@npm:^3.9.2": +"htmlparser2@npm:^3.9.2": version: 3.10.1 resolution: "htmlparser2@npm:3.10.1" dependencies: @@ -14790,15 +12671,34 @@ fsevents@^1.2.7: languageName: node linkType: hard -"htmlparser2@npm:^7.1.1": - version: 7.1.1 - resolution: "htmlparser2@npm:7.1.1" +"htmlparser2@npm:^6.0.0, htmlparser2@npm:^6.1.0": + version: 6.1.0 + resolution: "htmlparser2@npm:6.1.0" dependencies: domelementtype: ^2.0.1 domhandler: ^4.0.0 + domutils: ^2.5.2 + entities: ^2.0.0 + checksum: 81a7b3d9c3bb9acb568a02fc9b1b81ffbfa55eae7f1c41ae0bf840006d1dbf54cb3aa245b2553e2c94db674840a9f0fdad7027c9a9d01a062065314039058c4e + languageName: node + linkType: hard + +"htmlparser2@npm:^7.1.1": + version: 7.2.0 + resolution: "htmlparser2@npm:7.2.0" + dependencies: + domelementtype: ^2.0.1 + domhandler: ^4.2.2 domutils: ^2.8.0 entities: ^3.0.1 - checksum: f12b42188c608c582dd9f92ad7655fb5701ba85fb11a36a1ea1294921e8a9d5a3a961f9d9cc00da89a2cfeb8bc62f57f43ebfc27855e22ecab8a60009dcf2648 + checksum: 96563d9965729cfcb3f5f19c26d013c6831b4cb38d79d8c185e9cd669ea6a9ffe8fb9ccc74d29a068c9078aa0e2767053ed6b19aa32723c41550340d0094bea0 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 languageName: node linkType: hard @@ -14809,16 +12709,16 @@ fsevents@^1.2.7: languageName: node linkType: hard -"http-errors@npm:1.7.2": - version: 1.7.2 - resolution: "http-errors@npm:1.7.2" +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" dependencies: - depd: ~1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.1 - statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.0 - checksum: 5534b0ae08e77f5a45a2380f500e781f6580c4ff75b816cb1f09f99a290b57e78a518be6d866db1b48cca6b052c09da2c75fc91fb16a2fe3da3c44d9acbb9972 + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + checksum: 9b0a3782665c52ce9dc658a0d1560bcb0214ba5699e4ea15aefb2a496e2ca83db03ebc42e1cce4ac1f413e4e0d2d736a3fd755772c556a9a06853ba2a0b7d920 languageName: node linkType: hard @@ -14834,39 +12734,54 @@ fsevents@^1.2.7: languageName: node linkType: hard -"http-errors@npm:~1.7.2": - version: 1.7.3 - resolution: "http-errors@npm:1.7.3" +"http-parser-js@npm:>=0.5.1": + version: 0.5.8 + resolution: "http-parser-js@npm:0.5.8" + checksum: 6bbdf2429858e8cf13c62375b0bfb6dc3955ca0f32e58237488bc86cd2378f31d31785fd3ac4ce93f1c74e0189cf8823c91f5cb061696214fd368d2452dc871d + languageName: node + linkType: hard + +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" dependencies: - depd: ~1.1.2 - inherits: 2.0.4 - setprototypeof: 1.1.1 - statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.0 - checksum: a59f359473f4b3ea78305beee90d186268d6075432622a46fb7483059068a2dd4c854a20ac8cd438883127e06afb78c1309168bde6cdfeed1e3700eb42487d99 + "@tootallnate/once": 1 + agent-base: 6 + debug: 4 + checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 languageName: node linkType: hard -"http-parser-js@npm:>=0.5.1": - version: 0.5.3 - resolution: "http-parser-js@npm:0.5.3" - checksum: 6f3142c5f60ad995a6895a1dc4f70f8cef0910745366e97cbcb99caa604590dbcc11006b00989ad306837d6b820e9bfc6e801c4060ed19a0e4df83caa8577cb5 +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 languageName: node linkType: hard -"http-proxy-middleware@npm:0.19.1": - version: 0.19.1 - resolution: "http-proxy-middleware@npm:0.19.1" +"http-proxy-middleware@npm:^2.0.3": + version: 2.0.6 + resolution: "http-proxy-middleware@npm:2.0.6" dependencies: - http-proxy: ^1.17.0 - is-glob: ^4.0.0 - lodash: ^4.17.11 - micromatch: ^3.1.10 - checksum: 64df0438417a613bb22b3689d9652a1b7a56f10b145a463f95f4e8a9b9a351f2c63bc5fd3a9cd710baec224897733b6f299cb7f974ea82769b2a4f1e074764ac + "@types/http-proxy": ^1.17.8 + http-proxy: ^1.18.1 + is-glob: ^4.0.1 + is-plain-obj: ^3.0.0 + micromatch: ^4.0.2 + peerDependencies: + "@types/express": ^4.17.13 + peerDependenciesMeta: + "@types/express": + optional: true + checksum: 2ee85bc878afa6cbf34491e972ece0f5be0a3e5c98a60850cf40d2a9a5356e1fc57aab6cff33c1fc37691b0121c3a42602d2b1956c52577e87a5b77b62ae1c3a languageName: node linkType: hard -"http-proxy@npm:^1.17.0": +"http-proxy@npm:^1.18.1": version: 1.18.1 resolution: "http-proxy@npm:1.18.1" dependencies: @@ -14895,10 +12810,29 @@ fsevents@^1.2.7: languageName: node linkType: hard -"human-signals@npm:^1.1.1": - version: 1.1.1 - resolution: "human-signals@npm:1.1.1" - checksum: d587647c9e8ec24e02821b6be7de5a0fc37f591f6c4e319b3054b43fd4c35a70a94c46fc74d8c1a43c47fde157d23acd7421f375e1c1365b09a16835b8300205 +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 languageName: node linkType: hard @@ -14918,6 +12852,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + "icss-replace-symbols@npm:1.1.0, icss-replace-symbols@npm:^1.1.0": version: 1.1.0 resolution: "icss-replace-symbols@npm:1.1.0" @@ -14925,12 +12868,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"icss-utils@npm:^4.0.0, icss-utils@npm:^4.1.1": - version: 4.1.1 - resolution: "icss-utils@npm:4.1.1" - dependencies: - postcss: ^7.0.14 - checksum: a4ca2c6b82cb3eb879d635bd4028d74bca174edc49ee48ef5f01988489747d340a389d5a0ac6f6887a5c24ab8fc4386c781daab32a7ade5344a2edff66207635 +"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": + version: 5.1.0 + resolution: "icss-utils@npm:5.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 5c324d283552b1269cfc13a503aaaa172a280f914e5b81544f3803bc6f06a3b585fb79f66f7c771a2c052db7982c18bf92d001e3b47282e3abbbb4c4cc488d68 languageName: node linkType: hard @@ -14941,7 +12884,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"identity-obj-proxy@npm:3.0.0": +"idb@npm:^7.0.1": + version: 7.0.2 + resolution: "idb@npm:7.0.2" + checksum: 60ebe6d5c25d9d82d400fa90e769045a9a3f44dfbc3094b105f8666f025d84f2a779e5416211572fc51f6057f8e130cb1bbfaa06cfd6f196701a8fca9f0eda17 + languageName: node + linkType: hard + +"identity-obj-proxy@npm:^3.0.0": version: 3.0.0 resolution: "identity-obj-proxy@npm:3.0.0" dependencies: @@ -14957,13 +12907,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"iferr@npm:^0.1.5": - version: 0.1.5 - resolution: "iferr@npm:0.1.5" - checksum: a18d19b6ad06a2d5412c0d37f6364869393ef6d1688d59d00082c1f35c92399094c031798340612458cd832f4f2e8b13bc9615934a7d8b0c53061307a3816aa1 - languageName: node - linkType: hard - "ignore@npm:^4.0.6": version: 4.0.6 resolution: "ignore@npm:4.0.6" @@ -14971,13 +12914,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"ignore@npm:^5.1.4": - version: 5.1.8 - resolution: "ignore@npm:5.1.8" - checksum: 967abadb61e2cb0e5c5e8c4e1686ab926f91bc1a4680d994b91947d3c65d04c3ae126dcdf67f08e0feeb8ff8407d453e641aeeddcc47a3a3cca359f283cf6121 - languageName: node - linkType: hard - "ignore@npm:^5.2.0": version: 5.2.0 resolution: "ignore@npm:5.2.0" @@ -15012,19 +12948,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"immer@npm:8.0.1": - version: 8.0.1 - resolution: "immer@npm:8.0.1" - checksum: 63d875c04882b862481a0a692816e5982975a47a57619698bc1bb52963ad3b624911991708b2b81a7af6fdac15083d408e43932d83a6a61216e5a4503efd4095 - languageName: node - linkType: hard - -"import-cwd@npm:^2.0.0": - version: 2.1.0 - resolution: "import-cwd@npm:2.1.0" - dependencies: - import-from: ^2.1.0 - checksum: b8786fa3578f3df55370352bf61f99c2d8e6ee9b5741a07503d5a73d99281d141330a8faf87078e67527be4558f758356791ee5efb4b0112ac5eaed0f07de544 +"immer@npm:^9.0.7": + version: 9.0.15 + resolution: "immer@npm:9.0.15" + checksum: 92e3d63e810e3c3c2bb61b70c45443e37ef983ad12924e3edaf03725ae5979618f5b473439bb3bb4a8c4769f25132f18dec10ea15c40f0b20da5691ff96ff611 languageName: node linkType: hard @@ -15048,36 +12975,15 @@ fsevents@^1.2.7: languageName: node linkType: hard -"import-from@npm:^2.1.0": - version: 2.1.0 - resolution: "import-from@npm:2.1.0" - dependencies: - resolve-from: ^3.0.0 - checksum: 91f6f89f46a07227920ef819181bb52eb93023ccc0bdf00224fdfb326f8f753e279ad06819f39a02bb88c9d3a4606adc85b0cc995285e5d65feeb59f1421a1d4 - languageName: node - linkType: hard - -"import-local@npm:^2.0.0": - version: 2.0.0 - resolution: "import-local@npm:2.0.0" - dependencies: - pkg-dir: ^3.0.0 - resolve-cwd: ^2.0.0 - bin: - import-local-fixture: fixtures/cli.js - checksum: b8469252483624379fd65d53c82f3658b32a1136f7168bfeea961a4ea7ca10a45786ea2b02e0006408f9cd22d2f33305a6f17a64e4d5a03274a50942c5e7c949 - languageName: node - linkType: hard - "import-local@npm:^3.0.2": - version: 3.0.2 - resolution: "import-local@npm:3.0.2" + version: 3.1.0 + resolution: "import-local@npm:3.1.0" dependencies: pkg-dir: ^4.2.0 resolve-cwd: ^3.0.0 bin: import-local-fixture: fixtures/cli.js - checksum: c74d9f9484c878cda1de3434613c7ff72d5dadcf20e5482542232d7c2575b713ff88701d6675fcf09a3684cb23fb407c8b333b9cbc59438712723d058d8e976c + checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd languageName: node linkType: hard @@ -15088,15 +12994,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"indefinite-observable@npm:^2.0.1": - version: 2.0.1 - resolution: "indefinite-observable@npm:2.0.1" - dependencies: - symbol-observable: 1.2.0 - checksum: b4305c999b7596901f8798e569b8faa030361dfb77f8b720e229558a29f544826f7e8987c55cc2a84c37ff2723594a965b96a40a6c71daae92b918f3eb393077 - languageName: node - linkType: hard - "indent-string@npm:^4.0.0": version: 4.0.0 resolution: "indent-string@npm:4.0.0" @@ -15139,7 +13036,7 @@ fsevents@^1.2.7: languageName: unknown linkType: soft -"infer-owner@npm:^1.0.3, infer-owner@npm:^1.0.4": +"infer-owner@npm:^1.0.4": version: 1.0.4 resolution: "infer-owner@npm:1.0.4" checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 @@ -15184,16 +13081,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"internal-ip@npm:^4.3.0": - version: 4.3.0 - resolution: "internal-ip@npm:4.3.0" - dependencies: - default-gateway: ^4.2.0 - ipaddr.js: ^1.9.0 - checksum: c970433c84d9a6b46e2c9f5ab7785d3105b856d0a566891bf919241b5a884c5c1c9bf8e915aebb822a86c14b1b6867e58c1eaf5cd49eb023368083069d1a4a9a - languageName: node - linkType: hard - "internal-slot@npm:^1.0.3": version: 1.0.3 resolution: "internal-slot@npm:1.0.3" @@ -15206,33 +13093,33 @@ fsevents@^1.2.7: linkType: hard "internmap@npm:^1.0.0": - version: 1.0.0 - resolution: "internmap@npm:1.0.0" - checksum: 7c94d3e48a2644d99d7274ed909db8fd9071170ab113fb61a08aef15e6c840ba60ff8f4007bedb72ef4b1c74e2638a4570240384897155e58ffd27802e0c087a - languageName: node - linkType: hard - -"ip-regex@npm:^2.1.0": - version: 2.1.0 - resolution: "ip-regex@npm:2.1.0" - checksum: 331d95052aa53ce245745ea0fc3a6a1e2e3c8d6da65fa8ea52bf73768c1b22a9ac50629d1d2b08c04e7b3ac4c21b536693c149ce2c2615ee4796030e5b3e3cba + version: 1.0.1 + resolution: "internmap@npm:1.0.1" + checksum: 9d00f8c0cf873a24a53a5a937120dab634c41f383105e066bb318a61864e6292d24eb9516e8e7dccfb4420ec42ca474a0f28ac9a6cc82536898fa09bbbe53813 languageName: node linkType: hard -"ip@npm:^1.1.0, ip@npm:^1.1.5": - version: 1.1.5 - resolution: "ip@npm:1.1.5" - checksum: 30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 languageName: node linkType: hard -"ipaddr.js@npm:1.9.1, ipaddr.js@npm:^1.9.0": +"ipaddr.js@npm:1.9.1": version: 1.9.1 resolution: "ipaddr.js@npm:1.9.1" checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 languageName: node linkType: hard +"ipaddr.js@npm:^2.0.1": + version: 2.0.1 + resolution: "ipaddr.js@npm:2.0.1" + checksum: dd194a394a843d470f88d17191b0948f383ed1c8e320813f850c336a0fcb5e9215d97ec26ca35ab4fbbd31392c8b3467f3e8344628029ed3710b2ff6b5d1034e + languageName: node + linkType: hard + "is-absolute-url@npm:^2.0.0": version: 2.1.0 resolution: "is-absolute-url@npm:2.1.0" @@ -15240,7 +13127,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-absolute-url@npm:^3.0.1, is-absolute-url@npm:^3.0.3": +"is-absolute-url@npm:^3.0.1": version: 3.0.3 resolution: "is-absolute-url@npm:3.0.3" checksum: 5159b51d065d9ad29e16a2f78d6c0e41c43227caf90a45e659c54ea6fd50ef0595b1871ce392e84b1df7cfdcad9a8e66eec0813a029112188435abf115accb16 @@ -15265,15 +13152,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": - version: 1.1.0 - resolution: "is-arguments@npm:1.1.0" - dependencies: - call-bind: ^1.0.0 - checksum: c32f8b5052061de83b2cd17e0e87ec914ac96e55bbd184e07f9b78b8360d80f7f9a34060d44ee8684249664609213f57447e0f63798e7c265ec811fd242b0077 - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -15296,9 +13174,11 @@ fsevents@^1.2.7: linkType: hard "is-bigint@npm:^1.0.1": - version: 1.0.1 - resolution: "is-bigint@npm:1.0.1" - checksum: 04aa6fde59d2b7929df865acb89c8d7f89f919cc149b8be11e3560b1aab8667e5d939cc8954097c496f7dda80fd5bb67f829ca80ab66cc68918e41e2c1b9c5d7 + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: ^1.0.1 + checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 languageName: node linkType: hard @@ -15328,11 +13208,12 @@ fsevents@^1.2.7: linkType: hard "is-boolean-object@npm:^1.1.0": - version: 1.1.0 - resolution: "is-boolean-object@npm:1.1.0" + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" dependencies: - call-bind: ^1.0.0 - checksum: 3ead0446176ee42a69f87658bf12d53c135095336d34765fa65f137f378ea125429bf777f91f6dd3407db80829d742bc4fb2fdaf8d2cf6ba82a2de2a07fbbac7 + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 languageName: node linkType: hard @@ -15366,21 +13247,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-callable@npm:^1.1.4, is-callable@npm:^1.2.2, is-callable@npm:^1.2.3": - version: 1.2.3 - resolution: "is-callable@npm:1.2.3" - checksum: 084a732afd78e14a40cd5f6f34001edd500f43bb542991c1305b88842cab5f2fb6b48f0deed4cd72270b2e71cab3c3a56c69b324e3a02d486f937824bb7de553 - languageName: node - linkType: hard - -"is-ci@npm:^2.0.0": - version: 2.0.0 - resolution: "is-ci@npm:2.0.0" - dependencies: - ci-info: ^2.0.0 - bin: - is-ci: bin.js - checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 +"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f languageName: node linkType: hard @@ -15398,21 +13268,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-core-module@npm:^2.0.0, is-core-module@npm:^2.2.0": - version: 2.2.0 - resolution: "is-core-module@npm:2.2.0" - dependencies: - has: ^1.0.3 - checksum: 61e2aff4a7db4f8f7d5a97b484808af17290f4197b34a797cd3d3d27b6b448951064f8d3d6ceae4394fa9b7e6cf08aacd2ba7a17ef6352e922fe803580fbde56 - languageName: node - linkType: hard - -"is-core-module@npm:^2.8.1": - version: 2.8.1 - resolution: "is-core-module@npm:2.8.1" +"is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": + version: 2.9.0 + resolution: "is-core-module@npm:2.9.0" dependencies: has: ^1.0.3 - checksum: 418b7bc10768a73c41c7ef497e293719604007f88934a6ffc5f7c78702791b8528102fb4c9e56d006d69361549b3d9519440214a74aefc7e0b79e5e4411d377f + checksum: b27034318b4b462f1c8f1dfb1b32baecd651d891a4e2d1922135daeff4141dfced2b82b07aef83ef54275c4a3526aa38da859223664d0868ca24182badb784ce languageName: node linkType: hard @@ -15435,9 +13296,11 @@ fsevents@^1.2.7: linkType: hard "is-date-object@npm:^1.0.1": - version: 1.0.2 - resolution: "is-date-object@npm:1.0.2" - checksum: ac859426e5df031abd9d1eeed32a41cc0de06e47227bd972b8bc716460a9404654b3dba78f41e8171ccf535c4bfa6d72a8d1d15a0873f9646698af415e92c2fb + version: 1.0.5 + resolution: "is-date-object@npm:1.0.5" + dependencies: + has-tostringtag: ^1.0.0 + checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc languageName: node linkType: hard @@ -15470,12 +13333,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-docker@npm:^2.0.0": - version: 2.1.1 - resolution: "is-docker@npm:2.1.1" +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" bin: is-docker: cli.js - checksum: dfa7338b446c13807590f9bd7408a09fd9ef49bc977b94408723c0857b3ba0d49f20b48e23f0d426d6914b52c38066672105f19eb3c970c5f2a25a39275afb64 + checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 languageName: node linkType: hard @@ -15523,22 +13386,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^1.0.0": - version: 1.0.0 - resolution: "is-fullwidth-code-point@npm:1.0.0" - dependencies: - number-is-nan: ^1.0.0 - checksum: 4d46a7465a66a8aebcc5340d3b63a56602133874af576a9ca42c6f0f4bd787a743605771c5f246db77da96605fefeffb65fc1dbe862dcc7328f4b4d03edf5a57 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -15562,12 +13409,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": - version: 4.0.1 - resolution: "is-glob@npm:4.0.1" +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" dependencies: is-extglob: ^2.1.1 - checksum: 84627cad11b4e745f5db5a163f32c47b711585a5ff6e14f8f8d026db87f4cdd3e2c95f6fa1f94ad22e469f36d819ae2814f03f9c668b164422ac3354a94672d3 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 languageName: node linkType: hard @@ -15601,6 +13448,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + "is-mobile@npm:^2.2.2": version: 2.2.2 resolution: "is-mobile@npm:2.2.2" @@ -15615,17 +13469,19 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.1": - version: 2.0.1 - resolution: "is-negative-zero@npm:2.0.1" - checksum: a46f2e0cb5e16fdb8f2011ed488979386d7e68d381966682e3f4c98fc126efe47f26827912baca2d06a02a644aee458b9cba307fb389f6b161e759125db7a3b8 +"is-negative-zero@npm:^2.0.2": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a languageName: node linkType: hard "is-number-object@npm:^1.0.4": - version: 1.0.4 - resolution: "is-number-object@npm:1.0.4" - checksum: d8e4525b5c151f1830872bf217901b58b3a9f66d93fe2f71c2087418e03d7f5c19a3ad64afa0feb70dafd93f7b97e205e3520a8ff007be665e54b377f5b736a8 + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 languageName: node linkType: hard @@ -15659,38 +13515,20 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-path-cwd@npm:^2.0.0": - version: 2.2.0 - resolution: "is-path-cwd@npm:2.2.0" - checksum: 46a840921bb8cc0dc7b5b423a14220e7db338072a4495743a8230533ce78812dc152548c86f4b828411fe98c5451959f07cf841c6a19f611e46600bd699e8048 - languageName: node - linkType: hard - -"is-path-in-cwd@npm:^2.0.0": - version: 2.1.0 - resolution: "is-path-in-cwd@npm:2.1.0" - dependencies: - is-path-inside: ^2.1.0 - checksum: 6b01b3f8c9172e9682ea878d001836a0cc5a78cbe6236024365d478c2c9e384da2417e5f21f2ad2da2761d0465309fc5baf6e71187d2a23f0058da69790f7f48 - languageName: node - linkType: hard - -"is-path-inside@npm:^2.1.0": - version: 2.1.0 - resolution: "is-path-inside@npm:2.1.0" - dependencies: - path-is-inside: ^1.0.2 - checksum: 6ca34dbd84d5c50a3ee1547afb6ada9b06d556a4ff42da9b303797e4acc3ac086516a4833030aa570f397f8c58dacabd57ee8e6c2ce8b2396a986ad2af10fcaf - languageName: node - linkType: hard - -"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": +"is-plain-obj@npm:^1.1.0": version: 1.1.0 resolution: "is-plain-obj@npm:1.1.0" checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 languageName: node linkType: hard +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: a6ebdf8e12ab73f33530641972a72a4b8aed6df04f762070d823808303e4f76d87d5ea5bd76f96a7bbe83d93f04ac7764429c29413bd9049853a69cb630fb21c + languageName: node + linkType: hard + "is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -15700,10 +13538,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-potential-custom-element-name@npm:^1.0.0": - version: 1.0.0 - resolution: "is-potential-custom-element-name@npm:1.0.0" - checksum: 39084c1e357f2adf0cb9843cabd3c1ac770c9da14addbfd4e5a0243877eb084d9f3446e40c53970fdb8ea9c07e95659d694a0c4c6c4aa7a3da3f3e108212984f +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab languageName: node linkType: hard @@ -15716,13 +13554,13 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-regex@npm:^1.0.4, is-regex@npm:^1.1.1, is-regex@npm:^1.1.2": - version: 1.1.2 - resolution: "is-regex@npm:1.1.2" +"is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" dependencies: call-bind: ^1.0.2 - has-symbols: ^1.0.1 - checksum: a1e5a451b6b2207c04e2591417499fed013630dbe96c051f0a39a3b266b16ab691c0345128223573f3cd45796e0f561a2241f4a7f1840b06574eebb7100b68aa + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 languageName: node linkType: hard @@ -15740,24 +13578,26 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-root@npm:2.1.0": +"is-root@npm:^2.1.0": version: 2.1.0 resolution: "is-root@npm:2.1.0" checksum: 37eea0822a2a9123feb58a9d101558ba276771a6d830f87005683349a9acff15958a9ca590a44e778c6b335660b83e85c744789080d734f6081a935a4880aee2 languageName: node linkType: hard -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 063c6bec9d5647aa6d42108d4c59723d2bd4ae42135a2d4db6eadbd49b7ea05b750fd69d279e5c7c45cf9da753ad2c00d8978be354d65aa9f6bb434969c6a2ae +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a languageName: node linkType: hard "is-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "is-stream@npm:2.0.0" - checksum: 4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935 + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 languageName: node linkType: hard @@ -15768,10 +13608,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-string@npm:^1.0.5": - version: 1.0.5 - resolution: "is-string@npm:1.0.5" - checksum: 68d77a991f55592721cc7d5800ff95cdb2c4f242e3a98fdc939c409879f7b8f297b8352184032b6b2183994b4c457f42df8de004c58b5b43655c8b2f3e3ecc17 +"is-string@npm:^1.0.5, is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 languageName: node linkType: hard @@ -15782,21 +13624,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-svg@npm:^3.0.0": - version: 3.0.0 - resolution: "is-svg@npm:3.0.0" - dependencies: - html-comment-regex: ^1.1.0 - checksum: 5acaa204075324618713ab22447a2828dd639dbd388b44a5969b813c6f77fb89900de958761f3a64165a2fff84127e687a6660ae874b7de9d673c73c92009e44 - languageName: node - linkType: hard - "is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.3 - resolution: "is-symbol@npm:1.0.3" + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" dependencies: - has-symbols: ^1.0.1 - checksum: c6d54bd01218fa202da8ce91525ca41a907819be5f000df9ab9621467e087eb36f34b2dbfa51a2a699a282e860681ffa6a787d69e944ba99a46d3df553ff2798 + has-symbols: ^1.0.2 + checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 languageName: node linkType: hard @@ -15814,6 +13647,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-weakref@npm:^1.0.2": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + languageName: node + linkType: hard + "is-windows@npm:^1.0.1, is-windows@npm:^1.0.2": version: 1.0.2 resolution: "is-windows@npm:1.0.2" @@ -15828,7 +13670,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": +"is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -15888,22 +13730,23 @@ fsevents@^1.2.7: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-coverage@npm:3.0.0" - checksum: ea57c2428858cc5d1e04c0e28b362950bbf6415e8ba1235cdd6f4c8dc3c57cb950db8b4e8a4f7e33abc240aa1eb816dba0d7285bdb8b70bda22bb2082492dbfc +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 languageName: node linkType: hard -"istanbul-lib-instrument@npm:^4.0.0, istanbul-lib-instrument@npm:^4.0.3": - version: 4.0.3 - resolution: "istanbul-lib-instrument@npm:4.0.3" +"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": + version: 5.2.0 + resolution: "istanbul-lib-instrument@npm:5.2.0" dependencies: - "@babel/core": ^7.7.5 + "@babel/core": ^7.12.3 + "@babel/parser": ^7.14.7 "@istanbuljs/schema": ^0.1.2 - istanbul-lib-coverage: ^3.0.0 + istanbul-lib-coverage: ^3.2.0 semver: ^6.3.0 - checksum: fa1171d3022b1bb8f6a734042620ac5d9ee7dc80f3065a0bb12863e9f0494d0eefa3d86608fcc0254ab2765d29d7dad8bdc42e5f8df2f9a1fbe85ccc59d76cb9 + checksum: 7c242ed782b6bf7b655656576afae8b6bd23dcc020e5fdc1472cca3dfb6ddb196a478385206d0df5219b9babf46ac4f21fea5d8ea9a431848b6cca6007012353 languageName: node linkType: hard @@ -15919,287 +13762,324 @@ fsevents@^1.2.7: linkType: hard "istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.0 - resolution: "istanbul-lib-source-maps@npm:4.0.0" + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" dependencies: debug: ^4.1.1 istanbul-lib-coverage: ^3.0.0 source-map: ^0.6.1 - checksum: 292bfb4083e5f8783cdf829a7686b1a377d0c6c2119d4343c8478e948b38146c4827cddc7eee9f57605acd63c291376d67e4a84163d37c5fc78ad0f27f7e2621 + checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 languageName: node linkType: hard -"istanbul-reports@npm:^3.0.2": - version: 3.0.2 - resolution: "istanbul-reports@npm:3.0.2" +"istanbul-reports@npm:^3.1.3": + version: 3.1.5 + resolution: "istanbul-reports@npm:3.1.5" dependencies: html-escaper: ^2.0.0 istanbul-lib-report: ^3.0.0 - checksum: c5da63f1f4610f47f3015c525a3bc2fb4c87a8791ae452ee3983546d7a2873f0cf5d5fff7c3735ac52943c5b3506f49c294c92f1837df6ec03312625ccd176d7 + checksum: 7867228f83ed39477b188ea07e7ccb9b4f5320b6f73d1db93a0981b7414fa4ef72d3f80c4692c442f90fc250d9406e71d8d7ab65bb615cb334e6292b73192b89 languageName: node linkType: hard -"jest-changed-files@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-changed-files@npm:26.6.2" +"jake@npm:^10.8.5": + version: 10.8.5 + resolution: "jake@npm:10.8.5" dependencies: - "@jest/types": ^26.6.2 - execa: ^4.0.0 - throat: ^5.0.0 - checksum: 8c405f5ff905ee69ace9fd39355233206e3e233badf6a3f3b27e45bbf0a46d86943430be2e080d25b1e085f4231b9b3b27c94317aa04116efb40b592184066f4 + async: ^3.2.3 + chalk: ^4.0.2 + filelist: ^1.0.1 + minimatch: ^3.0.4 + bin: + jake: ./bin/cli.js + checksum: 56c913ecf5a8d74325d0af9bc17a233bad50977438d44864d925bb6c45c946e0fee8c4c1f5fe2225471ef40df5222e943047982717ebff0d624770564d3c46ba languageName: node linkType: hard -"jest-circus@npm:26.6.0": - version: 26.6.0 - resolution: "jest-circus@npm:26.6.0" +"jest-changed-files@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-changed-files@npm:27.5.1" dependencies: - "@babel/traverse": ^7.1.0 - "@jest/environment": ^26.6.0 - "@jest/test-result": ^26.6.0 - "@jest/types": ^26.6.0 - "@types/babel__traverse": ^7.0.4 + "@jest/types": ^27.5.1 + execa: ^5.0.0 + throat: ^6.0.1 + checksum: 95e9dc74c3ca688ef85cfeab270f43f8902721a6c8ade6ac2459459a77890c85977f537d6fb809056deaa6d9c3f075fa7d2699ff5f3bf7d3fda17c3760b79b15 + languageName: node + linkType: hard + +"jest-circus@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-circus@npm:27.5.1" + dependencies: + "@jest/environment": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 - expect: ^26.6.0 + expect: ^27.5.1 is-generator-fn: ^2.0.0 - jest-each: ^26.6.0 - jest-matcher-utils: ^26.6.0 - jest-message-util: ^26.6.0 - jest-runner: ^26.6.0 - jest-runtime: ^26.6.0 - jest-snapshot: ^26.6.0 - jest-util: ^26.6.0 - pretty-format: ^26.6.0 - stack-utils: ^2.0.2 - throat: ^5.0.0 - checksum: acc354223964bafd40fd1caae4099b58ccb1551bc93a394398b441274c225552f1941ce9903d126fb0adc3952a108e2994270c6a50a3e7e5af931b65b8c170f0 - languageName: node - linkType: hard - -"jest-cli@npm:^26.6.0": - version: 26.6.3 - resolution: "jest-cli@npm:26.6.3" - dependencies: - "@jest/core": ^26.6.3 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + jest-each: ^27.5.1 + jest-matcher-utils: ^27.5.1 + jest-message-util: ^27.5.1 + jest-runtime: ^27.5.1 + jest-snapshot: ^27.5.1 + jest-util: ^27.5.1 + pretty-format: ^27.5.1 + slash: ^3.0.0 + stack-utils: ^2.0.3 + throat: ^6.0.1 + checksum: 6192dccbccb3a6acfa361cbb97bdbabe94864ccf3d885932cfd41f19534329d40698078cf9be1489415e8234255d6ea9f9aff5396b79ad842a6fca6e6fc08fd0 + languageName: node + linkType: hard + +"jest-cli@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-cli@npm:27.5.1" + dependencies: + "@jest/core": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/types": ^27.5.1 chalk: ^4.0.0 exit: ^0.1.2 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 import-local: ^3.0.2 - is-ci: ^2.0.0 - jest-config: ^26.6.3 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 + jest-config: ^27.5.1 + jest-util: ^27.5.1 + jest-validate: ^27.5.1 prompts: ^2.0.1 - yargs: ^15.4.1 + yargs: ^16.2.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true bin: jest: bin/jest.js - checksum: c8554147be756f09f5566974f0026485f78742e8642d2723f8fbee5746f50f44fb72b17aad181226655a8446d3ecc8ad8ed0a11a8a55686fa2b9c10d85700121 + checksum: 6c0a69fb48e500241409e09ff743ed72bc6578d7769e2c994724e7ef1e5587f6c1f85dc429e93b98ae38a365222993ee70f0acc2199358992120900984f349e5 languageName: node linkType: hard -"jest-config@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-config@npm:26.6.3" +"jest-config@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-config@npm:27.5.1" dependencies: - "@babel/core": ^7.1.0 - "@jest/test-sequencer": ^26.6.3 - "@jest/types": ^26.6.2 - babel-jest: ^26.6.3 + "@babel/core": ^7.8.0 + "@jest/test-sequencer": ^27.5.1 + "@jest/types": ^27.5.1 + babel-jest: ^27.5.1 chalk: ^4.0.0 + ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.1 - graceful-fs: ^4.2.4 - jest-environment-jsdom: ^26.6.2 - jest-environment-node: ^26.6.2 - jest-get-type: ^26.3.0 - jest-jasmine2: ^26.6.3 - jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 - micromatch: ^4.0.2 - pretty-format: ^26.6.2 + graceful-fs: ^4.2.9 + jest-circus: ^27.5.1 + jest-environment-jsdom: ^27.5.1 + jest-environment-node: ^27.5.1 + jest-get-type: ^27.5.1 + jest-jasmine2: ^27.5.1 + jest-regex-util: ^27.5.1 + jest-resolve: ^27.5.1 + jest-runner: ^27.5.1 + jest-util: ^27.5.1 + jest-validate: ^27.5.1 + micromatch: ^4.0.4 + parse-json: ^5.2.0 + pretty-format: ^27.5.1 + slash: ^3.0.0 + strip-json-comments: ^3.1.1 peerDependencies: ts-node: ">=9.0.0" peerDependenciesMeta: ts-node: optional: true - checksum: 303c798582d3c5d4b4e6ab8a4d91a83ded28e4ebbc0bcfc1ad271f9864437ef5409b7c7773010143811bc8176b0695c096717b91419c6484b56dcc032560a74b + checksum: 1188fd46c0ed78cbe3175eb9ad6712ccf74a74be33d9f0d748e147c107f0889f8b701fbff1567f31836ae18597dacdc43d6a8fc30dd34ade6c9229cc6c7cb82d languageName: node linkType: hard -"jest-diff@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-diff@npm:26.6.2" +"jest-diff@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-diff@npm:27.5.1" dependencies: chalk: ^4.0.0 - diff-sequences: ^26.6.2 - jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: d00d297f31e1ac0252127089892432caa7a11c69bde29cf3bb6c7a839c8afdb95cf1fd401f9df16a4422745da2e6a5d94b428b30666a2540c38e1c5699915c2d + diff-sequences: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 languageName: node linkType: hard -"jest-docblock@npm:^26.0.0": - version: 26.0.0 - resolution: "jest-docblock@npm:26.0.0" +"jest-docblock@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-docblock@npm:27.5.1" dependencies: detect-newline: ^3.0.0 - checksum: e03ef104ee8c571335e6fa394b8fc8d2bd87eec9fe8b3d7d9aac056ada7de288f37ee8ac4922bb3a4222ac304db975d8832d5abc85486092866c534a16847cd5 + checksum: c0fed6d55b229d8bffdd8d03f121dd1a3be77c88f50552d374f9e1ea3bde57bf6bea017a0add04628d98abcb1bfb48b456438eeca8a74ef0053f4dae3b95d29c languageName: node linkType: hard -"jest-each@npm:^26.6.0, jest-each@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-each@npm:26.6.2" +"jest-each@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-each@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.5.1 chalk: ^4.0.0 - jest-get-type: ^26.3.0 - jest-util: ^26.6.2 - pretty-format: ^26.6.2 - checksum: 4e00ea4667e4fe015b894dc698cce0ae695cf458e021e5da62d4a5b052cd2c0a878da93f8c97cbdde60bcecf70982e8d3a7a5d63e1588f59531cc797a18c39ef + jest-get-type: ^27.5.1 + jest-util: ^27.5.1 + pretty-format: ^27.5.1 + checksum: b5a6d8730fd938982569c9e0b42bdf3c242f97b957ed8155a6473b5f7b540970f8685524e7f53963dc1805319f4b6602abfc56605590ca19d55bd7a87e467e63 languageName: node linkType: hard -"jest-environment-jsdom@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-environment-jsdom@npm:26.6.2" +"jest-environment-jsdom@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-environment-jsdom@npm:27.5.1" dependencies: - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^27.5.1 + "@jest/fake-timers": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - jsdom: ^16.4.0 - checksum: 8af9ffdf1b147362a19032bfe9ed51b709d43c74dc4b1c45e56d721808bf6cabdca8c226855b55a985ea196ce51cdb171bfe420ceec3daa2d13818d5c1915890 + jest-mock: ^27.5.1 + jest-util: ^27.5.1 + jsdom: ^16.6.0 + checksum: bc104aef7d7530d0740402aa84ac812138b6d1e51fe58adecce679f82b99340ddab73e5ec68fa079f33f50c9ddec9728fc9f0ddcca2ad6f0b351eed2762cc555 languageName: node linkType: hard -"jest-environment-node@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-environment-node@npm:26.6.2" +"jest-environment-node@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-environment-node@npm:27.5.1" dependencies: - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^27.5.1 + "@jest/fake-timers": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - checksum: 0b69b481e6d6f2350ed241c2dabc70b0b1f3a00f9a410b7dad97c8ab38e88026acf7445ca663eb314f46ff50acee0133100b1006bf4ebda5298ffb02763a6861 + jest-mock: ^27.5.1 + jest-util: ^27.5.1 + checksum: 0f988330c4f3eec092e3fb37ea753b0c6f702e83cd8f4d770af9c2bf964a70bc45fbd34ec6fdb6d71ce98a778d9f54afd673e63f222e4667fff289e8069dba39 languageName: node linkType: hard -"jest-get-type@npm:^26.3.0": - version: 26.3.0 - resolution: "jest-get-type@npm:26.3.0" - checksum: 1cc6465ae4f5e880be22ba52fd270fa64c21994915f81b41f8f7553a7957dd8e077cc8d03035de9412e2d739f8bad6a032ebb5dab5805692a5fb9e20dd4ea666 +"jest-get-type@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-get-type@npm:27.5.1" + checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 languageName: node linkType: hard -"jest-haste-map@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-haste-map@npm:26.6.2" +"jest-haste-map@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-haste-map@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.5.1 "@types/graceful-fs": ^4.1.2 "@types/node": "*" anymatch: ^3.0.3 fb-watchman: ^2.0.0 - fsevents: ^2.1.2 - graceful-fs: ^4.2.4 - jest-regex-util: ^26.0.0 - jest-serializer: ^26.6.2 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 - micromatch: ^4.0.2 - sane: ^4.0.3 + fsevents: ^2.3.2 + graceful-fs: ^4.2.9 + jest-regex-util: ^27.5.1 + jest-serializer: ^27.5.1 + jest-util: ^27.5.1 + jest-worker: ^27.5.1 + micromatch: ^4.0.4 walker: ^1.0.7 dependenciesMeta: fsevents: optional: true - checksum: 8ad5236d5646d2388d2bd58a57ea53698923434f43d59ea9ebdc58bce4d0b8544c8de2f7acaa9a6d73171f04460388b2b6d7d6b6c256aea4ebb8780140781596 + checksum: e092a1412829a9254b4725531ee72926de530f77fda7b0d9ea18008fb7623c16f72e772d8e93be71cac9e591b2c6843a669610887dd2c89bd9eb528856e3ab47 languageName: node linkType: hard -"jest-jasmine2@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-jasmine2@npm:26.6.3" +"jest-jasmine2@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-jasmine2@npm:27.5.1" dependencies: - "@babel/traverse": ^7.1.0 - "@jest/environment": ^26.6.2 - "@jest/source-map": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^27.5.1 + "@jest/source-map": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 - expect: ^26.6.2 + expect: ^27.5.1 is-generator-fn: ^2.0.0 - jest-each: ^26.6.2 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-runtime: ^26.6.3 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - pretty-format: ^26.6.2 - throat: ^5.0.0 - checksum: 41df0b993ae0cdeb2660fb3d8e88e2dcc83aec6b5c27d85eb233c2d507b546f8dce45fc54898ffbefa48ccc4633f225d0e023fd0979b8f7f2f1626074a69a9a3 + jest-each: ^27.5.1 + jest-matcher-utils: ^27.5.1 + jest-message-util: ^27.5.1 + jest-runtime: ^27.5.1 + jest-snapshot: ^27.5.1 + jest-util: ^27.5.1 + pretty-format: ^27.5.1 + throat: ^6.0.1 + checksum: b716adf253ceb73db661936153394ab90d7f3a8ba56d6189b7cd4df8e4e2a4153b4e63ebb5d36e29ceb0f4c211d5a6f36ab7048c6abbd881c8646567e2ab8e6d languageName: node linkType: hard -"jest-leak-detector@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-leak-detector@npm:26.6.2" +"jest-leak-detector@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-leak-detector@npm:27.5.1" dependencies: - jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: 364dd4d021347e26c66ba9c09da8a30477f14a3a8a208d2d7d64e4c396db81b85d8cb6b6834bcfc47a61b5938e274553957d11a7de2255f058c9d55d7f8fdfe7 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: 5c9689060960567ddaf16c570d87afa760a461885765d2c71ef4f4857bbc3af1482c34e3cce88e50beefde1bf35e33530b020480752057a7e3dbb1ca0bae359f languageName: node linkType: hard -"jest-matcher-utils@npm:^26.6.0, jest-matcher-utils@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-matcher-utils@npm:26.6.2" +"jest-matcher-utils@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-matcher-utils@npm:27.5.1" dependencies: chalk: ^4.0.0 - jest-diff: ^26.6.2 - jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: 74d2165c1ac7fe98fe27cd2b5407499478e6b2fe99dd54e26d8ee5c9f5f913bdd7bdc07c7221b9b04df0c15e9be0e866ff3455b03e38cc66c480d9996d6d5405 + jest-diff: ^27.5.1 + jest-get-type: ^27.5.1 + pretty-format: ^27.5.1 + checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a languageName: node linkType: hard -"jest-message-util@npm:^26.6.0, jest-message-util@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-message-util@npm:26.6.2" +"jest-message-util@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-message-util@npm:27.5.1" dependencies: - "@babel/code-frame": ^7.0.0 - "@jest/types": ^26.6.2 + "@babel/code-frame": ^7.12.13 + "@jest/types": ^27.5.1 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 - graceful-fs: ^4.2.4 - micromatch: ^4.0.2 - pretty-format: ^26.6.2 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^27.5.1 slash: ^3.0.0 - stack-utils: ^2.0.2 - checksum: ffe5a715591c41240b9ed4092faf10f3eaf9ddfdf25d257a0c9f903aaa8d9eed5baa7e38016d2ec4f610fd29225e0f5231a91153e087a043e62824972c83d015 + stack-utils: ^2.0.3 + checksum: eb6d637d1411c71646de578c49826b6da8e33dd293e501967011de9d1916d53d845afbfb52a5b661ff1c495be7c13f751c48c7f30781fd94fbd64842e8195796 languageName: node linkType: hard -"jest-mock@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-mock@npm:26.6.2" +"jest-message-util@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-message-util@npm:28.1.3" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^28.1.3 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^28.1.3 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: 1f266854166dcc6900d75a88b54a25225a2f3710d463063ff1c99021569045c35c7d58557b25447a17eb3a65ce763b2f9b25550248b468a9d4657db365f39e96 + languageName: node + linkType: hard + +"jest-mock@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-mock@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.5.1 "@types/node": "*" - checksum: 6c0fe028ff0cdc87b5d63b9ca749af04cae6c5577aaab234f602e546cae3f4b932adac9d77e6de2abb24955ee00978e1e5d5a861725654e2f9a42317d91fbc1f + checksum: f5b5904bb1741b4a1687a5f492535b7b1758dc26534c72a5423305f8711292e96a601dec966df81bb313269fb52d47227e29f9c2e08324d79529172f67311be0 languageName: node linkType: hard @@ -16215,226 +14095,239 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-regex-util@npm:^26.0.0": - version: 26.0.0 - resolution: "jest-regex-util@npm:26.0.0" - checksum: 930a00665e8dfbedc29140678b4a54f021b41b895cf35050f76f557c1da3ac48ff42dd7b18ba2ccba6f4e518c6445d6753730d03ec7049901b93992db1ef0483 +"jest-regex-util@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-regex-util@npm:27.5.1" + checksum: d45ca7a9543616a34f7f3079337439cf07566e677a096472baa2810e274b9808b76767c97b0a4029b8a5b82b9d256dee28ef9ad4138b2b9e5933f6fac106c418 languageName: node linkType: hard -"jest-resolve-dependencies@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-resolve-dependencies@npm:26.6.3" - dependencies: - "@jest/types": ^26.6.2 - jest-regex-util: ^26.0.0 - jest-snapshot: ^26.6.2 - checksum: 533ea1e271426006ff02c03c9802b108fcd68f2144615b6110ae59f3a0a2cc4a7abb3f44c3c65299c76b3a725d5d8220aaed9c58b79c8c8c508c18699a96e3f7 +"jest-regex-util@npm:^28.0.0": + version: 28.0.2 + resolution: "jest-regex-util@npm:28.0.2" + checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add languageName: node linkType: hard -"jest-resolve@npm:26.6.0": - version: 26.6.0 - resolution: "jest-resolve@npm:26.6.0" +"jest-resolve-dependencies@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-resolve-dependencies@npm:27.5.1" dependencies: - "@jest/types": ^26.6.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.4 - jest-pnp-resolver: ^1.2.2 - jest-util: ^26.6.0 - read-pkg-up: ^7.0.1 - resolve: ^1.17.0 - slash: ^3.0.0 - checksum: c5d0277d4aa22f9f38693ba3e5d6176edf2e367af2f0c38e16c88e9b80b2292ee4d9df9b3675607f5d0c0b2652b4e3f69d8155f9fedd83ddd0ef937cfb6230c0 + "@jest/types": ^27.5.1 + jest-regex-util: ^27.5.1 + jest-snapshot: ^27.5.1 + checksum: c67af97afad1da88f5530317c732bbd1262d1225f6cd7f4e4740a5db48f90ab0bd8564738ac70d1a43934894f9aef62205c1b8f8ee89e5c7a737e6a121ee4c25 languageName: node linkType: hard -"jest-resolve@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-resolve@npm:26.6.2" +"jest-resolve@npm:^27.4.2, jest-resolve@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-resolve@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.5.1 chalk: ^4.0.0 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 + jest-haste-map: ^27.5.1 jest-pnp-resolver: ^1.2.2 - jest-util: ^26.6.2 - read-pkg-up: ^7.0.1 - resolve: ^1.18.1 + jest-util: ^27.5.1 + jest-validate: ^27.5.1 + resolve: ^1.20.0 + resolve.exports: ^1.1.0 slash: ^3.0.0 - checksum: d6264d3f39b098753802a237c8c54f3109f5f3b3b7fa6f8d7aec7dca01b357ddf518ce1c33a68454357c15f48fb3c6026a92b9c4f5d72f07e24e80f04bcc8d58 + checksum: 735830e7265b20a348029738680bb2f6e37f80ecea86cda869a4c318ba3a45d39c7a3a873a22f7f746d86258c50ead6e7f501de043e201c095d7ba628a1c440f languageName: node linkType: hard -"jest-runner@npm:^26.6.0, jest-runner@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-runner@npm:26.6.3" +"jest-runner@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-runner@npm:27.5.1" dependencies: - "@jest/console": ^26.6.2 - "@jest/environment": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.5.1 + "@jest/environment": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" chalk: ^4.0.0 - emittery: ^0.7.1 - exit: ^0.1.2 - graceful-fs: ^4.2.4 - jest-config: ^26.6.3 - jest-docblock: ^26.0.0 - jest-haste-map: ^26.6.2 - jest-leak-detector: ^26.6.2 - jest-message-util: ^26.6.2 - jest-resolve: ^26.6.2 - jest-runtime: ^26.6.3 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 + emittery: ^0.8.1 + graceful-fs: ^4.2.9 + jest-docblock: ^27.5.1 + jest-environment-jsdom: ^27.5.1 + jest-environment-node: ^27.5.1 + jest-haste-map: ^27.5.1 + jest-leak-detector: ^27.5.1 + jest-message-util: ^27.5.1 + jest-resolve: ^27.5.1 + jest-runtime: ^27.5.1 + jest-util: ^27.5.1 + jest-worker: ^27.5.1 source-map-support: ^0.5.6 - throat: ^5.0.0 - checksum: ccd69918baa49a5efa45985cf60cfa1fbb1686b32d7a86296b7b55f89684e36d1f08e62598c4b7be7e81f2cf2e245d1a65146ea7bdcaedfa6ed176d3e645d7e2 + throat: ^6.0.1 + checksum: 5bbe6cf847dd322b3332ec9d6977b54f91bd5f72ff620bc1a0192f0f129deda8aa7ca74c98922187a7aa87d8e0ce4f6c50e99a7ccb2a310bf4d94be2e0c3ce8e languageName: node linkType: hard -"jest-runtime@npm:^26.6.0, jest-runtime@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-runtime@npm:26.6.3" - dependencies: - "@jest/console": ^26.6.2 - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/globals": ^26.6.2 - "@jest/source-map": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 - "@types/yargs": ^15.0.0 +"jest-runtime@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-runtime@npm:27.5.1" + dependencies: + "@jest/environment": ^27.5.1 + "@jest/fake-timers": ^27.5.1 + "@jest/globals": ^27.5.1 + "@jest/source-map": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 chalk: ^4.0.0 - cjs-module-lexer: ^0.6.0 + cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 - exit: ^0.1.2 + execa: ^5.0.0 glob: ^7.1.3 - graceful-fs: ^4.2.4 - jest-config: ^26.6.3 - jest-haste-map: ^26.6.2 - jest-message-util: ^26.6.2 - jest-mock: ^26.6.2 - jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 + graceful-fs: ^4.2.9 + jest-haste-map: ^27.5.1 + jest-message-util: ^27.5.1 + jest-mock: ^27.5.1 + jest-regex-util: ^27.5.1 + jest-resolve: ^27.5.1 + jest-snapshot: ^27.5.1 + jest-util: ^27.5.1 slash: ^3.0.0 strip-bom: ^4.0.0 - yargs: ^15.4.1 - bin: - jest-runtime: bin/jest-runtime.js - checksum: 867922b49f9ab4cf2f5f1356ac3d9962c4477c7a2ff696cc841ea4c600ea389e7d6dfcbf945fec6849e606f81980addf31e4f34d63eaa3d3415f4901de2f605a + checksum: 929e3df0c53dab43f831f2af4e2996b22aa8cb2d6d483919d6b0426cbc100098fd5b777b998c6568b77f8c4d860b2e83127514292ff61416064f5ef926492386 languageName: node linkType: hard -"jest-serializer@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-serializer@npm:26.6.2" +"jest-serializer@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-serializer@npm:27.5.1" dependencies: "@types/node": "*" - graceful-fs: ^4.2.4 - checksum: dbecfb0d01462fe486a0932cf1680cf6abb204c059db2a8f72c6c2a7c9842a82f6d256874112774cea700764ed8f38fc9e3db982456c138d87353e3390e746fe + graceful-fs: ^4.2.9 + checksum: 803e03a552278610edc6753c0dd9fa5bb5cd3ca47414a7b2918106efb62b79fd5e9ae785d0a21f12a299fa599fea8acc1fa6dd41283328cee43962cf7df9bb44 languageName: node linkType: hard -"jest-snapshot@npm:^26.6.0, jest-snapshot@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-snapshot@npm:26.6.2" +"jest-snapshot@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-snapshot@npm:27.5.1" dependencies: + "@babel/core": ^7.7.2 + "@babel/generator": ^7.7.2 + "@babel/plugin-syntax-typescript": ^7.7.2 + "@babel/traverse": ^7.7.2 "@babel/types": ^7.0.0 - "@jest/types": ^26.6.2 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 "@types/babel__traverse": ^7.0.4 - "@types/prettier": ^2.0.0 + "@types/prettier": ^2.1.5 + babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^26.6.2 - graceful-fs: ^4.2.4 - jest-diff: ^26.6.2 - jest-get-type: ^26.3.0 - jest-haste-map: ^26.6.2 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-resolve: ^26.6.2 + expect: ^27.5.1 + graceful-fs: ^4.2.9 + jest-diff: ^27.5.1 + jest-get-type: ^27.5.1 + jest-haste-map: ^27.5.1 + jest-matcher-utils: ^27.5.1 + jest-message-util: ^27.5.1 + jest-util: ^27.5.1 natural-compare: ^1.4.0 - pretty-format: ^26.6.2 + pretty-format: ^27.5.1 semver: ^7.3.2 - checksum: 53f1de055b1d3840bc6e851fd674d5991b844d4695dadbd07354c93bf191048d8767b8606999847e97c4214a485b9afb45c1d2411772befa1870414ac973b3e2 + checksum: a5cfadf0d21cd76063925d1434bc076443ed6d87847d0e248f0b245f11db3d98ff13e45cc03b15404027dabecd712d925f47b6eae4f64986f688640a7d362514 + languageName: node + linkType: hard + +"jest-util@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-util@npm:27.5.1" + dependencies: + "@jest/types": ^27.5.1 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: ac8d122f6daf7a035dcea156641fd3701aeba245417c40836a77e35b3341b9c02ddc5d904cfcd4ddbaa00ab854da76d3b911870cafdcdbaff90ea471de26c7d7 languageName: node linkType: hard -"jest-util@npm:^26.6.0, jest-util@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-util@npm:26.6.2" +"jest-util@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-util@npm:28.1.3" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^28.1.3 "@types/node": "*" chalk: ^4.0.0 - graceful-fs: ^4.2.4 - is-ci: ^2.0.0 - micromatch: ^4.0.2 - checksum: 3c6a5fba05c4c6892cd3a9f66196ea8867087b77a5aa1a3f6cd349c785c3f1ca24abfd454664983aed1a165cab7846688e44fe8630652d666ba326b08625bc3d + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: fd6459742c941f070223f25e38a2ac0719aad92561591e9fb2a50d602a5d19d754750b79b4074327a42b00055662b95da3b006542ceb8b54309da44d4a62e721 languageName: node linkType: hard -"jest-validate@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-validate@npm:26.6.2" +"jest-validate@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-validate@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 - camelcase: ^6.0.0 + "@jest/types": ^27.5.1 + camelcase: ^6.2.0 chalk: ^4.0.0 - jest-get-type: ^26.3.0 + jest-get-type: ^27.5.1 leven: ^3.1.0 - pretty-format: ^26.6.2 - checksum: bac11d6586d9b8885328a4a66eec45b692e45ac23034a5c09eb0ee32de324f2d3d52b073e0c34e9c222b3642b083d1152a736cf24c52109e4957537d731ca62b + pretty-format: ^27.5.1 + checksum: 82e870f8ee7e4fb949652711b1567f05ae31c54be346b0899e8353e5c20fad7692b511905b37966945e90af8dc0383eb41a74f3ffefb16140ea4f9164d841412 languageName: node linkType: hard -"jest-watch-typeahead@npm:0.6.1": - version: 0.6.1 - resolution: "jest-watch-typeahead@npm:0.6.1" +"jest-watch-typeahead@npm:^1.0.0": + version: 1.1.0 + resolution: "jest-watch-typeahead@npm:1.1.0" dependencies: ansi-escapes: ^4.3.1 chalk: ^4.0.0 - jest-regex-util: ^26.0.0 - jest-watcher: ^26.3.0 - slash: ^3.0.0 - string-length: ^4.0.1 - strip-ansi: ^6.0.0 + jest-regex-util: ^28.0.0 + jest-watcher: ^28.0.0 + slash: ^4.0.0 + string-length: ^5.0.1 + strip-ansi: ^7.0.1 peerDependencies: - jest: ^26.0.0 - checksum: a65dfd080e68b79ce7c861ec07791a0768820049a1d6a471d01f3fc41ee88723db29b434e19c917421e7f34ec567bcade368f3671e234c557288e206f7fd4257 + jest: ^27.0.0 || ^28.0.0 + checksum: 59b0a494ac01e3801c9ec586de3209153eedb024b981e25443111c5703711d23b67ebc71b072986c1758307e0bfb5bf1c92bd323f73f58602d6f4f609dce6a0c languageName: node linkType: hard -"jest-watcher@npm:^26.3.0, jest-watcher@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-watcher@npm:26.6.2" +"jest-watcher@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-watcher@npm:27.5.1" dependencies: - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/test-result": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 - jest-util: ^26.6.2 + jest-util: ^27.5.1 string-length: ^4.0.1 - checksum: 401137f1a73bf23cdf390019ebffb3f6f89c53ca49d48252d1dd6daf17a68787fef75cc55a623de28b63d87d0e8f13d8972d7dd06740f2f64f7b2a0409d119d2 + checksum: 191c4e9c278c0902ade1a8a80883ac244963ba3e6e78607a3d5f729ccca9c6e71fb3b316f87883658132641c5d818aa84202585c76752e03c539e6cbecb820bd languageName: node linkType: hard -"jest-worker@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-worker@npm:24.9.0" +"jest-watcher@npm:^28.0.0": + version: 28.1.3 + resolution: "jest-watcher@npm:28.1.3" dependencies: - merge-stream: ^2.0.0 - supports-color: ^6.1.0 - checksum: bd23b6c8728dcf3bad0d84543ea1bc4a95ccd3b5a40f9e2796d527ab0e87dc6afa6c30cc7b67845dce1cfe7894753812d19793de605db1976b7ac08930671bff + "@jest/test-result": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + emittery: ^0.10.2 + jest-util: ^28.1.3 + string-length: ^4.0.1 + checksum: 8f6d674a4865e7df251f71544f1b51f06fd36b5a3a61f2ac81aeb81fa2a196be354fba51d0f97911c88f67cd254583b3a22ee124bf2c5b6ee2fadec27356c207 languageName: node linkType: hard -"jest-worker@npm:^26.5.0, jest-worker@npm:^26.6.2": +"jest-worker@npm:^26.2.1": version: 26.6.2 resolution: "jest-worker@npm:26.6.2" dependencies: @@ -16445,7 +14338,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-worker@npm:^27.3.1": +"jest-worker@npm:^27.0.2, jest-worker@npm:^27.4.5, jest-worker@npm:^27.5.1": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" dependencies: @@ -16456,16 +14349,32 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest@npm:26.6.0": - version: 26.6.0 - resolution: "jest@npm:26.6.0" +"jest-worker@npm:^28.0.2": + version: 28.1.3 + resolution: "jest-worker@npm:28.1.3" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: e921c9a1b8f0909da9ea07dbf3592f95b653aef3a8bb0cbcd20fc7f9a795a1304adecac31eecb308992c167e8d7e75c522061fec38a5928ace0f9571c90169ca + languageName: node + linkType: hard + +"jest@npm:^27.4.3": + version: 27.5.1 + resolution: "jest@npm:27.5.1" dependencies: - "@jest/core": ^26.6.0 + "@jest/core": ^27.5.1 import-local: ^3.0.2 - jest-cli: ^26.6.0 + jest-cli: ^27.5.1 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true bin: jest: bin/jest.js - checksum: e0d3efff0dc2a31c453a3f7d87586e5d6c0f008c9b827bb9204edde09288f922ddfb3a8917480bf68f4ac0298be28637daef98ebaaac65ea23d3cb754a6620c4 + checksum: 96f1d69042b3c6dfc695f2a4e4b0db38af6fb78582ad1a02beaa57cfcd77cbd31567d7d865c1c85709b7c3e176eefa3b2035ffecd646005f15d8ef528eccf205 languageName: node linkType: hard @@ -16540,42 +14449,43 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jsdom@npm:^16.4.0": - version: 16.4.0 - resolution: "jsdom@npm:16.4.0" +"jsdom@npm:^16.6.0": + version: 16.7.0 + resolution: "jsdom@npm:16.7.0" dependencies: - abab: ^2.0.3 - acorn: ^7.1.1 + abab: ^2.0.5 + acorn: ^8.2.4 acorn-globals: ^6.0.0 cssom: ^0.4.4 - cssstyle: ^2.2.0 + cssstyle: ^2.3.0 data-urls: ^2.0.0 - decimal.js: ^10.2.0 + decimal.js: ^10.2.1 domexception: ^2.0.1 - escodegen: ^1.14.1 + escodegen: ^2.0.0 + form-data: ^3.0.0 html-encoding-sniffer: ^2.0.1 - is-potential-custom-element-name: ^1.0.0 + http-proxy-agent: ^4.0.1 + https-proxy-agent: ^5.0.0 + is-potential-custom-element-name: ^1.0.1 nwsapi: ^2.2.0 - parse5: 5.1.1 - request: ^2.88.2 - request-promise-native: ^1.0.8 - saxes: ^5.0.0 + parse5: 6.0.1 + saxes: ^5.0.1 symbol-tree: ^3.2.4 - tough-cookie: ^3.0.1 + tough-cookie: ^4.0.0 w3c-hr-time: ^1.0.2 w3c-xmlserializer: ^2.0.0 webidl-conversions: ^6.1.0 whatwg-encoding: ^1.0.5 whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.0.0 - ws: ^7.2.3 + whatwg-url: ^8.5.0 + ws: ^7.4.6 xml-name-validator: ^3.0.0 peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: a9ca90c0d55bdeebb40a0baba34372141262f776c71793e00fc1ed93dc785a09919e57d2fe2041b9bbb855864bc6d17e722f182c19dc179fa162d253b40dd162 + checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 languageName: node linkType: hard @@ -16597,14 +14507,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"json-parse-better-errors@npm:^1.0.1, json-parse-better-errors@npm:^1.0.2": +"json-parse-better-errors@npm:^1.0.1": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d languageName: node linkType: hard -"json-parse-even-better-errors@npm:^2.3.0": +"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f @@ -16625,10 +14535,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"json-schema@npm:0.2.3": - version: 0.2.3 - resolution: "json-schema@npm:0.2.3" - checksum: bbc2070988fb5f2a2266a31b956f1b5660e03ea7eaa95b33402901274f625feb586ae0c485e1df854fde40a7f0dc679f3b3ca8e5b8d31f8ea07a0d834de785c7 +"json-schema@npm:0.4.0, json-schema@npm:^0.4.0": + version: 0.4.0 + resolution: "json-schema@npm:0.4.0" + checksum: 66389434c3469e698da0df2e7ac5a3281bcff75e797a5c127db7c5b56270e01ae13d9afa3c03344f76e32e81678337a8c912bdbb75101c62e487dc3778461d72 languageName: node linkType: hard @@ -16647,9 +14557,9 @@ fsevents@^1.2.7: linkType: hard "json-to-csv-export@npm:^1.0.2": - version: 1.0.2 - resolution: "json-to-csv-export@npm:1.0.2" - checksum: 1696d9e884d702cef52719a5699bdc642daccda7f06d36be77361e6d0af52e6615b6ce81ab80d93b34446b136c06c2f0e7ecbd976528e779735a55e700047254 + version: 1.1.0 + resolution: "json-to-csv-export@npm:1.1.0" + checksum: 42b69fcc0e65842cae90267ddba34468353adcdc7f5fc5a235e999a75808b53d9c30e1282f4d1b5553ef244c91d841725078423972df0e503d1e34a304af2748 languageName: node linkType: hard @@ -16664,18 +14574,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.0": - version: 2.2.0 - resolution: "json5@npm:2.2.0" - dependencies: - minimist: ^1.2.5 - bin: - json5: lib/cli.js - checksum: e88fc5274bb58fc99547baa777886b069d2dd96d9cfc4490b305fd16d711dabd5979e35a4f90873cefbeb552e216b041a304fe56702bedba76e19bc7845f208d - languageName: node - linkType: hard - -"json5@npm:^2.2.1": +"json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.1": version: 2.2.1 resolution: "json5@npm:2.2.1" bin: @@ -16684,18 +14583,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.6 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -16709,210 +14596,130 @@ fsevents@^1.2.7: languageName: node linkType: hard +"jsonpointer@npm:^5.0.0": + version: 5.0.1 + resolution: "jsonpointer@npm:5.0.1" + checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c + languageName: node + linkType: hard + "jsprim@npm:^1.2.2": - version: 1.4.1 - resolution: "jsprim@npm:1.4.1" + version: 1.4.2 + resolution: "jsprim@npm:1.4.2" dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 - json-schema: 0.2.3 + json-schema: 0.4.0 verror: 1.10.0 - checksum: 6bcb20ec265ae18bb48e540a6da2c65f9c844f7522712d6dfcb01039527a49414816f4869000493363f1e1ea96cbad00e46188d5ecc78257a19f152467587373 - languageName: node - linkType: hard - -"jss-plugin-camel-case@npm:^10.5.1": - version: 10.5.1 - resolution: "jss-plugin-camel-case@npm:10.5.1" - dependencies: - "@babel/runtime": ^7.3.1 - hyphenate-style-name: ^1.0.3 - jss: 10.5.1 - checksum: 72c9702f1084cbfbf557180492c0385c7517e9c7ea702f06a03d9e6b180c262570decbca034a308e0dd1797f71103724b06c7013fa71478a28e5b5ce0f7170e7 + checksum: 2ad1b9fdcccae8b3d580fa6ced25de930eaa1ad154db21bbf8478a4d30bbbec7925b5f5ff29b933fba9412b16a17bd484a8da4fdb3663b5e27af95dd693bab2a languageName: node linkType: hard -"jss-plugin-camel-case@npm:^10.8.2": - version: 10.9.0 - resolution: "jss-plugin-camel-case@npm:10.9.0" +"jss-plugin-camel-case@npm:^10.5.1, jss-plugin-camel-case@npm:^10.8.2": + version: 10.9.1 + resolution: "jss-plugin-camel-case@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 hyphenate-style-name: ^1.0.3 - jss: 10.9.0 - checksum: 435c7e3111f1e23b369f7a78bdadb09e91f100215b3156a0e46edad5801c2c002f8029d2afa71c9eafc1cb340988b5d9b81fed633bd63983371d21e3d5be2a4c - languageName: node - linkType: hard - -"jss-plugin-default-unit@npm:^10.5.1": - version: 10.5.1 - resolution: "jss-plugin-default-unit@npm:10.5.1" - dependencies: - "@babel/runtime": ^7.3.1 - jss: 10.5.1 - checksum: dc652b805404a7bad64c4db47120cfb89502d08f239de2cb4aa8682d8ecc58fd7700efaf4f3b60156893b49e3844186f4a15893bdf47177e53f123b66bf64113 - languageName: node - linkType: hard - -"jss-plugin-default-unit@npm:^10.8.2": - version: 10.9.0 - resolution: "jss-plugin-default-unit@npm:10.9.0" - dependencies: - "@babel/runtime": ^7.3.1 - jss: 10.9.0 - checksum: 5ff18061b1bf3afb0ae2d435dd2253159fc1927ce9ffd3457692df5b949f2ca39e01f752b728c584dd17dac5457963179ac3e71303bab8344fa8eee0352e8e5c - languageName: node - linkType: hard - -"jss-plugin-global@npm:^10.5.1": - version: 10.5.1 - resolution: "jss-plugin-global@npm:10.5.1" - dependencies: - "@babel/runtime": ^7.3.1 - jss: 10.5.1 - checksum: 8c224ba80de361bdc3b27c0c10b2c1b3906c073691e793a2620dfde66317ade49a49dececbc80669f88e34a9013359704852f2cbc4712e54ef1940a600b810b9 + jss: 10.9.1 + checksum: 05a674a63bd1b567c1688b654f940434d42d9f4d611a3d0856f08a033873740e6cde97b7b4041c5a6dd6068ece8626f76e340ec85e3f1b6a7aa29bc3b2b3344f languageName: node linkType: hard -"jss-plugin-global@npm:^10.8.2": - version: 10.9.0 - resolution: "jss-plugin-global@npm:10.9.0" +"jss-plugin-default-unit@npm:^10.5.1, jss-plugin-default-unit@npm:^10.8.2": + version: 10.9.1 + resolution: "jss-plugin-default-unit@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 - jss: 10.9.0 - checksum: 1ff11b47131fec7b156cac057d3b749abff778b7ebd219649ef7a8988187e2a9b2c6cbd27f4b3c294df66378d688dc9e14a67e2ef9396a9c76ee2e720d6e224c + jss: 10.9.1 + checksum: 53d3033b313f821ef2ed5a630610df9cb31dce11f4e790d9c8f45f3a084e56345c473bced393d6069357913c599de8d8991a41bf1860d35337d01a6739e275b1 languageName: node linkType: hard -"jss-plugin-nested@npm:^10.5.1": - version: 10.5.1 - resolution: "jss-plugin-nested@npm:10.5.1" +"jss-plugin-global@npm:^10.5.1, jss-plugin-global@npm:^10.8.2": + version: 10.9.1 + resolution: "jss-plugin-global@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 - jss: 10.5.1 - tiny-warning: ^1.0.2 - checksum: 626cb5ee5c08958318d89cc045d4dc63a5281b95a7eaa27ef570375db3514e2e2efb7f324ac39d5e8f007ff0e4204732c6f04618d383dbd447dd1bd6cfc03a65 + jss: 10.9.1 + checksum: abb94c47b8999c3f38c1594235f89e6fb004c4bbfef89bb7aadb788311a3d18007a6107bc0620ca0de98a34350af7608dc9c2e7f9159bcb97bf72baac2af6104 languageName: node linkType: hard -"jss-plugin-nested@npm:^10.8.2": - version: 10.9.0 - resolution: "jss-plugin-nested@npm:10.9.0" +"jss-plugin-nested@npm:^10.5.1, jss-plugin-nested@npm:^10.8.2": + version: 10.9.1 + resolution: "jss-plugin-nested@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 - jss: 10.9.0 + jss: 10.9.1 tiny-warning: ^1.0.2 - checksum: 46dc4977d014bc67e9348642cd642a09864707ea70b7eac06a20f8505b0c995402199a6895d02faa9bb5282a3429b0e6814a41fe852da2a3b85543e75e60f271 - languageName: node - linkType: hard - -"jss-plugin-props-sort@npm:^10.5.1": - version: 10.5.1 - resolution: "jss-plugin-props-sort@npm:10.5.1" - dependencies: - "@babel/runtime": ^7.3.1 - jss: 10.5.1 - checksum: 2e4390d7718033ba315ed63ef20e491cc5cb2e1133163b99d5e54c600f6ceac3c90957db3f061c9a72bd0c56540838a3e9fac08af2176d36f8bca4608e292001 - languageName: node - linkType: hard - -"jss-plugin-props-sort@npm:^10.8.2": - version: 10.9.0 - resolution: "jss-plugin-props-sort@npm:10.9.0" - dependencies: - "@babel/runtime": ^7.3.1 - jss: 10.9.0 - checksum: 87eb054d4afa0d8db86ea5d7ace40d9883a11c7cbeada54c4a515da73a92178d777d3cef48b2b2bb52e0eab11212c8a15b9c29ec3d327ab256aaff943fd77c9d + checksum: eaf7715fd1a5b37c3a465be863c1f3b7e3f4974000584e3afbd6d31eefe11be83a6614a2cecf0e6014c690fe44241f185724658c7560422dde3624db9ffeca3c languageName: node linkType: hard -"jss-plugin-rule-value-function@npm:^10.5.1": - version: 10.5.1 - resolution: "jss-plugin-rule-value-function@npm:10.5.1" +"jss-plugin-props-sort@npm:^10.5.1, jss-plugin-props-sort@npm:^10.8.2": + version: 10.9.1 + resolution: "jss-plugin-props-sort@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 - jss: 10.5.1 - tiny-warning: ^1.0.2 - checksum: d3721896bb1dc796c74846b8bb5c4de4c4201880708bed19610a2f72a0563a76d976947641722f689e770d119c02d1cdbbc691ed51f961383b37fcdc9d5af163 + jss: 10.9.1 + checksum: d5a4a32765a30444b03907644531f3d76b9608ffee49294ac3c6f0b34dc88e4871906434a9df140b18094b7e2247a7ebb8f9530bd640fd7f48a667b205b9c5d4 languageName: node linkType: hard -"jss-plugin-rule-value-function@npm:^10.8.2": - version: 10.9.0 - resolution: "jss-plugin-rule-value-function@npm:10.9.0" +"jss-plugin-rule-value-function@npm:^10.5.1, jss-plugin-rule-value-function@npm:^10.8.2": + version: 10.9.1 + resolution: "jss-plugin-rule-value-function@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 - jss: 10.9.0 + jss: 10.9.1 tiny-warning: ^1.0.2 - checksum: b8d0f4f8b2620f084e5e9e6f2cf54c9ce5857d1a15c4eb9d0f1d7fc4ee79452dba877c8c4039eeb163b132cbaff04ea958df54150fb41d9a9f9e86b93a54813f - languageName: node - linkType: hard - -"jss-plugin-vendor-prefixer@npm:^10.5.1": - version: 10.5.1 - resolution: "jss-plugin-vendor-prefixer@npm:10.5.1" - dependencies: - "@babel/runtime": ^7.3.1 - css-vendor: ^2.0.8 - jss: 10.5.1 - checksum: ac82eab4453fd8ede3868538ab632d07b19e2b011ea6e2ed12720ff10cff5e817f967323283ce8f0b926e62f0a76a66b47bdb5a397d7ec2e91c3cb05820aa7cc + checksum: 3363258be1458b260d9e6dadfdaf44a6cf9e76b519e907e7c0a7f28d7abd1b2c2eeede2b8d366188aea0a0a8ac2e2f7e2427cacfce0e9fd0d0e74893ff3490b1 languageName: node linkType: hard -"jss-plugin-vendor-prefixer@npm:^10.8.2": - version: 10.9.0 - resolution: "jss-plugin-vendor-prefixer@npm:10.9.0" +"jss-plugin-vendor-prefixer@npm:^10.5.1, jss-plugin-vendor-prefixer@npm:^10.8.2": + version: 10.9.1 + resolution: "jss-plugin-vendor-prefixer@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 css-vendor: ^2.0.8 - jss: 10.9.0 - checksum: 8248908d9788fea2e2060ec82a61c07549935e57de3682a319927b3ee2256867a26c7af95e2169ceffe3712520ebd4b518c84485606b9838340f50d561a6cd22 - languageName: node - linkType: hard - -"jss@npm:10.5.1, jss@npm:^10.5.1": - version: 10.5.1 - resolution: "jss@npm:10.5.1" - dependencies: - "@babel/runtime": ^7.3.1 - csstype: ^3.0.2 - indefinite-observable: ^2.0.1 - is-in-browser: ^1.1.3 - tiny-warning: ^1.0.2 - checksum: e549c26ab021c1cd0df1b54a7c27bcef2e54c6384eebcf73a21df1a4fde5e6ce26309b98080aaae00f5fabc8251e9b6a7449a235991d10416e113fb0b54b3b51 + jss: 10.9.1 + checksum: 09492cb67d40454ccf8e403350671e052c7600d69b43bb71cae5fb103dfeb643dc81200321b1bb76b287bc4d0a31e68f7968a2b2f430adf9e78c2bdf58070212 languageName: node linkType: hard -"jss@npm:10.9.0, jss@npm:^10.8.2": - version: 10.9.0 - resolution: "jss@npm:10.9.0" +"jss@npm:10.9.1, jss@npm:^10.5.1, jss@npm:^10.8.2": + version: 10.9.1 + resolution: "jss@npm:10.9.1" dependencies: "@babel/runtime": ^7.3.1 csstype: ^3.0.2 is-in-browser: ^1.1.3 tiny-warning: ^1.0.2 - checksum: 29d3f133afc45ac8b392c1cda697ca0dc62b8a8b1f6a445054b9801f93c6beb95af81ef9c2f7c1583f99517234229adfc16067d163a29334a1d072cbd25df1b7 + checksum: 63f34dd85d4b7801b2655dd8d24781e0af576bc3b1f29cb1303fd084a45a0c77c102ddb18b16ba46cfadc8da3d0496d84e5e28df48a241e48b29e5591dfa2d4d languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.1.0": - version: 3.2.0 - resolution: "jsx-ast-utils@npm:3.2.0" +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.2": + version: 3.3.2 + resolution: "jsx-ast-utils@npm:3.3.2" dependencies: - array-includes: ^3.1.2 + array-includes: ^3.1.5 object.assign: ^4.1.2 - checksum: 9f695c480212868557c5e3cd01082857e101768dc75cb904335d1a805e972d6203baa58ae0b786e7afeab1e8fdb98242fccf22dbc1734595a65845172743877c + checksum: 61d4596d44480afc03ae0a7ebb272aa6603dc4c3645805dea0fc8d9f0693542cd0959f3ba7c0c9b16c13dd5a900c7c4310108bada273132a8355efe3fed22064 languageName: node linkType: hard "jszip@npm:^3.6.0": - version: 3.7.1 - resolution: "jszip@npm:3.7.1" + version: 3.10.0 + resolution: "jszip@npm:3.10.0" dependencies: lie: ~3.3.0 pako: ~1.0.2 readable-stream: ~2.3.6 - set-immediate-shim: ~1.0.1 - checksum: 67d737a82b294cc102e7451e32d5acbbab29860399be460cae598084327e6f2ea0c9bca2d3dad701da6a75ddf77f34c6a1dd7db0c3d5c0fec5998b7e56d6d59d + setimmediate: ^1.0.5 + checksum: 80cc8e0e466467e9e21447f604f9262509b29a9c65170a3fee415ac0a403beb370840973cdc17f75d2b92ab3e60685f94d267706510d46bed2dd14858a38e459 languageName: node linkType: hard @@ -16923,13 +14730,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"killable@npm:^1.0.1": - version: 1.0.1 - resolution: "killable@npm:1.0.1" - checksum: 911a85c6e390c19d72c4e3149347cf44042cbd7d18c3c6c5e4f706fdde6e0ed532473392e282c7ef27f518407e6cb7d2a0e71a2ae8d8d8f8ffdb68891a29a68a - languageName: node - linkType: hard - "kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": version: 3.2.2 resolution: "kind-of@npm:3.2.2" @@ -16969,17 +14769,17 @@ fsevents@^1.2.7: languageName: node linkType: hard -"klona@npm:^2.0.4": - version: 2.0.4 - resolution: "klona@npm:2.0.4" - checksum: abc6690882e0e6f5cf70451b79a6de95a27be56ced283d1d6d7e610db7d824e5da1f142f8073466dfbcfa887ee001b98f6dcfbcf02759828ba356b90202a74c5 +"klona@npm:^2.0.4, klona@npm:^2.0.5": + version: 2.0.5 + resolution: "klona@npm:2.0.5" + checksum: 8c976126ea252b766e648a4866e1bccff9d3b08432474ad80c559f6c7265cf7caede2498d463754d8c88c4759895edd8210c85c0d3155e6aae4968362889466f languageName: node linkType: hard "language-subtag-registry@npm:~0.3.2": - version: 0.3.21 - resolution: "language-subtag-registry@npm:0.3.21" - checksum: 5f794525a5bfcefeea155a681af1c03365b60e115b688952a53c6e0b9532b09163f57f1fcb69d6150e0e805ec0350644a4cb35da98f4902562915be9f89572a1 + version: 0.3.22 + resolution: "language-subtag-registry@npm:0.3.22" + checksum: 8ab70a7e0e055fe977ac16ea4c261faec7205ac43db5e806f72e5b59606939a3b972c4bd1e10e323b35d6ffa97c3e1c4c99f6553069dad2dfdd22020fa3eb56a languageName: node linkType: hard @@ -16992,16 +14792,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"last-call-webpack-plugin@npm:^3.0.0": - version: 3.0.0 - resolution: "last-call-webpack-plugin@npm:3.0.0" - dependencies: - lodash: ^4.17.5 - webpack-sources: ^1.1.0 - checksum: 23c25a2397c9f75b769b5238ab798873e857baf2363d471d186c9f05212457943f0de16181f33aeecbfd42116b72a0f343fe8910d5d8010f24956d95d536c743 - languageName: node - linkType: hard - "leaflet-draw@npm:^1.0.4": version: 1.0.4 resolution: "leaflet-draw@npm:1.0.4" @@ -17052,138 +14842,75 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lines-and-columns@npm:^1.1.6": - version: 1.1.6 - resolution: "lines-and-columns@npm:1.1.6" - checksum: 198a5436b1fa5cf703bae719c01c686b076f0ad7e1aafd95a58d626cabff302dc0414822126f2f80b58a8c3d66cda8a7b6da064f27130f87e1d3506d6dfd0d68 - languageName: node - linkType: hard - -"lmdb-darwin-arm64@npm:2.3.10": - version: 2.3.10 - resolution: "lmdb-darwin-arm64@npm:2.3.10" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"lmdb-darwin-x64@npm:2.3.10": - version: 2.3.10 - resolution: "lmdb-darwin-x64@npm:2.3.10" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"lmdb-linux-arm64@npm:2.3.10": - version: 2.3.10 - resolution: "lmdb-linux-arm64@npm:2.3.10" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"lmdb-linux-arm@npm:2.3.10": - version: 2.3.10 - resolution: "lmdb-linux-arm@npm:2.3.10" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"lmdb-linux-x64@npm:2.3.10": - version: 2.3.10 - resolution: "lmdb-linux-x64@npm:2.3.10" - conditions: os=linux & cpu=x64 +"lilconfig@npm:^2.0.3, lilconfig@npm:^2.0.5": + version: 2.0.6 + resolution: "lilconfig@npm:2.0.6" + checksum: 40a3cd72f103b1be5975f2ac1850810b61d4053e20ab09be8d3aeddfe042187e1ba70b4651a7e70f95efa1642e7dc8b2ae395b317b7d7753b241b43cef7c0f7d languageName: node linkType: hard -"lmdb-win32-x64@npm:2.3.10": - version: 2.3.10 - resolution: "lmdb-win32-x64@npm:2.3.10" - conditions: os=win32 & cpu=x64 +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 languageName: node linkType: hard -"lmdb@npm:2.3.10": - version: 2.3.10 - resolution: "lmdb@npm:2.3.10" - dependencies: - lmdb-darwin-arm64: 2.3.10 - lmdb-darwin-x64: 2.3.10 - lmdb-linux-arm: 2.3.10 - lmdb-linux-arm64: 2.3.10 - lmdb-linux-x64: 2.3.10 - lmdb-win32-x64: 2.3.10 +"lmdb@npm:2.5.2": + version: 2.5.2 + resolution: "lmdb@npm:2.5.2" + dependencies: + "@lmdb/lmdb-darwin-arm64": 2.5.2 + "@lmdb/lmdb-darwin-x64": 2.5.2 + "@lmdb/lmdb-linux-arm": 2.5.2 + "@lmdb/lmdb-linux-arm64": 2.5.2 + "@lmdb/lmdb-linux-x64": 2.5.2 + "@lmdb/lmdb-win32-x64": 2.5.2 msgpackr: ^1.5.4 - nan: ^2.14.2 node-addon-api: ^4.3.0 node-gyp: latest - node-gyp-build-optional-packages: ^4.3.2 + node-gyp-build-optional-packages: 5.0.3 ordered-binary: ^1.2.4 weak-lru-cache: ^1.2.2 dependenciesMeta: - lmdb-darwin-arm64: + "@lmdb/lmdb-darwin-arm64": optional: true - lmdb-darwin-x64: + "@lmdb/lmdb-darwin-x64": optional: true - lmdb-linux-arm: + "@lmdb/lmdb-linux-arm": optional: true - lmdb-linux-arm64: + "@lmdb/lmdb-linux-arm64": optional: true - lmdb-linux-x64: + "@lmdb/lmdb-linux-x64": optional: true - lmdb-win32-x64: + "@lmdb/lmdb-win32-x64": optional: true - checksum: 761dfb585e9b3e32f78f77a8ee61b149cb4509c88578205fd4d19236ae14f825c46a3db65a37d6e4f49532b18ab4c147dd0e7fb3d4d9e4f0ac493e9c631ca516 - languageName: node - linkType: hard - -"load-json-file@npm:^2.0.0": - version: 2.0.0 - resolution: "load-json-file@npm:2.0.0" - dependencies: - graceful-fs: ^4.1.2 - parse-json: ^2.2.0 - pify: ^2.0.0 - strip-bom: ^3.0.0 - checksum: 7f212bbf08a8c9aab087ead07aa220d1f43d83ec1c4e475a00a8d9bf3014eb29ebe901db8554627dcfb70184c274d05b7379f1e9678fe8297ae74dc495212049 - languageName: node - linkType: hard - -"loader-runner@npm:^2.4.0": - version: 2.4.0 - resolution: "loader-runner@npm:2.4.0" - checksum: e27eebbca5347a03f6b1d1bce5b2736a4984fb742f872c0a4d68e62de10f7637613e79a464d3bcd77c246d9c70fcac112bb4a3123010eb527e8b203a614647db + checksum: 3362dc2b03c6fbdfc02291001007e4096767476e65fbf8d5e332ef473946a0d108319748ef5974ebb84cf6ffa4015c039920f130bcc09c03a751b03a9fd93dff languageName: node linkType: hard -"loader-utils@npm:1.2.3": - version: 1.2.3 - resolution: "loader-utils@npm:1.2.3" - dependencies: - big.js: ^5.2.2 - emojis-list: ^2.0.0 - json5: ^1.0.1 - checksum: 385407fc2683b6d664276fd41df962296de4a15030bb24389de77b175570c3b56bd896869376ba14cf8b33a9e257e17a91d395739ba7e23b5b68a8749a41df7e +"loader-runner@npm:^4.2.0": + version: 4.3.0 + resolution: "loader-runner@npm:4.3.0" + checksum: a90e00dee9a16be118ea43fec3192d0b491fe03a32ed48a4132eb61d498f5536a03a1315531c19d284392a8726a4ecad71d82044c28d7f22ef62e029bf761569 languageName: node linkType: hard -"loader-utils@npm:2.0.0, loader-utils@npm:^2.0.0": - version: 2.0.0 - resolution: "loader-utils@npm:2.0.0" +"loader-utils@npm:^2.0.0": + version: 2.0.2 + resolution: "loader-utils@npm:2.0.2" dependencies: big.js: ^5.2.2 emojis-list: ^3.0.0 json5: ^2.1.2 - checksum: 6856423131b50b6f5f259da36f498cfd7fc3c3f8bb17777cf87fdd9159e797d4ba4288d9a96415fd8da62c2906960e88f74711dee72d03a9003bddcd0d364a51 + checksum: 9078d1ed47cadc57f4c6ddbdb2add324ee7da544cea41de3b7f1128e8108fcd41cd3443a85b7ee8d7d8ac439148aa221922774efe4cf87506d4fb054d5889303 languageName: node linkType: hard -"loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3, loader-utils@npm:^1.4.0": - version: 1.4.0 - resolution: "loader-utils@npm:1.4.0" - dependencies: - big.js: ^5.2.2 - emojis-list: ^3.0.0 - json5: ^1.0.1 - checksum: d150b15e7a42ac47d935c8b484b79e44ff6ab4c75df7cc4cb9093350cf014ec0b17bdb60c5d6f91a37b8b218bd63b973e263c65944f58ca2573e402b9a27e717 +"loader-utils@npm:^3.2.0": + version: 3.2.0 + resolution: "loader-utils@npm:3.2.0" + checksum: c7b9a8dc4b3bc19e9ef563c48e3a18ea9f8bb2da1ad38a12e4b88358cfba5f148a7baf12d78fe78ffcb718ce1e062ab31fcf5c148459f1247a672a4213471e80 languageName: node linkType: hard @@ -17216,12 +14943,21 @@ fsevents@^1.2.7: languageName: node linkType: hard +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: ^5.0.0 + checksum: 72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a + languageName: node + linkType: hard + "locate-path@npm:^7.1.0": - version: 7.1.0 - resolution: "locate-path@npm:7.1.0" + version: 7.1.1 + resolution: "locate-path@npm:7.1.1" dependencies: p-locate: ^6.0.0 - checksum: 17d5eb6c04ff31856f8a6ae4ee3e3091d41485657428d1a91bd5f66aa1fcd7a90db3de6e8ffb905c2ff1a0014b77509b98dd6410424505efc08b1726d50bcbfc + checksum: 1d88af5b512d6e6398026252e17382907126683ab09ae5d6b8918d0bc72ca2642e1ad6e2fe635c5920840e369618e5d748c08deb57ba537fdd3f78e87ca993e0 languageName: node linkType: hard @@ -17232,13 +14968,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lodash._reinterpolate@npm:^3.0.0": - version: 3.0.0 - resolution: "lodash._reinterpolate@npm:3.0.0" - checksum: 06d2d5f33169604fa5e9f27b6067ed9fb85d51a84202a656901e5ffb63b426781a601508466f039c720af111b0c685d12f1a5c14ff8df5d5f27e491e562784b2 - languageName: node - linkType: hard - "lodash.camelcase@npm:^4.3.0": version: 4.3.0 resolution: "lodash.camelcase@npm:4.3.0" @@ -17281,22 +15010,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lodash.template@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.template@npm:4.5.0" - dependencies: - lodash._reinterpolate: ^3.0.0 - lodash.templatesettings: ^4.0.0 - checksum: ca64e5f07b6646c9d3dbc0fe3aaa995cb227c4918abd1cef7a9024cd9c924f2fa389a0ec4296aa6634667e029bc81d4bbdb8efbfde11df76d66085e6c529b450 - languageName: node - linkType: hard - -"lodash.templatesettings@npm:^4.0.0": - version: 4.2.0 - resolution: "lodash.templatesettings@npm:4.2.0" - dependencies: - lodash._reinterpolate: ^3.0.0 - checksum: 863e025478b092997e11a04e9d9e735875eeff1ffcd6c61742aa8272e3c2cddc89ce795eb9726c4e74cef5991f722897ff37df7738a125895f23fc7d12a7bb59 +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 languageName: node linkType: hard @@ -17307,7 +15024,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:>=3.5 <5, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.17.5": +"lodash@npm:4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -17323,13 +15040,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"loglevel@npm:^1.6.8": - version: 1.7.1 - resolution: "loglevel@npm:1.7.1" - checksum: 715a4ae69ad75d4d3bd04e4f6e9edbc4cae4db34d1e7f54f426d8cebe2dd9fef891ca3789e839d927cdbc5fad73d789e998db0af2f11f4c40219c272bc923823 - languageName: node - linkType: hard - "long@npm:^4.0.0": version: 4.0.0 resolution: "long@npm:4.0.0" @@ -17337,6 +15047,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"long@npm:^5.0.0": + version: 5.2.0 + resolution: "long@npm:5.2.0" + checksum: 37aa4e67b9c3eebc6d9d675adcc9d06f06059ca268922a71273de389746bf07f0ff282f9e604d17fdf84c4149099b44e936ea2b621a6c4759a216621afa97efd + languageName: node + linkType: hard + "loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -17367,15 +15084,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: ^3.0.2 - checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb - languageName: node - linkType: hard - "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -17385,6 +15093,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"lru-cache@npm:^7.7.1": + version: 7.13.1 + resolution: "lru-cache@npm:7.13.1" + checksum: f53c7dd098a7afd6342b23f7182629edff206c7665de79445a7f5455440e768a4d1c6ec52e1a16175580c71535c9437dfb6f6bc22ca1a0e4a7454a97cde87329 + languageName: node + linkType: hard + "magic-string@npm:^0.22.4": version: 0.22.5 resolution: "magic-string@npm:0.22.5" @@ -17394,26 +15109,16 @@ fsevents@^1.2.7: languageName: node linkType: hard -"magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": - version: 0.25.7 - resolution: "magic-string@npm:0.25.7" - dependencies: - sourcemap-codec: ^1.4.4 - checksum: 727a1fb70f9610304fe384f1df0251eb7d1d9dd779c07ef1225690361b71b216f26f5d934bfb11c919b5b0e7ba50f6240c823a6f2e44cfd33d4a07d7747ca829 - languageName: node - linkType: hard - -"make-dir@npm:^2.0.0": - version: 2.1.0 - resolution: "make-dir@npm:2.1.0" +"magic-string@npm:^0.25.0, magic-string@npm:^0.25.3, magic-string@npm:^0.25.7": + version: 0.25.9 + resolution: "magic-string@npm:0.25.9" dependencies: - pify: ^4.0.1 - semver: ^5.6.0 - checksum: 043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab + sourcemap-codec: ^1.4.8 + checksum: 9a0e55a15c7303fc360f9572a71cffba1f61451bc92c5602b1206c9d17f492403bf96f946dfce7483e66822d6b74607262e24392e87b0ac27b786e69a40e9b1a languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2": +"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" dependencies: @@ -17422,12 +15127,36 @@ fsevents@^1.2.7: languageName: node linkType: hard -"makeerror@npm:1.0.x": - version: 1.0.11 - resolution: "makeerror@npm:1.0.11" +"make-fetch-happen@npm:^10.0.3": + version: 10.2.0 + resolution: "make-fetch-happen@npm:10.2.0" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.1.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^9.0.0 + checksum: 2f6c294179972f56fab40fd8618f07841e06550692bb78f6da16e7afaa9dca78c345b08cf44a77a8907ef3948e4dc77e93eb7492b8381f1217d7ac057a7522f8 + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" dependencies: - tmpl: 1.0.x - checksum: 9a62ec2d9648c5329fdc4bc7d779a7305f32b1e55422a4f14244bc890bb43287fe013eb8d965e92a0cf4c443f3e59265b1fc3125eaedb0c2361e28b1a8de565d + tmpl: 1.0.5 + checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 languageName: node linkType: hard @@ -17498,9 +15227,9 @@ fsevents@^1.2.7: linkType: hard "math-expression-evaluator@npm:^1.2.14": - version: 1.3.7 - resolution: "math-expression-evaluator@npm:1.3.7" - checksum: a569227dfd72d5b35a02823f793659a0a7d5b84cca81d5ca05b645ea07a661053bb7f065bc3c0eb8c66794e356902c690b09e2c3af74ca3270dd27698c69c705 + version: 1.4.0 + resolution: "math-expression-evaluator@npm:1.4.0" + checksum: 451c7b734ccb02759980e03f10c63fb3888b6af0253582ae38e8ca7ef037e15b9b2b82ef3476e79ed257694e8eacc9156b44379d3153de8e6c071a4664f70f93 languageName: node linkType: hard @@ -17543,23 +15272,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"memory-fs@npm:^0.4.1": - version: 0.4.1 - resolution: "memory-fs@npm:0.4.1" - dependencies: - errno: ^0.1.3 - readable-stream: ^2.0.1 - checksum: 6db6c8682eff836664ca9b5b6052ae38d21713dda9d0ef4700fa5c0599a8bc16b2093bee75ac3dedbe59fb2222d368f25bafaa62ba143c41051359cbcb005044 - languageName: node - linkType: hard - -"memory-fs@npm:^0.5.0": - version: 0.5.0 - resolution: "memory-fs@npm:0.5.0" +"memfs@npm:^3.1.2, memfs@npm:^3.4.3": + version: 3.4.7 + resolution: "memfs@npm:3.4.7" dependencies: - errno: ^0.1.3 - readable-stream: ^2.0.1 - checksum: a9f25b0a8ecfb7324277393f19ef68e6ba53b9e6e4b526bbf2ba23055c5440fbf61acc7bf66bfd980e9eb4951a4790f6f777a9a3abd36603f22c87e8a64d3d6b + fs-monkey: ^1.0.3 + checksum: fab88266dc576dc4999e38bdf531d703fb798affac2e0dd3fc17470878486844027b2766008ba80c0103b443f52cf9068a5c00f4e1ecf04106f4b29c11855822 languageName: node linkType: hard @@ -17600,13 +15318,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"microevent.ts@npm:~0.1.1": - version: 0.1.1 - resolution: "microevent.ts@npm:0.1.1" - checksum: 7874fcdb3f0dfa4e996d3ea63b3b9882874ae7d22be28d51ae20da24c712e9e28e5011d988095c27dd2b32e37c0ad7425342a71b89adb8e808ec7194fadf4a7a - languageName: node - linkType: hard - "micromatch@npm:^3.0.4, micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": version: 3.1.10 resolution: "micromatch@npm:3.1.10" @@ -17628,23 +15339,13 @@ fsevents@^1.2.7: languageName: node linkType: hard -"micromatch@npm:^4.0.2": - version: 4.0.2 - resolution: "micromatch@npm:4.0.2" - dependencies: - braces: ^3.0.1 - picomatch: ^2.0.5 - checksum: 39590a96d9ffad21f0afac044d0a5af4f33715a16fdd82c53a01c8f5ff6f70832a31b53e52972dac3deff8bf9f0bed0207d1c34e54ab3306a5e4c4efd5f7d249 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4": - version: 4.0.4 - resolution: "micromatch@npm:4.0.4" +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" dependencies: - braces: ^3.0.1 - picomatch: ^2.2.3 - checksum: ef3d1c88e79e0a68b0e94a03137676f3324ac18a908c245a9e5936f838079fcc108ac7170a5fadc265a9c2596963462e402841406bda1a4bb7b68805601d631c + braces: ^3.0.2 + picomatch: ^2.3.1 + checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc languageName: node linkType: hard @@ -17660,37 +15361,28 @@ fsevents@^1.2.7: languageName: node linkType: hard -"mime-db@npm:1.46.0, mime-db@npm:>= 1.43.0 < 2": - version: 1.46.0 - resolution: "mime-db@npm:1.46.0" - checksum: 4d2412c64c120af322a2c58f26319bc375a38238e233b819a5cead16aa7e24bea812c94ffe39b1caec9fc7acdf36d126feb7e9f87b5f8fae59a435ec78bd7397 +"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24": - version: 2.1.29 - resolution: "mime-types@npm:2.1.29" +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" dependencies: - mime-db: 1.46.0 - checksum: 7be1e8e46fde2c82bf3a2ed0d51cfe2f1a5ad3198e8d784c60917090ffe4ca4cc846456d99521d08d55d28fff41348df81e285c04d3cbad2b3d3d9f5374e795e - languageName: node - linkType: hard - -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + mime-db: 1.52.0 + checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 languageName: node linkType: hard -"mime@npm:^2.4.4": - version: 2.5.2 - resolution: "mime@npm:2.5.2" +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" bin: mime: cli.js - checksum: dd3c93d433d41a09f6a1cfa969b653b769899f3bd573e7bfcea33bdc8b0cc4eba57daa2f95937369c2bd2b6d39d62389b11a4309fe40d1d3a1b736afdedad0ff + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 languageName: node linkType: hard @@ -17721,17 +15413,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"mini-css-extract-plugin@npm:0.11.3": - version: 0.11.3 - resolution: "mini-css-extract-plugin@npm:0.11.3" +"mini-css-extract-plugin@npm:^2.4.5": + version: 2.6.1 + resolution: "mini-css-extract-plugin@npm:2.6.1" dependencies: - loader-utils: ^1.1.0 - normalize-url: 1.9.1 - schema-utils: ^1.0.0 - webpack-sources: ^1.1.0 + schema-utils: ^4.0.0 peerDependencies: - webpack: ^4.4.0 || ^5.0.0 - checksum: 14fbdf1338fe0264a2f7f87b3fc640809b7443f6434c6532bdbec1c5ab113502325fec958e9cf0667c3790087dc1e83c02e1f4d7463c10c956b0d6ebe56ea99e + webpack: ^5.0.0 + checksum: df60840404878c4832b4104799fd29c5a89b06b1e377956c8d4a5729efe0ef301a52e5087d6f383871df5e69a8445922a0ae635c11abf412d7645a7096d0e973 languageName: node linkType: hard @@ -17749,7 +15438,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minimatch@npm:3.0.4, minimatch@npm:^3.0.4": +"minimatch@npm:3.0.4": version: 3.0.4 resolution: "minimatch@npm:3.0.4" dependencies: @@ -17758,10 +15447,28 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5": - version: 1.2.5 - resolution: "minimist@npm:1.2.5" - checksum: 86706ce5b36c16bfc35c5fe3dbb01d5acdc9a22f2b6cc810b6680656a1d2c0e44a0159c9a3ba51fb072bb5c203e49e10b51dcd0eec39c481f4c42086719bae52 +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1": + version: 5.1.0 + resolution: "minimatch@npm:5.1.0" + dependencies: + brace-expansion: ^2.0.1 + checksum: 15ce53d31a06361e8b7a629501b5c75491bc2b59712d53e802b1987121d91b433d73fcc5be92974fde66b2b51d8fb28d75a9ae900d249feb792bb1ba2a4f0a90 + languageName: node + linkType: hard + +"minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": + version: 1.2.6 + resolution: "minimist@npm:1.2.6" + checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb languageName: node linkType: hard @@ -17774,6 +15481,21 @@ fsevents@^1.2.7: languageName: node linkType: hard +"minipass-fetch@npm:^2.0.3": + version: 2.1.0 + resolution: "minipass-fetch@npm:2.1.0" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f + languageName: node + linkType: hard + "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -17783,7 +15505,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minipass-pipeline@npm:^1.2.2": +"minipass-pipeline@npm:^1.2.4": version: 1.2.4 resolution: "minipass-pipeline@npm:1.2.4" dependencies: @@ -17792,16 +15514,25 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1": - version: 3.1.3 - resolution: "minipass@npm:3.1.3" +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.3.5 + resolution: "minipass@npm:3.3.5" dependencies: yallist: ^4.0.0 - checksum: 74b623c1f996caafa66772301b66a1b634b20270f0d1a731ef86195d5a1a5f9984a773a1e88a6cecfd264d6c471c4c0fc8574cd96488f01c8f74c0b600021e55 + checksum: f89f02bcaa0e0e4bb4c44ec796008e69fbca62db0aba6ead1bc57d25bdaefdf42102130f4f9ecb7d9c6b6cd35ff7b0c7b97d001d3435da8e629fb68af3aea57e languageName: node linkType: hard -"minizlib@npm:^2.1.1": +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" dependencies: @@ -17811,24 +15542,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"mississippi@npm:^3.0.0": - version: 3.0.0 - resolution: "mississippi@npm:3.0.0" - dependencies: - concat-stream: ^1.5.0 - duplexify: ^3.4.2 - end-of-stream: ^1.1.0 - flush-write-stream: ^1.0.0 - from2: ^2.1.0 - parallel-transform: ^1.1.0 - pump: ^3.0.0 - pumpify: ^1.3.3 - stream-each: ^1.1.0 - through2: ^2.0.0 - checksum: 84b3d9889621d293f9a596bafe60df863b330c88fc19215ced8f603c605fc7e1bf06f8e036edf301bd630a03fd5d9d7d23d5d6b9a4802c30ca864d800f0bd9f8 - languageName: node - linkType: hard - "mixin-deep@npm:^1.2.0": version: 1.3.2 resolution: "mixin-deep@npm:1.3.2" @@ -17839,14 +15552,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1": - version: 0.5.5 - resolution: "mkdirp@npm:0.5.5" +"mkdirp@npm:^0.5.1, mkdirp@npm:~0.5.1": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" dependencies: - minimist: ^1.2.5 + minimist: ^1.2.6 bin: mkdirp: bin/cmd.js - checksum: 3bce20ea525f9477befe458ab85284b0b66c8dc3812f94155af07c827175948cdd8114852ac6c6d82009b13c1048c37f6d98743eb019651ee25c39acc8aabe7d + checksum: 0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2 languageName: node linkType: hard @@ -17893,20 +15606,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"move-concurrently@npm:^1.0.1": - version: 1.0.1 - resolution: "move-concurrently@npm:1.0.1" - dependencies: - aproba: ^1.1.1 - copy-concurrently: ^1.0.0 - fs-write-stream-atomic: ^1.0.8 - mkdirp: ^0.5.1 - rimraf: ^2.5.4 - run-queue: ^1.0.3 - checksum: 4ea3296c150b09e798177847f673eb5783f8ca417ba806668d2c631739f653e1a735f19fb9b6e2f5e25ee2e4c0a6224732237a8e4f84c764e99d7462d258209e - languageName: node - linkType: hard - "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -17914,13 +15613,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"ms@npm:2.1.1": - version: 2.1.1 - resolution: "ms@npm:2.1.1" - checksum: 0078a23cd916a9a7435c413caa14c57d4b4f6e2470e0ab554b6964163c8a4436448ac7ae020e883685475da6b6796cc396b670f579cb275db288a21e3e57721e - languageName: node - linkType: hard - "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -17928,52 +15620,63 @@ fsevents@^1.2.7: languageName: node linkType: hard -"ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d languageName: node linkType: hard -"msgpackr-extract@npm:^1.0.14": - version: 1.0.16 - resolution: "msgpackr-extract@npm:1.0.16" - dependencies: - nan: ^2.14.2 +"msgpackr-extract@npm:^2.0.2": + version: 2.0.2 + resolution: "msgpackr-extract@npm:2.0.2" + dependencies: + "@msgpackr-extract/msgpackr-extract-darwin-arm64": 2.0.2 + "@msgpackr-extract/msgpackr-extract-darwin-x64": 2.0.2 + "@msgpackr-extract/msgpackr-extract-linux-arm": 2.0.2 + "@msgpackr-extract/msgpackr-extract-linux-arm64": 2.0.2 + "@msgpackr-extract/msgpackr-extract-linux-x64": 2.0.2 + "@msgpackr-extract/msgpackr-extract-win32-x64": 2.0.2 node-gyp: latest - node-gyp-build: ^4.2.3 - checksum: 92579bcecf1a0bce090165d46e18338850b1cfef9e5e4cd91e8d95fe01516479d96d09dc1bbb344083950669b4e6b3c8193a1f8e510a0cd7a1634d4a44c4c6b2 + node-gyp-build-optional-packages: 5.0.2 + dependenciesMeta: + "@msgpackr-extract/msgpackr-extract-darwin-arm64": + optional: true + "@msgpackr-extract/msgpackr-extract-darwin-x64": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-arm": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-arm64": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-x64": + optional: true + "@msgpackr-extract/msgpackr-extract-win32-x64": + optional: true + checksum: 6b24c0e89eae881012484787082a50290f78d2dc69df28c28838c65f9cda3f585272c73b9ebbf386f9958c16a9956f0cabddf2ccfc1229ee612a6b88e9519c68 languageName: node linkType: hard "msgpackr@npm:^1.5.4": - version: 1.5.4 - resolution: "msgpackr@npm:1.5.4" + version: 1.6.1 + resolution: "msgpackr@npm:1.6.1" dependencies: - msgpackr-extract: ^1.0.14 + msgpackr-extract: ^2.0.2 dependenciesMeta: msgpackr-extract: optional: true - checksum: 7b2601ab781d01c7c8dc1c9c23df881362d53403239a020706381a9c1f5c27163e5851600022aac95c4c99676cbb8e96ce47466d579bb6d03d4c98854290935f - languageName: node - linkType: hard - -"multicast-dns-service-types@npm:^1.1.0": - version: 1.1.0 - resolution: "multicast-dns-service-types@npm:1.1.0" - checksum: 0979fca1cce85484d256e4db3af591d941b41a61f134da3607213d2624c12ed5b8a246565cb19a9b3cb542819e8fbc71a90b07e77023ee6a9515540fe1d371f7 + checksum: 1c34b1c314e8db2bcb6debb10034bd965f6333812d7a29248745af8e0204cc571484e48bbc09b6cef4e244523acb32db5e9e2637aafbebf03d97bb3898657800 languageName: node linkType: hard -"multicast-dns@npm:^6.0.1": - version: 6.2.3 - resolution: "multicast-dns@npm:6.2.3" +"multicast-dns@npm:^7.2.5": + version: 7.2.5 + resolution: "multicast-dns@npm:7.2.5" dependencies: - dns-packet: ^1.3.1 + dns-packet: ^5.2.2 thunky: ^1.0.2 bin: multicast-dns: cli.js - checksum: f515b49ca964429ab48a4ac8041fcf969c927aeb49ab65288bd982e52c849a870fc3b03565780b0d194a1a02da8821f28b6425e48e95b8107bc9fcc92f571a6f + checksum: 00b8a57df152d4cd0297946320a94b7c3cdf75a46a2247f32f958a8927dea42958177f9b7fdae69fab2e4e033fb3416881af1f5e9055a3e1542888767139e2fb languageName: node linkType: hard @@ -17994,29 +15697,20 @@ fsevents@^1.2.7: linkType: hard "nan@npm:^2.12.1": - version: 2.14.2 - resolution: "nan@npm:2.14.2" - dependencies: - node-gyp: latest - checksum: 7a269139b66a7d37470effb7fb36a8de8cc3b5ffba6e40bb8e0545307911fe5ebf94797ec62f655ecde79c237d169899f8bd28256c66a32cbc8284faaf94c3f4 - languageName: node - linkType: hard - -"nan@npm:^2.14.2": - version: 2.15.0 - resolution: "nan@npm:2.15.0" + version: 2.16.0 + resolution: "nan@npm:2.16.0" dependencies: node-gyp: latest - checksum: 33e1bb4dfca447fe37d4bb5889be55de154828632c8d38646db67293a21afd61ed9909cdf1b886214a64707d935926c4e60e2b09de9edfc2ad58de31d6ce8f39 + checksum: cb16937273ea55b01ea47df244094c12297ce6b29b36e845d349f1f7c268b8d7c5abd126a102c5678a1e1afd0d36bba35ea0cc959e364928ce60561c9306064a languageName: node linkType: hard -"nanoid@npm:^3.1.22": - version: 3.3.1 - resolution: "nanoid@npm:3.3.1" +"nanoid@npm:^3.3.4": + version: 3.3.4 + resolution: "nanoid@npm:3.3.4" bin: nanoid: bin/nanoid.cjs - checksum: 4ef0969e1bbe866fc223eb32276cbccb0961900bfe79104fa5abe34361979dead8d0e061410a5c03bc3d47455685adf32c09d6f27790f4a6898fb51f7df7ec86 + checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c languageName: node linkType: hard @@ -18046,15 +15740,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"native-url@npm:^0.2.6": - version: 0.2.6 - resolution: "native-url@npm:0.2.6" - dependencies: - querystring: ^0.2.0 - checksum: d56a67b32e635c4944985f551a9976dfe609a3947810791c50f5c37cff1d9dd5fe040184989d104be8752582b79dc4e726f2a9c075d691ecce86b31ae9387f1b - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -18075,24 +15760,24 @@ fsevents@^1.2.7: languageName: node linkType: hard -"negotiator@npm:0.6.2": - version: 0.6.2 - resolution: "negotiator@npm:0.6.2" - checksum: dfddaff6c06792f1c4c3809e29a427b8daef8cd437c83b08dd51d7ee11bbd1c29d9512d66b801144d6c98e910ffd8723f2432e0cbf8b18d41d2a09599c975ab3 +"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 languageName: node linkType: hard -"neo-async@npm:^2.5.0, neo-async@npm:^2.6.1, neo-async@npm:^2.6.2": +"neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 languageName: node linkType: hard -"next-tick@npm:~1.0.0": - version: 1.0.0 - resolution: "next-tick@npm:1.0.0" - checksum: 83fcb3d4f8d9380210b1c2b8a610463602d80283f0c0c8571c1688e1ad6cbf3a16b345f5bb7212617d4898bedcfa10dff327dc09ec20a112a5bf43a0271375fb +"next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 83b5cf36027a53ee6d8b7f9c0782f2ba87f4858d977342bfc3c20c21629290a2111f8374d13a81221179603ffc4364f38374b5655d17b6a8f8a8c77bdea4fe8b languageName: node linkType: hard @@ -18165,13 +15850,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"node-forge@npm:^0.10.0": - version: 0.10.0 - resolution: "node-forge@npm:0.10.0" - checksum: 5aa6dc9922e424a20ef101d2f517418e2bc9cfc0255dd22e0701c0fad1568445f510ee67f6f3fcdf085812c4ca1b847b8ba45683b34776828e41f5c1794e42e1 - languageName: node - linkType: hard - "node-forge@npm:^0.7.1": version: 0.7.6 resolution: "node-forge@npm:0.7.6" @@ -18179,56 +15857,63 @@ fsevents@^1.2.7: languageName: node linkType: hard -"node-gyp-build-optional-packages@npm:^4.3.2": - version: 4.3.5 - resolution: "node-gyp-build-optional-packages@npm:4.3.5" - bin: - node-gyp-build-optional-packages: bin.js - node-gyp-build-optional-packages-optional: optional.js - node-gyp-build-optional-packages-test: build-test.js - checksum: 73420a3ee2697954eb373f1f473ecc23f691c986973cf087eff9a6fb48bec60e16334ec543383104280a3dcded57741259cb6e00fc2024f073265f5b33dae8e2 +"node-forge@npm:^1": + version: 1.3.1 + resolution: "node-forge@npm:1.3.1" + checksum: 08fb072d3d670599c89a1704b3e9c649ff1b998256737f0e06fbd1a5bf41cae4457ccaee32d95052d80bbafd9ffe01284e078c8071f0267dc9744e51c5ed42a9 languageName: node linkType: hard -"node-gyp-build@npm:^4.2.3": - version: 4.2.3 - resolution: "node-gyp-build@npm:4.2.3" +"node-gyp-build-optional-packages@npm:5.0.2": + version: 5.0.2 + resolution: "node-gyp-build-optional-packages@npm:5.0.2" bin: - node-gyp-build: bin.js node-gyp-build-optional: optional.js + node-gyp-build-optional-packages: bin.js node-gyp-build-test: build-test.js - checksum: 450d7b2016290d269343f8a33d13f4d7ccd0a38057af0d71a4d714fe06e6051da50b677a411ea9e240706253c4b53eb41e1b050df72d75d796b2e4d91b2757ae + checksum: 6fca33cd1e297a446dead8a9bc7a48988be30098c219e75e8466d0218dea6b03bf5da092fe20301cb8b72218356c656422f1a64520c37ebc30eb596b012d1ad9 + languageName: node + linkType: hard + +"node-gyp-build-optional-packages@npm:5.0.3": + version: 5.0.3 + resolution: "node-gyp-build-optional-packages@npm:5.0.3" + bin: + node-gyp-build-optional-packages: bin.js + node-gyp-build-optional-packages-optional: optional.js + node-gyp-build-optional-packages-test: build-test.js + checksum: be3f0235925c8361e5bc1a03848f5e24815b0df8aa90bd13f1eac91cd86264bbb8b7689ca6cd083b02c8099c7b54f9fb83066c7bb77c2389dc4eceab921f084f languageName: node linkType: hard "node-gyp-build@npm:^4.3.0": - version: 4.3.0 - resolution: "node-gyp-build@npm:4.3.0" + version: 4.5.0 + resolution: "node-gyp-build@npm:4.5.0" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: 1ecab16d9f275174d516e223f60f65ebe07540347d5c04a6a7d6921060b7f2e3af4f19463d9d1dcedc452e275c2ae71354a99405e55ebd5b655bb2f38025c728 + checksum: d888bae0fb88335f69af1b57a2294a931c5042f36e413d8d364c992c9ebfa0b96ffe773179a5a2c8f04b73856e8634e09cce108dbb9804396d3cc8c5455ff2db languageName: node linkType: hard "node-gyp@npm:latest": - version: 7.1.2 - resolution: "node-gyp@npm:7.1.2" + version: 9.1.0 + resolution: "node-gyp@npm:9.1.0" dependencies: env-paths: ^2.2.0 glob: ^7.1.4 - graceful-fs: ^4.2.3 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 nopt: ^5.0.0 - npmlog: ^4.1.2 - request: ^2.88.2 + npmlog: ^6.0.0 rimraf: ^3.0.2 - semver: ^7.3.2 - tar: ^6.0.2 + semver: ^7.3.5 + tar: ^6.1.2 which: ^2.0.2 bin: node-gyp: bin/node-gyp.js - checksum: 08582720f28f9a9bb64bc9cbe2f58b159c0258326a9c898e4e95d2f2d8002f44602338111ebf980e5aa47a3421e071525b758923b76855d780fab8cc03279ae0 + checksum: 1437fa4a879b5b9010604128e8da8609b57c66034262087539ee04a8b764b8436af2be01bab66f8fc729a3adba2dcc21b10a32b9f552696c3fa8cd657d134fc4 languageName: node linkType: hard @@ -18239,7 +15924,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"node-libs-browser@npm:^2.0.0, node-libs-browser@npm:^2.2.1": +"node-libs-browser@npm:^2.0.0": version: 2.2.1 resolution: "node-libs-browser@npm:2.2.1" dependencies: @@ -18270,59 +15955,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"node-modules-regexp@npm:^1.0.0": - version: 1.0.0 - resolution: "node-modules-regexp@npm:1.0.0" - checksum: 99541903536c5ce552786f0fca7f06b88df595e62e423c21fa86a1674ee2363dad1f7482d1bec20b4bd9fa5f262f88e6e5cb788fc56411113f2fe2e97783a3a7 - languageName: node - linkType: hard - -"node-notifier@npm:^8.0.0": - version: 8.0.1 - resolution: "node-notifier@npm:8.0.1" - dependencies: - growly: ^1.3.0 - is-wsl: ^2.2.0 - semver: ^7.3.2 - shellwords: ^0.1.1 - uuid: ^8.3.0 - which: ^2.0.2 - checksum: b84f24060f9f968c6141fcd16d22125caa42eb048fa5867f63e3411384a0bbc22b82d1a64e242ee9a557aaf6a0542a562713c4467f648dbcffea15d6da08f750 - languageName: node - linkType: hard - -"node-releases@npm:^1.1.61": - version: 1.1.71 - resolution: "node-releases@npm:1.1.71" - checksum: a6ab18069e43d70b811fa7f12b397619f2003f78ac2ed0affa30876880ca3036a191d33679d93baac166afa12a7b1b1716e13f3c82c0f0fa09e2c83db3f91faf - languageName: node - linkType: hard - -"node-releases@npm:^1.1.71": - version: 1.1.77 - resolution: "node-releases@npm:1.1.77" - checksum: eb2fcb45310e7d77f82bfdadeca546a698d258e011f15d88ad9a452a5e838a672ec532906581096ca19c66284a788330c3b09227ffc540e67228730f41b9c2e2 - languageName: node - linkType: hard - -"node-releases@npm:^1.1.75": - version: 1.1.75 - resolution: "node-releases@npm:1.1.75" - checksum: 74028e7d193c9c5986b2f6bb51f4f6405a3f144599bbb19751c81faece52af8eb3f5abac40cbcd11ead44be3f856be125aa71fbb8dd8bf0c7f90caa94179ee51 - languageName: node - linkType: hard - -"node-releases@npm:^2.0.1": - version: 2.0.2 - resolution: "node-releases@npm:2.0.2" - checksum: da858bf86b4d512842379749f5a5e4196ddab05ba18ffcf29f05bf460beceaca927f070f4430bb5046efec18941ddbc85e4c5fdbb83afc28a38dd6069a2f255e - languageName: node - linkType: hard - -"node-releases@npm:^2.0.5": - version: 2.0.5 - resolution: "node-releases@npm:2.0.5" - checksum: e85d949addd19f8827f32569d2be5751e7812ccf6cc47879d49f79b5234ff4982225e39a3929315f96370823b070640fb04d79fc0ddec8b515a969a03493a42f +"node-releases@npm:^2.0.6": + version: 2.0.6 + resolution: "node-releases@npm:2.0.6" + checksum: e86a926dc9fbb3b41b4c4a89d998afdf140e20a4e8dbe6c0a807f7b2948b42ea97d7fd3ad4868041487b6e9ee98409829c6e4d84a734a4215dff060a7fbeb4bf languageName: node linkType: hard @@ -18337,18 +15973,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": - version: 2.5.0 - resolution: "normalize-package-data@npm:2.5.0" - dependencies: - hosted-git-info: ^2.1.4 - resolve: ^1.10.0 - semver: 2 || 3 || 4 || 5 - validate-npm-package-license: ^3.0.1 - checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 - languageName: node - linkType: hard - "normalize-path@npm:^2.1.1": version: 2.1.1 resolution: "normalize-path@npm:2.1.1" @@ -18388,18 +16012,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"normalize-url@npm:1.9.1": - version: 1.9.1 - resolution: "normalize-url@npm:1.9.1" - dependencies: - object-assign: ^4.0.1 - prepend-http: ^1.0.0 - query-string: ^4.1.0 - sort-keys: ^1.0.0 - checksum: 4b03c22bebbb822874ce3b9204367ad1f27c314ae09b13aa201de730b3cf95f00dadf378277a56062322968c95c06e5764d01474d26af8b43d20bc4c8c491f84 - languageName: node - linkType: hard - "normalize-url@npm:^3.0.0": version: 3.3.0 resolution: "normalize-url@npm:3.3.0" @@ -18407,16 +16019,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"npm-run-path@npm:^2.0.0": - version: 2.0.2 - resolution: "npm-run-path@npm:2.0.2" - dependencies: - path-key: ^2.0.0 - checksum: acd5ad81648ba4588ba5a8effb1d98d2b339d31be16826a118d50f182a134ac523172101b82eab1d01cb4c2ba358e857d54cfafd8163a1ffe7bd52100b741125 +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 languageName: node linkType: hard -"npm-run-path@npm:^4.0.0": +"npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" dependencies: @@ -18425,15 +16035,15 @@ fsevents@^1.2.7: languageName: node linkType: hard -"npmlog@npm:^4.1.2": - version: 4.1.2 - resolution: "npmlog@npm:4.1.2" +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" dependencies: - are-we-there-yet: ~1.1.2 - console-control-strings: ~1.1.0 - gauge: ~2.7.3 - set-blocking: ~2.0.0 - checksum: edbda9f95ec20957a892de1839afc6fb735054c3accf6fbefe767bac9a639fd5cea2baeac6bd2bcd50a85cb54924d57d9886c81c7fbc2332c2ddd19227504192 + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a languageName: node linkType: hard @@ -18446,12 +16056,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"nth-check@npm:^2.0.0": - version: 2.0.1 - resolution: "nth-check@npm:2.0.1" +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" dependencies: boolbase: ^1.0.0 - checksum: 5386d035c48438ff304fe687704d93886397349d1bed136de97aeae464caba10e8ffac55a04b215b86b3bc8897f33e0a5aa1045a9d8b2f251ae61b2a3ad3e450 + checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 languageName: node linkType: hard @@ -18462,13 +16072,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"num2fraction@npm:^1.2.2": - version: 1.2.2 - resolution: "num2fraction@npm:1.2.2" - checksum: 1da9c6797b505d3f5b17c7f694c4fa31565bdd5c0e5d669553253aed848a580804cd285280e8a73148bd9628839267daee4967f24b53d4e893e44b563e412635 - languageName: node - linkType: hard - "number-is-integer@npm:^1.0.1": version: 1.0.1 resolution: "number-is-integer@npm:1.0.1" @@ -18478,17 +16081,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"number-is-nan@npm:^1.0.0": - version: 1.0.1 - resolution: "number-is-nan@npm:1.0.1" - checksum: 13656bc9aa771b96cef209ffca31c31a03b507ca6862ba7c3f638a283560620d723d52e626d57892c7fff475f4c36ac07f0600f14544692ff595abff214b9ffb - languageName: node - linkType: hard - "nwsapi@npm:^2.1.3, nwsapi@npm:^2.2.0": - version: 2.2.0 - resolution: "nwsapi@npm:2.2.0" - checksum: 5ef4a9bc0c1a5b7f2e014aa6a4b359a257503b796618ed1ef0eb852098f77e772305bb0e92856e4bbfa3e6c75da48c0113505c76f144555ff38867229c2400a7 + version: 2.2.1 + resolution: "nwsapi@npm:2.2.1" + checksum: 6c21fcb6950538012516b39137ed9b53ed56843e521362e977282c781169f229e7bca8ec6e207165b19912550f360806b222f77b6c9202bb8d66818456875c3d languageName: node linkType: hard @@ -18499,7 +16095,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -18517,10 +16113,17 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object-inspect@npm:^1.8.0, object-inspect@npm:^1.9.0": - version: 1.9.0 - resolution: "object-inspect@npm:1.9.0" - checksum: 715d2ef5beebfecd5c6d5b29dd370b11bb37d46284d4c1e38463c1ab5dd182cb9d1b543b3f0ea682c84a1883863ea2fe6e6b7599a65a6ab043545189b06e8800 +"object-hash@npm:^3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: 80b4904bb3857c52cc1bfd0b52c0352532ca12ed3b8a6ff06a90cd209dfda1b95cee059a7625eb9da29537027f68ac4619363491eedb2f5d3dddbba97494fd6c + languageName: node + linkType: hard + +"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": + version: 1.12.2 + resolution: "object-inspect@npm:1.12.2" + checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 languageName: node linkType: hard @@ -18531,17 +16134,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object-is@npm:^1.0.1": - version: 1.1.5 - resolution: "object-is@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe - languageName: node - linkType: hard - -"object-keys@npm:^1.0.12, object-keys@npm:^1.0.6, object-keys@npm:^1.0.9, object-keys@npm:^1.1.1": +"object-keys@npm:^1.0.9, object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a @@ -18557,7 +16150,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.assign@npm:^4.1.0, object.assign@npm:^4.1.1, object.assign@npm:^4.1.2": +"object.assign@npm:^4.1.0, object.assign@npm:^4.1.2": version: 4.1.2 resolution: "object.assign@npm:4.1.2" dependencies: @@ -18569,38 +16162,47 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.entries@npm:^1.1.0, object.entries@npm:^1.1.2": - version: 1.1.3 - resolution: "object.entries@npm:1.1.3" +"object.entries@npm:^1.1.2, object.entries@npm:^1.1.5": + version: 1.1.5 + resolution: "object.entries@npm:1.1.5" dependencies: - call-bind: ^1.0.0 + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - has: ^1.0.3 - checksum: 2622ac94f801e6cfddfa2e26719dd200bbc2cb891f00664f0256ebf1ca6626f00882352207ba2d2706c36bbd99d8cfbc84a01b937092239c23a60e1a4ee1d497 + es-abstract: ^1.19.1 + checksum: d658696f74fd222060d8428d2a9fda2ce736b700cb06f6bdf4a16a1892d145afb746f453502b2fa55d1dca8ead6f14ddbcf66c545df45adadea757a6c4cd86c7 languageName: node linkType: hard -"object.fromentries@npm:^2.0.2": - version: 2.0.4 - resolution: "object.fromentries@npm:2.0.4" +"object.fromentries@npm:^2.0.5": + version: 2.0.5 + resolution: "object.fromentries@npm:2.0.5" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - has: ^1.0.3 - checksum: 1e8e991c43a463a6389c6ee6935ef3843931fb012c5eed2ec30e3d5cf3760cb853f527723cdc98fb770d9c0cd068449448b03c303f527e7926a97d43daaa5c66 + es-abstract: ^1.19.1 + checksum: 61a0b565ded97b76df9e30b569729866e1824cce902f98e90bb106e84f378aea20163366f66dc75c9000e2aad2ed0caf65c6f530cb2abc4c0c0f6c982102db4b languageName: node linkType: hard -"object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.0": - version: 2.1.2 - resolution: "object.getownpropertydescriptors@npm:2.1.2" +"object.getownpropertydescriptors@npm:^2.1.0": + version: 2.1.4 + resolution: "object.getownpropertydescriptors@npm:2.1.4" dependencies: + array.prototype.reduce: ^1.0.4 call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - checksum: 6c1c0162a2bea912f092dbf48699998d6f4b788a9884ee99ba41ddf25c3f0924ec56c6a55738c4ae3bd91d1203813a9a8e18e6fff1f477e2626cdbcd1a5f3ca8 + define-properties: ^1.1.4 + es-abstract: ^1.20.1 + checksum: 988c466fe49fc4f19a28d2d1d894c95c6abfe33c94674ec0b14d96eed71f453c7ad16873d430dc2acbb1760de6d3d2affac4b81237a306012cc4dc49f7539e7f + languageName: node + linkType: hard + +"object.hasown@npm:^1.1.1": + version: 1.1.1 + resolution: "object.hasown@npm:1.1.1" + dependencies: + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d8ed4907ce57f48b93e3b53c418fd6787bf226a51e8d698c91e39b78e80fe5b124cb6282f6a9d5be21cf9e2c7829ab10206dcc6112b7748860eefe641880c793 languageName: node linkType: hard @@ -18613,15 +16215,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"object.values@npm:^1.1.0, object.values@npm:^1.1.1": - version: 1.1.3 - resolution: "object.values@npm:1.1.3" +"object.values@npm:^1.1.0, object.values@npm:^1.1.5": + version: 1.1.5 + resolution: "object.values@npm:1.1.5" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - has: ^1.0.3 - checksum: 8b29bd0936a32c2c5dfeb39389f65c7c3f32253a2ad3e4605726cac6bda8f642b4f8ab1ef58279851b86b7ae7322b3cf9a464c346498a7deb8f0c3a0554015f0 + es-abstract: ^1.19.1 + checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 languageName: node linkType: hard @@ -18632,12 +16233,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"on-finished@npm:~2.3.0": - version: 2.3.0 - resolution: "on-finished@npm:2.3.0" +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" dependencies: ee-first: 1.1.1 - checksum: 1db595bd963b0124d6fa261d18320422407b8f01dc65863840f3ddaaf7bcad5b28ff6847286703ca53f4ec19595bd67a2f1253db79fc4094911ec6aa8df1671b + checksum: d20929a25e7f0bb62f937a425b5edeb4e4cde0540d77ba146ec9357f00b0d497cdb3b9b05b9c8e46222407d1548d08166bff69cc56dfa55ba0e4469228920ff0 languageName: node linkType: hard @@ -18648,7 +16249,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": +"once@npm:^1.3.0, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -18675,7 +16276,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"onetime@npm:^5.1.0": +"onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -18684,17 +16285,18 @@ fsevents@^1.2.7: languageName: node linkType: hard -"open@npm:^7.0.2": - version: 7.4.2 - resolution: "open@npm:7.4.2" +"open@npm:^8.0.9, open@npm:^8.4.0": + version: 8.4.0 + resolution: "open@npm:8.4.0" dependencies: - is-docker: ^2.0.0 - is-wsl: ^2.1.1 - checksum: 3333900ec0e420d64c23b831bc3467e57031461d843c801f569b2204a1acc3cd7b3ec3c7897afc9dde86491dfa289708eb92bba164093d8bd88fb2c231843c91 + define-lazy-prop: ^2.0.0 + is-docker: ^2.1.1 + is-wsl: ^2.2.0 + checksum: e9545bec64cdbf30a0c35c1bdc310344adf8428a117f7d8df3c0af0a0a24c513b304916a6d9b11db0190ff7225c2d578885080b761ed46a3d5f6f1eebb98b63c languageName: node linkType: hard -"opn@npm:^5.1.0, opn@npm:^5.5.0": +"opn@npm:^5.1.0": version: 5.5.0 resolution: "opn@npm:5.5.0" dependencies: @@ -18703,18 +16305,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"optimize-css-assets-webpack-plugin@npm:5.0.4": - version: 5.0.4 - resolution: "optimize-css-assets-webpack-plugin@npm:5.0.4" - dependencies: - cssnano: ^4.1.10 - last-call-webpack-plugin: ^3.0.0 - peerDependencies: - webpack: ^4.0.0 - checksum: bcd509eaab2a6f0ed8396fe847f4f0da73655a54f4c418fa30dc1fc4a0b1b620f38e2fcd6bcb369e2a6cf4530995b371e9d12011566ac7ffe6ac6aec2ab0a4fb - languageName: node - linkType: hard - "optionator@npm:^0.8.1": version: 0.8.3 resolution: "optionator@npm:0.8.3" @@ -18758,9 +16348,9 @@ fsevents@^1.2.7: linkType: hard "ordered-binary@npm:^1.2.4": - version: 1.2.4 - resolution: "ordered-binary@npm:1.2.4" - checksum: 69090e7d6e3428ea2f232b612e5d77e6a793d6c19e1639911d6b1d9815eb83830747cd5d138fda79a5be61aa015a75c4fcf44b521423b896ca24d14bdbc0d517 + version: 1.3.0 + resolution: "ordered-binary@npm:1.3.0" + checksum: 1ba6544139c90fa2da536fa751b9e0d1e836968ddba54d4ef10876f8e9f11abbad9c0d849cafd959a4014aad1bb095b0cd140c1c0ed032d15ed2c1df5ee5c396 languageName: node linkType: hard @@ -18782,20 +16372,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"p-each-series@npm:^2.1.0": - version: 2.2.0 - resolution: "p-each-series@npm:2.2.0" - checksum: 5fbe2f1f1966f55833bd401fe36f7afe410707d5e9fb6032c6dde8aa716d50521c3bb201fdb584130569b5941d5e84993e09e0b3f76a474288e0ede8f632983c - languageName: node - linkType: hard - -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 - languageName: node - linkType: hard - "p-limit@npm:^1.1.0": version: 1.3.0 resolution: "p-limit@npm:1.3.0" @@ -18859,6 +16435,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: ^3.0.2 + checksum: 1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 + languageName: node + linkType: hard + "p-locate@npm:^6.0.0": version: 6.0.0 resolution: "p-locate@npm:6.0.0" @@ -18868,13 +16453,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"p-map@npm:^2.0.0": - version: 2.1.0 - resolution: "p-map@npm:2.1.0" - checksum: 9e3ad3c9f6d75a5b5661bcad78c91f3a63849189737cd75e4f1225bf9ac205194e5c44aac2ef6f09562b1facdb9bd1425584d7ac375bfaa17b3f1a142dab936d - languageName: node - linkType: hard - "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -18884,12 +16462,13 @@ fsevents@^1.2.7: languageName: node linkType: hard -"p-retry@npm:^3.0.1": - version: 3.0.1 - resolution: "p-retry@npm:3.0.1" +"p-retry@npm:^4.5.0": + version: 4.6.2 + resolution: "p-retry@npm:4.6.2" dependencies: - retry: ^0.12.0 - checksum: 702efc63fc13ef7fc0bab9a1b08432ab38a0236efcbce64af0cf692030ba6ed8009f29ba66e3301cb98dc69ef33e7ccab29ba1ac2bea897f802f81f4f7e468dd + "@types/retry": 0.12.0 + retry: ^0.13.1 + checksum: 45c270bfddaffb4a895cea16cb760dcc72bdecb6cb45fef1971fa6ea2e91ddeafddefe01e444ac73e33b1b3d5d29fb0dd18a7effb294262437221ddc03ce0f2e languageName: node linkType: hard @@ -18928,18 +16507,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"parallel-transform@npm:^1.1.0": - version: 1.2.0 - resolution: "parallel-transform@npm:1.2.0" - dependencies: - cyclist: ^1.0.1 - inherits: ^2.0.3 - readable-stream: ^2.1.5 - checksum: ab6ddc1a662cefcfb3d8d546a111763d3b223f484f2e9194e33aefd8f6760c319d0821fd22a00a3adfbd45929b50d2c84cc121389732f013c2ae01c226269c27 - languageName: node - linkType: hard - -"param-case@npm:^3.0.3": +"param-case@npm:^3.0.4": version: 3.0.4 resolution: "param-case@npm:3.0.4" dependencies: @@ -19019,26 +16587,26 @@ fsevents@^1.2.7: linkType: hard "parcel@npm:~2.6.0": - version: 2.6.0 - resolution: "parcel@npm:2.6.0" - dependencies: - "@parcel/config-default": 2.6.0 - "@parcel/core": 2.6.0 - "@parcel/diagnostic": 2.6.0 - "@parcel/events": 2.6.0 - "@parcel/fs": 2.6.0 - "@parcel/logger": 2.6.0 - "@parcel/package-manager": 2.6.0 - "@parcel/reporter-cli": 2.6.0 - "@parcel/reporter-dev-server": 2.6.0 - "@parcel/utils": 2.6.0 + version: 2.6.2 + resolution: "parcel@npm:2.6.2" + dependencies: + "@parcel/config-default": 2.6.2 + "@parcel/core": 2.6.2 + "@parcel/diagnostic": 2.6.2 + "@parcel/events": 2.6.2 + "@parcel/fs": 2.6.2 + "@parcel/logger": 2.6.2 + "@parcel/package-manager": 2.6.2 + "@parcel/reporter-cli": 2.6.2 + "@parcel/reporter-dev-server": 2.6.2 + "@parcel/utils": 2.6.2 chalk: ^4.1.0 commander: ^7.0.0 get-port: ^4.2.0 v8-compile-cache: ^2.0.0 bin: parcel: lib/bin.js - checksum: 11f1cf6c1dee3c3a3f7000062a7778fd74fe55e3266f819e32d8bb0efea9ce06194105f4ba5c85ec7ae8818dc470077f83302a4e2dcf487698fa695220f01011 + checksum: 4c0de2d27ac9df2568c053f36523d0a549ff0317de37d28e47815d432332e3b56382d4855a3cdb5a7a21bd1297ea3511b93568bbcc59187d21c2e7ba78e6ec23 languageName: node linkType: hard @@ -19052,9 +16620,9 @@ fsevents@^1.2.7: linkType: hard "parenthesis@npm:^3.1.5": - version: 3.1.7 - resolution: "parenthesis@npm:3.1.7" - checksum: f88eaca6f12e5349665b43039aea4c93b51cafad0e55c2c1792214e69df35ad73fbe326979c6825ce5a6aace19538a9d0b87004d56f92a90f66d7b1454442685 + version: 3.1.8 + resolution: "parenthesis@npm:3.1.8" + checksum: 47d86bb7d9d7d50cfa89c1766a8d4a1223c054ac6d3d2e5baad64cb5c680a2d5d51c26008f2e192300f6111e378f7ca78f6d6ef9732788db059b14815ce05706 languageName: node linkType: hard @@ -19071,15 +16639,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"parse-json@npm:^2.2.0": - version: 2.2.0 - resolution: "parse-json@npm:2.2.0" - dependencies: - error-ex: ^1.2.0 - checksum: dda78a63e57a47b713a038630868538f718a7ca0cd172a36887b0392ccf544ed0374902eb28f8bf3409e8b71d62b79d17062f8543afccf2745f9b0b2d2bb80ca - languageName: node - linkType: hard - "parse-json@npm:^4.0.0": version: 4.0.0 resolution: "parse-json@npm:4.0.0" @@ -19090,7 +16649,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"parse-json@npm:^5.0.0": +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -19132,10 +16691,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"parse5@npm:5.1.1": - version: 5.1.1 - resolution: "parse5@npm:5.1.1" - checksum: 613a714af4c1101d1cb9f7cece2558e35b9ae8a0c03518223a4a1e35494624d9a9ad5fad4c13eab66a0e0adccd9aa3d522fc8f5f9cc19789e0579f3fa0bdfc65 +"parse5@npm:6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd languageName: node linkType: hard @@ -19205,14 +16764,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"path-is-inside@npm:^1.0.2": - version: 1.0.2 - resolution: "path-is-inside@npm:1.0.2" - checksum: 0b5b6c92d3018b82afb1f74fe6de6338c4c654de4a96123cb343f2b747d5606590ac0c890f956ed38220a4ab59baddfd7b713d78a62d240b20b14ab801fa02cb - languageName: node - linkType: hard - -"path-key@npm:^2.0.0, path-key@npm:^2.0.1": +"path-key@npm:^2.0.1": version: 2.0.1 resolution: "path-key@npm:2.0.1" checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd @@ -19226,13 +16778,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"path-parse@npm:^1.0.6": - version: 1.0.6 - resolution: "path-parse@npm:1.0.6" - checksum: 962a85dd384d68d469ec5ba4010df8f8f9b7e936ce603bbe3211476c5615feb3c2b1ca61211a78445fadc833f0b1a86ea6484c861035ec4ac93011ba9aff9a11 - languageName: node - linkType: hard - "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -19256,15 +16801,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"path-type@npm:^2.0.0": - version: 2.0.0 - resolution: "path-type@npm:2.0.0" - dependencies: - pify: ^2.0.0 - checksum: 749dc0c32d4ebe409da155a0022f9be3d08e6fd276adb3dfa27cb2486519ab2aa277d1453b3fde050831e0787e07b0885a75653fefcc82d883753c5b91121b1c - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -19272,7 +16808,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pbf@npm:^3.0.5, pbf@npm:^3.2.1": +"pbf@npm:^3.2.1": version: 3.2.1 resolution: "pbf@npm:3.2.1" dependencies: @@ -19285,15 +16821,15 @@ fsevents@^1.2.7: linkType: hard "pbkdf2@npm:^3.0.3": - version: 3.1.1 - resolution: "pbkdf2@npm:3.1.1" + version: 3.1.2 + resolution: "pbkdf2@npm:3.1.2" dependencies: create-hash: ^1.1.2 create-hmac: ^1.1.4 ripemd160: ^2.0.1 safe-buffer: ^5.0.1 sha.js: ^2.4.8 - checksum: c3de26b8eb363180687e31138e1a486c509d407f361ae222e0af4748d9a252326e14e8f3311182945dbc27e7f235b49fb7a578ad340302a83481585bbd3947d3 + checksum: 2c950a100b1da72123449208e231afc188d980177d021d7121e96a2de7f2abbc96ead2b87d03d8fe5c318face097f203270d7e27908af9f471c165a4e8e69c92 languageName: node linkType: hard @@ -19318,6 +16854,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"picocolors@npm:^0.2.1": + version: 0.2.1 + resolution: "picocolors@npm:0.2.1" + checksum: 3b0f441f0062def0c0f39e87b898ae7461c3a16ffc9f974f320b44c799418cabff17780ee647fda42b856a1dc45897e2c62047e1b546d94d6d5c6962f45427b2 + languageName: node + linkType: hard + "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -19325,74 +16868,24 @@ fsevents@^1.2.7: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2": - version: 2.2.2 - resolution: "picomatch@npm:2.2.2" - checksum: 897a589f94665b4fd93e075fa94893936afe3f7bbef44250f0e878a8d9d001972a79589cac2856c24f6f5aa3b0abc9c8ba00c98fae4dc22bc0117188864d4181 - languageName: node - linkType: hard - -"picomatch@npm:^2.2.3": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.0, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf languageName: node linkType: hard -"pify@npm:^2.0.0": +"pify@npm:^2.3.0": version: 2.3.0 resolution: "pify@npm:2.3.0" checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba languageName: node linkType: hard -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b - languageName: node - linkType: hard - -"pinkie-promise@npm:^2.0.0": - version: 2.0.1 - resolution: "pinkie-promise@npm:2.0.1" - dependencies: - pinkie: ^2.0.0 - checksum: b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca - languageName: node - linkType: hard - -"pinkie@npm:^2.0.0": - version: 2.0.4 - resolution: "pinkie@npm:2.0.4" - checksum: b12b10afea1177595aab036fc220785488f67b4b0fc49e7a27979472592e971614fa1c728e63ad3e7eb748b4ec3c3dbd780819331dad6f7d635c77c10537b9db - languageName: node - linkType: hard - -"pirates@npm:^4.0.1": - version: 4.0.1 - resolution: "pirates@npm:4.0.1" - dependencies: - node-modules-regexp: ^1.0.0 - checksum: 091e232aac19f0049a681838fa9fcb4af824b5b1eb0e9325aa07b9d13245bfe3e4fa57a7766b9fdcd19cb89f2c15c688b46023be3047cb288023a0c079d3b2a3 - languageName: node - linkType: hard - -"pkg-dir@npm:^2.0.0": - version: 2.0.0 - resolution: "pkg-dir@npm:2.0.0" - dependencies: - find-up: ^2.1.0 - checksum: 8c72b712305b51e1108f0ffda5ec1525a8307e54a5855db8fb1dcf77561a5ae98e2ba3b4814c9806a679f76b2f7e5dd98bde18d07e594ddd9fdd25e9cf242ea1 - languageName: node - linkType: hard - -"pkg-dir@npm:^3.0.0": - version: 3.0.0 - resolution: "pkg-dir@npm:3.0.0" - dependencies: - find-up: ^3.0.0 - checksum: 70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 +"pirates@npm:^4.0.4": + version: 4.0.5 + resolution: "pirates@npm:4.0.5" + checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 languageName: node linkType: hard @@ -19414,7 +16907,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pkg-up@npm:3.1.0": +"pkg-up@npm:^3.1.0": version: 3.1.0 resolution: "pkg-up@npm:3.1.0" dependencies: @@ -19486,15 +16979,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pnp-webpack-plugin@npm:1.6.4": - version: 1.6.4 - resolution: "pnp-webpack-plugin@npm:1.6.4" - dependencies: - ts-pnp: ^1.1.6 - checksum: 0606a63db96400b07f182300168298da9518727a843f9e10cf5045d2a102a4be06bb18c73dc481281e3e0f1ed8d04ef0d285a342b6dcd0eff1340e28e5d2328d - languageName: node - linkType: hard - "polybooljs@npm:^1.2.0": version: 1.2.0 resolution: "polybooljs@npm:1.2.0" @@ -19509,17 +16993,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"portfinder@npm:^1.0.26": - version: 1.0.28 - resolution: "portfinder@npm:1.0.28" - dependencies: - async: ^2.6.2 - debug: ^3.1.1 - mkdirp: ^0.5.5 - checksum: 91fef602f13f8f4c64385d0ad2a36cc9dc6be0b8d10a2628ee2c3c7b9917ab4fefb458815b82cea2abf4b785cd11c9b4e2d917ac6fa06f14b6fa880ca8f8928c - languageName: node - linkType: hard - "posix-character-classes@npm:^0.1.0": version: 0.1.1 resolution: "posix-character-classes@npm:0.1.1" @@ -19527,24 +17000,24 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-attribute-case-insensitive@npm:^4.0.1": - version: 4.0.2 - resolution: "postcss-attribute-case-insensitive@npm:4.0.2" +"postcss-attribute-case-insensitive@npm:^5.0.1": + version: 5.0.2 + resolution: "postcss-attribute-case-insensitive@npm:5.0.2" dependencies: - postcss: ^7.0.2 - postcss-selector-parser: ^6.0.2 - checksum: e9cf4b61f443bf302dcd1110ef38d6a808fa38ae5d85bfd0aaaa6d35bef3825e0434f1aed8eb9596a5d88f21580ce8b9cd0098414d8490293ef71149695cae9a + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: c0b8139f37e68dba372724cba03a53c30716224f0085f98485cada99489beb7c3da9d598ffc1d81519b59d9899291712c9041c250205e6ec0b034bb2c144dcf9 languageName: node linkType: hard -"postcss-browser-comments@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-browser-comments@npm:3.0.0" - dependencies: - postcss: ^7 +"postcss-browser-comments@npm:^4": + version: 4.0.0 + resolution: "postcss-browser-comments@npm:4.0.0" peerDependencies: - browserslist: ^4 - checksum: 6e8cfae4c71cf7b5d4741e19021f3e3d81d772372a9e12f5c675e25bc3ea45fe5154fd0ee055ee041aee8b484c59875fdf15df3cec5e7fd4cf3209bc5ef0b515 + browserslist: ">=4" + postcss: ">=8" + checksum: 9b8e7094838c2d7bd1ab3ca9cb8d0a78a9a6c8e22f43133ba02db8862fb6c141630e9f590e46f7125cfa4723cacd27b74fa00c05a9907b364dc1f6f17cf13f6f languageName: node linkType: hard @@ -19559,55 +17032,59 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^2.0.1": - version: 2.0.1 - resolution: "postcss-color-functional-notation@npm:2.0.1" +"postcss-calc@npm:^8.2.3": + version: 8.2.4 + resolution: "postcss-calc@npm:8.2.4" dependencies: - postcss: ^7.0.2 - postcss-values-parser: ^2.0.0 - checksum: 0bfd1fa93bc54a07240d821d091093256511f70f0df5349e27e4d8b034ee3345f0ae58674ce425be6a91cc934325b2ce36ecddbf958fa8805fed6647cf671348 + postcss-selector-parser: ^6.0.9 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.2 + checksum: 314b4cebb0c4ed0cf8356b4bce71eca78f5a7842e6a3942a3bba49db168d5296b2bd93c3f735ae1c616f2651d94719ade33becc03c73d2d79c7394fb7f73eabb languageName: node linkType: hard -"postcss-color-gray@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-color-gray@npm:5.0.0" +"postcss-clamp@npm:^4.1.0": + version: 4.1.0 + resolution: "postcss-clamp@npm:4.1.0" dependencies: - "@csstools/convert-colors": ^1.4.0 - postcss: ^7.0.5 - postcss-values-parser: ^2.0.0 - checksum: 81a62b3e2c170ffadc085c1643a7b5f1c153837d7ca228b07df88b9aeb0ec9088a92f8d919a748137ead3936e8dac2606e32b14b5166a59143642c8573949db5 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.4.6 + checksum: 118eec936b3b035dc8d75c89973408f15c5a3de3d1ee210a2b3511e3e431d9c56e6f354b509a90540241e2225ffe3caaa2fdf25919c63348ce4583a28ada642c languageName: node linkType: hard -"postcss-color-hex-alpha@npm:^5.0.3": - version: 5.0.3 - resolution: "postcss-color-hex-alpha@npm:5.0.3" +"postcss-color-functional-notation@npm:^4.2.3": + version: 4.2.4 + resolution: "postcss-color-functional-notation@npm:4.2.4" dependencies: - postcss: ^7.0.14 - postcss-values-parser: ^2.0.1 - checksum: 0a0ccb42c7c6a271ffd3c8b123b9c67744827d4b810b759731bc702fea1e00f05f08479ec7cbd8dfa47bc20510830a69f1e316a5724b9e53d5fdc6fabf90afc4 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: b763e164fe3577a1de96f75e4bf451585c4f80b8ce60799763a51582cc9402d76faed57324a5d5e5556d90ca7ea0ebde565acb820c95e04bee6f36a91b019831 languageName: node linkType: hard -"postcss-color-mod-function@npm:^3.0.3": - version: 3.0.3 - resolution: "postcss-color-mod-function@npm:3.0.3" +"postcss-color-hex-alpha@npm:^8.0.4": + version: 8.0.4 + resolution: "postcss-color-hex-alpha@npm:8.0.4" dependencies: - "@csstools/convert-colors": ^1.4.0 - postcss: ^7.0.2 - postcss-values-parser: ^2.0.0 - checksum: ecbf74e9395527aaf3e83b90b1a6c9bba0a1904038d8acef1f530d50a68d912d6b1af8df690342f942be8b89fa7dfaa35ae67cb5fb48013cb389ecb8c74deadb + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.4 + checksum: a2f3173a60176cf0aea3b7ebbc799b2cb08229127f0fff708fa31efa14e4ded47ca49aff549d8ed92e74ffe24adee32d5b9d557dbde0524fde5fe389bc520b4e languageName: node linkType: hard -"postcss-color-rebeccapurple@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-color-rebeccapurple@npm:4.0.1" +"postcss-color-rebeccapurple@npm:^7.1.0": + version: 7.1.1 + resolution: "postcss-color-rebeccapurple@npm:7.1.1" dependencies: - postcss: ^7.0.2 - postcss-values-parser: ^2.0.0 - checksum: a7b1a204dfc5163ac4195cc3cb0c7b1bba9561feab49d24be8a17d695d6b69fd92f3da23d638260fe7e9d5076cf81bb798b25134fa2a2fbf7f74b0dda2829a96 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 03482f9b8170da0fa014c41a5d88bce7b987471fb73fc456d397222a2455c89ac7f974dd6ddf40fd31907e768aad158057164b7c5f62cee63a6ecf29d47d7467 languageName: node linkType: hard @@ -19624,6 +17101,20 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-colormin@npm:^5.3.0": + version: 5.3.0 + resolution: "postcss-colormin@npm:5.3.0" + dependencies: + browserslist: ^4.16.6 + caniuse-api: ^3.0.0 + colord: ^2.9.1 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 3d3e3cc25071407fb73d68541ca1039ebd154fceb649041461a8a3cab0400cc89b42dbb34a4eeaf573be4ba2370ce23af5e01aff5e03a8d72275f40605577212 + languageName: node + linkType: hard + "postcss-convert-values@npm:^4.0.1": version: 4.0.1 resolution: "postcss-convert-values@npm:4.0.1" @@ -19634,42 +17125,59 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-custom-media@npm:^7.0.8": - version: 7.0.8 - resolution: "postcss-custom-media@npm:7.0.8" +"postcss-convert-values@npm:^5.1.2": + version: 5.1.2 + resolution: "postcss-convert-values@npm:5.1.2" dependencies: - postcss: ^7.0.14 - checksum: 3786eb10f238b22dc620cfcc9257779e27d8cee4510b3209d0ab67310e07dc68b69f3359db7a911f5e76df466f73d078fc80100943fe2e8fa9bcacf226705a2d + browserslist: ^4.20.3 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: b1615daf12d3425bf4edee9451de402702f41019ccfc85f7883d87438becf533b3061a5a3567865029c534147a6c90e89b4c42ae6741c768c879a68d35aea812 languageName: node linkType: hard -"postcss-custom-properties@npm:^8.0.11": - version: 8.0.11 - resolution: "postcss-custom-properties@npm:8.0.11" +"postcss-custom-media@npm:^8.0.2": + version: 8.0.2 + resolution: "postcss-custom-media@npm:8.0.2" dependencies: - postcss: ^7.0.17 - postcss-values-parser: ^2.0.1 - checksum: cb1b47459a23ff2e48714c5d48d50070d573ef829dc7e57189d1b38c6fba0de7084f1acefbd84c61dd67e30bd9a7d154b22f195547728a9dc5f76f7d3f03ffea + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.3 + checksum: 887bbbacf6f8fab688123796e5dc1e8283b99f21e4c674235bd929dc8018c50df8634ea08932033ec93baaca32670ef2b87e6632863e0b4d84847375dbde9366 languageName: node linkType: hard -"postcss-custom-selectors@npm:^5.1.2": - version: 5.1.2 - resolution: "postcss-custom-selectors@npm:5.1.2" +"postcss-custom-properties@npm:^12.1.8": + version: 12.1.8 + resolution: "postcss-custom-properties@npm:12.1.8" dependencies: - postcss: ^7.0.2 - postcss-selector-parser: ^5.0.0-rc.3 - checksum: 26c83d348448f4ab5931cc1621606b09a6b1171e25fac2404073f3e298e77494ac87d4a21009679503b4895452810e93e618b5af26b4c7180a9013f283bb8088 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.4 + checksum: 4615b8181fe61c2df9f3a739b3257a9d76d00088c8fc3c502a59de52b25ab90be3d65ece8d372bcd1f9f8ba6bb99da5075707f9f11cb3522826a5d3553265ee5 languageName: node linkType: hard -"postcss-dir-pseudo-class@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-dir-pseudo-class@npm:5.0.0" +"postcss-custom-selectors@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-custom-selectors@npm:6.0.3" + dependencies: + postcss-selector-parser: ^6.0.4 + peerDependencies: + postcss: ^8.3 + checksum: 18080d60a8a77a76d8ddff185104d65418fffd02bbf9824499f807ced7941509ba63828ab8fe3ec1d6b0d6c72a482bb90a79d79cdef58e5f4b30113cca16e69b + languageName: node + linkType: hard + +"postcss-dir-pseudo-class@npm:^6.0.4": + version: 6.0.5 + resolution: "postcss-dir-pseudo-class@npm:6.0.5" dependencies: - postcss: ^7.0.2 - postcss-selector-parser: ^5.0.0-rc.3 - checksum: 703156fc65f259ec2e86ba51d18370a6d3b71f2e6473c7d65694676a8f0152137b1997bc0a53f7f373c8c3e4d63c72f7b5e2049f2ef3a7276b49409395722044 + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: 7810c439d8d1a9072c00f8ab39261a1492873ad170425745bd2819c59767db2f352f906588fc2a7d814e91117900563d7e569ecd640367c7332b26b9829927ef languageName: node linkType: hard @@ -19682,6 +17190,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-discard-comments@npm:^5.1.2": + version: 5.1.2 + resolution: "postcss-discard-comments@npm:5.1.2" + peerDependencies: + postcss: ^8.2.15 + checksum: abfd064ebc27aeaf5037643dd51ffaff74d1fa4db56b0523d073ace4248cbb64ffd9787bd6924b0983a9d0bd0e9bf9f10d73b120e50391dc236e0d26c812fa2a + languageName: node + linkType: hard + "postcss-discard-duplicates@npm:^4.0.2": version: 4.0.2 resolution: "postcss-discard-duplicates@npm:4.0.2" @@ -19691,6 +17208,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-discard-duplicates@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-discard-duplicates@npm:5.1.0" + peerDependencies: + postcss: ^8.2.15 + checksum: 88d6964201b1f4ed6bf7a32cefe68e86258bb6e42316ca01d9b32bdb18e7887d02594f89f4a2711d01b51ea6e3fcca8c54be18a59770fe5f4521c61d3eb6ca35 + languageName: node + linkType: hard + "postcss-discard-empty@npm:^4.0.1": version: 4.0.1 resolution: "postcss-discard-empty@npm:4.0.1" @@ -19700,6 +17226,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-discard-empty@npm:^5.1.1": + version: 5.1.1 + resolution: "postcss-discard-empty@npm:5.1.1" + peerDependencies: + postcss: ^8.2.15 + checksum: 970adb12fae5c214c0768236ad9a821552626e77dedbf24a8213d19cc2c4a531a757cd3b8cdd3fc22fb1742471b8692a1db5efe436a71236dec12b1318ee8ff4 + languageName: node + linkType: hard + "postcss-discard-overridden@npm:^4.0.1": version: 4.0.1 resolution: "postcss-discard-overridden@npm:4.0.1" @@ -19709,139 +17244,190 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-double-position-gradients@npm:^1.0.0": - version: 1.0.0 - resolution: "postcss-double-position-gradients@npm:1.0.0" - dependencies: - postcss: ^7.0.5 - postcss-values-parser: ^2.0.0 - checksum: d2c4515b38a131ece44dba331aea2b3f9de646e30873b49f03fa8906179a3c43ddc43183bc4df609d8af0834e7c266ec3a63eaa4b3e96aa445d98ecdc12d2544 +"postcss-discard-overridden@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-discard-overridden@npm:5.1.0" + peerDependencies: + postcss: ^8.2.15 + checksum: d64d4a545aa2c81b22542895cfcddc787d24119f294d35d29b0599a1c818b3cc51f4ee80b80f5a0a09db282453dd5ac49f104c2117cc09112d0ac9b40b499a41 languageName: node linkType: hard -"postcss-env-function@npm:^2.0.2": - version: 2.0.2 - resolution: "postcss-env-function@npm:2.0.2" +"postcss-double-position-gradients@npm:^3.1.1": + version: 3.1.2 + resolution: "postcss-double-position-gradients@npm:3.1.2" dependencies: - postcss: ^7.0.2 - postcss-values-parser: ^2.0.0 - checksum: 0cfa2e6cad5123cce39dcf5af332ec3b0e3e09b54d5142225f255914079d2afda3f1052e60f4b6d3bccf7eb9d592325b7421f1ecc6674ccb13c267a721fc3128 + "@csstools/postcss-progressive-custom-properties": ^1.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: ca09bf2aefddc180f1c1413f379eef30d492b8147543413f7251216f23f413c394b2ed10b7cd255e87b18e0c8efe36087ea8b9bfb26a09813f9607a0b8e538b6 languageName: node linkType: hard -"postcss-flexbugs-fixes@npm:4.2.1": - version: 4.2.1 - resolution: "postcss-flexbugs-fixes@npm:4.2.1" +"postcss-env-function@npm:^4.0.6": + version: 4.0.6 + resolution: "postcss-env-function@npm:4.0.6" dependencies: - postcss: ^7.0.26 - checksum: 51a626bc80dbe42fcc8b0895b4f23a558bb809ec52cdc05aa27fb24cdffd4c9dc53f25218085ddf407c53d76573bc6d7568219c912161609f02532a8f5f59b43 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.4 + checksum: 645b2363cfa21be9dcce7fe4a0f172f0af70c00d6a4c1eb3d7ff7e9cfe26d569e291ec2533114d77b12d610023cd168a92d62c38f2fc969fa333b5ae2bff5ffe languageName: node linkType: hard -"postcss-focus-visible@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-focus-visible@npm:4.0.0" - dependencies: - postcss: ^7.0.2 - checksum: a3c93fbb578608f60c5256d0989ae32fd9100f76fa053880e82bfeb43751e81a3a9e69bd8338e06579b7f56b230a80fb2cc671eff134f2682dcbec9bbb8658ae +"postcss-flexbugs-fixes@npm:^5.0.2": + version: 5.0.2 + resolution: "postcss-flexbugs-fixes@npm:5.0.2" + peerDependencies: + postcss: ^8.1.4 + checksum: 022ddbcca8987303b9be75ff259e9de81b98643adac87a5fc6b52a0fcbbf95e1ac9fd508c4ed67cad76ac5d039b7123de8a0832329481b3c626f5d63f7a28f47 languageName: node linkType: hard -"postcss-focus-within@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-focus-within@npm:3.0.0" +"postcss-focus-visible@npm:^6.0.4": + version: 6.0.4 + resolution: "postcss-focus-visible@npm:6.0.4" dependencies: - postcss: ^7.0.2 - checksum: 2a31292cd9b929a2dd3171fc4ed287ea4a93c6ec8df1d634503fb97b8b30b33a2970b5e0df60634c60ff887923ab28641b624d566533096950e0a384705e9b90 + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 + checksum: acd010b9ddef9b86ffb5fa604c13515ba83e18bc5118dad0a1281150f412aa0ece056c2c5ac56b55e2599f53ab0f740f5ebfdc51e1f5cfe43b8130bac0096fcc languageName: node linkType: hard -"postcss-font-variant@npm:^4.0.0": - version: 4.0.1 - resolution: "postcss-font-variant@npm:4.0.1" +"postcss-focus-within@npm:^5.0.4": + version: 5.0.4 + resolution: "postcss-focus-within@npm:5.0.4" dependencies: - postcss: ^7.0.2 - checksum: d09836cd848e8c24d144484b6b9b175df26dca59e1a1579e790c7f3dcaea00944a8d0b6ac543f4c128de7b30fab9a0aef544d54789b3b55fd850770b172d980d + postcss-selector-parser: ^6.0.9 + peerDependencies: + postcss: ^8.4 + checksum: f23d8ab757345a6deaa807d76e10c88caf4b771c38b60e1593b24aee161c503b5823620e89302226a6ae5e7afdb6ac31809241291912e4176eb594a7ddcc9521 languageName: node linkType: hard -"postcss-gap-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "postcss-gap-properties@npm:2.0.0" - dependencies: - postcss: ^7.0.2 - checksum: c842d105c9403e34a8fac7bdef33a63fcb6bde038b04b20cae1e719e1966632887545576af99a4a6f302c98ca029c6f0d746419f498ef7f6821177ba676e6c25 +"postcss-font-variant@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-font-variant@npm:5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: a19286589261c2bc3e20470486e1ee3b4daf34271c5020167f30856c9b30c26f23264307cb97a184d503814e1b8c5d8a1f9f64a14fd4fd9551c173dca9424695 languageName: node linkType: hard -"postcss-image-set-function@npm:^3.0.1": - version: 3.0.1 - resolution: "postcss-image-set-function@npm:3.0.1" - dependencies: - postcss: ^7.0.2 - postcss-values-parser: ^2.0.0 - checksum: 43958d7c1f80077e60e066bdf61bc326bcac64c272f17fd7a0585a6934fb1ffc7ba7f560a39849f597e4d28b8ae3addd9279c7145b9478d2d91a7c54c2fefd8b +"postcss-gap-properties@npm:^3.0.3": + version: 3.0.5 + resolution: "postcss-gap-properties@npm:3.0.5" + peerDependencies: + postcss: ^8.2 + checksum: aed559d6d375203a08a006c9ae8cf5ae90d9edaec5cadd20fe65c1b8ce63c2bc8dfe752d4331880a6e24a300541cde61058be790b7bd9b5d04d470c250fbcd39 languageName: node linkType: hard -"postcss-initial@npm:^3.0.0": - version: 3.0.2 - resolution: "postcss-initial@npm:3.0.2" +"postcss-image-set-function@npm:^4.0.6": + version: 4.0.7 + resolution: "postcss-image-set-function@npm:4.0.7" dependencies: - lodash.template: ^4.5.0 - postcss: ^7.0.2 - checksum: fe47de21f746c3498b63d2cceaea4e0e3d0dfe8253cfcfd02404e6f5d4d80302d043ae10f215b0206c0ea9ac24125ab7d3500bce24654cb0c42dbb05787209a2 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 7e509330986de14250ead1a557e8da8baaf66ebe8a40354a5dff60ab40d99a483d92aa57d52713251ca1adbf0055ef476c5702b0d0ba5f85a4f407367cdabac0 languageName: node linkType: hard -"postcss-lab-function@npm:^2.0.1": - version: 2.0.1 - resolution: "postcss-lab-function@npm:2.0.1" +"postcss-import@npm:^14.1.0": + version: 14.1.0 + resolution: "postcss-import@npm:14.1.0" dependencies: - "@csstools/convert-colors": ^1.4.0 - postcss: ^7.0.2 - postcss-values-parser: ^2.0.0 - checksum: 598229a7a05803b18cccde28114833e910367c5954341bea03c7d7b7b5a667dfb6a77ef9dd4a16d80fdff8b10dd44c478602a7d56e43687c8687af3710b4706f + postcss-value-parser: ^4.0.0 + read-cache: ^1.0.0 + resolve: ^1.1.7 + peerDependencies: + postcss: ^8.0.0 + checksum: cd45d406e90f67cdab9524352e573cc6b4462b790934a05954e929a6653ebd31288ceebc8ce3c3ed7117ae672d9ebbec57df0bceec0a56e9b259c2e71d47ca86 languageName: node linkType: hard -"postcss-load-config@npm:^2.0.0": - version: 2.1.2 - resolution: "postcss-load-config@npm:2.1.2" +"postcss-initial@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-initial@npm:4.0.1" + peerDependencies: + postcss: ^8.0.0 + checksum: 6956953853865de79c39d11533a2860e9f38b770bb284d0010d98a00b9469e22de344e4e5fd8208614d797030487e8918dd2f2c37d9e24d4dd59d565d4fc3e12 + languageName: node + linkType: hard + +"postcss-js@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-js@npm:4.0.0" dependencies: - cosmiconfig: ^5.0.0 - import-cwd: ^2.0.0 - checksum: 2e6d3a499512a03c19b0090f4143861612d613511d57122879d9fd545558d2a9fcbe85a2b0faf2ec32bbce0e62d22d2b544d91cbc4d4dfb3f22f841f8271fbc6 + camelcase-css: ^2.0.1 + peerDependencies: + postcss: ^8.3.3 + checksum: 14be8a58670b4c5d037d40f179240a4f736d53530db727e2635638fa296bc4bff18149ca860928398aace422e55d07c9f5729eeccd395340944985199cdc82a5 languageName: node linkType: hard -"postcss-loader@npm:3.0.0": - version: 3.0.0 - resolution: "postcss-loader@npm:3.0.0" +"postcss-lab-function@npm:^4.2.0": + version: 4.2.1 + resolution: "postcss-lab-function@npm:4.2.1" dependencies: - loader-utils: ^1.1.0 - postcss: ^7.0.0 - postcss-load-config: ^2.0.0 - schema-utils: ^1.0.0 - checksum: a6a922cbcc225ef57fb88c8248f91195869cd11e0d2b0b0fe84bc89a3074437d592d79a9fc39e50218677b7ba3a41b0e1c7e8f9666e59d41a196d7ab022c5805 + "@csstools/postcss-progressive-custom-properties": ^1.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 26ac74b430011271b5581beba69b2cd788f56375fcb64c90f6ec1577379af85f6022dc38c410ff471dac520c7ddc289160a6a16cca3c7ff76f5af7e90d31eaa3 languageName: node linkType: hard -"postcss-logical@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-logical@npm:3.0.0" +"postcss-load-config@npm:^3.1.4": + version: 3.1.4 + resolution: "postcss-load-config@npm:3.1.4" dependencies: - postcss: ^7.0.2 - checksum: 5278661b78a093661c9cac8c04666d457734bf156f83d8c67f6034c00e8d4b3a26fce32a8a4a251feae3c7587f42556412dca980e100d0c920ee55e878f7b8ee + lilconfig: ^2.0.5 + yaml: ^1.10.2 + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 1c589504c2d90b1568aecae8238ab993c17dba2c44f848a8f13619ba556d26a1c09644d5e6361b5784e721e94af37b604992f9f3dc0483e687a0cc1cc5029a34 languageName: node linkType: hard -"postcss-media-minmax@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-media-minmax@npm:4.0.0" +"postcss-loader@npm:^6.2.1": + version: 6.2.1 + resolution: "postcss-loader@npm:6.2.1" dependencies: - postcss: ^7.0.2 - checksum: 8a4d94e25089bb5a66c6742bcdd263fce2fea391438151a85b442b7f8b66323bbca552b59a93efd6bcabcfd41845ddd4149bd56d156b008f8d7d04bc84d9fb11 + cosmiconfig: ^7.0.0 + klona: ^2.0.5 + semver: ^7.3.5 + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + checksum: e40ae79c3e39df37014677a817b001bd115d8b10dedf53a07b97513d93b1533cd702d7a48831bdd77b9a9484b1ec84a5d4a723f80e83fb28682c75b5e65e8a90 + languageName: node + linkType: hard + +"postcss-logical@npm:^5.0.4": + version: 5.0.4 + resolution: "postcss-logical@npm:5.0.4" + peerDependencies: + postcss: ^8.4 + checksum: 17c71291ed6a03883a5aa54b9923b874c32710707d041a0f0752e6febdb09dee5d2abf4ef271978d932e4a4c948f349bb23edf633c03e3427ba15e71bfc66ac7 + languageName: node + linkType: hard + +"postcss-media-minmax@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-media-minmax@npm:5.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 2cd7283e07a1ac1acdcc3ecbaa0e9932f8d1e7647e7aeb14d91845fcb890d60d7257ec70c825cae8d48ae80a08cc77ebc4021a0dfa32360e0cd991e2bc021607 languageName: node linkType: hard @@ -19857,6 +17443,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-merge-longhand@npm:^5.1.6": + version: 5.1.6 + resolution: "postcss-merge-longhand@npm:5.1.6" + dependencies: + postcss-value-parser: ^4.2.0 + stylehacks: ^5.1.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 327b5474d9e84b8d8aed3e24444938cbf1274326d357b551b700203f03f7bcb615381b92b933770ffe35b154677205af08875373413f2c5e625c34730599707b + languageName: node + linkType: hard + "postcss-merge-rules@npm:^4.0.3": version: 4.0.3 resolution: "postcss-merge-rules@npm:4.0.3" @@ -19871,6 +17469,20 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-merge-rules@npm:^5.1.2": + version: 5.1.2 + resolution: "postcss-merge-rules@npm:5.1.2" + dependencies: + browserslist: ^4.16.6 + caniuse-api: ^3.0.0 + cssnano-utils: ^3.1.0 + postcss-selector-parser: ^6.0.5 + peerDependencies: + postcss: ^8.2.15 + checksum: fcbc415999a35248dcce03064a5456123663507b05ff0f1de5c97b6effc68014ab0ffd5f06e71cf08d401f037932e271b7db33124c73260f3630a1441212a0c8 + languageName: node + linkType: hard + "postcss-minify-font-values@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-font-values@npm:4.0.2" @@ -19881,6 +17493,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-minify-font-values@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-minify-font-values@npm:5.1.0" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 35e858fa41efa05acdeb28f1c76579c409fdc7eabb1744c3bd76e895bb9fea341a016746362a67609688ab2471f587202b9a3e14ea28ad677754d663a2777ece + languageName: node + linkType: hard + "postcss-minify-gradients@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-gradients@npm:4.0.2" @@ -19893,6 +17516,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-minify-gradients@npm:^5.1.1": + version: 5.1.1 + resolution: "postcss-minify-gradients@npm:5.1.1" + dependencies: + colord: ^2.9.1 + cssnano-utils: ^3.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 27354072a07c5e6dab36731103b94ca2354d4ed3c5bc6aacfdf2ede5a55fa324679d8fee5450800bc50888dbb5e9ed67569c0012040c2be128143d0cebb36d67 + languageName: node + linkType: hard + "postcss-minify-params@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-params@npm:4.0.2" @@ -19907,6 +17543,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-minify-params@npm:^5.1.3": + version: 5.1.3 + resolution: "postcss-minify-params@npm:5.1.3" + dependencies: + browserslist: ^4.16.6 + cssnano-utils: ^3.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 2d218f6b82474310c866b690210595a5e6a4c695f174f9100b018adb4a171bd67b1adaba26c241b3d41a4ea0f4962e0f5a77cf12ae60d9db76f80b0c7cbd6bcd + languageName: node + linkType: hard + "postcss-minify-selectors@npm:^4.0.2": version: 4.0.2 resolution: "postcss-minify-selectors@npm:4.0.2" @@ -19919,6 +17568,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-minify-selectors@npm:^5.2.1": + version: 5.2.1 + resolution: "postcss-minify-selectors@npm:5.2.1" + dependencies: + postcss-selector-parser: ^6.0.5 + peerDependencies: + postcss: ^8.2.15 + checksum: 6fdbc84f99a60d56b43df8930707da397775e4c36062a106aea2fd2ac81b5e24e584a1892f4baa4469fa495cb87d1422560eaa8f6c9d500f9f0b691a5f95bab5 + languageName: node + linkType: hard + "postcss-modules-extract-imports@npm:1.1.0": version: 1.1.0 resolution: "postcss-modules-extract-imports@npm:1.1.0" @@ -19928,12 +17588,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-modules-extract-imports@npm:^2.0.0": - version: 2.0.0 - resolution: "postcss-modules-extract-imports@npm:2.0.0" - dependencies: - postcss: ^7.0.5 - checksum: 154790fe5954aaa12f300aa9aa782fae8b847138459c8f533ea6c8f29439dd66b4d9a49e0bf6f8388fa0df898cc03d61c84678e3b0d4b47cac5a4334a7151a9f +"postcss-modules-extract-imports@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-extract-imports@npm:3.0.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 4b65f2f1382d89c4bc3c0a1bdc5942f52f3cb19c110c57bd591ffab3a5fee03fcf831604168205b0c1b631a3dce2255c70b61aaae3ef39d69cd7eb450c2552d2 languageName: node linkType: hard @@ -19947,15 +17607,16 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^3.0.3": - version: 3.0.3 - resolution: "postcss-modules-local-by-default@npm:3.0.3" +"postcss-modules-local-by-default@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-local-by-default@npm:4.0.0" dependencies: - icss-utils: ^4.1.1 - postcss: ^7.0.32 + icss-utils: ^5.0.0 postcss-selector-parser: ^6.0.2 postcss-value-parser: ^4.1.0 - checksum: 0267633eaf80e72a3abf391b6e34c5b344a1bdfb1421543d3ed43fc757e053e0fcc1a2eb06d959a8f435776e8dc80288b59bfc34d61e5e021d47b747c417c5a1 + peerDependencies: + postcss: ^8.1.0 + checksum: 6cf570badc7bc26c265e073f3ff9596b69bb954bc6ac9c5c1b8cba2995b80834226b60e0a3cbb87d5f399dbb52e6466bba8aa1d244f6218f99d834aec431a69d languageName: node linkType: hard @@ -19969,13 +17630,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-modules-scope@npm:^2.2.0": - version: 2.2.0 - resolution: "postcss-modules-scope@npm:2.2.0" +"postcss-modules-scope@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-scope@npm:3.0.0" dependencies: - postcss: ^7.0.6 - postcss-selector-parser: ^6.0.0 - checksum: c611181df924275ca1ffea261149c229488d6921054896879ca98feeb0913f9b00f4f160654beb2cb243a2989036c269baa96778eeacaaa399a4604b6e2fea17 + postcss-selector-parser: ^6.0.4 + peerDependencies: + postcss: ^8.1.0 + checksum: 330b9398dbd44c992c92b0dc612c0626135e2cc840fee41841eb61247a6cfed95af2bd6f67ead9dd9d0bb41f5b0367129d93c6e434fa3e9c58ade391d9a5a138 languageName: node linkType: hard @@ -19989,22 +17651,37 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-modules-values@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-values@npm:3.0.0" +"postcss-modules-values@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-modules-values@npm:4.0.0" dependencies: - icss-utils: ^4.0.0 - postcss: ^7.0.6 - checksum: f1aea0b9c6798b39ec02a6d2310924bb9bfbddb4579668c2d4e2205ca7a68c656b85d5720f9bba3629d611f36667fe04ab889ea3f9a6b569a0a0d57b4f2f4e99 + icss-utils: ^5.0.0 + peerDependencies: + postcss: ^8.1.0 + checksum: f7f2cdf14a575b60e919ad5ea52fed48da46fe80db2733318d71d523fc87db66c835814940d7d05b5746b0426e44661c707f09bdb83592c16aea06e859409db6 languageName: node linkType: hard -"postcss-nesting@npm:^7.0.0": - version: 7.0.1 - resolution: "postcss-nesting@npm:7.0.1" +"postcss-nested@npm:5.0.6": + version: 5.0.6 + resolution: "postcss-nested@npm:5.0.6" + dependencies: + postcss-selector-parser: ^6.0.6 + peerDependencies: + postcss: ^8.2.14 + checksum: dbcbfd11e514f485ac0d2b649b32bcbd855665a88a76f697f8be6c5017aa0260954ecccd2475bbd5865a5d248eae9a4e6e10d2d51927621d05430381aa37e43b + languageName: node + linkType: hard + +"postcss-nesting@npm:^10.1.9": + version: 10.1.10 + resolution: "postcss-nesting@npm:10.1.10" dependencies: - postcss: ^7.0.2 - checksum: 4056be95759e8b25477f19aff7202b57dd27eeef41d31f7ca14e4c87d16ffb40e4db3f518fc85bd28b20e183f5e5399b56b52fcc79affd556e13a98bbc678169 + "@csstools/selector-specificity": ^2.0.0 + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: fffaf42aaa1f7cc9c381c6be9c0b6a69a50ed1a5f0fc21a430bdb501ce1eb3767a6b6ed981ea830e62c29ce7c32b5180b91d99b6eeca755309131c95af025eed languageName: node linkType: hard @@ -20017,6 +17694,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-charset@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-normalize-charset@npm:5.1.0" + peerDependencies: + postcss: ^8.2.15 + checksum: e79d92971fc05b8b3c9b72f3535a574e077d13c69bef68156a0965f397fdf157de670da72b797f57b0e3bac8f38155b5dd1735ecab143b9cc4032d72138193b4 + languageName: node + linkType: hard + "postcss-normalize-display-values@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-display-values@npm:4.0.2" @@ -20028,6 +17714,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-display-values@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-normalize-display-values@npm:5.1.0" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: b6eb7b9b02c3bdd62bbc54e01e2b59733d73a1c156905d238e178762962efe0c6f5104544da39f32cade8a4fb40f10ff54b63a8ebfbdff51e8780afb9fbdcf86 + languageName: node + linkType: hard + "postcss-normalize-positions@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-positions@npm:4.0.2" @@ -20040,6 +17737,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-positions@npm:^5.1.1": + version: 5.1.1 + resolution: "postcss-normalize-positions@npm:5.1.1" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: d9afc233729c496463c7b1cdd06732469f401deb387484c3a2422125b46ec10b4af794c101f8c023af56f01970b72b535e88373b9058ecccbbf88db81662b3c4 + languageName: node + linkType: hard + "postcss-normalize-repeat-style@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-repeat-style@npm:4.0.2" @@ -20052,6 +17760,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-repeat-style@npm:^5.1.1": + version: 5.1.1 + resolution: "postcss-normalize-repeat-style@npm:5.1.1" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 2c6ad2b0ae10a1fda156b948c34f78c8f1e185513593de4d7e2480973586675520edfec427645fa168c337b0a6b3ceca26f92b96149741ca98a9806dad30d534 + languageName: node + linkType: hard + "postcss-normalize-string@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-string@npm:4.0.2" @@ -20063,6 +17782,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-string@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-normalize-string@npm:5.1.0" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 6e549c6e5b2831e34c7bdd46d8419e2278f6af1d5eef6d26884a37c162844e60339340c57e5e06058cdbe32f27fc6258eef233e811ed2f71168ef2229c236ada + languageName: node + linkType: hard + "postcss-normalize-timing-functions@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-timing-functions@npm:4.0.2" @@ -20074,6 +17804,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-timing-functions@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-normalize-timing-functions@npm:5.1.0" + dependencies: + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: da550f50e90b0b23e17b67449a7d1efd1aa68288e66d4aa7614ca6f5cc012896be1972b7168eee673d27da36504faccf7b9f835c0f7e81243f966a42c8c030aa + languageName: node + linkType: hard + "postcss-normalize-unicode@npm:^4.0.1": version: 4.0.1 resolution: "postcss-normalize-unicode@npm:4.0.1" @@ -20085,6 +17826,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-unicode@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-normalize-unicode@npm:5.1.0" + dependencies: + browserslist: ^4.16.6 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 3570c90050f190811b5dbf7b4cf4f30f0b627c1ba5fbe5ad332e8b0aa7ef14b3d0aa2af1cb1074d0267aec8c9771e28866d867c8a8a0c433b6c34e50445f9c16 + languageName: node + linkType: hard + "postcss-normalize-url@npm:^4.0.1": version: 4.0.1 resolution: "postcss-normalize-url@npm:4.0.1" @@ -20097,6 +17850,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-normalize-url@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-normalize-url@npm:5.1.0" + dependencies: + normalize-url: ^6.0.1 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 3bd4b3246d6600230bc827d1760b24cb3101827ec97570e3016cbe04dc0dd28f4dbe763245d1b9d476e182c843008fbea80823061f1d2219b96f0d5c724a24c0 + languageName: node + linkType: hard + "postcss-normalize-whitespace@npm:^4.0.2": version: 4.0.2 resolution: "postcss-normalize-whitespace@npm:4.0.2" @@ -20107,16 +17872,35 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-normalize@npm:8.0.1": - version: 8.0.1 - resolution: "postcss-normalize@npm:8.0.1" +"postcss-normalize-whitespace@npm:^5.1.1": + version: 5.1.1 + resolution: "postcss-normalize-whitespace@npm:5.1.1" dependencies: - "@csstools/normalize.css": ^10.1.0 - browserslist: ^4.6.2 - postcss: ^7.0.17 - postcss-browser-comments: ^3.0.0 - sanitize.css: ^10.0.0 - checksum: 3109075389b91a09a790c3cd62a4e8c147bab2113cffa7ea2e776982352796816bc56b7f08ed7f7175c24e5d9c46171a07f95eeee00cfecddac6e3b4c9888dd0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 12d8fb6d1c1cba208cc08c1830959b7d7ad447c3f5581873f7e185f99a9a4230c43d3af21ca12c818e4690a5085a95b01635b762ad4a7bef69d642609b4c0e19 + languageName: node + linkType: hard + +"postcss-normalize@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-normalize@npm:10.0.1" + dependencies: + "@csstools/normalize.css": "*" + postcss-browser-comments: ^4 + sanitize.css: "*" + peerDependencies: + browserslist: ">= 4" + postcss: ">= 8" + checksum: af67ade84e5d65de0cf84cde479840da96ffb2037fe6bf86737788216f67e414622e718e7d84182885ad65fa948150e4a0c3e454ca63e619dd5c7b4eb4224c39 + languageName: node + linkType: hard + +"postcss-opacity-percentage@npm:^1.1.2": + version: 1.1.2 + resolution: "postcss-opacity-percentage@npm:1.1.2" + checksum: b582f6d4efb6a14aa09ba49869774c2f060558a68af8a0c3aa9efc0e01b35a4985e783640806a76d4e26d2ba97556f9b5e88dde91d1664a2e2c24688e4bbcf61 languageName: node linkType: hard @@ -20131,86 +17915,114 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-overflow-shorthand@npm:^2.0.0": - version: 2.0.0 - resolution: "postcss-overflow-shorthand@npm:2.0.0" +"postcss-ordered-values@npm:^5.1.3": + version: 5.1.3 + resolution: "postcss-ordered-values@npm:5.1.3" dependencies: - postcss: ^7.0.2 - checksum: 553be1b7f9645017d33b654f9a436ce4f4406066c3056ca4c7ee06c21c2964fbe3437a9a3f998137efb6a17c1a79ee7e8baa39332c7dd9874aac8b69a3ad08b0 + cssnano-utils: ^3.1.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 6f3ca85b6ceffc68aadaf319d9ee4c5ac16d93195bf8cba2d1559b631555ad61941461cda6d3909faab86e52389846b2b36345cff8f0c3f4eb345b1b8efadcf9 languageName: node linkType: hard -"postcss-page-break@npm:^2.0.0": - version: 2.0.0 - resolution: "postcss-page-break@npm:2.0.0" +"postcss-overflow-shorthand@npm:^3.0.3": + version: 3.0.4 + resolution: "postcss-overflow-shorthand@npm:3.0.4" dependencies: - postcss: ^7.0.2 - checksum: 65a4453883e904ca0f337d3a988a1b5a090e2e8bc2855913cb0b4b741158e6ea2e4eed9b33f5989e7ae55faa0f7b83cdc09693d600ac4c86ce804ae381ec48a4 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 74009022491e3901263f8f5811630393480323e51f5d23ef17f3fdc7e03bf9c2502a632f3ba8fe6a468b57590f13b2fa3b17a68ef19653589e76277607696743 languageName: node linkType: hard -"postcss-place@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-place@npm:4.0.1" - dependencies: - postcss: ^7.0.2 - postcss-values-parser: ^2.0.0 - checksum: 26b2a443b0a8fcb6774d00036fa351633798a655ccd609da2d561fbd6561b0ba6f6b6d89e15fb074389fadb7da4cbc59c48ba75f1f5fdc478c020febb4e2b557 +"postcss-page-break@npm:^3.0.4": + version: 3.0.4 + resolution: "postcss-page-break@npm:3.0.4" + peerDependencies: + postcss: ^8 + checksum: a7d08c945fc691f62c77ac701e64722218b14ec5c8fc1972b8af9c21553492d40808cf95e61b9697b1dacaf7e6180636876d7fee314f079e6c9e39ac1b1edc6f languageName: node linkType: hard -"postcss-preset-env@npm:6.7.0": - version: 6.7.0 - resolution: "postcss-preset-env@npm:6.7.0" +"postcss-place@npm:^7.0.4": + version: 7.0.5 + resolution: "postcss-place@npm:7.0.5" dependencies: - autoprefixer: ^9.6.1 - browserslist: ^4.6.4 - caniuse-lite: ^1.0.30000981 - css-blank-pseudo: ^0.1.4 - css-has-pseudo: ^0.10.0 - css-prefers-color-scheme: ^3.1.1 - cssdb: ^4.4.0 - postcss: ^7.0.17 - postcss-attribute-case-insensitive: ^4.0.1 - postcss-color-functional-notation: ^2.0.1 - postcss-color-gray: ^5.0.0 - postcss-color-hex-alpha: ^5.0.3 - postcss-color-mod-function: ^3.0.3 - postcss-color-rebeccapurple: ^4.0.1 - postcss-custom-media: ^7.0.8 - postcss-custom-properties: ^8.0.11 - postcss-custom-selectors: ^5.1.2 - postcss-dir-pseudo-class: ^5.0.0 - postcss-double-position-gradients: ^1.0.0 - postcss-env-function: ^2.0.2 - postcss-focus-visible: ^4.0.0 - postcss-focus-within: ^3.0.0 - postcss-font-variant: ^4.0.0 - postcss-gap-properties: ^2.0.0 - postcss-image-set-function: ^3.0.1 - postcss-initial: ^3.0.0 - postcss-lab-function: ^2.0.1 - postcss-logical: ^3.0.0 - postcss-media-minmax: ^4.0.0 - postcss-nesting: ^7.0.0 - postcss-overflow-shorthand: ^2.0.0 - postcss-page-break: ^2.0.0 - postcss-place: ^4.0.1 - postcss-pseudo-class-any-link: ^6.0.0 - postcss-replace-overflow-wrap: ^3.0.0 - postcss-selector-matches: ^4.0.0 - postcss-selector-not: ^4.0.0 - checksum: 209cbb63443a1631aa97ccfc3b95b1ff519ddaeb672f84d6af501bd9e9ad6727680b5b1bffb8209322e47d93029a69df6064f75cd0b7633b6df943cbef33f22e - languageName: node - linkType: hard - -"postcss-pseudo-class-any-link@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-pseudo-class-any-link@npm:6.0.0" + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 903fec0c313bb7ec20f2c8f0a125866fb7804aa3186b5b2c7c2d58cb9039ff301461677a060e9db643d1aaffaf80a0ff71e900a6da16705dad6b49c804cb3c73 + languageName: node + linkType: hard + +"postcss-preset-env@npm:^7.0.1": + version: 7.7.2 + resolution: "postcss-preset-env@npm:7.7.2" + dependencies: + "@csstools/postcss-cascade-layers": ^1.0.4 + "@csstools/postcss-color-function": ^1.1.0 + "@csstools/postcss-font-format-keywords": ^1.0.0 + "@csstools/postcss-hwb-function": ^1.0.1 + "@csstools/postcss-ic-unit": ^1.0.0 + "@csstools/postcss-is-pseudo-class": ^2.0.6 + "@csstools/postcss-normalize-display-values": ^1.0.0 + "@csstools/postcss-oklab-function": ^1.1.0 + "@csstools/postcss-progressive-custom-properties": ^1.3.0 + "@csstools/postcss-stepped-value-functions": ^1.0.0 + "@csstools/postcss-trigonometric-functions": ^1.0.1 + "@csstools/postcss-unset-value": ^1.0.1 + autoprefixer: ^10.4.7 + browserslist: ^4.21.0 + css-blank-pseudo: ^3.0.3 + css-has-pseudo: ^3.0.4 + css-prefers-color-scheme: ^6.0.3 + cssdb: ^6.6.3 + postcss-attribute-case-insensitive: ^5.0.1 + postcss-clamp: ^4.1.0 + postcss-color-functional-notation: ^4.2.3 + postcss-color-hex-alpha: ^8.0.4 + postcss-color-rebeccapurple: ^7.1.0 + postcss-custom-media: ^8.0.2 + postcss-custom-properties: ^12.1.8 + postcss-custom-selectors: ^6.0.3 + postcss-dir-pseudo-class: ^6.0.4 + postcss-double-position-gradients: ^3.1.1 + postcss-env-function: ^4.0.6 + postcss-focus-visible: ^6.0.4 + postcss-focus-within: ^5.0.4 + postcss-font-variant: ^5.0.0 + postcss-gap-properties: ^3.0.3 + postcss-image-set-function: ^4.0.6 + postcss-initial: ^4.0.1 + postcss-lab-function: ^4.2.0 + postcss-logical: ^5.0.4 + postcss-media-minmax: ^5.0.0 + postcss-nesting: ^10.1.9 + postcss-opacity-percentage: ^1.1.2 + postcss-overflow-shorthand: ^3.0.3 + postcss-page-break: ^3.0.4 + postcss-place: ^7.0.4 + postcss-pseudo-class-any-link: ^7.1.5 + postcss-replace-overflow-wrap: ^4.0.0 + postcss-selector-not: ^6.0.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2 + checksum: 15648b4f4efe45e3e8e9d7b7d6c714bf118e529c7728a615d211605fe7be6a5d46d41954676a2b23ea56696bd728dfc189d0a0f867a37404cd7ff820c00d32f5 + languageName: node + linkType: hard + +"postcss-pseudo-class-any-link@npm:^7.1.5": + version: 7.1.6 + resolution: "postcss-pseudo-class-any-link@npm:7.1.6" dependencies: - postcss: ^7.0.2 - postcss-selector-parser: ^5.0.0-rc.3 - checksum: d7dc3bba45df2966f8512c082a9cc341e63edac14d915ad9f41c62c452cd306d82da6baeee757dd4e7deafe3fa33b26c16e5236c670916bbb7ff4b4723453541 + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: 43aa18ea1ef1b168f61310856dd92f46ceb3dc60b6cf820e079ca1a849df5cc0f12a1511bdc1811a23f03d60ddcc959200c80c3f9a7b57feebe32bab226afb39 languageName: node linkType: hard @@ -20226,6 +18038,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-reduce-initial@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-reduce-initial@npm:5.1.0" + dependencies: + browserslist: ^4.16.6 + caniuse-api: ^3.0.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 2cb10fa3fa7d7df9e4376df64d19177debd5cfe6d8fde52327d27de425eb28d5d85fa45c857cf7c0aed35d16455b6f4762b53959480f92a1dfa4b51a1d780a32 + languageName: node + linkType: hard + "postcss-reduce-transforms@npm:^4.0.2": version: 4.0.2 resolution: "postcss-reduce-transforms@npm:4.0.2" @@ -20238,41 +18062,34 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-replace-overflow-wrap@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-replace-overflow-wrap@npm:3.0.0" - dependencies: - postcss: ^7.0.2 - checksum: 8c5b512a1172dd3d7b4a06d56d3b64c76dea01ca0950b546f83ae993f83aa95f933239e18deed0a5f3d2ef47840de55fa73498c4a46bfbe7bd892eb0dd8b606c - languageName: node - linkType: hard - -"postcss-safe-parser@npm:5.0.2": - version: 5.0.2 - resolution: "postcss-safe-parser@npm:5.0.2" +"postcss-reduce-transforms@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-reduce-transforms@npm:5.1.0" dependencies: - postcss: ^8.1.0 - checksum: b786eca091f856f2d31856d903c24c1b591ecbc0b607af0824e1cf12b9b254b5e1f24bc842cc2b95bc561f097d8b358fb4c9e04c73c1ba9c118d21bde9a83253 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.2.15 + checksum: 0c6af2cba20e3ff63eb9ad045e634ddfb9c3e5c0e614c020db2a02f3aa20632318c4ede9e0c995f9225d9a101e673de91c0a6e10bb2fa5da6d6c75d15a55882f languageName: node linkType: hard -"postcss-selector-matches@npm:^4.0.0": +"postcss-replace-overflow-wrap@npm:^4.0.0": version: 4.0.0 - resolution: "postcss-selector-matches@npm:4.0.0" - dependencies: - balanced-match: ^1.0.0 - postcss: ^7.0.2 - checksum: 724f6cb345477691909468268a456f978ad3bae9ecd9908b2bb55c55c5f3c6d54a1fe50ce3956d93b122d05fc36677a8e4a34eed07bccda969c3f8baa43669a6 + resolution: "postcss-replace-overflow-wrap@npm:4.0.0" + peerDependencies: + postcss: ^8.0.3 + checksum: 3ffe20b300a4c377a11c588b142740d8557e03c707474c45234c934190ac374750ddc92c7906c373471d273a20504a429c2062c21fdcaff830fb28e0a81ac1dc languageName: node linkType: hard -"postcss-selector-not@npm:^4.0.0": - version: 4.0.1 - resolution: "postcss-selector-not@npm:4.0.1" +"postcss-selector-not@npm:^6.0.0": + version: 6.0.1 + resolution: "postcss-selector-not@npm:6.0.1" dependencies: - balanced-match: ^1.0.0 - postcss: ^7.0.2 - checksum: 08fbd3e5ca273f3b767bd35d6bd033647a68f59b596d8aec19a9089b750539bdf85121ed7fd00a7763174a55c75c22a309d75d306127e23dc396069781efbaa4 + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2 + checksum: fe523a0219e4bd34f04498534bb9e8aec3193f3585eafe4c388d086955b41201cae71fd20980ca465acade7f182029b43dbd5ca7e9d50bf34bbcaf1d19fe3ee6 languageName: node linkType: hard @@ -20298,38 +18115,36 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-selector-parser@npm:^5.0.0-rc.3, postcss-selector-parser@npm:^5.0.0-rc.4": - version: 5.0.0 - resolution: "postcss-selector-parser@npm:5.0.0" - dependencies: - cssesc: ^2.0.0 - indexes-of: ^1.0.1 - uniq: ^1.0.1 - checksum: e49d21455e06d2cb9bf2a615bf3e605e0603c2c430a84c37a34f8baedaf3e8f9d0059a085d3e0483cbfa04c0d4153c7da28e7ac0ada319efdefe407df11dc1d4 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.0, postcss-selector-parser@npm:^6.0.2": - version: 6.0.4 - resolution: "postcss-selector-parser@npm:6.0.4" +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.6, postcss-selector-parser@npm:^6.0.9": + version: 6.0.10 + resolution: "postcss-selector-parser@npm:6.0.10" dependencies: cssesc: ^3.0.0 - indexes-of: ^1.0.1 - uniq: ^1.0.1 util-deprecate: ^1.0.2 - checksum: 2030e3439a5841d0d1bbe3e7a77515bc677397b0073691e8dc4e1168ecd8a7adc8aba2ce7f274d1b2654b73c94818758d335ecbf85e1b29705d17180030f8164 + checksum: 46afaa60e3d1998bd7adf6caa374baf857cc58d3ff944e29459c9a9e4680a7fe41597bd5b755fc81d7c388357e9bf67c0251d047c640a09f148e13606b8a8608 languageName: node linkType: hard -"postcss-svgo@npm:^4.0.2": - version: 4.0.2 - resolution: "postcss-svgo@npm:4.0.2" +"postcss-svgo@npm:^4.0.3": + version: 4.0.3 + resolution: "postcss-svgo@npm:4.0.3" dependencies: - is-svg: ^3.0.0 postcss: ^7.0.0 postcss-value-parser: ^3.0.0 svgo: ^1.0.0 - checksum: 618d3d29f2ddf1dbf142e6bd1ba54b0582686a366a05c2ffe50fb3f687f250cb1c13be000648790bb7e7af866b03cfcf2eb4dd702ac397bd07639ae31bc81d9e + checksum: 6f5264241193ca3ba748fdf43c88ef692948d2ae38787398dc90089061fed884064ec14ee244fce07f19c419d1b058c77e135407d0932b09e93e528581ce3e10 + languageName: node + linkType: hard + +"postcss-svgo@npm:^5.1.0": + version: 5.1.0 + resolution: "postcss-svgo@npm:5.1.0" + dependencies: + postcss-value-parser: ^4.2.0 + svgo: ^2.7.0 + peerDependencies: + postcss: ^8.2.15 + checksum: d86eb5213d9f700cf5efe3073799b485fb7cacae0c731db3d7749c9c2b1c9bc85e95e0baeca439d699ff32ea24815fc916c4071b08f67ed8219df229ce1129bd languageName: node linkType: hard @@ -20344,6 +18159,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"postcss-unique-selectors@npm:^5.1.1": + version: 5.1.1 + resolution: "postcss-unique-selectors@npm:5.1.1" + dependencies: + postcss-selector-parser: ^6.0.5 + peerDependencies: + postcss: ^8.2.15 + checksum: 637e7b786e8558265775c30400c54b6b3b24d4748923f4a39f16a65fd0e394f564ccc9f0a1d3c0e770618a7637a7502ea1d0d79f731d429cb202255253c23278 + languageName: node + linkType: hard + "postcss-value-parser@npm:^3.0.0, postcss-value-parser@npm:^3.3.1": version: 3.3.1 resolution: "postcss-value-parser@npm:3.3.1" @@ -20351,31 +18177,13 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.1.0": - version: 4.1.0 - resolution: "postcss-value-parser@npm:4.1.0" - checksum: 68a9ea27c780fa3cc350be37b47cc46385c61dd9627990909230e0e9c3debf6d5beb49006bd743a2e506cdd6fa7d07637f2d9504a394f67cc3011d1ff0134886 - languageName: node - linkType: hard - -"postcss-value-parser@npm:^4.2.0": +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f languageName: node linkType: hard -"postcss-values-parser@npm:^2.0.0, postcss-values-parser@npm:^2.0.1": - version: 2.0.1 - resolution: "postcss-values-parser@npm:2.0.1" - dependencies: - flatten: ^1.0.2 - indexes-of: ^1.0.1 - uniq: ^1.0.1 - checksum: 050877880937e15af8d18bf48902e547e2123d7cc32c1f215b392642bc5e2598a87a341995d62f38e450aab4186b8afeb2c9541934806d458ad8b117020b2ebf - languageName: node - linkType: hard - "postcss@npm:6.0.1": version: 6.0.1 resolution: "postcss@npm:6.0.1" @@ -20387,17 +18195,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss@npm:7.0.21": - version: 7.0.21 - resolution: "postcss@npm:7.0.21" - dependencies: - chalk: ^2.4.2 - source-map: ^0.6.1 - supports-color: ^6.1.0 - checksum: 5c11d58a4ffd54ddaf2f2f18ef7be10fc44405559ee56b52e41db8305d1b184d162138994dcce506ab77eef7283887a72d1b81cd1036c7fee106f50af0ef86d3 - languageName: node - linkType: hard - "postcss@npm:7.0.32": version: 7.0.32 resolution: "postcss@npm:7.0.32" @@ -20420,43 +18217,42 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss@npm:^7, postcss@npm:^7.0.0, postcss@npm:^7.0.1, postcss@npm:^7.0.11, postcss@npm:^7.0.14, postcss@npm:^7.0.17, postcss@npm:^7.0.2, postcss@npm:^7.0.26, postcss@npm:^7.0.27, postcss@npm:^7.0.32, postcss@npm:^7.0.5, postcss@npm:^7.0.6": - version: 7.0.35 - resolution: "postcss@npm:7.0.35" +"postcss@npm:^7.0.0, postcss@npm:^7.0.1, postcss@npm:^7.0.11, postcss@npm:^7.0.17, postcss@npm:^7.0.27, postcss@npm:^7.0.35": + version: 7.0.39 + resolution: "postcss@npm:7.0.39" dependencies: - chalk: ^2.4.2 + picocolors: ^0.2.1 source-map: ^0.6.1 - supports-color: ^6.1.0 - checksum: 6b197769057f38b9d4d8778c7e3b8b4a56c0c2c3ac8edf7552b06ac964e1a3601567fa2c5335a54fba103492305b0fc1347ce786fd72e30903a22f09f86525ae + checksum: 4ac793f506c23259189064bdc921260d869a115a82b5e713973c5af8e94fbb5721a5cc3e1e26840500d7e1f1fa42a209747c5b1a151918a9bc11f0d7ed9048e3 languageName: node linkType: hard -"postcss@npm:^8.1.0": - version: 8.2.13 - resolution: "postcss@npm:8.2.13" +"postcss@npm:^8.3.5, postcss@npm:^8.4.14, postcss@npm:^8.4.4, postcss@npm:^8.4.7": + version: 8.4.14 + resolution: "postcss@npm:8.4.14" dependencies: - colorette: ^1.2.2 - nanoid: ^3.1.22 - source-map: ^0.6.1 - checksum: 1f4a4d85c220d90d11486d0a21a0549dff91e52b8857957c797feb408b31f929b142d0b7ab029ec81bb5a48b0e8605ba716d674571fa98962737c90164d64648 + nanoid: ^3.3.4 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: fe58766ff32e4becf65a7d57678995cfd239df6deed2fe0557f038b47c94e4132e7e5f68b5aa820c13adfec32e523b693efaeb65798efb995ce49ccd83953816 languageName: node linkType: hard -"posthtml-parser@npm:^0.10.0": - version: 0.10.1 - resolution: "posthtml-parser@npm:0.10.1" +"posthtml-parser@npm:^0.10.1": + version: 0.10.2 + resolution: "posthtml-parser@npm:0.10.2" dependencies: htmlparser2: ^7.1.1 - checksum: 720e5b726a9cb299e6eb447772c6acc2237fa080388931ac5b64d7eb6e02ccdc07395dbcc552186ce5a49f9528f851480d64deb6594ca16c57b20eb4e1035918 + checksum: 63ec8e8631031f7879cada68ad165436ad6142eedd6ed9cb19b28c87848985819d50104d73a182a5205e7083e93131b68196c13c32cea12c0e225c7400591432 languageName: node linkType: hard -"posthtml-parser@npm:^0.10.1": - version: 0.10.2 - resolution: "posthtml-parser@npm:0.10.2" +"posthtml-parser@npm:^0.11.0": + version: 0.11.0 + resolution: "posthtml-parser@npm:0.11.0" dependencies: htmlparser2: ^7.1.1 - checksum: 63ec8e8631031f7879cada68ad165436ad6142eedd6ed9cb19b28c87848985819d50104d73a182a5205e7083e93131b68196c13c32cea12c0e225c7400591432 + checksum: 37dca546a04dc2ddc936a629596edccc9e439a7f6ad503dae5165ea197ddc53f102e69259719a49ecd491e01b093b95c96287c38101f985b78a846c05a206b3c languageName: node linkType: hard @@ -20469,16 +18265,16 @@ fsevents@^1.2.7: languageName: node linkType: hard -"posthtml-parser@npm:^0.5.0": - version: 0.5.3 - resolution: "posthtml-parser@npm:0.5.3" +"posthtml-parser@npm:^0.7.2": + version: 0.7.2 + resolution: "posthtml-parser@npm:0.7.2" dependencies: - htmlparser2: ^3.9.2 - checksum: d1da51d833214f4aebab4438e028316fa7bd1b7990be8f9c5131806aa776015b4d7bde5928d1db61f8b5469c548fb4979b0a8f91d5f42d4e6e71bc5bad9e4d66 + htmlparser2: ^6.0.0 + checksum: dca97687f09e4f3a46e683bd1e5efe49ca15cbadafca4282d3e0b2228df2634a0798826842c3bceec2ee28651a797b446b4825c867c34871945972302ad6e0f8 languageName: node linkType: hard -"posthtml-render@npm:^1.1.3, posthtml-render@npm:^1.1.5, posthtml-render@npm:^1.2.3, posthtml-render@npm:^1.3.0": +"posthtml-render@npm:^1.1.3, posthtml-render@npm:^1.1.5, posthtml-render@npm:^1.3.1": version: 1.4.0 resolution: "posthtml-render@npm:1.4.0" checksum: 68c5c85834d57d54bb797ae81a4ab74ad1d87f55e6a327dac9804fbed96214b57d437d7e255e9396184ab976ab7e77aed6efda9315c156ab25ef8ab2c095c16b @@ -20504,30 +18300,30 @@ fsevents@^1.2.7: languageName: node linkType: hard -"posthtml@npm:^0.13.4": - version: 0.13.4 - resolution: "posthtml@npm:0.13.4" +"posthtml@npm:^0.15.1": + version: 0.15.2 + resolution: "posthtml@npm:0.15.2" dependencies: - posthtml-parser: ^0.5.0 - posthtml-render: ^1.2.3 - checksum: f42d65b324393539402e20956779f7b405deda65c68220270ec24905fa3641bc7c45ad0fc291ea0c97e6064e9a4252daeaf148646e36d3f6ed086b47abed15ae + posthtml-parser: ^0.7.2 + posthtml-render: ^1.3.1 + checksum: 9b37fea35f8adecfd4379e568ba4038448c0a1fd9e0c8167765488e4e453891fa4481a9b8925d23b1dba5c2810c42717e19bc4870468f07983d5d99e0f105bb7 languageName: node linkType: hard "posthtml@npm:^0.16.4, posthtml@npm:^0.16.5": - version: 0.16.5 - resolution: "posthtml@npm:0.16.5" + version: 0.16.6 + resolution: "posthtml@npm:0.16.6" dependencies: - posthtml-parser: ^0.10.0 + posthtml-parser: ^0.11.0 posthtml-render: ^3.0.0 - checksum: b3313590eb5139b40bb8d60c950c6f25ce17ce9dcd18e154f96d3d80a990ed2b097e706dfd5195ca400125e77290b1d793f764ccfe5a93643c441d242b5803c6 + checksum: 8b9b9d27bd2417d6b5b7d408000b23316c3c4d2a2d0ea62080a8fbec5654cc7376ea9d6317b290c030d616142144a8ca0a96ffe1e919493e3eac17442d362596 languageName: node linkType: hard "potpack@npm:^1.0.1": - version: 1.0.1 - resolution: "potpack@npm:1.0.1" - checksum: 6b4481e53eccfd0f8a12dcbf63d7ef595bdcaa89308421360323bf2cb41466c4d4626424332d777defcc569c0ee5300923722f75f846e187ac4df14e6ac895f4 + version: 1.0.2 + resolution: "potpack@npm:1.0.2" + checksum: 9dfdbbce012ce80842249abcdd89e20222eb8ae96beba8d578b7e41e78feefc7e33b5c72d46fb8dd3a1e382cb4da9c34574764d88aa8849ab36f542fd2088b42 languageName: node linkType: hard @@ -20545,13 +18341,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"prepend-http@npm:^1.0.0": - version: 1.0.4 - resolution: "prepend-http@npm:1.0.4" - checksum: 01e7baf4ad38af02257b99098543469332fc42ae50df33d97a124bf8172295907352fa6138c9b1610c10c6dd0847ca736e53fda736387cc5cf8fcffe96b47f29 - languageName: node - linkType: hard - "prettier-linter-helpers@npm:^1.0.0": version: 1.0.0 resolution: "prettier-linter-helpers@npm:1.0.0" @@ -20579,32 +18368,43 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pretty-bytes@npm:^5.3.0": +"pretty-bytes@npm:^5.3.0, pretty-bytes@npm:^5.4.1": version: 5.6.0 resolution: "pretty-bytes@npm:5.6.0" checksum: 9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd languageName: node linkType: hard -"pretty-error@npm:^2.1.1": - version: 2.1.2 - resolution: "pretty-error@npm:2.1.2" +"pretty-error@npm:^4.0.0": + version: 4.0.0 + resolution: "pretty-error@npm:4.0.0" dependencies: lodash: ^4.17.20 - renderkid: ^2.0.4 - checksum: 16775d06f9a695d17103414d610b1281f9535ee1f2da1ce1e1b9be79584a114aa7eac6dcdcc5ef151756d3c014dfd4ac1c7303ed8016d0cec12437cfdf4021c6 + renderkid: ^3.0.0 + checksum: a5b9137365690104ded6947dca2e33360bf55e62a4acd91b1b0d7baa3970e43754c628cc9e16eafbdd4e8f8bcb260a5865475d4fc17c3106ff2d61db4e72cdf3 languageName: node linkType: hard -"pretty-format@npm:^26.6.0, pretty-format@npm:^26.6.2": - version: 26.6.2 - resolution: "pretty-format@npm:26.6.2" +"pretty-format@npm:^27.5.1": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" dependencies: - "@jest/types": ^26.6.2 - ansi-regex: ^5.0.0 - ansi-styles: ^4.0.0 + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 react-is: ^17.0.1 - checksum: e3b808404d7e1519f0df1aa1f25cee0054ab475775c6b2b8c5568ff23194a92d54bf93274139b6f584ca70fd773be4eaa754b0e03f12bb0a8d1426b07f079976 + checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 + languageName: node + linkType: hard + +"pretty-format@npm:^28.1.3": + version: 28.1.3 + resolution: "pretty-format@npm:28.1.3" + dependencies: + "@jest/schemas": ^28.1.3 + ansi-regex: ^5.0.1 + ansi-styles: ^5.0.0 + react-is: ^18.0.0 + checksum: e69f857358a3e03d271252d7524bec758c35e44680287f36c1cb905187fbc82da9981a6eb07edfd8a03bc3cbeebfa6f5234c13a3d5b59f2bbdf9b4c4053e0a7f languageName: node linkType: hard @@ -20654,6 +18454,16 @@ fsevents@^1.2.7: languageName: node linkType: hard +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + "promise@npm:^8.1.0": version: 8.1.0 resolution: "promise@npm:8.1.0" @@ -20663,17 +18473,17 @@ fsevents@^1.2.7: languageName: node linkType: hard -"prompts@npm:2.4.0, prompts@npm:^2.0.1": - version: 2.4.0 - resolution: "prompts@npm:2.4.0" +"prompts@npm:^2.0.1, prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" dependencies: kleur: ^3.0.3 sisteransi: ^1.0.5 - checksum: 96c7bef8eb3c0bb2076d2bc5ee473f06e6d8ac01ac4d0f378dfeb0ddaf2f31c339360ec8f0f8486f78601d16ebef7c6bd9886d44b937ba01bab568b937190265 + checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d languageName: node linkType: hard -"prop-types@npm:15.8.1, prop-types@npm:^15.8.1, prop-types@npm:~15.8.1": +"prop-types@npm:15.8.1, prop-types@npm:^15.5.10, prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.1, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1, prop-types@npm:~15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -20684,20 +18494,9 @@ fsevents@^1.2.7: languageName: node linkType: hard -"prop-types@npm:^15.5.10, prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.1, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": - version: 15.7.2 - resolution: "prop-types@npm:15.7.2" - dependencies: - loose-envify: ^1.4.0 - object-assign: ^4.1.1 - react-is: ^16.8.1 - checksum: 5eef82fdda64252c7e75aa5c8cc28a24bbdece0f540adb60ce67c205cf978a5bd56b83e4f269f91c6e4dcfd80b36f2a2dec24d362e278913db2086ca9c6f9430 - languageName: node - linkType: hard - -"protobufjs@npm:^6.10.0": - version: 6.11.2 - resolution: "protobufjs@npm:6.11.2" +"protobufjs@npm:^6.11.3": + version: 6.11.3 + resolution: "protobufjs@npm:6.11.3" dependencies: "@protobufjs/aspromise": ^1.1.2 "@protobufjs/base64": ^1.1.2 @@ -20715,31 +18514,45 @@ fsevents@^1.2.7: bin: pbjs: bin/pbjs pbts: bin/pbts - checksum: 80e9d9610c3eb66f9eae4e44a1ae30381cedb721b7d5f635d781fe4c507e2c77bb7c879addcd1dda79733d3ae589d9e66fd18d42baf99b35df7382a0f9920795 + checksum: 4a6ce1964167e4c45c53fd8a312d7646415c777dd31b4ba346719947b88e61654912326101f927da387d6b6473ab52a7ea4f54d6f15d63b31130ce28e2e15070 languageName: node linkType: hard -"protocol-buffers-schema@npm:^3.3.1": - version: 3.5.1 - resolution: "protocol-buffers-schema@npm:3.5.1" - checksum: 56a6eff006a23300b8824b24e5c53b8fff9d74549c75408ac5e9b4dcef1964f8fa0d005406ce0a6ee8e3dff4e30745702f131a2cde44e14dd3186404ed7a1bfa +"protobufjs@npm:^7.0.0": + version: 7.0.0 + resolution: "protobufjs@npm:7.0.0" + dependencies: + "@protobufjs/aspromise": ^1.1.2 + "@protobufjs/base64": ^1.1.2 + "@protobufjs/codegen": ^2.0.4 + "@protobufjs/eventemitter": ^1.1.0 + "@protobufjs/fetch": ^1.1.0 + "@protobufjs/float": ^1.0.2 + "@protobufjs/inquire": ^1.1.0 + "@protobufjs/path": ^1.1.2 + "@protobufjs/pool": ^1.1.0 + "@protobufjs/utf8": ^1.1.0 + "@types/long": ^4.0.1 + "@types/node": ">=13.7.0" + long: ^5.0.0 + checksum: 84c12ceef34d190bb0e08c7203a4e066c66b67fa788ac18575b5c45a269a515c3921b13116e12fe55ffe1fd4831ce208481d44231b75dbe0a8730ab4ca51c84b languageName: node linkType: hard -"proxy-addr@npm:~2.0.5": - version: 2.0.6 - resolution: "proxy-addr@npm:2.0.6" - dependencies: - forwarded: ~0.1.2 - ipaddr.js: 1.9.1 - checksum: 2bad9b7a56b847faf606a19328aaaf5fca3e561ebb4e933969a580d94a20f77e74fb21196028a6e417851b3d9d95a0c704732a3362e3ef515d45d96859ac7eb9 +"protocol-buffers-schema@npm:^3.3.1": + version: 3.6.0 + resolution: "protocol-buffers-schema@npm:3.6.0" + checksum: 8713b5770f6745ddbcdf3bbd03ee020624d506233bb567927a6615a6f69a5bd620a5f49597f34f4115792b853a4c9cb9e2d5d6b930a1c04bf198023e45c1c349 languageName: node linkType: hard -"prr@npm:~1.0.1": - version: 1.0.1 - resolution: "prr@npm:1.0.1" - checksum: 3bca2db0479fd38f8c4c9439139b0c42dcaadcc2fbb7bb8e0e6afaa1383457f1d19aea9e5f961d5b080f1cfc05bfa1fe9e45c97a1d3fd6d421950a73d3108381 +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 languageName: node linkType: hard @@ -20750,10 +18563,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"psl@npm:^1.1.28": - version: 1.8.0 - resolution: "psl@npm:1.8.0" - checksum: 6150048ed2da3f919478bee8a82f3828303bc0fc730fb015a48f83c9977682c7b28c60ab01425a72d82a2891a1681627aa530a991d50c086b48a3be27744bde7 +"psl@npm:^1.1.28, psl@npm:^1.1.33": + version: 1.9.0 + resolution: "psl@npm:1.9.0" + checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d languageName: node linkType: hard @@ -20771,37 +18584,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pump@npm:^2.0.0": - version: 2.0.1 - resolution: "pump@npm:2.0.1" - dependencies: - end-of-stream: ^1.1.0 - once: ^1.3.1 - checksum: e9f26a17be00810bff37ad0171edb35f58b242487b0444f92fb7d78bc7d61442fa9b9c5bd93a43fd8fd8ddd3cc75f1221f5e04c790f42907e5baab7cf5e2b931 - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" - dependencies: - end-of-stream: ^1.1.0 - once: ^1.3.1 - checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 - languageName: node - linkType: hard - -"pumpify@npm:^1.3.3": - version: 1.5.1 - resolution: "pumpify@npm:1.5.1" - dependencies: - duplexify: ^3.6.0 - inherits: ^2.0.3 - pump: ^2.0.0 - checksum: 26ca412ec8d665bd0d5e185c1b8f627728eff603440d75d22a58e421e3c66eaf86ec6fc6a6efc54808ecef65979279fa8e99b109a23ec1fa8d79f37e6978c9bd - languageName: node - linkType: hard - "punycode@npm:1.3.2": version: 1.3.2 resolution: "punycode@npm:1.3.2" @@ -20858,17 +18640,19 @@ fsevents@^1.2.7: languageName: node linkType: hard -"qs@npm:6.7.0": - version: 6.7.0 - resolution: "qs@npm:6.7.0" - checksum: dfd5f6adef50e36e908cfa70a6233871b5afe66fbaca37ecc1da352ba29eb2151a3797991948f158bb37fccde51bd57845cb619a8035287bfc24e4591172c347 +"qs@npm:6.10.3": + version: 6.10.3 + resolution: "qs@npm:6.10.3" + dependencies: + side-channel: ^1.0.4 + checksum: 0fac5e6c7191d0295a96d0e83c851aeb015df7e990e4d3b093897d3ac6c94e555dbd0a599739c84d7fa46d7fee282d94ba76943983935cf33bba6769539b8019 languageName: node linkType: hard "qs@npm:~6.5.2": - version: 6.5.2 - resolution: "qs@npm:6.5.2" - checksum: 24af7b9928ba2141233fba2912876ff100403dba1b08b20c3b490da9ea6c636760445ea2211a079e7dfa882a5cf8f738337b3748c8bdd0f93358fa8881d2db8f + version: 6.5.3 + resolution: "qs@npm:6.5.3" + checksum: 6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692 languageName: node linkType: hard @@ -20879,16 +18663,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"query-string@npm:^4.1.0": - version: 4.3.4 - resolution: "query-string@npm:4.3.4" - dependencies: - object-assign: ^4.1.0 - strict-uri-encode: ^1.0.0 - checksum: 3b2bae6a8454cf0edf11cf1aa4d1f920398bbdabc1c39222b9bb92147e746fcd97faf00e56f494728fb66b2961b495ba0fde699d5d3bd06b11472d664b36c6cf - languageName: node - linkType: hard - "querystring-es3@npm:^0.2.0": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -20903,24 +18677,17 @@ fsevents@^1.2.7: languageName: node linkType: hard -"querystring@npm:^0.2.0": - version: 0.2.1 - resolution: "querystring@npm:0.2.1" - checksum: 7b83b45d641e75fd39cd6625ddfd44e7618e741c61e95281b57bbae8fde0afcc12cf851924559e5cc1ef9baa3b1e06e22b164ea1397d65dd94b801f678d9c8ce - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 languageName: node linkType: hard -"queue-microtask@npm:^1.2.2": - version: 1.2.2 - resolution: "queue-microtask@npm:1.2.2" - checksum: 94a7906b4ef8b22c81f0c1fa37db3799496bcefb5edf8a53f60fe2f30d254c672c0f916cd9935d818bb4a52c99eeb431ecfb814a5b7eef780966f92b6eee9c55 +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: a516faa25574be7947969883e6068dbe4aa19e8ef8e8e0fd96cddd6d36485e9106d85c0041a27153286b0770b381328f4072aa40d3b18a19f5f7d2b78b94b5ed languageName: node linkType: hard @@ -20979,61 +18746,61 @@ fsevents@^1.2.7: languageName: node linkType: hard -"raw-body@npm:2.4.0": - version: 2.4.0 - resolution: "raw-body@npm:2.4.0" +"raw-body@npm:2.5.1": + version: 2.5.1 + resolution: "raw-body@npm:2.5.1" dependencies: - bytes: 3.1.0 - http-errors: 1.7.2 + bytes: 3.1.2 + http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - checksum: 6343906939e018c6e633a34a938a5d6d1e93ffcfa48646e00207d53b418e941953b521473950c079347220944dc75ba10e7b3c08bf97e3ac72c7624882db09bb + checksum: 5362adff1575d691bb3f75998803a0ffed8c64eabeaa06e54b4ada25a0cd1b2ae7f4f5ec46565d1bec337e08b5ac90c76eaa0758de6f72a633f025d754dec29e languageName: node linkType: hard -"react-app-polyfill@npm:^2.0.0": - version: 2.0.0 - resolution: "react-app-polyfill@npm:2.0.0" +"react-app-polyfill@npm:^3.0.0": + version: 3.0.0 + resolution: "react-app-polyfill@npm:3.0.0" dependencies: - core-js: ^3.6.5 + core-js: ^3.19.2 object-assign: ^4.1.1 promise: ^8.1.0 raf: ^3.4.1 - regenerator-runtime: ^0.13.7 - whatwg-fetch: ^3.4.1 - checksum: 99e52a6b2229c7ca730cfd44ac95640f955be71d144225bd6c24fa47922a742658a371d0a2f0876d732533f1055b7cd7e9d534c89c29f8ca889ecd1b8d15f065 - languageName: node - linkType: hard - -"react-dev-utils@npm:^11.0.3": - version: 11.0.4 - resolution: "react-dev-utils@npm:11.0.4" - dependencies: - "@babel/code-frame": 7.10.4 - address: 1.1.2 - browserslist: 4.14.2 - chalk: 2.4.2 - cross-spawn: 7.0.3 - detect-port-alt: 1.1.6 - escape-string-regexp: 2.0.0 - filesize: 6.1.0 - find-up: 4.1.0 - fork-ts-checker-webpack-plugin: 4.1.6 - global-modules: 2.0.0 - globby: 11.0.1 - gzip-size: 5.1.1 - immer: 8.0.1 - is-root: 2.1.0 - loader-utils: 2.0.0 - open: ^7.0.2 - pkg-up: 3.1.0 - prompts: 2.4.0 - react-error-overlay: ^6.0.9 - recursive-readdir: 2.2.2 - shell-quote: 1.7.2 - strip-ansi: 6.0.0 - text-table: 0.2.0 - checksum: b41c95010a4fb60d4ea6309423520e6268757b68df34de7e9e8dbc72549236a1f5a698ff99ad72a034ac51b042aa79ee53994330ce4df05bf867e63c5464bb3f + regenerator-runtime: ^0.13.9 + whatwg-fetch: ^3.6.2 + checksum: 1bb031080af15397d6eb9c69a0c2e93799991f7197a086e4409ba719398f1256b542a3d6c9a34673d516c684eef3e8226c99b335982593851f58f65f6e43571b + languageName: node + linkType: hard + +"react-dev-utils@npm:^12.0.1": + version: 12.0.1 + resolution: "react-dev-utils@npm:12.0.1" + dependencies: + "@babel/code-frame": ^7.16.0 + address: ^1.1.2 + browserslist: ^4.18.1 + chalk: ^4.1.2 + cross-spawn: ^7.0.3 + detect-port-alt: ^1.1.6 + escape-string-regexp: ^4.0.0 + filesize: ^8.0.6 + find-up: ^5.0.0 + fork-ts-checker-webpack-plugin: ^6.5.0 + global-modules: ^2.0.0 + globby: ^11.0.4 + gzip-size: ^6.0.0 + immer: ^9.0.7 + is-root: ^2.1.0 + loader-utils: ^3.2.0 + open: ^8.4.0 + pkg-up: ^3.1.0 + prompts: ^2.4.2 + react-error-overlay: ^6.0.11 + recursive-readdir: ^2.2.2 + shell-quote: ^1.7.3 + strip-ansi: ^6.0.1 + text-table: ^0.2.0 + checksum: 2c6917e47f03d9595044770b0f883a61c6b660fcaa97b8ba459a1d57c9cca9aa374cd51296b22d461ff5e432105dbe6f04732dab128e52729c79239e1c23ab56 languageName: node linkType: hard @@ -21050,34 +18817,41 @@ fsevents@^1.2.7: languageName: node linkType: hard -"react-error-overlay@npm:6.0.9, react-error-overlay@npm:^6.0.9": +"react-error-overlay@npm:6.0.9": version: 6.0.9 resolution: "react-error-overlay@npm:6.0.9" checksum: 695853bc885e798008a00c10d8d94e5ac91626e8130802fea37345f9c037f41b80104345db2ee87f225feb4a4ef71b0df572b17c378a6d397b6815f6d4a84293 languageName: node linkType: hard -"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0, react-is@npm:^16.8.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f +"react-error-overlay@npm:^6.0.11": + version: 6.0.11 + resolution: "react-error-overlay@npm:6.0.11" + checksum: ce7b44c38fadba9cedd7c095cf39192e632daeccf1d0747292ed524f17dcb056d16bc197ddee5723f9dd888f0b9b19c3b486c430319e30504289b9296f2d2c42 languageName: node linkType: hard -"react-is@npm:^16.8.0 || ^17.0.0, react-is@npm:^17.0.1": - version: 17.0.1 - resolution: "react-is@npm:17.0.1" - checksum: 5e6945a286367894d11b24f41a0065607ba62bdac0df0b567294b2e299c037e3641434e66f9be30536b8c47f7ad94d44e633feb2ba25959c2c42423844e6c2f1 +"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f languageName: node linkType: hard -"react-is@npm:^17.0.2": +"react-is@npm:^16.8.0 || ^17.0.0, react-is@npm:^17.0.1, react-is@npm:^17.0.2": version: 17.0.2 resolution: "react-is@npm:17.0.2" checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 languageName: node linkType: hard +"react-is@npm:^18.0.0, react-is@npm:^18.2.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e + languageName: node + linkType: hard + "react-json-to-csv@npm:~1.0.4": version: 1.0.4 resolution: "react-json-to-csv@npm:1.0.4" @@ -21153,10 +18927,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"react-refresh@npm:^0.8.3": - version: 0.8.3 - resolution: "react-refresh@npm:0.8.3" - checksum: 3cffe5a9cbac1c5d59bf74bf9fff43c987d87ef32098b9092ea94b6637377d86c08565b9374d9397f446b3fbcd95de986ec77220a16f979687cb39b7b89e2f91 +"react-refresh@npm:^0.11.0": + version: 0.11.0 + resolution: "react-refresh@npm:0.11.0" + checksum: 112178a05b1e0ffeaf5d9fb4e56b4410a34a73adeb04dbf13abdc50d9ac9df2ada83e81485156cca0b3fa296aa3612751b3d6cd13be4464642a43679b819cbc7 languageName: node linkType: hard @@ -21204,69 +18978,58 @@ fsevents@^1.2.7: languageName: node linkType: hard -"react-scripts@npm:4.0.3": - version: 4.0.3 - resolution: "react-scripts@npm:4.0.3" - dependencies: - "@babel/core": 7.12.3 - "@pmmmwh/react-refresh-webpack-plugin": 0.4.3 - "@svgr/webpack": 5.5.0 - "@typescript-eslint/eslint-plugin": ^4.5.0 - "@typescript-eslint/parser": ^4.5.0 - babel-eslint: ^10.1.0 - babel-jest: ^26.6.0 - babel-loader: 8.1.0 - babel-plugin-named-asset-import: ^0.3.7 - babel-preset-react-app: ^10.0.0 +"react-scripts@npm:~5.0.1": + version: 5.0.1 + resolution: "react-scripts@npm:5.0.1" + dependencies: + "@babel/core": ^7.16.0 + "@pmmmwh/react-refresh-webpack-plugin": ^0.5.3 + "@svgr/webpack": ^5.5.0 + babel-jest: ^27.4.2 + babel-loader: ^8.2.3 + babel-plugin-named-asset-import: ^0.3.8 + babel-preset-react-app: ^10.0.1 bfj: ^7.0.2 - camelcase: ^6.1.0 - case-sensitive-paths-webpack-plugin: 2.3.0 - css-loader: 4.3.0 - dotenv: 8.2.0 - dotenv-expand: 5.1.0 - eslint: ^7.11.0 - eslint-config-react-app: ^6.0.0 - eslint-plugin-flowtype: ^5.2.0 - eslint-plugin-import: ^2.22.1 - eslint-plugin-jest: ^24.1.0 - eslint-plugin-jsx-a11y: ^6.3.1 - eslint-plugin-react: ^7.21.5 - eslint-plugin-react-hooks: ^4.2.0 - eslint-plugin-testing-library: ^3.9.2 - eslint-webpack-plugin: ^2.5.2 - file-loader: 6.1.1 - fs-extra: ^9.0.1 - fsevents: ^2.1.3 - html-webpack-plugin: 4.5.0 - identity-obj-proxy: 3.0.0 - jest: 26.6.0 - jest-circus: 26.6.0 - jest-resolve: 26.6.0 - jest-watch-typeahead: 0.6.1 - mini-css-extract-plugin: 0.11.3 - optimize-css-assets-webpack-plugin: 5.0.4 - pnp-webpack-plugin: 1.6.4 - postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 3.0.0 - postcss-normalize: 8.0.1 - postcss-preset-env: 6.7.0 - postcss-safe-parser: 5.0.2 - prompts: 2.4.0 - react-app-polyfill: ^2.0.0 - react-dev-utils: ^11.0.3 - react-refresh: ^0.8.3 - resolve: 1.18.1 - resolve-url-loader: ^3.1.2 - sass-loader: ^10.0.5 - semver: 7.3.2 - style-loader: 1.3.0 - terser-webpack-plugin: 4.2.3 - ts-pnp: 1.2.0 - url-loader: 4.1.1 - webpack: 4.44.2 - webpack-dev-server: 3.11.1 - webpack-manifest-plugin: 2.2.0 - workbox-webpack-plugin: 5.1.4 + browserslist: ^4.18.1 + camelcase: ^6.2.1 + case-sensitive-paths-webpack-plugin: ^2.4.0 + css-loader: ^6.5.1 + css-minimizer-webpack-plugin: ^3.2.0 + dotenv: ^10.0.0 + dotenv-expand: ^5.1.0 + eslint: ^8.3.0 + eslint-config-react-app: ^7.0.1 + eslint-webpack-plugin: ^3.1.1 + file-loader: ^6.2.0 + fs-extra: ^10.0.0 + fsevents: ^2.3.2 + html-webpack-plugin: ^5.5.0 + identity-obj-proxy: ^3.0.0 + jest: ^27.4.3 + jest-resolve: ^27.4.2 + jest-watch-typeahead: ^1.0.0 + mini-css-extract-plugin: ^2.4.5 + postcss: ^8.4.4 + postcss-flexbugs-fixes: ^5.0.2 + postcss-loader: ^6.2.1 + postcss-normalize: ^10.0.1 + postcss-preset-env: ^7.0.1 + prompts: ^2.4.2 + react-app-polyfill: ^3.0.0 + react-dev-utils: ^12.0.1 + react-refresh: ^0.11.0 + resolve: ^1.20.0 + resolve-url-loader: ^4.0.0 + sass-loader: ^12.3.0 + semver: ^7.3.5 + source-map-loader: ^3.0.0 + style-loader: ^3.3.1 + tailwindcss: ^3.0.2 + terser-webpack-plugin: ^5.2.5 + webpack: ^5.64.4 + webpack-dev-server: ^4.6.0 + webpack-manifest-plugin: ^4.0.2 + workbox-webpack-plugin: ^6.4.1 peerDependencies: react: ">= 16" typescript: ^3.2.1 || ^4 @@ -21277,8 +19040,8 @@ fsevents@^1.2.7: typescript: optional: true bin: - react-scripts: ./bin/react-scripts.js - checksum: a05a46ce3145b42ac8b57633d3b90b6689c24697c1449bccf219349996d718a3cd0796e4910f4ab6abb5b024982cafd62345e88c8e7b42a45efca3bef1a0eb87 + react-scripts: bin/react-scripts.js + checksum: 92afa2f245c7092ccc97d5609dc7a2130616262e34da7f15072d9442e2d2e1d4909a91022abd1faac1336eb17c5525a10d9bd43e1ae374c7ec941ca20addca68 languageName: node linkType: hard @@ -21296,22 +19059,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"react-transition-group@npm:^4.4.0": - version: 4.4.1 - resolution: "react-transition-group@npm:4.4.1" - dependencies: - "@babel/runtime": ^7.5.5 - dom-helpers: ^5.0.1 - loose-envify: ^1.4.0 - prop-types: ^15.6.2 - peerDependencies: - react: ">=16.6.0" - react-dom: ">=16.6.0" - checksum: 0bcd8af483709832e318dcef84c26ebddeb866bf4f58010286367ef0c1e7c5106e00cfc65688b9102414cb3d572c63909c2eb7ea972b4420fc70a78c10b6e8ad - languageName: node - linkType: hard - -"react-transition-group@npm:^4.4.2": +"react-transition-group@npm:^4.4.0, react-transition-group@npm:^4.4.2": version: 4.4.2 resolution: "react-transition-group@npm:4.4.2" dependencies: @@ -21348,51 +19096,28 @@ fsevents@^1.2.7: languageName: node linkType: hard -"read-pkg-up@npm:^2.0.0": - version: 2.0.0 - resolution: "read-pkg-up@npm:2.0.0" - dependencies: - find-up: ^2.0.0 - read-pkg: ^2.0.0 - checksum: 22f9026fb72219ecd165f94f589461c70a88461dc7ea0d439a310ef2a5271ff176a4df4e5edfad087d8ac89b8553945eb209476b671e8ed081c990f30fc40b27 - languageName: node - linkType: hard - -"read-pkg-up@npm:^7.0.1": - version: 7.0.1 - resolution: "read-pkg-up@npm:7.0.1" - dependencies: - find-up: ^4.1.0 - read-pkg: ^5.2.0 - type-fest: ^0.8.1 - checksum: e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 - languageName: node - linkType: hard - -"read-pkg@npm:^2.0.0": - version: 2.0.0 - resolution: "read-pkg@npm:2.0.0" +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" dependencies: - load-json-file: ^2.0.0 - normalize-package-data: ^2.3.2 - path-type: ^2.0.0 - checksum: 85c5bf35f2d96acdd756151ba83251831bb2b1040b7d96adce70b2cb119b5320417f34876de0929f2d06c67f3df33ef4636427df3533913876f9ef2487a6f48f + pify: ^2.3.0 + checksum: cffc728b9ede1e0667399903f9ecaf3789888b041c46ca53382fa3a06303e5132774dc0a96d0c16aa702dbac1ea0833d5a868d414f5ab2af1e1438e19e6657c6 languageName: node linkType: hard -"read-pkg@npm:^5.2.0": - version: 5.2.0 - resolution: "read-pkg@npm:5.2.0" +"readable-stream@npm:>=1.0.33-1 <1.1.0-0": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" dependencies: - "@types/normalize-package-data": ^2.4.0 - normalize-package-data: ^2.5.0 - parse-json: ^5.0.0 - type-fest: ^0.6.0 - checksum: eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 languageName: node linkType: hard -"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.3, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.3, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -21407,19 +19132,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"readable-stream@npm:>=1.0.33-1 <1.1.0-0": - version: 1.0.34 - resolution: "readable-stream@npm:1.0.34" - dependencies: - core-util-is: ~1.0.0 - inherits: ~2.0.1 - isarray: 0.0.1 - string_decoder: ~0.10.x - checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 - languageName: node - linkType: hard - -"readable-stream@npm:^3.0.2, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.6.0": version: 3.6.0 resolution: "readable-stream@npm:3.6.0" dependencies: @@ -21441,16 +19154,16 @@ fsevents@^1.2.7: languageName: node linkType: hard -"readdirp@npm:~3.5.0": - version: 3.5.0 - resolution: "readdirp@npm:3.5.0" +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" dependencies: picomatch: ^2.2.1 - checksum: 6b1a9341e295e15d4fb40c010216cbcb6266587cd0b3ce7defabd66fa1b4e35f9fba3d64c2187fd38fadd01ccbfc5f1b33fdfb1da63b3cbf66224b7c6d75ce5a + checksum: 1ced032e6e45670b6d7352d71d21ce7edf7b9b928494dcaba6f11fba63180d9da6cd7061ebc34175ffda6ff529f481818c962952004d273178acd70f7059b320 languageName: node linkType: hard -"recursive-readdir@npm:2.2.2": +"recursive-readdir@npm:^2.2.2": version: 2.2.2 resolution: "recursive-readdir@npm:2.2.2" dependencies: @@ -21488,16 +19201,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"regenerate-unicode-properties@npm:^8.2.0": - version: 8.2.0 - resolution: "regenerate-unicode-properties@npm:8.2.0" - dependencies: - regenerate: ^1.4.0 - checksum: ee7db70ab25b95f2e3f39537089fc3eddba0b39fc9b982d6602f127996ce873d8c55584d5428486ca00dc0a85d174d943354943cd4a745cda475c8fe314b4f8a - languageName: node - linkType: hard - -"regenerate@npm:^1.4.0, regenerate@npm:^1.4.2": +"regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" checksum: 3317a09b2f802da8db09aa276e469b57a6c0dd818347e05b8862959c6193408242f150db5de83c12c3fa99091ad95fb42a6db2c3329bfaa12a0ea4cbbeb30cb0 @@ -21511,19 +19215,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.4, regenerator-runtime@npm:^0.13.7": - version: 0.13.7 - resolution: "regenerator-runtime@npm:0.13.7" - checksum: 52b66e6669152c0b1bccd95c8e11aabbfe67bb97bdf00e223bdf723b0f0052d4da5c02001d4c4bef576bdc5bcdc38a20496d1b5363b65c950c8434ed5071d9e0 - languageName: node - linkType: hard - -"regenerator-transform@npm:^0.14.2": - version: 0.14.5 - resolution: "regenerator-transform@npm:0.14.5" - dependencies: - "@babel/runtime": ^7.8.4 - checksum: a467a3b652b4ec26ff964e9c5f1817523a73fc44cb928b8d21ff11aebeac5d10a84d297fe02cea9f282bcec81a0b0d562237da69ef0f40a0160b30a4fa98bc94 +"regenerator-runtime@npm:^0.13.4, regenerator-runtime@npm:^0.13.7, regenerator-runtime@npm:^0.13.9": + version: 0.13.9 + resolution: "regenerator-runtime@npm:0.13.9" + checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e languageName: node linkType: hard @@ -21560,40 +19255,27 @@ fsevents@^1.2.7: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.3.1": - version: 1.3.1 - resolution: "regexp.prototype.flags@npm:1.3.1" +"regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": + version: 1.4.3 + resolution: "regexp.prototype.flags@npm:1.4.3" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.3 - checksum: 343595db5a6bbbb3bfbda881f9c74832cfa9fc0039e64a43843f6bb9158b78b921055266510800ed69d4997638890b17a46d55fd9f32961f53ae56ac3ec4dd05 - languageName: node - linkType: hard - -"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": - version: 3.1.0 - resolution: "regexpp@npm:3.1.0" - checksum: 63bcb2c98d63274774c79bef256e03f716d25f1fa8427267d0302d1436a83fa0d905f4e8a172fdfa99fb4d84833df2fb3bf7da2a1a868f156e913174c32b1139 + functions-have-names: ^1.2.2 + checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 languageName: node linkType: hard -"regexpu-core@npm:^4.7.1": - version: 4.7.1 - resolution: "regexpu-core@npm:4.7.1" - dependencies: - regenerate: ^1.4.0 - regenerate-unicode-properties: ^8.2.0 - regjsgen: ^0.5.1 - regjsparser: ^0.6.4 - unicode-match-property-ecmascript: ^1.0.4 - unicode-match-property-value-ecmascript: ^1.2.0 - checksum: 368b4aab72132ba3c8bd114822572c920d390ae99d3d219e0c7f872c6a0a3b1fbe30c88188ff90ec6f8e681667fa8e51d84a78bb05c460996a0df6a060b7ae80 +"regexpp@npm:^3.1.0, regexpp@npm:^3.2.0": + version: 3.2.0 + resolution: "regexpp@npm:3.2.0" + checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 languageName: node linkType: hard -"regexpu-core@npm:^5.0.1": - version: 5.0.1 - resolution: "regexpu-core@npm:5.0.1" +"regexpu-core@npm:^5.1.0": + version: 5.1.0 + resolution: "regexpu-core@npm:5.1.0" dependencies: regenerate: ^1.4.2 regenerate-unicode-properties: ^10.0.1 @@ -21601,14 +19283,7 @@ fsevents@^1.2.7: regjsparser: ^0.8.2 unicode-match-property-ecmascript: ^2.0.0 unicode-match-property-value-ecmascript: ^2.0.0 - checksum: 6151a9700dad512fadb5564ad23246d54c880eb9417efa5e5c3658b910c1ff894d622dfd159af2ed527ffd44751bfe98682ae06c717155c254d8e2b4bab62785 - languageName: node - linkType: hard - -"regjsgen@npm:^0.5.1": - version: 0.5.2 - resolution: "regjsgen@npm:0.5.2" - checksum: 87c83d8488affae2493a823904de1a29a1867a07433c5e1142ad749b5606c5589b305fe35bfcc0972cf5a3b0d66b1f7999009e541be39a5d42c6041c59e2fb52 + checksum: 7b4eb8d182d9d10537a220a93138df5bc7eaf4ed53e36b95e8427d33ed8a2b081468f1a15d3e5fcee66517e1df7f5ca180b999e046d060badd97150f2ffe87b2 languageName: node linkType: hard @@ -21619,17 +19294,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"regjsparser@npm:^0.6.4": - version: 0.6.7 - resolution: "regjsparser@npm:0.6.7" - dependencies: - jsesc: ~0.5.0 - bin: - regjsparser: bin/parser - checksum: e03e83714c419cdfb4c87160f2d4b4a66dd579d699a21bff2a0795a9178eb79219b0ec5a9fa8b34e75f746f1e82aa8c90fcb0d14c0a2f9d0d678208394b11d6e - languageName: node - linkType: hard - "regjsparser@npm:^0.8.2": version: 0.8.4 resolution: "regjsparser@npm:0.8.4" @@ -21676,31 +19340,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"regl-scatter2d@npm:^3.2.3": - version: 3.2.3 - resolution: "regl-scatter2d@npm:3.2.3" - dependencies: - "@plotly/point-cluster": ^3.1.9 - array-range: ^1.0.1 - array-rearrange: ^2.2.2 - clamp: ^1.0.1 - color-id: ^1.1.0 - color-normalize: ^1.5.0 - color-rgba: ^2.1.1 - flatten-vertex-data: ^1.0.2 - glslify: ^7.0.0 - image-palette: ^2.1.0 - is-iexplorer: ^1.0.0 - object-assign: ^4.1.1 - parse-rect: ^1.2.0 - pick-by-alias: ^1.2.0 - to-float32: ^1.0.1 - update-diff: ^1.1.0 - checksum: 0eda1d4d895e11e01769d6855a5f875bfbe7173822720581b97a29dca39e326ce27e82c5382113f8de1d3d34c0b98443222cb0be15808abc05af10179e046855 - languageName: node - linkType: hard - -"regl-scatter2d@npm:^3.2.8": +"regl-scatter2d@npm:^3.2.3, regl-scatter2d@npm:^3.2.8": version: 3.2.8 resolution: "regl-scatter2d@npm:3.2.8" dependencies: @@ -21768,23 +19408,23 @@ fsevents@^1.2.7: languageName: node linkType: hard -"renderkid@npm:^2.0.4": - version: 2.0.5 - resolution: "renderkid@npm:2.0.5" +"renderkid@npm:^3.0.0": + version: 3.0.0 + resolution: "renderkid@npm:3.0.0" dependencies: - css-select: ^2.0.2 - dom-converter: ^0.2 - htmlparser2: ^3.10.1 - lodash: ^4.17.20 - strip-ansi: ^3.0.0 - checksum: 8b6f6bb30af69c425db37939de15da7d93e9f063db3722823f66ea619055d06873be75d999ed4a12440f4f2f6d7090c790018b26f2fdf7aa8aac32edd5b2e462 + css-select: ^4.1.3 + dom-converter: ^0.2.0 + htmlparser2: ^6.1.0 + lodash: ^4.17.21 + strip-ansi: ^6.0.1 + checksum: 77162b62d6f33ab81f337c39efce0439ff0d1f6d441e29c35183151f83041c7850774fb904da163d6c844264d440d10557714e6daa0b19e4561a5cd4ef305d41 languageName: node linkType: hard "repeat-element@npm:^1.1.2": - version: 1.1.3 - resolution: "repeat-element@npm:1.1.3" - checksum: 0743a136b484117016ad587577ede60a3ffe604b74e57bd5d7d0aa041fe2f1c956e6b2f3ff83c86f4db9fac022c3fa2da8e58b9d3618b8b4cb1c3d041bcc422f + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 1edd0301b7edad71808baad226f0890ba709443f03a698224c9ee4f2494c317892dc5211b2ba8cbea7194a9ddbcac01e283bd66de0467ab24ee1fc1a3711d8a9 languageName: node linkType: hard @@ -21806,7 +19446,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"request-promise-native@npm:^1.0.5, request-promise-native@npm:^1.0.8": +"request-promise-native@npm:^1.0.5": version: 1.0.9 resolution: "request-promise-native@npm:1.0.9" dependencies: @@ -21819,7 +19459,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"request@npm:^2.88.0, request@npm:^2.88.2": +"request@npm:^2.88.0": version: 2.88.2 resolution: "request@npm:2.88.2" dependencies: @@ -21861,13 +19501,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 - languageName: node - linkType: hard - "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -21882,15 +19515,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"resolve-cwd@npm:^2.0.0": - version: 2.0.0 - resolution: "resolve-cwd@npm:2.0.0" - dependencies: - resolve-from: ^3.0.0 - checksum: e7c16880c460656e77f102d537a6dc82b3657d9173697cd6ea82ffce37df96f6c1fc79d0bb35fd73fff8871ac13f21b4396958b5f0a13e5b99c97d69f5e319fa - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -21937,21 +19561,24 @@ fsevents@^1.2.7: languageName: node linkType: hard -"resolve-url-loader@npm:^3.1.2": - version: 3.1.2 - resolution: "resolve-url-loader@npm:3.1.2" - dependencies: - adjust-sourcemap-loader: 3.0.0 - camelcase: 5.3.1 - compose-function: 3.0.3 - convert-source-map: 1.7.0 - es6-iterator: 2.0.3 - loader-utils: 1.2.3 - postcss: 7.0.21 +"resolve-url-loader@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-url-loader@npm:4.0.0" + dependencies: + adjust-sourcemap-loader: ^4.0.0 + convert-source-map: ^1.7.0 + loader-utils: ^2.0.0 + postcss: ^7.0.35 + source-map: 0.6.1 + peerDependencies: rework: 1.0.1 rework-visit: 1.0.0 - source-map: 0.6.1 - checksum: 02e559af8d10a8fda8d2cb1c61290b932787309309839288820438b4f25339a8c8cbd52598af89c1c1d277133d74914407e7a760e49acd966425a038798a6e70 + peerDependenciesMeta: + rework: + optional: true + rework-visit: + optional: true + checksum: 8e5bcf97867a5e128b6b86988d445b7fbd1214f7c5c0214332f835e8607438e153d9b3899799a03ddd03540254bb591e572feb330981a4478be934f6f045c925 languageName: node linkType: hard @@ -21962,53 +19589,43 @@ fsevents@^1.2.7: languageName: node linkType: hard -resolve@1.18.1: - version: 1.18.1 - resolution: "resolve@npm:1.18.1" - dependencies: - is-core-module: ^2.0.0 - path-parse: ^1.0.6 - checksum: bab3686fa87576ac7e7f68481e25494f99b8413f3bc5048c5284eabe021f98917a50c625f8a1920a87ffc347b076c12a4a685d46d5fc98f337cf2dd3792014f4 +"resolve.exports@npm:^1.1.0": + version: 1.1.0 + resolution: "resolve.exports@npm:1.1.0" + checksum: 52865af8edb088f6c7759a328584a5de6b226754f004b742523adcfe398cfbc4559515104bc2ae87b8e78b1e4de46c9baec400b3fb1f7d517b86d2d48a098a2d languageName: node linkType: hard -resolve@^0.6.1: +"resolve@npm:^0.6.1": version: 0.6.3 resolution: "resolve@npm:0.6.3" checksum: c3b5d34ba79635ffe380eb0e428e0b49259734ad2c86945c6b3238155b0753d8bcf858c6b99966b3fdb536062f6e204675e4542269f065e34210bb3a6f602f9d languageName: node linkType: hard -"resolve@^1.0.0, resolve@^1.1.5, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1": - version: 1.20.0 - resolution: "resolve@npm:1.20.0" - dependencies: - is-core-module: ^2.2.0 - path-parse: ^1.0.6 - checksum: 40cf70b2cde00ef57f99daf2dc63c6a56d6c14a1b7fc51735d06a6f0a3b97cb67b4fb7ef6c747b4e13a7baba83b0ef625d7c4ce92a483cd5af923c3b65fd16fe - languageName: node - linkType: hard - -"resolve@npm:^1.1.10": - version: 1.22.0 - resolution: "resolve@npm:1.22.0" +"resolve@npm:^1.0.0, resolve@npm:^1.1.10, resolve@npm:^1.1.5, resolve@npm:^1.1.7, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.4.0": + version: 1.22.1 + resolution: "resolve@npm:1.22.1" dependencies: - is-core-module: ^2.8.1 + is-core-module: ^2.9.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: a2d14cc437b3a23996f8c7367eee5c7cf8149c586b07ca2ae00e96581ce59455555a1190be9aa92154785cf9f2042646c200d0e00e0bbd2b8a995a93a0ed3e4e + checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e languageName: node linkType: hard -"resolve@patch:resolve@1.18.1#~builtin": - version: 1.18.1 - resolution: "resolve@patch:resolve@npm%3A1.18.1#~builtin::version=1.18.1&hash=07638b" +"resolve@npm:^2.0.0-next.3": + version: 2.0.0-next.4 + resolution: "resolve@npm:2.0.0-next.4" dependencies: - is-core-module: ^2.0.0 - path-parse: ^1.0.6 - checksum: 7439c8f3d8fa00c9dc800ef3c8ed0bd8e8772823e6e4948b1a77487759e0fb905381808caae96398d135619af90654d8e74cac778e5b8c9d7138f2dd52bb2bba + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: c438ac9a650f2030fd074219d7f12ceb983b475da2d89ad3d6dd05fbf6b7a0a8cd37d4d10b43cb1f632bc19f22246ab7f36ebda54d84a29bfb2910a0680906d3 languageName: node linkType: hard @@ -22019,26 +19636,29 @@ resolve@^0.6.1: languageName: node linkType: hard -"resolve@patch:resolve@^1.0.0#~builtin, resolve@patch:resolve@^1.1.5#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.4.0#~builtin, resolve@patch:resolve@^1.8.1#~builtin": - version: 1.20.0 - resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=07638b" +"resolve@patch:resolve@^1.0.0#~builtin, resolve@patch:resolve@^1.1.10#~builtin, resolve@patch:resolve@^1.1.5#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.4.0#~builtin": + version: 1.22.1 + resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" dependencies: - is-core-module: ^2.2.0 - path-parse: ^1.0.6 - checksum: a0dd7d16a8e47af23afa9386df2dff10e3e0debb2c7299a42e581d9d9b04d7ad5d2c53f24f1e043f7b3c250cbdc71150063e53d0b6559683d37f790b7c8c3cd5 + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b languageName: node linkType: hard -"resolve@patch:resolve@^1.1.10#~builtin": - version: 1.22.0 - resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" +"resolve@patch:resolve@^2.0.0-next.3#~builtin": + version: 2.0.0-next.4 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=07638b" dependencies: - is-core-module: ^2.8.1 + is-core-module: ^2.9.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: c79ecaea36c872ee4a79e3db0d3d4160b593f2ca16e031d8283735acd01715a203607e9ded3f91f68899c2937fa0d49390cddbe0fb2852629212f3cda283f4a7 + checksum: 4bf9f4f8a458607af90518ff73c67a4bc1a38b5a23fef2bb0ccbd45e8be89820a1639b637b0ba377eb2be9eedfb1739a84cde24fe4cd670c8207d8fea922b011 languageName: node linkType: hard @@ -22066,6 +19686,13 @@ resolve@^0.6.1: languageName: node linkType: hard +"retry@npm:^0.13.1": + version: 0.13.1 + resolution: "retry@npm:0.13.1" + checksum: 47c4d5be674f7c13eee4cfe927345023972197dbbdfba5d3af7e461d13b44de1bfd663bfc80d2f601f8ef3fc8164c16dd99655a221921954a65d044a2fc1233b + languageName: node + linkType: hard + "reusify@npm:^1.0.4": version: 1.0.4 resolution: "reusify@npm:1.0.4" @@ -22073,23 +19700,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"rework-visit@npm:1.0.0": - version: 1.0.0 - resolution: "rework-visit@npm:1.0.0" - checksum: 969ca1f4e5bf4a1755c464a9b498da51eb3f28a798cf73da2cf0a3a3ab7b21a2f05c9d3bfa5fb81c8aaf5487dd31679efa67b8d0f418277ef5deb2a230b17c81 - languageName: node - linkType: hard - -"rework@npm:1.0.1": - version: 1.0.1 - resolution: "rework@npm:1.0.1" - dependencies: - convert-source-map: ^0.3.3 - css: ^2.0.0 - checksum: 13e5054d81ac84eee488fd4bacd20d08f35683bd8e296b4358e7f0a41b2d30a959313b7794f388f336705ad18d36af6ee7080e1b6c1313ecf33bc51d1bd95971 - languageName: node - linkType: hard - "rgb-regex@npm:^1.0.1": version: 1.0.1 resolution: "rgb-regex@npm:1.0.1" @@ -22111,7 +19721,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"rimraf@npm:^2.5.4, rimraf@npm:^2.6.2, rimraf@npm:^2.6.3": +"rimraf@npm:^2.6.2": version: 2.7.1 resolution: "rimraf@npm:2.7.1" dependencies: @@ -22143,19 +19753,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"rollup-plugin-babel@npm:^4.3.3": - version: 4.4.0 - resolution: "rollup-plugin-babel@npm:4.4.0" - dependencies: - "@babel/helper-module-imports": ^7.0.0 - rollup-pluginutils: ^2.8.1 - peerDependencies: - "@babel/core": 7 || ^7.0.0-rc.2 - rollup: ">=0.60.0 <3" - checksum: 5b8ed7c0a4192d7c74689074c910c1670eb07dfc875b1f4af5694a94c46bcb168ba85e2c9753030131efd6261ece7c252b9695953d0ea96d944977c6e79930d3 - languageName: node - linkType: hard - "rollup-plugin-css-only@npm:~3.1.0": version: 3.1.0 resolution: "rollup-plugin-css-only@npm:3.1.0" @@ -22167,22 +19764,41 @@ resolve@^0.6.1: languageName: node linkType: hard -"rollup-plugin-terser@npm:^5.3.1": - version: 5.3.1 - resolution: "rollup-plugin-terser@npm:5.3.1" +"rollup-plugin-inject@npm:^3.0.0": + version: 3.0.2 + resolution: "rollup-plugin-inject@npm:3.0.2" + dependencies: + estree-walker: ^0.6.1 + magic-string: ^0.25.3 + rollup-pluginutils: ^2.8.1 + checksum: a014972c80fe34b8c8154056fa2533a8440066a31de831e3793fc21b15d108d92c22d8f7f472397bd5783d7c5e04d8cbf112fb72c5a26e997726e4eb090edad1 + languageName: node + linkType: hard + +"rollup-plugin-node-polyfills@npm:^0.2.1": + version: 0.2.1 + resolution: "rollup-plugin-node-polyfills@npm:0.2.1" + dependencies: + rollup-plugin-inject: ^3.0.0 + checksum: e84645212c443aca3cfae2ba69f01c6d8c5c250f0bf651416b69a4572b60aae9da7cdd687de3ab9b903f7a1ab96b06b71f0c4927d1b02a37485360d2b563937b + languageName: node + linkType: hard + +"rollup-plugin-terser@npm:^7.0.0": + version: 7.0.2 + resolution: "rollup-plugin-terser@npm:7.0.2" dependencies: - "@babel/code-frame": ^7.5.5 - jest-worker: ^24.9.0 - rollup-pluginutils: ^2.8.2 + "@babel/code-frame": ^7.10.4 + jest-worker: ^26.2.1 serialize-javascript: ^4.0.0 - terser: ^4.6.2 + terser: ^5.0.0 peerDependencies: - rollup: ">=0.66.0 <3" - checksum: 50f9e8fa6737fa5e8aeca6a52b59ea3bc66faebe743bdfe9ce0484298cd1978082026721b182d79bcc88240429842dc58feae88d6c238b47cafc1684e0320a73 + rollup: ^2.0.0 + checksum: af84bb7a7a894cd00852b6486528dfb8653cf94df4c126f95f389a346f401d054b08c46bee519a2ab6a22b33804d1d6ac6d8c90b1b2bf8fffb097eed73fc3c72 languageName: node linkType: hard -"rollup-pluginutils@npm:^2.8.1, rollup-pluginutils@npm:^2.8.2": +"rollup-pluginutils@npm:^2.8.1": version: 2.8.2 resolution: "rollup-pluginutils@npm:2.8.2" dependencies: @@ -22191,22 +19807,23 @@ resolve@^0.6.1: languageName: node linkType: hard -"rollup@npm:^1.31.1": - version: 1.32.1 - resolution: "rollup@npm:1.32.1" +"rollup@npm:^2.43.1": + version: 2.77.2 + resolution: "rollup@npm:2.77.2" dependencies: - "@types/estree": "*" - "@types/node": "*" - acorn: ^7.1.0 + fsevents: ~2.3.2 + dependenciesMeta: + fsevents: + optional: true bin: rollup: dist/bin/rollup - checksum: 3a02731c20c71321fae647c9c9cab0febee0580c6af029fdcd5dd6f424b8c85119d92c8554c6837327fd323c2458e92d955bbebc90ca6bed87cc626695e7c31f + checksum: 5a84fb98a6f858906bceba091430442f6c1f362b07c5fa9123b708f87e39f52640e34a189cd9a1776ceae61300055c78ba648205fa03188451539ebeb19797df languageName: node linkType: hard "rollup@npm:~2.75.6": - version: 2.75.6 - resolution: "rollup@npm:2.75.6" + version: 2.75.7 + resolution: "rollup@npm:2.75.7" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -22214,14 +19831,7 @@ resolve@^0.6.1: optional: true bin: rollup: dist/bin/rollup - checksum: df83c6d43a144a296daf82bed7f12f2dfcc6c495a64245e840d15fd21f2ab8b66bb3423e61c974875b33ccf53fb659d2ed099f272937ecf23af48815277c6cd5 - languageName: node - linkType: hard - -"rsvp@npm:^4.8.4": - version: 4.8.5 - resolution: "rsvp@npm:4.8.5" - checksum: 2d8ef30d8febdf05bdf856ccca38001ae3647e41835ca196bc1225333f79b94ae44def733121ca549ccc36209c9b689f6586905e2a043873262609744da8efc1 + checksum: a6331d46b01062b184efdcb42ce12caf2e1575f989963944534b02f5855f6f3bc239ed0c1a18893572d7695af6d83166f3aef59dbd0365084e1531cb67824674 languageName: node linkType: hard @@ -22234,15 +19844,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"run-queue@npm:^1.0.0, run-queue@npm:^1.0.3": - version: 1.0.3 - resolution: "run-queue@npm:1.0.3" - dependencies: - aproba: ^1.1.1 - checksum: c4541e18b5e056af60f398f2f1b3d89aae5c093d1524bf817c5ee68bcfa4851ad9976f457a9aea135b1d0d72ee9a91c386e3d136bcd95b699c367cd09c70be53 - languageName: node - linkType: hard - "rw@npm:^1.3.3": version: 1.3.3 resolution: "rw@npm:1.3.3" @@ -22257,7 +19858,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -22273,53 +19874,32 @@ resolve@^0.6.1: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 languageName: node linkType: hard -"sane@npm:^4.0.3": - version: 4.1.0 - resolution: "sane@npm:4.1.0" - dependencies: - "@cnakazawa/watch": ^1.0.3 - anymatch: ^2.0.0 - capture-exit: ^2.0.0 - exec-sh: ^0.3.2 - execa: ^1.0.0 - fb-watchman: ^2.0.0 - micromatch: ^3.1.4 - minimist: ^1.1.1 - walker: ~1.0.5 - bin: - sane: ./src/cli.js - checksum: 97716502d456c0d38670a902a4ea943d196dcdf998d1e40532d8f3e24e25d7eddfd4c3579025a1eee8eac09a48dfd05fba61a2156c56704e7feaa450eb249f7c - languageName: node - linkType: hard - -"sanitize.css@npm:^10.0.0": - version: 10.0.0 - resolution: "sanitize.css@npm:10.0.0" - checksum: 99932e53e864b83562a421f57383c9747ab03c51872437eb56170639cd6c634a945517e25d1b7005d10c8dc863f71c61c573e3452474d4ef25bcf5f7344e4ce3 +"sanitize.css@npm:*": + version: 13.0.0 + resolution: "sanitize.css@npm:13.0.0" + checksum: a99ca77c4d135800a4a93c3555e5aa4a2eb040a833df716dbe9132e1f2086fbf9acdb8021a579f40dcf77166d2d50f3358b4b6121a247d26fed5a0e6f5af3bb7 languageName: node linkType: hard -"sass-loader@npm:^10.0.5": - version: 10.1.1 - resolution: "sass-loader@npm:10.1.1" +"sass-loader@npm:^12.3.0": + version: 12.6.0 + resolution: "sass-loader@npm:12.6.0" dependencies: klona: ^2.0.4 - loader-utils: ^2.0.0 neo-async: ^2.6.2 - schema-utils: ^3.0.0 - semver: ^7.3.2 peerDependencies: fibers: ">= 3.1.0" - node-sass: ^4.0.0 || ^5.0.0 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 sass: ^1.3.0 - webpack: ^4.36.0 || ^5.0.0 + sass-embedded: "*" + webpack: ^5.0.0 peerDependenciesMeta: fibers: optional: true @@ -22327,7 +19907,9 @@ resolve@^0.6.1: optional: true sass: optional: true - checksum: dbd4ba06e2a7de50db4588c9e84e38fb458ca4a44e1fccdf6eded728662b6fe0bd556249970876f13b47424e4285f5c6a8953933f83d47fd1448cad5884f84a5 + sass-embedded: + optional: true + checksum: 5d73a428588150f704016aa27397941bb9246cecd2ee083b573e95d969fc080ac6a16f2fe1cc64aca08f6e70da6f3c586ee68f0efc9f527fecc360e5f1c299ec languageName: node linkType: hard @@ -22347,7 +19929,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"saxes@npm:^5.0.0": +"saxes@npm:^5.0.1": version: 5.0.1 resolution: "saxes@npm:5.0.1" dependencies: @@ -22366,18 +19948,18 @@ resolve@^0.6.1: languageName: node linkType: hard -"schema-utils@npm:^1.0.0": - version: 1.0.0 - resolution: "schema-utils@npm:1.0.0" +"schema-utils@npm:2.7.0": + version: 2.7.0 + resolution: "schema-utils@npm:2.7.0" dependencies: - ajv: ^6.1.0 - ajv-errors: ^1.0.0 - ajv-keywords: ^3.1.0 - checksum: e8273b4f6eff9ddf4a4f4c11daf7b96b900237bf8859c86fa1e9b4fab416b72d7ea92468f8db89c18a3499a1070206e1c8a750c83b42d5325fc659cbb55eee88 + "@types/json-schema": ^7.0.4 + ajv: ^6.12.2 + ajv-keywords: ^3.4.1 + checksum: 8889325b0ee1ae6a8f5d6aaa855c71e136ebbb7fd731b01a9d3ec8225dcb245f644c47c50104db4c741983b528cdff8558570021257d4d397ec6aaecd9172a8e languageName: node linkType: hard -"schema-utils@npm:^2.6.5, schema-utils@npm:^2.7.0, schema-utils@npm:^2.7.1": +"schema-utils@npm:^2.6.5": version: 2.7.1 resolution: "schema-utils@npm:2.7.1" dependencies: @@ -22388,18 +19970,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"schema-utils@npm:^3.0.0": - version: 3.0.0 - resolution: "schema-utils@npm:3.0.0" - dependencies: - "@types/json-schema": ^7.0.6 - ajv: ^6.12.5 - ajv-keywords: ^3.5.2 - checksum: 56dc93b4f6abe91aa2b76b2c656610cc6d491297f4e6866340bc7b6b226b521a2969ab2498cd9e6c59eda670b730a9c8695404ca56c08643c3b95c5e174588c8 - languageName: node - linkType: hard - -"schema-utils@npm:^3.1.1": +"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.0, schema-utils@npm:^3.1.1": version: 3.1.1 resolution: "schema-utils@npm:3.1.1" dependencies: @@ -22410,6 +19981,18 @@ resolve@^0.6.1: languageName: node linkType: hard +"schema-utils@npm:^4.0.0": + version: 4.0.0 + resolution: "schema-utils@npm:4.0.0" + dependencies: + "@types/json-schema": ^7.0.9 + ajv: ^8.8.0 + ajv-formats: ^2.1.1 + ajv-keywords: ^5.0.0 + checksum: c843e92fdd1a5c145dbb6ffdae33e501867f9703afac67bdf35a685e49f85b1dcc10ea250033175a64bd9d31f0555bc6785b8359da0c90bcea30cf6dfbb55a8f + languageName: node + linkType: hard + "select-hose@npm:^2.0.0": version: 2.0.0 resolution: "select-hose@npm:2.0.0" @@ -22428,21 +20011,12 @@ resolve@^0.6.1: languageName: node linkType: hard -"selfsigned@npm:^1.10.8": - version: 1.10.14 - resolution: "selfsigned@npm:1.10.14" - dependencies: - node-forge: ^0.10.0 - checksum: 616d131b18516ba2876398f0230987511d50a13816e0709b9f0d20246a524a2e83dfb27ea46ce2bfe331519583a156afa67bc3ece8bf0f9804aec06e2e8c7a21 - languageName: node - linkType: hard - -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.5.1, semver@npm:^5.6.0, semver@npm:^5.7.0, semver@npm:^5.7.1": - version: 5.7.1 - resolution: "semver@npm:5.7.1" - bin: - semver: ./bin/semver - checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf +"selfsigned@npm:^2.0.1": + version: 2.0.1 + resolution: "selfsigned@npm:2.0.1" + dependencies: + node-forge: ^1 + checksum: 864e65c2f31ca877bce3ccdaa3bdef5e1e992b63b2a03641e00c24cd305bf2acce093431d1fed2e5ae9f526558db4be5e90baa2b3474c0428fcf7e25cc86ac93 languageName: node linkType: hard @@ -22455,12 +20029,12 @@ resolve@^0.6.1: languageName: node linkType: hard -"semver@npm:7.3.2": - version: 7.3.2 - resolution: "semver@npm:7.3.2" +"semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.7.0, semver@npm:^5.7.1": + version: 5.7.1 + resolution: "semver@npm:5.7.1" bin: - semver: bin/semver.js - checksum: 692f4900dadb43919614b0df9af23fe05743051cda0d1735b5e4d76f93c9e43a266fae73cfc928f5d1489f022c5c0e65dfd2900fcf5b1839c4e9a239729afa7b + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf languageName: node linkType: hard @@ -22473,29 +20047,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"semver@npm:^7.2.1, semver@npm:^7.3.2": - version: 7.3.4 - resolution: "semver@npm:7.3.4" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: 96451bfd7cba9b60ee87571959dc47e87c95b2fe58a9312a926340fee9907fc7bc062c352efdaf5bb24b2dff59c145e14faf7eb9d718a84b4751312531b39f43 - languageName: node - linkType: hard - -"semver@npm:^7.3.5": - version: 7.3.5 - resolution: "semver@npm:7.3.5" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: 5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60 - languageName: node - linkType: hard - -"semver@npm:^7.3.7": +"semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7": version: 7.3.7 resolution: "semver@npm:7.3.7" dependencies: @@ -22506,24 +20058,24 @@ resolve@^0.6.1: languageName: node linkType: hard -"send@npm:0.17.1": - version: 0.17.1 - resolution: "send@npm:0.17.1" +"send@npm:0.18.0": + version: 0.18.0 + resolution: "send@npm:0.18.0" dependencies: debug: 2.6.9 - depd: ~1.1.2 - destroy: ~1.0.4 + depd: 2.0.0 + destroy: 1.2.0 encodeurl: ~1.0.2 escape-html: ~1.0.3 etag: ~1.8.1 fresh: 0.5.2 - http-errors: ~1.7.2 + http-errors: 2.0.0 mime: 1.6.0 - ms: 2.1.1 - on-finished: ~2.3.0 + ms: 2.1.3 + on-finished: 2.4.1 range-parser: ~1.2.1 - statuses: ~1.5.0 - checksum: d214c2fa42e7fae3f8fc1aa3931eeb3e6b78c2cf141574e09dbe159915c1e3a337269fc6b7512e7dfddcd7d6ff5974cb62f7c3637ba86a55bde20a92c18bdca0 + statuses: 2.0.1 + checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 languageName: node linkType: hard @@ -22536,19 +20088,19 @@ resolve@^0.6.1: languageName: node linkType: hard -"serialize-javascript@npm:^5.0.1": - version: 5.0.1 - resolution: "serialize-javascript@npm:5.0.1" +"serialize-javascript@npm:^6.0.0": + version: 6.0.0 + resolution: "serialize-javascript@npm:6.0.0" dependencies: randombytes: ^2.1.0 - checksum: bb45a427690c3d2711e28499de0fbf25036af1e23c63c6a9237ed0aa572fd0941fcdefe50a2dccf26d9df8c8b86ae38659e19d8ba7afd3fbc1f1c7539a2a48d2 + checksum: 56f90b562a1bdc92e55afb3e657c6397c01a902c588c0fe3d4c490efdcc97dcd2a3074ba12df9e94630f33a5ce5b76a74784a7041294628a6f4306e0ec84bf93 languageName: node linkType: hard "serialize-to-js@npm:^3.0.0": - version: 3.1.1 - resolution: "serialize-to-js@npm:3.1.1" - checksum: 085fbff26e828c67e1715125faaa0894f2d241337172283fd360d3188db4e430799d85bffe31cc46fd62d5ba41bda64df39b86bb6a8b172fd7975cef4668f010 + version: 3.1.2 + resolution: "serialize-to-js@npm:3.1.2" + checksum: 85b639499eccb52dea98966231a4fe2ed5e14c97e3e39b9bf63612007f5054bf7425b26a4d2abdf95cd1dbbdd8282ed3c3138ea25744597f1e3a4c1f89c40f51 languageName: node linkType: hard @@ -22567,32 +20119,25 @@ resolve@^0.6.1: languageName: node linkType: hard -"serve-static@npm:1.14.1, serve-static@npm:^1.12.4": - version: 1.14.1 - resolution: "serve-static@npm:1.14.1" +"serve-static@npm:1.15.0, serve-static@npm:^1.12.4": + version: 1.15.0 + resolution: "serve-static@npm:1.15.0" dependencies: encodeurl: ~1.0.2 escape-html: ~1.0.3 parseurl: ~1.3.3 - send: 0.17.1 - checksum: c6b268e8486d39ecd54b86c7f2d0ee4a38cd7514ddd9c92c8d5793bb005afde5e908b12395898ae206782306ccc848193d93daa15b86afb3cbe5a8414806abe8 + send: 0.18.0 + checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d languageName: node linkType: hard -"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": +"set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 languageName: node linkType: hard -"set-immediate-shim@npm:~1.0.1": - version: 1.0.1 - resolution: "set-immediate-shim@npm:1.0.1" - checksum: 5085c84039d1e5eee73d2bf48ce765fcec76159021d0cc7b40e23bcdf62cb6d450ffb781e3c62c1118425242c48eae96df712cba0a20a437e86b0d4a15d51a11 - languageName: node - linkType: hard - "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -22605,7 +20150,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"setimmediate@npm:^1.0.4": +"setimmediate@npm:^1.0.4, setimmediate@npm:^1.0.5": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd @@ -22619,10 +20164,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"setprototypeof@npm:1.1.1": - version: 1.1.1 - resolution: "setprototypeof@npm:1.1.1" - checksum: a8bee29c1c64c245d460ce53f7460af8cbd0aceac68d66e5215153992cc8b3a7a123416353e0c642060e85cc5fd4241c92d1190eec97eda0dcb97436e8fcca3b +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 languageName: node linkType: hard @@ -22684,17 +20229,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"shell-quote@npm:1.7.2": - version: 1.7.2 - resolution: "shell-quote@npm:1.7.2" - checksum: efad426fb25d8a54d06363f1f45774aa9e195f62f14fa696d542b44bfe418ab41206448b63af18d726c62e099e66d9a3f4f44858b9ea2ce4b794b41b802672d1 - languageName: node - linkType: hard - -"shellwords@npm:^0.1.1": - version: 0.1.1 - resolution: "shellwords@npm:0.1.1" - checksum: 8d73a5e9861f5e5f1068e2cfc39bc0002400fe58558ab5e5fa75630d2c3adf44ca1fac81957609c8320d5533e093802fcafc72904bf1a32b95de3c19a0b1c0d4 +"shell-quote@npm:^1.7.3": + version: 1.7.3 + resolution: "shell-quote@npm:1.7.3" + checksum: aca58e73a3a5d933d02e0bdddedc53ee14f7c2ec264f97ac915b9d4482d077a38e422aa664631d60a672cd3cdb4054eb2e6c0303f54882453dacb6483e482d34 languageName: node linkType: hard @@ -22709,10 +20247,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2": - version: 3.0.3 - resolution: "signal-exit@npm:3.0.3" - checksum: f0169d3f1263d06df32ca072b0bf33b34c6f8f0341a7a1621558a2444dfbe8f5fec76b35537fcc6f0bc4944bdb5336fe0bdcf41a5422c4e45a1dba3f45475e6c +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard @@ -22764,6 +20302,13 @@ resolve@^0.6.1: languageName: node linkType: hard +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + "snapdragon-node@npm:^2.0.1": version: 2.1.1 resolution: "snapdragon-node@npm:2.1.1" @@ -22800,20 +20345,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"sockjs-client@npm:^1.5.0": - version: 1.6.1 - resolution: "sockjs-client@npm:1.6.1" - dependencies: - debug: ^3.2.7 - eventsource: ^2.0.2 - faye-websocket: ^0.11.4 - inherits: ^2.0.4 - url-parse: ^1.5.10 - checksum: c7623bbc9891f427c1670145550a1c9c2d5379719e174a791606ba4f12c7d92e4cfb9acec6c17f91fda45d910b23c308a1f9fbcad4916ce5db4e982b24079fc7 - languageName: node - linkType: hard - -"sockjs@npm:^0.3.21": +"sockjs@npm:^0.3.24": version: 0.3.24 resolution: "sockjs@npm:0.3.24" dependencies: @@ -22824,12 +20356,24 @@ resolve@^0.6.1: languageName: node linkType: hard -"sort-keys@npm:^1.0.0": - version: 1.1.2 - resolution: "sort-keys@npm:1.1.2" +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.7.0 + resolution: "socks@npm:2.7.0" dependencies: - is-plain-obj: ^1.0.0 - checksum: 5963fd191a2a185a5ec86f06e47721e8e04713eda43bb04ae60d2a8afb21241553dd5bc9d863ed2bd7c3d541b609b0c8d0e58836b1a3eb6764c09c094bcc8b00 + ip: ^2.0.0 + smart-buffer: ^4.2.0 + checksum: 0b5d94e2b3c11e7937b40fc5dac1e80d8b92a330e68c51f1d271ce6980c70adca42a3f8cd47c4a5769956bada074823b53374f2dc5f2ea5c2121b222dec6eadf languageName: node linkType: hard @@ -22840,14 +20384,34 @@ resolve@^0.6.1: languageName: node linkType: hard -"source-list-map@npm:^2.0.0": +"source-list-map@npm:^2.0.0, source-list-map@npm:^2.0.1": version: 2.0.1 resolution: "source-list-map@npm:2.0.1" checksum: 806efc6f75e7cd31e4815e7a3aaf75a45c704871ea4075cb2eb49882c6fca28998f44fc5ac91adb6de03b2882ee6fb02f951fdc85e6a22b338c32bfe19557938 languageName: node linkType: hard -"source-map-resolve@npm:^0.5.0, source-map-resolve@npm:^0.5.2": +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c + languageName: node + linkType: hard + +"source-map-loader@npm:^3.0.0": + version: 3.0.1 + resolution: "source-map-loader@npm:3.0.1" + dependencies: + abab: ^2.0.5 + iconv-lite: ^0.6.3 + source-map-js: ^1.0.1 + peerDependencies: + webpack: ^5.0.0 + checksum: 6ff27ba9335307e64edaab8fb8f87aa82a88d7efb12260732f7e3649c3fffe8bd3f77b6970c39c0bdd5e3a9b2a5ed8f11ac805bea90a6c99f186aa52033e53e0 + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.5.0": version: 0.5.3 resolution: "source-map-resolve@npm:0.5.3" dependencies: @@ -22860,13 +20424,13 @@ resolve@^0.6.1: languageName: node linkType: hard -"source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.10, source-map-support@npm:~0.5.12, source-map-support@npm:~0.5.19": - version: 0.5.19 - resolution: "source-map-support@npm:0.5.19" +"source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.10, source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" dependencies: buffer-from: ^1.0.0 source-map: ^0.6.0 - checksum: c72802fdba9cb62b92baef18cc14cc4047608b77f0353e6c36dd993444149a466a2845332c5540d4a6630957254f0f68f4ef5a0120c33d2e83974c51a05afbac + checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 languageName: node linkType: hard @@ -22884,58 +20448,33 @@ resolve@^0.6.1: languageName: node linkType: hard -"source-map@npm:^0.5.0, source-map@npm:^0.5.6, source-map@npm:^0.5.7": +"source-map@npm:^0.5.6, source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d languageName: node linkType: hard -"source-map@npm:^0.7.3, source-map@npm:~0.7.2": - version: 0.7.3 - resolution: "source-map@npm:0.7.3" - checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea - languageName: node - linkType: hard - -"sourcemap-codec@npm:^1.4.4": - version: 1.4.8 - resolution: "sourcemap-codec@npm:1.4.8" - checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 - languageName: node - linkType: hard - -"spdx-correct@npm:^3.0.0": - version: 3.1.1 - resolution: "spdx-correct@npm:3.1.1" - dependencies: - spdx-expression-parse: ^3.0.0 - spdx-license-ids: ^3.0.0 - checksum: 77ce438344a34f9930feffa61be0eddcda5b55fc592906ef75621d4b52c07400a97084d8701557b13f7d2aae0cb64f808431f469e566ef3fe0a3a131dcb775a6 - languageName: node - linkType: hard - -"spdx-exceptions@npm:^2.1.0": - version: 2.3.0 - resolution: "spdx-exceptions@npm:2.3.0" - checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 +"source-map@npm:^0.7.3": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 languageName: node linkType: hard -"spdx-expression-parse@npm:^3.0.0": - version: 3.0.1 - resolution: "spdx-expression-parse@npm:3.0.1" +"source-map@npm:^0.8.0-beta.0": + version: 0.8.0-beta.0 + resolution: "source-map@npm:0.8.0-beta.0" dependencies: - spdx-exceptions: ^2.1.0 - spdx-license-ids: ^3.0.0 - checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde + whatwg-url: ^7.0.0 + checksum: e94169be6461ab0ac0913313ad1719a14c60d402bd22b0ad96f4a6cffd79130d91ab5df0a5336a326b04d2df131c1409f563c9dc0d21a6ca6239a44b6c8dbd92 languageName: node linkType: hard -"spdx-license-ids@npm:^3.0.0": - version: 3.0.7 - resolution: "spdx-license-ids@npm:3.0.7" - checksum: b52a88aebc19b4c69049349939e1948014c4d10f52a11870431fc1cc6551de411d19e4570f5f1df2d8b7089bec921df9017a3d5199ae2468b2b432171945278e +"sourcemap-codec@npm:^1.4.8": + version: 1.4.8 + resolution: "sourcemap-codec@npm:1.4.8" + checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 languageName: node linkType: hard @@ -22983,15 +20522,15 @@ resolve@^0.6.1: linkType: hard "srcset@npm:^3.0.0": - version: 3.0.0 - resolution: "srcset@npm:3.0.0" - checksum: 5ffda317d742cd87d6b9c4ca6b502c63c6d07ea12484f561b246ba9eb3a74860a3b31f393d5240a4bc47898ad2f4ee57508fb84e7ab37f0089406669469f986b + version: 3.0.1 + resolution: "srcset@npm:3.0.1" + checksum: e2c28c428828b97acbd93b8f11177c2045ec2525846ee341dd93d5f1a58d90a1d580be7f96fefb2e2f70e5d66883acc78ff71837ede09c72899bab1d86d503e1 languageName: node linkType: hard "sshpk@npm:^1.7.0": - version: 1.16.1 - resolution: "sshpk@npm:1.16.1" + version: 1.17.0 + resolution: "sshpk@npm:1.17.0" dependencies: asn1: ~0.2.3 assert-plus: ^1.0.0 @@ -23006,25 +20545,16 @@ resolve@^0.6.1: sshpk-conv: bin/sshpk-conv sshpk-sign: bin/sshpk-sign sshpk-verify: bin/sshpk-verify - checksum: 5e76afd1cedc780256f688b7c09327a8a650902d18e284dfeac97489a735299b03c3e72c6e8d22af03dbbe4d6f123fdfd5f3c4ed6bedbec72b9529a55051b857 - languageName: node - linkType: hard - -"ssri@npm:^6.0.1": - version: 6.0.2 - resolution: "ssri@npm:6.0.2" - dependencies: - figgy-pudding: ^3.5.1 - checksum: 7c2e5d442f6252559c8987b7114bcf389fe5614bf65de09ba3e6f9a57b9b65b2967de348fcc3acccff9c069adb168140dd2c5fc2f6f4a779e604a27ef1f7d551 + checksum: ba109f65c8e6c35133b8e6ed5576abeff8aa8d614824b7275ec3ca308f081fef483607c28d97780c1e235818b0f93ed8c8b56d0a5968d5a23fd6af57718c7597 languageName: node linkType: hard -"ssri@npm:^8.0.0": - version: 8.0.1 - resolution: "ssri@npm:8.0.1" +"ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" dependencies: minipass: ^3.1.1 - checksum: bc447f5af814fa9713aa201ec2522208ae0f4d8f3bda7a1f445a797c7b929a02720436ff7c478fb5edc4045adb02b1b88d2341b436a80798734e2494f1067b36 + checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb languageName: node linkType: hard @@ -23042,19 +20572,19 @@ resolve@^0.6.1: languageName: node linkType: hard -"stack-utils@npm:^2.0.2": - version: 2.0.3 - resolution: "stack-utils@npm:2.0.3" +"stack-utils@npm:^2.0.3": + version: 2.0.5 + resolution: "stack-utils@npm:2.0.5" dependencies: escape-string-regexp: ^2.0.0 - checksum: c86ac08f58d1a9bce3f17946cb2f18268f55f8180f5396ae147deecb4d23cd54f3d27e4a8d3227d525b0f0c89b7f7e839e223851a577136a763ccd7e488440be + checksum: 76b69da0f5b48a34a0f93c98ee2a96544d2c4ca2557f7eef5ddb961d3bdc33870b46f498a84a7c4f4ffb781df639840e7ebf6639164ed4da5e1aeb659615b9c7 languageName: node linkType: hard -"stackframe@npm:^1.1.1": - version: 1.2.0 - resolution: "stackframe@npm:1.2.0" - checksum: 37d659bdd574e118a48c445a9a054a2b8dee6d6ad54eb16c51c7dae622c0f4994b9ff4e47d744aa6cfd14c00b477e145f34db3df78771f3e783ce8f357616d00 +"stackframe@npm:^1.3.4": + version: 1.3.4 + resolution: "stackframe@npm:1.3.4" + checksum: bae1596873595c4610993fa84f86a3387d67586401c1816ea048c0196800c0646c4d2da98c2ee80557fd9eff05877efe33b91ba6cd052658ed96ddc85d19067d languageName: node linkType: hard @@ -23099,7 +20629,14 @@ resolve@^0.6.1: languageName: node linkType: hard -"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2": version: 1.5.0 resolution: "statuses@npm:1.5.0" checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c @@ -23123,16 +20660,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"stream-each@npm:^1.1.0": - version: 1.2.3 - resolution: "stream-each@npm:1.2.3" - dependencies: - end-of-stream: ^1.1.0 - stream-shift: ^1.0.0 - checksum: f243de78e9fcc60757994efc4e8ecae9f01a4b2c6a505d786b11fcaa68b1a75ca54afc1669eac9e08f19ff0230792fc40d0f3e3e2935d76971b4903af18b76ab - languageName: node - linkType: hard - "stream-http@npm:^2.7.2": version: 2.8.3 resolution: "stream-http@npm:2.8.3" @@ -23162,20 +20689,23 @@ resolve@^0.6.1: languageName: node linkType: hard -"strict-uri-encode@npm:^1.0.0": - version: 1.1.0 - resolution: "strict-uri-encode@npm:1.1.0" - checksum: 9466d371f7b36768d43f7803f26137657559e4c8b0161fb9e320efb8edba3ae22f8e99d4b0d91da023b05a13f62ec5412c3f4f764b5788fac11d1fea93720bb3 - languageName: node - linkType: hard - "string-length@npm:^4.0.1": - version: 4.0.1 - resolution: "string-length@npm:4.0.1" + version: 4.0.2 + resolution: "string-length@npm:4.0.2" dependencies: char-regex: ^1.0.2 strip-ansi: ^6.0.0 - checksum: 7bd3191668ddafa6f574a8b17a1bd1b085737d64ceefa51f72cdd19c45a730422cd70d984eee7584d6e5b5c84b6318633c6d6a720a4bfd7c58769985fa77573e + checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 + languageName: node + linkType: hard + +"string-length@npm:^5.0.1": + version: 5.0.1 + resolution: "string-length@npm:5.0.1" + dependencies: + char-regex: ^2.0.0 + strip-ansi: ^7.0.1 + checksum: 71f73b8c8a743e01dcd001bcf1b197db78d5e5e53b12bd898cddaf0961be09f947dfd8c429783db3694b55b05cb5a51de6406c5085ff1aaa10c4771440c8396d languageName: node linkType: hard @@ -23205,81 +20735,52 @@ resolve@^0.6.1: languageName: node linkType: hard -"string-width@npm:^1.0.1": - version: 1.0.2 - resolution: "string-width@npm:1.0.2" - dependencies: - code-point-at: ^1.0.0 - is-fullwidth-code-point: ^1.0.0 - strip-ansi: ^3.0.0 - checksum: 5c79439e95bc3bd7233a332c5f5926ab2ee90b23816ed4faa380ce3b2576d7800b0a5bb15ae88ed28737acc7ea06a518c2eef39142dd727adad0e45c776cd37e - languageName: node - linkType: hard - -"string-width@npm:^1.0.2 || 2": - version: 2.1.1 - resolution: "string-width@npm:2.1.1" - dependencies: - is-fullwidth-code-point: ^2.0.0 - strip-ansi: ^4.0.0 - checksum: d6173abe088c615c8dffaf3861dc5d5906ed3dc2d6fd67ff2bd2e2b5dce7fd683c5240699cf0b1b8aa679a3b3bd6b28b5053c824cb89b813d7f6541d8f89064a - languageName: node - linkType: hard - -"string-width@npm:^3.0.0, string-width@npm:^3.1.0": - version: 3.1.0 - resolution: "string-width@npm:3.1.0" - dependencies: - emoji-regex: ^7.0.1 - is-fullwidth-code-point: ^2.0.0 - strip-ansi: ^5.1.0 - checksum: 57f7ca73d201682816d573dc68bd4bb8e1dff8dc9fcf10470fdfc3474135c97175fec12ea6a159e67339b41e86963112355b64529489af6e7e70f94a7caf08b2 - languageName: node - linkType: hard - -"string-width@npm:^4.1.0, string-width@npm:^4.2.0": - version: 4.2.2 - resolution: "string-width@npm:4.2.2" +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" dependencies: emoji-regex: ^8.0.0 is-fullwidth-code-point: ^3.0.0 - strip-ansi: ^6.0.0 - checksum: 343e089b0e66e0f72aab4ad1d9b6f2c9cc5255844b0c83fd9b53f2a3b3fd0421bdd6cb05be96a73117eb012db0887a6c1d64ca95aaa50c518e48980483fea0ab + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.2": - version: 4.0.4 - resolution: "string.prototype.matchall@npm:4.0.4" +"string.prototype.matchall@npm:^4.0.6, string.prototype.matchall@npm:^4.0.7": + version: 4.0.7 + resolution: "string.prototype.matchall@npm:4.0.7" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - has-symbols: ^1.0.1 + es-abstract: ^1.19.1 + get-intrinsic: ^1.1.1 + has-symbols: ^1.0.3 internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.3.1 + regexp.prototype.flags: ^1.4.1 side-channel: ^1.0.4 - checksum: 0abd11d22661dbd7def9870a71dd9f041a470207063cff04504cc6fe292a4aad1580a47f03ef98db2fbceb4180a32d065e28f7819b922685adf5783b7c6f73f9 + checksum: fc09f3ccbfb325de0472bcc87a6be0598a7499e0b4a31db5789676155b15754a4cc4bb83924f15fc9ed48934dac7366ee52c8b9bd160bed6fd072c93b489e75c languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.1, string.prototype.trimend@npm:^1.0.4": - version: 1.0.4 - resolution: "string.prototype.trimend@npm:1.0.4" +"string.prototype.trimend@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimend@npm:1.0.5" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 17e5aa45c3983f582693161f972c1c1fa4bbbdf22e70e582b00c91b6575f01680dc34e83005b98e31abe4d5d29e0b21fcc24690239c106c7b2315aade6a898ac + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.1, string.prototype.trimstart@npm:^1.0.4": - version: 1.0.4 - resolution: "string.prototype.trimstart@npm:1.0.4" +"string.prototype.trimstart@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimstart@npm:1.0.5" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 3fb06818d3cccac5fa3f5f9873d984794ca0e9f6616fae6fcc745885d9efed4e17fe15f832515d9af5e16c279857fdbffdfc489ca4ed577811b017721b30302f + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 languageName: node linkType: hard @@ -23319,16 +20820,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"strip-ansi@npm:6.0.0, strip-ansi@npm:^6.0.0": - version: 6.0.0 - resolution: "strip-ansi@npm:6.0.0" - dependencies: - ansi-regex: ^5.0.0 - checksum: 04c3239ede44c4d195b0e66c0ad58b932f08bec7d05290416d361ff908ad282ecdaf5d9731e322c84f151d427436bde01f05b7422c3ec26dd927586736b0e5d0 - languageName: node - linkType: hard - -"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": +"strip-ansi@npm:^3.0.0": version: 3.0.1 resolution: "strip-ansi@npm:3.0.1" dependencies: @@ -23346,12 +20838,21 @@ resolve@^0.6.1: languageName: node linkType: hard -"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": - version: 5.2.0 - resolution: "strip-ansi@npm:5.2.0" +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.0.1 + resolution: "strip-ansi@npm:7.0.1" dependencies: - ansi-regex: ^4.1.0 - checksum: bdb5f76ade97062bd88e7723aa019adbfacdcba42223b19ccb528ffb9fb0b89a5be442c663c4a3fb25268eaa3f6ea19c7c3fbae830bd1562d55adccae1fcec46 + ansi-regex: ^6.0.1 + checksum: 257f78fa433520e7f9897722731d78599cb3fce29ff26a20a5e12ba4957463b50a01136f37c43707f4951817a75e90820174853d6ccc240997adc5df8f966039 languageName: node linkType: hard @@ -23369,20 +20870,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"strip-comments@npm:^1.0.2": - version: 1.0.2 - resolution: "strip-comments@npm:1.0.2" - dependencies: - babel-extract-comments: ^1.0.0 - babel-plugin-transform-object-rest-spread: ^6.26.0 - checksum: 19e6f659a617566aef011b29ef9ce50da0db24556073d9c8065c73072f89bf1238d1fcaaa485933fee038a50a09bb04493097f66e622cdfc3a114f5e9e99ee24 - languageName: node - linkType: hard - -"strip-eof@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-eof@npm:1.0.0" - checksum: 40bc8ddd7e072f8ba0c2d6d05267b4e0a4800898c3435b5fb5f5a21e6e47dfaff18467e7aa0d1844bb5d6274c3097246595841fbfeb317e541974ee992cac506 +"strip-comments@npm:^2.0.1": + version: 2.0.1 + resolution: "strip-comments@npm:2.0.1" + checksum: 36cd122e1c27b5be69df87e1687770a62fe183bdee9f3ff5cf85d30bbc98280afc012581f2fd50c7ad077c90f656f272560c9d2e520d28604b8b7ea3bc87d6f9 languageName: node linkType: hard @@ -23407,15 +20898,12 @@ resolve@^0.6.1: languageName: node linkType: hard -"style-loader@npm:1.3.0": - version: 1.3.0 - resolution: "style-loader@npm:1.3.0" - dependencies: - loader-utils: ^2.0.0 - schema-utils: ^2.7.0 +"style-loader@npm:^3.3.1": + version: 3.3.1 + resolution: "style-loader@npm:3.3.1" peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 1be9e8705307f5b8eb89e80f3703fa27296dccec349d790eace7aabe212f08c7c8f3ea6b6cb97bc53e82fbebfb9aa0689259671a8315f4655e24a850781e062a + webpack: ^5.0.0 + checksum: 470feef680f59e2fce4d6601b5c55b88c01ad8d1dd693c528ffd591ff5fd7c01a4eff3bdbe62f26f847d6bd2430c9ab594be23307cfe7a3446ab236683f0d066 languageName: node linkType: hard @@ -23452,6 +20940,18 @@ resolve@^0.6.1: languageName: node linkType: hard +"stylehacks@npm:^5.1.0": + version: 5.1.0 + resolution: "stylehacks@npm:5.1.0" + dependencies: + browserslist: ^4.16.6 + postcss-selector-parser: ^6.0.4 + peerDependencies: + postcss: ^8.2.15 + checksum: 310b3452c11fd443b0d327aa2d5b43ae7479407339204b7ad11cf2e16d33b690c1cbf47a21b737ef112411e53563f0f996c5fa3642d135c896329950a008277f + languageName: node + linkType: hard + "stylis@npm:4.0.13": version: 4.0.13 resolution: "stylis@npm:4.0.13" @@ -23460,11 +20960,11 @@ resolve@^0.6.1: linkType: hard "supercluster@npm:^7.0.0": - version: 7.1.2 - resolution: "supercluster@npm:7.1.2" + version: 7.1.5 + resolution: "supercluster@npm:7.1.5" dependencies: kdbush: ^3.0.0 - checksum: 39c6f00fa20813d22beeadbff04d19676ab7f1f766d16ef7f37fcec1f06295569c34d316360326b98beb730b330c9a1c5a932b2efa57af987dc19a24cef37e8e + checksum: 69863238870093b96617135884721b6343746e14f396b2d67d6b55c52c362ec0516c5e386aa21815e75a9cef2054e831ac34023d0d8b600091d28cea0794f027 languageName: node linkType: hard @@ -23528,12 +21028,12 @@ resolve@^0.6.1: linkType: hard "supports-hyperlinks@npm:^2.0.0": - version: 2.1.0 - resolution: "supports-hyperlinks@npm:2.1.0" + version: 2.2.0 + resolution: "supports-hyperlinks@npm:2.2.0" dependencies: has-flag: ^4.0.0 supports-color: ^7.0.0 - checksum: e4f430c870a258c9854b8bd7f166a9c1e76e3b851da84d4399d6a8f1d4a485e4ec36c16455dde80acf06c86e7c0a6df76ed22b6a4644a6ae3eced8616b3f21b5 + checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a languageName: node linkType: hard @@ -23559,14 +21059,14 @@ resolve@^0.6.1: linkType: hard "svg-path-bounds@npm:^1.0.1": - version: 1.0.1 - resolution: "svg-path-bounds@npm:1.0.1" + version: 1.0.2 + resolution: "svg-path-bounds@npm:1.0.2" dependencies: abs-svg-path: ^0.1.1 is-svg-path: ^1.0.1 normalize-svg-path: ^1.0.0 parse-svg-path: ^0.1.2 - checksum: 0ddf2bc70d53883c9546d2b6e06549e24efd44924f1aa5aa16870bc07778e86a1622d9796101b57eb891d0f12457e06e59b64db73d4ebab6b9f4c0c9a9ca4ecb + checksum: 8590a4e14942a34f595df64d804a3533cb83a29498b34f61723cf3172958a5a3c3b211805c6c4b2f93fb90ff4eab74b08a2dc1daa489d6ba429534aca5f5184d languageName: node linkType: hard @@ -23606,7 +21106,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"svgo@npm:^2.4.0": +"svgo@npm:^2.4.0, svgo@npm:^2.7.0": version: 2.8.0 resolution: "svgo@npm:2.8.0" dependencies: @@ -23623,13 +21123,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"symbol-observable@npm:1.2.0": - version: 1.2.0 - resolution: "symbol-observable@npm:1.2.0" - checksum: 48ffbc22e3d75f9853b3ff2ae94a44d84f386415110aea5effc24d84c502e03a4a6b7a8f75ebaf7b585780bda34eb5d6da3121f826a6f93398429d30032971b6 - languageName: node - linkType: hard - "symbol-tree@npm:^3.2.2, symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -23657,27 +21150,70 @@ resolve@^0.6.1: linkType: hard "table@npm:^6.0.4": - version: 6.0.7 - resolution: "table@npm:6.0.7" + version: 6.8.0 + resolution: "table@npm:6.8.0" dependencies: - ajv: ^7.0.2 - lodash: ^4.17.20 + ajv: ^8.0.1 + lodash.truncate: ^4.4.2 slice-ansi: ^4.0.0 - string-width: ^4.2.0 - checksum: 5a981ff05b5a404bcddf1aae40b26951aaf4e77ce22348d2e9c86a681c32ff6ae4ac4da7e6496780a3b2feb7fb8b302c1dfb6c88e025bff913a2d380b24f847d + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + checksum: 5b07fe462ee03d2e1fac02cbb578efd2e0b55ac07e3d3db2e950aa9570ade5a4a2b8d3c15e9f25c89e4e50b646bc4269934601ee1eef4ca7968ad31960977690 + languageName: node + linkType: hard + +"tailwindcss@npm:^3.0.2": + version: 3.1.6 + resolution: "tailwindcss@npm:3.1.6" + dependencies: + arg: ^5.0.2 + chokidar: ^3.5.3 + color-name: ^1.1.4 + detective: ^5.2.1 + didyoumean: ^1.2.2 + dlv: ^1.1.3 + fast-glob: ^3.2.11 + glob-parent: ^6.0.2 + is-glob: ^4.0.3 + lilconfig: ^2.0.5 + normalize-path: ^3.0.0 + object-hash: ^3.0.0 + picocolors: ^1.0.0 + postcss: ^8.4.14 + postcss-import: ^14.1.0 + postcss-js: ^4.0.0 + postcss-load-config: ^3.1.4 + postcss-nested: 5.0.6 + postcss-selector-parser: ^6.0.10 + postcss-value-parser: ^4.2.0 + quick-lru: ^5.1.1 + resolve: ^1.22.1 + peerDependencies: + postcss: ^8.0.9 + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: 90719c6fd0dcdda5c8e2882ad421048c9dd90890e0c118d12ff3ec31adba53eb2df8fed1ed203e728e5b32297e1cc207df463a6b196d37344a63fde9f67c52b6 languageName: node linkType: hard -"tapable@npm:^1.0.0, tapable@npm:^1.1.3": +"tapable@npm:^1.0.0": version: 1.1.3 resolution: "tapable@npm:1.1.3" checksum: 53ff4e7c3900051c38cc4faab428ebfd7e6ad0841af5a7ac6d5f3045c5b50e88497bfa8295b4b3fbcadd94993c9e358868b78b9fb249a76cb8b018ac8dccafd7 languageName: node linkType: hard -"tar@npm:^6.0.2": - version: 6.1.2 - resolution: "tar@npm:6.1.2" +"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.1.11 + resolution: "tar@npm:6.1.11" dependencies: chownr: ^2.0.0 fs-minipass: ^2.0.0 @@ -23685,25 +21221,26 @@ resolve@^0.6.1: minizlib: ^2.1.1 mkdirp: ^1.0.3 yallist: ^4.0.0 - checksum: 13c9b26b22b26b321e842f024fd56831e26fd455cceface3827f2034d1027ad1e9c59b75a98e30a19171b1b5047526d517ec6bf38d2d7bb6bb8d496d7ff239af + checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f languageName: node linkType: hard -"temp-dir@npm:^1.0.0": - version: 1.0.0 - resolution: "temp-dir@npm:1.0.0" - checksum: cb2b58ddfb12efa83e939091386ad73b425c9a8487ea0095fe4653192a40d49184a771a1beba99045fbd011e389fd563122d79f54f82be86a55620667e08a6b2 +"temp-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "temp-dir@npm:2.0.0" + checksum: cc4f0404bf8d6ae1a166e0e64f3f409b423f4d1274d8c02814a59a5529f07db6cd070a749664141b992b2c1af337fa9bb451a460a43bb9bcddc49f235d3115aa languageName: node linkType: hard -"tempy@npm:^0.3.0": - version: 0.3.0 - resolution: "tempy@npm:0.3.0" +"tempy@npm:^0.6.0": + version: 0.6.0 + resolution: "tempy@npm:0.6.0" dependencies: - temp-dir: ^1.0.0 - type-fest: ^0.3.1 - unique-string: ^1.0.0 - checksum: f81ef72a7ee6d512439af8d8891e4fc6595309451910d7ac9d760f1242a1f87272b2b97c830c8f74aaa93a3aa550483bb16db17e6345601f64d614d240edc322 + is-stream: ^2.0.0 + temp-dir: ^2.0.0 + type-fest: ^0.16.0 + unique-string: ^2.0.0 + checksum: dd09c8b6615e4b785ea878e9a18b17ac0bfe5dccf5a0e205ebd274bb356356aff3f5c90a6c917077d51c75efb7648b113a78b0492e2ffc81a7c9912eb872ac52 languageName: node linkType: hard @@ -23724,41 +21261,25 @@ resolve@^0.6.1: languageName: node linkType: hard -"terser-webpack-plugin@npm:4.2.3": - version: 4.2.3 - resolution: "terser-webpack-plugin@npm:4.2.3" - dependencies: - cacache: ^15.0.5 - find-cache-dir: ^3.3.1 - jest-worker: ^26.5.0 - p-limit: ^3.0.2 - schema-utils: ^3.0.0 - serialize-javascript: ^5.0.1 - source-map: ^0.6.1 - terser: ^5.3.4 - webpack-sources: ^1.4.3 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: ec1b3a85e2645c57e359d5e4831f3e1d78eca2a0c94b156db70eb846ae35b5e6e98ad8784b12e153fc273e57445ce69d017075bbe9fc42868a258ef121f11537 - languageName: node - linkType: hard - -"terser-webpack-plugin@npm:^1.4.3": - version: 1.4.5 - resolution: "terser-webpack-plugin@npm:1.4.5" +"terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.2.5": + version: 5.3.3 + resolution: "terser-webpack-plugin@npm:5.3.3" dependencies: - cacache: ^12.0.2 - find-cache-dir: ^2.1.0 - is-wsl: ^1.1.0 - schema-utils: ^1.0.0 - serialize-javascript: ^4.0.0 - source-map: ^0.6.1 - terser: ^4.1.2 - webpack-sources: ^1.4.0 - worker-farm: ^1.7.0 + "@jridgewell/trace-mapping": ^0.3.7 + jest-worker: ^27.4.5 + schema-utils: ^3.1.1 + serialize-javascript: ^6.0.0 + terser: ^5.7.2 peerDependencies: - webpack: ^4.0.0 - checksum: 02aada80927d3c8105d69cb00384d307b73aed67d180db5d20023a8d649149f3803ad50f9cd2ef9eb2622005de87e677198ecc5088f51422bfac5d4d57472d0e + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 4b8d508d8a0f6e604addb286975f1fa670f8c3964a67abc03a7cfcfd4cdeca4b07dda6655e1c4425427fb62e4d2b0ca59d84f1b2cd83262ff73616d5d3ccdeb5 languageName: node linkType: hard @@ -23768,49 +21289,24 @@ resolve@^0.6.1: dependencies: commander: ^2.19.0 source-map: ~0.6.1 - source-map-support: ~0.5.10 - bin: - terser: bin/uglifyjs - checksum: 4fed679470b65a3290b6b5c9b104fb5007aa195824e421d37c0a65656de927f55bf6b210c20b2dff5664101cbdd7c0f93daa03d4d0da7758e660c9716411d279 - languageName: node - linkType: hard - -"terser@npm:^4.1.2, terser@npm:^4.6.2, terser@npm:^4.6.3, terser@npm:^4.8.0": - version: 4.8.0 - resolution: "terser@npm:4.8.0" - dependencies: - commander: ^2.20.0 - source-map: ~0.6.1 - source-map-support: ~0.5.12 - bin: - terser: bin/terser - checksum: f980789097d4f856c1ef4b9a7ada37beb0bb022fb8aa3057968862b5864ad7c244253b3e269c9eb0ab7d0caf97b9521273f2d1cf1e0e942ff0016e0583859c71 - languageName: node - linkType: hard - -"terser@npm:^5.2.0": - version: 5.7.2 - resolution: "terser@npm:5.7.2" - dependencies: - commander: ^2.20.0 - source-map: ~0.7.2 - source-map-support: ~0.5.19 + source-map-support: ~0.5.10 bin: - terser: bin/terser - checksum: a929ab3f0e030e59a136557063833cc5054997bd56524682308421c14a3c8f4f37ff94f84c09da42bd1e5efb4512d0c6a1dc3bbcd2a130ed6bf39f81d20c2765 + terser: bin/uglifyjs + checksum: 4fed679470b65a3290b6b5c9b104fb5007aa195824e421d37c0a65656de927f55bf6b210c20b2dff5664101cbdd7c0f93daa03d4d0da7758e660c9716411d279 languageName: node linkType: hard -"terser@npm:^5.3.4": - version: 5.6.0 - resolution: "terser@npm:5.6.0" +"terser@npm:^5.0.0, terser@npm:^5.10.0, terser@npm:^5.2.0, terser@npm:^5.6.1, terser@npm:^5.7.2": + version: 5.14.2 + resolution: "terser@npm:5.14.2" dependencies: + "@jridgewell/source-map": ^0.3.2 + acorn: ^8.5.0 commander: ^2.20.0 - source-map: ~0.7.2 - source-map-support: ~0.5.19 + source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 5932e620ffd2222cde2d0610ff9a608910c1ffec2e755e95db983cc43968f87e3ad7b6808420067805432ee03d46216b9919ff6b37f1c6ca4adef2f715d23711 + checksum: cabb50a640d6c2cfb351e4f43dc7bf7436f649755bb83eb78b2cacda426d5e0979bd44e6f92d713f3ca0f0866e322739b9ced888ebbce6508ad872d08de74fcc languageName: node linkType: hard @@ -23825,17 +21321,17 @@ resolve@^0.6.1: languageName: node linkType: hard -"text-table@npm:0.2.0, text-table@npm:^0.2.0": +"text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a languageName: node linkType: hard -"throat@npm:^5.0.0": - version: 5.0.0 - resolution: "throat@npm:5.0.0" - checksum: 031ff7f4431618036c1dedd99c8aa82f5c33077320a8358ed829e84b320783781d1869fe58e8f76e948306803de966f5f7573766a437562c9f5c033297ad2fe2 +"throat@npm:^6.0.1": + version: 6.0.1 + resolution: "throat@npm:6.0.1" + checksum: 782d4171ee4e3cf947483ed2ff1af3e17cc4354c693b9d339284f61f99fbc401d171e0b0d2db3295bb7d447630333e9319c174ebd7ef315c6fb791db9675369c languageName: node linkType: hard @@ -23890,9 +21386,9 @@ resolve@^0.6.1: linkType: hard "tiny-invariant@npm:^1.0.2": - version: 1.1.0 - resolution: "tiny-invariant@npm:1.1.0" - checksum: 27d29bbb9e1d1d86e25766711c28ad91af6d67c87d561167077ac7fbce5212b97bbfe875e70bc369808e075748c825864c9b61f0e9f8652275ec86bcf4dcc924 + version: 1.2.0 + resolution: "tiny-invariant@npm:1.2.0" + checksum: e09a718a7c4a499ba592cdac61f015d87427a0867ca07f50c11fd9b623f90cdba18937b515d4a5e4f43dac92370498d7bdaee0d0e7a377a61095e02c4a92eade languageName: node linkType: hard @@ -23926,7 +21422,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"tmpl@npm:1.0.x": +"tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 @@ -23965,13 +21461,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"to-float32@npm:^1.0.1": - version: 1.0.1 - resolution: "to-float32@npm:1.0.1" - checksum: 36a3ac4273188077de85b99e23ba8819f385bb31b23429a8b759fe2d90aa813305a4826f29fec2c1c682429d8a0cecee4044df226097f8b4cf1313bdd9f92395 - languageName: node - linkType: hard - "to-float32@npm:^1.1.0": version: 1.1.0 resolution: "to-float32@npm:1.1.0" @@ -24050,10 +21539,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"toidentifier@npm:1.0.0": - version: 1.0.0 - resolution: "toidentifier@npm:1.0.0" - checksum: 199e6bfca1531d49b3506cff02353d53ec987c9ee10ee272ca6484ed97f1fc10fb77c6c009079ca16d5c5be4a10378178c3cacdb41ce9ec954c3297c74c6053e +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 languageName: node linkType: hard @@ -24080,14 +21569,14 @@ resolve@^0.6.1: languageName: node linkType: hard -"tough-cookie@npm:^3.0.1": - version: 3.0.1 - resolution: "tough-cookie@npm:3.0.1" +"tough-cookie@npm:^4.0.0": + version: 4.0.0 + resolution: "tough-cookie@npm:4.0.0" dependencies: - ip-regex: ^2.1.0 - psl: ^1.1.28 + psl: ^1.1.33 punycode: ^2.1.1 - checksum: 796f6239bce5674a1267b19f41972a2602a2a23715817237b5922b0dc2343512512eea7d41d29210a4ec545f8ef32173bbbf01277dd8ec3ae3841b19cbe69f67 + universalify: ^0.1.2 + checksum: 0891b37eb7d17faa3479d47f0dce2e3007f2583094ad272f2670d120fbcc3df3b0b0a631ba96ecad49f9e2297d93ff8995ce0d3292d08dd7eabe162f5b224d69 languageName: node linkType: hard @@ -24100,12 +21589,12 @@ resolve@^0.6.1: languageName: node linkType: hard -"tr46@npm:^2.0.2": - version: 2.0.2 - resolution: "tr46@npm:2.0.2" +"tr46@npm:^2.1.0": + version: 2.1.0 + resolution: "tr46@npm:2.1.0" dependencies: punycode: ^2.1.1 - checksum: 2b2b3dfa6bc65d027b2fac729fba0fb5b9d98af7b69ad6876c0f088ebf127f2d53e5a4d4464e5de40380cf721f392262c9183d2a05cea4967a890e8801c842f6 + checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 languageName: node linkType: hard @@ -24123,64 +21612,40 @@ resolve@^0.6.1: languageName: node linkType: hard -"ts-pnp@npm:1.2.0, ts-pnp@npm:^1.1.6": - version: 1.2.0 - resolution: "ts-pnp@npm:1.2.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: c2a698b85d521298fe6f2435fbf2d3dc5834b423ea25abd321805ead3f399dbeedce7ca09492d7eb005b9d2c009c6b9587055bc3ab273dc6b9e40eefd7edb5b2 - languageName: node - linkType: hard - -"tsconfig-paths@npm:^3.9.0": - version: 3.9.0 - resolution: "tsconfig-paths@npm:3.9.0" +"tsconfig-paths@npm:^3.14.1": + version: 3.14.1 + resolution: "tsconfig-paths@npm:3.14.1" dependencies: "@types/json5": ^0.0.29 json5: ^1.0.1 - minimist: ^1.2.0 + minimist: ^1.2.6 strip-bom: ^3.0.0 - checksum: 243b3b098c76a4ca90ea0431683f3755a4ff175c6123bcba5f7b4bd80fe2ef8fa9bdc8f4d525148a1e71ade7f3e037e7c0313ae177fd12398ab68f05c2c7f25d + checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d languageName: node linkType: hard -"tslib@npm:^1.8.1, tslib@npm:^1.9.0": +"tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd languageName: node linkType: hard -"tslib@npm:^2.0.3": - version: 2.1.0 - resolution: "tslib@npm:2.1.0" - checksum: aa189c8179de0427b0906da30926fd53c59d96ec239dff87d6e6bc831f608df0cbd6f77c61dabc074408bd0aa0b9ae4ec35cb2c15f729e32f37274db5730cb78 - languageName: node - linkType: hard - -"tslib@npm:^2.1.0": - version: 2.3.1 - resolution: "tslib@npm:2.3.1" - checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 - languageName: node - linkType: hard - -"tslib@npm:^2.4.0": +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0": version: 2.4.0 resolution: "tslib@npm:2.4.0" checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 languageName: node linkType: hard -"tsutils@npm:^3.17.1": - version: 3.20.0 - resolution: "tsutils@npm:3.20.0" +"tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" dependencies: tslib: ^1.8.1 peerDependencies: typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: cdfa0ec2255546f6afad574dd9df449f2ffba4b5b6f2eeb588467d44ddcbd2d88336d14ab79c4dbaf6a0f68a9d33f6143f7ede452c9daf99237397716e1dcbe2 + checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 languageName: node linkType: hard @@ -24232,10 +21697,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"type-fest@npm:^0.11.0": - version: 0.11.0 - resolution: "type-fest@npm:0.11.0" - checksum: 8e7589e1eb5ced6c8e1d3051553b59b9f525c41e58baa898229915781c7bf55db8cb2f74e56d8031f6af5af2eecc7cb8da9ca3af7e5b80b49d8ca5a81891f3f9 +"type-fest@npm:^0.16.0": + version: 0.16.0 + resolution: "type-fest@npm:0.16.0" + checksum: 1a4102c06dc109db00418c753062e206cab65befd469d000ece4452ee649bf2a9cf57686d96fb42326bc9d918d9a194d4452897b486dcc41989e5c99e4e87094 languageName: node linkType: hard @@ -24246,17 +21711,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"type-fest@npm:^0.3.1": - version: 0.3.1 - resolution: "type-fest@npm:0.3.1" - checksum: 347ff46c2285616635cb59f722e7f396bee81b8988b6fc1f1536b725077f2abf6ccfa22ab7a78e9b6ce7debea0e6614bbf5946cbec6674ec1bde12113af3a65c - languageName: node - linkType: hard - -"type-fest@npm:^0.6.0": - version: 0.6.0 - resolution: "type-fest@npm:0.6.0" - checksum: b2188e6e4b21557f6e92960ec496d28a51d68658018cba8b597bd3ef757721d1db309f120ae987abeeda874511d14b776157ff809f23c6d1ce8f83b9b2b7d60f +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 languageName: node linkType: hard @@ -24267,7 +21725,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"type-is@npm:~1.6.17, type-is@npm:~1.6.18": +"type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -24291,10 +21749,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"type@npm:^2.0.0": - version: 2.3.0 - resolution: "type@npm:2.3.0" - checksum: 78db60f75142df2deb01e1d56c52f6d9e03cddb4f3ccad6dd0b59200a9cbb0a15992f99e98ae55c2e638e20e584ad12de316c9cac0e731f7c9c904e0b4ce74d9 +"type@npm:^2.5.0": + version: 2.6.0 + resolution: "type@npm:2.6.0" + checksum: 80da01fcc0f6ed5a253dc326530e134000a8f66ea44b6d9687cde2f894f0d0b2486595b0cd040a64f7f79dc3120784236f8c9ef667a8aef03984e049b447cfb4 languageName: node linkType: hard @@ -24325,34 +21783,34 @@ resolve@^0.6.1: linkType: hard "typescript@npm:~4.7.3": - version: 4.7.3 - resolution: "typescript@npm:4.7.3" + version: 4.7.4 + resolution: "typescript@npm:4.7.4" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: fd13a1ce53790a36bb8350e1f5e5e384b5f6cb9b0635114a6d01d49cb99916abdcfbc13c7521cdae2f2d3f6d8bc4a8ae7625edf645a04ee940588cd5e7597b2f + checksum: 5750181b1cd7e6482c4195825547e70f944114fb47e58e4aa7553e62f11b3f3173766aef9c281783edfd881f7b8299cf35e3ca8caebe73d8464528c907a164df languageName: node linkType: hard "typescript@patch:typescript@~4.7.3#~builtin": - version: 4.7.3 - resolution: "typescript@patch:typescript@npm%3A4.7.3#~builtin::version=4.7.3&hash=493e53" + version: 4.7.4 + resolution: "typescript@patch:typescript@npm%3A4.7.4#~builtin::version=4.7.4&hash=493e53" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 8257ce7ecbbf9416da60045a76a99d473698ca9e973fa0ddab7137cacb1587255431176cbbcc801a650938c4dc8109ab88355774829a714fabe56a53a2fe4524 + checksum: 96d3030cb01143570567cb4f3a616b10df65f658f0e74e853e77a089a6a954e35c800be7db8b9bfe9a1ae05d9c2897e281359f65e4caa1caf266368e1c4febd3 languageName: node linkType: hard -"unbox-primitive@npm:^1.0.0": - version: 1.0.0 - resolution: "unbox-primitive@npm:1.0.0" +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" dependencies: - function-bind: ^1.1.1 - has-bigints: ^1.0.0 - has-symbols: ^1.0.0 - which-boxed-primitive: ^1.0.1 - checksum: b3c63f8f7cd77fdb4f33b2af38407369d9d1b392b73506e0f61dc1ac92a81edeb2a4e4bc062241ee0ac05f946fcd01a558dfb6f54be56ccc5938aa296abb2e2a + call-bind: ^1.0.2 + has-bigints: ^1.0.2 + has-symbols: ^1.0.3 + which-boxed-primitive: ^1.0.2 + checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 languageName: node linkType: hard @@ -24375,13 +21833,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"unicode-canonical-property-names-ecmascript@npm:^1.0.4": - version: 1.0.4 - resolution: "unicode-canonical-property-names-ecmascript@npm:1.0.4" - checksum: cc1973b18d0e1a151711e5551f87f4b3086c4f542cd5142aa691307d5720fd725fa7d36c24e12e944e108b91c72554237b0c236772d35592839434da5506c40f - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -24389,16 +21840,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"unicode-match-property-ecmascript@npm:^1.0.4": - version: 1.0.4 - resolution: "unicode-match-property-ecmascript@npm:1.0.4" - dependencies: - unicode-canonical-property-names-ecmascript: ^1.0.4 - unicode-property-aliases-ecmascript: ^1.0.4 - checksum: 08e269fac71b5ace0f8331df9e87b9b533fe97b00c43ea58de69ae81816581490f846050e0c472279a3e7434524feba99915a93816f90dbbc0a30bcbd082da88 - languageName: node - linkType: hard - "unicode-match-property-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-match-property-ecmascript@npm:2.0.0" @@ -24409,13 +21850,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"unicode-match-property-value-ecmascript@npm:^1.2.0": - version: 1.2.0 - resolution: "unicode-match-property-value-ecmascript@npm:1.2.0" - checksum: 2e663cfec8e2cf317b69613566314979f717034ea8f58a237dd63234795044a87337410064fe839774d71e1d7e12195520e9edd69ed8e28f2a9eb28a2db38595 - languageName: node - linkType: hard - "unicode-match-property-value-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-match-property-value-ecmascript@npm:2.0.0" @@ -24423,13 +21857,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"unicode-property-aliases-ecmascript@npm:^1.0.4": - version: 1.1.0 - resolution: "unicode-property-aliases-ecmascript@npm:1.1.0" - checksum: 1a96dc462d251bb1c5237f7bc77956b29f01cefce7f3e7448430742930961557c3d1515a9669715ebb06209bf01072e2f78ba1627247017daa84346414bc02f1 - languageName: node - linkType: hard - "unicode-property-aliases-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-property-aliases-ecmascript@npm:2.0.0" @@ -24491,16 +21918,16 @@ resolve@^0.6.1: languageName: node linkType: hard -"unique-string@npm:^1.0.0": - version: 1.0.0 - resolution: "unique-string@npm:1.0.0" +"unique-string@npm:^2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" dependencies: - crypto-random-string: ^1.0.0 - checksum: 588f16bd4ec99b5130f237793d1a5694156adde20460366726573238e41e93b739b87987e863792aeb2392b26f8afb292490ace119c82ed12c46816c9c859f5f + crypto-random-string: ^2.0.0 + checksum: ef68f639136bcfe040cf7e3cd7a8dff076a665288122855148a6f7134092e6ed33bf83a7f3a9185e46c98dddc445a0da6ac25612afa1a7c38b8b654d6c02498e languageName: node linkType: hard -"universalify@npm:^0.1.0": +"universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff @@ -24538,13 +21965,27 @@ resolve@^0.6.1: languageName: node linkType: hard -"upath@npm:^1.1.1, upath@npm:^1.1.2, upath@npm:^1.2.0": +"upath@npm:^1.1.1, upath@npm:^1.2.0": version: 1.2.0 resolution: "upath@npm:1.2.0" checksum: 4c05c094797cb733193a0784774dbea5b1889d502fc9f0572164177e185e4a59ba7099bf0b0adf945b232e2ac60363f9bf18aac9b2206fb99cbef971a8455445 languageName: node linkType: hard +"update-browserslist-db@npm:^1.0.5": + version: 1.0.5 + resolution: "update-browserslist-db@npm:1.0.5" + dependencies: + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + browserslist-lint: cli.js + checksum: 7e425fe5dbbebdccf72a84ce70ec47fc74dce561d28f47bc2b84a1c2b84179a862c2261b18ab66a5e73e261c7e2ef9e11c6129112989d4d52e8f75a56bb923f8 + languageName: node + linkType: hard + "update-diff@npm:^1.1.0": version: 1.1.0 resolution: "update-diff@npm:1.1.0" @@ -24568,33 +22009,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"url-loader@npm:4.1.1": - version: 4.1.1 - resolution: "url-loader@npm:4.1.1" - dependencies: - loader-utils: ^2.0.0 - mime-types: ^2.1.27 - schema-utils: ^3.0.0 - peerDependencies: - file-loader: "*" - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true - checksum: c1122a992c6cff70a7e56dfc2b7474534d48eb40b2cc75467cde0c6972e7597faf8e43acb4f45f93c2473645dfd803bcbc20960b57544dd1e4c96e77f72ba6fd - languageName: node - linkType: hard - -"url-parse@npm:^1.5.10": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: ^2.1.1 - requires-port: ^1.0.0 - checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf - languageName: node - linkType: hard - "url@npm:^0.11.0": version: 0.11.0 resolution: "url@npm:0.11.0" @@ -24619,16 +22033,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"util.promisify@npm:1.0.0": - version: 1.0.0 - resolution: "util.promisify@npm:1.0.0" - dependencies: - define-properties: ^1.1.2 - object.getownpropertydescriptors: ^2.0.3 - checksum: 482e857d676adee506c5c3a10212fd6a06a51d827a9b6d5396a8e593db53b4bb7064f77c5071357d8cd76072542de5cc1c08bc6d7c10cf43fa22dc3bc67556f1 - languageName: node - linkType: hard - "util.promisify@npm:~1.0.0": version: 1.0.1 resolution: "util.promisify@npm:1.0.1" @@ -24736,7 +22140,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"uuid@npm:^8.3.0, uuid@npm:^8.3.2": +"uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" bin: @@ -24746,30 +22150,20 @@ resolve@^0.6.1: linkType: hard "v8-compile-cache@npm:^2.0.0, v8-compile-cache@npm:^2.0.3": - version: 2.2.0 - resolution: "v8-compile-cache@npm:2.2.0" - checksum: b5916ac2079a4d3de003d9d657d37e1b96453603158ccf6f3d2cc64d0018b71f3576fd3534f519829f9641b4588c830b9363dc5821fe213a51c1b1b3728a382a + version: 2.3.0 + resolution: "v8-compile-cache@npm:2.3.0" + checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e languageName: node linkType: hard -"v8-to-istanbul@npm:^7.0.0": - version: 7.1.0 - resolution: "v8-to-istanbul@npm:7.1.0" +"v8-to-istanbul@npm:^8.1.0": + version: 8.1.1 + resolution: "v8-to-istanbul@npm:8.1.1" dependencies: "@types/istanbul-lib-coverage": ^2.0.1 convert-source-map: ^1.6.0 source-map: ^0.7.3 - checksum: a578434de335df0b4c718c2af7e53e968f6af9c3caa15017b80ab2b73f2795e469bc2212b14e44761ab5a1ac63dc10c27c197d57588ea6b482b0d6b6a087e1ac - languageName: node - linkType: hard - -"validate-npm-package-license@npm:^3.0.1": - version: 3.0.4 - resolution: "validate-npm-package-license@npm:3.0.4" - dependencies: - spdx-correct: ^3.0.0 - spdx-expression-parse: ^3.0.0 - checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad + checksum: 54ce92bec2727879626f623d02c8d193f0c7e919941fa373ec135189a8382265117f5316ea317a1e12a5f9c13d84d8449052a731fe3306fa4beaafbfa4cab229 languageName: node linkType: hard @@ -24915,13 +22309,13 @@ resolve@^0.6.1: linkType: hard "vt-pbf@npm:^3.1.1": - version: 3.1.1 - resolution: "vt-pbf@npm:3.1.1" + version: 3.1.3 + resolution: "vt-pbf@npm:3.1.3" dependencies: "@mapbox/point-geometry": 0.1.0 "@mapbox/vector-tile": ^1.3.1 - pbf: ^3.0.5 - checksum: 7964644c7c6ee1890e5ce187a90d294939ae58559a0c43a2c52828dc5e02f4cd4880a205bacf348b0e6880f28a9ce5cae3121b80c7ec1b3efcde1f60022b9697 + pbf: ^3.2.1 + checksum: 83375b7ffe2e92ab2a4c9924cf2cd80e311b38e9e616c244656140a76090c037c55a1b1379b234cb6567444f32e9cb40fd2c5b6e555ffff4330feba56250f90c languageName: node linkType: hard @@ -24954,12 +22348,12 @@ resolve@^0.6.1: languageName: node linkType: hard -"walker@npm:^1.0.7, walker@npm:~1.0.5": - version: 1.0.7 - resolution: "walker@npm:1.0.7" +"walker@npm:^1.0.7": + version: 1.0.8 + resolution: "walker@npm:1.0.8" dependencies: - makeerror: 1.0.x - checksum: 4038fcf92f6ab0288267ad05008aec9e089a759f1bd32e1ea45cc2eb498eb12095ec43cf8ca2bf23a465f4580a0d33b25b89f450ba521dd27083cbc695ee6bf5 + makeerror: 1.0.12 + checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c languageName: node linkType: hard @@ -24972,29 +22366,13 @@ resolve@^0.6.1: languageName: node linkType: hard -"watchpack-chokidar2@npm:^2.0.1": - version: 2.0.1 - resolution: "watchpack-chokidar2@npm:2.0.1" - dependencies: - chokidar: ^2.1.8 - checksum: acf0f9ebca0c0b2fd1fe87ba557670477a6c0410bf1a653a726e68eb0620aa94fd9a43027a160a76bc793a21ea12e215e1e87dafe762682c13ef92ad4daf7b58 - languageName: node - linkType: hard - -"watchpack@npm:^1.7.4": - version: 1.7.5 - resolution: "watchpack@npm:1.7.5" +"watchpack@npm:^2.4.0": + version: 2.4.0 + resolution: "watchpack@npm:2.4.0" dependencies: - chokidar: ^3.4.1 + glob-to-regexp: ^0.4.1 graceful-fs: ^4.1.2 - neo-async: ^2.5.0 - watchpack-chokidar2: ^2.0.1 - dependenciesMeta: - chokidar: - optional: true - watchpack-chokidar2: - optional: true - checksum: 8b7cb8c8df8f4dd0e8ac47693c0141c4f020a4b031411247d600eca31522fde6f1f9a3a6f6518b46e71f7971b0ed5734c08c60d7fdd2530e7262776286f69236 + checksum: 23d4bc58634dbe13b86093e01c6a68d8096028b664ab7139d58f0c37d962d549a940e98f2f201cecdabd6f9c340338dc73ef8bf094a2249ef582f35183d1a131 languageName: node linkType: hard @@ -25024,9 +22402,9 @@ resolve@^0.6.1: linkType: hard "weak-map@npm:^1.0.5": - version: 1.0.5 - resolution: "weak-map@npm:1.0.5" - checksum: 52883c4e9451b513fca042fcda4365c3a1ea133b7e73131894ca70f8ec3a56c8588a278d350ab32f23fbe9ebcc00ce618bdf60f25af6600532f69ec0c9e9f49b + version: 1.0.8 + resolution: "weak-map@npm:1.0.8" + checksum: ce030b3c6b1a461bda6eac88b3b3be57245ce26330c6ddb98d821d85c0636117ca94693ef8292407066fd367740ec6a1ef6cd9027111453d7ced43f4f78b327a languageName: node linkType: hard @@ -25067,94 +22445,78 @@ resolve@^0.6.1: languageName: node linkType: hard -"webpack-dev-middleware@npm:^3.7.2": - version: 3.7.3 - resolution: "webpack-dev-middleware@npm:3.7.3" +"webpack-dev-middleware@npm:^5.3.1": + version: 5.3.3 + resolution: "webpack-dev-middleware@npm:5.3.3" dependencies: - memory-fs: ^0.4.1 - mime: ^2.4.4 - mkdirp: ^0.5.1 + colorette: ^2.0.10 + memfs: ^3.4.3 + mime-types: ^2.1.31 range-parser: ^1.2.1 - webpack-log: ^2.0.0 + schema-utils: ^4.0.0 peerDependencies: webpack: ^4.0.0 || ^5.0.0 - checksum: faa3cdd7b82d23c35b8f45903556eadd92b0795c76f3e08e234d53f7bab3de13331096a71968e7e9905770ae5de7a4f75ddf09f66d1e0bbabfecbb30db0f71e3 + checksum: dd332cc6da61222c43d25e5a2155e23147b777ff32fdf1f1a0a8777020c072fbcef7756360ce2a13939c3f534c06b4992a4d659318c4a7fe2c0530b52a8a6621 languageName: node linkType: hard -"webpack-dev-server@npm:3.11.1": - version: 3.11.1 - resolution: "webpack-dev-server@npm:3.11.1" +"webpack-dev-server@npm:^4.6.0": + version: 4.9.3 + resolution: "webpack-dev-server@npm:4.9.3" dependencies: - ansi-html: 0.0.7 - bonjour: ^3.5.0 - chokidar: ^2.1.8 + "@types/bonjour": ^3.5.9 + "@types/connect-history-api-fallback": ^1.3.5 + "@types/express": ^4.17.13 + "@types/serve-index": ^1.9.1 + "@types/serve-static": ^1.13.10 + "@types/sockjs": ^0.3.33 + "@types/ws": ^8.5.1 + ansi-html-community: ^0.0.8 + bonjour-service: ^1.0.11 + chokidar: ^3.5.3 + colorette: ^2.0.10 compression: ^1.7.4 - connect-history-api-fallback: ^1.6.0 - debug: ^4.1.1 - del: ^4.1.1 - express: ^4.17.1 - html-entities: ^1.3.1 - http-proxy-middleware: 0.19.1 - import-local: ^2.0.0 - internal-ip: ^4.3.0 - ip: ^1.1.5 - is-absolute-url: ^3.0.3 - killable: ^1.0.1 - loglevel: ^1.6.8 - opn: ^5.5.0 - p-retry: ^3.0.1 - portfinder: ^1.0.26 - schema-utils: ^1.0.0 - selfsigned: ^1.10.8 - semver: ^6.3.0 + connect-history-api-fallback: ^2.0.0 + default-gateway: ^6.0.3 + express: ^4.17.3 + graceful-fs: ^4.2.6 + html-entities: ^2.3.2 + http-proxy-middleware: ^2.0.3 + ipaddr.js: ^2.0.1 + open: ^8.0.9 + p-retry: ^4.5.0 + rimraf: ^3.0.2 + schema-utils: ^4.0.0 + selfsigned: ^2.0.1 serve-index: ^1.9.1 - sockjs: ^0.3.21 - sockjs-client: ^1.5.0 + sockjs: ^0.3.24 spdy: ^4.0.2 - strip-ansi: ^3.0.1 - supports-color: ^6.1.0 - url: ^0.11.0 - webpack-dev-middleware: ^3.7.2 - webpack-log: ^2.0.0 - ws: ^6.2.1 - yargs: ^13.3.2 + webpack-dev-middleware: ^5.3.1 + ws: ^8.4.2 peerDependencies: - webpack: ^4.0.0 || ^5.0.0 + webpack: ^4.37.0 || ^5.0.0 peerDependenciesMeta: webpack-cli: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: 6c6e6b6c207c192585f9943fc9945058832a39a12bbf0368798d73a96264b813ab816cb14985c1ca3c90cc567f59fcad6f2fada8f30f2f0136904cfaf43eb87d - languageName: node - linkType: hard - -"webpack-log@npm:^2.0.0": - version: 2.0.0 - resolution: "webpack-log@npm:2.0.0" - dependencies: - ansi-colors: ^3.0.0 - uuid: ^3.3.2 - checksum: 4757179310995e20633ec2d77a8c1ac11e4135c84745f57148692f8195f1c0f8ec122c77d0dc16fc484b7d301df6674f36c9fc6b1ff06b5cf142abaaf5d24f4f + checksum: 845f2cc8e79a348ee7b17080eef9b332c675540888e0bc97ec6b62174882aca7995eaa7a3f49cfdd9af186da22f2f335fd03cb3c55cd49e387c8a3dc59700d66 languageName: node linkType: hard -"webpack-manifest-plugin@npm:2.2.0": - version: 2.2.0 - resolution: "webpack-manifest-plugin@npm:2.2.0" +"webpack-manifest-plugin@npm:^4.0.2": + version: 4.1.1 + resolution: "webpack-manifest-plugin@npm:4.1.1" dependencies: - fs-extra: ^7.0.0 - lodash: ">=3.5 <5" - object.entries: ^1.1.0 - tapable: ^1.0.0 + tapable: ^2.0.0 + webpack-sources: ^2.2.0 peerDependencies: - webpack: 2 || 3 || 4 - checksum: ed1387774031a59bc1bd5f79150e7a49dcf5048a6d5e9652672637bed7f93df6220cbd88b2e371e7c8c8e7640b3a8ed6895f771c6b05a8bb90b721f82001ac25 + webpack: ^4.44.2 || ^5.47.0 + checksum: 426982030d3b0ef26432d98960ee1fa33889d8f0ed79b3d2c8e37be9b4e4beba7524c60631297ea557c642a340b76d70b0eb6a1e08b86a769409037185795038 languageName: node linkType: hard -"webpack-sources@npm:^1.1.0, webpack-sources@npm:^1.3.0, webpack-sources@npm:^1.4.0, webpack-sources@npm:^1.4.1, webpack-sources@npm:^1.4.3": +"webpack-sources@npm:^1.4.3": version: 1.4.3 resolution: "webpack-sources@npm:1.4.3" dependencies: @@ -25164,41 +22526,57 @@ resolve@^0.6.1: languageName: node linkType: hard -"webpack@npm:4.44.2": - version: 4.44.2 - resolution: "webpack@npm:4.44.2" +"webpack-sources@npm:^2.2.0": + version: 2.3.1 + resolution: "webpack-sources@npm:2.3.1" dependencies: - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-module-context": 1.9.0 - "@webassemblyjs/wasm-edit": 1.9.0 - "@webassemblyjs/wasm-parser": 1.9.0 - acorn: ^6.4.1 - ajv: ^6.10.2 - ajv-keywords: ^3.4.1 + source-list-map: ^2.0.1 + source-map: ^0.6.1 + checksum: 6fd67f2274a84c5f51ad89767112ec8b47727134bf0f2ba0cff458c970f18966939a24128bdbddba621cd66eeb2bef0552642a9333cd8e54514f7b2a71776346 + languageName: node + linkType: hard + +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 + languageName: node + linkType: hard + +"webpack@npm:^5.64.4": + version: 5.74.0 + resolution: "webpack@npm:5.74.0" + dependencies: + "@types/eslint-scope": ^3.7.3 + "@types/estree": ^0.0.51 + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/wasm-edit": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + acorn: ^8.7.1 + acorn-import-assertions: ^1.7.6 + browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^4.3.0 - eslint-scope: ^4.0.3 - json-parse-better-errors: ^1.0.2 - loader-runner: ^2.4.0 - loader-utils: ^1.2.3 - memory-fs: ^0.4.1 - micromatch: ^3.1.10 - mkdirp: ^0.5.3 - neo-async: ^2.6.1 - node-libs-browser: ^2.2.1 - schema-utils: ^1.0.0 - tapable: ^1.1.3 - terser-webpack-plugin: ^1.4.3 - watchpack: ^1.7.4 - webpack-sources: ^1.4.1 + enhanced-resolve: ^5.10.0 + es-module-lexer: ^0.9.0 + eslint-scope: 5.1.1 + events: ^3.2.0 + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.2.9 + json-parse-even-better-errors: ^2.3.1 + loader-runner: ^4.2.0 + mime-types: ^2.1.27 + neo-async: ^2.6.2 + schema-utils: ^3.1.0 + tapable: ^2.1.1 + terser-webpack-plugin: ^5.1.3 + watchpack: ^2.4.0 + webpack-sources: ^3.2.3 peerDependenciesMeta: webpack-cli: optional: true - webpack-command: - optional: true bin: webpack: bin/webpack.js - checksum: 3d42ee6af7a0ff14fc00136d02f4a36381fd5b6ad0636b95a8b83e6d99bc7e02f888f4994c095ae986e567033fe7bb1d445e27afe49d2872b8fe5c3a57d20de6 + checksum: 320c41369a75051b19e18c63f408b3dcc481852e992f83d311771c5ec0f05f2946385e8ebef62030cf3587f0a3d2f12779ffdb191569a966847289ba7313f946 languageName: node linkType: hard @@ -25236,7 +22614,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"whatwg-fetch@npm:^3.4.1": +"whatwg-fetch@npm:^3.6.2": version: 3.6.2 resolution: "whatwg-fetch@npm:3.6.2" checksum: ee976b7249e7791edb0d0a62cd806b29006ad7ec3a3d89145921ad8c00a3a67e4be8f3fb3ec6bc7b58498724fd568d11aeeeea1f7827e7e1e5eae6c8a275afed @@ -25271,18 +22649,18 @@ resolve@^0.6.1: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0": - version: 8.4.0 - resolution: "whatwg-url@npm:8.4.0" +"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": + version: 8.7.0 + resolution: "whatwg-url@npm:8.7.0" dependencies: - lodash.sortby: ^4.7.0 - tr46: ^2.0.2 + lodash: ^4.7.0 + tr46: ^2.1.0 webidl-conversions: ^6.1.0 - checksum: a206f1ee22aa1c09d2f605656d5308b214e3e05afd6ba4503bddcf20827ef379cd7f0f9c772b069a4ba0d5aee83fd854de0aeaa674bbf3a94a8e890b1de87f04 + checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.1": +"which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" dependencies: @@ -25295,13 +22673,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.0 - resolution: "which-module@npm:2.0.0" - checksum: 809f7fd3dfcb2cdbe0180b60d68100c88785084f8f9492b0998c051d7a8efe56784492609d3f09ac161635b78ea29219eb1418a98c15ce87d085bce905705c9c - languageName: node - linkType: hard - "which@npm:^1.2.9, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" @@ -25324,12 +22695,12 @@ resolve@^0.6.1: languageName: node linkType: hard -"wide-align@npm:^1.1.0": - version: 1.1.3 - resolution: "wide-align@npm:1.1.3" +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" dependencies: - string-width: ^1.0.2 || 2 - checksum: d09c8012652a9e6cab3e82338d1874a4d7db2ad1bd19ab43eb744acf0b9b5632ec406bdbbbb970a8f4771a7d5ef49824d038ba70aa884e7723f5b090ab87134d + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 languageName: node linkType: hard @@ -25340,208 +22711,208 @@ resolve@^0.6.1: languageName: node linkType: hard -"workbox-background-sync@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-background-sync@npm:5.1.4" +"workbox-background-sync@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-background-sync@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: 14655d0254813d2580935c88fe4768eb4794158a3c0700505aa06784dcd8d7498563e8b55152f0a4afb609163e76787a3a3eb61813b810bd76830c866d6ceb9e + idb: ^7.0.1 + workbox-core: 6.5.4 + checksum: 60ac80275cc9083b82eb53b6034e3d555d15146927a21c6017329e2b5de12d802619cc2cc6cf023f534a1f1a51671d89cdb59b26a80587d5391e8dc4b7f7dd1d languageName: node linkType: hard -"workbox-broadcast-update@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-broadcast-update@npm:5.1.4" +"workbox-broadcast-update@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-broadcast-update@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: b56df2fde652c2efa8afbb8880562aaac6932be313ddcbbb688bb48beeb3164c928a644407f359168789a31592c765f63526608afe6cd803ac89402f786064d1 + workbox-core: 6.5.4 + checksum: 63cbab2012456871ffeae401e10b16668a0654fa3fa311743cf14e05b8719b797ac3afb47dc8955d87e24f0f1199a547b090bcfdbddd67191b07697d24ac5746 languageName: node linkType: hard -"workbox-build@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-build@npm:5.1.4" +"workbox-build@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-build@npm:6.5.4" dependencies: - "@babel/core": ^7.8.4 - "@babel/preset-env": ^7.8.4 - "@babel/runtime": ^7.8.4 - "@hapi/joi": ^15.1.0 - "@rollup/plugin-node-resolve": ^7.1.1 - "@rollup/plugin-replace": ^2.3.1 - "@surma/rollup-plugin-off-main-thread": ^1.1.1 + "@apideck/better-ajv-errors": ^0.3.1 + "@babel/core": ^7.11.1 + "@babel/preset-env": ^7.11.0 + "@babel/runtime": ^7.11.2 + "@rollup/plugin-babel": ^5.2.0 + "@rollup/plugin-node-resolve": ^11.2.1 + "@rollup/plugin-replace": ^2.4.1 + "@surma/rollup-plugin-off-main-thread": ^2.2.3 + ajv: ^8.6.0 common-tags: ^1.8.0 fast-json-stable-stringify: ^2.1.0 - fs-extra: ^8.1.0 + fs-extra: ^9.0.1 glob: ^7.1.6 - lodash.template: ^4.5.0 + lodash: ^4.17.20 pretty-bytes: ^5.3.0 - rollup: ^1.31.1 - rollup-plugin-babel: ^4.3.3 - rollup-plugin-terser: ^5.3.1 - source-map: ^0.7.3 - source-map-url: ^0.4.0 + rollup: ^2.43.1 + rollup-plugin-terser: ^7.0.0 + source-map: ^0.8.0-beta.0 stringify-object: ^3.3.0 - strip-comments: ^1.0.2 - tempy: ^0.3.0 + strip-comments: ^2.0.1 + tempy: ^0.6.0 upath: ^1.2.0 - workbox-background-sync: ^5.1.4 - workbox-broadcast-update: ^5.1.4 - workbox-cacheable-response: ^5.1.4 - workbox-core: ^5.1.4 - workbox-expiration: ^5.1.4 - workbox-google-analytics: ^5.1.4 - workbox-navigation-preload: ^5.1.4 - workbox-precaching: ^5.1.4 - workbox-range-requests: ^5.1.4 - workbox-routing: ^5.1.4 - workbox-strategies: ^5.1.4 - workbox-streams: ^5.1.4 - workbox-sw: ^5.1.4 - workbox-window: ^5.1.4 - checksum: 873833d0ea5c39c3f9adae9b2cd8ff33c013ff57f189dbec94d4d02917281495f38bbfa508d24425176ea8d31d6a27590658c83c30d44d9d5a9f4eb4d0798694 - languageName: node - linkType: hard - -"workbox-cacheable-response@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-cacheable-response@npm:5.1.4" + workbox-background-sync: 6.5.4 + workbox-broadcast-update: 6.5.4 + workbox-cacheable-response: 6.5.4 + workbox-core: 6.5.4 + workbox-expiration: 6.5.4 + workbox-google-analytics: 6.5.4 + workbox-navigation-preload: 6.5.4 + workbox-precaching: 6.5.4 + workbox-range-requests: 6.5.4 + workbox-recipes: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + workbox-streams: 6.5.4 + workbox-sw: 6.5.4 + workbox-window: 6.5.4 + checksum: 7336bbab4ce8e6e43a17873beedf7360ec32e72310306c670cd4d9ebd7e5a6a729257b2806e63830136a9bf01955632c96b27edf7a00d52c7744dbe875cca6c1 + languageName: node + linkType: hard + +"workbox-cacheable-response@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-cacheable-response@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: 3d8940dbee11880fdd86d76f85c063cf0a42d722be828332acf2f69ff5eaaedc8a0d779e44175adba4e8485f98392052539b2126df79125cebcec57dea0bee3c + workbox-core: 6.5.4 + checksum: f7545b71c1505d6f56f4ba1191989ea7af7119e67fa4eb414d80603221acd0fa31362014106c1df9b9ea0e28bdcf1e2b440859acab06a75e38e978a0d1c2e489 languageName: node linkType: hard -"workbox-core@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-core@npm:5.1.4" - checksum: 6062bc3131bb7fcf1922be619cbc28ba528b033ba18acced5e42eb62b6c0a763814e905106c081c1c100a5d520ef104957e99e592e5e954767df76db49a7c874 +"workbox-core@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-core@npm:6.5.4" + checksum: d973cc6c1c5fdbde7f6642632384c2e0de48f08228eb234db2c97a18a7e5422b483005767e7b447ea774abc0772dfc1edef2ef2b5df174df4d40ae61d4c49719 languageName: node linkType: hard -"workbox-expiration@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-expiration@npm:5.1.4" +"workbox-expiration@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-expiration@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: c4648a008d19ee1281d5d588e10f14bd01530d8601c6ebf27e63b109663530fd381709539f1dd8a32e75d68a04e40e5f31ec6fbcc9ea052ee39000a2d76ade50 + idb: ^7.0.1 + workbox-core: 6.5.4 + checksum: 4b012b69ceafeb5afb3dd6c5c9abe6d55f2eb70666ab603bd78ff839f602336e7493990f729d507ded1fa505b852a5f9135f63afb75b9554c8f948e571143fce languageName: node linkType: hard -"workbox-google-analytics@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-google-analytics@npm:5.1.4" +"workbox-google-analytics@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-google-analytics@npm:6.5.4" dependencies: - workbox-background-sync: ^5.1.4 - workbox-core: ^5.1.4 - workbox-routing: ^5.1.4 - workbox-strategies: ^5.1.4 - checksum: 2783e93f8a5aeccc038f51a9960c05aebd104fd8d113b5fd78a09bac2da8ed8e2be4c9fd7d8a6751682301d6b5e36ba055240a74a3591b4e887aabb2784cd531 + workbox-background-sync: 6.5.4 + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + checksum: fcce5e313780cb4f74ac962c4809fe04f9a93d3d3905d282552a2cbe6d5c6c1b8744641fe7c57d1e4b62754b90c56155e97e589712f99f6a4cab750731d60b93 languageName: node linkType: hard -"workbox-navigation-preload@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-navigation-preload@npm:5.1.4" +"workbox-navigation-preload@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-navigation-preload@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: ed6b19f063f17e2dd12ef08594ea338fcf96d994ea8f7d9b2987099cb08a890c73f139a23b68c9c5523308fba4634f24aca079deb7d00684c8d76fdfb07b0fc9 + workbox-core: 6.5.4 + checksum: c8c341b799f328bb294de8eb9e331a55501d495153237e4ddbaa08bf8630efa700621df5d81f08fb9bffc0f40ecd191a60581f72a3cd5cc72ed2e5baa318c63a languageName: node linkType: hard -"workbox-precaching@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-precaching@npm:5.1.4" +"workbox-precaching@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-precaching@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: 5593c5b9c3c928bb5d3b4c998625be610d05a3b55523e5abb0fc5f12ff2e32412114e933e60d54ba9e2661fa3cbbbab7e11f91c7170742cfe9525437d1c44ae8 + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + checksum: 15ef24ffb04edd13bcdfa6c4e7f64002551badce2d507031c343019b3bcdc569591fdff8f8e30cf1262d641d3eff611115bdda7b2ad0deb9d4ccef8f4be8bd20 languageName: node linkType: hard -"workbox-range-requests@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-range-requests@npm:5.1.4" +"workbox-range-requests@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-range-requests@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: c67b467023e85a45599c411079907585c4d4b7aab77205dd905cd0d8b1487aa248469bc2f89045e8bd4a08eed4ede14795fc9089d01beff65ff3c6f2f1deff45 + workbox-core: 6.5.4 + checksum: 50f144ced7af7db77b3c64c06c0f9924db5b8573ff2c50b3899fc22c4a360baaf6b332e65f47cf812adfc9dec882a94556fed1cf90ae4ef20b645caa03d1149e languageName: node linkType: hard -"workbox-routing@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-routing@npm:5.1.4" +"workbox-recipes@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-recipes@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - checksum: 4199a02b433eb645dfcaf2a5056a04d79f337b6f368b1ab5aa18262857835d4b995536062c294d6f4db6da236235b5736af4b29d0ea1b0c3f0db339b04d3cd40 + workbox-cacheable-response: 6.5.4 + workbox-core: 6.5.4 + workbox-expiration: 6.5.4 + workbox-precaching: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + checksum: 397befeb7c4c63adb0eb1913934ecaf496846844124044f0b39348288ad5950ffb45eb488cfef2504adeafe28a51cdbcc21af2a234813d81ab3da0949942c265 languageName: node linkType: hard -"workbox-strategies@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-strategies@npm:5.1.4" +"workbox-routing@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-routing@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - workbox-routing: ^5.1.4 - checksum: 6ed247bfc0037331043cd0e772c6fd8d48e487875fac75d6692eb3936536ca2d4ac5ac9d12ec9b0ad5eefd4a69afd1ad2a993829ce3a373390880a019fd33d3d + workbox-core: 6.5.4 + checksum: 7198c50b9016d3cea0e5b51512d66f5813d6e6ad5e99c201435d6c0ab3baee1c90aa2bbdd72dd954f439267b6e6196fb04ec96e62347e6c89385db6c1a4dec79 languageName: node linkType: hard -"workbox-streams@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-streams@npm:5.1.4" +"workbox-strategies@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-strategies@npm:6.5.4" dependencies: - workbox-core: ^5.1.4 - workbox-routing: ^5.1.4 - checksum: daaedb22dae6eb4723e7a21d758854adb36b75f1fa2453a914b6768628d91555e3db76fccb70a101f5cf1a39056e783eab1c8b0f4a59649f7ef4fad173c6f7d3 - languageName: node - linkType: hard - -"workbox-sw@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-sw@npm:5.1.4" - checksum: eda970f62c26715b806828cab3000240843bab2e6577c341ccd30747a77a60d23f4f08d8d85fba680bfefa95c673c4d48a62a969a2540916dcf6506c627c69cc + workbox-core: 6.5.4 + checksum: 52134ecd6c05f4edd31e7b022b33a91b7b59c215bfdfb987bc0f10be02fea4d4e6385a9638a2303ba336190c5d28f9721182cd78a6779b9c817a66ec12cb1c6b languageName: node linkType: hard -"workbox-webpack-plugin@npm:5.1.4": - version: 5.1.4 - resolution: "workbox-webpack-plugin@npm:5.1.4" +"workbox-streams@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-streams@npm:6.5.4" dependencies: - "@babel/runtime": ^7.5.5 - fast-json-stable-stringify: ^2.0.0 - source-map-url: ^0.4.0 - upath: ^1.1.2 - webpack-sources: ^1.3.0 - workbox-build: ^5.1.4 - peerDependencies: - webpack: ^4.0.0 - checksum: 7a9093d4ccfedc27ee6716443bcb7ce12d1f92831f48d09e6cf829a62d2ba7948a84ed38964923136d6b296e8f60bda359645a82c5a19e2c5a8e8aab6dae0a55 + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + checksum: efd6917ead915011be2b25dc3ebbb9d051dbd10ba2d91cdaec36ca742360e2c33627564653fc40f336dee874d501e94bcc4a25d1b65eaf5a6ee5f1a8b894af44 languageName: node linkType: hard -"workbox-window@npm:^5.1.4": - version: 5.1.4 - resolution: "workbox-window@npm:5.1.4" - dependencies: - workbox-core: ^5.1.4 - checksum: bd5bc967ea1202c555db4360892518f5479027d05e4bd02fd38ebef3faf6605ee7e3887225e0920624cd2685e5217c3c4bd43a7d458860d186400c12f410df5b +"workbox-sw@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-sw@npm:6.5.4" + checksum: b95c76a74b84ff268ef7691447125697f4de85b076ebc33c9545fb7532b020b6f66b37f7a4bedbc21ab45473d1109337a5f037c45b3d99126ae8f5eeb898a687 languageName: node linkType: hard -"worker-farm@npm:^1.7.0": - version: 1.7.0 - resolution: "worker-farm@npm:1.7.0" +"workbox-webpack-plugin@npm:^6.4.1": + version: 6.5.4 + resolution: "workbox-webpack-plugin@npm:6.5.4" dependencies: - errno: ~0.1.7 - checksum: eab917530e1feddf157ec749e9c91b73a886142daa7fdf3490bccbf7b548b2576c43ab8d0a98e72ac755cbc101ca8647a7b1ff2485fddb9e8f53c40c77f5a719 + fast-json-stable-stringify: ^2.1.0 + pretty-bytes: ^5.4.1 + upath: ^1.2.0 + webpack-sources: ^1.4.3 + workbox-build: 6.5.4 + peerDependencies: + webpack: ^4.4.0 || ^5.9.0 + checksum: d42ab213994767863711d54b6e2ea277839bd731430f7f3f826ccbb8927c6e9e42e2bea6316358d715a8f90f445ce2c094a46018c8a3b3e7035acc7b2822574e languageName: node linkType: hard -"worker-rpc@npm:^0.1.0": - version: 0.1.1 - resolution: "worker-rpc@npm:0.1.1" +"workbox-window@npm:6.5.4": + version: 6.5.4 + resolution: "workbox-window@npm:6.5.4" dependencies: - microevent.ts: ~0.1.1 - checksum: 8f8607506172f44c05490f3ccf13e5c1f430eeb9b6116a405919c186b8b17add13bbb22467a0dbcd18ec7fcb080709a15738182e0003c5fbe2144721ea00f357 + "@types/trusted-types": ^2.0.2 + workbox-core: 6.5.4 + checksum: bc43c8d31908ab564d740eb1041180c0b0ca4d1f0a3ccde59c5764a8f96d7b08edb7df975360fd37c2bec9f3f57ca9de6c7e34fd252aa1a4a075b5b002f74f60 languageName: node linkType: hard @@ -25554,28 +22925,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"wrap-ansi@npm:^5.1.0": - version: 5.1.0 - resolution: "wrap-ansi@npm:5.1.0" - dependencies: - ansi-styles: ^3.2.0 - string-width: ^3.0.0 - strip-ansi: ^5.0.0 - checksum: 9b48c862220e541eb0daa22661b38b947973fc57054e91be5b0f2dcc77741a6875ccab4ebe970a394b4682c8dfc17e888266a105fb8b0a9b23c19245e781ceae - languageName: node - linkType: hard - -"wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: ^4.0.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - checksum: 6cd96a410161ff617b63581a08376f0cb9162375adeb7956e10c8cd397821f7eb2a6de24eb22a0b28401300bf228c86e50617cd568209b5f6775b93c97d2fe3a - languageName: node - linkType: hard - "wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -25606,9 +22955,9 @@ resolve@^0.6.1: languageName: node linkType: hard -"ws@npm:>=7.4.6": - version: 8.2.3 - resolution: "ws@npm:8.2.3" +"ws@npm:>=7.4.6, ws@npm:^8.4.2": + version: 8.8.1 + resolution: "ws@npm:8.8.1" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -25617,31 +22966,31 @@ resolve@^0.6.1: optional: true utf-8-validate: optional: true - checksum: c869296ccb45f218ac6d32f8f614cd85b50a21fd434caf11646008eef92173be53490810c5c23aea31bc527902261fbfd7b062197eea341b26128d4be56a85e4 + checksum: 2152cf862cae0693f3775bc688a6afb2e989d19d626d215e70f5fcd8eb55b1c3b0d3a6a4052905ec320e2d7734e20aeedbf9744496d62f15a26ad79cf4cf7dae languageName: node linkType: hard "ws@npm:^5.1.1": - version: 5.2.2 - resolution: "ws@npm:5.2.2" + version: 5.2.3 + resolution: "ws@npm:5.2.3" dependencies: async-limiter: ~1.0.0 - checksum: 3da93525921e6098aa9b6a370745ef3de9bb3f00427ecbb4755b671fce4810eb21cc1c80847fb639635ac72f0bb08d49b83a4a74896daf2f79e864d8cead1e13 + checksum: bdb2223a40c2c68cf91b25a6c9b8c67d5275378ec6187f343314d3df7530e55b77cb9fe79fb1c6a9758389ac5aefc569d24236924b5c65c5dbbaff409ef739fc languageName: node linkType: hard -"ws@npm:^6.1.2, ws@npm:^6.2.1": - version: 6.2.1 - resolution: "ws@npm:6.2.1" +"ws@npm:^6.1.2": + version: 6.2.2 + resolution: "ws@npm:6.2.2" dependencies: async-limiter: ~1.0.0 - checksum: 82f7512bb74ad6e94002b5016944aee2aeefd1c480477b5f55a03ee010d4a1bd5bb4a688e07695f0a727227a0591a1a7c70e31f97baad826e3c48f85be4db6a9 + checksum: aec3154ec51477c094ac2cb5946a156e17561a581fa27005cbf22c53ac57f8d4e5f791dd4bbba6a488602cb28778c8ab7df06251d590507c3c550fd8ebeee949 languageName: node linkType: hard -"ws@npm:^7.2.3": - version: 7.4.6 - resolution: "ws@npm:7.4.6" +"ws@npm:^7.4.6": + version: 7.5.9 + resolution: "ws@npm:7.5.9" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -25650,7 +22999,7 @@ resolve@^0.6.1: optional: true utf-8-validate: optional: true - checksum: 3a990b32ed08c72070d5e8913e14dfcd831919205be52a3ff0b4cdd998c8d554f167c9df3841605cde8b11d607768cacab3e823c58c96a5c08c987e093eb767a + checksum: c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138 languageName: node linkType: hard @@ -25668,7 +23017,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"xtend@npm:>=4.0.0 <4.1.0-0, xtend@npm:^4.0.0, xtend@npm:~4.0.1": +"xtend@npm:>=4.0.0 <4.1.0-0, xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a @@ -25689,13 +23038,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"y18n@npm:^4.0.0": - version: 4.0.1 - resolution: "y18n@npm:4.0.1" - checksum: b31f20cda288a92558e076ed29f5202b60ec41e5a1ddc3368464a6365038f5da6dcd9b30ee0e36c8cd8d354a7eae33d78236191d8b744d1c5199c7fd1f67f055 - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -25710,13 +23052,6 @@ resolve@^0.6.1: languageName: node linkType: hard -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d - languageName: node - linkType: hard - "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -25724,30 +23059,10 @@ resolve@^0.6.1: languageName: node linkType: hard -"yaml@npm:^1.10.0, yaml@npm:^1.7.2": - version: 1.10.0 - resolution: "yaml@npm:1.10.0" - checksum: ae81d29a82d70a9dcf6f7fa8d9e0898f2148570521acb60c1ac9bdafff298dfc86b591a0983f6cc4f9fb11fb420df4c786919060dfd970d2533de20748ccbb28 - languageName: node - linkType: hard - -"yargs-parser@npm:^13.1.2": - version: 13.1.2 - resolution: "yargs-parser@npm:13.1.2" - dependencies: - camelcase: ^5.0.0 - decamelize: ^1.2.0 - checksum: c8bb6f44d39a4acd94462e96d4e85469df865de6f4326e0ab1ac23ae4a835e5dd2ddfe588317ebf80c3a7e37e741bd5cb0dc8d92bcc5812baefb7df7c885e86b - languageName: node - linkType: hard - -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: ^5.0.0 - decamelize: ^1.2.0 - checksum: 60e8c7d1b85814594d3719300ecad4e6ae3796748b0926137bfec1f3042581b8646d67e83c6fc80a692ef08b8390f21ddcacb9464476c39bbdf52e34961dd4d9 +"yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f languageName: node linkType: hard @@ -25758,44 +23073,7 @@ resolve@^0.6.1: languageName: node linkType: hard -"yargs@npm:^13.3.2": - version: 13.3.2 - resolution: "yargs@npm:13.3.2" - dependencies: - cliui: ^5.0.0 - find-up: ^3.0.0 - get-caller-file: ^2.0.1 - require-directory: ^2.1.1 - require-main-filename: ^2.0.0 - set-blocking: ^2.0.0 - string-width: ^3.0.0 - which-module: ^2.0.0 - y18n: ^4.0.0 - yargs-parser: ^13.1.2 - checksum: 75c13e837eb2bb25717957ba58d277e864efc0cca7f945c98bdf6477e6ec2f9be6afa9ed8a876b251a21423500c148d7b91e88dee7adea6029bdec97af1ef3e8 - languageName: node - linkType: hard - -"yargs@npm:^15.4.1": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" - dependencies: - cliui: ^6.0.0 - decamelize: ^1.2.0 - find-up: ^4.1.0 - get-caller-file: ^2.0.1 - require-directory: ^2.1.1 - require-main-filename: ^2.0.0 - set-blocking: ^2.0.0 - string-width: ^4.2.0 - which-module: ^2.0.0 - y18n: ^4.0.0 - yargs-parser: ^18.1.2 - checksum: 40b974f508d8aed28598087720e086ecd32a5fd3e945e95ea4457da04ee9bdb8bdd17fd91acff36dc5b7f0595a735929c514c40c402416bbb87c03f6fb782373 - languageName: node - linkType: hard - -"yargs@npm:^16.1.1": +"yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" dependencies: @@ -25811,21 +23089,21 @@ resolve@^0.6.1: linkType: hard "yarn-audit-fix@npm:~9.3.1": - version: 9.3.1 - resolution: "yarn-audit-fix@npm:9.3.1" + version: 9.3.3 + resolution: "yarn-audit-fix@npm:9.3.3" dependencies: "@types/find-cache-dir": ^3.2.1 "@types/fs-extra": ^9.0.13 "@types/lodash-es": ^4.17.6 - "@types/semver": ^7.3.9 + "@types/semver": ^7.3.10 "@types/yarnpkg__lockfile": ^1.1.5 "@yarnpkg/lockfile": ^1.1.0 chalk: ^5.0.1 - commander: ^9.2.0 + commander: ^9.4.0 find-cache-dir: ^3.3.2 find-up: ^6.3.0 fs-extra: ^10.1.0 - globby: ^13.1.1 + globby: ^13.1.2 js-yaml: ^4.1.0 lodash-es: ^4.17.21 pkg-dir: ^6.0.1 @@ -25834,7 +23112,7 @@ resolve@^0.6.1: tslib: ^2.4.0 bin: yarn-audit-fix: target/es6/cli.js - checksum: f64aa842490cb78cd7036a0aade5f530bd81bbb8b3d64c6e93fb7011704390247eb3d93b377429efdbba7a99936439041f9bdc6701250a66164cf9a700cea92b + checksum: 78f1a93eae157d6a90299c11e465bcf2cd2a21e42868f4f3b25083fda570fdaa3421196c43694a28562d57a7f15d8918e9de483178818602e3fc5b1c4ab83fe8 languageName: node linkType: hard From e10b1080712614c2c463fadcf9fd75b9f7c3232f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 28 Jul 2022 20:57:27 -0500 Subject: [PATCH 049/664] Fix problems with raster layers --- src/pages/Search.jsx | 3 +- src/pages/search/utils/base64ArrayBuffer.js | 68 +++++++++++++++++++++ yarn.lock | 4 +- 3 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 src/pages/search/utils/base64ArrayBuffer.js diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 1a14c4970..cdefd58ed 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -18,6 +18,7 @@ import GradientLegend from 'components/GradientLegend'; import MapViewer from 'pages/search/MapViewer'; import { SELabel } from 'pages/search/utils/appropriate_labels'; +import base64 from 'pages/search/utils/base64ArrayBuffer'; class Search extends Component { constructor(props) { @@ -701,7 +702,7 @@ class Search extends Component { } return { id: layerName, - data: `data:${res.headers['content-type']};base64, ${Buffer.from(res.data, 'binary').toString('base64')}`, + data: `data:${res.headers['content-type']};base64, ${base64(res.data)}`, }; } catch (error) { this.activeRequests.delete(layerName); diff --git a/src/pages/search/utils/base64ArrayBuffer.js b/src/pages/search/utils/base64ArrayBuffer.js new file mode 100644 index 000000000..71b694b77 --- /dev/null +++ b/src/pages/search/utils/base64ArrayBuffer.js @@ -0,0 +1,68 @@ +// Converts an ArrayBuffer directly to base64, without any intermediate 'convert to string then +// use window.btoa' step. According to my tests, this appears to be a faster approach: +// http://jsperf.com/encoding-xhr-image-data/5 +// https://gist.github.com/jonleighton/958841 + +/* +MIT LICENSE + +Copyright 2011 Jon Leighton + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +export default function base64ArrayBuffer(arrayBuffer) { + var base64 = '' + var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + + var bytes = new Uint8Array(arrayBuffer) + var byteLength = bytes.byteLength + var byteRemainder = byteLength % 3 + var mainLength = byteLength - byteRemainder + + var a, b, c, d + var chunk + + // Main loop deals with bytes in chunks of 3 + for (var i = 0; i < mainLength; i = i + 3) { + // Combine the three bytes into a single integer + chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2] + + // Use bitmasks to extract 6-bit segments from the triplet + a = (chunk & 16515072) >> 18 // 16515072 = (2^6 - 1) << 18 + b = (chunk & 258048) >> 12 // 258048 = (2^6 - 1) << 12 + c = (chunk & 4032) >> 6 // 4032 = (2^6 - 1) << 6 + d = chunk & 63 // 63 = 2^6 - 1 + + // Convert the raw binary segments to the appropriate ASCII encoding + base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d] + } + + // Deal with the remaining bytes and padding + if (byteRemainder == 1) { + chunk = bytes[mainLength] + + a = (chunk & 252) >> 2 // 252 = (2^6 - 1) << 2 + + // Set the 4 least significant bits to zero + b = (chunk & 3) << 4 // 3 = 2^2 - 1 + + base64 += encodings[a] + encodings[b] + '==' + } else if (byteRemainder == 2) { + chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1] + + a = (chunk & 64512) >> 10 // 64512 = (2^6 - 1) << 10 + b = (chunk & 1008) >> 4 // 1008 = (2^6 - 1) << 4 + + // Set the 2 least significant bits to zero + c = (chunk & 15) << 2 // 15 = 2^4 - 1 + + base64 += encodings[a] + encodings[b] + encodings[c] + '=' + } + + return base64 +} diff --git a/yarn.lock b/yarn.lock index 01ccc3279..4ecd0de9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7790,7 +7790,7 @@ __metadata: react-plotly.js: ~2.5.1 rollup: ~2.75.6 rollup-plugin-css-only: ~3.1.0 - rollup-plugin-node-polyfills: ^0.2.1 + rollup-plugin-node-polyfills: ~0.2.1 languageName: unknown linkType: soft @@ -19775,7 +19775,7 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-node-polyfills@npm:^0.2.1": +"rollup-plugin-node-polyfills@npm:~0.2.1": version: 0.2.1 resolution: "rollup-plugin-node-polyfills@npm:0.2.1" dependencies: From 2bcab14725e285264f77adc7e43c0771ab72b2a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 28 Jul 2022 21:04:59 -0500 Subject: [PATCH 050/664] make downloadData optional --- src/components/TextBoxes.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/TextBoxes.tsx b/src/components/TextBoxes.tsx index 604b22bd6..a75666671 100644 --- a/src/components/TextBoxes.tsx +++ b/src/components/TextBoxes.tsx @@ -9,7 +9,7 @@ import DownloadCSV from "components/DownloadCSV"; import { IconTooltip } from "components/Tooltips"; interface TextBoxProps { - downloadData: Array; + downloadData?: Array; downloadName: string; quoteText: string; metoText: string; @@ -86,7 +86,7 @@ const TextBoxes: React.FC = (props) => { /> )} - {downloadData.length !== 0 && ( + {downloadData?.length !== 0 && ( Date: Wed, 3 Aug 2022 14:17:55 -0500 Subject: [PATCH 051/664] Add missing property in GraphLoader --- src/components/charts/GraphLoader.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/charts/GraphLoader.jsx b/src/components/charts/GraphLoader.jsx index a5e3c4521..db361717f 100644 --- a/src/components/charts/GraphLoader.jsx +++ b/src/components/charts/GraphLoader.jsx @@ -218,6 +218,7 @@ GraphLoader.propTypes = { reverse: PropTypes.bool, labelXRight: PropTypes.string, labelXLeft: PropTypes.string, + message: PropTypes.string, }; GraphLoader.defaultProps = { From e23f3e6b9d9c890973a23a0971db3e59ef93a8a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 3 Aug 2022 14:38:20 -0500 Subject: [PATCH 052/664] Change description property in ShortInfo --- src/components/ShortInfo.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/ShortInfo.jsx b/src/components/ShortInfo.jsx index a3183c6c7..84da93f2b 100644 --- a/src/components/ShortInfo.jsx +++ b/src/components/ShortInfo.jsx @@ -48,7 +48,7 @@ class ShortInfo extends React.Component { ShortInfo.propTypes = { name: PropTypes.string, className: PropTypes.string, - description: PropTypes.string.isRequired, + description: PropTypes.string, tooltip: PropTypes.string, collapseButton: PropTypes.bool, }; @@ -56,6 +56,7 @@ ShortInfo.propTypes = { ShortInfo.defaultProps = { name: '', className: 'hidden', + description: '', tooltip: '', collapseButton: true, }; From 7674abf2488d9e956d6eea5eac5ee1feead44f82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 3 Aug 2022 14:40:12 -0500 Subject: [PATCH 053/664] Migrate ForestIntegrity component to typescript --- src/pages/search/SearchContext.tsx | 2 +- .../landscape/forest/ForestIntegrity.jsx | 229 -------------- .../landscape/forest/ForestIntegrity.tsx | 282 ++++++++++++++++++ src/pages/search/types/forest.ts | 7 +- src/pages/search/types/texts.ts | 6 + src/utils/searchAPI.ts | 22 +- 6 files changed, 314 insertions(+), 234 deletions(-) delete mode 100644 src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx create mode 100644 src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx create mode 100644 src/pages/search/types/texts.ts diff --git a/src/pages/search/SearchContext.tsx b/src/pages/search/SearchContext.tsx index 93b4d8575..22d9b4bd2 100644 --- a/src/pages/search/SearchContext.tsx +++ b/src/pages/search/SearchContext.tsx @@ -1,6 +1,6 @@ import React from "react"; -interface SearchContextValues { +export interface SearchContextValues { areaId: string; geofenceId: string | number; switchLayer(layer: string): void; diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx deleted file mode 100644 index 5593373f9..000000000 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.jsx +++ /dev/null @@ -1,229 +0,0 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; - -import GraphLoader from 'components/charts/GraphLoader'; -import { LegendColor, BorderLegendColor } from 'components/CssLegends'; -import DownloadCSV from 'components/DownloadCSV'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; -import SearchContext from 'pages/search/SearchContext'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; -import TextBoxes from 'components/TextBoxes'; - -class ForestIntegrity extends React.Component { - mounted = false; - - constructor(props) { - super(props); - this.state = { - showInfoGraph: true, - SciHfCats: { - 'alta-estable_natural': { - id: 'alta-estable_natural', - label: 'ICE Alto - IHEH Natural', - value: 0, - }, - 'alta-dinamica': { - id: 'alta-dinamica', - label: 'ICE Alto - IHEH Dinámica', - value: 0, - }, - 'alta-estable_alta': { - id: 'alta-estable_alta', - label: 'ICE Alto - IHEH Alta', - value: 0, - }, - 'baja_moderada-estable_natural': { - id: 'baja_moderada-estable_natural', - label: 'ICE Bajo Moderado - IHEH Natural', - value: 0, - }, - 'baja_moderada-dinamica': { - id: 'baja_moderada-dinamica', - label: 'ICE Bajo Moderado - IHEH Dinámica', - value: 0, - }, - 'baja_moderada-estable_alta': { - id: 'baja_moderada-estable_alta', - label: 'ICE Bajo Moderado - IHEH Alta', - value: 0, - }, - }, - texts: { - forestSCIHF: {}, - }, - ProtectedAreas: { - 'alta-estable_alta': [], - 'alta-dinamica': [], - 'alta-estable_natural': [], - 'baja_moderada-estable_alta': [], - 'baja_moderada-dinamica': [], - 'baja_moderada-estable_natural': [], - }, - selectedCategory: null, - loading: 'loading', - }; - } - - componentDidMount() { - this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; - - switchLayer('forestIntegrity'); - - RestAPI.requestSCIHF(areaId, geofenceId) - .then((res) => { - if (this.mounted) { - if (res.length <= 0) { - this.setState({ SciHfCats: {}, ProtectedAreas: {}, loading: 'no-data' }); - } else { - this.setState((prevState) => { - const { SciHfCats: cats, ProtectedAreas: PAs } = prevState; - res.forEach((elem) => { - const idx = `${elem.sci_cat}-${elem.hf_pers}`; - cats[idx].value += elem.area; - if (elem.pa === 'No Protegida') { - PAs[idx].push({ key: elem.pa, label: elem.pa, area: elem.area }); - } else { - PAs[idx].unshift({ key: elem.pa, label: elem.pa, area: elem.area }); - } - }); - Object.keys(PAs).forEach(((sciHfCat) => { - PAs[sciHfCat] = PAs[sciHfCat].map((areas) => ({ - ...areas, - percentage: areas.area / cats[sciHfCat].value, - })); - })); - return { SciHfCats: cats, ProtectedAreas: PAs, loading: null }; - }); - } - } - }) - .catch(() => { - this.setState({ loading: 'no-data' }); - }); - - RestAPI.requestSectionTexts('forestSCIHF') - .then((res) => { - if (this.mounted) { - this.setState({ texts: { forestSCIHF: res } }); - } - }) - .catch(() => { - this.setState({ texts: { forestSCIHF: {} } }); - }); - } - - componentWillUnmount() { - this.mounted = false; - } - - /** - * Show or hide the detailed information on each graph - */ - toggleInfoGraph = () => { - this.setState((prevState) => ({ - showInfoGraph: !prevState.showInfoGraph, - })); - }; - - render() { - const { - showInfoGraph, - SciHfCats, - ProtectedAreas, - selectedCategory, - loading, - texts, - } = this.state; - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context; - return ( -
-

- - this.toggleInfoGraph()} - /> - -

- {showInfoGraph && ( - - )} -

Haz clic en la gráfica para visualizar las áreas protegidas

- - Límite de áreas protegidas - -
- { - this.setState({ selectedCategory: sectionId }); - handlerClickOnGraph({ chartType: 'SciHf', selectedKey: sectionId }); - }} - /> -
- {Object.keys(SciHfCats).map((cat) => ( - - {SciHfCats[cat].label} - - ))} -
-
- - {selectedCategory && ( - <> -
- Distribución en áreas protegidas -
- -
- -
- - )} -
- ); - } -} - -export default ForestIntegrity; - -ForestIntegrity.contextType = SearchContext; diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx new file mode 100644 index 000000000..0176ad7b1 --- /dev/null +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -0,0 +1,282 @@ +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; + +import GraphLoader from "components/charts/GraphLoader"; +import { LegendColor, BorderLegendColor } from "components/CssLegends"; +import DownloadCSV from "components/DownloadCSV"; +import ShortInfo from "components/ShortInfo"; +import TextBoxes from "components/TextBoxes"; +import { IconTooltip } from "components/Tooltips"; + +import matchColor from "utils/matchColor"; +import SearchAPI from "utils/searchAPI"; + +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import { SCICats, HFCats, SCIHF } from "pages/search/types/forest"; +import { TextObject } from "pages/search/types/texts"; + +type SCIHFCats = `${typeof SCICats[number]}-${typeof HFCats[number]}`; +/** + * Get all combinations of SCI and HF categories to be used instead of Obejct.keys + * @returns Array with all combinations of SCI and HF categories + */ +const getSCIHFVals = (): SCIHFCats[] => { + const data: SCIHFCats[] = []; + SCICats.forEach((sci) => { + HFCats.forEach((hf) => { + data.push(`${sci}-${hf}`); + }); + }); + return data; +}; + +interface PA { + key: string; + label: string; + area: number; + percentage?: number; +} + +interface FIState { + showInfoGraph: boolean; + SciHfCats: { + [Property in SCIHFCats]: { + id: SCIHFCats; + label: string; + value: number; + }; + }; + texts: { + forestSCIHF: TextObject; + }; + ProtectedAreas: { + [Property in SCIHFCats]: Array; + }; + isDataNull: boolean; + selectedCategory: SCIHFCats | null; + loading: string | null; +} + +class ForestIntegrity extends React.Component { + static contextType = SearchContext; + + mounted = false; + + constructor(props: any) { + super(props); + this.state = { + showInfoGraph: true, + SciHfCats: { + "alta-estable_natural": { + id: "alta-estable_natural", + label: "ICE Alto - IHEH Natural", + value: 0, + }, + "alta-dinamica": { + id: "alta-dinamica", + label: "ICE Alto - IHEH Dinámica", + value: 0, + }, + "alta-estable_alta": { + id: "alta-estable_alta", + label: "ICE Alto - IHEH Alta", + value: 0, + }, + "baja_moderada-estable_natural": { + id: "baja_moderada-estable_natural", + label: "ICE Bajo Moderado - IHEH Natural", + value: 0, + }, + "baja_moderada-dinamica": { + id: "baja_moderada-dinamica", + label: "ICE Bajo Moderado - IHEH Dinámica", + value: 0, + }, + "baja_moderada-estable_alta": { + id: "baja_moderada-estable_alta", + label: "ICE Bajo Moderado - IHEH Alta", + value: 0, + }, + }, + texts: { + forestSCIHF: { info: "", cons: "", meto: "", quote: "" }, + }, + ProtectedAreas: { + "alta-estable_alta": [], + "alta-dinamica": [], + "alta-estable_natural": [], + "baja_moderada-estable_alta": [], + "baja_moderada-dinamica": [], + "baja_moderada-estable_natural": [], + }, + isDataNull: false, + selectedCategory: null, + loading: "loading", + }; + } + + componentDidMount() { + this.mounted = true; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; + + switchLayer("forestIntegrity"); + + SearchAPI.requestSCIHF(areaId, geofenceId) + .then((res: Array) => { + if (this.mounted) { + if (res.length <= 0) { + this.setState({ + loading: "no-data", + }); + } else { + this.setState((prevState) => { + const { SciHfCats: cats, ProtectedAreas: PAs } = prevState; + res.forEach((elem) => { + const idx: SCIHFCats = `${elem.sci_cat}-${elem.hf_pers}`; + cats[idx].value += elem.area; + if (elem.pa === "No Protegida") { + PAs[idx].push({ + key: elem.pa, + label: elem.pa, + area: elem.area, + }); + } else { + PAs[idx].unshift({ + key: elem.pa, + label: elem.pa, + area: elem.area, + }); + } + }); + getSCIHFVals().forEach((sciHfCat) => { + PAs[sciHfCat] = PAs[sciHfCat].map((areas) => ({ + ...areas, + percentage: areas.area / cats[sciHfCat].value, + })); + }); + return { SciHfCats: cats, ProtectedAreas: PAs, loading: null }; + }); + } + } + }) + .catch(() => { + this.setState({ loading: "no-data" }); + }); + + SearchAPI.requestSectionTexts("forestSCIHF") + .then((res) => { + if (this.mounted) { + this.setState({ texts: { forestSCIHF: res } }); + } + }) + .catch(() => {}); + } + + componentWillUnmount() { + this.mounted = false; + } + + /** + * Show or hide the detailed information on each graph + */ + toggleInfoGraph = () => { + this.setState((prevState) => ({ + showInfoGraph: !prevState.showInfoGraph, + })); + }; + + render() { + const { + showInfoGraph, + SciHfCats, + ProtectedAreas, + isDataNull, + selectedCategory, + loading, + texts, + } = this.state; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; + return ( +
+

+ + this.toggleInfoGraph()} + /> + +

+ {showInfoGraph && ( + + )} +

+ Haz clic en la gráfica para visualizar las áreas protegidas +

+ + Límite de áreas protegidas + +
+ { + this.setState({ selectedCategory: sectionId }); + handlerClickOnGraph({ + chartType: "SciHf", + selectedKey: sectionId, + }); + }} + /> +
+ {getSCIHFVals().map((cat) => ( + + {SciHfCats[cat].label} + + ))} +
+
+ + {selectedCategory && ( + <> +
Distribución en áreas protegidas
+ +
+ +
+ + )} +
+ ); + } +} + +export default ForestIntegrity; diff --git a/src/pages/search/types/forest.ts b/src/pages/search/types/forest.ts index 16fd4c562..40cafff57 100644 --- a/src/pages/search/types/forest.ts +++ b/src/pages/search/types/forest.ts @@ -1,6 +1,9 @@ +export const SCICats = ["alta", "baja_moderada"] as const; +export const HFCats = ["estable_natural", "dinamica", "estable_alta"] as const; + export interface SCIHF { - hf_pers: string; - sci_cat: string; + hf_pers: typeof HFCats[number]; + sci_cat: typeof SCICats[number]; pa: string; area: number; } diff --git a/src/pages/search/types/texts.ts b/src/pages/search/types/texts.ts new file mode 100644 index 000000000..2e5d370d4 --- /dev/null +++ b/src/pages/search/types/texts.ts @@ -0,0 +1,6 @@ +export interface TextObject { + info: string; + meto: string; + cons: string; + quote: string; +} diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index a56605149..690ef93a9 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,7 +1,10 @@ import axios, { CancelToken } from "axios"; import { SCIHF } from "pages/search/types/forest"; - +import { TextObject } from "pages/search/types/texts"; class SearchAPI { + /** ****** */ + /** FOREST */ + /** ****** */ /** * Get the structural condition index with human footprint persistence categories in the given * area. @@ -14,12 +17,27 @@ class SearchAPI { static requestSCIHF( areaType: string, areaId: string | number - ): Promise { + ): Promise> { return SearchAPI.makeGetRequest( `forest/sci/hf?areaType=${areaType}&areaId=${areaId}` ); } + /** ************ */ + /** CROSS MODULE */ + /** ************ */ + + /** + * Get texts associated to one section + * + * @param {String} key section key + * + * @return {Promise} Object with texts + */ + static requestSectionTexts(key: string): Promise { + return SearchAPI.makeGetRequest(`util/texts?key=${key}`); + } + /** ************** */ /** BASE FUNCTIONS */ /** ************** */ From 40d0e9ee52870df9c21e95c469aded2089a9193a Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 4 Aug 2022 11:40:30 +0200 Subject: [PATCH 054/664] add type definition file for connectivity --- src/pages/search/types/connectivity.types.d.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/pages/search/types/connectivity.types.d.ts diff --git a/src/pages/search/types/connectivity.types.d.ts b/src/pages/search/types/connectivity.types.d.ts new file mode 100644 index 000000000..ee06771b2 --- /dev/null +++ b/src/pages/search/types/connectivity.types.d.ts @@ -0,0 +1,6 @@ +export interface InfoTexts { + meto: string, + cons: string, + quote: string, + info: string +} From 42fadfb03c43d1db1c95b31d7f643ad4089e55ef Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 4 Aug 2022 11:40:58 +0200 Subject: [PATCH 055/664] fix problem with message proptype --- src/components/charts/GraphLoader.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/charts/GraphLoader.jsx b/src/components/charts/GraphLoader.jsx index a5e3c4521..db361717f 100644 --- a/src/components/charts/GraphLoader.jsx +++ b/src/components/charts/GraphLoader.jsx @@ -218,6 +218,7 @@ GraphLoader.propTypes = { reverse: PropTypes.bool, labelXRight: PropTypes.string, labelXLeft: PropTypes.string, + message: PropTypes.string, }; GraphLoader.defaultProps = { From fd142b22a6b65efa2dbaca52954d86e6200213af Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 4 Aug 2022 11:41:33 +0200 Subject: [PATCH 056/664] changes for migrate to typescript --- ...ctivity.jsx => TimelinePAConnectivity.tsx} | 38 ++++++++++++++----- 1 file changed, 28 insertions(+), 10 deletions(-) rename src/pages/search/drawer/landscape/connectivity/{TimelinePAConnectivity.jsx => TimelinePAConnectivity.tsx} (80%) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx similarity index 80% rename from src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx rename to src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index f39f63470..373c0531c 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.jsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -9,23 +9,41 @@ import matchColor from 'utils/matchColor'; import processDataCsv from 'utils/processDataCsv'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; +import { AnyObject } from 'chart.js/types/basic'; +import { InfoTexts } from "pages/search/types/connectivity.types"; -class TimelinePAConnectivity extends React.Component { +interface TimelinePAConnectivityState { + showInfoGraph: boolean, + timelinePAConnectivity: Array, + message: string | null, + texts: { paConnTimeline: InfoTexts | any}, +} + + +interface SearchContextValues { + areaId: string; + geofenceId: string | number; + switchLayer(layer: string): void; +} + +class TimelinePAConnectivity extends React.Component { + static contextType = SearchContext; mounted = false; - constructor(props) { + constructor(props:any) { super(props); this.state = { showInfoGraph: true, timelinePAConnectivity: [], message: 'loading', - texts: { paConnTimeline: {} }, - }; - } + texts:{ + paConnTimeline: { meto: "", cons: "", quote: "", info: "" }, + } + }} componentDidMount() { this.mounted = true; - const { areaId, geofenceId, switchLayer } = this.context; + const { areaId, geofenceId, switchLayer } = this.context as SearchContextValues; switchLayer('timelinePAConn'); @@ -72,7 +90,7 @@ class TimelinePAConnectivity extends React.Component { * * @returns {string} label to be used for tooltips and legends. */ - getLabel = (key) => { + getLabel = (key: string): string => { switch (key) { case 'prot': return 'Protegida'; case 'prot_conn': return 'Protegida Conectada'; @@ -86,11 +104,11 @@ class TimelinePAConnectivity extends React.Component { * * @returns {array} transformed array */ - processData = (data) => { + processData = (data: Array): Array => { if (!data) return []; return data.map((obj) => ({ ...obj, - data: obj.data.map((item) => ({ + data: obj.data.map((item: { y: number; }) => ({ ...item, y: item.y * 100, })), @@ -108,7 +126,7 @@ class TimelinePAConnectivity extends React.Component { const { areaId, geofenceId, - } = this.context; + } = this.context as SearchContextValues; return (

From d45628e5c76cddfd93a637aaba3e270664453b1a Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 4 Aug 2022 11:50:51 +0200 Subject: [PATCH 057/664] add type definition file for texts model --- .../landscape/connectivity/TimelinePAConnectivity.tsx | 2 +- src/pages/search/types/texts.types.d.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/pages/search/types/texts.types.d.ts diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 373c0531c..fc408e3b3 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -10,7 +10,7 @@ import processDataCsv from 'utils/processDataCsv'; import RestAPI from 'utils/restAPI'; import TextBoxes from 'components/TextBoxes'; import { AnyObject } from 'chart.js/types/basic'; -import { InfoTexts } from "pages/search/types/connectivity.types"; +import { InfoTexts } from "pages/search/types/texts.types"; interface TimelinePAConnectivityState { showInfoGraph: boolean, diff --git a/src/pages/search/types/texts.types.d.ts b/src/pages/search/types/texts.types.d.ts new file mode 100644 index 000000000..ee06771b2 --- /dev/null +++ b/src/pages/search/types/texts.types.d.ts @@ -0,0 +1,6 @@ +export interface InfoTexts { + meto: string, + cons: string, + quote: string, + info: string +} From 36a468aa8679a0478657ca02ab425354e2f12600 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 4 Aug 2022 13:25:07 +0200 Subject: [PATCH 058/664] delete wrong file --- src/pages/search/types/connectivity.types.d.ts | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 src/pages/search/types/connectivity.types.d.ts diff --git a/src/pages/search/types/connectivity.types.d.ts b/src/pages/search/types/connectivity.types.d.ts deleted file mode 100644 index ee06771b2..000000000 --- a/src/pages/search/types/connectivity.types.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface InfoTexts { - meto: string, - cons: string, - quote: string, - info: string -} From 74567fea0b9ddea29162fcfa296587ad58bffc08 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 4 Aug 2022 13:30:11 +0200 Subject: [PATCH 059/664] fix prettier style --- .../connectivity/TimelinePAConnectivity.tsx | 113 +++++++++--------- src/pages/search/types/texts.types.d.ts | 8 +- 2 files changed, 59 insertions(+), 62 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index fc408e3b3..23d4277b9 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -1,66 +1,69 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; - -import GraphLoader from 'components/charts/GraphLoader'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; -import SearchContext from 'pages/search/SearchContext'; -import matchColor from 'utils/matchColor'; -import processDataCsv from 'utils/processDataCsv'; -import RestAPI from 'utils/restAPI'; -import TextBoxes from 'components/TextBoxes'; -import { AnyObject } from 'chart.js/types/basic'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; + +import GraphLoader from "components/charts/GraphLoader"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; +import SearchContext from "pages/search/SearchContext"; +import matchColor from "utils/matchColor"; +import processDataCsv from "utils/processDataCsv"; +import RestAPI from "utils/restAPI"; +import TextBoxes from "components/TextBoxes"; +import { AnyObject } from "chart.js/types/basic"; import { InfoTexts } from "pages/search/types/texts.types"; interface TimelinePAConnectivityState { - showInfoGraph: boolean, - timelinePAConnectivity: Array, - message: string | null, - texts: { paConnTimeline: InfoTexts | any}, + showInfoGraph: boolean; + timelinePAConnectivity: Array; + message: string | null; + texts: { paConnTimeline: InfoTexts | any }; } - interface SearchContextValues { areaId: string; geofenceId: string | number; switchLayer(layer: string): void; } -class TimelinePAConnectivity extends React.Component { +class TimelinePAConnectivity extends React.Component< + any, + TimelinePAConnectivityState +> { static contextType = SearchContext; mounted = false; - constructor(props:any) { + constructor(props: any) { super(props); this.state = { showInfoGraph: true, timelinePAConnectivity: [], - message: 'loading', - texts:{ - paConnTimeline: { meto: "", cons: "", quote: "", info: "" }, - } - }} + message: "loading", + texts: { + paConnTimeline: { meto: "", cons: "", quote: "", info: "" }, + }, + }; + } componentDidMount() { this.mounted = true; - const { areaId, geofenceId, switchLayer } = this.context as SearchContextValues; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; - switchLayer('timelinePAConn'); + switchLayer("timelinePAConn"); Promise.all([ - RestAPI.requestTimelinePAConnectivity(areaId, geofenceId, 'prot'), - RestAPI.requestTimelinePAConnectivity(areaId, geofenceId, 'prot_conn'), - ]) - .then((res) => { - if (this.mounted) { - this.setState({ - timelinePAConnectivity: this.processData(res), - message: null, - }); - } - }); - - RestAPI.requestSectionTexts('paConnTimeline') + RestAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot"), + RestAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot_conn"), + ]).then((res) => { + if (this.mounted) { + this.setState({ + timelinePAConnectivity: this.processData(res), + message: null, + }); + } + }); + + RestAPI.requestSectionTexts("paConnTimeline") .then((res) => { if (this.mounted) { this.setState({ texts: { paConnTimeline: res } }); @@ -92,9 +95,12 @@ class TimelinePAConnectivity extends React.Component { switch (key) { - case 'prot': return 'Protegida'; - case 'prot_conn': return 'Protegida Conectada'; - default: return ''; + case "prot": + return "Protegida"; + case "prot_conn": + return "Protegida Conectada"; + default: + return ""; } }; @@ -108,7 +114,7 @@ class TimelinePAConnectivity extends React.Component ({ ...obj, - data: obj.data.map((item: { y: number; }) => ({ + data: obj.data.map((item: { y: number }) => ({ ...item, y: item.y * 100, })), @@ -117,22 +123,15 @@ class TimelinePAConnectivity extends React.Component

this.toggleInfoGraph()} /> @@ -145,13 +144,11 @@ class TimelinePAConnectivity extends React.Component )}
-
- Conectividad áreas protegidas en el tiempo -
+
Conectividad áreas protegidas en el tiempo
Date: Fri, 5 Aug 2022 14:33:08 -0500 Subject: [PATCH 060/664] Remove unused state --- src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx index 0176ad7b1..240f6cc57 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -52,7 +52,6 @@ interface FIState { ProtectedAreas: { [Property in SCIHFCats]: Array; }; - isDataNull: boolean; selectedCategory: SCIHFCats | null; loading: string | null; } @@ -109,7 +108,6 @@ class ForestIntegrity extends React.Component { "baja_moderada-dinamica": [], "baja_moderada-estable_natural": [], }, - isDataNull: false, selectedCategory: null, loading: "loading", }; @@ -191,7 +189,6 @@ class ForestIntegrity extends React.Component { showInfoGraph, SciHfCats, ProtectedAreas, - isDataNull, selectedCategory, loading, texts, From 40818d6516633673fed11051bcaf952cd65d2452 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 5 Aug 2022 15:28:03 -0500 Subject: [PATCH 061/664] Create file to hold connectivity types --- src/pages/search/types/connectivity.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/pages/search/types/connectivity.ts diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts new file mode 100644 index 000000000..3894402e2 --- /dev/null +++ b/src/pages/search/types/connectivity.ts @@ -0,0 +1,17 @@ +export const currentPAConnKeys = ["prot_conn", "prot_unconn", "unprot"] as const; +export const DPCKeys = ["muy_alto", "alto", "medio", "bajo", "muy_bajo"] as const; + + +export interface currentPAConn { + key: typeof currentPAConnKeys[number]; + area: number; + percentage: number; +} + +export interface DPC { + id: string; + name: string; + key: typeof DPCKeys[number]; + area: number; + value: number; +} \ No newline at end of file From ec396eb5bf3d9a8b4ec4a375250f6a293e868d1a Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 5 Aug 2022 15:30:10 -0500 Subject: [PATCH 062/664] Migrate functions from restAPI to searchAPI related to current connectivity section --- src/utils/restAPI.js | 24 ------------------------ src/utils/searchAPI.ts | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 24 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 11875c914..82cc4e5a6 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -258,30 +258,6 @@ class RestAPI { return RestAPI.makeGetRequest(`forest/lp?areaType=${areaType}&areaId=${areaId}`); } - /** - * Get the area distribution for each category of protected area connectivity in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with data of current PA connectivity - */ - static requestCurrentPAConnectivity(areaType, areaId) { - return RestAPI.makeGetRequest(`connectivity/current?areaType=${areaType}&areaId=${areaId}`); - } - - /** - * Get the values of connectivity for the protected areas with higher dPC value in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with data of the protected areas - */ - static requestDPC(areaType, areaId, paNumber) { - return RestAPI.makeGetRequest(`connectivity/dpc?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`); - } - /** * Get the timeline for each category of protected area connectivity in a given area * diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 690ef93a9..82f2316a5 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,5 +1,6 @@ import axios, { CancelToken } from "axios"; import { SCIHF } from "pages/search/types/forest"; +import { currentPAConn, DPC } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; class SearchAPI { /** ****** */ @@ -23,6 +24,40 @@ class SearchAPI { ); } + /** ************ */ + /** CONNECTIVITY */ + /** ************ */ + /** + * Get the area distribution for each category of protected area connectivity in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data of current PA connectivity + */ + static requestCurrentPAConnectivity( + areaType: string, + areaId: string | number, + ): Promise>{ + return SearchAPI.makeGetRequest(`connectivity/current?areaType=${areaType}&areaId=${areaId}`); + } + + /** + * Get the values of connectivity for the protected areas with higher dPC value in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data of the protected areas + */ + static requestDPC( + areaType: string, + areaId: string | number, + paNumber: number, + ) { + return SearchAPI.makeGetRequest(`connectivity/dpc?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From 7efdc38072e373bc6eb12e2991c7a59d3f482428 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 5 Aug 2022 15:31:33 -0500 Subject: [PATCH 063/664] Migrate component to typescript --- ...ectivity.jsx => CurrentPAConnectivity.tsx} | 78 ++++++++++++------- 1 file changed, 52 insertions(+), 26 deletions(-) rename src/pages/search/drawer/landscape/connectivity/{CurrentPAConnectivity.jsx => CurrentPAConnectivity.tsx} (79%) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.jsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx similarity index 79% rename from src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.jsx rename to src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 0cd1254aa..1bbdf7cfb 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.jsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -5,12 +5,19 @@ import GraphLoader from 'components/charts/GraphLoader'; import { LegendColor } from 'components/CssLegends'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; -import SearchContext from 'pages/search/SearchContext'; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; +import SearchAPI from 'utils/searchAPI'; import formatNumber from 'utils/format'; import TextBoxes from 'components/TextBoxes'; +import { + currentPAConn, + DPCKeys, + DPC, +} from "pages/search/types/connectivity"; +import { TextObject } from "pages/search/types/texts"; + const getLabel = { unprot: 'No protegida', prot_conn: 'Protegida conectada', @@ -25,23 +32,42 @@ const legendDPCCategories = { muy_alto: 'Muy Alto', }; -class CurrentPAConnectivity extends React.Component { +interface currentPAConnExt extends currentPAConn { + label: string; +}; + +interface currentPAConnState { + infoShown: Set; + currentPAConnData: Array; + dpcData: Array; + prot: number; + messages: { + conn: string | null; + dpc: string | null; + }; + texts: { + paConnCurrent: TextObject, + paConnDPC: TextObject, + }, +} + +class CurrentPAConnectivity extends React.Component { mounted = false; - constructor(props) { + constructor(props: any) { super(props); this.state = { infoShown: new Set(['current']), - currentPAConnectivity: [], - dpc: [], + currentPAConnData: [], + dpcData: [], prot: 0, messages: { conn: 'loading', dpc: 'loading', }, texts: { - paConnCurrent: {}, - paConnDPC: {}, + paConnCurrent: { info: "", cons: "", meto: "", quote: "" }, + paConnDPC: { info: "", cons: "", meto: "", quote: "" }, }, }; } @@ -52,17 +78,17 @@ class CurrentPAConnectivity extends React.Component { areaId, geofenceId, switchLayer, - } = this.context; + } = this.context as SearchContextValues; switchLayer('currentPAConn'); - RestAPI.requestCurrentPAConnectivity(areaId, geofenceId) - .then((res) => { + SearchAPI.requestCurrentPAConnectivity(areaId, geofenceId) + .then((res: Array) => { if (this.mounted) { const protConn = res.find((item) => item.key === 'prot_conn'); const protUnconn = res.find((item) => item.key === 'prot_unconn'); this.setState((prev) => ({ - currentPAConnectivity: res.map((item) => ({ + currentPAConnData: res.map((item) => ({ ...item, label: getLabel[item.key], })), @@ -83,11 +109,11 @@ class CurrentPAConnectivity extends React.Component { })); }); - RestAPI.requestDPC(areaId, geofenceId, 5) - .then((res) => { + SearchAPI.requestDPC(areaId, geofenceId, 5) + .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ - dpc: res.reverse(), + dpcData: res.reverse(), messages: { ...prev.messages, dpc: null, @@ -105,7 +131,7 @@ class CurrentPAConnectivity extends React.Component { }); ['paConnCurrent', 'paConnDPC'].forEach((item) => { - RestAPI.requestSectionTexts(item) + SearchAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { this.setState((prevState) => ({ @@ -125,7 +151,7 @@ class CurrentPAConnectivity extends React.Component { this.mounted = false; } - toggleInfo = (value) => { + toggleInfo = (value: string) => { this.setState((prev) => { const newState = prev; if (prev.infoShown.has(value)) { @@ -142,10 +168,10 @@ class CurrentPAConnectivity extends React.Component { areaId, geofenceId, handlerClickOnGraph, - } = this.context; + } = this.context as SearchContextValues; const { - currentPAConnectivity, - dpc, + currentPAConnData, + dpcData, prot, infoShown, messages: { conn, dpc: dpcMess }, @@ -175,7 +201,7 @@ class CurrentPAConnectivity extends React.Component {
this.toggleInfo('current')} isInfoOpen={infoShown.has('current')} />
- {currentPAConnectivity.length > 0 && ( + {currentPAConnData.length > 0 && (
Porcentaje de área protegida @@ -228,7 +254,7 @@ class CurrentPAConnectivity extends React.Component {
handlerClickOnGraph({ selectedKey: selected })} @@ -237,7 +263,7 @@ class CurrentPAConnectivity extends React.Component { />
- {Object.keys(legendDPCCategories).map((cat) => ( + {DPCKeys.map((cat) => ( this.toggleInfo('dpc')} From b550e4ba3b3e06096ca16751354637754847c0ff Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 5 Aug 2022 15:39:33 -0500 Subject: [PATCH 064/664] Run prettier --- .../connectivity/CurrentPAConnectivity.tsx | 166 +++++++++--------- src/pages/search/types/connectivity.ts | 17 +- src/utils/searchAPI.ts | 16 +- 3 files changed, 102 insertions(+), 97 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 1bbdf7cfb..b100f4454 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -1,40 +1,36 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from 'components/charts/GraphLoader'; -import { LegendColor } from 'components/CssLegends'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; +import GraphLoader from "components/charts/GraphLoader"; +import { LegendColor } from "components/CssLegends"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import matchColor from 'utils/matchColor'; -import SearchAPI from 'utils/searchAPI'; -import formatNumber from 'utils/format'; -import TextBoxes from 'components/TextBoxes'; +import matchColor from "utils/matchColor"; +import SearchAPI from "utils/searchAPI"; +import formatNumber from "utils/format"; +import TextBoxes from "components/TextBoxes"; -import { - currentPAConn, - DPCKeys, - DPC, -} from "pages/search/types/connectivity"; +import { currentPAConn, DPCKeys, DPC } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; const getLabel = { - unprot: 'No protegida', - prot_conn: 'Protegida conectada', - prot_unconn: 'Protegida no conectada', + unprot: "No protegida", + prot_conn: "Protegida conectada", + prot_unconn: "Protegida no conectada", }; const legendDPCCategories = { - muy_bajo: 'Muy bajo', - bajo: 'Bajo', - medio: 'Medio', - alto: 'Alto', - muy_alto: 'Muy Alto', + muy_bajo: "Muy bajo", + bajo: "Bajo", + medio: "Medio", + alto: "Alto", + muy_alto: "Muy Alto", }; interface currentPAConnExt extends currentPAConn { label: string; -}; +} interface currentPAConnState { infoShown: Set; @@ -46,9 +42,9 @@ interface currentPAConnState { dpc: string | null; }; texts: { - paConnCurrent: TextObject, - paConnDPC: TextObject, - }, + paConnCurrent: TextObject; + paConnDPC: TextObject; + }; } class CurrentPAConnectivity extends React.Component { @@ -57,13 +53,13 @@ class CurrentPAConnectivity extends React.Component { constructor(props: any) { super(props); this.state = { - infoShown: new Set(['current']), + infoShown: new Set(["current"]), currentPAConnData: [], dpcData: [], prot: 0, messages: { - conn: 'loading', - dpc: 'loading', + conn: "loading", + dpc: "loading", }, texts: { paConnCurrent: { info: "", cons: "", meto: "", quote: "" }, @@ -74,25 +70,25 @@ class CurrentPAConnectivity extends React.Component { componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context as SearchContextValues; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; - switchLayer('currentPAConn'); + switchLayer("currentPAConn"); SearchAPI.requestCurrentPAConnectivity(areaId, geofenceId) .then((res: Array) => { if (this.mounted) { - const protConn = res.find((item) => item.key === 'prot_conn'); - const protUnconn = res.find((item) => item.key === 'prot_unconn'); + const protConn = res.find((item) => item.key === "prot_conn"); + const protUnconn = res.find((item) => item.key === "prot_unconn"); this.setState((prev) => ({ currentPAConnData: res.map((item) => ({ ...item, label: getLabel[item.key], })), - prot: protConn && protUnconn ? (protConn.percentage + protUnconn.percentage) * 100 : 0, + prot: + protConn && protUnconn + ? (protConn.percentage + protUnconn.percentage) * 100 + : 0, messages: { ...prev.messages, conn: null, @@ -104,12 +100,12 @@ class CurrentPAConnectivity extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - conn: 'no-data', + conn: "no-data", }, })); }); - SearchAPI.requestDPC(areaId, geofenceId, 5) + SearchAPI.requestDPC(areaId, geofenceId, 5) .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ @@ -125,26 +121,26 @@ class CurrentPAConnectivity extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - dpc: 'no-data', + dpc: "no-data", }, })); }); - ['paConnCurrent', 'paConnDPC'].forEach((item) => { - SearchAPI.requestSectionTexts(item) - .then((res) => { - if (this.mounted) { - this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: res }, - })); - } - }) - .catch(() => { + ["paConnCurrent", "paConnDPC"].forEach((item) => { + SearchAPI.requestSectionTexts(item) + .then((res) => { + if (this.mounted) { this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: {} }, + texts: { ...prevState.texts, [item]: res }, })); - }); + } + }) + .catch(() => { + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: {} }, + })); }); + }); } componentWillUnmount() { @@ -161,14 +157,11 @@ class CurrentPAConnectivity extends React.Component { newState.infoShown.add(value); return newState; }); - } + }; render() { - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context as SearchContextValues; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; const { currentPAConnData, dpcData, @@ -182,12 +175,14 @@ class CurrentPAConnectivity extends React.Component {

this.toggleInfo('current')} + className={`graphinfo${ + infoShown.has("current") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("current")} />

- {infoShown.has('current') && ( + {infoShown.has("current") && ( { /> )}
-
- Conectividad áreas protegidas -
+
Conectividad áreas protegidas
{ labelX="Hectáreas" labelY="Conectividad Áreas Protegidas" units="ha" - colors={matchColor('currentPAConn')} + colors={matchColor("currentPAConn")} padding={0.25} /> { quoteText={texts.paConnCurrent.quote} downloadData={currentPAConnData} downloadName={`conn_current_${areaId}_${geofenceId}.csv`} - toggleInfo={() => this.toggleInfo('current')} - isInfoOpen={infoShown.has('current')} + toggleInfo={() => this.toggleInfo("current")} + isInfoOpen={infoShown.has("current")} />
{currentPAConnData.length > 0 && (
-
- Porcentaje de área protegida -
+
Porcentaje de área protegida
{`${formatNumber(prot, 2)}%`}
)} -
- Aporte de las áreas protegidas a la conectividad -
+
Aporte de las áreas protegidas a la conectividad
this.toggleInfo('dpc')} + className={`downSpecial${ + infoShown.has("dpc") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("dpc")} /> - {infoShown.has('dpc') && ( + {infoShown.has("dpc") && ( { graphType="MultiSmallSingleBarGraph" data={dpcData} message={dpcMess} - colors={matchColor('dpc')} - onClickGraphHandler={(selected) => handlerClickOnGraph({ selectedKey: selected })} + colors={matchColor("dpc")} + onClickGraphHandler={(selected) => + handlerClickOnGraph({ selectedKey: selected }) + } labelX="dPC" units="ha" />
{DPCKeys.map((cat) => ( - + {legendDPCCategories[cat]} ))} @@ -278,8 +270,8 @@ class CurrentPAConnectivity extends React.Component { quoteText={texts.paConnDPC.quote} downloadData={dpcData} downloadName={`conn_dpc_${areaId}_${geofenceId}.csv`} - isInfoOpen={infoShown.has('dpc')} - toggleInfo={() => this.toggleInfo('dpc')} + isInfoOpen={infoShown.has("dpc")} + toggleInfo={() => this.toggleInfo("dpc")} />
diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index 3894402e2..df8c97441 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -1,6 +1,15 @@ -export const currentPAConnKeys = ["prot_conn", "prot_unconn", "unprot"] as const; -export const DPCKeys = ["muy_alto", "alto", "medio", "bajo", "muy_bajo"] as const; - +export const currentPAConnKeys = [ + "prot_conn", + "prot_unconn", + "unprot", +] as const; +export const DPCKeys = [ + "muy_alto", + "alto", + "medio", + "bajo", + "muy_bajo", +] as const; export interface currentPAConn { key: typeof currentPAConnKeys[number]; @@ -14,4 +23,4 @@ export interface DPC { key: typeof DPCKeys[number]; area: number; value: number; -} \ No newline at end of file +} diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 82f2316a5..bc79c7c7b 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -35,11 +35,13 @@ class SearchAPI { * * @return {Promise} Array of objects with data of current PA connectivity */ - static requestCurrentPAConnectivity( + static requestCurrentPAConnectivity( areaType: string, - areaId: string | number, - ): Promise>{ - return SearchAPI.makeGetRequest(`connectivity/current?areaType=${areaType}&areaId=${areaId}`); + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest( + `connectivity/current?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -53,9 +55,11 @@ class SearchAPI { static requestDPC( areaType: string, areaId: string | number, - paNumber: number, + paNumber: number ) { - return SearchAPI.makeGetRequest(`connectivity/dpc?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`); + return SearchAPI.makeGetRequest( + `connectivity/dpc?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}` + ); } /** ************ */ From 8ccfe30aa7617295c56488039482ab23d6370c5b Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 5 Aug 2022 16:25:25 -0500 Subject: [PATCH 065/664] Remove CancelToken and add return type in requestDPC --- src/utils/searchAPI.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index bc79c7c7b..ceb084f67 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,4 +1,4 @@ -import axios, { CancelToken } from "axios"; +import axios from "axios"; import { SCIHF } from "pages/search/types/forest"; import { currentPAConn, DPC } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; @@ -56,7 +56,7 @@ class SearchAPI { areaType: string, areaId: string | number, paNumber: number - ) { + ): Promise> { return SearchAPI.makeGetRequest( `connectivity/dpc?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}` ); From 8366830eaea06591f96262bfc49a47b5afc29215 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 8 Aug 2022 20:44:02 -0500 Subject: [PATCH 066/664] Delete unused calls in restAPI and create the new ones in searchAPI --- src/utils/restAPI.js | 36 ----------------------------- src/utils/searchAPI.ts | 52 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 36 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 82cc4e5a6..b7051135c 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -174,42 +174,6 @@ class RestAPI { return RestAPI.makeGetRequest('ea'); } - /** - * Get the current human footprint value in the given area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Object} Objecy with value and category for the current human footprint - */ - static requestCurrentHFValue(areaType, areaId) { - return RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/current/value`); - } - - /** - * Get the current human footprint data by categories in the given area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with data for the current human footprint - */ - static requestCurrentHFCategories(areaType, areaId) { - return RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/current/categories`); - } - - /** - * Get the persistence of human footprint data in the given area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with data for the persistence of human footprint - */ - static requestHFPersistence(areaType, areaId) { - return RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/persistence`); - } - /** * Get the human footprint timeline data in the given area. * diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index ceb084f67..eeace2d12 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,6 +1,7 @@ import axios from "axios"; import { SCIHF } from "pages/search/types/forest"; import { currentPAConn, DPC } from "pages/search/types/connectivity"; +import { currentHFValue, currentHFCategories, hfPersistence } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; class SearchAPI { /** ****** */ @@ -62,6 +63,57 @@ class SearchAPI { ); } + /** *************** */ + /** HUMAN FOOTPRINT */ + /** *************** */ + /** + /** + * Get the current human footprint value in the given area. + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Object} Objecy with value and category for the current human footprint + */ + static requestCurrentHFValue( + areaType: string, + areaId: string | number, + ): Promise { + return SearchAPI.makeGetRequest( + `${areaType}/${areaId}/hf/current/value` + ); + } + + /** + * Get the current human footprint data by categories in the given area. + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data for the current human footprint + */ + static requestCurrentHFCategories( + areaType: string, + areaId: string | number, + ): Promise> { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/current/categories`); + } + + /** + * Get the persistence of human footprint data in the given area. + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data for the persistence of human footprint + */ + static requestHFPersistence( + areaType: string, + areaId: string | number, + ): Promise> { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/persistence`); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From ba5712cc864199db7d39173751f1ff8d70c7ead1 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 8 Aug 2022 20:46:35 -0500 Subject: [PATCH 067/664] Run prettier --- src/utils/restAPI.js | 309 ++++++++++++++++++++++++++--------------- src/utils/searchAPI.ts | 24 ++-- 2 files changed, 209 insertions(+), 124 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index b7051135c..ffcb573c4 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -1,4 +1,4 @@ -import axios, { CancelToken } from 'axios'; +import axios, { CancelToken } from "axios"; class RestAPI { /** @@ -8,13 +8,10 @@ class RestAPI { * @param {String} password password in database */ static requestUser(username, password) { - return RestAPI.makePostRequest( - 'users/login', - { - username: `${username}`, - password: `${password}`, - }, - ); + return RestAPI.makePostRequest("users/login", { + username: `${username}`, + password: `${password}`, + }); } /** ************* */ @@ -54,7 +51,9 @@ class RestAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ static requestCoverage(areaType, areaId) { - return RestAPI.makeGetRequest(`ecosystems/coverage?areaType=${areaType}&areaId=${areaId}`); + return RestAPI.makeGetRequest( + `ecosystems/coverage?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -88,7 +87,9 @@ class RestAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ static requestStrategicEcosystems(areaType, areaId) { - return RestAPI.makeGetRequest(`ecosystems/se?areaType=${areaType}&areaId=${areaId}`); + return RestAPI.makeGetRequest( + `ecosystems/se?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -109,7 +110,7 @@ class RestAPI { */ static requestSECoverageByGeofence(areaType, areaId, seType) { return RestAPI.makeGetRequest( - `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`, + `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` ); } @@ -120,7 +121,9 @@ class RestAPI { * @param {Number} seType type of strategic ecosystem to request */ static requestSEPAByGeofence(areaType, areaId, seType) { - return RestAPI.makeGetRequest(`/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`); + return RestAPI.makeGetRequest( + `/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + ); } /** @@ -136,42 +139,42 @@ class RestAPI { * Recover a list with all basin areas available in the database */ static getAllBasinAreas() { - return RestAPI.makeGetRequest('basinAreas'); + return RestAPI.makeGetRequest("basinAreas"); } /** * Recover a list with all basin zones available in the database */ static getAllZones() { - return RestAPI.makeGetRequest('basinZones'); + return RestAPI.makeGetRequest("basinZones"); } /** * Recover a list with all basin subzones available in the database */ static getAllSubzones() { - return RestAPI.makeGetRequest('basinSubzones'); + return RestAPI.makeGetRequest("basinSubzones"); } /** * Recover a list with all States available in the database */ static getAllStates() { - return RestAPI.makeGetRequest('states'); + return RestAPI.makeGetRequest("states"); } /** * Recover a list with all Strategic Ecosystems availables in the database */ static getAllSEs() { - return RestAPI.makeGetRequest('se/primary'); + return RestAPI.makeGetRequest("se/primary"); } /** * Recover a list with all Environmental Authorities availables in the database */ static getAllEAs() { - return RestAPI.makeGetRequest('ea'); + return RestAPI.makeGetRequest("ea"); } /** @@ -197,7 +200,9 @@ class RestAPI { * footprint timeline data */ static requestSEHFTimeline(areaType, areaId, seType) { - return RestAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}/hf/timeline`); + return RestAPI.makeGetRequest( + `${areaType}/${areaId}/se/${seType}/hf/timeline` + ); } /** @@ -219,20 +224,24 @@ class RestAPI { * @return {Promise} Array of objects with data for the forest loss and persistence */ static requestForestLP(areaType, areaId) { - return RestAPI.makeGetRequest(`forest/lp?areaType=${areaType}&areaId=${areaId}`); + return RestAPI.makeGetRequest( + `forest/lp?areaType=${areaType}&areaId=${areaId}` + ); } /** - * Get the timeline for each category of protected area connectivity in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} category category of index, fe. "prot", "prot_conn" - * - * @return {Promise} Array of objects with data of timeline PA connectivity - */ + * Get the timeline for each category of protected area connectivity in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} category category of index, fe. "prot", "prot_conn" + * + * @return {Promise} Array of objects with data of timeline PA connectivity + */ static requestTimelinePAConnectivity(areaType, areaId, category) { - return RestAPI.makeGetRequest(`connectivity/timeline?areaType=${areaType}&areaId=${areaId}&category=${category}`); + return RestAPI.makeGetRequest( + `connectivity/timeline?areaType=${areaType}&areaId=${areaId}&category=${category}` + ); } /** @@ -246,7 +255,9 @@ class RestAPI { * @return {Promise} Array of objects with data of current PA connectivity by SE */ static requestCurrentPAConnectivityBySE(areaType, areaId, seType) { - return RestAPI.makeGetRequest(`connectivity/current/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`); + return RestAPI.makeGetRequest( + `connectivity/current/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + ); } /** @@ -260,7 +271,9 @@ class RestAPI { */ static requestNumberOfSpecies(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, + `richness/number-species?areaType=${areaType}&areaId=${areaId}${ + group ? `&group=${group}` : "" + }` ); } @@ -276,7 +289,9 @@ class RestAPI { */ static requestNSThresholds(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, + `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${ + group ? `&group=${group}` : "" + }` ); } @@ -291,7 +306,9 @@ class RestAPI { */ static requestNSNationalMax(areaType, group) { return RestAPI.makeGetRequest( - `richness/number-species/nationalMax?areaType=${areaType}${group ? `&group=${group}` : ''}`, + `richness/number-species/nationalMax?areaType=${areaType}${ + group ? `&group=${group}` : "" + }` ); } @@ -304,7 +321,9 @@ class RestAPI { * @return {Promise} Object with values of richness species gaps */ static requestGaps(areaType, areaId) { - return RestAPI.makeGetRequest(`richness/gaps?areaType=${areaType}&areaId=${areaId}`); + return RestAPI.makeGetRequest( + `richness/gaps?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -316,7 +335,9 @@ class RestAPI { * @return {Promise} Object with values of richness species concentration */ static requestConcentration(areaType, areaId) { - return RestAPI.makeGetRequest(`richness/concentration?areaType=${areaType}&areaId=${areaId}`); + return RestAPI.makeGetRequest( + `richness/concentration?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -328,7 +349,9 @@ class RestAPI { * @return {Promise} Object with values of functional diversity in the dry forest */ static requestDryForestValues(areaType, areaId) { - return RestAPI.makeGetRequest(`functional-diversity/dry-forest/values?areaType=${areaType}&areaId=${areaId}`); + return RestAPI.makeGetRequest( + `functional-diversity/dry-forest/values?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -340,7 +363,9 @@ class RestAPI { * @return {Promise} Array of objects with values of functional features in the dry forest */ static requestDryForestFeatures(areaType, areaId) { - return RestAPI.makeGetRequest(`functional-diversity/dry-forest/features?areaType=${areaType}&areaId=${areaId}`); + return RestAPI.makeGetRequest( + `functional-diversity/dry-forest/features?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -350,7 +375,7 @@ class RestAPI { * * @return {Promise} Object with texts */ - static requestSectionTexts(key) { + static requestSectionTexts(key) { return RestAPI.makeGetRequest(`util/texts?key=${key}`); } @@ -367,7 +392,9 @@ class RestAPI { static requestBiomesbyEAGeometry(eaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`ea/layers/${eaId}/biomes`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest(`ea/layers/${eaId}/biomes`, { + cancelToken: source.token, + }), source, }; } @@ -383,7 +410,9 @@ class RestAPI { static requestNationalGeometryByArea(areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaId}/layers/national`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest(`${areaId}/layers/national`, { + cancelToken: source.token, + }), source, }; } @@ -399,7 +428,9 @@ class RestAPI { static requestGeofenceGeometryByArea(areaId, geofenceId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaId}/layers/${geofenceId}`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest(`${areaId}/layers/${geofenceId}`, { + cancelToken: source.token, + }), source, }; } @@ -418,8 +449,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `ecosystems/coverage/layer?areaType=${areaType}&areaId=${areaId}&coverageType=${coverageType}`, - { cancelToken: source.token, responseType: 'arraybuffer' }, - true, + { cancelToken: source.token, responseType: "arraybuffer" }, + true ), source, }; @@ -435,13 +466,13 @@ class RestAPI { * * @return {Promise} layer object to be loaded in the map */ - static requestCoveragesSELayer(areaType, areaId, coverageType, seType) { + static requestCoveragesSELayer(areaType, areaId, coverageType, seType) { const source = CancelToken.source(); return { request: RestAPI.makeGetRequest( `ecosystems/coverage/se/layer?areaType=${areaType}&areaId=${areaId}&coverageType=${coverageType}&seType=${seType}`, - { cancelToken: source.token, responseType: 'arraybuffer' }, - true, + { cancelToken: source.token, responseType: "arraybuffer" }, + true ), source, }; @@ -458,7 +489,10 @@ class RestAPI { static requestCurrentHFGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/layers/current/categories`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `${areaType}/${areaId}/hf/layers/current/categories`, + { cancelToken: source.token } + ), source, }; } @@ -474,7 +508,10 @@ class RestAPI { static requestHFPersistenceGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/layers/persistence`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `${areaType}/${areaId}/hf/layers/persistence`, + { cancelToken: source.token } + ), source, }; } @@ -492,24 +529,33 @@ class RestAPI { static requestHFGeometryBySEInGeofence(areaType, areaId, seType) { const source = CancelToken.source(); switch (seType) { - case 'dryForest': + case "dryForest": return { - request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Bosque Seco Tropical`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `${areaType}/${areaId}/se/layers/Bosque Seco Tropical`, + { cancelToken: source.token } + ), source, }; - case 'paramo': + case "paramo": return { - request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Páramo`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `${areaType}/${areaId}/se/layers/Páramo`, + { cancelToken: source.token } + ), source, }; - case 'wetland': + case "wetland": return { - request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Humedal`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `${areaType}/${areaId}/se/layers/Humedal`, + { cancelToken: source.token } + ), source, }; default: return { - request: Promise.reject(new Error('undefined option')), + request: Promise.reject(new Error("undefined option")), source, }; } @@ -527,7 +573,10 @@ class RestAPI { static requestSCIHFGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`forest/sci/hf/layer?areaType=${areaType}&areaId=${areaId}`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `forest/sci/hf/layer?areaType=${areaType}&areaId=${areaId}`, + { cancelToken: source.token } + ), source, }; } @@ -546,7 +595,10 @@ class RestAPI { static requestSCIHFPAGeometry(areaType, areaId, sciCat, hfPers) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`forest/sci/${sciCat}/hf/${hfPers}/layer?areaType=${areaType}&areaId=${areaId}`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `forest/sci/${sciCat}/hf/${hfPers}/layer?areaType=${areaType}&areaId=${areaId}`, + { cancelToken: source.token } + ), source, }; } @@ -567,8 +619,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `forest/lp/layer?areaType=${areaType}&areaId=${areaId}&period=${period}&category=${category}`, - { cancelToken: source.token, responseType: 'arraybuffer' }, - true, + { cancelToken: source.token, responseType: "arraybuffer" }, + true ), source, }; @@ -586,7 +638,10 @@ class RestAPI { static requestDPCLayer(areaType, areaId, paNumber) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`connectivity/dpc/layer?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`, { cancelToken: source.token }), + request: RestAPI.makeGetRequest( + `connectivity/dpc/layer?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`, + { cancelToken: source.token } + ), source, }; } @@ -604,33 +659,33 @@ class RestAPI { static requestPAConnSELayer(areaType, areaId, seType) { const source = CancelToken.source(); switch (seType) { - case 'dryForestPAConn': + case "dryForestPAConn": return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Bosque Seco Tropical`, - { cancelToken: source.token }, + { cancelToken: source.token } ), source, }; - case 'paramoPAConn': + case "paramoPAConn": return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Páramo`, - { cancelToken: source.token }, + { cancelToken: source.token } ), source, }; - case 'wetlandPAConn': + case "wetlandPAConn": return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Humedal`, - { cancelToken: source.token }, + { cancelToken: source.token } ), source, }; default: return { - request: Promise.reject(new Error('undefined option')), + request: Promise.reject(new Error("undefined option")), source, }; } @@ -651,8 +706,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `richness/number-species/layer?areaType=${areaType}&areaId=${areaId}&group=${group}`, - { cancelToken: source.token, responseType: 'arraybuffer' }, - true, + { cancelToken: source.token, responseType: "arraybuffer" }, + true ), source, }; @@ -670,7 +725,7 @@ class RestAPI { */ static requestNOSLayerThresholds(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species/layer/thresholds?areaType=${areaType}&areaId=${areaId}&group=${group}`, + `richness/number-species/layer/thresholds?areaType=${areaType}&areaId=${areaId}&group=${group}` ); } @@ -685,7 +740,7 @@ class RestAPI { /** TODO: implement all this endpoint and also the backend response * to find information according to polygon coordinates * */ - return RestAPI.makePostRequest('polygon', { + return RestAPI.makePostRequest("polygon", { latLngs: polygon.latLngs, }); } @@ -703,8 +758,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `richness/gaps/layer?areaType=${areaType}&areaId=${areaId}`, - { cancelToken: source.token, responseType: 'arraybuffer' }, - true, + { cancelToken: source.token, responseType: "arraybuffer" }, + true ), source, }; @@ -720,7 +775,7 @@ class RestAPI { */ static requestGapsLayerThresholds(areaType, areaId) { return RestAPI.makeGetRequest( - `richness/gaps/layer/thresholds?areaType=${areaType}&areaId=${areaId}`, + `richness/gaps/layer/thresholds?areaType=${areaType}&areaId=${areaId}` ); } @@ -735,7 +790,9 @@ class RestAPI { * @param {String} projectId id project to request */ static requestImpactedBiomes(companyId, projectId) { - return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}/biomes`); + return RestAPI.makeGetRequest( + `companies/${companyId}/projects/${projectId}/biomes` + ); } /** @@ -745,7 +802,9 @@ class RestAPI { * @param {String} projectId id project to request */ static requestImpactedBiomesDecisionTree(companyId, projectId) { - return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}/decisionTree`); + return RestAPI.makeGetRequest( + `companies/${companyId}/projects/${projectId}/decisionTree` + ); } /** @@ -756,7 +815,7 @@ class RestAPI { * @param {String} eaId environmental authority id */ static requestAvailableStrategies(biomeId, subzoneId, eaId) { - return RestAPI.makePostRequest('strategies/biomeSubzoneEA', { + return RestAPI.makePostRequest("strategies/biomeSubzoneEA", { id_biome: biomeId, id_subzone: subzoneId, id_ea: eaId, @@ -770,7 +829,9 @@ class RestAPI { * @param {String} projectId id project to request */ static requestProjectByIdAndCompany(companyId, projectId) { - return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}`); + return RestAPI.makeGetRequest( + `companies/${companyId}/projects/${projectId}` + ); } /** @@ -778,14 +839,16 @@ class RestAPI { * @param {String} companyId id company to request */ static requestProjectsAndRegionsByCompany(companyId) { - return RestAPI.makeGetRequest(`companies/${companyId}/projects?group_props=id_region,prj_status`); + return RestAPI.makeGetRequest( + `companies/${companyId}/projects?group_props=id_region,prj_status` + ); } /** * Recover all biomes available in the database */ static getAllBiomes() { - return RestAPI.makeGetRequest('biomes'); + return RestAPI.makeGetRequest("biomes"); } /** @@ -797,20 +860,22 @@ class RestAPI { id_company: companyId, id_region: `${regionId}`, prj_status: `${statusId}`, - details: 'Project created by user', + details: "Project created by user", }; - return RestAPI.makePostRequest(`companies/${companyId}/projects`, requestBody) - .then((res) => ({ - id_project: res.gid, - id_company: res.id_company, - region: res.id_region, - state: res.prj_status, - name: res.name, - type: 'button', - project: res.name.toUpperCase(), - label: res.name, - area: 0, - })); + return RestAPI.makePostRequest( + `companies/${companyId}/projects`, + requestBody + ).then((res) => ({ + id_project: res.gid, + id_company: res.id_company, + region: res.id_region, + state: res.prj_status, + name: res.name, + type: "button", + project: res.name.toUpperCase(), + label: res.name, + area: 0, + })); } /** @@ -830,7 +895,10 @@ class RestAPI { area_to_compensate_ha: biome.area_to_compensate_ha, area_impacted_pct: biome.area_impacted_pct, })); - return RestAPI.makePostRequest(`companies/${companyId}/projects/${projectId}/biomes`, cleanBiomes); + return RestAPI.makePostRequest( + `companies/${companyId}/projects/${projectId}/biomes`, + cleanBiomes + ); } /** @@ -840,10 +908,11 @@ class RestAPI { * @param {Number} projectId project id * @param {Object} strategy strategy to save information */ - static createProjectStrategy = (companyId, projectId, strategy) => RestAPI.makePostRequest( - `companies/${companyId}/projects/${projectId}/strategies`, - strategy, - ) + static createProjectStrategy = (companyId, projectId, strategy) => + RestAPI.makePostRequest( + `companies/${companyId}/projects/${projectId}/strategies`, + strategy + ); /** * Save many strategies as selected for the given project @@ -852,9 +921,12 @@ class RestAPI { * @param {Number} projectId project id * @param {Object[]} strategies list of strategies to save */ - static bulkSaveStrategies = (companyId, projectId, strategies) => Promise.all( - strategies.map((strategy) => RestAPI.createProjectStrategy(companyId, projectId, strategy)), - ) + static bulkSaveStrategies = (companyId, projectId, strategies) => + Promise.all( + strategies.map((strategy) => + RestAPI.createProjectStrategy(companyId, projectId, strategy) + ) + ); /** * Request the selected strategies for the given project @@ -862,16 +934,18 @@ class RestAPI { * @param {Numer} companyId company id * @param {Number} projectId project id */ - static getSavedStrategies = (companyId, projectId) => RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}/strategies`, - ) + static getSavedStrategies = (companyId, projectId) => + RestAPI.makeGetRequest( + `companies/${companyId}/projects/${projectId}/strategies` + ); /** * Download the strategies saved in the given project */ - static downloadProjectStrategiesUrl = (companyId, projectId) => RestAPI.makeGetRequest( - `/companies/${companyId}/projects/${projectId}/strategies/download`, - ) + static downloadProjectStrategiesUrl = (companyId, projectId) => + RestAPI.makeGetRequest( + `/companies/${companyId}/projects/${projectId}/strategies/download` + ); /** ************** */ /** BASE FUNCTIONS */ @@ -889,7 +963,8 @@ class RestAPI { Authorization: `apiKey ${process.env.REACT_APP_BACKEND_KEY}`, }, }; - return axios.get(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, config) + return axios + .get(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, config) .then((res) => { if (completeRes) { return res; @@ -898,11 +973,12 @@ class RestAPI { }) .catch((error) => { if (axios.isCancel(error)) { - return Promise.resolve('request canceled'); + return Promise.resolve("request canceled"); } - let message = 'Bad GET response. Try later'; + let message = "Bad GET response. Try later"; if (error.response) message = error.response.status; - if (error.request && error.request.statusText === '') message = 'no-data-available'; + if (error.request && error.request.statusText === "") + message = "no-data-available"; return Promise.reject(message); }); } @@ -919,12 +995,17 @@ class RestAPI { Authorization: `apiKey ${process.env.REACT_APP_BACKEND_KEY}`, }, }; - return axios.post(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, requestBody, config) + return axios + .post( + `${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, + requestBody, + config + ) .then((res) => res.data) .catch((error) => { - let message = 'Bad POST response. Try later'; + let message = "Bad POST response. Try later"; if (error.response) message = error.response.status; - if (error.request.statusText === '') message = 'no-data-available'; + if (error.request.statusText === "") message = "no-data-available"; return Promise.reject(message); }); } diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index eeace2d12..a3113e25b 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,7 +1,11 @@ import axios from "axios"; import { SCIHF } from "pages/search/types/forest"; import { currentPAConn, DPC } from "pages/search/types/connectivity"; -import { currentHFValue, currentHFCategories, hfPersistence } from "pages/search/types/humanFootprint"; +import { + currentHFValue, + currentHFCategories, + hfPersistence, +} from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; class SearchAPI { /** ****** */ @@ -75,13 +79,11 @@ class SearchAPI { * * @return {Object} Objecy with value and category for the current human footprint */ - static requestCurrentHFValue( + static requestCurrentHFValue( areaType: string, - areaId: string | number, + areaId: string | number ): Promise { - return SearchAPI.makeGetRequest( - `${areaType}/${areaId}/hf/current/value` - ); + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/current/value`); } /** @@ -94,9 +96,11 @@ class SearchAPI { */ static requestCurrentHFCategories( areaType: string, - areaId: string | number, + areaId: string | number ): Promise> { - return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/current/categories`); + return SearchAPI.makeGetRequest( + `${areaType}/${areaId}/hf/current/categories` + ); } /** @@ -107,9 +111,9 @@ class SearchAPI { * * @return {Promise} Array of objects with data for the persistence of human footprint */ - static requestHFPersistence( + static requestHFPersistence( areaType: string, - areaId: string | number, + areaId: string | number ): Promise> { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/persistence`); } From 56343278a2a5105ec832831e69317186014cc458 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 8 Aug 2022 20:47:02 -0500 Subject: [PATCH 068/664] Create file to hold definitions on human footprint components --- src/pages/search/types/humanFootprint.ts | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/pages/search/types/humanFootprint.ts diff --git a/src/pages/search/types/humanFootprint.ts b/src/pages/search/types/humanFootprint.ts new file mode 100644 index 000000000..9faa0386f --- /dev/null +++ b/src/pages/search/types/humanFootprint.ts @@ -0,0 +1,29 @@ +export const currentHFCategories = [ + "natural", + "baja", + "media", + "alta", +] as const; + +export const persistenceHFCategories = [ + "dinamica", + "estable_natural", + "estable_alta", +] as const; + +export interface currentHFValue { + value: number; + category: typeof currentHFCategories[number]; +} + +export interface currentHFCategories { + area: number; + key: typeof currentHFCategories[number]; + percentage: number; +} + +export interface hfPersistence { + area: number; + key: typeof persistenceHFCategories[number]; + percentage: number; +} From 8cff57692b36090b86d5bbcdc0ec0f56b976af81 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 8 Aug 2022 20:48:20 -0500 Subject: [PATCH 069/664] Migrate component CurrentFootprint to typescript --- ...rentFootprint.jsx => CurrentFootprint.tsx} | 105 +++++++++++------- 1 file changed, 62 insertions(+), 43 deletions(-) rename src/pages/search/drawer/landscape/humanFootprint/{CurrentFootprint.jsx => CurrentFootprint.tsx} (52%) diff --git a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx similarity index 52% rename from src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx rename to src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx index a3a9c5364..5877f860b 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx @@ -1,44 +1,62 @@ -import React from 'react'; +import React from "react"; -import InfoIcon from '@mui/icons-material/Info'; +import InfoIcon from "@mui/icons-material/Info"; -import SearchContext from 'pages/search/SearchContext'; -import GraphLoader from 'components/charts/GraphLoader'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; -import TextBoxes from 'components/TextBoxes'; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import GraphLoader from "components/charts/GraphLoader"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; +import matchColor from "utils/matchColor"; +import SearchAPI from "utils/searchAPI"; +import TextBoxes from "components/TextBoxes"; -class CurrentFootprint extends React.Component { +import { + currentHFValue, + currentHFCategories, +} from "pages/search/types/humanFootprint"; +import { TextObject } from "pages/search/types/texts"; + +interface currentHFCategoriesExt extends currentHFCategories { + label: string; +} + +interface currentHFState { + showInfoGraph: boolean; + hfCurrent: Array; + hfCurrentValue: string; + hfCurrentCategory: string; + message: string | null; + texts: { + hfCurrent: TextObject; + }; +} + +class CurrentFootprint extends React.Component { mounted = false; - constructor(props) { + constructor(props: any) { super(props); this.state = { showInfoGraph: true, hfCurrent: [], - hfCurrentValue: '0', - hfCurrentCategory: '', - message: 'loading', + hfCurrentValue: "0", + hfCurrentCategory: "", + message: "loading", texts: { - hfCurrent: {}, + hfCurrent: { info: "", cons: "", meto: "", quote: "" }, }, }; } componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; - switchLayer('hfCurrent'); + switchLayer("hfCurrent"); - RestAPI.requestCurrentHFValue(areaId, geofenceId) - .then((res) => { + SearchAPI.requestCurrentHFValue(areaId, geofenceId) + .then((res: currentHFValue) => { if (this.mounted) { this.setState({ hfCurrentValue: Number(res.value).toFixed(2), @@ -48,8 +66,8 @@ class CurrentFootprint extends React.Component { }) .catch(() => {}); - RestAPI.requestCurrentHFCategories(areaId, geofenceId) - .then((res) => { + SearchAPI.requestCurrentHFCategories(areaId, geofenceId) + .then((res: Array) => { if (this.mounted) { this.setState({ hfCurrent: res.map((item) => ({ @@ -61,17 +79,19 @@ class CurrentFootprint extends React.Component { } }) .catch(() => { - this.setState({ message: 'no-data' }); + this.setState({ message: "no-data" }); }); - RestAPI.requestSectionTexts('hfCurrent') + SearchAPI.requestSectionTexts("hfCurrent") .then((res) => { if (this.mounted) { this.setState({ texts: { hfCurrent: res } }); } }) .catch(() => { - this.setState({ texts: { hfCurrent: {} } }); + this.setState({ + texts: { hfCurrent: { info: "", cons: "", meto: "", quote: "" } }, + }); }); } @@ -89,11 +109,8 @@ class CurrentFootprint extends React.Component { }; render() { - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; const { hfCurrent, hfCurrentValue, @@ -107,7 +124,7 @@ class CurrentFootprint extends React.Component {

this.toggleInfoGraph()} /> @@ -120,16 +137,16 @@ class CurrentFootprint extends React.Component { /> )}
-
- Huella humana promedio · 2018 -
-
+
Huella humana promedio · 2018
+
{hfCurrentValue}
-

- Natural, Baja, Media y Alta -
+
Natural, Baja, Media y Alta
handlerClickOnGraph({ selectedKey: selected })} + onClickGraphHandler={(selected) => + handlerClickOnGraph({ selectedKey: selected }) + } />
Date: Mon, 8 Aug 2022 20:48:54 -0500 Subject: [PATCH 070/664] Migrate component PersistenceFootprint to typescript --- ...Footprint.jsx => PersistenceFootprint.tsx} | 95 ++++++++++--------- 1 file changed, 51 insertions(+), 44 deletions(-) rename src/pages/search/drawer/landscape/humanFootprint/{PersistenceFootprint.jsx => PersistenceFootprint.tsx} (51%) diff --git a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx similarity index 51% rename from src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.jsx rename to src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx index c591bf5f5..3c2a0b3df 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx @@ -1,47 +1,60 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; -import SearchContext from 'pages/search/SearchContext'; -import GraphLoader from 'components/charts/GraphLoader'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; -import TextBoxes from 'components/TextBoxes'; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import GraphLoader from "components/charts/GraphLoader"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; +import matchColor from "utils/matchColor"; +import SearchAPI from "utils/searchAPI"; +import TextBoxes from "components/TextBoxes"; + +import { hfPersistence } from "pages/search/types/humanFootprint"; +import { TextObject } from "pages/search/types/texts"; const getLabel = { - estable_natural: 'Estable Natural', - dinamica: 'Dinámica', - estable_alta: 'Estable Alta', + estable_natural: "Estable Natural", + dinamica: "Dinámica", + estable_alta: "Estable Alta", }; -class PersistenceFootprint extends React.Component { +interface hfPersistenceExt extends hfPersistence { + label: string; +} + +interface persistenceHFState { + showInfoGraph: boolean; + hfPersistence: Array; + message: string | null; + texts: { + hfPersistence: TextObject; + }; +} + +class PersistenceFootprint extends React.Component { mounted = false; - constructor(props) { + constructor(props: any) { super(props); this.state = { showInfoGraph: true, hfPersistence: [], - message: 'loading', + message: "loading", texts: { - hfPersistence: {}, + hfPersistence: { info: "", cons: "", meto: "", quote: "" }, }, }; } componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; - switchLayer('hfPersistence'); + switchLayer("hfPersistence"); - RestAPI.requestHFPersistence(areaId, geofenceId) - .then((res) => { + SearchAPI.requestHFPersistence(areaId, geofenceId) + .then((res: Array) => { if (this.mounted) { this.setState({ hfPersistence: res.map((item) => ({ @@ -53,17 +66,19 @@ class PersistenceFootprint extends React.Component { } }) .catch(() => { - this.setState({ message: 'no-data' }); + this.setState({ message: "no-data" }); }); - RestAPI.requestSectionTexts('hfPersistence') + SearchAPI.requestSectionTexts("hfPersistence") .then((res) => { if (this.mounted) { this.setState({ texts: { hfPersistence: res } }); } }) .catch(() => { - this.setState({ texts: { hfPersistence: {} } }); + this.setState({ + texts: { hfPersistence: { info: "", cons: "", meto: "", quote: "" } }, + }); }); } @@ -81,23 +96,15 @@ class PersistenceFootprint extends React.Component { }; render() { - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context; - const { - showInfoGraph, - hfPersistence, - message, - texts, - } = this.state; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; + const { showInfoGraph, hfPersistence, message, texts } = this.state; return (

this.toggleInfoGraph()} /> @@ -109,9 +116,7 @@ class PersistenceFootprint extends React.Component { collapseButton={false} /> )} -

- Estable natural, Dinámica, Estable alta -
+
Estable natural, Dinámica, Estable alta
handlerClickOnGraph({ selectedKey: selected })} + onClickGraphHandler={(selected) => + handlerClickOnGraph({ selectedKey: selected }) + } />
Date: Tue, 9 Aug 2022 08:54:05 -0500 Subject: [PATCH 071/664] Undo format changes --- src/utils/restAPI.js | 336 +++++++++++++++++++------------------------ 1 file changed, 146 insertions(+), 190 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index ffcb573c4..6c961bce0 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -1,4 +1,4 @@ -import axios, { CancelToken } from "axios"; +import axios, { CancelToken } from 'axios'; class RestAPI { /** @@ -8,10 +8,13 @@ class RestAPI { * @param {String} password password in database */ static requestUser(username, password) { - return RestAPI.makePostRequest("users/login", { - username: `${username}`, - password: `${password}`, - }); + return RestAPI.makePostRequest( + 'users/login', + { + username: `${username}`, + password: `${password}`, + }, + ); } /** ************* */ @@ -51,9 +54,7 @@ class RestAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ static requestCoverage(areaType, areaId) { - return RestAPI.makeGetRequest( - `ecosystems/coverage?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`ecosystems/coverage?areaType=${areaType}&areaId=${areaId}`); } /** @@ -87,9 +88,7 @@ class RestAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ static requestStrategicEcosystems(areaType, areaId) { - return RestAPI.makeGetRequest( - `ecosystems/se?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`ecosystems/se?areaType=${areaType}&areaId=${areaId}`); } /** @@ -110,7 +109,7 @@ class RestAPI { */ static requestSECoverageByGeofence(areaType, areaId, seType) { return RestAPI.makeGetRequest( - `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`, ); } @@ -121,9 +120,7 @@ class RestAPI { * @param {Number} seType type of strategic ecosystem to request */ static requestSEPAByGeofence(areaType, areaId, seType) { - return RestAPI.makeGetRequest( - `/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` - ); + return RestAPI.makeGetRequest(`/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`); } /** @@ -139,42 +136,42 @@ class RestAPI { * Recover a list with all basin areas available in the database */ static getAllBasinAreas() { - return RestAPI.makeGetRequest("basinAreas"); + return RestAPI.makeGetRequest('basinAreas'); } /** * Recover a list with all basin zones available in the database */ static getAllZones() { - return RestAPI.makeGetRequest("basinZones"); + return RestAPI.makeGetRequest('basinZones'); } /** * Recover a list with all basin subzones available in the database */ static getAllSubzones() { - return RestAPI.makeGetRequest("basinSubzones"); + return RestAPI.makeGetRequest('basinSubzones'); } /** * Recover a list with all States available in the database */ static getAllStates() { - return RestAPI.makeGetRequest("states"); + return RestAPI.makeGetRequest('states'); } /** * Recover a list with all Strategic Ecosystems availables in the database */ static getAllSEs() { - return RestAPI.makeGetRequest("se/primary"); + return RestAPI.makeGetRequest('se/primary'); } /** * Recover a list with all Environmental Authorities availables in the database */ static getAllEAs() { - return RestAPI.makeGetRequest("ea"); + return RestAPI.makeGetRequest('ea'); } /** @@ -200,9 +197,7 @@ class RestAPI { * footprint timeline data */ static requestSEHFTimeline(areaType, areaId, seType) { - return RestAPI.makeGetRequest( - `${areaType}/${areaId}/se/${seType}/hf/timeline` - ); + return RestAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}/hf/timeline`); } /** @@ -224,24 +219,57 @@ class RestAPI { * @return {Promise} Array of objects with data for the forest loss and persistence */ static requestForestLP(areaType, areaId) { - return RestAPI.makeGetRequest( - `forest/lp?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`forest/lp?areaType=${areaType}&areaId=${areaId}`); } /** - * Get the timeline for each category of protected area connectivity in a given area + * Get the structural condition index with human footprint persistence categories in the given + * area. * * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} category category of index, fe. "prot", "prot_conn" * - * @return {Promise} Array of objects with data of timeline PA connectivity + * @return {Promise} Objects with value for the SCI and HF persistence */ + static requestSCIHF(areaType, areaId) { + return RestAPI.makeGetRequest(`forest/sci/hf?areaType=${areaType}&areaId=${areaId}`); + } + + /** + * Get the area distribution for each category of protected area connectivity in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data of current PA connectivity + */ + static requestCurrentPAConnectivity(areaType, areaId) { + return RestAPI.makeGetRequest(`connectivity/current?areaType=${areaType}&areaId=${areaId}`); + } + + /** + * Get the values of connectivity for the protected areas with higher dPC value in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data of the protected areas + */ + static requestDPC(areaType, areaId, paNumber) { + return RestAPI.makeGetRequest(`connectivity/dpc?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`); + } + + /** + * Get the timeline for each category of protected area connectivity in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} category category of index, fe. "prot", "prot_conn" + * + * @return {Promise} Array of objects with data of timeline PA connectivity + */ static requestTimelinePAConnectivity(areaType, areaId, category) { - return RestAPI.makeGetRequest( - `connectivity/timeline?areaType=${areaType}&areaId=${areaId}&category=${category}` - ); + return RestAPI.makeGetRequest(`connectivity/timeline?areaType=${areaType}&areaId=${areaId}&category=${category}`); } /** @@ -255,9 +283,7 @@ class RestAPI { * @return {Promise} Array of objects with data of current PA connectivity by SE */ static requestCurrentPAConnectivityBySE(areaType, areaId, seType) { - return RestAPI.makeGetRequest( - `connectivity/current/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` - ); + return RestAPI.makeGetRequest(`connectivity/current/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`); } /** @@ -271,9 +297,7 @@ class RestAPI { */ static requestNumberOfSpecies(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species?areaType=${areaType}&areaId=${areaId}${ - group ? `&group=${group}` : "" - }` + `richness/number-species?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, ); } @@ -289,9 +313,7 @@ class RestAPI { */ static requestNSThresholds(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${ - group ? `&group=${group}` : "" - }` + `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, ); } @@ -306,9 +328,7 @@ class RestAPI { */ static requestNSNationalMax(areaType, group) { return RestAPI.makeGetRequest( - `richness/number-species/nationalMax?areaType=${areaType}${ - group ? `&group=${group}` : "" - }` + `richness/number-species/nationalMax?areaType=${areaType}${group ? `&group=${group}` : ''}`, ); } @@ -321,9 +341,7 @@ class RestAPI { * @return {Promise} Object with values of richness species gaps */ static requestGaps(areaType, areaId) { - return RestAPI.makeGetRequest( - `richness/gaps?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`richness/gaps?areaType=${areaType}&areaId=${areaId}`); } /** @@ -335,9 +353,7 @@ class RestAPI { * @return {Promise} Object with values of richness species concentration */ static requestConcentration(areaType, areaId) { - return RestAPI.makeGetRequest( - `richness/concentration?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`richness/concentration?areaType=${areaType}&areaId=${areaId}`); } /** @@ -349,9 +365,7 @@ class RestAPI { * @return {Promise} Object with values of functional diversity in the dry forest */ static requestDryForestValues(areaType, areaId) { - return RestAPI.makeGetRequest( - `functional-diversity/dry-forest/values?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`functional-diversity/dry-forest/values?areaType=${areaType}&areaId=${areaId}`); } /** @@ -363,9 +377,7 @@ class RestAPI { * @return {Promise} Array of objects with values of functional features in the dry forest */ static requestDryForestFeatures(areaType, areaId) { - return RestAPI.makeGetRequest( - `functional-diversity/dry-forest/features?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`functional-diversity/dry-forest/features?areaType=${areaType}&areaId=${areaId}`); } /** @@ -375,7 +387,7 @@ class RestAPI { * * @return {Promise} Object with texts */ - static requestSectionTexts(key) { + static requestSectionTexts(key) { return RestAPI.makeGetRequest(`util/texts?key=${key}`); } @@ -392,9 +404,7 @@ class RestAPI { static requestBiomesbyEAGeometry(eaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`ea/layers/${eaId}/biomes`, { - cancelToken: source.token, - }), + request: RestAPI.makeGetRequest(`ea/layers/${eaId}/biomes`, { cancelToken: source.token }), source, }; } @@ -410,9 +420,7 @@ class RestAPI { static requestNationalGeometryByArea(areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaId}/layers/national`, { - cancelToken: source.token, - }), + request: RestAPI.makeGetRequest(`${areaId}/layers/national`, { cancelToken: source.token }), source, }; } @@ -428,9 +436,7 @@ class RestAPI { static requestGeofenceGeometryByArea(areaId, geofenceId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaId}/layers/${geofenceId}`, { - cancelToken: source.token, - }), + request: RestAPI.makeGetRequest(`${areaId}/layers/${geofenceId}`, { cancelToken: source.token }), source, }; } @@ -449,8 +455,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `ecosystems/coverage/layer?areaType=${areaType}&areaId=${areaId}&coverageType=${coverageType}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -466,13 +472,13 @@ class RestAPI { * * @return {Promise} layer object to be loaded in the map */ - static requestCoveragesSELayer(areaType, areaId, coverageType, seType) { + static requestCoveragesSELayer(areaType, areaId, coverageType, seType) { const source = CancelToken.source(); return { request: RestAPI.makeGetRequest( `ecosystems/coverage/se/layer?areaType=${areaType}&areaId=${areaId}&coverageType=${coverageType}&seType=${seType}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -489,10 +495,7 @@ class RestAPI { static requestCurrentHFGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/hf/layers/current/categories`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/layers/current/categories`, { cancelToken: source.token }), source, }; } @@ -508,10 +511,7 @@ class RestAPI { static requestHFPersistenceGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/hf/layers/persistence`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/layers/persistence`, { cancelToken: source.token }), source, }; } @@ -529,33 +529,24 @@ class RestAPI { static requestHFGeometryBySEInGeofence(areaType, areaId, seType) { const source = CancelToken.source(); switch (seType) { - case "dryForest": + case 'dryForest': return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/se/layers/Bosque Seco Tropical`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Bosque Seco Tropical`, { cancelToken: source.token }), source, }; - case "paramo": + case 'paramo': return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/se/layers/Páramo`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Páramo`, { cancelToken: source.token }), source, }; - case "wetland": + case 'wetland': return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/se/layers/Humedal`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Humedal`, { cancelToken: source.token }), source, }; default: return { - request: Promise.reject(new Error("undefined option")), + request: Promise.reject(new Error('undefined option')), source, }; } @@ -573,10 +564,7 @@ class RestAPI { static requestSCIHFGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `forest/sci/hf/layer?areaType=${areaType}&areaId=${areaId}`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`forest/sci/hf/layer?areaType=${areaType}&areaId=${areaId}`, { cancelToken: source.token }), source, }; } @@ -595,10 +583,7 @@ class RestAPI { static requestSCIHFPAGeometry(areaType, areaId, sciCat, hfPers) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `forest/sci/${sciCat}/hf/${hfPers}/layer?areaType=${areaType}&areaId=${areaId}`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`forest/sci/${sciCat}/hf/${hfPers}/layer?areaType=${areaType}&areaId=${areaId}`, { cancelToken: source.token }), source, }; } @@ -619,8 +604,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `forest/lp/layer?areaType=${areaType}&areaId=${areaId}&period=${period}&category=${category}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -638,10 +623,7 @@ class RestAPI { static requestDPCLayer(areaType, areaId, paNumber) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `connectivity/dpc/layer?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`connectivity/dpc/layer?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`, { cancelToken: source.token }), source, }; } @@ -659,33 +641,33 @@ class RestAPI { static requestPAConnSELayer(areaType, areaId, seType) { const source = CancelToken.source(); switch (seType) { - case "dryForestPAConn": + case 'dryForestPAConn': return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Bosque Seco Tropical`, - { cancelToken: source.token } + { cancelToken: source.token }, ), source, }; - case "paramoPAConn": + case 'paramoPAConn': return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Páramo`, - { cancelToken: source.token } + { cancelToken: source.token }, ), source, }; - case "wetlandPAConn": + case 'wetlandPAConn': return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Humedal`, - { cancelToken: source.token } + { cancelToken: source.token }, ), source, }; default: return { - request: Promise.reject(new Error("undefined option")), + request: Promise.reject(new Error('undefined option')), source, }; } @@ -706,8 +688,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `richness/number-species/layer?areaType=${areaType}&areaId=${areaId}&group=${group}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -725,7 +707,7 @@ class RestAPI { */ static requestNOSLayerThresholds(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species/layer/thresholds?areaType=${areaType}&areaId=${areaId}&group=${group}` + `richness/number-species/layer/thresholds?areaType=${areaType}&areaId=${areaId}&group=${group}`, ); } @@ -740,7 +722,7 @@ class RestAPI { /** TODO: implement all this endpoint and also the backend response * to find information according to polygon coordinates * */ - return RestAPI.makePostRequest("polygon", { + return RestAPI.makePostRequest('polygon', { latLngs: polygon.latLngs, }); } @@ -758,8 +740,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `richness/gaps/layer?areaType=${areaType}&areaId=${areaId}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -775,7 +757,7 @@ class RestAPI { */ static requestGapsLayerThresholds(areaType, areaId) { return RestAPI.makeGetRequest( - `richness/gaps/layer/thresholds?areaType=${areaType}&areaId=${areaId}` + `richness/gaps/layer/thresholds?areaType=${areaType}&areaId=${areaId}`, ); } @@ -790,9 +772,7 @@ class RestAPI { * @param {String} projectId id project to request */ static requestImpactedBiomes(companyId, projectId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}/biomes` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}/biomes`); } /** @@ -802,9 +782,7 @@ class RestAPI { * @param {String} projectId id project to request */ static requestImpactedBiomesDecisionTree(companyId, projectId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}/decisionTree` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}/decisionTree`); } /** @@ -815,7 +793,7 @@ class RestAPI { * @param {String} eaId environmental authority id */ static requestAvailableStrategies(biomeId, subzoneId, eaId) { - return RestAPI.makePostRequest("strategies/biomeSubzoneEA", { + return RestAPI.makePostRequest('strategies/biomeSubzoneEA', { id_biome: biomeId, id_subzone: subzoneId, id_ea: eaId, @@ -829,9 +807,7 @@ class RestAPI { * @param {String} projectId id project to request */ static requestProjectByIdAndCompany(companyId, projectId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}`); } /** @@ -839,16 +815,14 @@ class RestAPI { * @param {String} companyId id company to request */ static requestProjectsAndRegionsByCompany(companyId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects?group_props=id_region,prj_status` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects?group_props=id_region,prj_status`); } /** * Recover all biomes available in the database */ static getAllBiomes() { - return RestAPI.makeGetRequest("biomes"); + return RestAPI.makeGetRequest('biomes'); } /** @@ -860,22 +834,20 @@ class RestAPI { id_company: companyId, id_region: `${regionId}`, prj_status: `${statusId}`, - details: "Project created by user", + details: 'Project created by user', }; - return RestAPI.makePostRequest( - `companies/${companyId}/projects`, - requestBody - ).then((res) => ({ - id_project: res.gid, - id_company: res.id_company, - region: res.id_region, - state: res.prj_status, - name: res.name, - type: "button", - project: res.name.toUpperCase(), - label: res.name, - area: 0, - })); + return RestAPI.makePostRequest(`companies/${companyId}/projects`, requestBody) + .then((res) => ({ + id_project: res.gid, + id_company: res.id_company, + region: res.id_region, + state: res.prj_status, + name: res.name, + type: 'button', + project: res.name.toUpperCase(), + label: res.name, + area: 0, + })); } /** @@ -895,10 +867,7 @@ class RestAPI { area_to_compensate_ha: biome.area_to_compensate_ha, area_impacted_pct: biome.area_impacted_pct, })); - return RestAPI.makePostRequest( - `companies/${companyId}/projects/${projectId}/biomes`, - cleanBiomes - ); + return RestAPI.makePostRequest(`companies/${companyId}/projects/${projectId}/biomes`, cleanBiomes); } /** @@ -908,11 +877,10 @@ class RestAPI { * @param {Number} projectId project id * @param {Object} strategy strategy to save information */ - static createProjectStrategy = (companyId, projectId, strategy) => - RestAPI.makePostRequest( - `companies/${companyId}/projects/${projectId}/strategies`, - strategy - ); + static createProjectStrategy = (companyId, projectId, strategy) => RestAPI.makePostRequest( + `companies/${companyId}/projects/${projectId}/strategies`, + strategy, + ) /** * Save many strategies as selected for the given project @@ -921,12 +889,9 @@ class RestAPI { * @param {Number} projectId project id * @param {Object[]} strategies list of strategies to save */ - static bulkSaveStrategies = (companyId, projectId, strategies) => - Promise.all( - strategies.map((strategy) => - RestAPI.createProjectStrategy(companyId, projectId, strategy) - ) - ); + static bulkSaveStrategies = (companyId, projectId, strategies) => Promise.all( + strategies.map((strategy) => RestAPI.createProjectStrategy(companyId, projectId, strategy)), + ) /** * Request the selected strategies for the given project @@ -934,18 +899,16 @@ class RestAPI { * @param {Numer} companyId company id * @param {Number} projectId project id */ - static getSavedStrategies = (companyId, projectId) => - RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}/strategies` - ); + static getSavedStrategies = (companyId, projectId) => RestAPI.makeGetRequest( + `companies/${companyId}/projects/${projectId}/strategies`, + ) /** * Download the strategies saved in the given project */ - static downloadProjectStrategiesUrl = (companyId, projectId) => - RestAPI.makeGetRequest( - `/companies/${companyId}/projects/${projectId}/strategies/download` - ); + static downloadProjectStrategiesUrl = (companyId, projectId) => RestAPI.makeGetRequest( + `/companies/${companyId}/projects/${projectId}/strategies/download`, + ) /** ************** */ /** BASE FUNCTIONS */ @@ -963,8 +926,7 @@ class RestAPI { Authorization: `apiKey ${process.env.REACT_APP_BACKEND_KEY}`, }, }; - return axios - .get(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, config) + return axios.get(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, config) .then((res) => { if (completeRes) { return res; @@ -973,12 +935,11 @@ class RestAPI { }) .catch((error) => { if (axios.isCancel(error)) { - return Promise.resolve("request canceled"); + return Promise.resolve('request canceled'); } - let message = "Bad GET response. Try later"; + let message = 'Bad GET response. Try later'; if (error.response) message = error.response.status; - if (error.request && error.request.statusText === "") - message = "no-data-available"; + if (error.request && error.request.statusText === '') message = 'no-data-available'; return Promise.reject(message); }); } @@ -995,17 +956,12 @@ class RestAPI { Authorization: `apiKey ${process.env.REACT_APP_BACKEND_KEY}`, }, }; - return axios - .post( - `${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, - requestBody, - config - ) + return axios.post(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, requestBody, config) .then((res) => res.data) .catch((error) => { - let message = "Bad POST response. Try later"; + let message = 'Bad POST response. Try later'; if (error.response) message = error.response.status; - if (error.request.statusText === "") message = "no-data-available"; + if (error.request.statusText === '') message = 'no-data-available'; return Promise.reject(message); }); } From 20b3ea752f401ce205454bbaa6366fd20e2cc301 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 9 Aug 2022 08:55:34 -0500 Subject: [PATCH 072/664] Fix typo --- src/utils/searchAPI.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index a3113e25b..08d466f2d 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -77,7 +77,7 @@ class SearchAPI { * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * - * @return {Object} Objecy with value and category for the current human footprint + * @return {Object} Object with value and category for the current human footprint */ static requestCurrentHFValue( areaType: string, From b6e1b3992f1033c0ee9a8000cca2dadaf4948160 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 9 Aug 2022 15:34:09 -0500 Subject: [PATCH 073/664] Fix errors by merging previous version --- src/utils/restAPI.js | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 6c961bce0..b7051135c 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -222,43 +222,6 @@ class RestAPI { return RestAPI.makeGetRequest(`forest/lp?areaType=${areaType}&areaId=${areaId}`); } - /** - * Get the structural condition index with human footprint persistence categories in the given - * area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Objects with value for the SCI and HF persistence - */ - static requestSCIHF(areaType, areaId) { - return RestAPI.makeGetRequest(`forest/sci/hf?areaType=${areaType}&areaId=${areaId}`); - } - - /** - * Get the area distribution for each category of protected area connectivity in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with data of current PA connectivity - */ - static requestCurrentPAConnectivity(areaType, areaId) { - return RestAPI.makeGetRequest(`connectivity/current?areaType=${areaType}&areaId=${areaId}`); - } - - /** - * Get the values of connectivity for the protected areas with higher dPC value in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with data of the protected areas - */ - static requestDPC(areaType, areaId, paNumber) { - return RestAPI.makeGetRequest(`connectivity/dpc?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`); - } - /** * Get the timeline for each category of protected area connectivity in a given area * From 154e1e4fafc1f809e4f86036d2a6ba7e2fc45dd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 11 Aug 2022 13:59:04 -0500 Subject: [PATCH 074/664] Migrate MultiSmallBarStackGraph component --- .../charts/MultiSmallBarStackGraph.jsx | 157 ------------------ .../charts/MultiSmallBarStackGraph.tsx | 147 ++++++++++++++++ 2 files changed, 147 insertions(+), 157 deletions(-) delete mode 100644 src/components/charts/MultiSmallBarStackGraph.jsx create mode 100644 src/components/charts/MultiSmallBarStackGraph.tsx diff --git a/src/components/charts/MultiSmallBarStackGraph.jsx b/src/components/charts/MultiSmallBarStackGraph.jsx deleted file mode 100644 index a631f9cd4..000000000 --- a/src/components/charts/MultiSmallBarStackGraph.jsx +++ /dev/null @@ -1,157 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { ResponsiveBar } from '@nivo/bar'; - -import { darkenColor } from 'utils/colorUtils'; -import formatNumber from 'utils/format'; - -class MultiSmallBarStackGraph extends React.Component { - constructor(props) { - super(props); - this.state = { - selectedIndexValue: props.selectedIndexValue, - }; - } - - render() { - const { - data, - height, - colors, - units, - onClickHandler, - } = this.props; - const { - selectedIndexValue, - } = this.state; - - /** - * Transform data structure to be passed to component as a prop - * - * @param {array} rawData raw data from RestAPI - * @returns {array} transformed data ready to be used by graph component - */ - const transformData = (rawData) => { - const transformedData = rawData.map((element) => { - const object = { - key: String(element.id), - }; - element.data.forEach((item) => { - object[String(item.key)] = Number(item.area); - object[`${String(item.key)}Color`] = colors(item.key); - object[`${String(item.key)}DarkenColor`] = darkenColor(colors(item.key), 15); - object[`${String(item.key)}Label`] = item.label; - object[`${String(item.key)}Percentage`] = Number(item.percentage); - }); - return object; - }); - return transformedData; - }; - - /** - * Get keys to be passed to component as a prop - * - * @returns {array} ids of each bar category - */ - const keys = data[0] ? data[0].data.map((item) => String(item.key)) : []; - - return ( -
- { - if (indexValue === selectedIndexValue) { - return allData[`${id}DarkenColor`]; - } - return allData[`${id}Color`]; - }} - enableGridY={false} - enableGridX - axisLeft={{ - tickSize: 3, - tickPadding: 5, - tickRotation: 0, - legend: 'Periodo', - legendPosition: 'middle', - legendOffset: -80, - }} - axisBottom={{ - tickSize: 0, - tickPadding: 0, - tickRotation: 0, - format: '.2s', - legend: 'Hectáreas', - legendPosition: 'start', - legendOffset: 25, - }} - enableLabel={false} - animate - motionStiffness={90} - motionDamping={15} - tooltip={({ id, data: allData, color }) => ( -
- - {allData[`${id}Label`]} - -
- {`${formatNumber(allData[id], 0)} ${units}`} -
-
- )} - theme={{ - axis: - { - legend: { text: { fontSize: '14' } }, - }, - }} - onClick={({ id, indexValue }) => { - this.setState({ selectedIndexValue: indexValue }); - onClickHandler(indexValue, id); - }} - /> -
- ); - } -} - -MultiSmallBarStackGraph.propTypes = { - data: PropTypes.arrayOf(PropTypes.shape({ - id: PropTypes.string.isRequired, - data: PropTypes.arrayOf(PropTypes.shape({ - area: PropTypes.number.isRequired, - key: PropTypes.string, - percentage: PropTypes.number, - label: PropTypes.string, - })).isRequired, - })).isRequired, - height: PropTypes.number, - colors: PropTypes.func, - units: PropTypes.string, - onClickHandler: PropTypes.func, - selectedIndexValue: PropTypes.string, -}; - -MultiSmallBarStackGraph.defaultProps = { - height: 30, - colors: () => {}, - units: 'ha', - onClickHandler: () => {}, - selectedIndexValue: null, -}; - -export default MultiSmallBarStackGraph; diff --git a/src/components/charts/MultiSmallBarStackGraph.tsx b/src/components/charts/MultiSmallBarStackGraph.tsx new file mode 100644 index 000000000..b8ff8ed7c --- /dev/null +++ b/src/components/charts/MultiSmallBarStackGraph.tsx @@ -0,0 +1,147 @@ +import React from "react"; +import { ResponsiveBar } from "@nivo/bar"; + +import { darkenColor } from "utils/colorUtils"; +import formatNumber from "utils/format"; + +// TODO: Maybe colors and onClickHandler types should be defined in types/ +interface Props { + data: Array; + height?: number; + colors: (key: string) => string; + units?: string; + onClickHandler: (period: string, key: string) => void; + selectedIndexValue: string; +} + +interface Data { + id: string; + data: Array<{ + area: number; + key: string; + percentage: number; + label: string; + }>; +} + +interface State { + selectedIndexValue: string | number; +} + +class MultiSmallBarStackGraph extends React.Component { + constructor(props: Props) { + super(props); + this.state = { + selectedIndexValue: props.selectedIndexValue, + }; + } + + render() { + const { + data, + height = 250, + colors, + units = "ha", + onClickHandler, + } = this.props; + const { selectedIndexValue } = this.state; + + /** + * Transform data structure to be passed to component as a prop + * + * @param {array} rawData raw data from RestAPI + * @returns {array} transformed data ready to be used by graph component + */ + const transformData = (rawData: Array) => { + const transformedData = rawData.map((element) => { + const object: Record = { + key: element.id, + }; + element.data.forEach((item) => { + object[item.key] = item.area; + object[`${item.key}Color`] = colors(item.key); + object[`${item.key}DarkenColor`] = darkenColor(colors(item.key), 15); + object[`${item.key}Label`] = item.label; + object[`${item.key}Percentage`] = item.percentage; + }); + return object; + }); + return transformedData; + }; + + /** + * Get keys to be passed to component as a prop + * + * @returns {array} ids of each bar category + */ + const keys = data[0] ? data[0].data.map((item) => String(item.key)) : []; + + return ( +
+ { + if (indexValue === selectedIndexValue) { + return darkenColor(colors(String(id)), 15); + } + return colors(String(id)); + }} + enableGridY={false} + enableGridX + axisLeft={{ + tickSize: 3, + tickPadding: 5, + tickRotation: 0, + legend: "Periodo", + legendPosition: "middle", + legendOffset: -80, + }} + axisBottom={{ + tickSize: 0, + tickPadding: 0, + tickRotation: 0, + format: ".2s", + legend: "Hectáreas", + legendPosition: "start", + legendOffset: 25, + }} + enableLabel={false} + animate + tooltip={({ id, data: allData, color }) => ( +
+ {allData[`${id}Label`]} +
+ {`${formatNumber(allData[id], 0)} ${units}`} +
+
+ )} + theme={{ + axis: { + legend: { text: { fontSize: "14" } }, + }, + }} + onClick={({ id, indexValue }) => { + this.setState({ selectedIndexValue: indexValue }); + onClickHandler(String(indexValue), String(id)); + }} + /> +
+ ); + } +} + +export default MultiSmallBarStackGraph; From 68fa6b7334a4800334464efed857af047247c156 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 15:37:56 -0500 Subject: [PATCH 075/664] remove request for timelinePA connectivity --- src/utils/restAPI.js | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 82cc4e5a6..76fdde9bf 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -258,19 +258,6 @@ class RestAPI { return RestAPI.makeGetRequest(`forest/lp?areaType=${areaType}&areaId=${areaId}`); } - /** - * Get the timeline for each category of protected area connectivity in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} category category of index, fe. "prot", "prot_conn" - * - * @return {Promise} Array of objects with data of timeline PA connectivity - */ - static requestTimelinePAConnectivity(areaType, areaId, category) { - return RestAPI.makeGetRequest(`connectivity/timeline?areaType=${areaType}&areaId=${areaId}&category=${category}`); - } - /** * Get the area distribution for each category of protected area connectivity for an specific * strategic ecosystem in a given area From 98df9283ee7f0847379c924d28094a585b0f1f1f Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 15:38:33 -0500 Subject: [PATCH 076/664] add request for timelinePA connectivity --- src/utils/searchAPI.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index ceb084f67..89e38de42 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,6 +1,6 @@ import axios from "axios"; import { SCIHF } from "pages/search/types/forest"; -import { currentPAConn, DPC } from "pages/search/types/connectivity"; +import { currentPAConn, DPC, timelinePAConn } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; class SearchAPI { /** ****** */ @@ -62,6 +62,26 @@ class SearchAPI { ); } + /** + * Get the timeline for each category of protected area connectivity in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} category category of index, fe. "prot", "prot_conn" + * + * @return {Promise} Array of objects with data of timeline PA connectivity + */ + static requestTimelinePAConnectivity( + areaType: string, + areaId: string | number, + category: string, + ): Promise { + return SearchAPI.makeGetRequest( + `connectivity/timeline?areaType=${areaType}&areaId=${areaId}&category=${category}` + ); + } + + /** ************ */ /** CROSS MODULE */ /** ************ */ From 42ba2e507d8c4e254903e102a042355e18ff4513 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 15:39:33 -0500 Subject: [PATCH 077/664] add const and interfaces for timelinePAconn --- src/pages/search/types/connectivity.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index df8c97441..9c3c760b5 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -10,7 +10,10 @@ export const DPCKeys = [ "bajo", "muy_bajo", ] as const; - +export const timelinePAConnKeys = [ + "prot", + "prot_conn", +] as const; export interface currentPAConn { key: typeof currentPAConnKeys[number]; area: number; @@ -24,3 +27,13 @@ export interface DPC { area: number; value: number; } + +interface timeLinePAConnValues { + x: string; + y: number; +} + +export interface timelinePAConn { + key: typeof timelinePAConnKeys[number]; + data: Array; +} From 6743639801c76bf8121795c0b52390c0b76fd5d2 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 15:40:27 -0500 Subject: [PATCH 078/664] migrate timelinePA connectivity to typescript --- .../connectivity/TimelinePAConnectivity.tsx | 104 ++++++++---------- 1 file changed, 48 insertions(+), 56 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 23d4277b9..539588567 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -4,31 +4,32 @@ import InfoIcon from "@mui/icons-material/Info"; import GraphLoader from "components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "components/Tooltips"; -import SearchContext from "pages/search/SearchContext"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import matchColor from "utils/matchColor"; import processDataCsv from "utils/processDataCsv"; import RestAPI from "utils/restAPI"; import TextBoxes from "components/TextBoxes"; -import { AnyObject } from "chart.js/types/basic"; -import { InfoTexts } from "pages/search/types/texts.types"; +import { timelinePAConn } from "pages/search/types/connectivity"; +import { TextObject } from "pages/search/types/texts"; +import SearchAPI from "utils/searchAPI"; -interface TimelinePAConnectivityState { +const getLabel = { + prot: "Protegida", + prot_conn: "Protegida conectada", +}; + +interface timelinePAConnExt extends timelinePAConn { + label: string; +} +interface timelinePAConnState { showInfoGraph: boolean; - timelinePAConnectivity: Array; + timelinePAConnData: Array; message: string | null; - texts: { paConnTimeline: InfoTexts | any }; -} - -interface SearchContextValues { - areaId: string; - geofenceId: string | number; - switchLayer(layer: string): void; + texts: { + paConnTimeline: TextObject; + }; } - -class TimelinePAConnectivity extends React.Component< - any, - TimelinePAConnectivityState -> { +class TimelinePAConnectivity extends React.Component { static contextType = SearchContext; mounted = false; @@ -36,12 +37,12 @@ class TimelinePAConnectivity extends React.Component< super(props); this.state = { showInfoGraph: true, - timelinePAConnectivity: [], + timelinePAConnData: [], message: "loading", texts: { - paConnTimeline: { meto: "", cons: "", quote: "", info: "" }, - }, - }; + paConnTimeline: { info: "", cons: "", meto: "", quote: "" }, + } + } } componentDidMount() { @@ -52,26 +53,35 @@ class TimelinePAConnectivity extends React.Component< switchLayer("timelinePAConn"); Promise.all([ - RestAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot"), - RestAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot_conn"), + SearchAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot"), + SearchAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot_conn"), ]).then((res) => { if (this.mounted) { - this.setState({ - timelinePAConnectivity: this.processData(res), + this.setState(() => ({ + timelinePAConnData: res.map((item) => ({ + ...item, + label: getLabel[item.key], + data: item.data.map((i: { x:string, y:number }) => ({ + ...i, + y: i.y * 100, + })), + })), message: null, - }); + })); } + console.log(this.state); + }) + .catch(() => { + this.setState({ message: "no-data" }); }); - RestAPI.requestSectionTexts("paConnTimeline") - .then((res) => { - if (this.mounted) { - this.setState({ texts: { paConnTimeline: res } }); - } - }) - .catch(() => { - this.setState({ texts: { paConnTimeline: {} } }); - }); + SearchAPI.requestSectionTexts("paConnTimeline") + .then((res:TextObject) => { + if (this.mounted) { + this.setState({ texts: { paConnTimeline: res } }); + } + }) + .catch(() => {}); } componentWillUnmount() { @@ -104,26 +114,8 @@ class TimelinePAConnectivity extends React.Component< } }; - /** - * Transform data to fit in the graph structure - * @param {array} data data to be transformed - * - * @returns {array} transformed array - */ - processData = (data: Array): Array => { - if (!data) return []; - return data.map((obj) => ({ - ...obj, - data: obj.data.map((item: { y: number }) => ({ - ...item, - y: item.y * 100, - })), - label: this.getLabel(obj.key), - })); - }; - render() { - const { showInfoGraph, timelinePAConnectivity, message, texts } = + const { showInfoGraph, timelinePAConnData, message, texts } = this.state; const { areaId, geofenceId } = this.context as SearchContextValues; return ( @@ -149,7 +141,7 @@ class TimelinePAConnectivity extends React.Component< Date: Thu, 11 Aug 2022 15:43:28 -0500 Subject: [PATCH 079/664] Migrate ForestLossPersistence component --- .../charts/MultiSmallBarStackGraph.tsx | 8 +- ...sistence.jsx => ForestLossPersistence.tsx} | 136 +++++++++--------- src/pages/search/types/forest.ts | 16 +++ src/utils/restAPI.js | 12 -- src/utils/searchAPI.ts | 19 ++- 5 files changed, 110 insertions(+), 81 deletions(-) rename src/pages/search/drawer/landscape/forest/{ForestLossPersistence.jsx => ForestLossPersistence.tsx} (52%) diff --git a/src/components/charts/MultiSmallBarStackGraph.tsx b/src/components/charts/MultiSmallBarStackGraph.tsx index b8ff8ed7c..610a23b99 100644 --- a/src/components/charts/MultiSmallBarStackGraph.tsx +++ b/src/components/charts/MultiSmallBarStackGraph.tsx @@ -4,9 +4,9 @@ import { ResponsiveBar } from "@nivo/bar"; import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; -// TODO: Maybe colors and onClickHandler types should be defined in types/ +// TODO: Maybe colors and onClickHandler types should be shared among various charts interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; units?: string; @@ -14,7 +14,7 @@ interface Props { selectedIndexValue: string; } -interface Data { +export interface MultiSmallBarStackGraphData { id: string; data: Array<{ area: number; @@ -52,7 +52,7 @@ class MultiSmallBarStackGraph extends React.Component { * @param {array} rawData raw data from RestAPI * @returns {array} transformed data ready to be used by graph component */ - const transformData = (rawData: Array) => { + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { key: element.id, diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.jsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx similarity index 52% rename from src/pages/search/drawer/landscape/forest/ForestLossPersistence.jsx rename to src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 5478f447a..6d6acba36 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.jsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -1,57 +1,72 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; - -import SearchContext from 'pages/search/SearchContext'; -import GraphLoader from 'components/charts/GraphLoader'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; -import formatNumber from 'utils/format'; -import TextBoxes from 'components/TextBoxes'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; + +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import GraphLoader from "components/charts/GraphLoader"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; +import matchColor from "utils/matchColor"; +import SearchAPI from "utils/searchAPI"; +import formatNumber from "utils/format"; +import TextBoxes from "components/TextBoxes"; + +import { MultiSmallBarStackGraphData } from "components/charts/MultiSmallBarStackGraph"; +import { TextObject } from "pages/search/types/texts"; +import { ForestLP } from "pages/search/types/forest"; + +interface State { + showInfoGraph: boolean; + forestLP: Array; + message: string | null; + forestPersistenceValue: number; + texts: { + forestLP: TextObject; + }; +} -const LATEST_PERIOD = '2016-2021'; +const LATEST_PERIOD = "2016-2021"; const getLabel = { - persistencia: 'Persistencia', - perdida: 'Pérdida', - ganancia: 'Ganancia', - no_bosque: 'No bosque', + persistencia: "Persistencia", + perdida: "Pérdida", + ganancia: "Ganancia", + no_bosque: "No bosque", }; -class ForestLossPersistence extends React.Component { +class ForestLossPersistence extends React.Component { mounted = false; - constructor(props) { + constructor(props: any) { super(props); this.state = { showInfoGraph: true, forestLP: [], - message: 'loading', + message: "loading", forestPersistenceValue: 0, texts: { - forestLP: {}, + forestLP: { info: "", cons: "", meto: "", quote: "" }, }, }; } componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; - - const getPersistenceValue = (data) => { - const periodData = data ? data.find((item) => item.id === LATEST_PERIOD).data : null; - const persistenceData = periodData ? periodData.find((item) => item.key === 'persistencia') : null; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; + + const getPersistenceValue = (rawData: Array) => { + const periodData = rawData.find( + (item) => item.id === LATEST_PERIOD + )?.data; + const persistenceData = periodData + ? periodData.find((item) => item.key === "persistencia") + : null; return persistenceData ? persistenceData.area : 0; }; switchLayer(`forestLP-${LATEST_PERIOD}`); - RestAPI.requestForestLP(areaId, geofenceId) + SearchAPI.requestForestLP(areaId, geofenceId) .then((res) => { if (this.mounted) { this.setState({ @@ -60,8 +75,7 @@ class ForestLossPersistence extends React.Component { data: item.data.map((element) => ({ ...element, label: getLabel[element.key], - } - )), + })), })), forestPersistenceValue: getPersistenceValue(res), message: null, @@ -69,18 +83,16 @@ class ForestLossPersistence extends React.Component { } }) .catch(() => { - this.setState({ message: 'no-data' }); + this.setState({ message: "no-data" }); }); - RestAPI.requestSectionTexts('forestLP') + SearchAPI.requestSectionTexts("forestLP") .then((res) => { if (this.mounted) { this.setState({ texts: { forestLP: res } }); } }) - .catch(() => { - this.setState({ texts: { forestLP: {} } }); - }); + .catch(() => {}); } componentWillUnmount() { @@ -99,11 +111,16 @@ class ForestLossPersistence extends React.Component { /** * Process data to be downloaded as a csv file * - * @param {Object} data data transformed passed to graph + * @param {Array} data graph data transformed to be downloaded as csv */ - processDownload = (data) => { - const result = []; - data.forEach((period) => ( + processDownload = (data: Array) => { + const result: Array<{ + period: string; + category: string; + area: number; + percentage: number; + }> = []; + data.forEach((period) => period.data.forEach((obj) => { result.push({ period: period.id, @@ -111,29 +128,22 @@ class ForestLossPersistence extends React.Component { area: obj.area, percentage: obj.percentage, }); - }))); + }) + ); return result; }; render() { - const { - forestLP, - forestPersistenceValue, - showInfoGraph, - message, - texts, - } = this.state; - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context; + const { forestLP, forestPersistenceValue, showInfoGraph, message, texts } = + this.state; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; return (

@@ -146,17 +156,15 @@ class ForestLossPersistence extends React.Component { /> )}
-
- Cobertura actual -
-
+
Cobertura actual
+
{`${formatNumber(forestPersistenceValue, 0)} ha `}
-
- Cobertura de bosque en el tiempo -
+
Cobertura de bosque en el tiempo
{ handlerClickOnGraph({ - chartType: 'forestLP', + chartType: "forestLP", chartSection: period, selectedKey: key, }); diff --git a/src/pages/search/types/forest.ts b/src/pages/search/types/forest.ts index 40cafff57..a525ed58d 100644 --- a/src/pages/search/types/forest.ts +++ b/src/pages/search/types/forest.ts @@ -7,3 +7,19 @@ export interface SCIHF { pa: string; area: number; } + +export const ForestLPKeys = [ + "persistencia", + "perdida", + "ganancia", + "no_bosque", +] as const; + +export interface ForestLP { + id: string; + data: Array<{ + area: number; + key: typeof ForestLPKeys[number]; + percentage: number; + }>; +} diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index b7051135c..04a423f18 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -210,18 +210,6 @@ class RestAPI { return RestAPI.makeGetRequest(`ea/${eaId}/biome/${biomeName}/subzone`); } - /** - * Get the forest loss and persistence data by periods and categories in the given area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with data for the forest loss and persistence - */ - static requestForestLP(areaType, areaId) { - return RestAPI.makeGetRequest(`forest/lp?areaType=${areaType}&areaId=${areaId}`); - } - /** * Get the timeline for each category of protected area connectivity in a given area * diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 08d466f2d..72b98c9a4 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,5 +1,5 @@ import axios from "axios"; -import { SCIHF } from "pages/search/types/forest"; +import { SCIHF, ForestLP } from "pages/search/types/forest"; import { currentPAConn, DPC } from "pages/search/types/connectivity"; import { currentHFValue, @@ -29,6 +29,23 @@ class SearchAPI { ); } + /** + * Get the forest loss and persistence data by periods and categories in the given area. + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data for the forest loss and persistence + */ + static requestForestLP( + areaType: string, + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest( + `forest/lp?areaType=${areaType}&areaId=${areaId}` + ); + } + /** ************ */ /** CONNECTIVITY */ /** ************ */ From 7d6f2b5bb4410f23b7c5da305b8f695f195c96b1 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 15:56:11 -0500 Subject: [PATCH 080/664] fix prettier style --- .../connectivity/TimelinePAConnectivity.tsx | 58 +++++++++---------- src/pages/search/types/connectivity.ts | 5 +- src/utils/searchAPI.ts | 24 ++++---- 3 files changed, 44 insertions(+), 43 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 539588567..575fac4e7 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -29,7 +29,7 @@ interface timelinePAConnState { paConnTimeline: TextObject; }; } -class TimelinePAConnectivity extends React.Component { +class TimelinePAConnectivity extends React.Component { static contextType = SearchContext; mounted = false; @@ -41,8 +41,8 @@ class TimelinePAConnectivity extends React.Component { message: "loading", texts: { paConnTimeline: { info: "", cons: "", meto: "", quote: "" }, - } - } + }, + }; } componentDidMount() { @@ -55,33 +55,34 @@ class TimelinePAConnectivity extends React.Component { Promise.all([ SearchAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot"), SearchAPI.requestTimelinePAConnectivity(areaId, geofenceId, "prot_conn"), - ]).then((res) => { - if (this.mounted) { - this.setState(() => ({ - timelinePAConnData: res.map((item) => ({ - ...item, - label: getLabel[item.key], - data: item.data.map((i: { x:string, y:number }) => ({ - ...i, - y: i.y * 100, + ]) + .then((res) => { + if (this.mounted) { + this.setState(() => ({ + timelinePAConnData: res.map((item) => ({ + ...item, + label: getLabel[item.key], + data: item.data.map((i: { x: string; y: number }) => ({ + ...i, + y: i.y * 100, + })), })), - })), - message: null, - })); - } - console.log(this.state); - }) - .catch(() => { - this.setState({ message: "no-data" }); - }); + message: null, + })); + } + console.log(this.state); + }) + .catch(() => { + this.setState({ message: "no-data" }); + }); SearchAPI.requestSectionTexts("paConnTimeline") - .then((res:TextObject) => { - if (this.mounted) { - this.setState({ texts: { paConnTimeline: res } }); - } - }) - .catch(() => {}); + .then((res: TextObject) => { + if (this.mounted) { + this.setState({ texts: { paConnTimeline: res } }); + } + }) + .catch(() => {}); } componentWillUnmount() { @@ -115,8 +116,7 @@ class TimelinePAConnectivity extends React.Component { }; render() { - const { showInfoGraph, timelinePAConnData, message, texts } = - this.state; + const { showInfoGraph, timelinePAConnData, message, texts } = this.state; const { areaId, geofenceId } = this.context as SearchContextValues; return (
diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index 9c3c760b5..c61956902 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -10,10 +10,7 @@ export const DPCKeys = [ "bajo", "muy_bajo", ] as const; -export const timelinePAConnKeys = [ - "prot", - "prot_conn", -] as const; +export const timelinePAConnKeys = ["prot", "prot_conn"] as const; export interface currentPAConn { key: typeof currentPAConnKeys[number]; area: number; diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 9406f5fb4..fa058b247 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,6 +1,10 @@ import axios from "axios"; import { SCIHF } from "pages/search/types/forest"; -import { currentPAConn, DPC, timelinePAConn } from "pages/search/types/connectivity"; +import { + currentPAConn, + DPC, + timelinePAConn, +} from "pages/search/types/connectivity"; import { currentHFValue, currentHFCategories, @@ -69,17 +73,17 @@ class SearchAPI { /** * Get the timeline for each category of protected area connectivity in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} category category of index, fe. "prot", "prot_conn" - * - * @return {Promise} Array of objects with data of timeline PA connectivity - */ - static requestTimelinePAConnectivity( + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} category category of index, fe. "prot", "prot_conn" + * + * @return {Promise} Array of objects with data of timeline PA connectivity + */ + static requestTimelinePAConnectivity( areaType: string, areaId: string | number, - category: string, + category: string ): Promise { return SearchAPI.makeGetRequest( `connectivity/timeline?areaType=${areaType}&areaId=${areaId}&category=${category}` From cc2a12027b4ccfc9a5d3e9af4e7ebdeba57eb84c Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 21:37:52 -0500 Subject: [PATCH 081/664] remove unused file --- src/pages/search/types/texts.types.d.ts | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 src/pages/search/types/texts.types.d.ts diff --git a/src/pages/search/types/texts.types.d.ts b/src/pages/search/types/texts.types.d.ts deleted file mode 100644 index 48afcbff2..000000000 --- a/src/pages/search/types/texts.types.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface InfoTexts { - meto: string; - cons: string; - quote: string; - info: string; -} From 2d9c5a9080db43bebcc8043d223bf1b268b2932e Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 21:39:38 -0500 Subject: [PATCH 082/664] export timeLinePAConnValues x,y --- src/pages/search/types/connectivity.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index c61956902..8c6f18850 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -25,7 +25,7 @@ export interface DPC { value: number; } -interface timeLinePAConnValues { +export interface timeLinePAConnValues { x: string; y: number; } From 2cbae211581eca44631cc34a3b34c24415222f44 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 21:41:06 -0500 Subject: [PATCH 083/664] make changes according to comments --- .../landscape/connectivity/TimelinePAConnectivity.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 575fac4e7..3dfce14cd 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -7,9 +7,8 @@ import { IconTooltip } from "components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import matchColor from "utils/matchColor"; import processDataCsv from "utils/processDataCsv"; -import RestAPI from "utils/restAPI"; import TextBoxes from "components/TextBoxes"; -import { timelinePAConn } from "pages/search/types/connectivity"; +import { timelinePAConn, timeLinePAConnValues } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; import SearchAPI from "utils/searchAPI"; @@ -62,7 +61,7 @@ class TimelinePAConnectivity extends React.Component { timelinePAConnData: res.map((item) => ({ ...item, label: getLabel[item.key], - data: item.data.map((i: { x: string; y: number }) => ({ + data: item.data.map((i: timeLinePAConnValues ) => ({ ...i, y: i.y * 100, })), @@ -70,7 +69,6 @@ class TimelinePAConnectivity extends React.Component { message: null, })); } - console.log(this.state); }) .catch(() => { this.setState({ message: "no-data" }); From a067ea3bd5e3b1e8368f756ee437e09eb50ad24c Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 11 Aug 2022 21:44:57 -0500 Subject: [PATCH 084/664] fix prettier style --- .../landscape/connectivity/TimelinePAConnectivity.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 3dfce14cd..ad9a57807 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -8,7 +8,10 @@ import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import matchColor from "utils/matchColor"; import processDataCsv from "utils/processDataCsv"; import TextBoxes from "components/TextBoxes"; -import { timelinePAConn, timeLinePAConnValues } from "pages/search/types/connectivity"; +import { + timelinePAConn, + timeLinePAConnValues, +} from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; import SearchAPI from "utils/searchAPI"; @@ -61,7 +64,7 @@ class TimelinePAConnectivity extends React.Component { timelinePAConnData: res.map((item) => ({ ...item, label: getLabel[item.key], - data: item.data.map((i: timeLinePAConnValues ) => ({ + data: item.data.map((i: timeLinePAConnValues) => ({ ...i, y: i.y * 100, })), From 8e6f8a44d211084892882c562d50cb3d1110e058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 12 Aug 2022 13:14:25 -0500 Subject: [PATCH 085/664] Reorganize forest types file --- src/pages/search/types/forest.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/pages/search/types/forest.ts b/src/pages/search/types/forest.ts index a525ed58d..3b9e8d77f 100644 --- a/src/pages/search/types/forest.ts +++ b/src/pages/search/types/forest.ts @@ -1,13 +1,6 @@ export const SCICats = ["alta", "baja_moderada"] as const; export const HFCats = ["estable_natural", "dinamica", "estable_alta"] as const; -export interface SCIHF { - hf_pers: typeof HFCats[number]; - sci_cat: typeof SCICats[number]; - pa: string; - area: number; -} - export const ForestLPKeys = [ "persistencia", "perdida", @@ -15,6 +8,13 @@ export const ForestLPKeys = [ "no_bosque", ] as const; +export interface SCIHF { + hf_pers: typeof HFCats[number]; + sci_cat: typeof SCICats[number]; + pa: string; + area: number; +} + export interface ForestLP { id: string; data: Array<{ From 2ef2d30a71b101266b516b9c141ba7c0a5e1280a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 17 Aug 2022 08:42:33 -0500 Subject: [PATCH 086/664] Migrate the component CurrentSEPAConnectvity to Typescript --- ...tivity.jsx => CurrentSEPAConnectivity.tsx} | 208 +++++++++++------- src/pages/search/types/connectivity.ts | 19 ++ src/utils/searchAPI.ts | 20 ++ 3 files changed, 162 insertions(+), 85 deletions(-) rename src/pages/search/drawer/landscape/connectivity/{CurrentSEPAConnectivity.jsx => CurrentSEPAConnectivity.tsx} (57%) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.jsx b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx similarity index 57% rename from src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.jsx rename to src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx index ea2759fd3..b00871756 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.jsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx @@ -1,26 +1,54 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from 'components/charts/GraphLoader'; -import DownloadCSV from 'components/DownloadCSV'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; -import SearchContext from 'pages/search/SearchContext'; -import formatNumber from 'utils/format'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; -import TextBoxes from 'components/TextBoxes'; +import GraphLoader from "components/charts/GraphLoader"; +import DownloadCSV from "components/DownloadCSV"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import formatNumber from "utils/format"; +import matchColor from "utils/matchColor"; +import SearchAPI from "utils/searchAPI"; +import TextBoxes from "components/TextBoxes"; + +import { + currentSEPAConn, + SEPAEcosystems, +} from "pages/search/types/connectivity"; +import { TextObject } from "pages/search/types/texts"; const getLabel = { - unprot: 'No protegida', - prot_conn: 'Protegida conectada', - prot_unconn: 'Protegida no conectada', + unprot: "No protegida", + prot_conn: "Protegida conectada", + prot_unconn: "Protegida no conectada", }; -class CurrentSEPAConnectivity extends React.Component { +interface Props {} + +interface State { + showInfoGraph: boolean; + currentPAConnParamo: Array; + currentPAConnDryForest: Array; + currentPAConnWetland: Array; + selectedEcosystem: typeof SEPAEcosystems[number] | null; + protParamo: number; + protDryForest: number; + protWetland: number; + messages: { + paramo: string | null; + dryForest: string | null; + wetland: string | null; + }; + texts: { + paConnSE: TextObject; + }; +} + +class CurrentSEPAConnectivity extends React.Component { + static contextType = SearchContext; mounted = false; - constructor(props) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, @@ -32,30 +60,28 @@ class CurrentSEPAConnectivity extends React.Component { protDryForest: 0, protWetland: 0, messages: { - paramo: 'loading', - dryForest: 'loading', - wetland: 'loading', + paramo: "loading", + dryForest: "loading", + wetland: "loading", + }, + texts: { + paConnSE: { info: "", cons: "", meto: "", quote: "" }, }, - texts: { paConnSE: {} }, }; } componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; + const { areaId, geofenceId, switchLayer } = this.context as SearchContextValues; - switchLayer('currentSEPAConn'); + switchLayer("currentSEPAConn"); - RestAPI.requestCurrentPAConnectivityBySE(areaId, geofenceId, 'Páramo') - .then((res) => { + SearchAPI.requestCurrentSEPAConnectivity(areaId, geofenceId, "Páramo") + .then((res: Array) => { if (this.mounted) { let protParamo = 0; - const protConn = res.find((item) => item.key === 'prot_conn'); - const protUnconn = res.find((item) => item.key === 'prot_unconn'); + const protConn = res.find((item) => item.key === "prot_conn"); + const protUnconn = res.find((item) => item.key === "prot_unconn"); if (protConn && protUnconn) { protParamo = (protConn.percentage + protUnconn.percentage) * 100; } @@ -76,17 +102,21 @@ class CurrentSEPAConnectivity extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - paramo: 'no-data', + paramo: "no-data", }, })); }); - RestAPI.requestCurrentPAConnectivityBySE(areaId, geofenceId, 'Bosque Seco Tropical') - .then((res) => { + SearchAPI.requestCurrentSEPAConnectivity( + areaId, + geofenceId, + "Bosque Seco Tropical" + ) + .then((res: Array) => { if (this.mounted) { let protDryForest = 0; - const protConn = res.find((item) => item.key === 'prot_conn'); - const protUnconn = res.find((item) => item.key === 'prot_unconn'); + const protConn = res.find((item) => item.key === "prot_conn"); + const protUnconn = res.find((item) => item.key === "prot_unconn"); if (protConn && protUnconn) { protDryForest = (protConn.percentage + protUnconn.percentage) * 100; } @@ -107,17 +137,17 @@ class CurrentSEPAConnectivity extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - dryForest: 'no-data', + dryForest: "no-data", }, })); }); - RestAPI.requestCurrentPAConnectivityBySE(areaId, geofenceId, 'Humedal') - .then((res) => { + SearchAPI.requestCurrentSEPAConnectivity(areaId, geofenceId, "Humedal") + .then((res: Array) => { if (this.mounted) { let protWetland = 0; - const protConn = res.find((item) => item.key === 'prot_conn'); - const protUnconn = res.find((item) => item.key === 'prot_unconn'); + const protConn = res.find((item) => item.key === "prot_conn"); + const protUnconn = res.find((item) => item.key === "prot_unconn"); if (protConn && protUnconn) { protWetland = (protConn.percentage + protUnconn.percentage) * 100; } @@ -138,20 +168,18 @@ class CurrentSEPAConnectivity extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - wetland: 'no-data', + wetland: "no-data", }, })); }); - RestAPI.requestSectionTexts('paConnSE') + SearchAPI.requestSectionTexts("paConnSE") .then((res) => { if (this.mounted) { this.setState({ texts: { paConnSE: res } }); } }) - .catch(() => { - this.setState({ texts: { paConnSE: {} } }); - }); + .catch(() => {}); } componentWillUnmount() { @@ -168,11 +196,7 @@ class CurrentSEPAConnectivity extends React.Component { }; render() { - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context; + const { areaId, geofenceId, handlerClickOnGraph } = this.context as SearchContextValues; const { currentPAConnParamo, currentPAConnDryForest, @@ -190,7 +214,7 @@ class CurrentSEPAConnectivity extends React.Component {

this.toggleInfoGraph()} /> @@ -204,10 +228,14 @@ class CurrentSEPAConnectivity extends React.Component { )}

Haz clic en la gráfica para seleccionar un EE

-
+
Páramo
- {(currentPAConnParamo && currentPAConnParamo.length > 0) && ( + {currentPAConnParamo && currentPAConnParamo.length > 0 && ( { - this.setState({ selectedEcosystem: 'paramo' }); - handlerClickOnGraph({ chartType: 'paramoPAConn' }); + this.setState({ selectedEcosystem: "paramo" }); + handlerClickOnGraph({ chartType: "paramoPAConn" }); }} />
{currentPAConnParamo.length > 0 && (
-
- Porcentaje de área protegida -
+
Porcentaje de área protegida
{`${formatNumber(protParamo, 2)}%`}
)} -

+
Bosque Seco Tropical
- {(currentPAConnDryForest && currentPAConnDryForest.length > 0) && ( + {currentPAConnDryForest && currentPAConnDryForest.length > 0 && ( { - this.setState({ selectedEcosystem: 'dryForest' }); - handlerClickOnGraph({ chartType: 'dryForestPAConn' }); + this.setState({ selectedEcosystem: "dryForest" }); + handlerClickOnGraph({ chartType: "dryForestPAConn" }); }} />
{currentPAConnDryForest.length > 0 && (
-
- Porcentaje de área protegida -
+
Porcentaje de área protegida
{`${formatNumber(protDryForest, 2)}%`}
)} -
+
Humedal
- {(currentPAConnWetland && currentPAConnWetland.length > 0) && ( + {currentPAConnWetland && currentPAConnWetland.length > 0 && ( { - this.setState({ selectedEcosystem: 'wetland' }); - handlerClickOnGraph({ chartType: 'wetlandPAConn' }); + this.setState({ selectedEcosystem: "wetland" }); + handlerClickOnGraph({ chartType: "wetlandPAConn" }); }} />
{currentPAConnWetland.length > 0 && ( -
-
- Porcentaje de área protegida -
-
- {`${formatNumber(protWetland, 2)}%`} -
-
+
+
Porcentaje de área protegida
+
+ {`${formatNumber(protWetland, 2)}%`} +
+
)}

diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index 8c6f18850..6f9c97f1e 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -11,6 +11,17 @@ export const DPCKeys = [ "muy_bajo", ] as const; export const timelinePAConnKeys = ["prot", "prot_conn"] as const; +export const currentSEPAConnKeys = [ + "prot_conn", + "prot_unconn", + "unprot" +] as const; +export const SEPAEcosystems = [ + "paramo", + "wetland", + "dryForest", +] as const; + export interface currentPAConn { key: typeof currentPAConnKeys[number]; area: number; @@ -34,3 +45,11 @@ export interface timelinePAConn { key: typeof timelinePAConnKeys[number]; data: Array; } + +export interface currentSEPAConn { + area: number; + percentage: number; + label: string; + key: typeof currentSEPAConnKeys[number]; + +} diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index fa058b247..ca994acc4 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -2,6 +2,7 @@ import axios from "axios"; import { SCIHF } from "pages/search/types/forest"; import { currentPAConn, + currentSEPAConn, DPC, timelinePAConn, } from "pages/search/types/connectivity"; @@ -53,6 +54,25 @@ class SearchAPI { ); } + /** + * Get the area distribution for each category of protected area connectivity in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with data of current PA connectivity + */ + static requestCurrentSEPAConnectivity( + areaType: string, + areaId: string | number, + seType: string | number + ): Promise> { + return SearchAPI.makeGetRequest( + `connectivity/current/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + ); + } + + /** * Get the values of connectivity for the protected areas with higher dPC value in a given area * From 9db35198a25da50838405aafcc4618b7e6c80b32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 17 Aug 2022 10:56:30 -0500 Subject: [PATCH 087/664] Prettier executed on missing files --- src/pages/search/types/connectivity.ts | 9 ++------- src/utils/searchAPI.ts | 3 +-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index 6f9c97f1e..613a08acf 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -14,13 +14,9 @@ export const timelinePAConnKeys = ["prot", "prot_conn"] as const; export const currentSEPAConnKeys = [ "prot_conn", "prot_unconn", - "unprot" -] as const; -export const SEPAEcosystems = [ - "paramo", - "wetland", - "dryForest", + "unprot", ] as const; +export const SEPAEcosystems = ["paramo", "wetland", "dryForest"] as const; export interface currentPAConn { key: typeof currentPAConnKeys[number]; @@ -51,5 +47,4 @@ export interface currentSEPAConn { percentage: number; label: string; key: typeof currentSEPAConnKeys[number]; - } diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index ca994acc4..9af98645f 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -62,7 +62,7 @@ class SearchAPI { * * @return {Promise} Array of objects with data of current PA connectivity */ - static requestCurrentSEPAConnectivity( + static requestCurrentSEPAConnectivity( areaType: string, areaId: string | number, seType: string | number @@ -72,7 +72,6 @@ class SearchAPI { ); } - /** * Get the values of connectivity for the protected areas with higher dPC value in a given area * From 36ee45bb6e2a9f6b0b106dc834556259bcc08a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 17 Aug 2022 11:04:16 -0500 Subject: [PATCH 088/664] Prettier executed on missing files --- .../landscape/connectivity/CurrentSEPAConnectivity.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx index b00871756..215d7aed7 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx @@ -72,7 +72,8 @@ class CurrentSEPAConnectivity extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, switchLayer } = this.context as SearchContextValues; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; switchLayer("currentSEPAConn"); @@ -196,7 +197,8 @@ class CurrentSEPAConnectivity extends React.Component { }; render() { - const { areaId, geofenceId, handlerClickOnGraph } = this.context as SearchContextValues; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; const { currentPAConnParamo, currentPAConnDryForest, From 4f92eb8e3e48f7d42de487f51e4433af64a36dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 09:57:36 -0500 Subject: [PATCH 089/664] Rename component --- src/components/charts/{PieGraph.jsx => PieGraph.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/components/charts/{PieGraph.jsx => PieGraph.tsx} (100%) diff --git a/src/components/charts/PieGraph.jsx b/src/components/charts/PieGraph.tsx similarity index 100% rename from src/components/charts/PieGraph.jsx rename to src/components/charts/PieGraph.tsx From 22a81251a06ae46c0ebd1092cc48012b598e912d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 10:15:40 -0500 Subject: [PATCH 090/664] Remove TODO since proved not necessary --- src/components/charts/MultiSmallBarStackGraph.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/charts/MultiSmallBarStackGraph.tsx b/src/components/charts/MultiSmallBarStackGraph.tsx index 610a23b99..f2ee585ea 100644 --- a/src/components/charts/MultiSmallBarStackGraph.tsx +++ b/src/components/charts/MultiSmallBarStackGraph.tsx @@ -4,7 +4,6 @@ import { ResponsiveBar } from "@nivo/bar"; import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; -// TODO: Maybe colors and onClickHandler types should be shared among various charts interface Props { data: Array; height?: number; From c6ad2dbb36fee6c7bc71cfd5f7d5a6af05a6ab0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 10:15:54 -0500 Subject: [PATCH 091/664] Migrate PieGraph component --- src/components/charts/PieGraph.tsx | 66 ++++++++++++++---------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/src/components/charts/PieGraph.tsx b/src/components/charts/PieGraph.tsx index 2f93aeaec..5ecd7dfed 100644 --- a/src/components/charts/PieGraph.tsx +++ b/src/components/charts/PieGraph.tsx @@ -1,13 +1,30 @@ -import { ResponsivePie } from '@nivo/pie'; -import PropTypes from 'prop-types'; -import React from 'react'; +import { ResponsivePie } from "@nivo/pie"; +import React from "react"; -import formatNumber from 'utils/format'; -import { lightenColor, darkenColor } from 'utils/colorUtils'; +import formatNumber from "utils/format"; +import { lightenColor, darkenColor } from "utils/colorUtils"; -class PieGraph extends React.Component { - constructor() { - super(); +interface Props { + data: Array; + height?: number; + colors: (key: string) => string; + units?: string; + onClickHandler: (section: string) => void; +} + +export interface PieGraphData { + id: string; + label: string; + value: number; +} + +interface State { + selectedId: string | null; +} + +class PieGraph extends React.Component { + constructor(props: Props) { + super(props); this.state = { selectedId: null, }; @@ -15,8 +32,8 @@ class PieGraph extends React.Component { render() { const { - height, - units, + height = 300, + units = "ha", onClickHandler, colors, data, @@ -30,7 +47,7 @@ class PieGraph extends React.Component { if (selectedId === id) { return darkenColor(colors(id), 10); } - return colors(id); + return colors(String(id)); }} margin={{ top: 30, bottom: 30 }} innerRadius={0.5} @@ -38,7 +55,7 @@ class PieGraph extends React.Component { cornerRadius={3} activeOuterRadiusOffset={8} borderWidth={1} - borderColor={{ from: 'color', modifiers: [['darker', 0.5]] }} + borderColor={{ from: "color", modifiers: [["darker", 0.5]] }} enableArcLinkLabels={false} enableArcLabels={false} tooltip={({ datum: { label, value, color } }) => ( @@ -53,8 +70,8 @@ class PieGraph extends React.Component { )} onClick={({ id }) => { - this.setState({ selectedId: id }); - onClickHandler(id); + this.setState({ selectedId: String(id) }); + onClickHandler(String(id)); }} /> @@ -62,25 +79,4 @@ class PieGraph extends React.Component { } } -PieGraph.propTypes = { - data: PropTypes.arrayOf( - PropTypes.shape({ - id: PropTypes.string.isRequired, - label: PropTypes.string.isRequired, - value: PropTypes.number.isRequired, - }), - ).isRequired, - height: PropTypes.number, - units: PropTypes.string, - colors: PropTypes.func, - onClickHandler: PropTypes.func, -}; - -PieGraph.defaultProps = { - height: 300, - units: 'ha', - colors: () => {}, - onClickHandler: () => {}, -}; - export default PieGraph; From b7d20945dfbb87ee3612415ac2c218e7db97bd61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 10:36:11 -0500 Subject: [PATCH 092/664] Rename component --- ...{MultiSmallSingleBarGraph.jsx => MultiSmallSingleBarGraph.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/components/charts/{MultiSmallSingleBarGraph.jsx => MultiSmallSingleBarGraph.tsx} (100%) diff --git a/src/components/charts/MultiSmallSingleBarGraph.jsx b/src/components/charts/MultiSmallSingleBarGraph.tsx similarity index 100% rename from src/components/charts/MultiSmallSingleBarGraph.jsx rename to src/components/charts/MultiSmallSingleBarGraph.tsx From 61ffa6d4ccc0373e57324903108d9a04d10d61f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 10:37:14 -0500 Subject: [PATCH 093/664] Remove unused props and param --- src/components/charts/MultiSmallBarStackGraph.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/components/charts/MultiSmallBarStackGraph.tsx b/src/components/charts/MultiSmallBarStackGraph.tsx index f2ee585ea..0c108b8fa 100644 --- a/src/components/charts/MultiSmallBarStackGraph.tsx +++ b/src/components/charts/MultiSmallBarStackGraph.tsx @@ -58,8 +58,6 @@ class MultiSmallBarStackGraph extends React.Component { }; element.data.forEach((item) => { object[item.key] = item.area; - object[`${item.key}Color`] = colors(item.key); - object[`${item.key}DarkenColor`] = darkenColor(colors(item.key), 15); object[`${item.key}Label`] = item.label; object[`${item.key}Percentage`] = item.percentage; }); @@ -90,7 +88,7 @@ class MultiSmallBarStackGraph extends React.Component { }} padding={0.35} borderColor={{ from: "color", modifiers: [["darker", 1.6]] }} - colors={({ id, indexValue, data: allData }) => { + colors={({ id, indexValue }) => { if (indexValue === selectedIndexValue) { return darkenColor(colors(String(id)), 15); } From 6ed4d6a24fb335dbe08acee12027702a973de88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 11:47:48 -0500 Subject: [PATCH 094/664] Add config to allow Set iteration --- tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/tsconfig.json b/tsconfig.json index 4a048c040..00a25f329 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,7 @@ "sourceMap": true, "jsx": "react-jsx", "target": "es5", + "downlevelIteration": true, "lib": [ "dom", "dom.iterable", From a29b35780ab586a32db3a3bba3d3e368d699627d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 11:48:16 -0500 Subject: [PATCH 095/664] Migrate MultiSmallSingleGraph component --- .../charts/MultiSmallSingleBarGraph.tsx | 128 ++++++++---------- 1 file changed, 60 insertions(+), 68 deletions(-) diff --git a/src/components/charts/MultiSmallSingleBarGraph.tsx b/src/components/charts/MultiSmallSingleBarGraph.tsx index 2a5b38623..c1d0722f7 100644 --- a/src/components/charts/MultiSmallSingleBarGraph.tsx +++ b/src/components/charts/MultiSmallSingleBarGraph.tsx @@ -1,11 +1,32 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { ResponsiveBar } from '@nivo/bar'; -import { darkenColor } from 'utils/colorUtils'; -import formatNumber from 'utils/format'; +import React from "react"; +import { ResponsiveBar } from "@nivo/bar"; +import { darkenColor } from "utils/colorUtils"; +import formatNumber from "utils/format"; -class MultiSmallSingleBarGraph extends React.Component { - constructor(props) { +interface Props { + data: Array; + height?: number; + colors: (key: string) => string; + units?: string; + onClickHandler: (key: string) => void; + selectedIndexValue: string; + labelX: string; +} + +export interface MultiSmallSingleBarGraphData { + id: string; + name: string; + key: string; + value: number; + area: number; +} + +interface State { + selectedIndexValue: string; +} + +class MultiSmallSingleBarGraph extends React.Component { + constructor(props: Props) { super(props); this.state = { selectedIndexValue: props.selectedIndexValue, @@ -15,36 +36,37 @@ class MultiSmallSingleBarGraph extends React.Component { render() { const { data, - height, + height = 30, colors, - units, + units = "ha", onClickHandler, labelX, } = this.props; - const { - selectedIndexValue, - } = this.state; + const { selectedIndexValue } = this.state; - const transformData = (rawData) => { + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { - const object = { + const object: Record = { id: String(element.id), }; object[String(element.id)] = Number(element.value); object[`${String(element.id)}Label`] = element.name; object[`${String(element.id)}Color`] = colors(element.key); - object[`${String(element.id)}DarkenColor`] = darkenColor(colors(element.key), 15); + object[`${String(element.id)}DarkenColor`] = darkenColor( + colors(element.key), + 15 + ); object[`${String(element.id)}Area`] = Number(element.area); return object; }); return transformedData; }; - /** - * Get keys to be passed to component as a prop - * - * @returns {array} ids of each bar category removing duplicates - */ + /** + * Get keys to be passed to component as a prop + * + * @returns {array} ids of each bar category removing duplicates + */ const keys = data ? [...new Set(data.map((item) => String(item.id)))] : []; return ( @@ -61,16 +83,12 @@ class MultiSmallSingleBarGraph extends React.Component { left: 40, }} padding={0.35} - borderColor={{ from: 'color', modifiers: [['darker', 1.6]] }} - colors={({ - id, - indexValue, - data: allData, - }) => { + borderColor={{ from: "color", modifiers: [["darker", 1.6]] }} + colors={({ id, indexValue, data: allData }) => { if (indexValue === selectedIndexValue) { - return allData[`${id}DarkenColor`]; + return String(allData[`${id}DarkenColor`]); } - return allData[`${id}Color`]; + return String(allData[`${id}Color`]); }} enableGridY={false} enableGridX @@ -79,22 +97,21 @@ class MultiSmallSingleBarGraph extends React.Component { tickSize: 0, tickPadding: 0, tickRotation: 0, - format: '.2f', + format: ".2f", legend: labelX, - legendPosition: 'start', + legendPosition: "start", legendOffset: 25, }} enableLabel - label={({ value }) => formatNumber(value, 2)} + label={({ value }) => (value ? formatNumber(value, 2) : "")} animate - motionStiffness={90} - motionDamping={15} tooltip={({ id, data: allData, color }) => ( -
- - {allData[`${id}Label`]} - -
+
+ {allData[`${id}Label`]} +
{formatNumber(allData[id], 2)}
{`${formatNumber(allData[`${id}Area`], 2)} ${units}`} @@ -102,14 +119,13 @@ class MultiSmallSingleBarGraph extends React.Component {
)} theme={{ - axis: - { - legend: { text: { fontSize: '14' } }, - }, + axis: { + legend: { text: { fontSize: "14" } }, + }, }} onClick={({ indexValue }) => { - this.setState({ selectedIndexValue: indexValue }); - onClickHandler(indexValue); + this.setState({ selectedIndexValue: String(indexValue) }); + onClickHandler(String(indexValue)); }} />
@@ -117,28 +133,4 @@ class MultiSmallSingleBarGraph extends React.Component { } } -MultiSmallSingleBarGraph.propTypes = { - data: PropTypes.arrayOf(PropTypes.shape({ - id: PropTypes.string.isRequired, - key: PropTypes.string.isRequired, - value: PropTypes.number.isRequired, - area: PropTypes.number, - })).isRequired, - height: PropTypes.number, - colors: PropTypes.func, - units: PropTypes.string, - onClickHandler: PropTypes.func, - selectedIndexValue: PropTypes.string, - labelX: PropTypes.string, -}; - -MultiSmallSingleBarGraph.defaultProps = { - height: 30, - colors: () => {}, - units: 'ha', - onClickHandler: () => {}, - selectedIndexValue: null, - labelX: '', -}; - export default MultiSmallSingleBarGraph; From 9645b249173548a2993a4f88dcbfffc9fe347061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 18 Aug 2022 12:23:47 -0500 Subject: [PATCH 096/664] Replace Props definition with a void Interface instead any --- .../landscape/connectivity/CurrentPAConnectivity.tsx | 6 ++++-- .../landscape/connectivity/TimelinePAConnectivity.tsx | 7 +++++-- .../search/drawer/landscape/forest/ForestIntegrity.tsx | 6 ++++-- src/utils/searchAPI.ts | 6 ++++-- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index b100f4454..0461f43a2 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -32,6 +32,8 @@ interface currentPAConnExt extends currentPAConn { label: string; } +interface Props {} + interface currentPAConnState { infoShown: Set; currentPAConnData: Array; @@ -47,10 +49,10 @@ interface currentPAConnState { }; } -class CurrentPAConnectivity extends React.Component { +class CurrentPAConnectivity extends React.Component { mounted = false; - constructor(props: any) { + constructor(props: Props) { super(props); this.state = { infoShown: new Set(["current"]), diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index ad9a57807..0deb2a5c7 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -22,7 +22,10 @@ const getLabel = { interface timelinePAConnExt extends timelinePAConn { label: string; + } +interface Props {} + interface timelinePAConnState { showInfoGraph: boolean; timelinePAConnData: Array; @@ -31,11 +34,11 @@ interface timelinePAConnState { paConnTimeline: TextObject; }; } -class TimelinePAConnectivity extends React.Component { +class TimelinePAConnectivity extends React.Component { static contextType = SearchContext; mounted = false; - constructor(props: any) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx index 240f6cc57..ae06f8f39 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -37,6 +37,8 @@ interface PA { percentage?: number; } +interface Props {} + interface FIState { showInfoGraph: boolean; SciHfCats: { @@ -56,12 +58,12 @@ interface FIState { loading: string | null; } -class ForestIntegrity extends React.Component { +class ForestIntegrity extends React.Component { static contextType = SearchContext; mounted = false; - constructor(props: any) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 9af98645f..113a98058 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -55,12 +55,14 @@ class SearchAPI { } /** - * Get the area distribution for each category of protected area connectivity in a given area + * Get the area distribution for each category of protected area connectivity for an specific + * strategic ecosystem in a given area * * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} seType strategic ecosystem type * - * @return {Promise} Array of objects with data of current PA connectivity + * @return {Promise} Array of objects with data of current PA connectivity by SE */ static requestCurrentSEPAConnectivity( areaType: string, From 9a108ccea9c53556af5a17ba42eeffffc8a5a190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 18 Aug 2022 12:48:41 -0500 Subject: [PATCH 097/664] Replace Props definition with a void Interface instead any --- .../drawer/landscape/connectivity/TimelinePAConnectivity.tsx | 2 +- .../search/drawer/landscape/forest/ForestLossPersistence.tsx | 5 +++-- .../drawer/landscape/humanFootprint/CurrentFootprint.tsx | 5 +++-- .../drawer/landscape/humanFootprint/PersistenceFootprint.tsx | 5 +++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 0deb2a5c7..8035ef1f0 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -20,12 +20,12 @@ const getLabel = { prot_conn: "Protegida conectada", }; +interface Props {} interface timelinePAConnExt extends timelinePAConn { label: string; } interface Props {} - interface timelinePAConnState { showInfoGraph: boolean; timelinePAConnData: Array; diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 6d6acba36..201cce75a 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -14,6 +14,7 @@ import { MultiSmallBarStackGraphData } from "components/charts/MultiSmallBarStac import { TextObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; +interface Props {} interface State { showInfoGraph: boolean; forestLP: Array; @@ -33,10 +34,10 @@ const getLabel = { no_bosque: "No bosque", }; -class ForestLossPersistence extends React.Component { +class ForestLossPersistence extends React.Component { mounted = false; - constructor(props: any) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, diff --git a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx index 5877f860b..c4941c883 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx @@ -20,6 +20,7 @@ interface currentHFCategoriesExt extends currentHFCategories { label: string; } +interface Props {} interface currentHFState { showInfoGraph: boolean; hfCurrent: Array; @@ -31,10 +32,10 @@ interface currentHFState { }; } -class CurrentFootprint extends React.Component { +class CurrentFootprint extends React.Component { mounted = false; - constructor(props: any) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, diff --git a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx index 3c2a0b3df..d1aa34e17 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx @@ -22,6 +22,7 @@ interface hfPersistenceExt extends hfPersistence { label: string; } +interface Props {} interface persistenceHFState { showInfoGraph: boolean; hfPersistence: Array; @@ -31,10 +32,10 @@ interface persistenceHFState { }; } -class PersistenceFootprint extends React.Component { +class PersistenceFootprint extends React.Component { mounted = false; - constructor(props: any) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, From 3a250fa5f3707749125d799136a4fcd623ebb40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 18 Aug 2022 13:00:11 -0500 Subject: [PATCH 098/664] Prettier executed --- .../landscape/connectivity/TimelinePAConnectivity.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 8035ef1f0..c0dd923cd 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -23,7 +23,6 @@ const getLabel = { interface Props {} interface timelinePAConnExt extends timelinePAConn { label: string; - } interface Props {} interface timelinePAConnState { @@ -34,7 +33,10 @@ interface timelinePAConnState { paConnTimeline: TextObject; }; } -class TimelinePAConnectivity extends React.Component { +class TimelinePAConnectivity extends React.Component< + Props, + timelinePAConnState +> { static contextType = SearchContext; mounted = false; From a3461fc5c207c1b073e1634c55ece3711dfbbfff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 14:17:36 -0500 Subject: [PATCH 099/664] Rename file --- .../charts/{SmallBarStackGraph.jsx => SmallBarStackGraph.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/components/charts/{SmallBarStackGraph.jsx => SmallBarStackGraph.tsx} (100%) diff --git a/src/components/charts/SmallBarStackGraph.jsx b/src/components/charts/SmallBarStackGraph.tsx similarity index 100% rename from src/components/charts/SmallBarStackGraph.jsx rename to src/components/charts/SmallBarStackGraph.tsx From df5ab17b9126e20e5f49f3269e3bf609864fd6ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 15:02:06 -0500 Subject: [PATCH 100/664] Rename BarItem component --- src/components/charts/{BarItem.jsx => BarItem.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/components/charts/{BarItem.jsx => BarItem.tsx} (100%) diff --git a/src/components/charts/BarItem.jsx b/src/components/charts/BarItem.tsx similarity index 100% rename from src/components/charts/BarItem.jsx rename to src/components/charts/BarItem.tsx From 86c6030d6eda3ebb38aba8ae25fa449b3bd02e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 15:02:22 -0500 Subject: [PATCH 101/664] Migrate BarItem component --- src/components/charts/BarItem.tsx | 38 ++++++++++++++----------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/src/components/charts/BarItem.tsx b/src/components/charts/BarItem.tsx index 14ac29bb1..b334e255a 100644 --- a/src/components/charts/BarItem.tsx +++ b/src/components/charts/BarItem.tsx @@ -1,20 +1,15 @@ -/* eslint-disable react/prop-types */ -import { - createElement, - useCallback, - useMemo, - React, -} from 'react'; +import { BarItem as OrigBar } from "@nivo/bar"; +import { createElement, useCallback, useMemo, MouseEvent } from "react"; -import { useTheme } from '@nivo/core'; -import { useTooltip } from '@nivo/tooltip'; -import { animated, to } from 'react-spring'; +import { useTheme } from "@nivo/core"; +import { useTooltip } from "@nivo/tooltip"; +import { animated, to } from "@react-spring/web"; /** * Default Bar item from https://github.com/plouc/nivo/blob/v0.79.1/packages/bar/src/BarItem.tsx * We created this Item so we could be able to send anchor to showTooltipFromEvent (line 59). */ -const BarItem = ({ +const BarItem: typeof OrigBar = ({ bar: { data, ...bar }, style: { @@ -52,32 +47,33 @@ const BarItem = ({ const renderTooltip = useMemo( () => () => createElement(tooltip, { ...bar, ...data }), - [tooltip, bar, data], + [tooltip, bar, data] ); const handleClick = useCallback( - (event) => { + (event: MouseEvent) => { onClick?.({ color: bar.color, ...data }, event); }, - [bar, data, onClick], + [bar, data, onClick] ); const handleTooltip = useCallback( - (event) => showTooltipFromEvent(renderTooltip(), event, 'right'), - [showTooltipFromEvent, renderTooltip], + (event: MouseEvent) => + showTooltipFromEvent(renderTooltip(), event, "right"), + [showTooltipFromEvent, renderTooltip] ); const handleMouseEnter = useCallback( - (event) => { + (event: MouseEvent) => { onMouseEnter?.(data, event); showTooltipFromEvent(renderTooltip(), event); }, - [data, onMouseEnter, showTooltipFromEvent, renderTooltip], + [data, onMouseEnter, showTooltipFromEvent, renderTooltip] ); const handleMouseLeave = useCallback( - (event) => { + (event: MouseEvent) => { onMouseLeave?.(data, event); hideTooltip(); }, - [data, hideTooltip, onMouseLeave], + [data, hideTooltip, onMouseLeave] ); // extra handlers to allow keyboard navigation @@ -119,7 +115,7 @@ const BarItem = ({ fillOpacity={labelOpacity} style={{ ...theme.labels.text, - pointerEvents: 'none', + pointerEvents: "none", fill: labelColor, }} > From 40b98795a42743629d6973f3041aa4dd2ea6d41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 15:02:52 -0500 Subject: [PATCH 102/664] Migrate SmallBarStackGraph component --- src/components/charts/SmallBarStackGraph.tsx | 94 ++++++++++---------- 1 file changed, 46 insertions(+), 48 deletions(-) diff --git a/src/components/charts/SmallBarStackGraph.tsx b/src/components/charts/SmallBarStackGraph.tsx index cf6eccf98..f9c581dc6 100644 --- a/src/components/charts/SmallBarStackGraph.tsx +++ b/src/components/charts/SmallBarStackGraph.tsx @@ -1,16 +1,35 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { ResponsiveBar } from '@nivo/bar'; +import React from "react"; +import PropTypes from "prop-types"; +import { ResponsiveBar } from "@nivo/bar"; -import BarItem from 'components/charts/BarItem'; -import formatNumber from 'utils/format'; +import BarItem from "components/charts/BarItem"; +import formatNumber from "utils/format"; -const SmallBarStackGraph = (props) => { +interface Props { + data: Array; + height?: number; + colors: (key: string) => string; + units?: string; + onClickGraphHandler: (key: string) => void; +} + +export interface SmallBarStackGraphData { + area: number; + key: string; + percentage: number; + label: string; +} + +interface State { + selectedIndexValue: string | number; +} + +const SmallBarStackGraph = (props: Props) => { const { data, - height, + height = 30, colors, - units, + units = "ha", onClickGraphHandler, } = props; @@ -20,16 +39,16 @@ const SmallBarStackGraph = (props) => { * @param {array} rawData raw data from RestAPI * @returns {array} transformed data ready to be used by graph component */ - const transformData = (rawData) => { - const transformedData = { - key: 'key', + const transformData = (rawData: Array) => { + const transformedData: Record = { + key: "key", }; rawData.forEach((item) => { - transformedData[String(item.key)] = Number(item.area || item.percentage); - transformedData[`${String(item.key)}Color`] = colors(item.key); - transformedData[`${String(item.key)}Label`] = item.label; + transformedData[item.key] = Number(item.area || item.percentage); + transformedData[`${item.key}Color`] = colors(item.key); + transformedData[`${item.key}Label`] = item.label; if (item.percentage) { - transformedData[`${String(item.key)}Percentage`] = Number(item.percentage); + transformedData[`${item.key}Percentage`] = Number(item.percentage); } }); return [transformedData]; @@ -50,24 +69,25 @@ const SmallBarStackGraph = (props) => { * * @returns {object} tooltip for component */ - const getToolTip = (id, allData) => { - if (id !== 'NA') { + const getToolTip = ( + id: string | number, + allData: Record + ) => { + if (id !== "NA") { return (
- - {(id !== 'undefined') ? allData[`${id}Label`] : ''} + + {id !== "undefined" ? allData[`${id}Label`] : ""}
{`${formatNumber(allData[id], 0)} ${units}`}
- {`${formatNumber(allData[`${id}Percentage`] * 100, 0)}%`} + {`${formatNumber(Number(allData[`${id}Percentage`]) * 100, 0)}%`}
); } - return ( -
- ); + return
; }; return ( @@ -84,40 +104,18 @@ const SmallBarStackGraph = (props) => { left: 5, }} padding={0.19} - borderColor={{ from: 'color', modifiers: [['darker', 1.6]] }} - colors={({ id, data: allData }) => allData[`${id}Color`]} + borderColor={{ from: "color", modifiers: [["darker", 1.6]] }} + colors={({ id, data: allData }) => String(allData[`${id}Color`])} enableGridY={false} axisLeft={null} enableLabel={false} animate - motionStiffness={90} - motionDamping={15} barComponent={BarItem} tooltip={({ id, data: allData }) => getToolTip(id, allData)} - onClick={({ id }) => onClickGraphHandler(id)} + onClick={({ id }) => onClickGraphHandler(String(id))} />
); }; -SmallBarStackGraph.propTypes = { - data: PropTypes.arrayOf(PropTypes.shape({ - key: PropTypes.string.isRequired, - area: PropTypes.number.isRequired, - percentage: PropTypes.number, - label: PropTypes.string, - })).isRequired, - height: PropTypes.number, - colors: PropTypes.func, - units: PropTypes.string, - onClickGraphHandler: PropTypes.func, -}; - -SmallBarStackGraph.defaultProps = { - height: 30, - colors: () => {}, - units: 'ha', - onClickGraphHandler: () => {}, -}; - export default SmallBarStackGraph; From 859ee548979560a2c8e0fe4005a3f61045bd4200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 15:14:56 -0500 Subject: [PATCH 103/664] Rename component --- .../charts/{LargeBarStackGraph.jsx => LargeBarStackGraph.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/components/charts/{LargeBarStackGraph.jsx => LargeBarStackGraph.tsx} (100%) diff --git a/src/components/charts/LargeBarStackGraph.jsx b/src/components/charts/LargeBarStackGraph.tsx similarity index 100% rename from src/components/charts/LargeBarStackGraph.jsx rename to src/components/charts/LargeBarStackGraph.tsx From 6cd5278f8385b3e0659371ab864f5534a5033437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 18 Aug 2022 15:25:04 -0500 Subject: [PATCH 104/664] Migrate LargeBarStackGraph component --- src/components/charts/LargeBarStackGraph.tsx | 149 ++++++++++--------- 1 file changed, 76 insertions(+), 73 deletions(-) diff --git a/src/components/charts/LargeBarStackGraph.tsx b/src/components/charts/LargeBarStackGraph.tsx index d058a4aac..2ee251326 100644 --- a/src/components/charts/LargeBarStackGraph.tsx +++ b/src/components/charts/LargeBarStackGraph.tsx @@ -1,24 +1,45 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { ResponsiveBar } from '@nivo/bar'; +import { ResponsiveBar } from "@nivo/bar"; -import formatNumber from 'utils/format'; +import formatNumber from "utils/format"; -const darkColors = { - '#003d59': '#003d59', - '#5a1d44': '#5a1d44', - '#902130': '#902130', +interface Props { + data: Array; + height?: number; + colors: (key: string) => string; + units?: string; + onClickGraphHandler: (key: string) => void; + selectedIndexValue: string; + labelX?: string; + labelY?: string; + padding?: number; +} + +export interface LargeBarStackGraphData { + key: string; + area: number; + percentage: number; + label: string; +} + +interface State { + selectedIndexValue: string; +} + +const darkColors: { [key: string]: string } = { + "#003d59": "#003d59", + "#5a1d44": "#5a1d44", + "#902130": "#902130", }; -const LargeBarStackGraph = (props) => { +const LargeBarStackGraph = (props: Props) => { const { data, - labelX, - labelY, - height, + labelX = "", + labelY = "", + height = 150, colors, - padding, - units, + padding = 0.25, + units = "ha", onClickGraphHandler, } = props; @@ -29,15 +50,18 @@ const LargeBarStackGraph = (props) => { * @param {String} key id for data of each bar o serie * @returns {array} transformed data ready to be used by graph component */ - const transformData = (rawData, key) => { - const transformedData = { + const transformData = ( + rawData: Array, + key: string + ) => { + const transformedData: Record = { key, }; rawData.forEach((item) => { - transformedData[String(item.key)] = Number(item.area || item.percentage); - transformedData[`${String(item.key)}Color`] = colors(item.key); - transformedData[`${String(item.key)}Label`] = item.label; - transformedData[`${String(item.key)}Percentage`] = Number(item.percentage); + transformedData[item.key] = Number(item.area || item.percentage); + transformedData[`${item.key}Color`] = colors(item.key); + transformedData[`${item.key}Label`] = item.label; + transformedData[`${item.key}Percentage`] = Number(item.percentage); }); return [transformedData]; }; @@ -52,38 +76,42 @@ const LargeBarStackGraph = (props) => { * @param {String} color color for each category inside a bar * @returns {object} tooltip for component */ - const getToolTip = (id, allData, color) => { - if (allData[`${id}Percentage`]) { - return ( -
- - {allData[`${id}Label`]} - -
- {`${formatNumber(allData[id], 0)} ${units}`} -
- {`${formatNumber(allData[`${id}Percentage`] * 100, 2)}%`} -
-
- ); - } + const getToolTip = ( + id: string | number, + allData: Record, + color: string + ) => { + if (allData[`${id}Percentage`]) { return (
- + {allData[`${id}Label`]} -
+
{`${formatNumber(allData[id], 0)} ${units}`} +
+ {`${formatNumber(Number(allData[`${id}Percentage`]) * 100, 2)}%`}
); - }; + } + return ( +
+ + {allData[`${id}Label`]} + +
+ {`${formatNumber(allData[id], 0)} ${units}`} +
+
+ ); + }; return (
onClickGraphHandler(category.id)} + onClick={(category) => onClickGraphHandler(String(category.id))} keys={keys} indexBy="key" layout="horizontal" @@ -94,59 +122,34 @@ const LargeBarStackGraph = (props) => { left: 40, }} padding={padding} - colors={(obj) => colors(obj.id)} + colors={(obj) => colors(String(obj.id))} enableGridX borderWidth={0} - borderColor={{ from: 'color', modifiers: [['darker', 1.6]] }} + borderColor={{ from: "color", modifiers: [["darker", 1.6]] }} axisLeft={null} axisBottom={{ tickSize: 0, tickPadding: 0, tickRotation: 0, - format: '.2s', + format: ".2s", legend: labelX, - legendPosition: 'start', + legendPosition: "start", legendOffset: 25, }} enableLabel={false} labelSkipWidth={12} labelSkipHeight={12} - labelTextColor={{ from: 'color', modifiers: [['darker', 1.6]] }} + labelTextColor={{ from: "color", modifiers: [["darker", 1.6]] }} animate - motionStiffness={90} - motionDamping={15} - tooltip={({ id, data: allData, color }) => getToolTip(id, allData, color)} + tooltip={({ id, data: allData, color }) => + getToolTip(id, allData, color) + } theme={{ - axis: { legend: { text: { fontSize: '14' } } }, + axis: { legend: { text: { fontSize: "14" } } }, }} />
); }; -LargeBarStackGraph.propTypes = { - data: PropTypes.arrayOf(PropTypes.shape({ - key: PropTypes.string.isRequired, - area: PropTypes.number.isRequired, - percentage: PropTypes.number, - label: PropTypes.string.isRequired, - })).isRequired, - labelX: PropTypes.string, - labelY: PropTypes.string, - height: PropTypes.number, - colors: PropTypes.func, - padding: PropTypes.number, - units: PropTypes.string, - onClickGraphHandler: PropTypes.func.isRequired, -}; - -LargeBarStackGraph.defaultProps = { - labelX: '', - labelY: '', - height: 150, - colors: () => {}, - padding: 0.25, - units: 'ha', -}; - export default LargeBarStackGraph; From d85ad3f29e45929ae6ab4611e48ca6ce9ebbb8a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 18 Aug 2022 15:26:37 -0500 Subject: [PATCH 105/664] Double declaration of Props fixed --- .../drawer/landscape/connectivity/TimelinePAConnectivity.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index c0dd923cd..b1e18f84c 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -20,7 +20,6 @@ const getLabel = { prot_conn: "Protegida conectada", }; -interface Props {} interface timelinePAConnExt extends timelinePAConn { label: string; } From 84d1eb5637cdfa2f85f0fac704ac2ceee2519ab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 18 Aug 2022 16:06:42 -0500 Subject: [PATCH 106/664] Delete requestCurrentPAConnectivityBySE previously migrate to searchAPI.ts --- src/utils/restAPI.js | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 353e38a0c..1f24a25c7 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -210,20 +210,6 @@ class RestAPI { return RestAPI.makeGetRequest(`ea/${eaId}/biome/${biomeName}/subzone`); } - /** - * Get the area distribution for each category of protected area connectivity for an specific - * strategic ecosystem in a given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} seType strategic ecosystem type - * - * @return {Promise} Array of objects with data of current PA connectivity by SE - */ - static requestCurrentPAConnectivityBySE(areaType, areaId, seType) { - return RestAPI.makeGetRequest(`connectivity/current/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`); - } - /** * Get the number of species for the specified area * From 9fb20869ec8c268f9ca08df0a0cb4e5a5180b754 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 18 Aug 2022 17:44:01 -0500 Subject: [PATCH 107/664] migrate EcosystemDetails component to typescript --- ...systemDetails.jsx => EcosystemDetails.tsx} | 73 ++++++++++--------- 1 file changed, 37 insertions(+), 36 deletions(-) rename src/pages/search/drawer/strategicEcosystems/ecosystemsBox/{EcosystemDetails.jsx => EcosystemDetails.tsx} (61%) diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.jsx b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx similarity index 61% rename from src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.jsx rename to src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx index 8174bb7c4..2636c1246 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.jsx +++ b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx @@ -1,18 +1,33 @@ -import PropTypes from 'prop-types'; -import React, { Component } from 'react'; +import PropTypes from "prop-types"; +import React, { Component } from "react"; -import { transformPAValues, transformCoverageValues } from 'pages/search/utils/transformData'; -import SearchContext from 'pages/search/SearchContext'; -import GraphLoader from 'components/charts/GraphLoader'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; +import { + transformPAValues, + transformCoverageValues, +} from "pages/search/utils/transformData"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import GraphLoader from "components/charts/GraphLoader"; +import matchColor from "utils/matchColor"; +import RestAPI from "utils/restAPI"; -import { SEKey } from 'pages/search/utils/appropriate_keys'; +import { SEKey } from "pages/search/utils/appropriate_keys"; +import { CoverageData, PAData, SEValues } from "pages/search/types/ecosystems"; +import SearchAPI from "utils/searchAPI"; -class EcosystemDetails extends Component { +interface State { + coverageData: Array | null; + paData: Array | null; + stopLoad: boolean; +} + +interface Props { + SEValues: SEValues; +} + +class EcosystemDetails extends React.Component { mounted = false; - constructor(props) { + constructor(props: Props) { super(props); this.state = { coverageData: null, @@ -23,21 +38,15 @@ class EcosystemDetails extends Component { componentDidMount() { this.mounted = true; - const { - SEValues, - } = this.props; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; - + const { SEValues } = this.props; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; const SEType = SEValues.type; const SEArea = SEValues.area; const { stopLoad } = this.state; if (!stopLoad) { - RestAPI.requestSECoverageByGeofence(areaId, geofenceId, SEType) + SearchAPI.requestSECoverageByGeofence(areaId, geofenceId, SEType) .then((res) => { if (this.mounted) { this.setState({ coverageData: transformCoverageValues(res) }); @@ -45,7 +54,7 @@ class EcosystemDetails extends Component { }) .catch(() => {}); - RestAPI.requestSEPAByGeofence(areaId, geofenceId, SEType) + SearchAPI.requestSEPAByGeofence(areaId, geofenceId, SEType) .then((res) => { if (this.mounted) { this.setState({ paData: transformPAValues(res, SEArea) }); @@ -65,13 +74,9 @@ class EcosystemDetails extends Component { } render() { - const { - coverageData, - paData, - stopLoad, - } = this.state; + const { coverageData, paData, stopLoad } = this.state; const { SEValues } = this.props; - const { handlerClickOnGraph } = this.context; + const { handlerClickOnGraph } = this.context as SearchContextValues; if (!stopLoad) { return (
@@ -86,15 +91,15 @@ class EcosystemDetails extends Component { {coverageData && coverageData.length <= 0 && ( No hay información disponible de coberturas )} - {(coverageData && coverageData.length > 0) && ( + {coverageData && coverageData.length > 0 && ( { handlerClickOnGraph({ - chartType: 'seCoverage', + chartType: "seCoverage", chartSection: SEKey(SEValues.type), selectedKey: selected, }); @@ -115,12 +120,12 @@ class EcosystemDetails extends Component { Sin áreas protegidas
)} - {(paData && paData.length > 0) && ( + {paData && paData.length > 0 && ( )} @@ -131,9 +136,5 @@ class EcosystemDetails extends Component { } } -EcosystemDetails.propTypes = { - SEValues: PropTypes.object.isRequired, -}; - export default EcosystemDetails; EcosystemDetails.contextType = SearchContext; From c1fae736d44ce30de82516f6177624e97094b61c Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 18 Aug 2022 17:44:17 -0500 Subject: [PATCH 108/664] migrate EcosystemsBox to typescript --- .../strategicEcosystems/EcosystemsBox.jsx | 92 ------------------- .../strategicEcosystems/EcosystemsBox.tsx | 84 +++++++++++++++++ 2 files changed, 84 insertions(+), 92 deletions(-) delete mode 100644 src/pages/search/drawer/strategicEcosystems/EcosystemsBox.jsx create mode 100644 src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.jsx b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.jsx deleted file mode 100644 index acf550d28..000000000 --- a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.jsx +++ /dev/null @@ -1,92 +0,0 @@ -import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; -import PropTypes from 'prop-types'; -import React, { Component } from 'react'; -import SearchContext from 'pages/search/SearchContext'; - -import EcosystemDetails from 'pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails'; -import GraphLoader from 'components/charts/GraphLoader'; -import formatNumber from 'utils/format'; -import matchColor from 'utils/matchColor'; -import { transformSEValues } from 'pages/search/utils/transformData'; - -class EcosystemsBox extends Component { - constructor(props) { - super(props); - this.state = { - stopLoad: false, - }; - } - - componentWillUnmount() { - this.setState({ stopLoad: true }); - } - - render() { - const { - SETotalArea, - SEAreas, - setActiveSE, - activeSE, - } = this.props; - const { - stopLoad, - } = this.state; - return ( -
- {!stopLoad && SETotalArea !== 0 && SEAreas.map((SEValues) => ( -
-
{SEValues.type}
-
- {`${formatNumber(SEValues.area, 0)} ha`} -
- {(Number(SEValues.area) !== 0) && ( - - )} - {!stopLoad && (Number(SEValues.area) !== 0) && ( - - )} - {!stopLoad && activeSE === SEValues.type && ( -
- -
- )} -
- ))} -
- ); - } -} - -EcosystemsBox.propTypes = { - SEAreas: PropTypes.array, - SETotalArea: PropTypes.number, - activeSE: PropTypes.string, - setActiveSE: PropTypes.func, -}; - -EcosystemsBox.defaultProps = { - SEAreas: [], - SETotalArea: 0, - activeSE: null, - setActiveSE: () => {}, -}; - -export default EcosystemsBox; -EcosystemsBox.contextType = SearchContext; diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx new file mode 100644 index 000000000..71ec18ea7 --- /dev/null +++ b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx @@ -0,0 +1,84 @@ +import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; +import PropTypes from "prop-types"; +import React, { Component } from "react"; +import SearchContext from "pages/search/SearchContext"; + +import EcosystemDetails from "pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails"; +import GraphLoader from "components/charts/GraphLoader"; +import formatNumber from "utils/format"; +import matchColor from "utils/matchColor"; +import { transformSEValues } from "pages/search/utils/transformData"; +import { SEValues } from "pages/search/types/ecosystems"; + +interface EcosystemsBoxProps { + SETotalArea: number; + SEAreas: Array; + setActiveSE: (type: string) => {}; + activeSE: string; +} + +interface ecosystemsBoxState { + stopLoad: boolean; +} + +class EcosystemsBox extends React.Component< + EcosystemsBoxProps, + ecosystemsBoxState +> { + constructor(props: EcosystemsBoxProps) { + super(props); + this.state = { + stopLoad: false, + }; + } + + componentWillUnmount() { + this.setState({ stopLoad: true }); + } + + render() { + const { SETotalArea, SEAreas, setActiveSE, activeSE } = this.props; + const { stopLoad } = this.state; + return ( +
+ {!stopLoad && + SETotalArea !== 0 && + SEAreas.map((SEValues) => ( +
+
{SEValues.type}
+
+ {`${formatNumber(SEValues.area, 0)} ha`} +
+ {Number(SEValues.area) !== 0 && ( + + )} + {!stopLoad && Number(SEValues.area) !== 0 && ( + + )} + {!stopLoad && activeSE === SEValues.type && ( +
+ +
+ )} +
+ ))} +
+ ); + } +} +export default EcosystemsBox; +EcosystemsBox.contextType = SearchContext; From a77625928a05f4fe2bc4009aa810ffb9d04098d5 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 18 Aug 2022 17:45:15 -0500 Subject: [PATCH 109/664] create file for ts interfaces of ecosystems --- src/pages/search/types/ecosystems.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/pages/search/types/ecosystems.ts diff --git a/src/pages/search/types/ecosystems.ts b/src/pages/search/types/ecosystems.ts new file mode 100644 index 000000000..b0120aeaf --- /dev/null +++ b/src/pages/search/types/ecosystems.ts @@ -0,0 +1,27 @@ +export const coverageLabels = [ + "Natural", + "Secundaria", + "Transformada", +] as const; +export const coverageType = ["N", "S", "T", "X"] as const; + +export interface SEValues { + area: number; + percentage?: number; + type: string; +} + +export interface CoverageData { + area: number; + type: typeof coverageType[number]; + percentage: number; + key: typeof coverageType[number]; + label: typeof coverageLabels[number]; +} + +export interface PAData { + area: number; + label: string; + key: string; + percentage: number; +} From 17e8c8ecd2ae1063bbb4510168d7f81975fc1dbf Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 18 Aug 2022 17:46:06 -0500 Subject: [PATCH 110/664] Migrate api calls of Ecosystems Details --- src/utils/restAPI.js | 22 ---------------------- src/utils/searchAPI.ts | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 353e38a0c..30eadde07 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -101,28 +101,6 @@ class RestAPI { return RestAPI.makeGetRequest(`${idArea}/${idGeofence}/se/${seType}`); } - /** - * Get the coverage area distribution by selected strategic ecosystem and geofence - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} seType strategic ecosystem type - */ - static requestSECoverageByGeofence(areaType, areaId, seType) { - return RestAPI.makeGetRequest( - `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`, - ); - } - - /** - * Get the the protected area by selected strategic ecosystems and geofence - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {Number} seType type of strategic ecosystem to request - */ - static requestSEPAByGeofence(areaType, areaId, seType) { - return RestAPI.makeGetRequest(`/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}`); - } - /** * Recover details in the selected area * @param {Number} idArea id area to request, f.e. ea diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index b5dca55e8..3e9c1f8c4 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -11,6 +11,7 @@ import { hfPersistence, } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; +import { CoverageData, PAData, SEValues } from "pages/search/types/ecosystems"; class SearchAPI { /** ****** */ /** FOREST */ @@ -158,6 +159,44 @@ class SearchAPI { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/persistence`); } + /** ************ */ + /** ECOSYSTEMS */ + /** **************/ + /** + /** + * Get the coverage area distribution by selected strategic ecosystem and geofence + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} seType strategic ecosystem type + */ + static requestSECoverageByGeofence( + areaType: string, + areaId: string | number, + seType: string + ): Promise> { + return SearchAPI.makeGetRequest( + `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + ); + } + + /** + * Get the the protected area by selected strategic ecosystems and geofence + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {Number} seType type of strategic ecosystem to request + */ + static requestSEPAByGeofence( + areaType: string, + areaId: string | number, + seType: string + ): Promise> { + return SearchAPI.makeGetRequest( + `/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + ); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From 3788131a8b4410c6366d73d6a40a0c01423abcf3 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 18:43:23 -0500 Subject: [PATCH 111/664] Add hfTimeline definitions --- src/pages/search/types/humanFootprint.ts | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/pages/search/types/humanFootprint.ts b/src/pages/search/types/humanFootprint.ts index 9faa0386f..364c80c7e 100644 --- a/src/pages/search/types/humanFootprint.ts +++ b/src/pages/search/types/humanFootprint.ts @@ -11,6 +11,21 @@ export const persistenceHFCategories = [ "estable_alta", ] as const; +export const timelineHFKeys = [ + "aTotal", + "paramo", + "dryForest", + "wetland", +] as const; + +export const timelineHFYears = [ + "1970", + "1990", + "2000", + "2015", + "2018", +] as const; + export interface currentHFValue { value: number; category: typeof currentHFCategories[number]; @@ -27,3 +42,19 @@ export interface hfPersistence { key: typeof persistenceHFCategories[number]; percentage: number; } + +export interface hfTimeline { + key: typeof timelineHFKeys[number]; + data: Array; +} + +interface hfTimelineData { + x: typeof timelineHFYears[number]; + y: number; +} + +/* TODO: Move to proper typescript definitions file */ +export interface seDetails { + national_percentage: number; + total_area: string; +} From c6bb40a1f5a66461550cd8c971e4c1a27d456438 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 18:44:30 -0500 Subject: [PATCH 112/664] Migrate functions related to hf timeline --- src/utils/restAPI.js | 36 ------------------------------- src/utils/searchAPI.ts | 49 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 36 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 353e38a0c..727fbc7ae 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -91,16 +91,6 @@ class RestAPI { return RestAPI.makeGetRequest(`ecosystems/se?areaType=${areaType}&areaId=${areaId}`); } - /** - * Recover the strategic ecosystems values in the area selected - * @param {Number} idArea id area to request - * @param {Number} idGeofence id geofence to request - * @param {Number} seType strategic ecosystem type to request details - */ - static requestSEDetailInArea(idArea, idGeofence, seType) { - return RestAPI.makeGetRequest(`${idArea}/${idGeofence}/se/${seType}`); - } - /** * Get the coverage area distribution by selected strategic ecosystem and geofence * @param {String} areaType area type id, f.e. "ea", "states" @@ -174,32 +164,6 @@ class RestAPI { return RestAPI.makeGetRequest('ea'); } - /** - * Get the human footprint timeline data in the given area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Array of objects with human footprint timeline data in the given area - */ - static requestTotalHFTimeline(areaType, areaId) { - return RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/timeline`); - } - - /** - * Get the human footprint timeline data for a specific strategic ecosystem in the given area. - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} seType strategic ecosystem type, f.e. "Páramo" - * - * @return {Promise} Array of objects separated by strategic ecosystem with human - * footprint timeline data - */ - static requestSEHFTimeline(areaType, areaId, seType) { - return RestAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}/hf/timeline`); - } - /** * Request area information for biomes by subzones * diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index b5dca55e8..f1d00db9d 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -9,6 +9,8 @@ import { currentHFValue, currentHFCategories, hfPersistence, + hfTimeline, + seDetails } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; class SearchAPI { @@ -158,6 +160,53 @@ class SearchAPI { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/persistence`); } + /** + * Get the human footprint timeline data in the given area. + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with human footprint timeline data in the given area + */ + static requestTotalHFTimeline( + areaType: string, + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/timeline`); + } + + /** + * Get the human footprint timeline data for a specific strategic ecosystem in the given area. + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} seType strategic ecosystem type, f.e. "Páramo" + * + * @return {Promise} Array of objects separated by strategic ecosystem with human + * footprint timeline data + */ + static requestSEHFTimeline( + areaType: string, + areaId: string | number, + seType: string + ): Promise> { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}/hf/timeline`); + } + + /** + * Recover the strategic ecosystems values in the area selected + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {Number} seType strategic ecosystem type to request details + */ + static requestSEDetailInArea( + areaType: string, + areaId: string | number, + seType: string + ): Promise { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}`); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From 7d1b05c8937872c275e5d5343fcd277262b01849 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 18:45:16 -0500 Subject: [PATCH 113/664] Migrate TimelineFootprint component (First version) --- ...ineFootprint.jsx => TimelineFootprint.tsx} | 65 ++++++++++++------- 1 file changed, 40 insertions(+), 25 deletions(-) rename src/pages/search/drawer/landscape/humanFootprint/{TimelineFootprint.jsx => TimelineFootprint.tsx} (77%) diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx similarity index 77% rename from src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx rename to src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index c079043b6..739b1697d 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.jsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -4,13 +4,16 @@ import InfoIcon from '@mui/icons-material/Info'; import GraphLoader from 'components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; -import SearchContext from 'pages/search/SearchContext'; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import formatNumber from 'utils/format'; import matchColor from 'utils/matchColor'; import processDataCsv from 'utils/processDataCsv'; -import RestAPI from 'utils/restAPI'; +import SearchAPI from "utils/searchAPI"; import TextBoxes from 'components/TextBoxes'; +import { hfTimeline, seDetails } from "pages/search/types/humanFootprint"; +import { TextObject } from "pages/search/types/texts"; + const changeValues = [ { axis: 'y', @@ -66,10 +69,26 @@ const changeValues = [ }, ]; -class TimelineFootprint extends React.Component { +interface Props { } + +interface timeLineFootPrintState { + showInfoGraph: boolean; + hfTimeline: Array>; + message: string | null; + selectedEcosystem: seDetails | null; + texts: { + hfTimeline: TextObject, + }, +} + +interface hfTimelineExt extends hfTimeline{ + label: string; +} + +class TimelineFootprint extends React.Component { mounted = false; - constructor(props) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, @@ -77,7 +96,7 @@ class TimelineFootprint extends React.Component { message: 'loading', selectedEcosystem: null, texts: { - hfTimeline: {}, + hfTimeline: { info: "", cons: "", meto: "", quote: "" }, }, }; } @@ -85,14 +104,15 @@ class TimelineFootprint extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, switchLayer } = this.context; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; switchLayer('hfTimeline'); Promise.all([ - RestAPI.requestSEHFTimeline(areaId, geofenceId, 'Páramo'), - RestAPI.requestSEHFTimeline(areaId, geofenceId, 'Humedal'), - RestAPI.requestSEHFTimeline(areaId, geofenceId, 'Bosque Seco Tropical'), - RestAPI.requestTotalHFTimeline(areaId, geofenceId), + SearchAPI.requestSEHFTimeline(areaId, geofenceId, 'Páramo'), + SearchAPI.requestSEHFTimeline(areaId, geofenceId, 'Humedal'), + SearchAPI.requestSEHFTimeline(areaId, geofenceId, 'Bosque Seco Tropical'), + SearchAPI.requestTotalHFTimeline(areaId, geofenceId), ]) .then(([paramo, wetland, dryForest, aTotal]) => { if (this.mounted) { @@ -106,14 +126,14 @@ class TimelineFootprint extends React.Component { this.setState({ message: 'no-data' }); }); - RestAPI.requestSectionTexts('hfTimeline') + SearchAPI.requestSectionTexts('hfTimeline') .then((res) => { if (this.mounted) { this.setState({ texts: { hfTimeline: res } }); } }) .catch(() => { - this.setState({ texts: { hfTimeline: {} } }); + this.setState({ texts: { hfTimeline: { info: "", cons: "", meto: "", quote: "" } } }); }); } @@ -135,13 +155,11 @@ class TimelineFootprint extends React.Component { * * @param {string} seType type of strategic ecosystem to request */ - setSelectedEcosystem = (seType) => { - const { - areaId, - geofenceId, - } = this.context; + setSelectedEcosystem = (seType: string) => { + const { areaId, geofenceId } = this + .context as SearchContextValues; if (seType !== 'aTotal') { - RestAPI.requestSEDetailInArea(areaId, geofenceId, this.getLabel(seType)) + SearchAPI.requestSEDetailInArea(areaId, geofenceId, this.getLabel(seType)) .then((value) => { const res = { ...value, type: seType }; this.setState({ selectedEcosystem: res }); @@ -158,7 +176,7 @@ class TimelineFootprint extends React.Component { * @returns {string} label to be used for tooltips, legends, etc. * Max. length = 16 characters */ - getLabel = (type) => { + getLabel = (type: string) => { switch (type) { case 'paramo': return 'Páramo'; case 'wetland': return 'Humedal'; @@ -173,7 +191,7 @@ class TimelineFootprint extends React.Component { * * @returns {array} data transformed */ - processData = (data) => { + processData = (data: Array): Array => { if (!data) return []; return data.map((obj) => ({ ...obj, @@ -182,11 +200,8 @@ class TimelineFootprint extends React.Component { }; render() { - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; const { showInfoGraph, hfTimeline, From d1dd74cdc6e125ca9e34417844ec442542466263 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 19:20:45 -0500 Subject: [PATCH 114/664] Change definition seDetails fromhf domain to ecosystems one --- .../humanFootprint/TimelineFootprint.tsx | 185 +++++++++--------- src/pages/search/types/ecosystems.ts | 4 + src/pages/search/types/humanFootprint.ts | 6 - src/utils/searchAPI.ts | 36 ++-- 4 files changed, 119 insertions(+), 112 deletions(-) create mode 100644 src/pages/search/types/ecosystems.ts diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index 739b1697d..e9a30a2ca 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -1,90 +1,95 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from 'components/charts/GraphLoader'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; +import GraphLoader from "components/charts/GraphLoader"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import formatNumber from 'utils/format'; -import matchColor from 'utils/matchColor'; -import processDataCsv from 'utils/processDataCsv'; +import formatNumber from "utils/format"; +import matchColor from "utils/matchColor"; +import processDataCsv from "utils/processDataCsv"; import SearchAPI from "utils/searchAPI"; -import TextBoxes from 'components/TextBoxes'; +import TextBoxes from "components/TextBoxes"; -import { hfTimeline, seDetails } from "pages/search/types/humanFootprint"; +import { hfTimeline } from "pages/search/types/humanFootprint"; +import { seDetails } from "pages/search/types/ecosystems"; import { TextObject } from "pages/search/types/texts"; const changeValues = [ { - axis: 'y', + axis: "y", value: 15, - legend: 'Natural', - lineStyle: { stroke: '#909090', strokeWidth: 1 }, + legend: "Natural", + lineStyle: { stroke: "#909090", strokeWidth: 1 }, textStyle: { - fill: '#3fbf9f', + fill: "#3fbf9f", fontSize: 9, }, - legendPosition: 'bottom-right', - orient: 'top', + legendPosition: "bottom-right", + orient: "top", tickRotation: -90, }, { - axis: 'y', + axis: "y", value: 40, - legend: 'Baja', - lineStyle: { stroke: '#909090', strokeWidth: 1 }, + legend: "Baja", + lineStyle: { stroke: "#909090", strokeWidth: 1 }, textStyle: { - fill: '#d5a529', + fill: "#d5a529", fontSize: 9, }, - legendPosition: 'bottom-right', - orient: 'top', + legendPosition: "bottom-right", + orient: "top", tickRotation: -90, }, { - axis: 'y', + axis: "y", value: 60, - legend: 'Media', - lineStyle: { stroke: '#909090', strokeWidth: 1 }, + legend: "Media", + lineStyle: { stroke: "#909090", strokeWidth: 1 }, textStyle: { - fill: '#e66c29', + fill: "#e66c29", fontSize: 9, }, - legendPosition: 'bottom-right', - orient: 'top', + legendPosition: "bottom-right", + orient: "top", tickRotation: -90, }, { - axis: 'y', + axis: "y", value: 100, - legend: 'Alta', - lineStyle: { stroke: '#909090', strokeWidth: 1 }, + legend: "Alta", + lineStyle: { stroke: "#909090", strokeWidth: 1 }, textStyle: { - fill: '#cf324e', + fill: "#cf324e", fontSize: 9, }, - legendPosition: 'bottom-right', - orient: 'top', + legendPosition: "bottom-right", + orient: "top", tickRotation: -90, }, ]; -interface Props { } +interface Props {} interface timeLineFootPrintState { showInfoGraph: boolean; - hfTimeline: Array>; + hfTimeline: Array; message: string | null; - selectedEcosystem: seDetails | null; + selectedEcosystem: seDetailsExt | null; texts: { - hfTimeline: TextObject, - }, + hfTimeline: TextObject; + }; } -interface hfTimelineExt extends hfTimeline{ +interface hfTimelineExt extends hfTimeline { label: string; } +interface seDetailsExt extends seDetails { + type: string; +} + class TimelineFootprint extends React.Component { mounted = false; @@ -93,7 +98,7 @@ class TimelineFootprint extends React.Component { this.state = { showInfoGraph: true, hfTimeline: [], - message: 'loading', + message: "loading", selectedEcosystem: null, texts: { hfTimeline: { info: "", cons: "", meto: "", quote: "" }, @@ -106,12 +111,12 @@ class TimelineFootprint extends React.Component { const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; - switchLayer('hfTimeline'); + switchLayer("hfTimeline"); Promise.all([ - SearchAPI.requestSEHFTimeline(areaId, geofenceId, 'Páramo'), - SearchAPI.requestSEHFTimeline(areaId, geofenceId, 'Humedal'), - SearchAPI.requestSEHFTimeline(areaId, geofenceId, 'Bosque Seco Tropical'), + SearchAPI.requestSEHFTimeline(areaId, geofenceId, "Páramo"), + SearchAPI.requestSEHFTimeline(areaId, geofenceId, "Humedal"), + SearchAPI.requestSEHFTimeline(areaId, geofenceId, "Bosque Seco Tropical"), SearchAPI.requestTotalHFTimeline(areaId, geofenceId), ]) .then(([paramo, wetland, dryForest, aTotal]) => { @@ -123,17 +128,19 @@ class TimelineFootprint extends React.Component { } }) .catch(() => { - this.setState({ message: 'no-data' }); + this.setState({ message: "no-data" }); }); - SearchAPI.requestSectionTexts('hfTimeline') + SearchAPI.requestSectionTexts("hfTimeline") .then((res) => { if (this.mounted) { this.setState({ texts: { hfTimeline: res } }); } }) .catch(() => { - this.setState({ texts: { hfTimeline: { info: "", cons: "", meto: "", quote: "" } } }); + this.setState({ + texts: { hfTimeline: { info: "", cons: "", meto: "", quote: "" } }, + }); }); } @@ -156,18 +163,20 @@ class TimelineFootprint extends React.Component { * @param {string} seType type of strategic ecosystem to request */ setSelectedEcosystem = (seType: string) => { - const { areaId, geofenceId } = this - .context as SearchContextValues; - if (seType !== 'aTotal') { - SearchAPI.requestSEDetailInArea(areaId, geofenceId, this.getLabel(seType)) - .then((value) => { - const res = { ...value, type: seType }; - this.setState({ selectedEcosystem: res }); - }); + const { areaId, geofenceId } = this.context as SearchContextValues; + if (seType !== "aTotal") { + SearchAPI.requestSEDetailInArea( + areaId, + geofenceId, + this.getLabel(seType) + ).then((value) => { + const res = { ...value, type: seType }; + this.setState({ selectedEcosystem: res }); + }); } else { this.setState({ selectedEcosystem: null }); } - } + }; /** * Defines the label for a given data @@ -178,10 +187,14 @@ class TimelineFootprint extends React.Component { */ getLabel = (type: string) => { switch (type) { - case 'paramo': return 'Páramo'; - case 'wetland': return 'Humedal'; - case 'dryForest': return 'Bosque Seco Tropical'; - default: return 'Área consulta'; + case "paramo": + return "Páramo"; + case "wetland": + return "Humedal"; + case "dryForest": + return "Bosque Seco Tropical"; + default: + return "Área consulta"; } }; @@ -191,7 +204,7 @@ class TimelineFootprint extends React.Component { * * @returns {array} data transformed */ - processData = (data: Array): Array => { + processData = (data: Array) => { if (!data) return []; return data.map((obj) => ({ ...obj, @@ -202,42 +215,31 @@ class TimelineFootprint extends React.Component { render() { const { areaId, geofenceId, handlerClickOnGraph } = this .context as SearchContextValues; - const { - showInfoGraph, - hfTimeline, - selectedEcosystem, - message, - texts, - } = this.state; + const { showInfoGraph, hfTimeline, selectedEcosystem, message, texts } = + this.state; return (

this.toggleInfoGraph()} />

- {( - showInfoGraph && ( - - ) + {showInfoGraph && ( + )} -
- Huella humana comparada con EE -
-

- Haz clic en un ecosistema para ver su comportamiento -

+
Huella humana comparada con EE
+

Haz clic en un ecosistema para ver su comportamiento

{ labelY="Indice promedio Huella Humana" onClickGraphHandler={(selection) => { this.setSelectedEcosystem(selection); - handlerClickOnGraph({ chartType: 'hfTimeline', selectedKey: selection }); + handlerClickOnGraph({ + chartType: "hfTimeline", + selectedKey: selection, + }); }} /> {selectedEcosystem && (
- {`${this.getLabel(selectedEcosystem.type)} dentro de la unidad de consulta`} + {`${this.getLabel( + selectedEcosystem.type + )} dentro de la unidad de consulta`}
-
- {`${formatNumber(selectedEcosystem.total_area, 2)} ha`} -
+
{`${formatNumber(selectedEcosystem.total_area, 2)} ha`}
)} } Array of objects with human footprint timeline data in the given area + * @return {Promise} Object with human footprint timeline data in the given area */ - static requestTotalHFTimeline( + static requestTotalHFTimeline( areaType: string, areaId: string | number - ): Promise> { + ): Promise { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/timeline`); } @@ -182,30 +181,35 @@ class SearchAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * @param {String} seType strategic ecosystem type, f.e. "Páramo" * - * @return {Promise} Array of objects separated by strategic ecosystem with human - * footprint timeline data + * @return {Promise} Object with human footprint timeline data in the given area + * and selected strategic ecosystem */ static requestSEHFTimeline( areaType: string, areaId: string | number, seType: string - ): Promise> { - return SearchAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}/hf/timeline`); + ): Promise { + return SearchAPI.makeGetRequest( + `${areaType}/${areaId}/se/${seType}/hf/timeline` + ); } + /** ************ */ + /** ECOSYSTEMS */ + /** **************/ /** * Recover the strategic ecosystems values in the area selected * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * @param {Number} seType strategic ecosystem type to request details */ - static requestSEDetailInArea( - areaType: string, - areaId: string | number, - seType: string - ): Promise { - return SearchAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}`); - } + static requestSEDetailInArea( + areaType: string, + areaId: string | number, + seType: string + ): Promise { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}`); + } /** ************ */ /** CROSS MODULE */ From e34589a4a374aa11896f3ba389bf423ca7ddb4a3 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 13:05:57 -0500 Subject: [PATCH 115/664] Create fiel to hold definitions of compensation factor --- src/pages/search/types/compensationFactor.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/pages/search/types/compensationFactor.ts diff --git a/src/pages/search/types/compensationFactor.ts b/src/pages/search/types/compensationFactor.ts new file mode 100644 index 000000000..90a8d754d --- /dev/null +++ b/src/pages/search/types/compensationFactor.ts @@ -0,0 +1,15 @@ +export interface biomes { + key: string; + area: number; +}; + +export interface cf { + key: number; + area: number; +}; + +export interface bioticUnits { + key: string; + area: string; +}; + From 4f4be4559b7f7a51441a742aae19119725c392ed Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 13:06:28 -0500 Subject: [PATCH 116/664] Migrate calls to api from reatAPI to searchAPI --- src/utils/restAPI.js | 27 -------------------------- src/utils/searchAPI.ts | 44 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 27 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 1f24a25c7..04e9dc796 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -21,33 +21,6 @@ class RestAPI { /** SEARCH MODULE */ /** ************* */ - /** - * Recover biomes located in the selected area - * @param {Number} idArea id area to request, f.e. ea - * @param {Number} idGeofence id geofence to request, f.e. idCAR - */ - static requestBiomes(idArea, idGeofence) { - return RestAPI.makeGetRequest(`${idArea}/${idGeofence}/generalBiome`); - } - - /** - * Recover biotic units by selected area - * @param {Number} idArea id area to request, f.e. ea - * @param {Number} idGeofence id geofence to request, f.e. idCAR - */ - static requestBioticUnits(idArea, idGeofence) { - return RestAPI.makeGetRequest(`${idArea}/${idGeofence}/bioticUnit`); - } - - /** - * Recover compensation Factor values by selected area - * @param {Number} idArea id area to request, f.e. ea - * @param {Number} idGeofence id geofence to request, f.e. idCAR - */ - static requestCompensationFactor(idArea, idGeofence) { - return RestAPI.makeGetRequest(`${idArea}/${idGeofence}/compensationFactor`); - } - /** * Get coverage area by selected area * @param {String} areaType area type id, f.e. "ea", "states" diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 8a3ee50fc..b0bb37add 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,5 +1,10 @@ import axios from "axios"; import { SCIHF, ForestLP } from "pages/search/types/forest"; +import { + biomes, + cf, + bioticUnits, +} from "pages/search/types/compensationFactor"; import { currentPAConn, currentSEPAConn, @@ -128,6 +133,45 @@ class SearchAPI { ); } + /** ******************* */ + /** COMPENSATION FACTOR */ + /** ******************* */ + /** + * Recover biomes located in the selected area + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + */ + static requestBiomes( + areaType: string, + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/generalBiome`); + } + + /** + * Recover biotic units by selected area + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + */ + static requestBioticUnits( + areaType: string, + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/bioticUnit`); + } + + /** + * Recover compensation Factor values by selected area + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + */ + static requestCompensationFactor( + areaType: string, + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest(`${areaType}/${areaId}/compensationFactor`); + } + /** *************** */ /** HUMAN FOOTPRINT */ /** *************** */ From f2f83ca9d46969c9b1cc7af5c9cee7129fb1005d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 13:06:48 -0500 Subject: [PATCH 117/664] Migrate component CompensationFactor to typescript --- ...ationFactor.jsx => CompensationFactor.tsx} | 102 ++++++++++++------ 1 file changed, 70 insertions(+), 32 deletions(-) rename src/pages/search/drawer/landscape/{CompensationFactor.jsx => CompensationFactor.tsx} (75%) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.jsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx similarity index 75% rename from src/pages/search/drawer/landscape/CompensationFactor.jsx rename to src/pages/search/drawer/landscape/CompensationFactor.tsx index be493c5e9..1cc161bc1 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.jsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -4,15 +4,49 @@ import React from 'react'; import GraphLoader from 'components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'components/Tooltips'; -import SearchContext from 'pages/search/SearchContext'; + import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; +import SearchAPI from "utils/searchAPI"; import TextBoxes from 'components/TextBoxes'; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import { biomes, cf, bioticUnits } from "pages/search/types/compensationFactor"; +import { TextObject } from "pages/search/types/texts"; + +interface bioticUnitsExt extends bioticUnits { + label: string; +} + +interface biomesExt extends biomes { + label: string; +} + +interface cfExt extends cf { + label: string; +} + +interface Props {} + +interface compensationFactorState { + infoShown: Set; + biomes: Array, + fc: Array, + bioticUnits: Array, + messages: { + fc: string | null; + biomes: string | null; + bioticUnits: string | null; + }, + texts: { + cf: TextObject, + biomes: TextObject, + bioticRegions: TextObject, + }, +} -class CompensationFactor extends React.Component { +class CompensationFactor extends React.Component { mounted = false; - constructor(props) { + constructor(props: Props) { super(props); this.state = { infoShown: new Set(['cf']), @@ -25,30 +59,30 @@ class CompensationFactor extends React.Component { bioticUnits: 'loading', }, texts: { - cf: {}, - biomes: {}, - bioticRegions: {}, + cf: { info: "", cons: "", meto: "", quote: "" }, + biomes: { info: "", cons: "", meto: "", quote: "" }, + bioticRegions: { info: "", cons: "", meto: "", quote: "" }, }, }; } componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; if (areaId !== 'ea') return; switchLayer('fc'); - RestAPI.requestBiomes(areaId, geofenceId) - .then((res) => { + SearchAPI.requestBiomes(areaId, geofenceId) + .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ - biomes: this.processData(res), + biomes: res.map((item) => ({ + ...item, + label: `${item.key}`, + })), messages: { ...prev.messages, biomes: null, @@ -65,11 +99,14 @@ class CompensationFactor extends React.Component { })); }); - RestAPI.requestCompensationFactor(areaId, geofenceId) - .then((res) => { + SearchAPI.requestCompensationFactor(areaId, geofenceId) + .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ - fc: this.processData(res), + fc: res.map((item) => ({ + ...item, + label: `${item.key}`, + })), messages: { ...prev.messages, fc: null, @@ -86,11 +123,14 @@ class CompensationFactor extends React.Component { })); }); - RestAPI.requestBioticUnits(areaId, geofenceId) - .then((res) => { + SearchAPI.requestBioticUnits(areaId, geofenceId) + .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ - bioticUnits: this.processData(res), + bioticUnits: res.map((item) => ({ + ...item, + label: `${item.key}`, + })), messages: { ...prev.messages, bioticUnits: null, @@ -108,7 +148,7 @@ class CompensationFactor extends React.Component { }); ['cf', 'biomes', 'bioticRegions'].forEach((item) => { - RestAPI.requestSectionTexts(item) + SearchAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { this.setState((prevState) => ({ @@ -128,7 +168,7 @@ class CompensationFactor extends React.Component { this.mounted = false; } - toggleInfo = (value) => { + toggleInfo = (value: string) => { this.setState((prev) => { const newState = prev; if (prev.infoShown.has(value)) { @@ -142,15 +182,15 @@ class CompensationFactor extends React.Component { /** * Transform data to fit in the graph structure - * @param {array} data data to be transformed + * @param {Array} data data to be transformed * - * @returns {array} data transformed + * @returns {Array} data transformed */ - processData = (data) => { + processData = (data: Array) => { if (!data) return []; return data.map((obj) => ({ key: `${obj.key}`, - area: parseFloat(obj.area), + area: typeof obj.area === 'string' ? parseFloat(obj.area) : obj.area, label: `${obj.key}`, })); }; @@ -164,14 +204,12 @@ class CompensationFactor extends React.Component { messages: { fc: fcMess, biomes: biomesMess, - bioticunits: bioticUnitsMess, + bioticUnits: bioticUnitsMess, }, texts, } = this.state; - const { - areaId, - geofenceId, - } = this.context; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; return (
From 05038350524d34f837b9b047f332c76ef272be17 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 13:10:46 -0500 Subject: [PATCH 118/664] Run prettier --- .../drawer/landscape/CompensationFactor.tsx | 125 +++++++++--------- src/pages/search/types/compensationFactor.ts | 7 +- src/utils/searchAPI.ts | 8 +- 3 files changed, 69 insertions(+), 71 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index 1cc161bc1..c665c2fbb 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -1,26 +1,26 @@ -import InfoIcon from '@mui/icons-material/Info'; -import React from 'react'; +import InfoIcon from "@mui/icons-material/Info"; +import React from "react"; -import GraphLoader from 'components/charts/GraphLoader'; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; +import GraphLoader from "components/charts/GraphLoader"; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "components/Tooltips"; -import matchColor from 'utils/matchColor'; +import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; -import TextBoxes from 'components/TextBoxes'; +import TextBoxes from "components/TextBoxes"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { biomes, cf, bioticUnits } from "pages/search/types/compensationFactor"; import { TextObject } from "pages/search/types/texts"; -interface bioticUnitsExt extends bioticUnits { +interface bioticUnitsExt extends bioticUnits { label: string; } -interface biomesExt extends biomes { +interface biomesExt extends biomes { label: string; } -interface cfExt extends cf { +interface cfExt extends cf { label: string; } @@ -28,35 +28,38 @@ interface Props {} interface compensationFactorState { infoShown: Set; - biomes: Array, - fc: Array, - bioticUnits: Array, + biomes: Array; + fc: Array; + bioticUnits: Array; messages: { fc: string | null; biomes: string | null; bioticUnits: string | null; - }, + }; texts: { - cf: TextObject, - biomes: TextObject, - bioticRegions: TextObject, - }, + cf: TextObject; + biomes: TextObject; + bioticRegions: TextObject; + }; } -class CompensationFactor extends React.Component { +class CompensationFactor extends React.Component< + Props, + compensationFactorState +> { mounted = false; constructor(props: Props) { super(props); this.state = { - infoShown: new Set(['cf']), + infoShown: new Set(["cf"]), biomes: [], fc: [], bioticUnits: [], messages: { - fc: 'loading', - biomes: 'loading', - bioticUnits: 'loading', + fc: "loading", + biomes: "loading", + bioticUnits: "loading", }, texts: { cf: { info: "", cons: "", meto: "", quote: "" }, @@ -71,9 +74,9 @@ class CompensationFactor extends React.Component const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; - if (areaId !== 'ea') return; + if (areaId !== "ea") return; - switchLayer('fc'); + switchLayer("fc"); SearchAPI.requestBiomes(areaId, geofenceId) .then((res: Array) => { @@ -94,7 +97,7 @@ class CompensationFactor extends React.Component this.setState((prev) => ({ messages: { ...prev.messages, - biomes: 'no-data', + biomes: "no-data", }, })); }); @@ -118,7 +121,7 @@ class CompensationFactor extends React.Component this.setState((prev) => ({ messages: { ...prev.messages, - fc: 'no-data', + fc: "no-data", }, })); }); @@ -142,13 +145,13 @@ class CompensationFactor extends React.Component this.setState((prev) => ({ messages: { ...prev.messages, - bioticUnits: 'no-data', + bioticUnits: "no-data", }, })); }); - ['cf', 'biomes', 'bioticRegions'].forEach((item) => { - SearchAPI.requestSectionTexts(item) + ["cf", "biomes", "bioticRegions"].forEach((item) => { + SearchAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { this.setState((prevState) => ({ @@ -161,7 +164,7 @@ class CompensationFactor extends React.Component texts: { ...prevState.texts, [item]: {} }, })); }); - }); + }); } componentWillUnmount() { @@ -178,7 +181,7 @@ class CompensationFactor extends React.Component newState.infoShown.add(value); return newState; }); - } + }; /** * Transform data to fit in the graph structure @@ -190,7 +193,7 @@ class CompensationFactor extends React.Component if (!data) return []; return data.map((obj) => ({ key: `${obj.key}`, - area: typeof obj.area === 'string' ? parseFloat(obj.area) : obj.area, + area: typeof obj.area === "string" ? parseFloat(obj.area) : obj.area, label: `${obj.key}`, })); }; @@ -212,19 +215,19 @@ class CompensationFactor extends React.Component .context as SearchContextValues; return ( -
+
-

- Factor de Compensación -

+

Factor de Compensación

this.toggleInfo('cf')} + className={`graphinfo${ + infoShown.has("cf") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("cf")} /> - {infoShown.has('cf') && ( + {infoShown.has("cf") && ( labelX="Hectáreas" labelY="Factor de Compensación" units="ha" - colors={matchColor('fc')} + colors={matchColor("fc")} padding={0.25} /> quoteText={texts.cf.quote} downloadData={fc} downloadName={`compensation_factor_${areaId}_${geofenceId}.csv`} - isInfoOpen={infoShown.has('cf')} - toggleInfo={() => this.toggleInfo('cf')} + isInfoOpen={infoShown.has("cf")} + toggleInfo={() => this.toggleInfo("cf")} /> -

- Biomas -

+

Biomas

this.toggleInfo('biomes')} + className={`downSpecial${ + infoShown.has("biomes") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("biomes")} /> - {infoShown.has('biomes') && ( + {infoShown.has("biomes") && ( labelX="Hectáreas" labelY="Biomas" units="ha" - colors={matchColor('biomas')} + colors={matchColor("biomas")} padding={0.3} /> quoteText={texts.biomes.quote} downloadData={biomes} downloadName={`biomes_${areaId}_${geofenceId}.csv`} - isInfoOpen={infoShown.has('biomes')} - toggleInfo={() => this.toggleInfo('biomes')} + isInfoOpen={infoShown.has("biomes")} + toggleInfo={() => this.toggleInfo("biomes")} /> -

- Regiones Bióticas -

+

Regiones Bióticas

this.toggleInfo('bioticReg')} + className={`downSpecial${ + infoShown.has("bioticReg") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("bioticReg")} /> - {infoShown.has('bioticReg') && ( + {infoShown.has("bioticReg") && ( labelX="Hectáreas" labelY="Regiones Bióticas" units="ha" - colors={matchColor('bioticReg')} + colors={matchColor("bioticReg")} padding={0.3} /> quoteText={texts.bioticRegions.quote} downloadData={bioticUnits} downloadName={`biotic_units_${geofenceId}.csv`} - isInfoOpen={infoShown.has('bioticReg')} - toggleInfo={() => this.toggleInfo('bioticReg')} + isInfoOpen={infoShown.has("bioticReg")} + toggleInfo={() => this.toggleInfo("bioticReg")} />
diff --git a/src/pages/search/types/compensationFactor.ts b/src/pages/search/types/compensationFactor.ts index 90a8d754d..7fbf77362 100644 --- a/src/pages/search/types/compensationFactor.ts +++ b/src/pages/search/types/compensationFactor.ts @@ -1,15 +1,14 @@ export interface biomes { key: string; area: number; -}; +} export interface cf { key: number; area: number; -}; +} export interface bioticUnits { key: string; area: string; -}; - +} diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index b0bb37add..a232a4c98 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,10 +1,6 @@ import axios from "axios"; import { SCIHF, ForestLP } from "pages/search/types/forest"; -import { - biomes, - cf, - bioticUnits, -} from "pages/search/types/compensationFactor"; +import { biomes, cf, bioticUnits } from "pages/search/types/compensationFactor"; import { currentPAConn, currentSEPAConn, @@ -141,7 +137,7 @@ class SearchAPI { * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ - static requestBiomes( + static requestBiomes( areaType: string, areaId: string | number ): Promise> { From 3ad5a78422635eef07b93d03aa5348aea4a2b243 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 13:18:01 -0500 Subject: [PATCH 119/664] Delete unused function to process data received from database --- .../drawer/landscape/CompensationFactor.tsx | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index c665c2fbb..09de90b99 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -183,21 +183,6 @@ class CompensationFactor extends React.Component< }); }; - /** - * Transform data to fit in the graph structure - * @param {Array} data data to be transformed - * - * @returns {Array} data transformed - */ - processData = (data: Array) => { - if (!data) return []; - return data.map((obj) => ({ - key: `${obj.key}`, - area: typeof obj.area === "string" ? parseFloat(obj.area) : obj.area, - label: `${obj.key}`, - })); - }; - render() { const { infoShown, From 19dc4646b0c891741f45e9d688b4511955ad74e1 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 19:31:53 -0500 Subject: [PATCH 120/664] Fix call to handler on clic as it is not used in render method --- src/pages/search/drawer/landscape/CompensationFactor.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index 09de90b99..df5d23dce 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -196,7 +196,7 @@ class CompensationFactor extends React.Component< }, texts, } = this.state; - const { areaId, geofenceId, handlerClickOnGraph } = this + const { areaId, geofenceId } = this .context as SearchContextValues; return ( From 71f8f95eb35e10a7c9dc47cada0c12c5871084e0 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 18 Aug 2022 19:32:38 -0500 Subject: [PATCH 121/664] Run prettier --- src/pages/search/drawer/landscape/CompensationFactor.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index df5d23dce..98caf5d5f 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -196,8 +196,7 @@ class CompensationFactor extends React.Component< }, texts, } = this.state; - const { areaId, geofenceId } = this - .context as SearchContextValues; + const { areaId, geofenceId } = this.context as SearchContextValues; return (
From 5f576ed71dd876c8279f2c024d43305cbb3879d4 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 19 Aug 2022 07:45:41 -0500 Subject: [PATCH 122/664] Handle catch statement when call to texts fails --- src/pages/search/drawer/landscape/CompensationFactor.tsx | 2 +- .../drawer/landscape/connectivity/CurrentPAConnectivity.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index 98caf5d5f..349c322f5 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -161,7 +161,7 @@ class CompensationFactor extends React.Component< }) .catch(() => { this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: {} }, + texts: { ...prevState.texts, [item]: { info: "", cons: "", meto: "", quote: "" } }, })); }); }); diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 0461f43a2..838227ba6 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -139,7 +139,7 @@ class CurrentPAConnectivity extends React.Component { }) .catch(() => { this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: {} }, + texts: { ...prevState.texts, [item]: { info: "", cons: "", meto: "", quote: "" } }, })); }); }); From ac08360b344cccfdfe86ea63d30a06fe53f186d9 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 19 Aug 2022 07:49:03 -0500 Subject: [PATCH 123/664] Run prettier --- src/pages/search/drawer/landscape/CompensationFactor.tsx | 5 ++++- .../drawer/landscape/connectivity/CurrentPAConnectivity.tsx | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index 349c322f5..5f8ae7530 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -161,7 +161,10 @@ class CompensationFactor extends React.Component< }) .catch(() => { this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: { info: "", cons: "", meto: "", quote: "" } }, + texts: { + ...prevState.texts, + [item]: { info: "", cons: "", meto: "", quote: "" }, + }, })); }); }); diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 838227ba6..5d8b1f2ff 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -139,7 +139,10 @@ class CurrentPAConnectivity extends React.Component { }) .catch(() => { this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: { info: "", cons: "", meto: "", quote: "" } }, + texts: { + ...prevState.texts, + [item]: { info: "", cons: "", meto: "", quote: "" }, + }, })); }); }); From d3427bc78b85c39a9cdef60b570bb8e0343b2ede Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 19 Aug 2022 11:51:34 -0500 Subject: [PATCH 124/664] Change name of state --- .../drawer/landscape/humanFootprint/TimelineFootprint.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index e9a30a2ca..fe3490d08 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -72,7 +72,7 @@ const changeValues = [ interface Props {} -interface timeLineFootPrintState { +interface State { showInfoGraph: boolean; hfTimeline: Array; message: string | null; @@ -90,7 +90,7 @@ interface seDetailsExt extends seDetails { type: string; } -class TimelineFootprint extends React.Component { +class TimelineFootprint extends React.Component { mounted = false; constructor(props: Props) { From 00594215eb27259a74bdd2f738ad6dd84211469d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 19 Aug 2022 12:06:18 -0500 Subject: [PATCH 125/664] Improve interfaces definitions --- src/pages/search/types/humanFootprint.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/pages/search/types/humanFootprint.ts b/src/pages/search/types/humanFootprint.ts index 51a0203a6..52783cd96 100644 --- a/src/pages/search/types/humanFootprint.ts +++ b/src/pages/search/types/humanFootprint.ts @@ -45,10 +45,8 @@ export interface hfPersistence { export interface hfTimeline { key: typeof timelineHFKeys[number]; - data: Array; -} - -interface hfTimelineData { - x: typeof timelineHFYears[number]; - y: number; + data: Array<{ + x: typeof timelineHFYears[number]; + y: number; + }>; } From 69c86c6b5ea00adb3859ba72619c3a37c101a40a Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 16:47:45 -0500 Subject: [PATCH 126/664] remove non common types --- src/pages/search/types/ecosystems.ts | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/pages/search/types/ecosystems.ts b/src/pages/search/types/ecosystems.ts index b0120aeaf..69115346f 100644 --- a/src/pages/search/types/ecosystems.ts +++ b/src/pages/search/types/ecosystems.ts @@ -1,27 +1,14 @@ -export const coverageLabels = [ - "Natural", - "Secundaria", - "Transformada", -] as const; export const coverageType = ["N", "S", "T", "X"] as const; - -export interface SEValues { - area: number; - percentage?: number; - type: string; -} - -export interface CoverageData { +export interface SECoverage { area: number; type: typeof coverageType[number]; percentage: number; - key: typeof coverageType[number]; - label: typeof coverageLabels[number]; } - -export interface PAData { +export interface SEPAData { area: number; - label: string; - key: string; + type: string; +} + +export interface SEValues extends SEPAData { percentage: number; } From 76d9b9065c8b18cc7d7512d350ec2b874a10d8c0 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 16:48:17 -0500 Subject: [PATCH 127/664] change name of types --- src/utils/searchAPI.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 3e9c1f8c4..3cd107369 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -11,7 +11,7 @@ import { hfPersistence, } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; -import { CoverageData, PAData, SEValues } from "pages/search/types/ecosystems"; +import { SECoverage, SEPAData } from "pages/search/types/ecosystems"; class SearchAPI { /** ****** */ /** FOREST */ @@ -159,10 +159,6 @@ class SearchAPI { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/persistence`); } - /** ************ */ - /** ECOSYSTEMS */ - /** **************/ - /** /** * Get the coverage area distribution by selected strategic ecosystem and geofence * @@ -174,7 +170,7 @@ class SearchAPI { areaType: string, areaId: string | number, seType: string - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest( `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` ); @@ -191,7 +187,7 @@ class SearchAPI { areaType: string, areaId: string | number, seType: string - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest( `/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` ); From 20a21b732cf8ed762973823a1b2d5e4c3b2dc7d9 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 16:49:11 -0500 Subject: [PATCH 128/664] fix props and state names and seActiveSE return --- .../drawer/strategicEcosystems/EcosystemsBox.tsx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx index 71ec18ea7..0091c1f44 100644 --- a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx +++ b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx @@ -1,7 +1,6 @@ import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import PropTypes from "prop-types"; import React, { Component } from "react"; -import SearchContext from "pages/search/SearchContext"; import EcosystemDetails from "pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails"; import GraphLoader from "components/charts/GraphLoader"; @@ -10,22 +9,22 @@ import matchColor from "utils/matchColor"; import { transformSEValues } from "pages/search/utils/transformData"; import { SEValues } from "pages/search/types/ecosystems"; -interface EcosystemsBoxProps { +interface Props { SETotalArea: number; SEAreas: Array; - setActiveSE: (type: string) => {}; + setActiveSE: (type: string) => void; activeSE: string; } -interface ecosystemsBoxState { +interface State { stopLoad: boolean; } class EcosystemsBox extends React.Component< - EcosystemsBoxProps, - ecosystemsBoxState + Props, + State > { - constructor(props: EcosystemsBoxProps) { + constructor(props: Props) { super(props); this.state = { stopLoad: false, @@ -81,4 +80,3 @@ class EcosystemsBox extends React.Component< } } export default EcosystemsBox; -EcosystemsBox.contextType = SearchContext; From d3a097c75d79def39e1019f4263d5db80ae68b8c Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 16:51:44 -0500 Subject: [PATCH 129/664] change local interface definitions --- .../ecosystemsBox/EcosystemDetails.tsx | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx index 2636c1246..45efecf38 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx @@ -11,19 +11,33 @@ import matchColor from "utils/matchColor"; import RestAPI from "utils/restAPI"; import { SEKey } from "pages/search/utils/appropriate_keys"; -import { CoverageData, PAData, SEValues } from "pages/search/types/ecosystems"; +import { coverageType, SECoverage, SEValues } from "pages/search/types/ecosystems"; import SearchAPI from "utils/searchAPI"; +const coverageLabels = [ + "Natural", + "Secundaria", + "Transformada", +] as const; +export interface PAData { + area: number; + label: string; + key: string; + percentage: number; +} +interface CoverageValues extends SECoverage { + key: typeof coverageType[number] + label: typeof coverageLabels[number]; +} interface State { - coverageData: Array | null; + coverageData: Array | null; paData: Array | null; stopLoad: boolean; } interface Props { - SEValues: SEValues; + "SEValues": SEValues; } - class EcosystemDetails extends React.Component { mounted = false; From 74cde5fd46495c83be800cde5df942f0b4822ef4 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 16:55:24 -0500 Subject: [PATCH 130/664] fix prettier style --- .../drawer/strategicEcosystems/EcosystemsBox.tsx | 5 +---- .../ecosystemsBox/EcosystemDetails.tsx | 16 ++++++++-------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx index 0091c1f44..7e5ca1f59 100644 --- a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx +++ b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx @@ -20,10 +20,7 @@ interface State { stopLoad: boolean; } -class EcosystemsBox extends React.Component< - Props, - State -> { +class EcosystemsBox extends React.Component { constructor(props: Props) { super(props); this.state = { diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx index 45efecf38..cdb835a8a 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx @@ -11,14 +11,14 @@ import matchColor from "utils/matchColor"; import RestAPI from "utils/restAPI"; import { SEKey } from "pages/search/utils/appropriate_keys"; -import { coverageType, SECoverage, SEValues } from "pages/search/types/ecosystems"; +import { + coverageType, + SECoverage, + SEValues, +} from "pages/search/types/ecosystems"; import SearchAPI from "utils/searchAPI"; -const coverageLabels = [ - "Natural", - "Secundaria", - "Transformada", -] as const; +const coverageLabels = ["Natural", "Secundaria", "Transformada"] as const; export interface PAData { area: number; label: string; @@ -26,7 +26,7 @@ export interface PAData { percentage: number; } interface CoverageValues extends SECoverage { - key: typeof coverageType[number] + key: typeof coverageType[number]; label: typeof coverageLabels[number]; } interface State { @@ -36,7 +36,7 @@ interface State { } interface Props { - "SEValues": SEValues; + SEValues: SEValues; } class EcosystemDetails extends React.Component { mounted = false; From bfca33e4b1ea311e70d3d5f5d8644d7a6e97df72 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 16:59:45 -0500 Subject: [PATCH 131/664] remove unused deps --- .../strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx index cdb835a8a..9c3ef9d56 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx @@ -5,10 +5,9 @@ import { transformPAValues, transformCoverageValues, } from "pages/search/utils/transformData"; -import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import { SearchContextValues } from "pages/search/SearchContext"; import GraphLoader from "components/charts/GraphLoader"; import matchColor from "utils/matchColor"; -import RestAPI from "utils/restAPI"; import { SEKey } from "pages/search/utils/appropriate_keys"; import { @@ -151,4 +150,3 @@ class EcosystemDetails extends React.Component { } export default EcosystemDetails; -EcosystemDetails.contextType = SearchContext; From 6ef2a5b1605dea9c76f29371d4ed55d8bb6646c4 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 17:22:57 -0500 Subject: [PATCH 132/664] change name of SEValues type --- src/pages/search/types/ecosystems.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/types/ecosystems.ts b/src/pages/search/types/ecosystems.ts index 69115346f..0f7527b42 100644 --- a/src/pages/search/types/ecosystems.ts +++ b/src/pages/search/types/ecosystems.ts @@ -9,6 +9,6 @@ export interface SEPAData { type: string; } -export interface SEValues extends SEPAData { +export interface EDValues extends SEPAData { percentage: number; } From c4ff77b6d74a5877ebeb572a1f571cf0e08df641 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 17:23:40 -0500 Subject: [PATCH 133/664] remove unused imports --- .../search/drawer/strategicEcosystems/EcosystemsBox.tsx | 7 +++---- .../strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx index 7e5ca1f59..7f95740c3 100644 --- a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx +++ b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx @@ -1,17 +1,16 @@ import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; -import PropTypes from "prop-types"; -import React, { Component } from "react"; +import React from "react"; import EcosystemDetails from "pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails"; import GraphLoader from "components/charts/GraphLoader"; import formatNumber from "utils/format"; import matchColor from "utils/matchColor"; import { transformSEValues } from "pages/search/utils/transformData"; -import { SEValues } from "pages/search/types/ecosystems"; +import { EDValues } from "pages/search/types/ecosystems"; interface Props { SETotalArea: number; - SEAreas: Array; + SEAreas: Array; setActiveSE: (type: string) => void; activeSE: string; } diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx index 9c3ef9d56..a2225e690 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx @@ -1,5 +1,4 @@ -import PropTypes from "prop-types"; -import React, { Component } from "react"; +import React from "react"; import { transformPAValues, @@ -13,7 +12,7 @@ import { SEKey } from "pages/search/utils/appropriate_keys"; import { coverageType, SECoverage, - SEValues, + EDValues, } from "pages/search/types/ecosystems"; import SearchAPI from "utils/searchAPI"; @@ -35,7 +34,7 @@ interface State { } interface Props { - SEValues: SEValues; + SEValues: EDValues; } class EcosystemDetails extends React.Component { mounted = false; From 6e1de39f9a562afa19bab03db874797290c555d3 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 19 Aug 2022 17:53:13 -0500 Subject: [PATCH 134/664] restore SearchContext import --- .../strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx index a2225e690..4ac7a0b95 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx @@ -1,10 +1,10 @@ import React from "react"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { transformPAValues, transformCoverageValues, } from "pages/search/utils/transformData"; -import { SearchContextValues } from "pages/search/SearchContext"; import GraphLoader from "components/charts/GraphLoader"; import matchColor from "utils/matchColor"; @@ -149,3 +149,4 @@ class EcosystemDetails extends React.Component { } export default EcosystemDetails; +EcosystemDetails.contextType = SearchContext; From 8f609af94164608811d62b63ca66da124e4b5c10 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 22 Aug 2022 10:57:18 -0500 Subject: [PATCH 135/664] locate ecosystems functions in correct place --- src/utils/searchAPI.ts | 68 +++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index e9822e20d..fd92c91f3 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -221,40 +221,6 @@ class SearchAPI { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/hf/persistence`); } - /** - * Get the coverage area distribution by selected strategic ecosystem and geofence - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} seType strategic ecosystem type - */ - static requestSECoverageByGeofence( - areaType: string, - areaId: string | number, - seType: string - ): Promise> { - return SearchAPI.makeGetRequest( - `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` - ); - } - - /** - * Get the the protected area by selected strategic ecosystems and geofence - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {Number} seType type of strategic ecosystem to request - */ - static requestSEPAByGeofence( - areaType: string, - areaId: string | number, - seType: string - ): Promise> { - return SearchAPI.makeGetRequest( - `/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` - ); - } - /** * Get the human footprint timeline data in the given area. * @@ -307,6 +273,40 @@ class SearchAPI { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/se/${seType}`); } + /** + * Get the coverage area distribution by selected strategic ecosystem and geofence + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} seType strategic ecosystem type + */ + static requestSECoverageByGeofence( + areaType: string, + areaId: string | number, + seType: string + ): Promise> { + return SearchAPI.makeGetRequest( + `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + ); + } + + /** + * Get the the protected area by selected strategic ecosystems and geofence + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {Number} seType type of strategic ecosystem to request + */ + static requestSEPAByGeofence( + areaType: string, + areaId: string | number, + seType: string + ): Promise> { + return SearchAPI.makeGetRequest( + `/pa/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` + ); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From 9e1435110756559940b50faec9f497107d8996c0 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 22 Aug 2022 11:36:59 -0500 Subject: [PATCH 136/664] undo prettier style in js file --- src/utils/restAPI.js | 281 +++++++++++++++---------------------------- 1 file changed, 100 insertions(+), 181 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 9f133d119..8ee14f1cb 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -1,4 +1,4 @@ -import axios, { CancelToken } from "axios"; +import axios, { CancelToken } from 'axios'; class RestAPI { /** @@ -8,10 +8,13 @@ class RestAPI { * @param {String} password password in database */ static requestUser(username, password) { - return RestAPI.makePostRequest("users/login", { - username: `${username}`, - password: `${password}`, - }); + return RestAPI.makePostRequest( + 'users/login', + { + username: `${username}`, + password: `${password}`, + }, + ); } /** ************* */ @@ -24,9 +27,7 @@ class RestAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ static requestCoverage(areaType, areaId) { - return RestAPI.makeGetRequest( - `ecosystems/coverage?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`ecosystems/coverage?areaType=${areaType}&areaId=${areaId}`); } /** @@ -60,19 +61,7 @@ class RestAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ static requestStrategicEcosystems(areaType, areaId) { - return RestAPI.makeGetRequest( - `ecosystems/se?areaType=${areaType}&areaId=${areaId}` - ); - } - - /** - * Recover the strategic ecosystems values in the area selected - * @param {Number} idArea id area to request - * @param {Number} idGeofence id geofence to request - * @param {Number} seType strategic ecosystem type to request details - */ - static requestSEDetailInArea(idArea, idGeofence, seType) { - return RestAPI.makeGetRequest(`${idArea}/${idGeofence}/se/${seType}`); + return RestAPI.makeGetRequest(`ecosystems/se?areaType=${areaType}&areaId=${areaId}`); } /** @@ -88,42 +77,42 @@ class RestAPI { * Recover a list with all basin areas available in the database */ static getAllBasinAreas() { - return RestAPI.makeGetRequest("basinAreas"); + return RestAPI.makeGetRequest('basinAreas'); } /** * Recover a list with all basin zones available in the database */ static getAllZones() { - return RestAPI.makeGetRequest("basinZones"); + return RestAPI.makeGetRequest('basinZones'); } /** * Recover a list with all basin subzones available in the database */ static getAllSubzones() { - return RestAPI.makeGetRequest("basinSubzones"); + return RestAPI.makeGetRequest('basinSubzones'); } /** * Recover a list with all States available in the database */ static getAllStates() { - return RestAPI.makeGetRequest("states"); + return RestAPI.makeGetRequest('states'); } /** * Recover a list with all Strategic Ecosystems availables in the database */ static getAllSEs() { - return RestAPI.makeGetRequest("se/primary"); + return RestAPI.makeGetRequest('se/primary'); } /** * Recover a list with all Environmental Authorities availables in the database */ static getAllEAs() { - return RestAPI.makeGetRequest("ea"); + return RestAPI.makeGetRequest('ea'); } /** @@ -147,9 +136,7 @@ class RestAPI { */ static requestNumberOfSpecies(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species?areaType=${areaType}&areaId=${areaId}${ - group ? `&group=${group}` : "" - }` + `richness/number-species?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, ); } @@ -165,9 +152,7 @@ class RestAPI { */ static requestNSThresholds(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${ - group ? `&group=${group}` : "" - }` + `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, ); } @@ -182,9 +167,7 @@ class RestAPI { */ static requestNSNationalMax(areaType, group) { return RestAPI.makeGetRequest( - `richness/number-species/nationalMax?areaType=${areaType}${ - group ? `&group=${group}` : "" - }` + `richness/number-species/nationalMax?areaType=${areaType}${group ? `&group=${group}` : ''}`, ); } @@ -197,9 +180,7 @@ class RestAPI { * @return {Promise} Object with values of richness species gaps */ static requestGaps(areaType, areaId) { - return RestAPI.makeGetRequest( - `richness/gaps?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`richness/gaps?areaType=${areaType}&areaId=${areaId}`); } /** @@ -211,9 +192,7 @@ class RestAPI { * @return {Promise} Object with values of richness species concentration */ static requestConcentration(areaType, areaId) { - return RestAPI.makeGetRequest( - `richness/concentration?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`richness/concentration?areaType=${areaType}&areaId=${areaId}`); } /** @@ -225,9 +204,7 @@ class RestAPI { * @return {Promise} Object with values of functional diversity in the dry forest */ static requestDryForestValues(areaType, areaId) { - return RestAPI.makeGetRequest( - `functional-diversity/dry-forest/values?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`functional-diversity/dry-forest/values?areaType=${areaType}&areaId=${areaId}`); } /** @@ -239,9 +216,7 @@ class RestAPI { * @return {Promise} Array of objects with values of functional features in the dry forest */ static requestDryForestFeatures(areaType, areaId) { - return RestAPI.makeGetRequest( - `functional-diversity/dry-forest/features?areaType=${areaType}&areaId=${areaId}` - ); + return RestAPI.makeGetRequest(`functional-diversity/dry-forest/features?areaType=${areaType}&areaId=${areaId}`); } /** @@ -251,7 +226,7 @@ class RestAPI { * * @return {Promise} Object with texts */ - static requestSectionTexts(key) { + static requestSectionTexts(key) { return RestAPI.makeGetRequest(`util/texts?key=${key}`); } @@ -268,9 +243,7 @@ class RestAPI { static requestBiomesbyEAGeometry(eaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`ea/layers/${eaId}/biomes`, { - cancelToken: source.token, - }), + request: RestAPI.makeGetRequest(`ea/layers/${eaId}/biomes`, { cancelToken: source.token }), source, }; } @@ -286,9 +259,7 @@ class RestAPI { static requestNationalGeometryByArea(areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaId}/layers/national`, { - cancelToken: source.token, - }), + request: RestAPI.makeGetRequest(`${areaId}/layers/national`, { cancelToken: source.token }), source, }; } @@ -304,9 +275,7 @@ class RestAPI { static requestGeofenceGeometryByArea(areaId, geofenceId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest(`${areaId}/layers/${geofenceId}`, { - cancelToken: source.token, - }), + request: RestAPI.makeGetRequest(`${areaId}/layers/${geofenceId}`, { cancelToken: source.token }), source, }; } @@ -325,8 +294,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `ecosystems/coverage/layer?areaType=${areaType}&areaId=${areaId}&coverageType=${coverageType}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -342,13 +311,13 @@ class RestAPI { * * @return {Promise} layer object to be loaded in the map */ - static requestCoveragesSELayer(areaType, areaId, coverageType, seType) { + static requestCoveragesSELayer(areaType, areaId, coverageType, seType) { const source = CancelToken.source(); return { request: RestAPI.makeGetRequest( `ecosystems/coverage/se/layer?areaType=${areaType}&areaId=${areaId}&coverageType=${coverageType}&seType=${seType}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -365,10 +334,7 @@ class RestAPI { static requestCurrentHFGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/hf/layers/current/categories`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/layers/current/categories`, { cancelToken: source.token }), source, }; } @@ -384,10 +350,7 @@ class RestAPI { static requestHFPersistenceGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/hf/layers/persistence`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/hf/layers/persistence`, { cancelToken: source.token }), source, }; } @@ -405,33 +368,24 @@ class RestAPI { static requestHFGeometryBySEInGeofence(areaType, areaId, seType) { const source = CancelToken.source(); switch (seType) { - case "dryForest": + case 'dryForest': return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/se/layers/Bosque Seco Tropical`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Bosque Seco Tropical`, { cancelToken: source.token }), source, }; - case "paramo": + case 'paramo': return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/se/layers/Páramo`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Páramo`, { cancelToken: source.token }), source, }; - case "wetland": + case 'wetland': return { - request: RestAPI.makeGetRequest( - `${areaType}/${areaId}/se/layers/Humedal`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`${areaType}/${areaId}/se/layers/Humedal`, { cancelToken: source.token }), source, }; default: return { - request: Promise.reject(new Error("undefined option")), + request: Promise.reject(new Error('undefined option')), source, }; } @@ -449,10 +403,7 @@ class RestAPI { static requestSCIHFGeometry(areaType, areaId) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `forest/sci/hf/layer?areaType=${areaType}&areaId=${areaId}`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`forest/sci/hf/layer?areaType=${areaType}&areaId=${areaId}`, { cancelToken: source.token }), source, }; } @@ -471,10 +422,7 @@ class RestAPI { static requestSCIHFPAGeometry(areaType, areaId, sciCat, hfPers) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `forest/sci/${sciCat}/hf/${hfPers}/layer?areaType=${areaType}&areaId=${areaId}`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`forest/sci/${sciCat}/hf/${hfPers}/layer?areaType=${areaType}&areaId=${areaId}`, { cancelToken: source.token }), source, }; } @@ -495,8 +443,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `forest/lp/layer?areaType=${areaType}&areaId=${areaId}&period=${period}&category=${category}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -514,10 +462,7 @@ class RestAPI { static requestDPCLayer(areaType, areaId, paNumber) { const source = CancelToken.source(); return { - request: RestAPI.makeGetRequest( - `connectivity/dpc/layer?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`, - { cancelToken: source.token } - ), + request: RestAPI.makeGetRequest(`connectivity/dpc/layer?areaType=${areaType}&areaId=${areaId}&paNumber=${paNumber}`, { cancelToken: source.token }), source, }; } @@ -535,33 +480,33 @@ class RestAPI { static requestPAConnSELayer(areaType, areaId, seType) { const source = CancelToken.source(); switch (seType) { - case "dryForestPAConn": + case 'dryForestPAConn': return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Bosque Seco Tropical`, - { cancelToken: source.token } + { cancelToken: source.token }, ), source, }; - case "paramoPAConn": + case 'paramoPAConn': return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Páramo`, - { cancelToken: source.token } + { cancelToken: source.token }, ), source, }; - case "wetlandPAConn": + case 'wetlandPAConn': return { request: RestAPI.makeGetRequest( `connectivity/se/layer?areaType=${areaType}&areaId=${areaId}&seType=Humedal`, - { cancelToken: source.token } + { cancelToken: source.token }, ), source, }; default: return { - request: Promise.reject(new Error("undefined option")), + request: Promise.reject(new Error('undefined option')), source, }; } @@ -582,8 +527,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `richness/number-species/layer?areaType=${areaType}&areaId=${areaId}&group=${group}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -601,7 +546,7 @@ class RestAPI { */ static requestNOSLayerThresholds(areaType, areaId, group) { return RestAPI.makeGetRequest( - `richness/number-species/layer/thresholds?areaType=${areaType}&areaId=${areaId}&group=${group}` + `richness/number-species/layer/thresholds?areaType=${areaType}&areaId=${areaId}&group=${group}`, ); } @@ -616,7 +561,7 @@ class RestAPI { /** TODO: implement all this endpoint and also the backend response * to find information according to polygon coordinates * */ - return RestAPI.makePostRequest("polygon", { + return RestAPI.makePostRequest('polygon', { latLngs: polygon.latLngs, }); } @@ -634,8 +579,8 @@ class RestAPI { return { request: RestAPI.makeGetRequest( `richness/gaps/layer?areaType=${areaType}&areaId=${areaId}`, - { cancelToken: source.token, responseType: "arraybuffer" }, - true + { cancelToken: source.token, responseType: 'arraybuffer' }, + true, ), source, }; @@ -651,7 +596,7 @@ class RestAPI { */ static requestGapsLayerThresholds(areaType, areaId) { return RestAPI.makeGetRequest( - `richness/gaps/layer/thresholds?areaType=${areaType}&areaId=${areaId}` + `richness/gaps/layer/thresholds?areaType=${areaType}&areaId=${areaId}`, ); } @@ -666,9 +611,7 @@ class RestAPI { * @param {String} projectId id project to request */ static requestImpactedBiomes(companyId, projectId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}/biomes` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}/biomes`); } /** @@ -678,9 +621,7 @@ class RestAPI { * @param {String} projectId id project to request */ static requestImpactedBiomesDecisionTree(companyId, projectId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}/decisionTree` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}/decisionTree`); } /** @@ -691,7 +632,7 @@ class RestAPI { * @param {String} eaId environmental authority id */ static requestAvailableStrategies(biomeId, subzoneId, eaId) { - return RestAPI.makePostRequest("strategies/biomeSubzoneEA", { + return RestAPI.makePostRequest('strategies/biomeSubzoneEA', { id_biome: biomeId, id_subzone: subzoneId, id_ea: eaId, @@ -705,9 +646,7 @@ class RestAPI { * @param {String} projectId id project to request */ static requestProjectByIdAndCompany(companyId, projectId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects/${projectId}`); } /** @@ -715,16 +654,14 @@ class RestAPI { * @param {String} companyId id company to request */ static requestProjectsAndRegionsByCompany(companyId) { - return RestAPI.makeGetRequest( - `companies/${companyId}/projects?group_props=id_region,prj_status` - ); + return RestAPI.makeGetRequest(`companies/${companyId}/projects?group_props=id_region,prj_status`); } /** * Recover all biomes available in the database */ static getAllBiomes() { - return RestAPI.makeGetRequest("biomes"); + return RestAPI.makeGetRequest('biomes'); } /** @@ -736,22 +673,20 @@ class RestAPI { id_company: companyId, id_region: `${regionId}`, prj_status: `${statusId}`, - details: "Project created by user", + details: 'Project created by user', }; - return RestAPI.makePostRequest( - `companies/${companyId}/projects`, - requestBody - ).then((res) => ({ - id_project: res.gid, - id_company: res.id_company, - region: res.id_region, - state: res.prj_status, - name: res.name, - type: "button", - project: res.name.toUpperCase(), - label: res.name, - area: 0, - })); + return RestAPI.makePostRequest(`companies/${companyId}/projects`, requestBody) + .then((res) => ({ + id_project: res.gid, + id_company: res.id_company, + region: res.id_region, + state: res.prj_status, + name: res.name, + type: 'button', + project: res.name.toUpperCase(), + label: res.name, + area: 0, + })); } /** @@ -771,10 +706,7 @@ class RestAPI { area_to_compensate_ha: biome.area_to_compensate_ha, area_impacted_pct: biome.area_impacted_pct, })); - return RestAPI.makePostRequest( - `companies/${companyId}/projects/${projectId}/biomes`, - cleanBiomes - ); + return RestAPI.makePostRequest(`companies/${companyId}/projects/${projectId}/biomes`, cleanBiomes); } /** @@ -784,11 +716,10 @@ class RestAPI { * @param {Number} projectId project id * @param {Object} strategy strategy to save information */ - static createProjectStrategy = (companyId, projectId, strategy) => - RestAPI.makePostRequest( - `companies/${companyId}/projects/${projectId}/strategies`, - strategy - ); + static createProjectStrategy = (companyId, projectId, strategy) => RestAPI.makePostRequest( + `companies/${companyId}/projects/${projectId}/strategies`, + strategy, + ) /** * Save many strategies as selected for the given project @@ -797,12 +728,9 @@ class RestAPI { * @param {Number} projectId project id * @param {Object[]} strategies list of strategies to save */ - static bulkSaveStrategies = (companyId, projectId, strategies) => - Promise.all( - strategies.map((strategy) => - RestAPI.createProjectStrategy(companyId, projectId, strategy) - ) - ); + static bulkSaveStrategies = (companyId, projectId, strategies) => Promise.all( + strategies.map((strategy) => RestAPI.createProjectStrategy(companyId, projectId, strategy)), + ) /** * Request the selected strategies for the given project @@ -810,18 +738,16 @@ class RestAPI { * @param {Numer} companyId company id * @param {Number} projectId project id */ - static getSavedStrategies = (companyId, projectId) => - RestAPI.makeGetRequest( - `companies/${companyId}/projects/${projectId}/strategies` - ); + static getSavedStrategies = (companyId, projectId) => RestAPI.makeGetRequest( + `companies/${companyId}/projects/${projectId}/strategies`, + ) /** * Download the strategies saved in the given project */ - static downloadProjectStrategiesUrl = (companyId, projectId) => - RestAPI.makeGetRequest( - `/companies/${companyId}/projects/${projectId}/strategies/download` - ); + static downloadProjectStrategiesUrl = (companyId, projectId) => RestAPI.makeGetRequest( + `/companies/${companyId}/projects/${projectId}/strategies/download`, + ) /** ************** */ /** BASE FUNCTIONS */ @@ -839,8 +765,7 @@ class RestAPI { Authorization: `apiKey ${process.env.REACT_APP_BACKEND_KEY}`, }, }; - return axios - .get(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, config) + return axios.get(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, config) .then((res) => { if (completeRes) { return res; @@ -849,12 +774,11 @@ class RestAPI { }) .catch((error) => { if (axios.isCancel(error)) { - return Promise.resolve("request canceled"); + return Promise.resolve('request canceled'); } - let message = "Bad GET response. Try later"; + let message = 'Bad GET response. Try later'; if (error.response) message = error.response.status; - if (error.request && error.request.statusText === "") - message = "no-data-available"; + if (error.request && error.request.statusText === '') message = 'no-data-available'; return Promise.reject(message); }); } @@ -871,17 +795,12 @@ class RestAPI { Authorization: `apiKey ${process.env.REACT_APP_BACKEND_KEY}`, }, }; - return axios - .post( - `${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, - requestBody, - config - ) + return axios.post(`${process.env.REACT_APP_BACKEND_URL}/${endpoint}`, requestBody, config) .then((res) => res.data) .catch((error) => { - let message = "Bad POST response. Try later"; + let message = 'Bad POST response. Try later'; if (error.response) message = error.response.status; - if (error.request.statusText === "") message = "no-data-available"; + if (error.request.statusText === '') message = 'no-data-available'; return Promise.reject(message); }); } From b3b8a97c0ae0ab4d6b2926d0b31e771a0de3b381 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 23 Aug 2022 12:07:55 -0500 Subject: [PATCH 137/664] Separate GraphLoader --- src/components/charts/GraphLoader.jsx | 62 --------- src/pages/compensation/Drawer.jsx | 2 +- src/pages/compensation/drawer/GraphLoader.jsx | 122 ++++++++++++++++++ .../drawer/graphLoader}/DotInfo.jsx | 0 .../drawer/graphLoader}/DotsGraph.jsx | 0 5 files changed, 123 insertions(+), 63 deletions(-) create mode 100644 src/pages/compensation/drawer/GraphLoader.jsx rename src/{components/charts => pages/compensation/drawer/graphLoader}/DotInfo.jsx (100%) rename src/{components/charts => pages/compensation/drawer/graphLoader}/DotsGraph.jsx (100%) diff --git a/src/components/charts/GraphLoader.jsx b/src/components/charts/GraphLoader.jsx index db361717f..37b2660e1 100644 --- a/src/components/charts/GraphLoader.jsx +++ b/src/components/charts/GraphLoader.jsx @@ -1,10 +1,7 @@ -import DownloadIcon from '@mui/icons-material/Save'; import PropTypes from 'prop-types'; import React from 'react'; import SingleBulletGraph from 'components/charts/SingleBulletGraph'; -import DotInfo from 'components/charts/DotInfo'; -import DotsGraph from 'components/charts/DotsGraph'; import LargeBarStackGraph from 'components/charts/LargeBarStackGraph'; import MultiLinesGraph from 'components/charts/MultiLinesGraph'; import MultiSmallBarStackGraph from 'components/charts/MultiSmallBarStackGraph'; @@ -16,14 +13,9 @@ const GraphLoader = (props) => { const { graphType, data, - graphTitle, colors, labelX, labelY, - width, - elementOnClick, - activeBiome, - showOnlyTitle, units, padding, onClickGraphHandler, @@ -120,54 +112,6 @@ const GraphLoader = (props) => { labelXLeft={labelXLeft} /> ); - case 'Dots': - return ( -
-

- - Ecosistemas Equivalentes -

- { !showOnlyTitle && ( -
-

- Agrega uno o varios Biomas a tus opciones de compensación -
- FC - - Alto - - - Medio - - - Bajo - - y cantidad de area afectada -

- -
- )} -
- ); - case 'DotInfo': - return ( - - ); case 'MultiLinesGraph': return ( { + const { + graphType, + data, + graphTitle, + colors, + labelX, + labelY, + width, + elementOnClick, + activeBiome, + showOnlyTitle, + units, + message, + } = props; + + let errorMessage = null; + // TODO: don't relay on data being null for a loading state + if (data === null || message === 'loading') { + errorMessage = 'Cargando información...'; + } else if (!data || data.length <= 0 || Object.keys(data).length === 0 || message === 'no-data') { + errorMessage = 'Información no disponible'; + } + if (errorMessage) { + return ( +
+ {errorMessage} +
+ ); + } + + switch (graphType) { + case 'Dots': + return ( +
+

+ + Ecosistemas Equivalentes +

+ { !showOnlyTitle && ( +
+

+ Agrega uno o varios Biomas a tus opciones de compensación +
+ FC + + Alto + + + Medio + + + Bajo + + y cantidad de area afectada +

+ +
+ )} +
+ ); + case 'DotInfo': + return ( + + ); + default: + return <>; + } +}; + +GraphLoader.propTypes = { + graphType: PropTypes.string.isRequired, + data: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.array, + ]).isRequired, + graphTitle: PropTypes.string, + activeBiome: PropTypes.string, + labelX: PropTypes.string, + labelY: PropTypes.string, + width: PropTypes.number.isRequired, + showOnlyTitle: PropTypes.bool, + units: PropTypes.string, + elementOnClick: PropTypes.func, + colors: PropTypes.array, + message: PropTypes.string, +}; + +GraphLoader.defaultProps = { + graphTitle: '', + activeBiome: '', + labelX: '', + labelY: '', + showOnlyTitle: false, + units: '', + elementOnClick: () => {}, + colors: [], + message: null, +}; + +export default GraphLoader; diff --git a/src/components/charts/DotInfo.jsx b/src/pages/compensation/drawer/graphLoader/DotInfo.jsx similarity index 100% rename from src/components/charts/DotInfo.jsx rename to src/pages/compensation/drawer/graphLoader/DotInfo.jsx diff --git a/src/components/charts/DotsGraph.jsx b/src/pages/compensation/drawer/graphLoader/DotsGraph.jsx similarity index 100% rename from src/components/charts/DotsGraph.jsx rename to src/pages/compensation/drawer/graphLoader/DotsGraph.jsx From 13a027c9bc3b9b75859cb352e705bafb4d0f8f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 23 Aug 2022 12:11:01 -0500 Subject: [PATCH 138/664] Separate TabContainer --- src/pages/compensation/Drawer.jsx | 2 +- .../compensation/drawer/TabContainer.jsx | 76 +++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 src/pages/compensation/drawer/TabContainer.jsx diff --git a/src/pages/compensation/Drawer.jsx b/src/pages/compensation/Drawer.jsx index 718ceb836..46dc333a9 100644 --- a/src/pages/compensation/Drawer.jsx +++ b/src/pages/compensation/Drawer.jsx @@ -18,7 +18,7 @@ import StrategiesBox from 'pages/compensation/drawer/StrategiesBox'; import TableStylized from 'pages/compensation/drawer/TableStylized'; import ConfirmationModal from 'components/ConfirmationModal'; import GraphLoader from 'pages/compensation/drawer/GraphLoader'; -import TabContainer from 'components/TabContainer'; +import TabContainer from 'pages/compensation/drawer/TabContainer'; import AppContext from 'app/AppContext'; const styles = () => ({ diff --git a/src/pages/compensation/drawer/TabContainer.jsx b/src/pages/compensation/drawer/TabContainer.jsx new file mode 100644 index 000000000..b22ca564b --- /dev/null +++ b/src/pages/compensation/drawer/TabContainer.jsx @@ -0,0 +1,76 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import AppBar from '@mui/material/AppBar'; +import Tabs from '@mui/material/Tabs'; +import Tab from '@mui/material/Tab'; +import Typography from '@mui/material/Typography'; + +class TabContainer extends React.Component { + constructor(props) { + const { initialSelectedIndex } = props; + super(props); + this.state = { + value: initialSelectedIndex, + }; + } + + /** + * Function to change visible content on tabs click + */ + changeTab = (event, value) => { + this.setState({ value }); + }; + + render() { + const { + children, titles, tabClasses, + } = this.props; + const { value } = this.state; + return ( +
+ + + {titles.map(({ + label, icon, disabled, selected, + }, i) => ( + + ))} + + + {children.map((child, i) => ( + value === i && ( + + {child} + + ) + ))} +
+ ); + } +} + +TabContainer.propTypes = { + children: PropTypes.node.isRequired, + initialSelectedIndex: PropTypes.number, + titles: PropTypes.array.isRequired, + tabClasses: PropTypes.string, +}; + +TabContainer.defaultProps = { + tabClasses: '', + initialSelectedIndex: 1, +}; + +export default TabContainer; From e997a3ad3c323b9f352cce02d9cdff19cd774cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 23 Aug 2022 12:15:58 -0500 Subject: [PATCH 139/664] Remove unused chart --- src/pages/compensation/drawer/GraphLoader.jsx | 9 -- .../drawer/graphLoader/DotInfo.jsx | 101 ------------------ 2 files changed, 110 deletions(-) delete mode 100644 src/pages/compensation/drawer/graphLoader/DotInfo.jsx diff --git a/src/pages/compensation/drawer/GraphLoader.jsx b/src/pages/compensation/drawer/GraphLoader.jsx index bc80b2054..3236267c9 100644 --- a/src/pages/compensation/drawer/GraphLoader.jsx +++ b/src/pages/compensation/drawer/GraphLoader.jsx @@ -1,7 +1,6 @@ import DownloadIcon from '@mui/icons-material/Save'; import PropTypes from 'prop-types'; -import DotInfo from 'pages/compensation/drawer/graphLoader/DotInfo'; import DotsGraph from 'pages/compensation/drawer/graphLoader/DotsGraph'; const GraphLoader = (props) => { @@ -76,14 +75,6 @@ const GraphLoader = (props) => { )} ); - case 'DotInfo': - return ( - - ); default: return <>; } diff --git a/src/pages/compensation/drawer/graphLoader/DotInfo.jsx b/src/pages/compensation/drawer/graphLoader/DotInfo.jsx deleted file mode 100644 index 87693fc71..000000000 --- a/src/pages/compensation/drawer/graphLoader/DotInfo.jsx +++ /dev/null @@ -1,101 +0,0 @@ -import React from 'react'; -import { GlyphCircle } from '@vx/glyph'; -import { withTooltip, Tooltip } from '@vx/tooltip'; - -import formatNumber from 'utils/format'; - -let tooltipTimeout; - -export default withTooltip(({ - width, height, data, elementOnClick, - hideTooltip, showTooltip, tooltipOpen, tooltipTop, -}) => { - const margin = { - top: 40, bottom: 60, left: 40, right: 50, - }; - if (width < 10) return null; - if (height < 10) return null; - - const area = formatNumber(data.area, 2); - const percentage = parseFloat(data.percentage).toFixed(2); - - return ( -
-
-

- Resumen -

- - () => { - clearTimeout(tooltipTimeout); - showTooltip({ - tooltipTop: margin.top + 1.5, - tooltipData: area, - }); - }} - onMouseLeave={() => () => { - tooltipTimeout = setTimeout(() => { - hideTooltip(); - }, 500); - }} - onClick={() => () => { - elementOnClick(percentage); - }} - > - - {`${percentage}%`} - - - - {`${area} ha`} - - -

- Porcentaje de este ecosistema a nivel nacional y cantidad de hectáreas -

- {tooltipOpen && ( - -
-
- - {'Porcentaje del total: '} - - {`${percentage} %`} -
-
-
- )} -
-
- ); -}); From d880c419ee013c5be8ba91f6b5c80554bc35f202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 23 Aug 2022 15:04:18 -0500 Subject: [PATCH 140/664] Organize shared components --- src/pages/Search.jsx | 2 +- src/pages/search/Drawer.jsx | 2 +- src/pages/search/PolygonDrawer.jsx | 108 ++++++++++++++++++ src/pages/search/drawer/Ecosystems.jsx | 6 +- .../drawer/landscape/CompensationFactor.tsx | 6 +- .../connectivity/CurrentPAConnectivity.tsx | 8 +- .../connectivity/CurrentSEPAConnectivity.tsx | 8 +- .../connectivity/TimelinePAConnectivity.tsx | 6 +- .../landscape/forest/ForestIntegrity.tsx | 13 ++- .../forest/ForestLossPersistence.tsx | 8 +- .../humanFootprint/CurrentFootprint.tsx | 6 +- .../humanFootprint/PersistenceFootprint.tsx | 6 +- .../humanFootprint/TimelineFootprint.tsx | 6 +- .../functionalDiversity/TropicalDryForest.jsx | 4 +- .../species/richness/NumberOfSpecies.jsx | 10 +- .../species/richness/SpeciesRecordsGaps.jsx | 8 +- .../strategicEcosystems/EcosystemsBox.tsx | 2 +- .../ecosystemsBox/EcosystemDetails.tsx | 2 +- .../search/shared_components}/CssIcons.jsx | 0 .../search/shared_components}/CssLegends.jsx | 0 .../search/shared_components}/DownloadCSV.jsx | 0 .../shared_components}/GradientLegend.jsx | 0 .../shared_components}/TabContainer.jsx | 0 .../search/shared_components}/TextBoxes.tsx | 4 +- .../search/shared_components}/Tooltips.jsx | 0 .../shared_components}/charts/BarItem.tsx | 0 .../shared_components}/charts/GraphLoader.jsx | 14 +-- .../charts/LargeBarStackGraph.tsx | 0 .../charts/MultiLinesGraph.jsx | 0 .../charts/MultiSmallBarStackGraph.tsx | 0 .../charts/MultiSmallSingleBarGraph.tsx | 0 .../shared_components}/charts/PieGraph.tsx | 0 .../charts/SingleBulletGraph.jsx | 0 .../charts/SmallBarStackGraph.tsx | 2 +- 34 files changed, 171 insertions(+), 60 deletions(-) create mode 100644 src/pages/search/PolygonDrawer.jsx rename src/{components => pages/search/shared_components}/CssIcons.jsx (100%) rename src/{components => pages/search/shared_components}/CssLegends.jsx (100%) rename src/{components => pages/search/shared_components}/DownloadCSV.jsx (100%) rename src/{components => pages/search/shared_components}/GradientLegend.jsx (100%) rename src/{components => pages/search/shared_components}/TabContainer.jsx (100%) rename src/{components => pages/search/shared_components}/TextBoxes.tsx (95%) rename src/{components => pages/search/shared_components}/Tooltips.jsx (100%) rename src/{components => pages/search/shared_components}/charts/BarItem.tsx (100%) rename src/{components => pages/search/shared_components}/charts/GraphLoader.jsx (86%) rename src/{components => pages/search/shared_components}/charts/LargeBarStackGraph.tsx (100%) rename src/{components => pages/search/shared_components}/charts/MultiLinesGraph.jsx (100%) rename src/{components => pages/search/shared_components}/charts/MultiSmallBarStackGraph.tsx (100%) rename src/{components => pages/search/shared_components}/charts/MultiSmallSingleBarGraph.tsx (100%) rename src/{components => pages/search/shared_components}/charts/PieGraph.tsx (100%) rename src/{components => pages/search/shared_components}/charts/SingleBulletGraph.jsx (100%) rename src/{components => pages/search/shared_components}/charts/SmallBarStackGraph.tsx (97%) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 071d77c05..c8edd6fc7 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -14,7 +14,7 @@ import isUndefinedOrNull from 'utils/validations'; import GeoServerAPI from 'utils/geoServerAPI'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; -import GradientLegend from 'components/GradientLegend'; +import GradientLegend from 'pages/search/shared_components/GradientLegend'; import MapViewer from 'pages/search/MapViewer'; import { SELabel } from 'pages/search/utils/appropriate_labels'; diff --git a/src/pages/search/Drawer.jsx b/src/pages/search/Drawer.jsx index 9693b9e19..59df92da0 100644 --- a/src/pages/search/Drawer.jsx +++ b/src/pages/search/Drawer.jsx @@ -12,7 +12,7 @@ import Species from 'pages/search/drawer/Species'; import Ecosystems from 'pages/search/drawer/Ecosystems'; import formatNumber from 'utils/format'; import RestAPI from 'utils/restAPI'; -import TabContainer from 'components/TabContainer'; +import TabContainer from 'pages/search/shared_components/TabContainer'; const styles = () => ({ root: { diff --git a/src/pages/search/PolygonDrawer.jsx b/src/pages/search/PolygonDrawer.jsx new file mode 100644 index 000000000..318714c5c --- /dev/null +++ b/src/pages/search/PolygonDrawer.jsx @@ -0,0 +1,108 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import withStyles from '@mui/styles/withStyles'; +import BackIcon from '@mui/icons-material/FirstPage'; +import Ecosistemas from '@mui/icons-material/Nature'; +import Especies from '@mui/icons-material/FilterVintage'; +import Paisaje from '@mui/icons-material/FilterHdr'; + +import SearchContext from 'pages/search/SearchContext'; +import Landscape from 'pages/search/drawer/Landscape'; +import Species from 'pages/search/drawer/Species'; +import Ecosystems from 'pages/search/drawer/Ecosystems'; +import formatNumber from 'utils/format'; +import RestAPI from 'utils/restAPI'; +import TabContainer from 'pages/search/shared_components/TabContainer'; + +const styles = () => ({ + root: { + width: '100%', + backgroundColor: 'transparent', + }, +}); + +class PolygonDrawer extends React.Component { + constructor(props) { + super(props); + this.state = { + geofenceArea: 0, + }; + } + + componentDidMount() { + const { + areaId, + geofenceId, + } = this.context; + + const searchId = geofenceId; + + RestAPI.requestGeofenceDetails(areaId, searchId) + .then((res) => { + this.setState({ geofenceArea: Number(res.total_area) }); + }) + .catch(() => {}); + } + + render() { + const { handlerBackButton } = this.props; + + const { + geofenceArea, + } = this.state; + + return ( +
+
+ +
+

+ hectáreas totales !!!! :P + {`${formatNumber(geofenceArea, 0)} ha`} +

+
+
+ ) }, + { label: 'Paisaje', icon: () }, + { label: 'Especies', icon: () }, + ]} + > + {geofenceArea !== 0 && ( +
+ +
+ )} +
+ +
+
+ +
+
+
+ ); + } +} + +PolygonDrawer.propTypes = { + handlerBackButton: PropTypes.func, +}; + +PolygonDrawer.defaultProps = { + handlerBackButton: () => {}, +}; + +export default withStyles(styles)(PolygonDrawer); + +PolygonDrawer.contextType = SearchContext; diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index 770276e3d..3835ef867 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -3,10 +3,10 @@ import PropTypes from 'prop-types'; import InfoIcon from '@mui/icons-material/Info'; -import GraphLoader from 'components/charts/GraphLoader'; +import GraphLoader from 'pages/search/shared_components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'components/Tooltips'; -import TextBoxes from 'components/TextBoxes'; +import { IconTooltip } from 'pages/search/shared_components/Tooltips'; +import TextBoxes from 'pages/search/shared_components/TextBoxes'; import { transformPAValues, transformCoverageValues, diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index 5f8ae7530..72c6a9cd3 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -1,13 +1,13 @@ import InfoIcon from "@mui/icons-material/Info"; import React from "react"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { biomes, cf, bioticUnits } from "pages/search/types/compensationFactor"; import { TextObject } from "pages/search/types/texts"; diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 5d8b1f2ff..ce85454d5 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -1,15 +1,15 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "components/charts/GraphLoader"; -import { LegendColor } from "components/CssLegends"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; +import { LegendColor } from "pages/search/shared_components/CssLegends"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; import formatNumber from "utils/format"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import { currentPAConn, DPCKeys, DPC } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx index 215d7aed7..cb81dcb30 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx @@ -1,15 +1,15 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "components/charts/GraphLoader"; -import DownloadCSV from "components/DownloadCSV"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; +import DownloadCSV from "pages/search/shared_components/DownloadCSV"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import formatNumber from "utils/format"; import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import { currentSEPAConn, diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index b1e18f84c..b462074ef 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -1,13 +1,13 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import matchColor from "utils/matchColor"; import processDataCsv from "utils/processDataCsv"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import { timelinePAConn, timeLinePAConnValues, diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx index ae06f8f39..528e6c138 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -1,12 +1,15 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "components/charts/GraphLoader"; -import { LegendColor, BorderLegendColor } from "components/CssLegends"; -import DownloadCSV from "components/DownloadCSV"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; +import { + LegendColor, + BorderLegendColor, +} from "pages/search/shared_components/CssLegends"; +import DownloadCSV from "pages/search/shared_components/DownloadCSV"; import ShortInfo from "components/ShortInfo"; -import TextBoxes from "components/TextBoxes"; -import { IconTooltip } from "components/Tooltips"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 201cce75a..0299b9ac2 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -2,15 +2,15 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; import formatNumber from "utils/format"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; -import { MultiSmallBarStackGraphData } from "components/charts/MultiSmallBarStackGraph"; +import { MultiSmallBarStackGraphData } from "pages/search/shared_components/charts/MultiSmallBarStackGraph"; import { TextObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; diff --git a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx index c4941c883..219a2d53b 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx @@ -3,12 +3,12 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import { currentHFValue, diff --git a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx index d1aa34e17..d36a10e06 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx @@ -2,12 +2,12 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import { hfPersistence } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index fe3490d08..30c656368 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -1,15 +1,15 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "components/Tooltips"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import formatNumber from "utils/format"; import matchColor from "utils/matchColor"; import processDataCsv from "utils/processDataCsv"; import SearchAPI from "utils/searchAPI"; -import TextBoxes from "components/TextBoxes"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import { hfTimeline } from "pages/search/types/humanFootprint"; import { seDetails } from "pages/search/types/ecosystems"; diff --git a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx index 22b313a94..7e5e67690 100644 --- a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx +++ b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx @@ -1,8 +1,8 @@ import React from 'react'; import InfoIcon from '@mui/icons-material/Info'; -import { IconTooltip } from 'components/Tooltips'; -import GraphLoader from 'components/charts/GraphLoader'; +import { IconTooltip } from 'pages/search/shared_components/Tooltips'; +import GraphLoader from 'pages/search/shared_components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import SearchContext from 'pages/search/SearchContext'; import RestAPI from 'utils/restAPI'; diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx index f5c574679..ae4145afa 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx @@ -1,15 +1,15 @@ import React from 'react'; import InfoIcon from '@mui/icons-material/Info'; -import { IconTooltip } from 'components/Tooltips'; -import GraphLoader from 'components/charts/GraphLoader'; +import { IconTooltip } from 'pages/search/shared_components/Tooltips'; +import GraphLoader from 'pages/search/shared_components/charts/GraphLoader'; import { LegendColor, LineLegend, TextLegend, ThickLineLegend, -} from 'components/CssLegends'; -import Icon from 'components/CssIcons'; +} from 'pages/search/shared_components/CssLegends'; +import Icon from 'pages/search/shared_components/CssIcons'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import SearchContext from 'pages/search/SearchContext'; @@ -22,7 +22,7 @@ import mappoint2 from 'images/mappoint2.png'; import biomodeloslink from 'images/biomodeloslink.png'; import biomodeloslink2 from 'images/biomodeloslink2.png'; import fullview from 'images/fullview.png'; -import TextBoxes from 'components/TextBoxes'; +import TextBoxes from 'pages/search/shared_components/TextBoxes'; const NOSTexts = { inferred: {}, diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx index 578381183..b92b3961c 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx @@ -1,16 +1,16 @@ import React from 'react'; import InfoIcon from '@mui/icons-material/Info'; -import { IconTooltip } from 'components/Tooltips'; -import GraphLoader from 'components/charts/GraphLoader'; -import { LineLegend, LegendColor } from 'components/CssLegends'; +import { IconTooltip } from 'pages/search/shared_components/Tooltips'; +import GraphLoader from 'pages/search/shared_components/charts/GraphLoader'; +import { LineLegend, LegendColor } from 'pages/search/shared_components/CssLegends'; import matchColor from 'utils/matchColor'; import ShortInfo from 'components/ShortInfo'; import SearchContext from 'pages/search/SearchContext'; import RestAPI from 'utils/restAPI'; import isFlagEnabled from 'utils/isFlagEnabled'; -import TextBoxes from 'components/TextBoxes'; +import TextBoxes from 'pages/search/shared_components/TextBoxes'; const areaTypeName = (areaType) => { switch (areaType) { diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx index 7f95740c3..24d7c1fab 100644 --- a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx +++ b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx @@ -2,7 +2,7 @@ import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import React from "react"; import EcosystemDetails from "pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import formatNumber from "utils/format"; import matchColor from "utils/matchColor"; import { transformSEValues } from "pages/search/utils/transformData"; diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx index 4ac7a0b95..f11165ff5 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx @@ -5,7 +5,7 @@ import { transformPAValues, transformCoverageValues, } from "pages/search/utils/transformData"; -import GraphLoader from "components/charts/GraphLoader"; +import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import matchColor from "utils/matchColor"; import { SEKey } from "pages/search/utils/appropriate_keys"; diff --git a/src/components/CssIcons.jsx b/src/pages/search/shared_components/CssIcons.jsx similarity index 100% rename from src/components/CssIcons.jsx rename to src/pages/search/shared_components/CssIcons.jsx diff --git a/src/components/CssLegends.jsx b/src/pages/search/shared_components/CssLegends.jsx similarity index 100% rename from src/components/CssLegends.jsx rename to src/pages/search/shared_components/CssLegends.jsx diff --git a/src/components/DownloadCSV.jsx b/src/pages/search/shared_components/DownloadCSV.jsx similarity index 100% rename from src/components/DownloadCSV.jsx rename to src/pages/search/shared_components/DownloadCSV.jsx diff --git a/src/components/GradientLegend.jsx b/src/pages/search/shared_components/GradientLegend.jsx similarity index 100% rename from src/components/GradientLegend.jsx rename to src/pages/search/shared_components/GradientLegend.jsx diff --git a/src/components/TabContainer.jsx b/src/pages/search/shared_components/TabContainer.jsx similarity index 100% rename from src/components/TabContainer.jsx rename to src/pages/search/shared_components/TabContainer.jsx diff --git a/src/components/TextBoxes.tsx b/src/pages/search/shared_components/TextBoxes.tsx similarity index 95% rename from src/components/TextBoxes.tsx rename to src/pages/search/shared_components/TextBoxes.tsx index a75666671..ec61c8acb 100644 --- a/src/components/TextBoxes.tsx +++ b/src/pages/search/shared_components/TextBoxes.tsx @@ -5,8 +5,8 @@ import CollectionsBookmarkIcon from "@mui/icons-material/CollectionsBookmark"; import FormatQuoteIcon from "@mui/icons-material/FormatQuote"; import ShortInfo from "components/ShortInfo"; -import DownloadCSV from "components/DownloadCSV"; -import { IconTooltip } from "components/Tooltips"; +import DownloadCSV from "pages/search/shared_components/DownloadCSV"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; interface TextBoxProps { downloadData?: Array; diff --git a/src/components/Tooltips.jsx b/src/pages/search/shared_components/Tooltips.jsx similarity index 100% rename from src/components/Tooltips.jsx rename to src/pages/search/shared_components/Tooltips.jsx diff --git a/src/components/charts/BarItem.tsx b/src/pages/search/shared_components/charts/BarItem.tsx similarity index 100% rename from src/components/charts/BarItem.tsx rename to src/pages/search/shared_components/charts/BarItem.tsx diff --git a/src/components/charts/GraphLoader.jsx b/src/pages/search/shared_components/charts/GraphLoader.jsx similarity index 86% rename from src/components/charts/GraphLoader.jsx rename to src/pages/search/shared_components/charts/GraphLoader.jsx index 37b2660e1..87ce5987a 100644 --- a/src/components/charts/GraphLoader.jsx +++ b/src/pages/search/shared_components/charts/GraphLoader.jsx @@ -1,13 +1,13 @@ import PropTypes from 'prop-types'; import React from 'react'; -import SingleBulletGraph from 'components/charts/SingleBulletGraph'; -import LargeBarStackGraph from 'components/charts/LargeBarStackGraph'; -import MultiLinesGraph from 'components/charts/MultiLinesGraph'; -import MultiSmallBarStackGraph from 'components/charts/MultiSmallBarStackGraph'; -import MultiSmallSingleBarGraph from 'components/charts/MultiSmallSingleBarGraph'; -import PieGraph from 'components/charts/PieGraph'; -import SmallBarStackGraph from 'components/charts/SmallBarStackGraph'; +import SingleBulletGraph from 'pages/search/shared_components/charts/SingleBulletGraph'; +import LargeBarStackGraph from 'pages/search/shared_components/charts/LargeBarStackGraph'; +import MultiLinesGraph from 'pages/search/shared_components/charts/MultiLinesGraph'; +import MultiSmallBarStackGraph from 'pages/search/shared_components/charts/MultiSmallBarStackGraph'; +import MultiSmallSingleBarGraph from 'pages/search/shared_components/charts/MultiSmallSingleBarGraph'; +import PieGraph from 'pages/search/shared_components/charts/PieGraph'; +import SmallBarStackGraph from 'pages/search/shared_components/charts/SmallBarStackGraph'; const GraphLoader = (props) => { const { diff --git a/src/components/charts/LargeBarStackGraph.tsx b/src/pages/search/shared_components/charts/LargeBarStackGraph.tsx similarity index 100% rename from src/components/charts/LargeBarStackGraph.tsx rename to src/pages/search/shared_components/charts/LargeBarStackGraph.tsx diff --git a/src/components/charts/MultiLinesGraph.jsx b/src/pages/search/shared_components/charts/MultiLinesGraph.jsx similarity index 100% rename from src/components/charts/MultiLinesGraph.jsx rename to src/pages/search/shared_components/charts/MultiLinesGraph.jsx diff --git a/src/components/charts/MultiSmallBarStackGraph.tsx b/src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx similarity index 100% rename from src/components/charts/MultiSmallBarStackGraph.tsx rename to src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx diff --git a/src/components/charts/MultiSmallSingleBarGraph.tsx b/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx similarity index 100% rename from src/components/charts/MultiSmallSingleBarGraph.tsx rename to src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx diff --git a/src/components/charts/PieGraph.tsx b/src/pages/search/shared_components/charts/PieGraph.tsx similarity index 100% rename from src/components/charts/PieGraph.tsx rename to src/pages/search/shared_components/charts/PieGraph.tsx diff --git a/src/components/charts/SingleBulletGraph.jsx b/src/pages/search/shared_components/charts/SingleBulletGraph.jsx similarity index 100% rename from src/components/charts/SingleBulletGraph.jsx rename to src/pages/search/shared_components/charts/SingleBulletGraph.jsx diff --git a/src/components/charts/SmallBarStackGraph.tsx b/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx similarity index 97% rename from src/components/charts/SmallBarStackGraph.tsx rename to src/pages/search/shared_components/charts/SmallBarStackGraph.tsx index f9c581dc6..d7a6fa615 100644 --- a/src/components/charts/SmallBarStackGraph.tsx +++ b/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx @@ -2,7 +2,7 @@ import React from "react"; import PropTypes from "prop-types"; import { ResponsiveBar } from "@nivo/bar"; -import BarItem from "components/charts/BarItem"; +import BarItem from "pages/search/shared_components/charts/BarItem"; import formatNumber from "utils/format"; interface Props { From 5fab2e3cb9a3bb92bc3df645a3e38caa48114db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 23 Aug 2022 15:26:56 -0500 Subject: [PATCH 141/664] Fix bug accessing to a basin subzone directly --- src/pages/Search.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index c8edd6fc7..8cba493f1 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -124,7 +124,7 @@ class Search extends Component { const inputArea = tempAreaList.find((area) => area.id === selectedAreaTypeId); if (inputArea && inputArea.data && inputArea.data.length > 0) { const field = 'id'; - const inputId = inputArea.data.find((area) => area[field] === selectedAreaId); + const inputId = inputArea.data.find((area) => String(area[field]) === selectedAreaId); if (inputId) { this.setArea(selectedAreaTypeId); this.setState( From fd57ca8e822614e56c6e7475ba7e56bdfd8c943f Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 24 Aug 2022 13:16:27 -0500 Subject: [PATCH 142/664] Migrate to typescript component Forest --- src/pages/search/drawer/landscape/Forest.jsx | 55 -------------------- src/pages/search/drawer/landscape/Forest.tsx | 44 ++++++++++++++++ 2 files changed, 44 insertions(+), 55 deletions(-) delete mode 100644 src/pages/search/drawer/landscape/Forest.jsx create mode 100644 src/pages/search/drawer/landscape/Forest.tsx diff --git a/src/pages/search/drawer/landscape/Forest.jsx b/src/pages/search/drawer/landscape/Forest.jsx deleted file mode 100644 index e2454ef15..000000000 --- a/src/pages/search/drawer/landscape/Forest.jsx +++ /dev/null @@ -1,55 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; - -import Accordion from 'pages/search/Accordion'; -import ForestIntegrity from 'pages/search/drawer/landscape/forest/ForestIntegrity'; -import ForestLossPersistence from 'pages/search/drawer/landscape/forest/ForestLossPersistence'; - -const Forest = (props) => { - const { - handleAccordionChange, - openTab, - } = props; - - const componentsArray = [ - { - label: { - id: 'forestLP-2016-2021', - name: 'Perdida y persistencia', - collapsed: openTab !== 'forestLP-2016-2021', - }, - component: ForestLossPersistence, - }, - { - label: { - id: 'forestIntegrity', - name: 'Integridad', - collapsed: openTab !== 'forestIntegrity', - }, - component: ForestIntegrity, - }, - ]; - return ( -
- -
- ); -}; - -Forest.propTypes = { - handleAccordionChange: PropTypes.func, - openTab: PropTypes.string, -}; - -Forest.defaultProps = { - handleAccordionChange: () => {}, - openTab: '', -}; - -export default Forest; diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx new file mode 100644 index 000000000..6a48c0619 --- /dev/null +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -0,0 +1,44 @@ +import Accordion from "pages/search/Accordion"; +import ForestIntegrity from "pages/search/drawer/landscape/forest/ForestIntegrity"; +import ForestLossPersistence from "pages/search/drawer/landscape/forest/ForestLossPersistence"; + +interface Props { + handleAccordionChange: () => {}; + openTab: string; +} + +const Forest = (props: Props) => { + const { handleAccordionChange, openTab } = props; + + const componentsArray = [ + { + label: { + id: "forestLP-2016-2021", + name: "Perdida y persistencia", + collapsed: openTab !== "forestLP-2016-2021", + }, + component: ForestLossPersistence, + }, + { + label: { + id: "forestIntegrity", + name: "Integridad", + collapsed: openTab !== "forestIntegrity", + }, + component: ForestIntegrity, + }, + ]; + return ( +
+ +
+ ); +}; + +export default Forest; From 8c11c84a9cb18b5edb7b18c2bf969cbf380fb635 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 24 Aug 2022 13:16:56 -0500 Subject: [PATCH 143/664] Migrate to typescript component HumanFootprint --- .../drawer/landscape/HumanFootprint.jsx | 74 ------------------- .../drawer/landscape/HumanFootprint.tsx | 67 +++++++++++++++++ 2 files changed, 67 insertions(+), 74 deletions(-) delete mode 100644 src/pages/search/drawer/landscape/HumanFootprint.jsx create mode 100644 src/pages/search/drawer/landscape/HumanFootprint.tsx diff --git a/src/pages/search/drawer/landscape/HumanFootprint.jsx b/src/pages/search/drawer/landscape/HumanFootprint.jsx deleted file mode 100644 index 93cd214e3..000000000 --- a/src/pages/search/drawer/landscape/HumanFootprint.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import AddIcon from '@mui/icons-material/Add'; -import PropTypes from 'prop-types'; -import React from 'react'; - -import Accordion from 'pages/search/Accordion'; -import CurrentFootprint from 'pages/search/drawer/landscape/humanFootprint/CurrentFootprint'; -import PersistenceFooprint from 'pages/search/drawer/landscape/humanFootprint/PersistenceFootprint'; -import TimelineFootprint from 'pages/search/drawer/landscape/humanFootprint/TimelineFootprint'; - -const HumanFootprint = (props) => { - const { - handleAccordionChange, - openTab, - } = props; - - const componentsArray = [ - { - label: { - id: 'hfCurrent', - name: 'Actual', - collapsed: openTab !== 'hfCurrent', - expandIcon: , - detailId: 'Huella humana actual en área de consulta', - description: 'Huella humana identificada en el último año de medición disponible, sobre el área de consulta', - }, - component: CurrentFootprint, - }, - { - label: { - id: 'hfPersistence', - name: 'Persistencia', - collapsed: openTab !== 'hfPersistence', - expandIcon: , - detailId: 'Persistencia de la huella humana en la unidad de consulta', - description: 'Representa la persistencia desde el origen del muestreo hasta el periodo actual, producto de análisis de huella humana en el tiempo y en esta área de consulta', - }, - component: PersistenceFooprint, - }, - { - label: { - id: 'hfTimeline', - name: 'Histórico y Ecosistémas estratégicos (EE)', - collapsed: openTab !== 'hfTimeline', - expandIcon: , - detailId: 'Huella humana a través del tiempo en el área', - description: 'Representa diferentes análisis de huella humana en esta área de consulta', - }, - component: TimelineFootprint, - }, - ]; - return ( -
- -
- ); -}; - -HumanFootprint.propTypes = { - handleAccordionChange: PropTypes.func, - openTab: PropTypes.string, -}; - -HumanFootprint.defaultProps = { - handleAccordionChange: () => {}, - openTab: '', -}; - -export default HumanFootprint; diff --git a/src/pages/search/drawer/landscape/HumanFootprint.tsx b/src/pages/search/drawer/landscape/HumanFootprint.tsx new file mode 100644 index 000000000..746f3fb01 --- /dev/null +++ b/src/pages/search/drawer/landscape/HumanFootprint.tsx @@ -0,0 +1,67 @@ +import AddIcon from "@mui/icons-material/Add"; + +import Accordion from "pages/search/Accordion"; +import CurrentFootprint from "pages/search/drawer/landscape/humanFootprint/CurrentFootprint"; +import PersistenceFooprint from "pages/search/drawer/landscape/humanFootprint/PersistenceFootprint"; +import TimelineFootprint from "pages/search/drawer/landscape/humanFootprint/TimelineFootprint"; + +interface Props { + handleAccordionChange: () => {}; + openTab: string; +} + +const HumanFootprint = (props: Props) => { + const { handleAccordionChange, openTab } = props; + + const componentsArray = [ + { + label: { + id: "hfCurrent", + name: "Actual", + collapsed: openTab !== "hfCurrent", + expandIcon: , + detailId: "Huella humana actual en área de consulta", + description: + "Huella humana identificada en el último año de medición disponible, sobre el área de consulta", + }, + component: CurrentFootprint, + }, + { + label: { + id: "hfPersistence", + name: "Persistencia", + collapsed: openTab !== "hfPersistence", + expandIcon: , + detailId: "Persistencia de la huella humana en la unidad de consulta", + description: + "Representa la persistencia desde el origen del muestreo hasta el periodo actual, producto de análisis de huella humana en el tiempo y en esta área de consulta", + }, + component: PersistenceFooprint, + }, + { + label: { + id: "hfTimeline", + name: "Histórico y Ecosistémas estratégicos (EE)", + collapsed: openTab !== "hfTimeline", + expandIcon: , + detailId: "Huella humana a través del tiempo en el área", + description: + "Representa diferentes análisis de huella humana en esta área de consulta", + }, + component: TimelineFootprint, + }, + ]; + return ( +
+ +
+ ); +}; + +export default HumanFootprint; From 91aed6a4c1a7b6512c76974f3e4ed53eb2b6c05f Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 24 Aug 2022 13:17:08 -0500 Subject: [PATCH 144/664] Migrate to typescript component PAConnectivity --- .../drawer/landscape/PAConnectivity.jsx | 64 ------------------- .../drawer/landscape/PAConnectivity.tsx | 53 +++++++++++++++ 2 files changed, 53 insertions(+), 64 deletions(-) delete mode 100644 src/pages/search/drawer/landscape/PAConnectivity.jsx create mode 100644 src/pages/search/drawer/landscape/PAConnectivity.tsx diff --git a/src/pages/search/drawer/landscape/PAConnectivity.jsx b/src/pages/search/drawer/landscape/PAConnectivity.jsx deleted file mode 100644 index a9a5592fe..000000000 --- a/src/pages/search/drawer/landscape/PAConnectivity.jsx +++ /dev/null @@ -1,64 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; - -import Accordion from 'pages/search/Accordion'; -import CurrentPAConnectivity from 'pages/search/drawer/landscape/connectivity/CurrentPAConnectivity'; -import TimelinePAConnectivity from 'pages/search/drawer/landscape/connectivity/TimelinePAConnectivity'; -import CurrentSEPAConnectivity from 'pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity'; - -const PAConnectivity = (props) => { - const { - handleAccordionChange, - openTab, - } = props; - - const componentsArray = [ - { - label: { - id: 'currentPAConn', - name: 'Actual', - collapsed: openTab !== 'currentPAConn', - }, - component: CurrentPAConnectivity, - }, - { - label: { - id: 'timelinePAConn', - name: 'Histórico', - collapsed: openTab !== 'timelinePAConn', - }, - component: TimelinePAConnectivity, - }, - { - label: { - id: 'currentSEPAConn', - name: 'Ecosistemas Estratégicos (EE)', - collapsed: openTab !== 'currentSEPAConn', - }, - component: CurrentSEPAConnectivity, - }, - ]; - return ( -
- -
- ); -}; - -PAConnectivity.propTypes = { - handleAccordionChange: PropTypes.func, - openTab: PropTypes.string, -}; - -PAConnectivity.defaultProps = { - handleAccordionChange: () => {}, - openTab: '', -}; - -export default PAConnectivity; diff --git a/src/pages/search/drawer/landscape/PAConnectivity.tsx b/src/pages/search/drawer/landscape/PAConnectivity.tsx new file mode 100644 index 000000000..91dc6fc44 --- /dev/null +++ b/src/pages/search/drawer/landscape/PAConnectivity.tsx @@ -0,0 +1,53 @@ +import Accordion from "pages/search/Accordion"; +import CurrentPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentPAConnectivity"; +import TimelinePAConnectivity from "pages/search/drawer/landscape/connectivity/TimelinePAConnectivity"; +import CurrentSEPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity"; + +interface Props { + handleAccordionChange: () => {}; + openTab: string; +} + +const PAConnectivity = (props: Props) => { + const { handleAccordionChange, openTab } = props; + + const componentsArray = [ + { + label: { + id: "currentPAConn", + name: "Actual", + collapsed: openTab !== "currentPAConn", + }, + component: CurrentPAConnectivity, + }, + { + label: { + id: "timelinePAConn", + name: "Histórico", + collapsed: openTab !== "timelinePAConn", + }, + component: TimelinePAConnectivity, + }, + { + label: { + id: "currentSEPAConn", + name: "Ecosistemas Estratégicos (EE)", + collapsed: openTab !== "currentSEPAConn", + }, + component: CurrentSEPAConnectivity, + }, + ]; + return ( +
+ +
+ ); +}; + +export default PAConnectivity; From d95c758b98186dfc1f8e3e096e9d83c67a7f5bd2 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 24 Aug 2022 14:34:14 -0500 Subject: [PATCH 145/664] Type function handleAccordionChange --- src/pages/search/drawer/landscape/Forest.tsx | 2 +- src/pages/search/drawer/landscape/HumanFootprint.tsx | 2 +- src/pages/search/drawer/landscape/PAConnectivity.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx index 6a48c0619..fc4c7abf9 100644 --- a/src/pages/search/drawer/landscape/Forest.tsx +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -3,7 +3,7 @@ import ForestIntegrity from "pages/search/drawer/landscape/forest/ForestIntegrit import ForestLossPersistence from "pages/search/drawer/landscape/forest/ForestLossPersistence"; interface Props { - handleAccordionChange: () => {}; + handleAccordionChange(level: string, tabLayerId: string): void; openTab: string; } diff --git a/src/pages/search/drawer/landscape/HumanFootprint.tsx b/src/pages/search/drawer/landscape/HumanFootprint.tsx index 746f3fb01..a4687ca25 100644 --- a/src/pages/search/drawer/landscape/HumanFootprint.tsx +++ b/src/pages/search/drawer/landscape/HumanFootprint.tsx @@ -6,7 +6,7 @@ import PersistenceFooprint from "pages/search/drawer/landscape/humanFootprint/Pe import TimelineFootprint from "pages/search/drawer/landscape/humanFootprint/TimelineFootprint"; interface Props { - handleAccordionChange: () => {}; + handleAccordionChange(level: string, tabLayerId: string): void; openTab: string; } diff --git a/src/pages/search/drawer/landscape/PAConnectivity.tsx b/src/pages/search/drawer/landscape/PAConnectivity.tsx index 91dc6fc44..cd1e38fcb 100644 --- a/src/pages/search/drawer/landscape/PAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/PAConnectivity.tsx @@ -4,7 +4,7 @@ import TimelinePAConnectivity from "pages/search/drawer/landscape/connectivity/T import CurrentSEPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity"; interface Props { - handleAccordionChange: () => {}; + handleAccordionChange(level: string, tabLayerId: string): void; openTab: string; } From 007c01d87d12d3335ed1b1fd248e304313be716a Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 24 Aug 2022 15:23:28 -0500 Subject: [PATCH 146/664] Change def type for handleAccordionChange --- src/pages/search/drawer/landscape/Forest.tsx | 2 +- src/pages/search/drawer/landscape/HumanFootprint.tsx | 2 +- src/pages/search/drawer/landscape/PAConnectivity.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx index fc4c7abf9..09fc09d58 100644 --- a/src/pages/search/drawer/landscape/Forest.tsx +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -3,7 +3,7 @@ import ForestIntegrity from "pages/search/drawer/landscape/forest/ForestIntegrit import ForestLossPersistence from "pages/search/drawer/landscape/forest/ForestLossPersistence"; interface Props { - handleAccordionChange(level: string, tabLayerId: string): void; + handleAccordionChange: (level: string, tabLayerId: string) => void; openTab: string; } diff --git a/src/pages/search/drawer/landscape/HumanFootprint.tsx b/src/pages/search/drawer/landscape/HumanFootprint.tsx index a4687ca25..1f5ad9498 100644 --- a/src/pages/search/drawer/landscape/HumanFootprint.tsx +++ b/src/pages/search/drawer/landscape/HumanFootprint.tsx @@ -6,7 +6,7 @@ import PersistenceFooprint from "pages/search/drawer/landscape/humanFootprint/Pe import TimelineFootprint from "pages/search/drawer/landscape/humanFootprint/TimelineFootprint"; interface Props { - handleAccordionChange(level: string, tabLayerId: string): void; + handleAccordionChange: (level: string, tabLayerId: string) => void; openTab: string; } diff --git a/src/pages/search/drawer/landscape/PAConnectivity.tsx b/src/pages/search/drawer/landscape/PAConnectivity.tsx index cd1e38fcb..ceeeda134 100644 --- a/src/pages/search/drawer/landscape/PAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/PAConnectivity.tsx @@ -4,7 +4,7 @@ import TimelinePAConnectivity from "pages/search/drawer/landscape/connectivity/T import CurrentSEPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity"; interface Props { - handleAccordionChange(level: string, tabLayerId: string): void; + handleAccordionChange: (level: string, tabLayerId: string) => void; openTab: string; } From d4421eb30957ea911998cbe835be1eac447b89ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 24 Aug 2022 17:32:42 -0500 Subject: [PATCH 147/664] Create HOC for charts --- .../charts/withMessageWrapper.tsx | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/pages/search/shared_components/charts/withMessageWrapper.tsx diff --git a/src/pages/search/shared_components/charts/withMessageWrapper.tsx b/src/pages/search/shared_components/charts/withMessageWrapper.tsx new file mode 100644 index 000000000..5beaaec81 --- /dev/null +++ b/src/pages/search/shared_components/charts/withMessageWrapper.tsx @@ -0,0 +1,29 @@ +import React from "react"; + +interface MessageProps { + message: string | null; +} + +const withMessageWrapper = ( + WrappedChart: React.ComponentType> +) => { + const WithMessageWrapper: React.FC = (props) => { + const { message, ...otherProps } = props; + let errorMessage = null; + if (message === "loading") { + errorMessage = "Cargando información..."; + } else if (message === "no-data") { + errorMessage = "Información no disponible"; + } + if (errorMessage) { + return
{errorMessage}
; + } + return ; + }; + WithMessageWrapper.displayName = `WithMessageWrapper(${ + WrappedChart.displayName || WrappedChart.name || "Chart" + })`; + return WithMessageWrapper; +}; + +export default withMessageWrapper; From 798b0cc42d02e2887a928ddff29eb8a04166128f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 24 Aug 2022 17:34:53 -0500 Subject: [PATCH 148/664] Change use of Pie chart --- .../search/drawer/landscape/forest/ForestIntegrity.tsx | 8 ++++---- src/pages/search/shared_components/charts/PieGraph.tsx | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx index 528e6c138..1b653880f 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -17,6 +17,7 @@ import SearchAPI from "utils/searchAPI"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { SCICats, HFCats, SCIHF } from "pages/search/types/forest"; import { TextObject } from "pages/search/types/texts"; +import PieGraph from "pages/search/shared_components/charts/PieGraph"; type SCIHFCats = `${typeof SCICats[number]}-${typeof HFCats[number]}`; /** @@ -224,14 +225,13 @@ class ForestIntegrity extends React.Component { Límite de áreas protegidas
- { - this.setState({ selectedCategory: sectionId }); + onClickHandler={(sectionId: string) => { + this.setState({ selectedCategory: sectionId as SCIHFCats }); handlerClickOnGraph({ chartType: "SciHf", selectedKey: sectionId, diff --git a/src/pages/search/shared_components/charts/PieGraph.tsx b/src/pages/search/shared_components/charts/PieGraph.tsx index 5ecd7dfed..e6d3f738f 100644 --- a/src/pages/search/shared_components/charts/PieGraph.tsx +++ b/src/pages/search/shared_components/charts/PieGraph.tsx @@ -3,6 +3,7 @@ import React from "react"; import formatNumber from "utils/format"; import { lightenColor, darkenColor } from "utils/colorUtils"; +import withMessageWrapper from "./withMessageWrapper"; interface Props { data: Array; @@ -32,7 +33,7 @@ class PieGraph extends React.Component { render() { const { - height = 300, + height = 450, units = "ha", onClickHandler, colors, @@ -79,4 +80,4 @@ class PieGraph extends React.Component { } } -export default PieGraph; +export default withMessageWrapper(PieGraph); From ee58107a30672c1169c733c02dbed801d1d4e885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 24 Aug 2022 18:05:08 -0500 Subject: [PATCH 149/664] Create type for char wrapper message --- .../search/shared_components/charts/withMessageWrapper.tsx | 4 +++- src/pages/search/types/charts.ts | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 src/pages/search/types/charts.ts diff --git a/src/pages/search/shared_components/charts/withMessageWrapper.tsx b/src/pages/search/shared_components/charts/withMessageWrapper.tsx index 5beaaec81..8c27d0589 100644 --- a/src/pages/search/shared_components/charts/withMessageWrapper.tsx +++ b/src/pages/search/shared_components/charts/withMessageWrapper.tsx @@ -1,7 +1,9 @@ import React from "react"; +import { wrapperMessage } from "pages/search/types/charts"; + interface MessageProps { - message: string | null; + message: wrapperMessage; } const withMessageWrapper = ( diff --git a/src/pages/search/types/charts.ts b/src/pages/search/types/charts.ts new file mode 100644 index 000000000..8c7c43da7 --- /dev/null +++ b/src/pages/search/types/charts.ts @@ -0,0 +1 @@ +export type wrapperMessage = "loading" | "no-data" | null; From abeff425d0275253d76d94e4adb77d51928d4d5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 25 Aug 2022 11:45:49 -0500 Subject: [PATCH 150/664] Change use of SmallBarStack chart --- src/pages/search/drawer/Ecosystems.jsx | 12 +- .../landscape/forest/ForestIntegrity.tsx | 13 +- .../strategicEcosystems/EcosystemsBox.tsx | 7 +- .../ecosystemsBox/EcosystemDetails.tsx | 119 ++++++++++-------- .../charts/SmallBarStackGraph.tsx | 7 +- .../charts/withMessageWrapper.tsx | 9 +- src/pages/search/types/charts.ts | 2 +- src/pages/search/utils/transformData.js | 1 + 8 files changed, 96 insertions(+), 74 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index 3835ef867..62388bfd3 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -3,7 +3,6 @@ import PropTypes from 'prop-types'; import InfoIcon from '@mui/icons-material/Info'; -import GraphLoader from 'pages/search/shared_components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import { IconTooltip } from 'pages/search/shared_components/Tooltips'; import TextBoxes from 'pages/search/shared_components/TextBoxes'; @@ -17,6 +16,7 @@ import SearchContext from 'pages/search/SearchContext'; import formatNumber from 'utils/format'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; +import SmallBarStackGraph from 'pages/search/shared_components/charts/SmallBarStackGraph'; /** * Calculate percentage for a given value according to total @@ -291,10 +291,9 @@ class StrategicEcosystems extends React.Component {
- { @@ -336,10 +335,9 @@ class StrategicEcosystems extends React.Component {
Distribución por áreas protegidas:
- diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx index 1b653880f..aea1b3203 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -1,7 +1,6 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import { LegendColor, BorderLegendColor, @@ -18,6 +17,8 @@ import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { SCICats, HFCats, SCIHF } from "pages/search/types/forest"; import { TextObject } from "pages/search/types/texts"; import PieGraph from "pages/search/shared_components/charts/PieGraph"; +import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; +import { wrapperMessage } from "pages/search/types/charts"; type SCIHFCats = `${typeof SCICats[number]}-${typeof HFCats[number]}`; /** @@ -38,7 +39,7 @@ interface PA { key: string; label: string; area: number; - percentage?: number; + percentage: number; } interface Props {} @@ -59,7 +60,7 @@ interface FIState { [Property in SCIHFCats]: Array; }; selectedCategory: SCIHFCats | null; - loading: string | null; + loading: wrapperMessage; } class ForestIntegrity extends React.Component { @@ -144,12 +145,14 @@ class ForestIntegrity extends React.Component { key: elem.pa, label: elem.pa, area: elem.area, + percentage: 0, }); } else { PAs[idx].unshift({ key: elem.pa, label: elem.pa, area: elem.area, + percentage: 0, }); } }); @@ -267,9 +270,9 @@ class ForestIntegrity extends React.Component { filename={`bt_fi_areas_${selectedCategory}_${areaId}_${geofenceId}.csv`} />
- diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx index 24d7c1fab..cbaf27254 100644 --- a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx +++ b/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx @@ -2,11 +2,11 @@ import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import React from "react"; import EcosystemDetails from "pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import formatNumber from "utils/format"; import matchColor from "utils/matchColor"; import { transformSEValues } from "pages/search/utils/transformData"; import { EDValues } from "pages/search/types/ecosystems"; +import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; interface Props { SETotalArea: number; @@ -57,8 +57,9 @@ class EcosystemsBox extends React.Component { )} {!stopLoad && Number(SEValues.area) !== 0 && ( - | null; - paData: Array | null; + coverageData: Array; + paData: Array; stopLoad: boolean; + messages: { + coverage: wrapperMessage; + pa: wrapperMessage; + }; } interface Props { @@ -42,9 +47,13 @@ class EcosystemDetails extends React.Component { constructor(props: Props) { super(props); this.state = { - coverageData: null, - paData: null, + coverageData: [], + paData: [], stopLoad: false, + messages: { + coverage: "loading", + pa: "loading", + }, }; } @@ -61,18 +70,44 @@ class EcosystemDetails extends React.Component { SearchAPI.requestSECoverageByGeofence(areaId, geofenceId, SEType) .then((res) => { if (this.mounted) { - this.setState({ coverageData: transformCoverageValues(res) }); + this.setState((prev) => ({ + coverageData: transformCoverageValues(res), + messages: { + ...prev.messages, + coverage: null, + }, + })); } }) - .catch(() => {}); + .catch(() => { + this.setState((prev) => ({ + messages: { + ...prev.messages, + coverage: "custom", + }, + })); + }); SearchAPI.requestSEPAByGeofence(areaId, geofenceId, SEType) .then((res) => { if (this.mounted) { - this.setState({ paData: transformPAValues(res, SEArea) }); + this.setState((prev) => ({ + paData: transformPAValues(res, SEArea), + messages: { + ...prev.messages, + pa: null, + }, + })); } }) - .catch(() => {}); + .catch(() => { + this.setState((prev) => ({ + messages: { + ...prev.messages, + pa: "custom", + }, + })); + }); switchLayer(`seCoverages-${SEKey(SEType)}`); } @@ -86,7 +121,7 @@ class EcosystemDetails extends React.Component { } render() { - const { coverageData, paData, stopLoad } = this.state; + const { coverageData, paData, stopLoad, messages } = this.state; const { SEValues } = this.props; const { handlerClickOnGraph } = this.context as SearchContextValues; if (!stopLoad) { @@ -94,52 +129,30 @@ class EcosystemDetails extends React.Component {

Distribución de coberturas: - {!coverageData && ( - -
- Cargando información... -
- )} - {coverageData && coverageData.length <= 0 && ( - No hay información disponible de coberturas - )} - {coverageData && coverageData.length > 0 && ( - { - handlerClickOnGraph({ - chartType: "seCoverage", - chartSection: SEKey(SEValues.type), - selectedKey: selected, - }); - }} - /> - )} + { + handlerClickOnGraph({ + chartType: "seCoverage", + chartSection: SEKey(SEValues.type), + selectedKey: selected, + }); + }} + />

Distribución en áreas protegidas: - {!paData && ( - -
- Cargando información... -
- )} - {paData && paData.length <= 0 && ( -
- Sin áreas protegidas -
- )} - {paData && paData.length > 0 && ( - - )} +

); diff --git a/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx b/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx index d7a6fa615..9f0f32c88 100644 --- a/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx +++ b/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx @@ -4,13 +4,14 @@ import { ResponsiveBar } from "@nivo/bar"; import BarItem from "pages/search/shared_components/charts/BarItem"; import formatNumber from "utils/format"; +import withMessageWrapper from "./withMessageWrapper"; interface Props { data: Array; height?: number; colors: (key: string) => string; units?: string; - onClickGraphHandler: (key: string) => void; + onClickGraphHandler?: (key: string) => void; } export interface SmallBarStackGraphData { @@ -112,10 +113,10 @@ const SmallBarStackGraph = (props: Props) => { animate barComponent={BarItem} tooltip={({ id, data: allData }) => getToolTip(id, allData)} - onClick={({ id }) => onClickGraphHandler(String(id))} + onClick={({ id }) => onClickGraphHandler?.(String(id))} />
); }; -export default SmallBarStackGraph; +export default withMessageWrapper(SmallBarStackGraph); diff --git a/src/pages/search/shared_components/charts/withMessageWrapper.tsx b/src/pages/search/shared_components/charts/withMessageWrapper.tsx index 8c27d0589..618087764 100644 --- a/src/pages/search/shared_components/charts/withMessageWrapper.tsx +++ b/src/pages/search/shared_components/charts/withMessageWrapper.tsx @@ -4,18 +4,23 @@ import { wrapperMessage } from "pages/search/types/charts"; interface MessageProps { message: wrapperMessage; + customMessage?: string; } const withMessageWrapper = ( - WrappedChart: React.ComponentType> + WrappedChart: React.ComponentType< + Omit + > ) => { const WithMessageWrapper: React.FC = (props) => { - const { message, ...otherProps } = props; + const { message, customMessage, ...otherProps } = props; let errorMessage = null; if (message === "loading") { errorMessage = "Cargando información..."; } else if (message === "no-data") { errorMessage = "Información no disponible"; + } else if (message === "custom") { + errorMessage = customMessage; } if (errorMessage) { return
{errorMessage}
; diff --git a/src/pages/search/types/charts.ts b/src/pages/search/types/charts.ts index 8c7c43da7..c03a42efa 100644 --- a/src/pages/search/types/charts.ts +++ b/src/pages/search/types/charts.ts @@ -1 +1 @@ -export type wrapperMessage = "loading" | "no-data" | null; +export type wrapperMessage = "loading" | "no-data" | "custom" | null; diff --git a/src/pages/search/utils/transformData.js b/src/pages/search/utils/transformData.js index 0c49af47f..852675ef8 100644 --- a/src/pages/search/utils/transformData.js +++ b/src/pages/search/utils/transformData.js @@ -66,6 +66,7 @@ export const transformSEValues = (seRawData, SETotalArea) => { key: 'NA', area: (SETotalArea - seRawData.area), percentage: (SETotalArea - seRawData.area) / SETotalArea, + label: '', }, ]; }; From 335ac329ed4bcfea435afb22d37b43e021918660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 25 Aug 2022 11:51:08 -0500 Subject: [PATCH 151/664] Change use of MultiLines chart --- .../landscape/connectivity/TimelinePAConnectivity.tsx | 3 ++- .../drawer/landscape/humanFootprint/TimelineFootprint.tsx | 6 +++--- .../search/shared_components/charts/MultiLinesGraph.jsx | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index b462074ef..4092a168b 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -14,6 +14,7 @@ import { } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; import SearchAPI from "utils/searchAPI"; +import MultiLinesGraph from "pages/search/shared_components/charts/MultiLinesGraph"; const getLabel = { prot: "Protegida", @@ -143,7 +144,7 @@ class TimelinePAConnectivity extends React.Component<
Conectividad áreas protegidas en el tiempo
- {
Huella humana comparada con EE

Haz clic en un ecosistema para ver su comportamiento

- { markers={changeValues} labelX="Año" labelY="Indice promedio Huella Humana" - onClickGraphHandler={(selection) => { + onClickGraphHandler={(selection: string) => { this.setSelectedEcosystem(selection); handlerClickOnGraph({ chartType: "hfTimeline", diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.jsx b/src/pages/search/shared_components/charts/MultiLinesGraph.jsx index 4bc825d70..5f87cfdfd 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.jsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.jsx @@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; import { ResponsiveLine } from '@nivo/line'; import formatNumber from 'utils/format'; +import withMessageWrapper from 'pages/search/shared_components/charts/withMessageWrapper'; class MultiLinesGraph extends React.Component { constructor() { @@ -246,4 +247,4 @@ MultiLinesGraph.defaultProps = { units: '', }; -export default MultiLinesGraph; +export default withMessageWrapper(MultiLinesGraph); From e51c3158db2ceff90345ba620dbfa7e50c547e9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 25 Aug 2022 12:00:09 -0500 Subject: [PATCH 152/664] Change use of SingleBullet chart --- .../species/functionalDiversity/TropicalDryForest.jsx | 6 +++--- .../search/drawer/species/richness/NumberOfSpecies.jsx | 6 +++--- .../search/drawer/species/richness/SpeciesRecordsGaps.jsx | 6 +++--- .../search/shared_components/charts/SingleBulletGraph.jsx | 5 +++-- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx index 7e5e67690..bb63f472b 100644 --- a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx +++ b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx @@ -2,11 +2,11 @@ import React from 'react'; import InfoIcon from '@mui/icons-material/Info'; import { IconTooltip } from 'pages/search/shared_components/Tooltips'; -import GraphLoader from 'pages/search/shared_components/charts/GraphLoader'; import ShortInfo from 'components/ShortInfo'; import SearchContext from 'pages/search/SearchContext'; import RestAPI from 'utils/restAPI'; import matchColor from 'utils/matchColor'; +import SingleBulletGraph from 'pages/search/shared_components/charts/SingleBulletGraph'; const getFeatureLabel = { leaf_area: { __html: '
Área Foliar (mm2)
' }, @@ -237,7 +237,7 @@ class TropicalDryForest extends React.Component {
{messageFeatures === 'no-data' && ( -
-
{(message === 'no-data' || message === 'loading') && ( -
- { switch (areaType) { @@ -256,7 +256,7 @@ class SpeciesRecordsGaps extends React.Component { Vacios de datos
- 5 km x 5 km
- {}, reverse: false, labelXRight: null, labelXLeft: null, }; -export default SingleBulletGraph; +export default withMessageWrapper(SingleBulletGraph); From 4acd77397ab7ba7575656d6d7616040493527742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 25 Aug 2022 16:58:13 -0500 Subject: [PATCH 153/664] change use of MultiSmallSingleBar chart --- .../landscape/connectivity/CurrentPAConnectivity.tsx | 12 +++++++----- .../charts/MultiSmallSingleBarGraph.tsx | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index ce85454d5..a1e43e56f 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -13,6 +13,8 @@ import TextBoxes from "pages/search/shared_components/TextBoxes"; import { currentPAConn, DPCKeys, DPC } from "pages/search/types/connectivity"; import { TextObject } from "pages/search/types/texts"; +import MultiSmallSingleBarGraph from "pages/search/shared_components/charts/MultiSmallSingleBarGraph"; +import { wrapperMessage } from "pages/search/types/charts"; const getLabel = { unprot: "No protegida", @@ -40,8 +42,8 @@ interface currentPAConnState { dpcData: Array; prot: number; messages: { - conn: string | null; - dpc: string | null; + conn: wrapperMessage; + dpc: wrapperMessage; }; texts: { paConnCurrent: TextObject; @@ -250,16 +252,16 @@ class CurrentPAConnectivity extends React.Component { Haz clic en un área protegida para visualizarla
- + onClickHandler={(selected: string) => handlerClickOnGraph({ selectedKey: selected }) } labelX="dPC" units="ha" + selectedIndexValue="" />
diff --git a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx b/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx index c1d0722f7..37a19dc2a 100644 --- a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx @@ -2,6 +2,7 @@ import React from "react"; import { ResponsiveBar } from "@nivo/bar"; import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; +import withMessageWrapper from "./withMessageWrapper"; interface Props { data: Array; @@ -133,4 +134,4 @@ class MultiSmallSingleBarGraph extends React.Component { } } -export default MultiSmallSingleBarGraph; +export default withMessageWrapper(MultiSmallSingleBarGraph); From e5e0c073b4d0db37aeb91616a38c552fa12ce5a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 25 Aug 2022 17:02:03 -0500 Subject: [PATCH 154/664] Change use of MultiSmallBarStack chart --- .../landscape/connectivity/CurrentPAConnectivity.tsx | 1 - .../landscape/forest/ForestLossPersistence.tsx | 12 +++++++----- .../charts/MultiSmallBarStackGraph.tsx | 3 ++- .../charts/MultiSmallSingleBarGraph.tsx | 5 +++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index a1e43e56f..59455ef2a 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -261,7 +261,6 @@ class CurrentPAConnectivity extends React.Component { } labelX="dPC" units="ha" - selectedIndexValue="" />
diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 0299b9ac2..b7bc27b95 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -10,15 +10,18 @@ import SearchAPI from "utils/searchAPI"; import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import { MultiSmallBarStackGraphData } from "pages/search/shared_components/charts/MultiSmallBarStackGraph"; +import MultiSmallBarStackGraph, { + MultiSmallBarStackGraphData, +} from "pages/search/shared_components/charts/MultiSmallBarStackGraph"; import { TextObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; +import { wrapperMessage } from "pages/search/types/charts"; interface Props {} interface State { showInfoGraph: boolean; forestLP: Array; - message: string | null; + message: wrapperMessage; forestPersistenceValue: number; texts: { forestLP: TextObject; @@ -168,13 +171,12 @@ class ForestLossPersistence extends React.Component {
Cobertura de bosque en el tiempo
- { + onClickHandler={(period, key) => { handlerClickOnGraph({ chartType: "forestLP", chartSection: period, diff --git a/src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx b/src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx index 0c108b8fa..ee5232c48 100644 --- a/src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx @@ -3,6 +3,7 @@ import { ResponsiveBar } from "@nivo/bar"; import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; +import withMessageWrapper from "./withMessageWrapper"; interface Props { data: Array; @@ -141,4 +142,4 @@ class MultiSmallBarStackGraph extends React.Component { } } -export default MultiSmallBarStackGraph; +export default withMessageWrapper(MultiSmallBarStackGraph); diff --git a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx b/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx index 37a19dc2a..811d1c1da 100644 --- a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx @@ -10,7 +10,7 @@ interface Props { colors: (key: string) => string; units?: string; onClickHandler: (key: string) => void; - selectedIndexValue: string; + selectedIndexValue?: string; labelX: string; } @@ -29,8 +29,9 @@ interface State { class MultiSmallSingleBarGraph extends React.Component { constructor(props: Props) { super(props); + const { selectedIndexValue = "" } = props; this.state = { - selectedIndexValue: props.selectedIndexValue, + selectedIndexValue: selectedIndexValue, }; } From c06e1714bd82fb0e30df0e9bce5769787e6d98b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 25 Aug 2022 17:25:21 -0500 Subject: [PATCH 155/664] Change use of LargeBarStack chart --- .../drawer/landscape/CompensationFactor.tsx | 22 +++++++++---------- .../connectivity/CurrentPAConnectivity.tsx | 5 ++--- .../connectivity/CurrentSEPAConnectivity.tsx | 17 +++++++------- .../humanFootprint/CurrentFootprint.tsx | 7 +++--- .../humanFootprint/PersistenceFootprint.tsx | 7 +++--- .../charts/LargeBarStackGraph.tsx | 18 ++++++--------- 6 files changed, 36 insertions(+), 40 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index 72c6a9cd3..e07047e4c 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -1,7 +1,6 @@ import InfoIcon from "@mui/icons-material/Info"; import React from "react"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; @@ -11,9 +10,12 @@ import TextBoxes from "pages/search/shared_components/TextBoxes"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { biomes, cf, bioticUnits } from "pages/search/types/compensationFactor"; import { TextObject } from "pages/search/types/texts"; +import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; +import { wrapperMessage } from "pages/search/types/charts"; -interface bioticUnitsExt extends bioticUnits { +interface bioticUnitsExt extends Omit { label: string; + area: number; } interface biomesExt extends biomes { @@ -32,9 +34,9 @@ interface compensationFactorState { fc: Array; bioticUnits: Array; messages: { - fc: string | null; - biomes: string | null; - bioticUnits: string | null; + fc: wrapperMessage; + biomes: wrapperMessage; + bioticUnits: wrapperMessage; }; texts: { cf: TextObject; @@ -132,6 +134,7 @@ class CompensationFactor extends React.Component< this.setState((prev) => ({ bioticUnits: res.map((item) => ({ ...item, + area: Number(item.area), label: `${item.key}`, })), messages: { @@ -222,8 +225,7 @@ class CompensationFactor extends React.Component< /> )}
- )} - )} - {
Conectividad áreas protegidas
- { /> )}
- { /> )}
- { /> )}
- ; hfCurrentValue: string; hfCurrentCategory: string; - message: string | null; + message: wrapperMessage; texts: { hfCurrent: TextObject; }; @@ -149,8 +151,7 @@ class CurrentFootprint extends React.Component {
Natural, Baja, Media y Alta
- ; - message: string | null; + message: wrapperMessage; texts: { hfPersistence: TextObject; }; @@ -119,8 +121,7 @@ class PersistenceFootprint extends React.Component { )}
Estable natural, Dinámica, Estable alta
- ; height?: number; - colors: (key: string) => string; + colors: (key: string | number) => string; units?: string; - onClickGraphHandler: (key: string) => void; - selectedIndexValue: string; + onClickGraphHandler?: (key: string) => void; labelX?: string; labelY?: string; padding?: number; } export interface LargeBarStackGraphData { - key: string; + key: string | number; area: number; - percentage: number; + percentage?: number; label: string; } -interface State { - selectedIndexValue: string; -} - const darkColors: { [key: string]: string } = { "#003d59": "#003d59", "#5a1d44": "#5a1d44", @@ -111,7 +107,7 @@ const LargeBarStackGraph = (props: Props) => {
onClickGraphHandler(String(category.id))} + onClick={(category) => onClickGraphHandler?.(String(category.id))} keys={keys} indexBy="key" layout="horizontal" @@ -152,4 +148,4 @@ const LargeBarStackGraph = (props: Props) => { ); }; -export default LargeBarStackGraph; +export default withMessageWrapper(LargeBarStackGraph); From e1396eed5d9ede2e38aa9ebac9cb041e0ae29852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 25 Aug 2022 17:28:29 -0500 Subject: [PATCH 156/664] Remove Search GraphLoader --- .../connectivity/CurrentSEPAConnectivity.tsx | 1 - .../connectivity/TimelinePAConnectivity.tsx | 1 - .../forest/ForestLossPersistence.tsx | 1 - .../humanFootprint/CurrentFootprint.tsx | 1 - .../humanFootprint/PersistenceFootprint.tsx | 1 - .../shared_components/charts/GraphLoader.jsx | 182 ------------------ 6 files changed, 187 deletions(-) delete mode 100644 src/pages/search/shared_components/charts/GraphLoader.jsx diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx index f6c4baf16..4b8d339fd 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx @@ -1,7 +1,6 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import DownloadCSV from "pages/search/shared_components/DownloadCSV"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 4092a168b..6f869e8d0 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -1,7 +1,6 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index b7bc27b95..40e409bf2 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -2,7 +2,6 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; diff --git a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx index 9ddd13e2a..a4589f254 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx @@ -3,7 +3,6 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; diff --git a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx index 2e2912a52..fc4a01c6e 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx @@ -2,7 +2,6 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import GraphLoader from "pages/search/shared_components/charts/GraphLoader"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; diff --git a/src/pages/search/shared_components/charts/GraphLoader.jsx b/src/pages/search/shared_components/charts/GraphLoader.jsx deleted file mode 100644 index 87ce5987a..000000000 --- a/src/pages/search/shared_components/charts/GraphLoader.jsx +++ /dev/null @@ -1,182 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; - -import SingleBulletGraph from 'pages/search/shared_components/charts/SingleBulletGraph'; -import LargeBarStackGraph from 'pages/search/shared_components/charts/LargeBarStackGraph'; -import MultiLinesGraph from 'pages/search/shared_components/charts/MultiLinesGraph'; -import MultiSmallBarStackGraph from 'pages/search/shared_components/charts/MultiSmallBarStackGraph'; -import MultiSmallSingleBarGraph from 'pages/search/shared_components/charts/MultiSmallSingleBarGraph'; -import PieGraph from 'pages/search/shared_components/charts/PieGraph'; -import SmallBarStackGraph from 'pages/search/shared_components/charts/SmallBarStackGraph'; - -const GraphLoader = (props) => { - const { - graphType, - data, - colors, - labelX, - labelY, - units, - padding, - onClickGraphHandler, - markers, - message, - selectedIndexValue, - yMax, - reverse, - labelXRight, - labelXLeft, - } = props; - - let errorMessage = null; - // TODO: don't relay on data being null for a loading state - if (data === null || message === 'loading') { - errorMessage = 'Cargando información...'; - } else if (!data || data.length <= 0 || Object.keys(data).length === 0 || message === 'no-data') { - errorMessage = 'Información no disponible'; - } - if (errorMessage) { - return ( -
- {errorMessage} -
- ); - } - - switch (graphType) { - case 'LargeBarStackGraph': - return ( - - ); - case 'SmallBarStackGraph': - return ( - - ); - case 'MultiSmallBarStackGraph': - return ( - - ); - case 'MultiSmallSingleBarGraph': - return ( - - ); - case 'pie': - return ( - - ); - case 'singleBullet': - return ( - - ); - case 'MultiLinesGraph': - return ( - - ); - default: - return <>; - } -}; - -GraphLoader.propTypes = { - graphType: PropTypes.string.isRequired, - data: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.array, - ]).isRequired, - labelX: PropTypes.string, - labelY: PropTypes.string, - units: PropTypes.string, - yMax: PropTypes.number, - // TODO: Remove array type once the charts in compensation are migrated - colors: PropTypes.oneOfType([ - PropTypes.func, - PropTypes.array, - ]), - padding: PropTypes.number, - onClickGraphHandler: PropTypes.func, - markers: PropTypes.arrayOf(PropTypes.shape({ - axis: PropTypes.string, - value: PropTypes.number, - type: PropTypes.string, - legendPosition: PropTypes.string, - })), - selectedIndexValue: PropTypes.string, - reverse: PropTypes.bool, - labelXRight: PropTypes.string, - labelXLeft: PropTypes.string, - message: PropTypes.string, -}; - -GraphLoader.defaultProps = { - graphTitle: '', - activeBiome: '', - labelX: '', - labelY: '', - showOnlyTitle: false, - units: '', - yMax: 100, - elementOnClick: () => {}, - colors: () => {}, - padding: 0.25, - onClickGraphHandler: () => {}, - markers: [], - message: null, - selectedIndexValue: '', - reverse: false, - labelXRight: null, - labelXLeft: null, -}; - -export default GraphLoader; From bd4f993c0a4b778852732ee1bf1567a7c5a85f7b Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 25 Aug 2022 19:47:00 -0500 Subject: [PATCH 157/664] Fix route for indicators --- src/app/layout/header/Menu.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/layout/header/Menu.jsx b/src/app/layout/header/Menu.jsx index b5a1fd4ee..fe9399e5c 100644 --- a/src/app/layout/header/Menu.jsx +++ b/src/app/layout/header/Menu.jsx @@ -43,7 +43,7 @@ class Menu extends React.Component { Consultas - +
  • Indicadores
  • From 08323eec712384a86cee54b00a3bca086c2b9dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 26 Aug 2022 11:22:15 -0500 Subject: [PATCH 158/664] Standardize compensation factor data --- .../drawer/landscape/CompensationFactor.tsx | 25 ++++++------------- src/pages/search/types/compensationFactor.ts | 14 ++--------- src/utils/searchAPI.ts | 8 +++--- 3 files changed, 14 insertions(+), 33 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index e07047e4c..fde804440 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -8,21 +8,12 @@ import matchColor from "utils/matchColor"; import SearchAPI from "utils/searchAPI"; import TextBoxes from "pages/search/shared_components/TextBoxes"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import { biomes, cf, bioticUnits } from "pages/search/types/compensationFactor"; +import { cfData } from "pages/search/types/compensationFactor"; import { TextObject } from "pages/search/types/texts"; import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; -interface bioticUnitsExt extends Omit { - label: string; - area: number; -} - -interface biomesExt extends biomes { - label: string; -} - -interface cfExt extends cf { +interface cfDataExt extends cfData { label: string; } @@ -30,9 +21,9 @@ interface Props {} interface compensationFactorState { infoShown: Set; - biomes: Array; - fc: Array; - bioticUnits: Array; + biomes: Array; + fc: Array; + bioticUnits: Array; messages: { fc: wrapperMessage; biomes: wrapperMessage; @@ -81,7 +72,7 @@ class CompensationFactor extends React.Component< switchLayer("fc"); SearchAPI.requestBiomes(areaId, geofenceId) - .then((res: Array) => { + .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ biomes: res.map((item) => ({ @@ -105,7 +96,7 @@ class CompensationFactor extends React.Component< }); SearchAPI.requestCompensationFactor(areaId, geofenceId) - .then((res: Array) => { + .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ fc: res.map((item) => ({ @@ -129,7 +120,7 @@ class CompensationFactor extends React.Component< }); SearchAPI.requestBioticUnits(areaId, geofenceId) - .then((res: Array) => { + .then((res: Array) => { if (this.mounted) { this.setState((prev) => ({ bioticUnits: res.map((item) => ({ diff --git a/src/pages/search/types/compensationFactor.ts b/src/pages/search/types/compensationFactor.ts index 7fbf77362..7d10f6c29 100644 --- a/src/pages/search/types/compensationFactor.ts +++ b/src/pages/search/types/compensationFactor.ts @@ -1,14 +1,4 @@ -export interface biomes { - key: string; +export interface cfData { + key: string | number; area: number; } - -export interface cf { - key: number; - area: number; -} - -export interface bioticUnits { - key: string; - area: string; -} diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index fd92c91f3..4537d7229 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,6 +1,6 @@ import axios from "axios"; import { SCIHF, ForestLP } from "pages/search/types/forest"; -import { biomes, cf, bioticUnits } from "pages/search/types/compensationFactor"; +import { cfData } from "pages/search/types/compensationFactor"; import { currentPAConn, currentSEPAConn, @@ -143,7 +143,7 @@ class SearchAPI { static requestBiomes( areaType: string, areaId: string | number - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/generalBiome`); } @@ -155,7 +155,7 @@ class SearchAPI { static requestBioticUnits( areaType: string, areaId: string | number - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/bioticUnit`); } @@ -167,7 +167,7 @@ class SearchAPI { static requestCompensationFactor( areaType: string, areaId: string | number - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest(`${areaType}/${areaId}/compensationFactor`); } From 10664b865b80317d175032b6d4afd09fb321a8d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 26 Aug 2022 14:52:53 -0500 Subject: [PATCH 159/664] Fix MultiSmallSingleBarGraph default height --- .../shared_components/charts/MultiSmallSingleBarGraph.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx b/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx index 811d1c1da..1870f474f 100644 --- a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx @@ -38,7 +38,7 @@ class MultiSmallSingleBarGraph extends React.Component { render() { const { data, - height = 30, + height = 250, colors, units = "ha", onClickHandler, From 15da76fc0d5a9a586b8f518f25dc43abf4d1d400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 26 Aug 2022 14:55:20 -0500 Subject: [PATCH 160/664] Make onClickGraphHandler optional for MultiLinesGraph --- src/pages/search/shared_components/charts/MultiLinesGraph.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.jsx b/src/pages/search/shared_components/charts/MultiLinesGraph.jsx index 5f87cfdfd..58a5fcc3a 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.jsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.jsx @@ -220,7 +220,7 @@ MultiLinesGraph.propTypes = { type: PropTypes.string, legendPosition: PropTypes.string, })), - onClickGraphHandler: PropTypes.func.isRequired, + onClickGraphHandler: PropTypes.func, colors: PropTypes.func.isRequired, data: PropTypes.arrayOf(PropTypes.shape({ key: PropTypes.string, @@ -245,6 +245,7 @@ MultiLinesGraph.defaultProps = { yMax: 100, height: 490, units: '', + onClickGraphHandler: () => {}, }; export default withMessageWrapper(MultiLinesGraph); From 7cea1314b610fbee7eaa8820af3755648c0a0fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 26 Aug 2022 15:01:11 -0500 Subject: [PATCH 161/664] Fix onClickHandler for SingleBulletGraph --- .../drawer/species/functionalDiversity/TropicalDryForest.jsx | 2 +- src/pages/search/drawer/species/richness/NumberOfSpecies.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx index bb63f472b..668ae8ae7 100644 --- a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx +++ b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx @@ -256,7 +256,7 @@ class TropicalDryForest extends React.Component { data={bar} graphType="singleBullet" colors={matchColor(getFeatureColors[bar.id])} - onClickGraphHandler={() => { + onClickHandler={() => { this.setState({ selected: bar.id }); }} /> diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx index a79e58d2e..63695ced1 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx @@ -434,7 +434,7 @@ class NumberOfSpecies extends React.Component { data={bar} graphType="singleBullet" colors={matchColor('richnessNos')} - onClickGraphHandler={() => { + onClickHandler={() => { this.setState({ selected: bar.id }); handlerClickOnGraph({ chartType: 'numberOfSpecies', From 3dd9e6ea08ccdd81aefd85e3f3e1bb45957b428b Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 25 Aug 2022 21:10:08 -0500 Subject: [PATCH 162/664] move transformData file to ecosystems folder --- src/pages/search/{utils => drawer/ecosystems}/transformData.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/{utils => drawer/ecosystems}/transformData.js (100%) diff --git a/src/pages/search/utils/transformData.js b/src/pages/search/drawer/ecosystems/transformData.js similarity index 100% rename from src/pages/search/utils/transformData.js rename to src/pages/search/drawer/ecosystems/transformData.js From baa272c1a58cd8b92841f4062ab7715cb817b21d Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 25 Aug 2022 21:10:46 -0500 Subject: [PATCH 163/664] change import path of transformData --- src/pages/search/drawer/Ecosystems.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index 62388bfd3..68b03f2b1 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -10,8 +10,8 @@ import { transformPAValues, transformCoverageValues, transformSEAreas, -} from 'pages/search/utils/transformData'; -import EcosystemsBox from 'pages/search/drawer/strategicEcosystems/EcosystemsBox'; +} from './ecosystems/transformData.js' +import EcosystemsBox from 'pages/search/drawer/ecosystems/EcosystemsBox'; import SearchContext from 'pages/search/SearchContext'; import formatNumber from 'utils/format'; import matchColor from 'utils/matchColor'; From 0700cafea121b6f58f7ba5038f204d5ac04e756d Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 26 Aug 2022 12:13:47 -0500 Subject: [PATCH 164/664] rename strategicEcosystems folder to ecosystems --- .../EcosystemsBox.tsx | 5 +- .../ecosystemsBox/EcosystemDetails.tsx | 9 ++- .../search/drawer/ecosystems/transformData.js | 80 ------------------- src/pages/search/types/ecosystems.ts | 5 +- 4 files changed, 11 insertions(+), 88 deletions(-) rename src/pages/search/drawer/{strategicEcosystems => ecosystems}/EcosystemsBox.tsx (93%) rename src/pages/search/drawer/{strategicEcosystems => ecosystems}/ecosystemsBox/EcosystemDetails.tsx (95%) delete mode 100644 src/pages/search/drawer/ecosystems/transformData.js diff --git a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx b/src/pages/search/drawer/ecosystems/EcosystemsBox.tsx similarity index 93% rename from src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx rename to src/pages/search/drawer/ecosystems/EcosystemsBox.tsx index cbaf27254..f1c8eebb9 100644 --- a/src/pages/search/drawer/strategicEcosystems/EcosystemsBox.tsx +++ b/src/pages/search/drawer/ecosystems/EcosystemsBox.tsx @@ -1,10 +1,11 @@ import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import React from "react"; -import EcosystemDetails from "pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails"; +import EcosystemDetails from "pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails"; import formatNumber from "utils/format"; import matchColor from "utils/matchColor"; -import { transformSEValues } from "pages/search/utils/transformData"; + +import { transformSEValues } from "./transformData"; import { EDValues } from "pages/search/types/ecosystems"; import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; diff --git a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx similarity index 95% rename from src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx rename to src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx index 11600e4ae..51024ca89 100644 --- a/src/pages/search/drawer/strategicEcosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx @@ -4,7 +4,7 @@ import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { transformPAValues, transformCoverageValues, -} from "pages/search/utils/transformData"; +} from "../transformData"; import matchColor from "utils/matchColor"; import { SEKey } from "pages/search/utils/appropriate_keys"; @@ -12,12 +12,13 @@ import { coverageType, SECoverage, EDValues, + coverageLabels, } from "pages/search/types/ecosystems"; import SearchAPI from "utils/searchAPI"; import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; -const coverageLabels = ["Natural", "Secundaria", "Transformada"] as const; + export interface PAData { area: number; label: string; @@ -25,8 +26,8 @@ export interface PAData { percentage: number; } interface CoverageValues extends SECoverage { - key: typeof coverageType[number]; - label: typeof coverageLabels[number]; + key: coverageType; + label: coverageLabels; } interface State { coverageData: Array; diff --git a/src/pages/search/drawer/ecosystems/transformData.js b/src/pages/search/drawer/ecosystems/transformData.js deleted file mode 100644 index 852675ef8..000000000 --- a/src/pages/search/drawer/ecosystems/transformData.js +++ /dev/null @@ -1,80 +0,0 @@ -export const transformPAValues = (rawData, totalArea) => { - if (!rawData || rawData.length === 0) return []; - let PATotalArea = 0; - if (rawData.length > 0) { - PATotalArea = rawData.map((i) => i.area).reduce((prev, next) => prev + next); - } - const data = rawData - .filter((item) => item.area > 0) - .map((item) => ({ - area: item.area, - label: item.type, - key: item.type, - percentage: item.area / totalArea, - })) - .sort((first, second) => { - if (first.area > second.area) return -1; - if (first.area < second.area) return 1; - return 0; - }); - const noProtectedArea = totalArea > 0 ? totalArea - PATotalArea : 0; - data.push({ - area: noProtectedArea, - label: 'No Protegida', - key: 'No Protegida', - percentage: noProtectedArea / totalArea, - }); - return data; -}; - -export const transformCoverageValues = (rawData) => { - if (!rawData) return []; - return rawData.map((item) => { - let label = ''; - switch (item.type) { - case 'N': - label = 'Natural'; - break; - case 'S': - label = 'Secundaria'; - break; - case 'T': - label = 'Transformada'; - break; - default: - label = 'Sin clasificar / Nubes'; - } - return { - ...item, - key: item.type, - area: Number(item.area), - label, - }; - }); -}; - -export const transformSEValues = (seRawData, SETotalArea) => { - if (!seRawData) return []; - return [ - { - key: seRawData.type, - area: Number(seRawData.area), - percentage: seRawData.percentage, - label: seRawData.type, - }, - { - key: 'NA', - area: (SETotalArea - seRawData.area), - percentage: (SETotalArea - seRawData.area) / SETotalArea, - label: '', - }, - ]; -}; - -export const transformSEAreas = (rawData, generalArea) => { - if (!rawData) return []; - return rawData.map((obj) => ({ - ...obj, - percentage: obj.area / generalArea, - })); -}; diff --git a/src/pages/search/types/ecosystems.ts b/src/pages/search/types/ecosystems.ts index 792abc7af..1771a763f 100644 --- a/src/pages/search/types/ecosystems.ts +++ b/src/pages/search/types/ecosystems.ts @@ -1,7 +1,8 @@ -export const coverageType = ["N", "S", "T", "X"] as const; +export type coverageType = 'N' | 'S' | 'T' | 'X'; +export type coverageLabels = '' | 'Natural' | 'Secundaria' | 'Transformada' | 'Sin clasificar / Nubes' ; export interface SECoverage { area: number; - type: typeof coverageType[number]; + type: coverageType; percentage: number; } export interface SEPAData { From 160a766fbdfb3957a1764a36a39c1f0f2c1665c6 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 26 Aug 2022 15:21:16 -0500 Subject: [PATCH 165/664] migrate transformData to typescript --- .../search/drawer/ecosystems/transformData.ts | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/pages/search/drawer/ecosystems/transformData.ts diff --git a/src/pages/search/drawer/ecosystems/transformData.ts b/src/pages/search/drawer/ecosystems/transformData.ts new file mode 100644 index 000000000..cbb6f2303 --- /dev/null +++ b/src/pages/search/drawer/ecosystems/transformData.ts @@ -0,0 +1,90 @@ +import { SmallBarStackGraphData } from "pages/search/shared_components/charts/SmallBarStackGraph"; +import { SECoverage, SEPAData, coverageLabels, EDValues } from "pages/search/types/ecosystems"; + +export interface SmallBarData { + area: number; + key: string; + percentage: number; + label?: string | null; +} + +export const transformPAValues = (rawData:Array|null, totalArea:number) => { + if (!rawData || rawData.length === 0) return []; + let PATotalArea = 0; + if (rawData.length > 0) { + PATotalArea = rawData.map((i) => i.area).reduce((prev, next) => prev + next); + } + const data = rawData + .filter((item) => item.area > 0) + .map((item) => ({ + area: item.area, + label: item.type, + key: item.type, + percentage: item.area / totalArea, + })) + .sort((first, second) => { + if (first.area > second.area) return -1; + if (first.area < second.area) return 1; + return 0; + }); + const noProtectedArea = totalArea > 0 ? totalArea - PATotalArea : 0; + data.push({ + area: noProtectedArea, + label: 'No Protegida', + key: 'No Protegida', + percentage: noProtectedArea / totalArea, + }); + return data; +}; + +export const transformCoverageValues = (rawData:Array) => { + if (!rawData) return []; + return rawData.map((item) => { + let label:coverageLabels = ''; + switch (item.type) { + case 'N': + label = 'Natural'; + break; + case 'S': + label = 'Secundaria'; + break; + case 'T': + label = 'Transformada'; + break; + default: + label = 'Sin clasificar / Nubes'; + } + return { + ...item, + key: item.type, + area: Number(item.area), + label, + }; + }); +}; + +export const transformSEValues = (seRawData:EDValues, SETotalArea:number) => { + if (!seRawData) return []; + const transformedData: Array = [{ + key: seRawData.type, + area: Number(seRawData.area), + percentage: seRawData.percentage, + label: seRawData.type, + }, + { + key: 'NA', + area: (SETotalArea - seRawData.area), + percentage: (SETotalArea - seRawData.area) / SETotalArea, + label: '', + }]; + return transformedData ; +}; + +export const transformSEAreas = (rawData:Array, generalArea:number) => { + if (!rawData) return []; + const transformedSEAData:Array = rawData.map((obj) => ({ + ...obj, + percentage: obj.area / generalArea, + })); + return transformedSEAData; +}; From 351ed2cbaa75ccac942fe86091ad6fa5b63e72ff Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 26 Aug 2022 15:23:00 -0500 Subject: [PATCH 166/664] migrate related API functions to SearchAPI --- src/pages/search/drawer/Ecosystems.jsx | 158 ++++++++++++------------- 1 file changed, 79 insertions(+), 79 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index 68b03f2b1..b95e6a7d7 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -1,22 +1,23 @@ -import React from 'react'; -import PropTypes from 'prop-types'; +import React from "react"; +import PropTypes from "prop-types"; -import InfoIcon from '@mui/icons-material/Info'; +import InfoIcon from "@mui/icons-material/Info"; -import ShortInfo from 'components/ShortInfo'; -import { IconTooltip } from 'pages/search/shared_components/Tooltips'; -import TextBoxes from 'pages/search/shared_components/TextBoxes'; +import ShortInfo from "components/ShortInfo"; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; import { transformPAValues, transformCoverageValues, transformSEAreas, -} from './ecosystems/transformData.js' -import EcosystemsBox from 'pages/search/drawer/ecosystems/EcosystemsBox'; -import SearchContext from 'pages/search/SearchContext'; -import formatNumber from 'utils/format'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; -import SmallBarStackGraph from 'pages/search/shared_components/charts/SmallBarStackGraph'; +} from "./ecosystems/transformData"; +import EcosystemsBox from "pages/search/drawer/ecosystems/EcosystemsBox"; +import SearchContext from "pages/search/SearchContext"; +import formatNumber from "utils/format"; +import matchColor from "utils/matchColor"; +import SearchAPI from "utils/searchAPI"; +import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; +import RestAPI from "utils/restAPI.js"; /** * Calculate percentage for a given value according to total @@ -42,9 +43,9 @@ class StrategicEcosystems extends React.Component { SETotalArea: 0, activeSE: null, messages: { - cov: 'loading', - pa: 'loading', - se: 'loading', + cov: "loading", + pa: "loading", + se: "loading", }, texts: { ecosystems: {}, @@ -57,16 +58,12 @@ class StrategicEcosystems extends React.Component { componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; + const { areaId, geofenceId, switchLayer } = this.context; const { generalArea } = this.props; - switchLayer('coverages'); + switchLayer("coverages"); - RestAPI.requestCoverage(areaId, geofenceId) + SearchAPI.requestCoverage(areaId, geofenceId) .then((res) => { if (this.mounted) { this.setState((prev) => ({ @@ -82,16 +79,18 @@ class StrategicEcosystems extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - cov: 'no-data', + cov: "no-data", }, })); }); - RestAPI.requestProtectedAreas(areaId, geofenceId) + SearchAPI.requestProtectedAreas(areaId, geofenceId) .then((res) => { if (this.mounted) { if (Array.isArray(res) && res[0]) { - const PATotalArea = res.map((i) => i.area).reduce((prev, next) => prev + next); + const PATotalArea = res + .map((i) => i.area) + .reduce((prev, next) => prev + next); const PAAreas = transformPAValues(res, generalArea); this.setState((prev) => ({ PAAreas, @@ -108,16 +107,16 @@ class StrategicEcosystems extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - pa: 'no-data', + pa: "no-data", }, })); }); - RestAPI.requestStrategicEcosystems(areaId, geofenceId) + SearchAPI.requestStrategicEcosystems(areaId, geofenceId) .then((res) => { if (this.mounted) { if (Array.isArray(res)) { - const SETotal = res.find((obj) => obj.type === 'Total'); + const SETotal = res.find((obj) => obj.type === "Total"); const SETotalArea = SETotal ? SETotal.area : 0; const SEAreas = res.slice(1); this.setState((prev) => ({ @@ -135,13 +134,13 @@ class StrategicEcosystems extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - se: 'no-data', + se: "no-data", }, })); }); - ['ecosystems', 'coverage', 'pa', 'se'].forEach((item) => { - RestAPI.requestSectionTexts(item) + ["ecosystems", "coverage", "pa", "se"].forEach((item) => { + RestAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { this.setState((prevState) => ({ @@ -154,7 +153,7 @@ class StrategicEcosystems extends React.Component { texts: { ...prevState.texts, [item]: {} }, })); }); - }); + }); } componentWillUnmount() { @@ -165,7 +164,7 @@ class StrategicEcosystems extends React.Component { this.setState((prevState) => ({ showInfoMain: !prevState.showInfoMain, })); - } + }; toggleInfo = (value) => { this.setState((prev) => { @@ -177,7 +176,7 @@ class StrategicEcosystems extends React.Component { newState.infoShown.add(value); return newState; }); - } + }; /** * Returns the component EcosystemsBox that contains the list of strategic ecosystems @@ -188,9 +187,13 @@ class StrategicEcosystems extends React.Component { */ renderEcosystemsBox = (SEAreas, SETotalArea) => { const { generalArea } = this.props; - const { activeSE, messages: { se } } = this.state; - if (se === 'loading') return ('Cargando...'); - if (se === 'no-data') return ('No hay información de áreas protegidas en el área de consulta'); + const { + activeSE, + messages: { se }, + } = this.state; + if (se === "loading") return "Cargando..."; + if (se === "no-data") + return "No hay información de áreas protegidas en el área de consulta"; if (generalArea !== 0) { return (

    @@ -262,42 +261,43 @@ class StrategicEcosystems extends React.Component {
    this.toggleInfo('coverage')} + className={`downSpecial${ + infoShown.has("coverage") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("coverage")} /> - {infoShown.has('coverage') && ( + {infoShown.has("coverage") && ( )} -
    - Natural, Secundaria y Transformada: -
    +
    Natural, Secundaria y Transformada:
    { - handlerClickOnGraph({ chartType: 'coverage', selectedKey: selected }); + handlerClickOnGraph({ + chartType: "coverage", + selectedKey: selected, + }); }} />
    @@ -308,8 +308,8 @@ class StrategicEcosystems extends React.Component { quoteText={texts.coverage.quote} metoText={texts.coverage.meto} consText={texts.coverage.cons} - toggleInfo={() => this.toggleInfo('coverage')} - isInfoOpen={infoShown.has('coverage')} + toggleInfo={() => this.toggleInfo("coverage")} + isInfoOpen={infoShown.has("coverage")} />

    Áreas protegidas @@ -317,14 +317,14 @@ class StrategicEcosystems extends React.Component {

    this.toggleInfo('pa')} + className={`downSpecial${ + infoShown.has("pa") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("pa")} /> -
    - {`${getPercentage(PATotalArea, generalArea)} %`} -
    - {infoShown.has('pa') && ( +
    {`${getPercentage(PATotalArea, generalArea)} %`}
    + {infoShown.has("pa") && ( )}
    -
    - Distribución por áreas protegidas: -
    +
    Distribución por áreas protegidas:
    this.toggleInfo('pa')} - isInfoOpen={infoShown.has('pa')} + toggleInfo={() => this.toggleInfo("pa")} + isInfoOpen={infoShown.has("pa")} />

    @@ -358,14 +356,16 @@ class StrategicEcosystems extends React.Component {

    this.toggleInfo('se')} + className={`downSpecial2${ + infoShown.has("se") ? " activeBox" : "" + }`} + onClick={() => this.toggleInfo("se")} />
    {`${getPercentage(SETotalArea, generalArea)} %`}
    - {infoShown.has('se') && ( + {infoShown.has("se") && ( this.toggleInfo('se')} - isInfoOpen={infoShown.has('se')} + toggleInfo={() => this.toggleInfo("se")} + isInfoOpen={infoShown.has("se")} />
    From 77adcb617d463a0c64d2d3a91a5e058d9a9c7af1 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 26 Aug 2022 15:23:32 -0500 Subject: [PATCH 167/664] migrate API functions to SearchAPI --- src/utils/restAPI.js | 27 --------------------------- src/utils/searchAPI.ts | 39 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 8ee14f1cb..f00529565 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -21,24 +21,6 @@ class RestAPI { /** SEARCH MODULE */ /** ************* */ - /** - * Get coverage area by selected area - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - */ - static requestCoverage(areaType, areaId) { - return RestAPI.makeGetRequest(`ecosystems/coverage?areaType=${areaType}&areaId=${areaId}`); - } - - /** - * Get the protected areas values by selected area - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - */ - static requestProtectedAreas(areaType, areaId) { - return RestAPI.makeGetRequest(`/pa?areaType=${areaType}&areaId=${areaId}`); - } - /** * Recover the national area by selected strategic ecosystems * @param {Number} idGeofence id geofence to request the strategic ecosystems @@ -55,15 +37,6 @@ class RestAPI { return RestAPI.makeGetRequest(`se/${idGeofence}/coverage`); } - /** - * Get the area distribution for each SE type and total SE area within a given area - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - */ - static requestStrategicEcosystems(areaType, areaId) { - return RestAPI.makeGetRequest(`ecosystems/se?areaType=${areaType}&areaId=${areaId}`); - } - /** * Recover details in the selected area * @param {Number} idArea id area to request, f.e. ea diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 4537d7229..e3a93808c 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -13,9 +13,8 @@ import { hfPersistence, hfTimeline, } from "pages/search/types/humanFootprint"; -import { seDetails } from "pages/search/types/ecosystems"; import { TextObject } from "pages/search/types/texts"; -import { SECoverage, SEPAData } from "pages/search/types/ecosystems"; +import { SECoverage, SEPAData, seDetails, EDValues } from "pages/search/types/ecosystems"; class SearchAPI { /** ****** */ /** FOREST */ @@ -307,6 +306,42 @@ class SearchAPI { ); } + /** + * Get the area distribution for each SE type and total SE area within a given area + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + */ + static requestStrategicEcosystems( + areaType: string, + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest(`ecosystems/se?areaType=${areaType}&areaId=${areaId}`); + } + + /** + * Get the protected areas values by selected area + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + */ + static requestProtectedAreas( + areaType: string, + areaId: string | number + ): Promise>{ + return SearchAPI.makeGetRequest(`/pa?areaType=${areaType}&areaId=${areaId}`); + } + + /** + * Get coverage area by selected area + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + */ + static requestCoverage( + areaType: string, + areaId: string | number + ): Promise> { + return SearchAPI.makeGetRequest(`ecosystems/coverage?areaType=${areaType}&areaId=${areaId}`); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From 7229c801e364fa33f476611efe9dad6cb5526cdc Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 26 Aug 2022 15:27:33 -0500 Subject: [PATCH 168/664] fix prettier style --- .../drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx index 51024ca89..b3a97508e 100644 --- a/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx @@ -1,10 +1,7 @@ import React from "react"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import { - transformPAValues, - transformCoverageValues, -} from "../transformData"; +import { transformPAValues, transformCoverageValues } from "../transformData"; import matchColor from "utils/matchColor"; import { SEKey } from "pages/search/utils/appropriate_keys"; @@ -18,7 +15,6 @@ import SearchAPI from "utils/searchAPI"; import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; - export interface PAData { area: number; label: string; From f4132203f15c99b7ae2338be2ea177730d6022e5 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 26 Aug 2022 15:38:49 -0500 Subject: [PATCH 169/664] fix another prettier styles --- .../search/drawer/ecosystems/transformData.ts | 85 +++++++++++-------- src/pages/search/types/ecosystems.ts | 9 +- src/utils/searchAPI.ts | 25 ++++-- 3 files changed, 75 insertions(+), 44 deletions(-) diff --git a/src/pages/search/drawer/ecosystems/transformData.ts b/src/pages/search/drawer/ecosystems/transformData.ts index cbb6f2303..d292b91b9 100644 --- a/src/pages/search/drawer/ecosystems/transformData.ts +++ b/src/pages/search/drawer/ecosystems/transformData.ts @@ -1,5 +1,10 @@ import { SmallBarStackGraphData } from "pages/search/shared_components/charts/SmallBarStackGraph"; -import { SECoverage, SEPAData, coverageLabels, EDValues } from "pages/search/types/ecosystems"; +import { + SECoverage, + SEPAData, + coverageLabels, + EDValues, +} from "pages/search/types/ecosystems"; export interface SmallBarData { area: number; @@ -8,11 +13,16 @@ export interface SmallBarData { label?: string | null; } -export const transformPAValues = (rawData:Array|null, totalArea:number) => { +export const transformPAValues = ( + rawData: Array | null, + totalArea: number +) => { if (!rawData || rawData.length === 0) return []; let PATotalArea = 0; if (rawData.length > 0) { - PATotalArea = rawData.map((i) => i.area).reduce((prev, next) => prev + next); + PATotalArea = rawData + .map((i) => i.area) + .reduce((prev, next) => prev + next); } const data = rawData .filter((item) => item.area > 0) @@ -30,29 +40,29 @@ export const transformPAValues = (rawData:Array|null, totalArea:number const noProtectedArea = totalArea > 0 ? totalArea - PATotalArea : 0; data.push({ area: noProtectedArea, - label: 'No Protegida', - key: 'No Protegida', + label: "No Protegida", + key: "No Protegida", percentage: noProtectedArea / totalArea, }); return data; }; -export const transformCoverageValues = (rawData:Array) => { +export const transformCoverageValues = (rawData: Array) => { if (!rawData) return []; return rawData.map((item) => { - let label:coverageLabels = ''; + let label: coverageLabels = ""; switch (item.type) { - case 'N': - label = 'Natural'; + case "N": + label = "Natural"; break; - case 'S': - label = 'Secundaria'; + case "S": + label = "Secundaria"; break; - case 'T': - label = 'Transformada'; + case "T": + label = "Transformada"; break; default: - label = 'Sin clasificar / Nubes'; + label = "Sin clasificar / Nubes"; } return { ...item, @@ -63,28 +73,33 @@ export const transformCoverageValues = (rawData:Array) => { }); }; -export const transformSEValues = (seRawData:EDValues, SETotalArea:number) => { +export const transformSEValues = (seRawData: EDValues, SETotalArea: number) => { if (!seRawData) return []; - const transformedData: Array = [{ - key: seRawData.type, - area: Number(seRawData.area), - percentage: seRawData.percentage, - label: seRawData.type, - }, - { - key: 'NA', - area: (SETotalArea - seRawData.area), - percentage: (SETotalArea - seRawData.area) / SETotalArea, - label: '', - }]; - return transformedData ; + const transformedData: Array = [ + { + key: seRawData.type, + area: Number(seRawData.area), + percentage: seRawData.percentage, + label: seRawData.type, + }, + { + key: "NA", + area: SETotalArea - seRawData.area, + percentage: (SETotalArea - seRawData.area) / SETotalArea, + label: "", + }, + ]; + return transformedData; }; -export const transformSEAreas = (rawData:Array, generalArea:number) => { - if (!rawData) return []; - const transformedSEAData:Array = rawData.map((obj) => ({ - ...obj, - percentage: obj.area / generalArea, - })); - return transformedSEAData; +export const transformSEAreas = ( + rawData: Array, + generalArea: number +) => { + if (!rawData) return []; + const transformedSEAData: Array = rawData.map((obj) => ({ + ...obj, + percentage: obj.area / generalArea, + })); + return transformedSEAData; }; diff --git a/src/pages/search/types/ecosystems.ts b/src/pages/search/types/ecosystems.ts index 1771a763f..345443f64 100644 --- a/src/pages/search/types/ecosystems.ts +++ b/src/pages/search/types/ecosystems.ts @@ -1,5 +1,10 @@ -export type coverageType = 'N' | 'S' | 'T' | 'X'; -export type coverageLabels = '' | 'Natural' | 'Secundaria' | 'Transformada' | 'Sin clasificar / Nubes' ; +export type coverageType = "N" | "S" | "T" | "X"; +export type coverageLabels = + | "" + | "Natural" + | "Secundaria" + | "Transformada" + | "Sin clasificar / Nubes"; export interface SECoverage { area: number; type: coverageType; diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index e3a93808c..44e2811a5 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -14,7 +14,12 @@ import { hfTimeline, } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; -import { SECoverage, SEPAData, seDetails, EDValues } from "pages/search/types/ecosystems"; +import { + SECoverage, + SEPAData, + seDetails, + EDValues, +} from "pages/search/types/ecosystems"; class SearchAPI { /** ****** */ /** FOREST */ @@ -315,7 +320,9 @@ class SearchAPI { areaType: string, areaId: string | number ): Promise> { - return SearchAPI.makeGetRequest(`ecosystems/se?areaType=${areaType}&areaId=${areaId}`); + return SearchAPI.makeGetRequest( + `ecosystems/se?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -323,11 +330,13 @@ class SearchAPI { * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ - static requestProtectedAreas( + static requestProtectedAreas( areaType: string, areaId: string | number - ): Promise>{ - return SearchAPI.makeGetRequest(`/pa?areaType=${areaType}&areaId=${areaId}`); + ): Promise> { + return SearchAPI.makeGetRequest( + `/pa?areaType=${areaType}&areaId=${areaId}` + ); } /** @@ -335,11 +344,13 @@ class SearchAPI { * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 */ - static requestCoverage( + static requestCoverage( areaType: string, areaId: string | number ): Promise> { - return SearchAPI.makeGetRequest(`ecosystems/coverage?areaType=${areaType}&areaId=${areaId}`); + return SearchAPI.makeGetRequest( + `ecosystems/coverage?areaType=${areaType}&areaId=${areaId}` + ); } /** ************ */ From b04ffe6cc47e80b3f931315bd5ed3a1c0ce051bb Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 29 Aug 2022 09:43:10 -0500 Subject: [PATCH 170/664] change comp name + add call to search api --- src/pages/search/drawer/Ecosystems.jsx | 161 +++++++++++++------------ 1 file changed, 81 insertions(+), 80 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index b95e6a7d7..408a9c3f7 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -1,23 +1,23 @@ -import React from "react"; -import PropTypes from "prop-types"; +import React from 'react'; +import PropTypes from 'prop-types'; -import InfoIcon from "@mui/icons-material/Info"; +import InfoIcon from '@mui/icons-material/Info'; -import ShortInfo from "components/ShortInfo"; -import { IconTooltip } from "pages/search/shared_components/Tooltips"; -import TextBoxes from "pages/search/shared_components/TextBoxes"; +import ShortInfo from 'components/ShortInfo'; +import { IconTooltip } from 'pages/search/shared_components/Tooltips'; +import TextBoxes from 'pages/search/shared_components/TextBoxes'; import { transformPAValues, transformCoverageValues, transformSEAreas, -} from "./ecosystems/transformData"; -import EcosystemsBox from "pages/search/drawer/ecosystems/EcosystemsBox"; -import SearchContext from "pages/search/SearchContext"; -import formatNumber from "utils/format"; -import matchColor from "utils/matchColor"; +} from 'pages/search/drawer/ecosystems/transformData'; +import EcosystemsBox from 'pages/search/drawer/ecosystems/EcosystemsBox'; +import SearchContext from 'pages/search/SearchContext'; +import formatNumber from 'utils/format'; +import matchColor from 'utils/matchColor'; +import RestAPI from 'utils/restAPI'; import SearchAPI from "utils/searchAPI"; -import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; -import RestAPI from "utils/restAPI.js"; +import SmallBarStackGraph from 'pages/search/shared_components/charts/SmallBarStackGraph'; /** * Calculate percentage for a given value according to total @@ -28,7 +28,7 @@ import RestAPI from "utils/restAPI.js"; */ const getPercentage = (part, total) => ((part * 100) / total).toFixed(2); -class StrategicEcosystems extends React.Component { +class Ecosystems extends React.Component { mounted = false; constructor(props) { @@ -43,9 +43,9 @@ class StrategicEcosystems extends React.Component { SETotalArea: 0, activeSE: null, messages: { - cov: "loading", - pa: "loading", - se: "loading", + cov: 'loading', + pa: 'loading', + se: 'loading', }, texts: { ecosystems: {}, @@ -58,10 +58,14 @@ class StrategicEcosystems extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, switchLayer } = this.context; + const { + areaId, + geofenceId, + switchLayer, + } = this.context; const { generalArea } = this.props; - switchLayer("coverages"); + switchLayer('coverages'); SearchAPI.requestCoverage(areaId, geofenceId) .then((res) => { @@ -79,7 +83,7 @@ class StrategicEcosystems extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - cov: "no-data", + cov: 'no-data', }, })); }); @@ -88,9 +92,7 @@ class StrategicEcosystems extends React.Component { .then((res) => { if (this.mounted) { if (Array.isArray(res) && res[0]) { - const PATotalArea = res - .map((i) => i.area) - .reduce((prev, next) => prev + next); + const PATotalArea = res.map((i) => i.area).reduce((prev, next) => prev + next); const PAAreas = transformPAValues(res, generalArea); this.setState((prev) => ({ PAAreas, @@ -107,7 +109,7 @@ class StrategicEcosystems extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - pa: "no-data", + pa: 'no-data', }, })); }); @@ -116,7 +118,7 @@ class StrategicEcosystems extends React.Component { .then((res) => { if (this.mounted) { if (Array.isArray(res)) { - const SETotal = res.find((obj) => obj.type === "Total"); + const SETotal = res.find((obj) => obj.type === 'Total'); const SETotalArea = SETotal ? SETotal.area : 0; const SEAreas = res.slice(1); this.setState((prev) => ({ @@ -134,13 +136,13 @@ class StrategicEcosystems extends React.Component { this.setState((prev) => ({ messages: { ...prev.messages, - se: "no-data", + se: 'no-data', }, })); }); - ["ecosystems", "coverage", "pa", "se"].forEach((item) => { - RestAPI.requestSectionTexts(item) + ['ecosystems', 'coverage', 'pa', 'se'].forEach((item) => { + RestAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { this.setState((prevState) => ({ @@ -153,7 +155,7 @@ class StrategicEcosystems extends React.Component { texts: { ...prevState.texts, [item]: {} }, })); }); - }); + }); } componentWillUnmount() { @@ -164,7 +166,7 @@ class StrategicEcosystems extends React.Component { this.setState((prevState) => ({ showInfoMain: !prevState.showInfoMain, })); - }; + } toggleInfo = (value) => { this.setState((prev) => { @@ -176,7 +178,7 @@ class StrategicEcosystems extends React.Component { newState.infoShown.add(value); return newState; }); - }; + } /** * Returns the component EcosystemsBox that contains the list of strategic ecosystems @@ -187,13 +189,9 @@ class StrategicEcosystems extends React.Component { */ renderEcosystemsBox = (SEAreas, SETotalArea) => { const { generalArea } = this.props; - const { - activeSE, - messages: { se }, - } = this.state; - if (se === "loading") return "Cargando..."; - if (se === "no-data") - return "No hay información de áreas protegidas en el área de consulta"; + const { activeSE, messages: { se } } = this.state; + if (se === 'loading') return ('Cargando...'); + if (se === 'no-data') return ('No hay información de áreas protegidas en el área de consulta'); if (generalArea !== 0) { return (

    @@ -261,43 +263,42 @@ class StrategicEcosystems extends React.Component {
    this.toggleInfo("coverage")} + className={`downSpecial${infoShown.has('coverage') ? ' activeBox' : ''}`} + onClick={() => this.toggleInfo('coverage')} /> - {infoShown.has("coverage") && ( + {infoShown.has('coverage') && ( )} -
    Natural, Secundaria y Transformada:
    +
    + Natural, Secundaria y Transformada: +
    { - handlerClickOnGraph({ - chartType: "coverage", - selectedKey: selected, - }); + handlerClickOnGraph({ chartType: 'coverage', selectedKey: selected }); }} />
    @@ -308,8 +309,8 @@ class StrategicEcosystems extends React.Component { quoteText={texts.coverage.quote} metoText={texts.coverage.meto} consText={texts.coverage.cons} - toggleInfo={() => this.toggleInfo("coverage")} - isInfoOpen={infoShown.has("coverage")} + toggleInfo={() => this.toggleInfo('coverage')} + isInfoOpen={infoShown.has('coverage')} />

    Áreas protegidas @@ -317,14 +318,14 @@ class StrategicEcosystems extends React.Component {

    this.toggleInfo("pa")} + className={`downSpecial${infoShown.has('pa') ? ' activeBox' : ''}`} + onClick={() => this.toggleInfo('pa')} /> -
    {`${getPercentage(PATotalArea, generalArea)} %`}
    - {infoShown.has("pa") && ( +
    + {`${getPercentage(PATotalArea, generalArea)} %`} +
    + {infoShown.has('pa') && ( )}
    -
    Distribución por áreas protegidas:
    +
    + Distribución por áreas protegidas: +
    this.toggleInfo("pa")} - isInfoOpen={infoShown.has("pa")} + toggleInfo={() => this.toggleInfo('pa')} + isInfoOpen={infoShown.has('pa')} />

    @@ -356,16 +359,14 @@ class StrategicEcosystems extends React.Component {

    this.toggleInfo("se")} + className={`downSpecial2${infoShown.has('se') ? ' activeBox' : ''}`} + onClick={() => this.toggleInfo('se')} />
    {`${getPercentage(SETotalArea, generalArea)} %`}
    - {infoShown.has("se") && ( + {infoShown.has('se') && ( this.toggleInfo("se")} - isInfoOpen={infoShown.has("se")} + toggleInfo={() => this.toggleInfo('se')} + isInfoOpen={infoShown.has('se')} />
    @@ -389,14 +390,14 @@ class StrategicEcosystems extends React.Component { } } -StrategicEcosystems.propTypes = { +Ecosystems.propTypes = { generalArea: PropTypes.number, }; -StrategicEcosystems.defaultProps = { +Ecosystems.defaultProps = { generalArea: 0, }; -export default StrategicEcosystems; +export default Ecosystems; -StrategicEcosystems.contextType = SearchContext; +Ecosystems.contextType = SearchContext; From 00a4f92d8420f89807e0f7a907c137631b985e12 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Tue, 30 Aug 2022 00:59:18 -0500 Subject: [PATCH 171/664] change names of types returned by api functions --- src/utils/searchAPI.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 44e2811a5..d5aa77de3 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -15,10 +15,9 @@ import { } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; import { - SECoverage, + Coverage, SEPAData, seDetails, - EDValues, } from "pages/search/types/ecosystems"; class SearchAPI { /** ****** */ @@ -288,7 +287,7 @@ class SearchAPI { areaType: string, areaId: string | number, seType: string - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest( `ecosystems/coverage/se?areaType=${areaType}&areaId=${areaId}&seType=${seType}` ); @@ -347,7 +346,7 @@ class SearchAPI { static requestCoverage( areaType: string, areaId: string | number - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest( `ecosystems/coverage?areaType=${areaType}&areaId=${areaId}` ); From f29c7489ec7e02d7ae2665bc3f98fa8f2f8533f1 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Tue, 30 Aug 2022 00:59:48 -0500 Subject: [PATCH 172/664] rename types --- src/pages/search/types/ecosystems.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/types/ecosystems.ts b/src/pages/search/types/ecosystems.ts index 345443f64..85b7baa6b 100644 --- a/src/pages/search/types/ecosystems.ts +++ b/src/pages/search/types/ecosystems.ts @@ -5,7 +5,7 @@ export type coverageLabels = | "Secundaria" | "Transformada" | "Sin clasificar / Nubes"; -export interface SECoverage { +export interface Coverage { area: number; type: coverageType; percentage: number; @@ -15,7 +15,7 @@ export interface SEPAData { type: string; } -export interface EDValues extends SEPAData { +export interface SEPADataExt extends SEPAData { percentage: number; } export interface seDetails { From 294816584354255899dd081b34eb4bfb71a38e27 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Tue, 30 Aug 2022 01:15:57 -0500 Subject: [PATCH 173/664] remove unnecesary typea & add replace type names --- .../search/drawer/ecosystems/transformData.ts | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/src/pages/search/drawer/ecosystems/transformData.ts b/src/pages/search/drawer/ecosystems/transformData.ts index d292b91b9..b375c268f 100644 --- a/src/pages/search/drawer/ecosystems/transformData.ts +++ b/src/pages/search/drawer/ecosystems/transformData.ts @@ -1,20 +1,12 @@ -import { SmallBarStackGraphData } from "pages/search/shared_components/charts/SmallBarStackGraph"; import { - SECoverage, + Coverage, SEPAData, coverageLabels, - EDValues, + SEPADataExt, } from "pages/search/types/ecosystems"; -export interface SmallBarData { - area: number; - key: string; - percentage: number; - label?: string | null; -} - export const transformPAValues = ( - rawData: Array | null, + rawData: Array, totalArea: number ) => { if (!rawData || rawData.length === 0) return []; @@ -47,7 +39,7 @@ export const transformPAValues = ( return data; }; -export const transformCoverageValues = (rawData: Array) => { +export const transformCoverageValues = (rawData: Array) => { if (!rawData) return []; return rawData.map((item) => { let label: coverageLabels = ""; @@ -73,9 +65,9 @@ export const transformCoverageValues = (rawData: Array) => { }); }; -export const transformSEValues = (seRawData: EDValues, SETotalArea: number) => { +export const transformSEValues = (seRawData: SEPADataExt, SETotalArea: number) => { if (!seRawData) return []; - const transformedData: Array = [ + const transformedData = [ { key: seRawData.type, area: Number(seRawData.area), @@ -97,7 +89,7 @@ export const transformSEAreas = ( generalArea: number ) => { if (!rawData) return []; - const transformedSEAData: Array = rawData.map((obj) => ({ + const transformedSEAData: Array = rawData.map((obj) => ({ ...obj, percentage: obj.area / generalArea, })); From 96c200c4f71e0727cf114e616c5ed66366e2523a Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Tue, 30 Aug 2022 01:17:17 -0500 Subject: [PATCH 174/664] add imports with complete paths and rename types --- src/pages/search/drawer/ecosystems/EcosystemsBox.tsx | 6 +++--- .../ecosystems/ecosystemsBox/EcosystemDetails.tsx | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/pages/search/drawer/ecosystems/EcosystemsBox.tsx b/src/pages/search/drawer/ecosystems/EcosystemsBox.tsx index f1c8eebb9..33dc9c1bc 100644 --- a/src/pages/search/drawer/ecosystems/EcosystemsBox.tsx +++ b/src/pages/search/drawer/ecosystems/EcosystemsBox.tsx @@ -5,13 +5,13 @@ import EcosystemDetails from "pages/search/drawer/ecosystems/ecosystemsBox/Ecosy import formatNumber from "utils/format"; import matchColor from "utils/matchColor"; -import { transformSEValues } from "./transformData"; -import { EDValues } from "pages/search/types/ecosystems"; +import { transformSEValues } from "pages/search/drawer/ecosystems/transformData"; +import { SEPADataExt } from "pages/search/types/ecosystems"; import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; interface Props { SETotalArea: number; - SEAreas: Array; + SEAreas: Array; setActiveSE: (type: string) => void; activeSE: string; } diff --git a/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx index b3a97508e..b035e4cb2 100644 --- a/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx @@ -1,14 +1,14 @@ import React from "react"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import { transformPAValues, transformCoverageValues } from "../transformData"; +import { transformPAValues, transformCoverageValues } from "pages/search/drawer/ecosystems/transformData"; import matchColor from "utils/matchColor"; import { SEKey } from "pages/search/utils/appropriate_keys"; import { coverageType, - SECoverage, - EDValues, + Coverage, + SEPADataExt, coverageLabels, } from "pages/search/types/ecosystems"; import SearchAPI from "utils/searchAPI"; @@ -21,12 +21,12 @@ export interface PAData { key: string; percentage: number; } -interface CoverageValues extends SECoverage { +interface CoverageExt extends Coverage { key: coverageType; label: coverageLabels; } interface State { - coverageData: Array; + coverageData: Array; paData: Array; stopLoad: boolean; messages: { @@ -36,7 +36,7 @@ interface State { } interface Props { - SEValues: EDValues; + SEValues: SEPADataExt; } class EcosystemDetails extends React.Component { mounted = false; From 6c4fba44e71e686723c83c892d27a1156dd37d81 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Tue, 30 Aug 2022 01:21:35 -0500 Subject: [PATCH 175/664] fix prettier style --- .../drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx index b035e4cb2..2434bd06c 100644 --- a/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx +++ b/src/pages/search/drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx @@ -1,7 +1,10 @@ import React from "react"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import { transformPAValues, transformCoverageValues } from "pages/search/drawer/ecosystems/transformData"; +import { + transformPAValues, + transformCoverageValues, +} from "pages/search/drawer/ecosystems/transformData"; import matchColor from "utils/matchColor"; import { SEKey } from "pages/search/utils/appropriate_keys"; From 8e011eaaaf2325355cf8a0e4884a06ff801b97fb Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Tue, 30 Aug 2022 01:25:08 -0500 Subject: [PATCH 176/664] apply prettier styles --- src/pages/search/drawer/ecosystems/transformData.ts | 5 ++++- src/utils/searchAPI.ts | 6 +----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/ecosystems/transformData.ts b/src/pages/search/drawer/ecosystems/transformData.ts index b375c268f..ee93c57f3 100644 --- a/src/pages/search/drawer/ecosystems/transformData.ts +++ b/src/pages/search/drawer/ecosystems/transformData.ts @@ -65,7 +65,10 @@ export const transformCoverageValues = (rawData: Array) => { }); }; -export const transformSEValues = (seRawData: SEPADataExt, SETotalArea: number) => { +export const transformSEValues = ( + seRawData: SEPADataExt, + SETotalArea: number +) => { if (!seRawData) return []; const transformedData = [ { diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index d5aa77de3..8c15c4260 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -14,11 +14,7 @@ import { hfTimeline, } from "pages/search/types/humanFootprint"; import { TextObject } from "pages/search/types/texts"; -import { - Coverage, - SEPAData, - seDetails, -} from "pages/search/types/ecosystems"; +import { Coverage, SEPAData, seDetails } from "pages/search/types/ecosystems"; class SearchAPI { /** ****** */ /** FOREST */ From 7041efcf50991b6b9f944a7ff4c723452844a6f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 30 Aug 2022 09:33:29 -0500 Subject: [PATCH 177/664] Rename component --- .../charts/{SingleBulletGraph.jsx => SingleBulletGraph.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/shared_components/charts/{SingleBulletGraph.jsx => SingleBulletGraph.tsx} (100%) diff --git a/src/pages/search/shared_components/charts/SingleBulletGraph.jsx b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx similarity index 100% rename from src/pages/search/shared_components/charts/SingleBulletGraph.jsx rename to src/pages/search/shared_components/charts/SingleBulletGraph.tsx From 51b457a513d6b3da697573a817f5531b6d96d784 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 30 Aug 2022 11:39:27 -0500 Subject: [PATCH 178/664] Fix layer name in some methods that set styles for the case of national layers --- src/pages/Search.jsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 8cba493f1..acffa1624 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -190,7 +190,7 @@ class Search extends Component { ftype = 'dpc'; } else if (type === 'fc') { key = feature.properties.compensation_factor; - } else if (type === 'national') { + } else if (type === 'states' || type === 'ea' || type === 'basinSubzones') { return { color: '#e84a5f', weight: 0.5, @@ -295,10 +295,8 @@ class Search extends Component { break; case 'states': case 'ea': - feature.bindTooltip(feature.feature.properties.name, optionsTooltip).openTooltip(); - break; case 'basinSubzones': - feature.bindTooltip(feature.feature.properties.name_subzone, optionsTooltip).openTooltip(); + feature.bindTooltip(feature.feature.properties.geofence_name, optionsTooltip).openTooltip(); break; case 'currentPAConn': case 'timelinePAConn': @@ -559,7 +557,7 @@ class Search extends Component { case 'basinSubzones': case 'ea': reqPromise = () => RestAPI.requestNationalGeometryByArea(layerName); - layerStyle = this.featureStyle({ type: 'national' }); + layerStyle = this.featureStyle({ type: layerName }); break; case 'geofence': reqPromise = () => RestAPI.requestGeofenceGeometryByArea( From 45c425a2392385dffb1761530c1b4ee01f118192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 30 Aug 2022 17:49:57 -0500 Subject: [PATCH 179/664] Migrate SingleBullet chart component --- .../charts/SingleBulletGraph.tsx | 206 +++++++----------- 1 file changed, 84 insertions(+), 122 deletions(-) diff --git a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx index 89ca57950..6a10f7a97 100644 --- a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx +++ b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx @@ -1,10 +1,17 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import { ResponsiveBullet } from '@nivo/bullet'; -import { BasicTooltip, useTooltip } from '@nivo/tooltip'; -import { animated, to } from 'react-spring'; -import withMessageWrapper from 'pages/search/shared_components/charts/withMessageWrapper'; - +import React from "react"; +import { + BulletMarkersItemProps, + BulletRectsItemProps, + ResponsiveBullet, +} from "@nivo/bullet"; +import { BasicTooltip, useTooltip } from "@nivo/tooltip"; +import { animated, to } from "@react-spring/web"; +import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; + +type colorsFunction = (param: string) => string; +interface itemsObject { + [key: string]: number; +} /** * Get the key for a value inside an object * @@ -13,11 +20,8 @@ import withMessageWrapper from 'pages/search/shared_components/charts/withMessag * * @returns {String} desired key */ -const findKey = (originalObject, value) => ( - Object.keys(originalObject).find( - (key) => originalObject[key] === value, - ) -); +const findKey = (originalObject: itemsObject, value: number) => + Object.keys(originalObject).find((key) => originalObject[key] === value); /** * Define display element for a tooltip @@ -27,16 +31,12 @@ const findKey = (originalObject, value) => ( * * @returns Tooltip elemtent */ -const tooltip = (value, color) => { +const tooltip = (value: number, color: string) => { const { showTooltipFromEvent } = useTooltip(); - return (event) => { + return (event: React.MouseEvent) => { showTooltipFromEvent( - {value}} - enableChip - color={color} - />, - event, + {value}} enableChip color={color} />, + event ); }; }; @@ -50,7 +50,11 @@ const tooltip = (value, color) => { * * @returns Functional component for a measure in form of a line */ -const LineMeasureWrap = (origMeasures, colors, reverse = false) => { +const LineMeasureWrap = ( + origMeasures: itemsObject, + colors: colorsFunction, + reverse: boolean +) => { /** * Custom component to display bullet measures as lines (like markers) * @@ -58,16 +62,13 @@ const LineMeasureWrap = (origMeasures, colors, reverse = false) => { * * @returns React component */ - const LineMeasure = (props) => { + const LineMeasure: React.FC = (props) => { const { - animatedProps: { - x, - width, - }, + animatedProps: { x, width }, data, onMouseLeave, } = props; - const measureKey = findKey(origMeasures, data.v1); + const measureKey = findKey(origMeasures, data.v1) || ""; const xVal = to([x, width], (vx, vw) => { if (reverse) return vx; return vx + vw; @@ -81,22 +82,16 @@ const LineMeasureWrap = (origMeasures, colors, reverse = false) => { stroke={colors(measureKey)} strokeWidth={3} onMouseEnter={tooltip(data.v1, colors(measureKey))} - onMouseLeave={onMouseLeave} + onMouseLeave={(event: unknown) => + onMouseLeave( + data, + event as React.MouseEvent + ) + } /> ); }; - LineMeasure.propTypes = { - animatedProps: PropTypes.shape({ - x: PropTypes.object.isRequired, - width: PropTypes.object.isRequired, - }).isRequired, - data: PropTypes.shape({ - v1: PropTypes.number.isRequired, - }).isRequired, - onMouseLeave: PropTypes.func.isRequired, - }; - return LineMeasure; }; @@ -108,7 +103,7 @@ const LineMeasureWrap = (origMeasures, colors, reverse = false) => { * * @returns Functional component for a marker in form of a circle */ -const CircleMarkerWrap = (origMarkers, colors) => { +const CircleMarkerWrap = (origMarkers: itemsObject, colors: colorsFunction) => { /** * Custom component to display bullet markers as circles * @@ -116,40 +111,26 @@ const CircleMarkerWrap = (origMarkers, colors) => { * * @returns React component */ - const CircleMarker = (props) => { - const { - x, - y, - data, - value, - onMouseLeave, - } = props; - const markerKey = findKey(origMarkers, value); + const CircleMarker: React.FC = (props) => { + const { x, y, data, onMouseLeave } = props; + const markerKey = findKey(origMarkers, data.value) || ""; return ( onMouseLeave(data, event)} + onMouseEnter={tooltip(data.value, colors(markerKey))} + onMouseLeave={(event: unknown) => + onMouseLeave( + data, + event as React.MouseEvent + ) + } > - + ); }; - CircleMarker.propTypes = { - x: PropTypes.number.isRequired, - y: PropTypes.number.isRequired, - data: PropTypes.object.isRequired, - value: PropTypes.number.isRequired, - onMouseLeave: PropTypes.func.isRequired, - }; - return CircleMarker; }; @@ -161,7 +142,10 @@ const CircleMarkerWrap = (origMarkers, colors) => { * * @returns Functional component for a range without tooltip */ - const NoTooltipRangeWrap = (origRanges, colors) => { +const NoTooltipRangeWrap = ( + origRanges: itemsObject, + colors: colorsFunction +) => { /** * Custom component to display bullet range without tooltip * @@ -169,18 +153,13 @@ const CircleMarkerWrap = (origMarkers, colors) => { * * @returns React component */ - const NoTooltipRange = (props) => { + const NoTooltipRange: React.FC = (props) => { const { - animatedProps: { - x, - y, - width, - height, - }, + animatedProps: { x, y, width, height }, data, onClick, } = props; - const rangeKey = findKey(origRanges, data.v1); + const rangeKey = findKey(origRanges, data.v1) || ""; return ( { width={to(width, (value) => Math.max(value, 0))} height={to(height, (value) => Math.max(value, 0))} fill={colors(rangeKey)} - onClick={onClick} + onClick={(event) => onClick(data, event)} //REVISAR /> ); }; - NoTooltipRange.propTypes = { - animatedProps: PropTypes.shape({ - x: PropTypes.object.isRequired, - y: PropTypes.object.isRequired, - width: PropTypes.object.isRequired, - height: PropTypes.object.isRequired, - }).isRequired, - data: PropTypes.shape({ - v1: PropTypes.number.isRequired, - }).isRequired, - onClick: PropTypes.func.isRequired, - }; - return NoTooltipRange; }; +interface BulletProps { + data: BulletData; + height: number; + colors: colorsFunction; + onClickHandler: () => void; + reverse?: boolean; + labelXRight: string; + labelXLeft: string; +} + +interface BulletData { + id: string; + ranges: itemsObject; + markers: itemsObject; + measures: itemsObject; + title: string; +} + /** * Important: measures and markers are inverted with respect to nivo documentation */ -const SingleBulletGraph = (props) => { +const SingleBulletGraph: React.FC = (props) => { const { - height, + height = 62, data, colors, onClickHandler, - reverse, + reverse = false, labelXRight, labelXLeft, } = props; return (
    { ); }; -SingleBulletGraph.propTypes = { - data: PropTypes.shape({ - id: PropTypes.string.isRequired, - ranges: PropTypes.object.isRequired, - markers: PropTypes.object.isRequired, - measures: PropTypes.object.isRequired, - title: PropTypes.string, - }).isRequired, - height: PropTypes.number, - colors: PropTypes.func.isRequired, - onClickHandler: PropTypes.func, - reverse: PropTypes.bool, - labelXRight: PropTypes.string, - labelXLeft: PropTypes.string, -}; - -SingleBulletGraph.defaultProps = { - height: 62, - onClickHandler: () => {}, - reverse: false, - labelXRight: null, - labelXLeft: null, -}; - -export default withMessageWrapper(SingleBulletGraph); +export default withMessageWrapper(SingleBulletGraph); From e63f33b5ae3c029273d37d9ea05a20a768a1b9cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 30 Aug 2022 18:04:18 -0500 Subject: [PATCH 180/664] Rename component --- .../species/richness/{NumberOfSpecies.jsx => NumberOfSpecies.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/drawer/species/richness/{NumberOfSpecies.jsx => NumberOfSpecies.tsx} (100%) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.jsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx similarity index 100% rename from src/pages/search/drawer/species/richness/NumberOfSpecies.jsx rename to src/pages/search/drawer/species/richness/NumberOfSpecies.tsx From cefc556522897df4f2e347002e8e047a1101c5e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 31 Aug 2022 15:31:57 -0500 Subject: [PATCH 181/664] Migrate NOS component --- .../species/richness/NumberOfSpecies.tsx | 454 ++++++++++-------- .../charts/SingleBulletGraph.tsx | 10 +- src/pages/search/types/richness.ts | 24 + src/pages/search/types/texts.ts | 8 +- src/utils/restAPI.js | 46 -- src/utils/searchAPI.ts | 96 +++- 6 files changed, 393 insertions(+), 245 deletions(-) create mode 100644 src/pages/search/types/richness.ts diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index 63695ced1..a4427dfc7 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -1,87 +1,148 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; -import { IconTooltip } from 'pages/search/shared_components/Tooltips'; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; import { LegendColor, LineLegend, TextLegend, ThickLineLegend, -} from 'pages/search/shared_components/CssLegends'; -import Icon from 'pages/search/shared_components/CssIcons'; -import matchColor from 'utils/matchColor'; -import RestAPI from 'utils/restAPI'; -import SearchContext from 'pages/search/SearchContext'; -import ShortInfo from 'components/ShortInfo'; +} from "pages/search/shared_components/CssLegends"; +import Icon from "pages/search/shared_components/CssIcons"; +import matchColor from "utils/matchColor"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import ShortInfo from "components/ShortInfo"; -import biomodelos from 'images/biomodelos.png'; -import mappoint from 'images/mappoint.png'; -import biomodelos2 from 'images/biomodelos2.png'; -import mappoint2 from 'images/mappoint2.png'; -import biomodeloslink from 'images/biomodeloslink.png'; -import biomodeloslink2 from 'images/biomodeloslink2.png'; -import fullview from 'images/fullview.png'; -import TextBoxes from 'pages/search/shared_components/TextBoxes'; -import SingleBulletGraph from 'pages/search/shared_components/charts/SingleBulletGraph'; +import biomodelos from "images/biomodelos.png"; +import mappoint from "images/mappoint.png"; +import biomodelos2 from "images/biomodelos2.png"; +import mappoint2 from "images/mappoint2.png"; +import biomodeloslink from "images/biomodeloslink.png"; +import biomodeloslink2 from "images/biomodeloslink2.png"; +import fullview from "images/fullview.png"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; +import SingleBulletGraph from "pages/search/shared_components/charts/SingleBulletGraph"; +import { wrapperMessage } from "pages/search/types/charts"; +import { + helperText, + textResponse, + textsObject, +} from "pages/search/types/texts"; +import { NOSGroups, NOSNational } from "pages/search/types/richness"; +import SearchAPI from "utils/searchAPI"; const NOSTexts = { - inferred: {}, - observed: {}, - helper: '', + inferred: { info: "", cons: "", meto: "", quote: "" }, + observed: { info: "", cons: "", meto: "", quote: "" }, }; -const getLabel = (key, area, region) => { - let areaLbl = 'cerca'; +const getLabel = (key: string, area: string = "", region: string = "") => { + let areaLbl = "cerca"; switch (area) { - case 'states': - areaLbl = 'departamentos'; + case "states": + areaLbl = "departamentos"; break; - case 'ea': - areaLbl = 'jurisdicciones ambientales'; + case "ea": + areaLbl = "jurisdicciones ambientales"; break; - case 'basinSubzones': - areaLbl = 'subzonas hidrográficas'; + case "basinSubzones": + areaLbl = "subzonas hidrográficas"; break; default: - break; + break; } return { - total: 'TOTAL', - endemic: 'ENDÉMICAS', - invasive: 'INVASORAS', - threatened: 'AMENAZADAS', - inferred: 'Inferido (BioModelos)', - observed: 'Observado (visor I2D)', + total: "TOTAL", + endemic: "ENDÉMICAS", + invasive: "INVASORAS", + threatened: "AMENAZADAS", + inferred: "Inferido (BioModelos)", + observed: "Observado (visor I2D)", min_inferred: `Min. inferido ${areaLbl} de la región ${region}`, min_observed: `Min. observado ${areaLbl} de la región ${region}`, max_inferred: `Max. inferido ${areaLbl} de la región ${region}`, max_observed: `Max. observado ${areaLbl} de la región ${region}`, region_observed: `Observado región ${region}`, region_inferred: `Inferido región ${region}`, - area: `${areaLbl.replace(/^\w/, (l) => l.toUpperCase())} de la región ${region}`, + area: `${areaLbl.replace(/^\w/, (l) => + l.toUpperCase() + )} de la región ${region}`, region: `Región ${region}`, - inferred2: 'Inferido en el área de consulta', - observed2: 'Observado en el área de consulta', + inferred2: "Inferido en el área de consulta", + observed2: "Observado en el área de consulta", national_inferred: `Max. inferido en ${areaLbl} a nivel nacional: `, national_observed: `Max. observado en ${areaLbl} a nivel nacional: `, }[key]; }; -class NumberOfSpecies extends React.Component { +interface Props {} + +interface State { + showInfoGraph: boolean; + data: Array; + allData: Array; + filter: string; + message: wrapperMessage; + selected: string; + bioticRegion: string; + texts: textsObject; + helperText: helperText; + maximumValues: Array; + showErrorMessage: boolean; +} + +const allDataAreas = ["max", "max_inferred", "max_observed"] as const; +const allDataRegions = ["max", "region_inferred", "region_observed"] as const; +interface completeData { + id: NOSGroups; + ranges: { + area: { + [Property in typeof allDataAreas[number]]: number; + }; + region: { + [Property in typeof allDataRegions[number]]: number; + }; + }; + markers: { + inferred: number; + observed: number; + }; + measures: { + [key: string]: number; + region_inferred: number; + region_observed: number; + }; + title: string; +} + +interface selectedData extends Pick { + ranges: { + area: number; + region: number; + }; + markers: { + [key: string]: number; + }; + measures: { + [key: string]: number; + }; +} +class NumberOfSpecies extends React.Component { mounted = false; - constructor(props) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, data: [], allData: [], - filter: 'all', - message: 'loading', - selected: 'total', - bioticRegion: 'Región Biótica', - texts: {}, + filter: "all", + message: "loading", + selected: "total", + bioticRegion: "Región Biótica", + texts: { info: "", cons: "", meto: "", quote: "" }, + helperText: { helper: "" }, maximumValues: [], showErrorMessage: false, }; @@ -89,37 +150,44 @@ class NumberOfSpecies extends React.Component { componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; - switchLayer('numberOfSpecies-total'); + switchLayer("numberOfSpecies-total"); Promise.all([ - RestAPI.requestNumberOfSpecies(areaId, geofenceId, 'all'), - RestAPI.requestNSThresholds(areaId, geofenceId, 'all'), - RestAPI.requestNSNationalMax(areaId, 'all'), + SearchAPI.requestNumberOfSpecies(areaId, geofenceId, "all"), + SearchAPI.requestNSThresholds(areaId, geofenceId, "all"), + SearchAPI.requestNSNationalMax(areaId, "all"), ]) .then(([values, thresholds, nationalMax]) => { - const data = []; - let region = null; + const data: Array = []; + let region: string = "Región Biótica"; let showErrorMessage = false; values.forEach((groupVal) => { - if (!region) region = groupVal.region_name; - const { id, ...limits } = thresholds.find((e) => e.id === groupVal.id); + if (region === "Región Biótica") { + region = groupVal.region_name || "Región Biótica"; + } + const { + id = "", + max_inferred = 0, + max_observed = 0, + ...mins + } = thresholds.find((e) => e.id === groupVal.id) || {}; showErrorMessage = groupVal.inferred > groupVal.region_inferred; data.push({ id: groupVal.id, ranges: { area: { - max: Math.max(limits.max_inferred, limits.max_observed), - max_inferred: limits.max_inferred, - max_observed: limits.max_observed, + max: Math.max(max_inferred, max_observed), + max_inferred: max_inferred, + max_observed: max_observed, }, region: { - max: Math.max(groupVal.region_observed, groupVal.region_inferred), + max: Math.max( + groupVal.region_observed, + groupVal.region_inferred + ), region_observed: groupVal.region_observed, region_inferred: groupVal.region_inferred, }, @@ -129,59 +197,60 @@ class NumberOfSpecies extends React.Component { observed: groupVal.observed, }, measures: { - ...limits, + ...mins, + max_inferred, + max_observed, region_inferred: groupVal.region_inferred, region_observed: groupVal.region_observed, }, - title: '', + title: "", }); }); - this.setState({ - allData: data, - maximumValues: nationalMax, - message: null, - bioticRegion: region, - showErrorMessage, - }, () => { - this.filter('inferred')(); - }); + this.setState( + { + allData: data, + maximumValues: nationalMax, + message: null, + bioticRegion: region, + showErrorMessage, + }, + () => { + this.filter("inferred")(); + } + ); }) .catch(() => { - this.setState({ message: 'no-data' }); + this.setState({ message: "no-data" }); }); - RestAPI.requestSectionTexts('nosInferred') + SearchAPI.requestSectionTexts("nosInferred") .then((res) => { if (this.mounted) { - NOSTexts.inferred = res; + NOSTexts.inferred = res as textsObject; this.setState({ texts: NOSTexts.inferred, }); } }) - .catch(() => { - NOSTexts.inferred = {}; - }); + .catch(() => {}); - RestAPI.requestSectionTexts('nosObserved') + SearchAPI.requestSectionTexts("nosObserved") .then((res) => { if (this.mounted) { NOSTexts.observed = res; } }) - .catch(() => { - NOSTexts.observed = {}; - }); + .catch(() => {}); - RestAPI.requestSectionTexts('nos') + SearchAPI.requestHelperTexts("nos") .then((res) => { if (this.mounted) { - NOSTexts.helper = res.helper; + this.setState({ + helperText: res, + }); } }) - .catch(() => { - NOSTexts.helper = ''; - }); + .catch(() => {}); } componentWillUnmount() { @@ -203,10 +272,10 @@ class NumberOfSpecies extends React.Component { * @param {String} category category to filter by * @returns void */ - filter = (category) => () => { + filter = (category: "inferred" | "observed" | "all") => () => { const { allData, selected } = this.state; - const { handlerClickOnGraph } = this.context; - if (category === 'all') { + const { handlerClickOnGraph } = this.context as SearchContextValues; + if (category === "all") { this.setState({ data: allData.map((group) => ({ ...group, @@ -215,21 +284,23 @@ class NumberOfSpecies extends React.Component { region: group.ranges.region.max, }, })), - filter: 'all', - texts: {}, + filter: "all", + texts: { info: "", cons: "", meto: "", quote: "" }, showInfoGraph: false, }); handlerClickOnGraph({ - chartType: 'numberOfSpecies', - chartSection: 'all', + chartType: "numberOfSpecies", + chartSection: "all", selectedKey: selected, }); } else { const newData = allData.map((group) => { const regex = new RegExp(`${category}$`); - const measureKeys = Object.keys(group.measures).filter((key) => regex.test(key)); - const areaKey = Object.keys(group.ranges.area).filter((key) => regex.test(key)); - const regionKey = Object.keys(group.ranges.region).filter((key) => regex.test(key)); + const measureKeys = Object.keys(group.measures).filter((key) => + regex.test(key) + ); + const areaKey = allDataAreas.filter((key) => regex.test(key))[0]; + const regionKey = allDataRegions.filter((key) => regex.test(key))[0]; return { id: group.id, markers: { @@ -237,12 +308,13 @@ class NumberOfSpecies extends React.Component { }, measures: measureKeys.reduce( (result, key) => ({ ...result, [key]: group.measures[key] }), - {}, + {} ), ranges: { area: group.ranges.area[areaKey], region: group.ranges.region[regionKey], }, + title: group.title, }; }); this.setState({ @@ -252,20 +324,20 @@ class NumberOfSpecies extends React.Component { showInfoGraph: true, }); handlerClickOnGraph({ - chartType: 'numberOfSpecies', + chartType: "numberOfSpecies", chartSection: category, selectedKey: selected, }); } - } + }; /** * Process data to be downloaded as a csv file * * @param {Object} data data transformed passed to graph */ - processDownload = (data) => { - const result = []; + processDownload = (data: Array): Array => { + const result: Array = []; data.forEach((item) => { let obj = { type: item.id, @@ -288,11 +360,8 @@ class NumberOfSpecies extends React.Component { }; render() { - const { - areaId, - geofenceId, - handlerClickOnGraph, - } = this.context; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; const { showInfoGraph, message, @@ -303,12 +372,21 @@ class NumberOfSpecies extends React.Component { bioticRegion, showErrorMessage, texts, + helperText, } = this.state; - let legends = ['inferred', 'min_inferred', 'max_inferred', 'region_inferred', - 'observed', 'min_observed', 'max_observed', 'region_observed']; + let legends = [ + "inferred", + "min_inferred", + "max_inferred", + "region_inferred", + "observed", + "min_observed", + "max_observed", + "region_observed", + ]; - if (filter !== 'all') { + if (filter !== "all") { legends = legends.filter((leg) => { const regex = new RegExp(`${filter}$`); return regex.test(leg); @@ -321,7 +399,7 @@ class NumberOfSpecies extends React.Component { {Object.keys(texts).length > 0 && ( this.toggleInfoGraph()} /> @@ -336,90 +414,89 @@ class NumberOfSpecies extends React.Component { )} {showErrorMessage && (
    - La riqueza inferida del área de consulta supera la de la región biótica en algunos - casos pues sus límites intersectan dos o más regiones bióticas. + La riqueza inferida del área de consulta supera la de la región + biótica en algunos casos pues sus límites intersectan dos o más + regiones bióticas.
    )} -

    - {NOSTexts.helper} -

    +

    {helperText.helper}

    - {getLabel('inferred', areaId)} + {getLabel("inferred", areaId)} - {getLabel('observed', areaId)} + {getLabel("observed", areaId)}
    - Ver ambos + Ver ambos
    - {(message === 'no-data' || message === 'loading') && ( - - )} {data.map((bar) => (
    -
    - {getLabel(bar.id)} -
    +
    {getLabel(bar.id)}
    - {(filter === 'all' || filter === 'inferred') && ( + {(filter === "all" || filter === "inferred") && ( <> - {getLabel('national_inferred', areaId)} + {getLabel("national_inferred", areaId)} - {maximumValues.find((e) => e.id === bar.id).max_inferred} + { + maximumValues.find((e) => e.id === bar.id) + ?.max_inferred + } )} - {filter === 'all' && ( -
    - )} - {(filter === 'all' || filter === 'observed') && ( + {filter === "all" &&
    } + {(filter === "all" || filter === "observed") && ( <> - {getLabel('national_observed', areaId)} + {getLabel("national_observed", areaId)} - {maximumValues.find((e) => e.id === bar.id).max_observed} + { + maximumValues.find((e) => e.id === bar.id) + ?.max_observed + } )}
    - {(filter === 'inferred') && ( + {filter === "inferred" && (
    - - + + {/* TODO: Add I2D link when it's ready (import mappointlink and mappointlink2 images) @@ -432,12 +509,11 @@ class NumberOfSpecies extends React.Component { { this.setState({ selected: bar.id }); handlerClickOnGraph({ - chartType: 'numberOfSpecies', + chartType: "numberOfSpecies", chartSection: filter, selectedKey: bar.id, }); @@ -448,39 +524,41 @@ class NumberOfSpecies extends React.Component { ))}
    - {data[0] && Object.keys(data[0].ranges).map((key) => ( - - {getLabel(key, areaId, bioticRegion)} - - ))} - {data[0] && legends.map((key) => { - if (key === 'inferred' || key === 'observed') { + {data[0] && + Object.keys(data[0].ranges).map((key) => ( + + {getLabel(key, areaId, bioticRegion)} + + ))} + {data[0] && + legends.map((key) => { + if (key === "inferred" || key === "observed") { + return ( + + {getLabel(`${key}2`, areaId, bioticRegion)} + + ); + } return ( - - {getLabel(`${key}2`, areaId, bioticRegion)} - + {getLabel(key, areaId, bioticRegion)} + ); - } - return ( - - {getLabel(key, areaId, bioticRegion)} - - ); - })} + })}
    void; reverse?: boolean; - labelXRight: string; - labelXLeft: string; + labelXRight?: string; + labelXLeft?: string; } interface BulletData { @@ -205,8 +205,8 @@ const SingleBulletGraph: React.FC = (props) => { colors, onClickHandler, reverse = false, - labelXRight, - labelXLeft, + labelXRight = "", + labelXLeft = "", } = props; return (
    diff --git a/src/pages/search/types/richness.ts b/src/pages/search/types/richness.ts new file mode 100644 index 000000000..f979bd119 --- /dev/null +++ b/src/pages/search/types/richness.ts @@ -0,0 +1,24 @@ +export type NOSGroups = "total" | "endemic" | "invasive" | "threatened"; + +export interface numberOfSpecies { + id: NOSGroups; + inferred: number; + observed: number; + region_observed: number; + region_inferred: number; + region_name: string | null; +} + +export interface NOSThresholds { + id: NOSGroups; + min_inferred: number; + min_observed: number; + max_inferred: number; + max_observed: number; +} + +export interface NOSNational { + id: NOSGroups; + max_inferred: number; + max_observed: number; +} diff --git a/src/pages/search/types/texts.ts b/src/pages/search/types/texts.ts index 2e5d370d4..c768b6bb2 100644 --- a/src/pages/search/types/texts.ts +++ b/src/pages/search/types/texts.ts @@ -1,6 +1,12 @@ -export interface TextObject { +export interface textsObject { info: string; meto: string; cons: string; quote: string; } + +export interface helperText { + helper: string; +} + +export type textResponse = textsObject | helperText; diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index f00529565..4998d5625 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -98,52 +98,6 @@ class RestAPI { return RestAPI.makeGetRequest(`ea/${eaId}/biome/${biomeName}/subzone`); } - /** - * Get the number of species for the specified area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} group group to filter results - * - * @return {Promise} Array of objects with observed, inferred and region number of species - */ - static requestNumberOfSpecies(areaType, areaId, group) { - return RestAPI.makeGetRequest( - `richness/number-species?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, - ); - } - - /** - * Get the thresholds for the number of species in the same biotic unit as the specified area id - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} group group to filter results - * - * @return {Promise} Array of objects with minimum and maximun number of observed and - * inferred species - */ - static requestNSThresholds(areaType, areaId, group) { - return RestAPI.makeGetRequest( - `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${group ? `&group=${group}` : ''}`, - ); - } - - /** - * Get the national max values specified area type - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {String} group group to filter results - * - * @return {Promise} Array of objects with minimum and maximun number of observed and - * inferred species - */ - static requestNSNationalMax(areaType, group) { - return RestAPI.makeGetRequest( - `richness/number-species/nationalMax?areaType=${areaType}${group ? `&group=${group}` : ''}`, - ); - } - /** * Get values for richness species gaps in the given area * diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 8c15c4260..a9478dc8d 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -13,8 +13,17 @@ import { hfPersistence, hfTimeline, } from "pages/search/types/humanFootprint"; -import { TextObject } from "pages/search/types/texts"; +import { + helperText, + textResponse, + textsObject, +} from "pages/search/types/texts"; import { Coverage, SEPAData, seDetails } from "pages/search/types/ecosystems"; +import { + NOSNational, + NOSThresholds, + numberOfSpecies, +} from "pages/search/types/richness"; class SearchAPI { /** ****** */ /** FOREST */ @@ -255,9 +264,9 @@ class SearchAPI { ); } - /** ************ */ - /** ECOSYSTEMS */ - /** **************/ + /** ********** */ + /** ECOSYSTEMS */ + /** ************/ /** * Recover the strategic ecosystems values in the area selected * @param {String} areaType area type id, f.e. "ea", "states" @@ -348,6 +357,73 @@ class SearchAPI { ); } + /** ******** */ + /** RICHNESS */ + /** ******** */ + + /** + * Get the number of species for the specified area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} group group to filter results, f.e. "total", "endemic" + * + * @return {Promise} Array of objects with observed, inferred and region number of species + */ + static requestNumberOfSpecies( + areaType: string, + areaId: number | string, + group: string + ): Promise> { + return SearchAPI.makeGetRequest( + `richness/number-species?areaType=${areaType}&areaId=${areaId}${ + group ? `&group=${group}` : "" + }` + ); + } + + /** + * Get the thresholds for the number of species in the same biotic unit as the specified area id + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} group group to filter results, f.e. "total", "endemic" + * + * @return {Promise} Array of objects with minimum and maximun number of observed and + * inferred species + */ + static requestNSThresholds( + areaType: string, + areaId: number | string, + group: string + ): Promise> { + return SearchAPI.makeGetRequest( + `richness/number-species/thresholds?areaType=${areaType}&areaId=${areaId}${ + group ? `&group=${group}` : "" + }` + ); + } + + /** + * Get the national max values specified area type + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {String} group group to filter results, f.e. "total", "endemic" + * + * @return {Promise} Array of objects with minimum and maximun number of observed and + * inferred species + */ + static requestNSNationalMax( + areaType: string, + group: string + ): Promise> { + return SearchAPI.makeGetRequest( + `richness/number-species/nationalMax?areaType=${areaType}${ + group ? `&group=${group}` : "" + }` + ); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ @@ -359,10 +435,20 @@ class SearchAPI { * * @return {Promise} Object with texts */ - static requestSectionTexts(key: string): Promise { + static requestTexts(key: string): Promise { return SearchAPI.makeGetRequest(`util/texts?key=${key}`); } + /** Same as previous function, but spesifically for section texts */ + static requestSectionTexts(key: string): Promise { + return SearchAPI.requestTexts(key) as Promise; + } + + /** Same as previous function, but spesifically for helper texts */ + static requestHelperTexts(key: string): Promise { + return SearchAPI.requestTexts(key) as Promise; + } + /** ************** */ /** BASE FUNCTIONS */ /** ************** */ From 08b8d636253423b054bfdfc74675ad633c1e9da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 31 Aug 2022 15:35:21 -0500 Subject: [PATCH 182/664] Change texts type --- src/pages/search/drawer/landscape/CompensationFactor.tsx | 8 ++++---- .../landscape/connectivity/CurrentPAConnectivity.tsx | 6 +++--- .../landscape/connectivity/CurrentSEPAConnectivity.tsx | 4 ++-- .../landscape/connectivity/TimelinePAConnectivity.tsx | 6 +++--- .../search/drawer/landscape/forest/ForestIntegrity.tsx | 4 ++-- .../drawer/landscape/forest/ForestLossPersistence.tsx | 4 ++-- .../drawer/landscape/humanFootprint/CurrentFootprint.tsx | 4 ++-- .../landscape/humanFootprint/PersistenceFootprint.tsx | 4 ++-- .../drawer/landscape/humanFootprint/TimelineFootprint.tsx | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index fde804440..7a1e6d0bd 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -9,7 +9,7 @@ import SearchAPI from "utils/searchAPI"; import TextBoxes from "pages/search/shared_components/TextBoxes"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { cfData } from "pages/search/types/compensationFactor"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; @@ -30,9 +30,9 @@ interface compensationFactorState { bioticUnits: wrapperMessage; }; texts: { - cf: TextObject; - biomes: TextObject; - bioticRegions: TextObject; + cf: textsObject; + biomes: textsObject; + bioticRegions: textsObject; }; } diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 9c23f45ad..aabd1f818 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -11,7 +11,7 @@ import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; import { currentPAConn, DPCKeys, DPC } from "pages/search/types/connectivity"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import MultiSmallSingleBarGraph from "pages/search/shared_components/charts/MultiSmallSingleBarGraph"; import { wrapperMessage } from "pages/search/types/charts"; import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; @@ -46,8 +46,8 @@ interface currentPAConnState { dpc: wrapperMessage; }; texts: { - paConnCurrent: TextObject; - paConnDPC: TextObject; + paConnCurrent: textsObject; + paConnDPC: textsObject; }; } diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx index 4b8d339fd..310e06d60 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity.tsx @@ -14,7 +14,7 @@ import { currentSEPAConn, SEPAEcosystems, } from "pages/search/types/connectivity"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; @@ -41,7 +41,7 @@ interface State { wetland: wrapperMessage; }; texts: { - paConnSE: TextObject; + paConnSE: textsObject; }; } diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 6f869e8d0..fa1305d93 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -11,7 +11,7 @@ import { timelinePAConn, timeLinePAConnValues, } from "pages/search/types/connectivity"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import SearchAPI from "utils/searchAPI"; import MultiLinesGraph from "pages/search/shared_components/charts/MultiLinesGraph"; @@ -29,7 +29,7 @@ interface timelinePAConnState { timelinePAConnData: Array; message: string | null; texts: { - paConnTimeline: TextObject; + paConnTimeline: textsObject; }; } class TimelinePAConnectivity extends React.Component< @@ -82,7 +82,7 @@ class TimelinePAConnectivity extends React.Component< }); SearchAPI.requestSectionTexts("paConnTimeline") - .then((res: TextObject) => { + .then((res: textsObject) => { if (this.mounted) { this.setState({ texts: { paConnTimeline: res } }); } diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx index aea1b3203..9ab2559fc 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -15,7 +15,7 @@ import SearchAPI from "utils/searchAPI"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { SCICats, HFCats, SCIHF } from "pages/search/types/forest"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import PieGraph from "pages/search/shared_components/charts/PieGraph"; import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; @@ -54,7 +54,7 @@ interface FIState { }; }; texts: { - forestSCIHF: TextObject; + forestSCIHF: textsObject; }; ProtectedAreas: { [Property in SCIHFCats]: Array; diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 40e409bf2..b089ed91e 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -12,7 +12,7 @@ import TextBoxes from "pages/search/shared_components/TextBoxes"; import MultiSmallBarStackGraph, { MultiSmallBarStackGraphData, } from "pages/search/shared_components/charts/MultiSmallBarStackGraph"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; import { wrapperMessage } from "pages/search/types/charts"; @@ -23,7 +23,7 @@ interface State { message: wrapperMessage; forestPersistenceValue: number; texts: { - forestLP: TextObject; + forestLP: textsObject; }; } diff --git a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx index a4589f254..c71fb9598 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/CurrentFootprint.tsx @@ -13,7 +13,7 @@ import { currentHFValue, currentHFCategories, } from "pages/search/types/humanFootprint"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; @@ -29,7 +29,7 @@ interface currentHFState { hfCurrentCategory: string; message: wrapperMessage; texts: { - hfCurrent: TextObject; + hfCurrent: textsObject; }; } diff --git a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx index fc4a01c6e..30f9fb4ef 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/PersistenceFootprint.tsx @@ -9,7 +9,7 @@ import SearchAPI from "utils/searchAPI"; import TextBoxes from "pages/search/shared_components/TextBoxes"; import { hfPersistence } from "pages/search/types/humanFootprint"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; @@ -29,7 +29,7 @@ interface persistenceHFState { hfPersistence: Array; message: wrapperMessage; texts: { - hfPersistence: TextObject; + hfPersistence: textsObject; }; } diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index f1f6af72f..2a870633e 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -12,7 +12,7 @@ import TextBoxes from "pages/search/shared_components/TextBoxes"; import { hfTimeline } from "pages/search/types/humanFootprint"; import { seDetails } from "pages/search/types/ecosystems"; -import { TextObject } from "pages/search/types/texts"; +import { textsObject } from "pages/search/types/texts"; import MultiLinesGraph from "pages/search/shared_components/charts/MultiLinesGraph"; const changeValues = [ @@ -78,7 +78,7 @@ interface State { message: string | null; selectedEcosystem: seDetailsExt | null; texts: { - hfTimeline: TextObject; + hfTimeline: textsObject; }; } From 92b7f813f2310faf75a71cdb7443b809b33dc60b Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 31 Aug 2022 16:40:41 -0500 Subject: [PATCH 183/664] Set fitBounds = false option when national layer and improve function updateBounds --- src/pages/Search.jsx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index acffa1624..8638e1f56 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -520,11 +520,7 @@ class Search extends Component { } else if (this.geofenceBounds === null) { this.mapBounds = bounds; } else if (this.geofenceBounds !== null) { - if (bounds.contains(this.geofenceBounds)) { - this.mapBounds = bounds; - } else { - this.mapBounds = this.geofenceBounds; - } + this.mapBounds = this.geofenceBounds; } } @@ -759,7 +755,7 @@ class Search extends Component { let areaType = 'states'; const selected = sectionName.match(/national-(\w+)/); if (selected) [, areaType] = selected; - shapeLayerOpts = [{ id: areaType, paneLevel: 1 }]; + shapeLayerOpts = [{ id: areaType, paneLevel: 1, fitBounds: false }]; } else if (sectionName === 'geofence') { shapeLayerOpts = [{ id: 'geofence', paneLevel: 1 }]; } else if (sectionName === 'coverages') { From 9bdb2a41323d48420d05aca9912706ea9f67997a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 31 Aug 2022 16:54:28 -0500 Subject: [PATCH 184/664] Fix loading message --- .../drawer/species/richness/NumberOfSpecies.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index a4427dfc7..20c927554 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -23,13 +23,10 @@ import fullview from "images/fullview.png"; import TextBoxes from "pages/search/shared_components/TextBoxes"; import SingleBulletGraph from "pages/search/shared_components/charts/SingleBulletGraph"; import { wrapperMessage } from "pages/search/types/charts"; -import { - helperText, - textResponse, - textsObject, -} from "pages/search/types/texts"; +import { helperText, textsObject } from "pages/search/types/texts"; import { NOSGroups, NOSNational } from "pages/search/types/richness"; import SearchAPI from "utils/searchAPI"; +import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; const NOSTexts = { inferred: { info: "", cons: "", meto: "", quote: "" }, @@ -454,6 +451,9 @@ class NumberOfSpecies extends React.Component {
    + {(message === "no-data" || message === "loading") && ( + + )} {data.map((bar) => (
    { } } +/** Dummy chart to show loading or not data message */ +const DummyChart = withMessageWrapper<{}>(() => { + return <>; +}); + export default NumberOfSpecies; NumberOfSpecies.contextType = SearchContext; From a3fa4a2b69d91effa1e5ef8875b160cdd8c23619 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 31 Aug 2022 17:23:33 -0500 Subject: [PATCH 185/664] Rename component --- .../richness/{SpeciesRecordsGaps.jsx => SpeciesRecordsGaps.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/drawer/species/richness/{SpeciesRecordsGaps.jsx => SpeciesRecordsGaps.tsx} (100%) diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx similarity index 100% rename from src/pages/search/drawer/species/richness/SpeciesRecordsGaps.jsx rename to src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx From 4dab34e8fe9e4fd94ce773a744a23717322c264f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 31 Aug 2022 18:56:03 -0500 Subject: [PATCH 186/664] Migrate Gaps component --- .../species/richness/SpeciesRecordsGaps.tsx | 298 ++++++++++-------- src/pages/search/types/richness.ts | 33 ++ src/utils/restAPI.js | 24 -- src/utils/searchAPI.ts | 36 +++ 4 files changed, 236 insertions(+), 155 deletions(-) diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx index 4ed832cf9..c89083045 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx @@ -1,92 +1,132 @@ -import React from 'react'; -import InfoIcon from '@mui/icons-material/Info'; +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; -import { IconTooltip } from 'pages/search/shared_components/Tooltips'; -import { LineLegend, LegendColor } from 'pages/search/shared_components/CssLegends'; -import matchColor from 'utils/matchColor'; -import ShortInfo from 'components/ShortInfo'; -import SearchContext from 'pages/search/SearchContext'; -import RestAPI from 'utils/restAPI'; +import { IconTooltip } from "pages/search/shared_components/Tooltips"; +import { + LineLegend, + LegendColor, +} from "pages/search/shared_components/CssLegends"; +import matchColor from "utils/matchColor"; +import ShortInfo from "components/ShortInfo"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import isFlagEnabled from 'utils/isFlagEnabled'; -import TextBoxes from 'pages/search/shared_components/TextBoxes'; -import SingleBulletGraph from 'pages/search/shared_components/charts/SingleBulletGraph'; +import isFlagEnabled from "utils/isFlagEnabled"; +import TextBoxes from "pages/search/shared_components/TextBoxes"; +import SingleBulletGraph from "pages/search/shared_components/charts/SingleBulletGraph"; +import { wrapperMessage } from "pages/search/types/charts"; +import { textsObject } from "pages/search/types/texts"; +import SearchAPI from "utils/searchAPI"; +import { + concentration, + gapLimitKeys, + gaps, + gaps_limits, + isGaps, +} from "pages/search/types/richness"; -const areaTypeName = (areaType) => { +const areaTypeName = (areaType: string) => { switch (areaType) { - case 'states': - return 'departamentos'; - case 'ea': - return 'jurisdicciones ambientales'; - case 'basinSubzones': - return 'subzonas hidrográficas'; + case "states": + return "departamentos"; + case "ea": + return "jurisdicciones ambientales"; + case "basinSubzones": + return "subzonas hidrográficas"; default: - return 'cerca'; + return "cerca"; } }; -const getLabelGaps = (key, areaType, region) => ( - { - value: 'Promedio de vacios en el área de consulta', - min: 'Menos vacíos en el área de consulta', - max: 'Más vacíos en el área de consulta', +const getLabelGaps = (key: string, areaType: string, region: string = "") => + ({ + value: "Promedio de vacios en el área de consulta", + min: "Menos vacíos en el área de consulta", + max: "Más vacíos en el área de consulta", min_region: `Menos vacíos en la región ${region}`, max_region: `Más vacíos en la región ${region}`, - min_threshold: `Menos vacíos ${areaTypeName(areaType)} de la región ${region}`, - max_threshold: `Más vacíos ${areaTypeName(areaType)} de la región ${region}`, - }[key] -); + min_threshold: `Menos vacíos ${areaTypeName( + areaType + )} de la región ${region}`, + max_threshold: `Más vacíos ${areaTypeName( + areaType + )} de la región ${region}`, + }[key]); -const getLabelConcentration = (key) => ({ - min: 'Mínimo del área de consulta', - max: 'Máximo del área de consulta', - min_region: 'Mínimo por región biótica', - max_region: 'Máximo por región biótica', - min_threshold: 'Mínimo nacional', - max_threshold: 'Máximo nacional', - value: 'Promedio de representación en el área de consulta', -}[key] -); +const getLabelConcentration = (key: string) => + ({ + min: "Mínimo del área de consulta", + max: "Máximo del área de consulta", + min_region: "Mínimo por región biótica", + max_region: "Máximo por región biótica", + min_threshold: "Mínimo nacional", + max_threshold: "Máximo nacional", + value: "Promedio de representación en el área de consulta", + }[key]); -class SpeciesRecordsGaps extends React.Component { +interface Props {} + +interface State { + showInfoGraph: boolean; + gaps: GapsAndConcentration | null; + concentration: GapsAndConcentration | null; + messageGaps: wrapperMessage; + messageConc: wrapperMessage; + selected: "gaps" | "concentration"; + bioticRegion: string; + concentrationFlag: boolean; + showErrorMessage: boolean; + csvData: Array; + texts: { + gaps: textsObject; + }; +} + +interface GapsAndConcentration { + id: string; + ranges: { + area: number; + }; + markers: { + value: number; + }; + measures: gaps_limits; + title: string; +} + +class SpeciesRecordsGaps extends React.Component { mounted = false; - constructor(props) { + constructor(props: Props) { super(props); this.state = { showInfoGraph: true, - gaps: {}, - concentration: {}, - messageGaps: 'loading', - messageConc: 'loading', - selected: 'gaps', - bioticRegion: 'Región Biótica', + gaps: null, + concentration: null, + messageGaps: "loading", + messageConc: "loading", + selected: "gaps", + bioticRegion: "Región Biótica", concentrationFlag: false, showErrorMessage: false, csvData: [], texts: { - gaps: {}, + gaps: { info: "", cons: "", meto: "", quote: "" }, }, }; } componentDidMount() { this.mounted = true; - const { - areaId, - geofenceId, - switchLayer, - } = this.context; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; - switchLayer('speciesRecordsGaps'); + switchLayer("speciesRecordsGaps"); - RestAPI.requestGaps(areaId, geofenceId) + SearchAPI.requestGaps(areaId, geofenceId) .then((res) => { if (this.mounted) { - const showErrorMessage = ( - res[0].min < res[0].min_region - || res[0].max > res[0].max_region - ); + const showErrorMessage = + res[0].min < res[0].min_region || res[0].max > res[0].max_region; const { region, ...data } = this.transformData(res); const dataArray = []; dataArray.push(data); @@ -100,10 +140,10 @@ class SpeciesRecordsGaps extends React.Component { } }) .catch(() => { - this.setState({ messageGaps: 'no-data' }); + this.setState({ messageGaps: "no-data" }); }); - RestAPI.requestConcentration(areaId, geofenceId) + SearchAPI.requestConcentration(areaId, geofenceId) .then((res) => { if (this.mounted) { const { region, ...data } = this.transformData(res); @@ -112,26 +152,24 @@ class SpeciesRecordsGaps extends React.Component { this.setState({ concentration: data, messageConc: null, - csvData: dataArray, }); } }) .catch(() => { - this.setState({ messageConc: 'no-data' }); + this.setState({ messageConc: "no-data" }); }); - RestAPI.requestSectionTexts('gaps') + SearchAPI.requestSectionTexts("gaps") .then((res) => { if (this.mounted) { this.setState({ texts: { gaps: res } }); } }) - .catch(() => { - this.setState({ texts: { gaps: {} } }); - }); + .catch(() => {}); - isFlagEnabled('speciesRecordsConcentrarion') - .then((value) => this.setState({ concentrationFlag: value })); + isFlagEnabled("speciesRecordsConcentrarion").then((value) => + this.setState({ concentrationFlag: value }) + ); } componentWillUnmount() { @@ -143,16 +181,14 @@ class SpeciesRecordsGaps extends React.Component { * * @param {Object} rawData raw data from RestAPI */ - transformData = (rawData) => { - const { - id, - avg, - region_name: regionName, - ...limits - } = rawData[0]; - Object.keys(limits).forEach((key) => { - Object.defineProperty(limits, key, { value: Math.round(limits[key] * 100) }); + transformData = (rawData: Array | Array) => { + const { id, avg, ...limits } = rawData[0]; + gapLimitKeys.forEach((key) => { + Object.defineProperty(limits, key, { + value: Math.round(limits[key] * 100), + }); }); + const regionName = isGaps(rawData[0]) ? rawData[0].region_name : ""; return { region: regionName, id, @@ -163,7 +199,7 @@ class SpeciesRecordsGaps extends React.Component { value: avg * 100, }, measures: limits, - title: '', + title: "", }; }; @@ -181,21 +217,14 @@ class SpeciesRecordsGaps extends React.Component { * * @param {Object} data data transformed passed to graph */ - processDownload = (data) => { - const result = []; + processDownload = (data: Array) => { + const result: Array = []; data.forEach((item) => { - let obj = {}; - Object.keys(item.markers).forEach((element) => { - obj = { - ...obj, - [element]: item.markers[element], - }; - }); - Object.keys(item.measures).forEach((element) => { - obj = { - ...obj, - [element]: item.measures[element], - }; + const obj: any = { + value: item.markers.value, + }; + gapLimitKeys.forEach((element) => { + obj[element] = item.measures[element]; }); result.push({ type: item.id, @@ -212,10 +241,7 @@ class SpeciesRecordsGaps extends React.Component { }; render() { - const { - areaId, - geofenceId, - } = this.context; + const { areaId, geofenceId } = this.context as SearchContextValues; const { showInfoGraph, messageGaps, @@ -234,7 +260,7 @@ class SpeciesRecordsGaps extends React.Component {

    this.toggleInfoGraph()} /> @@ -248,20 +274,22 @@ class SpeciesRecordsGaps extends React.Component { )} {showErrorMessage && (
    - Los vacíos en el área de consulta son mayores o menores que los de la región biótica - ya que sus límites intersectan dos o más regiones bióticas. + Los vacíos en el área de consulta son mayores o menores que los de + la región biótica ya que sus límites intersectan dos o más regiones + bióticas.
    )} -
    +
    Vacios de datos
    { this.setState({ selected: 'gaps' }); }} + colors={matchColor("richnessGaps")} + onClickHandler={() => { + this.setState({ selected: "gaps" }); + }} labelXLeft="Muchos datos" labelXRight="Pocos datos" /> @@ -271,24 +299,26 @@ class SpeciesRecordsGaps extends React.Component { {messageGaps === null && ( - {getLabelGaps('value', areaId)} + {getLabelGaps("value", areaId)} )} - {messageGaps === null && gaps.measures && Object.keys(gaps.measures).map((key) => ( - - {getLabelGaps(key, areaId, bioticRegion)} - - - ))} + {messageGaps === null && + gaps !== null && + gaps.measures && + Object.keys(gaps.measures).map((key) => ( + + {getLabelGaps(key, areaId, bioticRegion)} + + ))}

    -
    +
    Concentración de registros
    5 km x 5 km @@ -311,9 +345,10 @@ class SpeciesRecordsGaps extends React.Component { { this.setState({ selected: 'concentration' }); }} + colors={matchColor("richnessGaps")} + onClickHandler={() => { + this.setState({ selected: "concentration" }); + }} labelXLeft="Poco representado" labelXRight="Bien representado" /> @@ -322,23 +357,24 @@ class SpeciesRecordsGaps extends React.Component {
    - {getLabelConcentration('value', areaId)} + {getLabelConcentration("value")} - {concentration.measures && Object.keys(concentration.measures).map((key) => ( - - {getLabelConcentration(key, areaId)} - - - ))} + {concentration !== null && + concentration.measures && + Object.keys(concentration.measures).map((key) => ( + + {getLabelConcentration(key)} + + ))}
    )} diff --git a/src/pages/search/types/richness.ts b/src/pages/search/types/richness.ts index f979bd119..711a6139e 100644 --- a/src/pages/search/types/richness.ts +++ b/src/pages/search/types/richness.ts @@ -1,3 +1,5 @@ +import { number } from "prop-types"; + export type NOSGroups = "total" | "endemic" | "invasive" | "threatened"; export interface numberOfSpecies { @@ -22,3 +24,34 @@ export interface NOSNational { max_inferred: number; max_observed: number; } + +export const gapLimitKeys = [ + "min_threshold", + "max_threshold", + "min", + "max", + "min_region", + "max_region", +] as const; + +export type gaps_limits = { + [Property in typeof gapLimitKeys[number]]: number; +}; + +export interface concentration extends gaps_limits { + id: string; + avg: number; +} + +export interface gaps extends gaps_limits { + id: string; + avg: number; + region_name: string; +} + +export function isGaps( + toBeDetermined: gaps | concentration +): toBeDetermined is gaps { + if ((toBeDetermined as gaps).region_name) return true; + return false; +} diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 4998d5625..4bf2674c5 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -98,30 +98,6 @@ class RestAPI { return RestAPI.makeGetRequest(`ea/${eaId}/biome/${biomeName}/subzone`); } - /** - * Get values for richness species gaps in the given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Object with values of richness species gaps - */ - static requestGaps(areaType, areaId) { - return RestAPI.makeGetRequest(`richness/gaps?areaType=${areaType}&areaId=${areaId}`); - } - - /** - * Get values for richness species concentration in the given area - * - * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * - * @return {Promise} Object with values of richness species concentration - */ - static requestConcentration(areaType, areaId) { - return RestAPI.makeGetRequest(`richness/concentration?areaType=${areaType}&areaId=${areaId}`); - } - /** * Get values of functional diversity in the dry forest in a given area * diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index a9478dc8d..80efeed5a 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -20,6 +20,8 @@ import { } from "pages/search/types/texts"; import { Coverage, SEPAData, seDetails } from "pages/search/types/ecosystems"; import { + concentration, + gaps, NOSNational, NOSThresholds, numberOfSpecies, @@ -424,6 +426,40 @@ class SearchAPI { ); } + /** + * Get values for richness species gaps in the given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Object with values of richness species gaps + */ + static requestGaps( + areaType: string, + areaId: number | string + ): Promise> { + return SearchAPI.makeGetRequest( + `richness/gaps?areaType=${areaType}&areaId=${areaId}` + ); + } + + /** + * Get values for richness species concentration in the given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Object with values of richness species concentration + */ + static requestConcentration( + areaType: string, + areaId: number | string + ): Promise> { + return SearchAPI.makeGetRequest( + `richness/concentration?areaType=${areaType}&areaId=${areaId}` + ); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From baa76613b3bf0260e7f2acfdc851fc6d0ee2d5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 31 Aug 2022 18:57:37 -0500 Subject: [PATCH 187/664] control null data in bullet graph --- .../drawer/species/richness/NumberOfSpecies.tsx | 12 ++++++------ .../shared_components/charts/SingleBulletGraph.tsx | 6 +++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index 20c927554..c971cc725 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -452,7 +452,12 @@ class NumberOfSpecies extends React.Component {
    {(message === "no-data" || message === "loading") && ( - + {}} + /> )} {data.map((bar) => (
    @@ -574,11 +579,6 @@ class NumberOfSpecies extends React.Component { } } -/** Dummy chart to show loading or not data message */ -const DummyChart = withMessageWrapper<{}>(() => { - return <>; -}); - export default NumberOfSpecies; NumberOfSpecies.contextType = SearchContext; diff --git a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx index cd6363252..5dd21e3b4 100644 --- a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx +++ b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx @@ -178,7 +178,7 @@ const NoTooltipRangeWrap = ( }; interface BulletProps { - data: BulletData; + data: BulletData | null; height?: number; colors: colorsFunction; onClickHandler: () => void; @@ -208,6 +208,10 @@ const SingleBulletGraph: React.FC = (props) => { labelXRight = "", labelXLeft = "", } = props; + + if (data === null) { + return <>; + } return (
    Date: Wed, 31 Aug 2022 19:01:53 -0500 Subject: [PATCH 188/664] Fix typo --- src/utils/searchAPI.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 80efeed5a..21016bc8a 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -475,12 +475,12 @@ class SearchAPI { return SearchAPI.makeGetRequest(`util/texts?key=${key}`); } - /** Same as previous function, but spesifically for section texts */ + /** Same as previous function, but specifically for section texts */ static requestSectionTexts(key: string): Promise { return SearchAPI.requestTexts(key) as Promise; } - /** Same as previous function, but spesifically for helper texts */ + /** Same as previous function, but specifically for helper texts */ static requestHelperTexts(key: string): Promise { return SearchAPI.requestTexts(key) as Promise; } From c0714d6d45f4da13f900295a1c9bc37600557b99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 1 Sep 2022 11:53:51 -0500 Subject: [PATCH 189/664] Fix typo --- src/pages/search/types/richness.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pages/search/types/richness.ts b/src/pages/search/types/richness.ts index 711a6139e..ae3375db0 100644 --- a/src/pages/search/types/richness.ts +++ b/src/pages/search/types/richness.ts @@ -1,5 +1,3 @@ -import { number } from "prop-types"; - export type NOSGroups = "total" | "endemic" | "invasive" | "threatened"; export interface numberOfSpecies { From 5a40da6a0b9ec6e349914979548b9dd58f12eb41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 1 Sep 2022 11:54:10 -0500 Subject: [PATCH 190/664] Fix transform data for gaps values --- .../drawer/species/richness/SpeciesRecordsGaps.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx index c89083045..b9a6a8834 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx @@ -182,7 +182,15 @@ class SpeciesRecordsGaps extends React.Component { * @param {Object} rawData raw data from RestAPI */ transformData = (rawData: Array | Array) => { - const { id, avg, ...limits } = rawData[0]; + let region_name = ""; + let limits: gaps_limits; + let id = ""; + let avg = 0; + if (isGaps(rawData[0])) { + ({ id, avg, region_name, ...limits } = rawData[0]); + } else { + ({ id, avg, ...limits } = rawData[0]); + } gapLimitKeys.forEach((key) => { Object.defineProperty(limits, key, { value: Math.round(limits[key] * 100), From b55fbc739fc6a2df2ac5055554366c268159dd96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 1 Sep 2022 17:03:31 -0500 Subject: [PATCH 191/664] Improve region name assignment on gaps --- .../search/drawer/species/richness/SpeciesRecordsGaps.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx index b9a6a8834..5bf8040a9 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx @@ -196,9 +196,8 @@ class SpeciesRecordsGaps extends React.Component { value: Math.round(limits[key] * 100), }); }); - const regionName = isGaps(rawData[0]) ? rawData[0].region_name : ""; return { - region: regionName, + region: region_name, id, ranges: { area: Math.max(limits.max, limits.max_threshold, limits.max_region), From 94acb487857ad305b3e2cc0547a76c07e6b3c153 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 1 Sep 2022 17:05:48 -0500 Subject: [PATCH 192/664] Fix error for trying to update an unmounted component in NOS --- .../species/richness/NumberOfSpecies.tsx | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index c971cc725..f018c9683 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -203,21 +203,25 @@ class NumberOfSpecies extends React.Component { title: "", }); }); - this.setState( - { - allData: data, - maximumValues: nationalMax, - message: null, - bioticRegion: region, - showErrorMessage, - }, - () => { - this.filter("inferred")(); - } - ); + if (this.mounted) { + this.setState( + { + allData: data, + maximumValues: nationalMax, + message: null, + bioticRegion: region, + showErrorMessage, + }, + () => { + this.filter("inferred")(); + } + ); + } }) .catch(() => { - this.setState({ message: "no-data" }); + if (this.mounted) { + this.setState({ message: "no-data" }); + } }); SearchAPI.requestSectionTexts("nosInferred") From 7ac72dd62bbf51ca96cf8cd80d21d7665d6d10f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 1 Sep 2022 17:39:33 -0500 Subject: [PATCH 193/664] Fix problem with number of species layer --- src/pages/Search.jsx | 1 + src/pages/search/drawer/species/richness/NumberOfSpecies.tsx | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 8cba493f1..7d84ca35a 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1126,6 +1126,7 @@ class Search extends Component { layerStyle = this.featureStyle({ type: 'border' }); } else if (/numberOfSpecies*/.test(layerType)) { this.setSectionLayers(layerType); + return; } else if (/seCoverages*/.test(layerType)) { this.setSectionLayers(layerType); return; diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index f018c9683..4c29d7fec 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -147,10 +147,7 @@ class NumberOfSpecies extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, switchLayer } = this - .context as SearchContextValues; - - switchLayer("numberOfSpecies-total"); + const { areaId, geofenceId } = this.context as SearchContextValues; Promise.all([ SearchAPI.requestNumberOfSpecies(areaId, geofenceId, "all"), From a3654fccd204681e7f69e1160992b8fdc80674fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 1 Sep 2022 17:40:04 -0500 Subject: [PATCH 194/664] Fix error for trying to update an unmounted component in Species --- src/pages/search/drawer/Species.jsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pages/search/drawer/Species.jsx b/src/pages/search/drawer/Species.jsx index 033bc6f1d..145c4f839 100644 --- a/src/pages/search/drawer/Species.jsx +++ b/src/pages/search/drawer/Species.jsx @@ -7,6 +7,8 @@ import SearchContext from 'pages/search/SearchContext'; import isFlagEnabled from 'utils/isFlagEnabled'; class Species extends React.Component { + mounted = false; + constructor(props) { super(props); this.state = { @@ -44,10 +46,16 @@ class Species extends React.Component { isFlagEnabled('functionalDiversity') .then((value) => { - this.setState({ functionalFlag: value }); + if(this.mounted) { + this.setState({ functionalFlag: value }); + } }); } + componentWillUnmount() { + this.mounted = false; + } + /** * Handles requests to load a layer when there are changes in accordions * @param {String} level accordion level that's calling the function @@ -57,6 +65,7 @@ class Species extends React.Component { const { visible } = this.state; const { switchLayer, cancelActiveRequests } = this.context; cancelActiveRequests(); + if (tabLayerId === null) { switchLayer(null); } From fc0f6f97ac7acfeaf8acdcfea32babf19cb3ec11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 2 Sep 2022 11:42:25 -0500 Subject: [PATCH 195/664] Remove accidentally added file --- src/pages/search/PolygonDrawer.jsx | 108 ----------------------------- 1 file changed, 108 deletions(-) delete mode 100644 src/pages/search/PolygonDrawer.jsx diff --git a/src/pages/search/PolygonDrawer.jsx b/src/pages/search/PolygonDrawer.jsx deleted file mode 100644 index 318714c5c..000000000 --- a/src/pages/search/PolygonDrawer.jsx +++ /dev/null @@ -1,108 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import withStyles from '@mui/styles/withStyles'; -import BackIcon from '@mui/icons-material/FirstPage'; -import Ecosistemas from '@mui/icons-material/Nature'; -import Especies from '@mui/icons-material/FilterVintage'; -import Paisaje from '@mui/icons-material/FilterHdr'; - -import SearchContext from 'pages/search/SearchContext'; -import Landscape from 'pages/search/drawer/Landscape'; -import Species from 'pages/search/drawer/Species'; -import Ecosystems from 'pages/search/drawer/Ecosystems'; -import formatNumber from 'utils/format'; -import RestAPI from 'utils/restAPI'; -import TabContainer from 'pages/search/shared_components/TabContainer'; - -const styles = () => ({ - root: { - width: '100%', - backgroundColor: 'transparent', - }, -}); - -class PolygonDrawer extends React.Component { - constructor(props) { - super(props); - this.state = { - geofenceArea: 0, - }; - } - - componentDidMount() { - const { - areaId, - geofenceId, - } = this.context; - - const searchId = geofenceId; - - RestAPI.requestGeofenceDetails(areaId, searchId) - .then((res) => { - this.setState({ geofenceArea: Number(res.total_area) }); - }) - .catch(() => {}); - } - - render() { - const { handlerBackButton } = this.props; - - const { - geofenceArea, - } = this.state; - - return ( -
    -
    - -
    -

    - hectáreas totales !!!! :P - {`${formatNumber(geofenceArea, 0)} ha`} -

    -
    -
    - ) }, - { label: 'Paisaje', icon: () }, - { label: 'Especies', icon: () }, - ]} - > - {geofenceArea !== 0 && ( -
    - -
    - )} -
    - -
    -
    - -
    -
    -
    - ); - } -} - -PolygonDrawer.propTypes = { - handlerBackButton: PropTypes.func, -}; - -PolygonDrawer.defaultProps = { - handlerBackButton: () => {}, -}; - -export default withStyles(styles)(PolygonDrawer); - -PolygonDrawer.contextType = SearchContext; From afde1ede426b54ce1f13c15df3e3edc010faa8ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 5 Sep 2022 14:04:11 -0500 Subject: [PATCH 196/664] Change Drawer and Landscape files type --- src/pages/search/{Drawer.jsx => Drawer.tsx} | 0 src/pages/search/drawer/{Landscape.jsx => Landscape.tsx} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/{Drawer.jsx => Drawer.tsx} (100%) rename src/pages/search/drawer/{Landscape.jsx => Landscape.tsx} (100%) diff --git a/src/pages/search/Drawer.jsx b/src/pages/search/Drawer.tsx similarity index 100% rename from src/pages/search/Drawer.jsx rename to src/pages/search/Drawer.tsx diff --git a/src/pages/search/drawer/Landscape.jsx b/src/pages/search/drawer/Landscape.tsx similarity index 100% rename from src/pages/search/drawer/Landscape.jsx rename to src/pages/search/drawer/Landscape.tsx From b4e78b48f8221142862e298520fad908df1b3ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 5 Sep 2022 14:07:12 -0500 Subject: [PATCH 197/664] Landscape TypeScritp migration --- src/pages/search/drawer/Landscape.tsx | 43 +++++++++++++++++++-------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index f8cbf893c..a46bedfbd 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -5,12 +5,31 @@ import CompensationFactor from 'pages/search/drawer/landscape/CompensationFactor import Forest from 'pages/search/drawer/landscape/Forest'; import HumanFootprint from 'pages/search/drawer/landscape/HumanFootprint'; import PAConnectivity from 'pages/search/drawer/landscape/PAConnectivity'; -import SearchContext from 'pages/search/SearchContext'; +import SearchContext, { SearchContextValues } from 'pages/search/SearchContext'; -class Landscape extends React.Component { - constructor(props, context) { - super(props, context); - const { areaId } = this.context; +interface SearchContextLandScape extends SearchContextValues { + cancelActiveRequests(): void; +} + +interface Props {} + +interface State { + visible: string; + childMap: { + fc: string; + hf: string; + forest: string; + connectivity: string; + } +} + + +class Landscape extends React.Component { + static contextType = SearchContext; + + constructor(props: Props) { + super(props); + const { areaId } = this.context as SearchContextLandScape; this.state = { visible: areaId === 'ea' ? 'fc' : 'hf', childMap: { @@ -27,20 +46,20 @@ class Landscape extends React.Component { * @param {String} level accordion level that's calling the function * @param {String} tabLayerId layer to be loaded (also tab expanded). null if collapsed */ - handleAccordionChange = (level, tabLayerId) => { + handleAccordionChange = (level: number, tabLayerId: string) => { const { visible } = this.state; - const { switchLayer, cancelActiveRequests } = this.context; + const { switchLayer, cancelActiveRequests } = this.context as SearchContextLandScape; cancelActiveRequests(); if (tabLayerId === null) { - switchLayer(null); + switchLayer(""); } switch (level) { - case '1': + case 1: this.setState({ visible: tabLayerId }); break; - case '2': + case 2: this.setState((prev) => ({ childMap: { ...prev.childMap, @@ -54,7 +73,7 @@ class Landscape extends React.Component { } render() { - const { areaId } = this.context; + const { areaId } = this.context as SearchContextValues; const { childMap } = this.state; const initialArray = [ { @@ -100,7 +119,7 @@ class Landscape extends React.Component { }, ]; - let selected = []; + let selected: Array = []; switch (areaId) { case 'states': case 'basinSubzones': From 0b4ac266456e4f408b19beb14c5f49db1b721be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 5 Sep 2022 14:08:42 -0500 Subject: [PATCH 198/664] Drawer TypeScript migration --- src/pages/search/Drawer.tsx | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index 59df92da0..b41daf5f4 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { Requireable } from 'react'; import PropTypes from 'prop-types'; import withStyles from '@mui/styles/withStyles'; import BackIcon from '@mui/icons-material/FirstPage'; @@ -6,14 +6,22 @@ import Ecosistemas from '@mui/icons-material/Nature'; import Especies from '@mui/icons-material/FilterVintage'; import Paisaje from '@mui/icons-material/FilterHdr'; -import SearchContext from 'pages/search/SearchContext'; +import SearchContext, { SearchContextValues } from 'pages/search/SearchContext'; import Landscape from 'pages/search/drawer/Landscape'; import Species from 'pages/search/drawer/Species'; import Ecosystems from 'pages/search/drawer/Ecosystems'; import formatNumber from 'utils/format'; -import RestAPI from 'utils/restAPI'; +import searchAPI from 'utils/searchAPI'; import TabContainer from 'pages/search/shared_components/TabContainer'; +interface Props { + handlerBackButton(): void; +} + +interface State { + geofenceArea: number; +} + const styles = () => ({ root: { width: '100%', @@ -21,8 +29,17 @@ const styles = () => ({ }, }); -class Drawer extends React.Component { - constructor(props) { +class Drawer extends React.Component{ + + static propTypes: { + handlerBackButton: Requireable; + } + + static defaultProps: { + handlerBackButton(): void; + } + + constructor(props: Props) { super(props); this.state = { geofenceArea: 0, @@ -33,11 +50,11 @@ class Drawer extends React.Component { const { areaId, geofenceId, - } = this.context; + } = this.context as SearchContextValues; const searchId = geofenceId; - RestAPI.requestGeofenceDetails(areaId, searchId) + searchAPI.requestGeofenceDetails(areaId, searchId) .then((res) => { this.setState({ geofenceArea: Number(res.total_area) }); }) From 5051aeec08492746e6cd77345454997f3f9e97b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 5 Sep 2022 14:12:48 -0500 Subject: [PATCH 199/664] Migrate resquesGeofenceDetails to searchAPI --- src/utils/restAPI.js | 9 --------- src/utils/searchAPI.ts | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/utils/restAPI.js b/src/utils/restAPI.js index 4bf2674c5..94b656302 100644 --- a/src/utils/restAPI.js +++ b/src/utils/restAPI.js @@ -37,15 +37,6 @@ class RestAPI { return RestAPI.makeGetRequest(`se/${idGeofence}/coverage`); } - /** - * Recover details in the selected area - * @param {Number} idArea id area to request, f.e. ea - * @param {Number} idGeofence id geofence to request, f.e. idCAR - */ - static requestGeofenceDetails(idArea, idGeofence) { - return RestAPI.makeGetRequest(`${idArea}/${idGeofence}`); - } - /** * Recover a list with all basin areas available in the database */ diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 21016bc8a..4e3eb5e3a 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -520,6 +520,15 @@ class SearchAPI { return Promise.reject(message); }); } + + /** + * Recover details in the selected area + * @param {Number | String} idArea id area to request, f.e. ea + * @param {Number | String} idGeofence id geofence to request, f.e. idCAR + */ + static requestGeofenceDetails(idArea: string | number, idGeofence: string | number) { + return SearchAPI.makeGetRequest(`${idArea}/${idGeofence}`); + } } export default SearchAPI; From 4e39db2b187970bd1efabe5d737f472c2ed77e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 5 Sep 2022 14:15:15 -0500 Subject: [PATCH 200/664] Run prettier --- src/pages/search/Drawer.tsx | 69 +++++++++++---------------- src/pages/search/drawer/Landscape.tsx | 64 +++++++++++++------------ src/utils/searchAPI.ts | 5 +- 3 files changed, 66 insertions(+), 72 deletions(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index b41daf5f4..b8c683e7f 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -1,18 +1,18 @@ -import React, { Requireable } from 'react'; -import PropTypes from 'prop-types'; -import withStyles from '@mui/styles/withStyles'; -import BackIcon from '@mui/icons-material/FirstPage'; -import Ecosistemas from '@mui/icons-material/Nature'; -import Especies from '@mui/icons-material/FilterVintage'; -import Paisaje from '@mui/icons-material/FilterHdr'; - -import SearchContext, { SearchContextValues } from 'pages/search/SearchContext'; -import Landscape from 'pages/search/drawer/Landscape'; -import Species from 'pages/search/drawer/Species'; -import Ecosystems from 'pages/search/drawer/Ecosystems'; -import formatNumber from 'utils/format'; -import searchAPI from 'utils/searchAPI'; -import TabContainer from 'pages/search/shared_components/TabContainer'; +import React, { Requireable } from "react"; +import PropTypes from "prop-types"; +import withStyles from "@mui/styles/withStyles"; +import BackIcon from "@mui/icons-material/FirstPage"; +import Ecosistemas from "@mui/icons-material/Nature"; +import Especies from "@mui/icons-material/FilterVintage"; +import Paisaje from "@mui/icons-material/FilterHdr"; + +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import Landscape from "pages/search/drawer/Landscape"; +import Species from "pages/search/drawer/Species"; +import Ecosystems from "pages/search/drawer/Ecosystems"; +import formatNumber from "utils/format"; +import searchAPI from "utils/searchAPI"; +import TabContainer from "pages/search/shared_components/TabContainer"; interface Props { handlerBackButton(): void; @@ -24,20 +24,19 @@ interface State { const styles = () => ({ root: { - width: '100%', - backgroundColor: 'transparent', + width: "100%", + backgroundColor: "transparent", }, }); -class Drawer extends React.Component{ - +class Drawer extends React.Component { static propTypes: { handlerBackButton: Requireable; - } + }; static defaultProps: { handlerBackButton(): void; - } + }; constructor(props: Props) { super(props); @@ -47,14 +46,12 @@ class Drawer extends React.Component{ } componentDidMount() { - const { - areaId, - geofenceId, - } = this.context as SearchContextValues; + const { areaId, geofenceId } = this.context as SearchContextValues; const searchId = geofenceId; - searchAPI.requestGeofenceDetails(areaId, searchId) + searchAPI + .requestGeofenceDetails(areaId, searchId) .then((res) => { this.setState({ geofenceArea: Number(res.total_area) }); }) @@ -64,18 +61,12 @@ class Drawer extends React.Component{ render() { const { handlerBackButton } = this.props; - const { - geofenceArea, - } = this.state; + const { geofenceArea } = this.state; return (
    -
    @@ -88,16 +79,14 @@ class Drawer extends React.Component{ ) }, - { label: 'Paisaje', icon: () }, - { label: 'Especies', icon: () }, + { label: "Ecosistemas", icon: }, + { label: "Paisaje", icon: }, + { label: "Especies", icon: }, ]} > {geofenceArea !== 0 && (
    - +
    )}
    diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index a46bedfbd..c75ddc958 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -1,11 +1,11 @@ -import React from 'react'; +import React from "react"; -import Accordion from 'pages/search/Accordion'; -import CompensationFactor from 'pages/search/drawer/landscape/CompensationFactor'; -import Forest from 'pages/search/drawer/landscape/Forest'; -import HumanFootprint from 'pages/search/drawer/landscape/HumanFootprint'; -import PAConnectivity from 'pages/search/drawer/landscape/PAConnectivity'; -import SearchContext, { SearchContextValues } from 'pages/search/SearchContext'; +import Accordion from "pages/search/Accordion"; +import CompensationFactor from "pages/search/drawer/landscape/CompensationFactor"; +import Forest from "pages/search/drawer/landscape/Forest"; +import HumanFootprint from "pages/search/drawer/landscape/HumanFootprint"; +import PAConnectivity from "pages/search/drawer/landscape/PAConnectivity"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; interface SearchContextLandScape extends SearchContextValues { cancelActiveRequests(): void; @@ -20,10 +20,9 @@ interface State { hf: string; forest: string; connectivity: string; - } + }; } - class Landscape extends React.Component { static contextType = SearchContext; @@ -31,12 +30,12 @@ class Landscape extends React.Component { super(props); const { areaId } = this.context as SearchContextLandScape; this.state = { - visible: areaId === 'ea' ? 'fc' : 'hf', + visible: areaId === "ea" ? "fc" : "hf", childMap: { - fc: 'fc', - hf: 'hfCurrent', - forest: 'forestLP-2016-2021', - connectivity: 'currentPAConn', + fc: "fc", + hf: "hfCurrent", + forest: "forestLP-2016-2021", + connectivity: "currentPAConn", }, }; } @@ -48,7 +47,8 @@ class Landscape extends React.Component { */ handleAccordionChange = (level: number, tabLayerId: string) => { const { visible } = this.state; - const { switchLayer, cancelActiveRequests } = this.context as SearchContextLandScape; + const { switchLayer, cancelActiveRequests } = this + .context as SearchContextLandScape; cancelActiveRequests(); if (tabLayerId === null) { @@ -70,7 +70,7 @@ class Landscape extends React.Component { default: break; } - } + }; render() { const { areaId } = this.context as SearchContextValues; @@ -78,16 +78,16 @@ class Landscape extends React.Component { const initialArray = [ { label: { - id: 'fc', - name: 'FC y Biomas', - collapsed: areaId !== 'ea', + id: "fc", + name: "FC y Biomas", + collapsed: areaId !== "ea", }, component: CompensationFactor, }, { label: { - id: 'hf', - name: 'Huella humana', + id: "hf", + name: "Huella humana", }, component: HumanFootprint, componentProps: { @@ -97,8 +97,8 @@ class Landscape extends React.Component { }, { label: { - id: 'forest', - name: 'Bosques', + id: "forest", + name: "Bosques", }, component: Forest, componentProps: { @@ -108,8 +108,8 @@ class Landscape extends React.Component { }, { label: { - id: 'connectivity', - name: 'Conectividad de Áreas Protegidas', + id: "connectivity", + name: "Conectividad de Áreas Protegidas", }, component: PAConnectivity, componentProps: { @@ -121,17 +121,19 @@ class Landscape extends React.Component { let selected: Array = []; switch (areaId) { - case 'states': - case 'basinSubzones': - selected = ['hf', 'forest', 'connectivity']; + case "states": + case "basinSubzones": + selected = ["hf", "forest", "connectivity"]; break; - case 'ea': - selected = ['fc', 'hf', 'forest', 'connectivity']; + case "ea": + selected = ["fc", "hf", "forest", "connectivity"]; break; default: break; } - const componentsArray = initialArray.filter((f) => selected.includes(f.label.id)); + const componentsArray = initialArray.filter((f) => + selected.includes(f.label.id) + ); return ( Date: Mon, 5 Sep 2022 15:17:46 -0500 Subject: [PATCH 201/664] Add componentDidMount --- src/pages/search/drawer/Landscape.tsx | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index c75ddc958..1229169ad 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -28,9 +28,8 @@ class Landscape extends React.Component { constructor(props: Props) { super(props); - const { areaId } = this.context as SearchContextLandScape; this.state = { - visible: areaId === "ea" ? "fc" : "hf", + visible: "hf", childMap: { fc: "fc", hf: "hfCurrent", @@ -45,7 +44,7 @@ class Landscape extends React.Component { * @param {String} level accordion level that's calling the function * @param {String} tabLayerId layer to be loaded (also tab expanded). null if collapsed */ - handleAccordionChange = (level: number, tabLayerId: string) => { + handleAccordionChange = (level: string, tabLayerId: string) => { const { visible } = this.state; const { switchLayer, cancelActiveRequests } = this .context as SearchContextLandScape; @@ -56,10 +55,10 @@ class Landscape extends React.Component { } switch (level) { - case 1: + case "1": this.setState({ visible: tabLayerId }); break; - case 2: + case "2": this.setState((prev) => ({ childMap: { ...prev.childMap, @@ -72,8 +71,17 @@ class Landscape extends React.Component { } }; + + componentDidMount() { + const { areaId } = this.context as SearchContextLandScape; + let visible = areaId === "ea" ? "fc" : "hf"; + this.setState((prev) => ({ + visible: visible, + })); + } + render() { - const { areaId } = this.context as SearchContextValues; + const { areaId } = this.context as SearchContextLandScape; const { childMap } = this.state; const initialArray = [ { From f5850029ba2c321c2cdd81ac6de259c179079a72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 5 Sep 2022 15:19:40 -0500 Subject: [PATCH 202/664] Run Prettier --- src/pages/search/drawer/Landscape.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 1229169ad..2bd6b2758 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -71,7 +71,6 @@ class Landscape extends React.Component { } }; - componentDidMount() { const { areaId } = this.context as SearchContextLandScape; let visible = areaId === "ea" ? "fc" : "hf"; From c1b11935d54d0ea6f20cfce8a57c24a457bf21e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 14:05:24 -0500 Subject: [PATCH 203/664] Drawer Geofence response type --- src/pages/search/types/drawer.ts | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/pages/search/types/drawer.ts diff --git a/src/pages/search/types/drawer.ts b/src/pages/search/types/drawer.ts new file mode 100644 index 000000000..2b89da758 --- /dev/null +++ b/src/pages/search/types/drawer.ts @@ -0,0 +1,3 @@ +export interface drawerGF { + total_area: string; +} \ No newline at end of file From 7883e0ce625fa0d17814b26858735c2722df087b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 14:07:44 -0500 Subject: [PATCH 204/664] Remove proptypes use --- src/pages/search/Drawer.tsx | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index b8c683e7f..d80feca11 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -1,5 +1,4 @@ import React, { Requireable } from "react"; -import PropTypes from "prop-types"; import withStyles from "@mui/styles/withStyles"; import BackIcon from "@mui/icons-material/FirstPage"; import Ecosistemas from "@mui/icons-material/Nature"; @@ -13,9 +12,10 @@ import Ecosystems from "pages/search/drawer/Ecosystems"; import formatNumber from "utils/format"; import searchAPI from "utils/searchAPI"; import TabContainer from "pages/search/shared_components/TabContainer"; +import { drawerGF } from "pages/search/types/drawer"; interface Props { - handlerBackButton(): void; + handlerBackButton: () => {}; } interface State { @@ -30,13 +30,6 @@ const styles = () => ({ }); class Drawer extends React.Component { - static propTypes: { - handlerBackButton: Requireable; - }; - - static defaultProps: { - handlerBackButton(): void; - }; constructor(props: Props) { super(props); @@ -48,11 +41,9 @@ class Drawer extends React.Component { componentDidMount() { const { areaId, geofenceId } = this.context as SearchContextValues; - const searchId = geofenceId; - searchAPI - .requestGeofenceDetails(areaId, searchId) - .then((res) => { + .requestGeofenceDetails(areaId, geofenceId) + .then((res: drawerGF) => { this.setState({ geofenceArea: Number(res.total_area) }); }) .catch(() => {}); @@ -101,14 +92,6 @@ class Drawer extends React.Component { } } -Drawer.propTypes = { - handlerBackButton: PropTypes.func, -}; - -Drawer.defaultProps = { - handlerBackButton: () => {}, -}; - export default withStyles(styles)(Drawer); Drawer.contextType = SearchContext; From 566a5758baeb8b42fd6c90fc7c9870d761c7d47f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 14:09:16 -0500 Subject: [PATCH 205/664] Add cancelActiveRequests prop definition --- src/pages/search/SearchContext.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pages/search/SearchContext.tsx b/src/pages/search/SearchContext.tsx index 22d9b4bd2..050435b96 100644 --- a/src/pages/search/SearchContext.tsx +++ b/src/pages/search/SearchContext.tsx @@ -5,6 +5,7 @@ export interface SearchContextValues { geofenceId: string | number; switchLayer(layer: string): void; handlerClickOnGraph({}): void; + cancelActiveRequests(): void; } const SearchContext = React.createContext({ @@ -12,6 +13,7 @@ const SearchContext = React.createContext({ geofenceId: "", switchLayer: () => {}, handlerClickOnGraph: () => {}, + cancelActiveRequests: () => {}, }); export default SearchContext; From a95bd17ab1410f96d50fa3aca82cbada9ad9744d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 14:11:03 -0500 Subject: [PATCH 206/664] Remove cancelActiveRequests prop definition --- src/pages/search/drawer/Landscape.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 2bd6b2758..2a65f9d65 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -7,10 +7,6 @@ import HumanFootprint from "pages/search/drawer/landscape/HumanFootprint"; import PAConnectivity from "pages/search/drawer/landscape/PAConnectivity"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -interface SearchContextLandScape extends SearchContextValues { - cancelActiveRequests(): void; -} - interface Props {} interface State { @@ -47,7 +43,7 @@ class Landscape extends React.Component { handleAccordionChange = (level: string, tabLayerId: string) => { const { visible } = this.state; const { switchLayer, cancelActiveRequests } = this - .context as SearchContextLandScape; + .context as SearchContextValues; cancelActiveRequests(); if (tabLayerId === null) { @@ -72,7 +68,7 @@ class Landscape extends React.Component { }; componentDidMount() { - const { areaId } = this.context as SearchContextLandScape; + const { areaId } = this.context as SearchContextValues; let visible = areaId === "ea" ? "fc" : "hf"; this.setState((prev) => ({ visible: visible, @@ -80,7 +76,7 @@ class Landscape extends React.Component { } render() { - const { areaId } = this.context as SearchContextLandScape; + const { areaId } = this.context as SearchContextValues; const { childMap } = this.state; const initialArray = [ { From 6174634de2ce3515e06e288a5c38769e5caa1730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 14:12:23 -0500 Subject: [PATCH 207/664] Add requestGeofenceDetails response type --- src/utils/searchAPI.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 42a18c2c5..4a665b32e 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -26,6 +26,7 @@ import { NOSThresholds, numberOfSpecies, } from "pages/search/types/richness"; +import { drawerGF } from "pages/search/types/drawer"; class SearchAPI { /** ****** */ /** FOREST */ @@ -525,11 +526,13 @@ class SearchAPI { * Recover details in the selected area * @param {Number | String} idArea id area to request, f.e. ea * @param {Number | String} idGeofence id geofence to request, f.e. idCAR + * + * @return {Promise} Object with values of selected area */ static requestGeofenceDetails( idArea: string | number, idGeofence: string | number - ) { + ): Promise { return SearchAPI.makeGetRequest(`${idArea}/${idGeofence}`); } } From 81b22e30116404e978a1144d185ba7448849aba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 14:19:58 -0500 Subject: [PATCH 208/664] Run prettier --- src/pages/search/Drawer.tsx | 1 - src/pages/search/types/drawer.ts | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index d80feca11..be0230b24 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -30,7 +30,6 @@ const styles = () => ({ }); class Drawer extends React.Component { - constructor(props: Props) { super(props); this.state = { diff --git a/src/pages/search/types/drawer.ts b/src/pages/search/types/drawer.ts index 2b89da758..c1b8ad036 100644 --- a/src/pages/search/types/drawer.ts +++ b/src/pages/search/types/drawer.ts @@ -1,3 +1,3 @@ export interface drawerGF { - total_area: string; -} \ No newline at end of file + total_area: string; +} From 14fe8cf29e1440693b4e747e41aad59b21f48aa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 16:59:01 -0500 Subject: [PATCH 209/664] Change interface response name --- src/pages/search/Drawer.tsx | 4 ++-- src/pages/search/types/drawer.ts | 2 +- src/utils/searchAPI.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index be0230b24..0c8cdd86b 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -12,7 +12,7 @@ import Ecosystems from "pages/search/drawer/Ecosystems"; import formatNumber from "utils/format"; import searchAPI from "utils/searchAPI"; import TabContainer from "pages/search/shared_components/TabContainer"; -import { drawerGF } from "pages/search/types/drawer"; +import { geofenceDetails } from "pages/search/types/drawer"; interface Props { handlerBackButton: () => {}; @@ -42,7 +42,7 @@ class Drawer extends React.Component { searchAPI .requestGeofenceDetails(areaId, geofenceId) - .then((res: drawerGF) => { + .then((res: geofenceDetails) => { this.setState({ geofenceArea: Number(res.total_area) }); }) .catch(() => {}); diff --git a/src/pages/search/types/drawer.ts b/src/pages/search/types/drawer.ts index c1b8ad036..584204337 100644 --- a/src/pages/search/types/drawer.ts +++ b/src/pages/search/types/drawer.ts @@ -1,3 +1,3 @@ -export interface drawerGF { +export interface geofenceDetails { total_area: string; } diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 4a665b32e..de05eaad8 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -26,7 +26,7 @@ import { NOSThresholds, numberOfSpecies, } from "pages/search/types/richness"; -import { drawerGF } from "pages/search/types/drawer"; +import { geofenceDetails } from "pages/search/types/drawer"; class SearchAPI { /** ****** */ /** FOREST */ @@ -532,7 +532,7 @@ class SearchAPI { static requestGeofenceDetails( idArea: string | number, idGeofence: string | number - ): Promise { + ): Promise { return SearchAPI.makeGetRequest(`${idArea}/${idGeofence}`); } } From 2bf0b37a990778c20067d05e3f35a5b066a2faff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Sep 2022 17:53:31 -0500 Subject: [PATCH 210/664] Remove unused import --- src/pages/search/Drawer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index 0c8cdd86b..b6af9e653 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -1,4 +1,4 @@ -import React, { Requireable } from "react"; +import React from "react"; import withStyles from "@mui/styles/withStyles"; import BackIcon from "@mui/icons-material/FirstPage"; import Ecosistemas from "@mui/icons-material/Nature"; From ff6dd7aba18f24df66c56d44f643018208daf205 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 12 Sep 2022 14:15:53 -0500 Subject: [PATCH 211/664] migrate to typescript --- ...ultiLinesGraph.jsx => MultiLinesGraph.tsx} | 192 +++++++----------- 1 file changed, 70 insertions(+), 122 deletions(-) rename src/pages/search/shared_components/charts/{MultiLinesGraph.jsx => MultiLinesGraph.tsx} (53%) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.jsx b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx similarity index 53% rename from src/pages/search/shared_components/charts/MultiLinesGraph.jsx rename to src/pages/search/shared_components/charts/MultiLinesGraph.tsx index 58a5fcc3a..d4ae987c3 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.jsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx @@ -1,23 +1,58 @@ import React from 'react'; -import PropTypes from 'prop-types'; -import { ResponsiveLine } from '@nivo/line'; +import { Datum, Point, ResponsiveLine } from '@nivo/line'; +import { CartesianMarkerProps, DatumValue } from '@nivo/core'; import formatNumber from 'utils/format'; import withMessageWrapper from 'pages/search/shared_components/charts/withMessageWrapper'; -class MultiLinesGraph extends React.Component { - constructor() { - super(); +interface MultiLinesGraphData { + label: string; + data: Array<{ + y: number; + x: string; + key: string; + }>; + key: string; +} + +interface MultiLinesGraphDataExt extends MultiLinesGraphData { + id: string; + color: string; +} + +interface Props { + colors: (key: string | number) => string; + data: Array; + markers?: Array; + labelX: string; + labelY: string; + onClickGraphHandler?: (id: string) => void; + yMin: number; + yMax: number; + height?: number; + units?: string; +} + +type LabelType = Record + +interface State { + data: Array; + labels: LabelType; + selectedId: string; +} +class MultiLinesGraph extends React.Component { + constructor(props: Props) { + super(props); this.state = { - data: null, + data: [], labels: {}, - selectedId: null, + selectedId: '', }; } componentDidMount() { const { data, colors } = this.props; - const labels = {}; + const labels: LabelType = {}; const newData = data.map((obj) => { labels[obj.key] = obj.label; // "id" field is required for NIVO Line component @@ -34,7 +69,7 @@ class MultiLinesGraph extends React.Component { * * @param {object} point datum selected in the graph */ - getToolTip = (point) => { + getToolTip = (point: Point) => { const { data: { xFormatted, yFormatted }, serieColor, @@ -62,14 +97,14 @@ class MultiLinesGraph extends React.Component { * * @param {string} selectedId identify the value selected in data */ - changeSelected = (selectedId) => { + changeSelected = (selectedId: string | number) => { const { data, colors } = this.props; const transformedData = data.map((obj) => { // "id" field is required for NIVO Line component if (obj.key === selectedId) return { ...obj, id: obj.key, color: colors(`${obj.key}Sel`) }; return { ...obj, id: obj.key, color: colors(obj.key) }; }); - this.setState({ data: transformedData, selectedId }); + this.setState({ data: transformedData, selectedId: String(selectedId) }); }; /** @@ -77,10 +112,10 @@ class MultiLinesGraph extends React.Component { * * @param {object} point retrieve the datum selected in the graph */ - selectLine = (point) => { + selectLine = (id: string ) => { const { onClickGraphHandler } = this.props; - this.changeSelected(point.serieId || point.id); - onClickGraphHandler(point.serieId || point.id); + this.changeSelected(id); + onClickGraphHandler?.(id); }; render() { @@ -101,17 +136,7 @@ class MultiLinesGraph extends React.Component { return (
    obj.color} - blendMode="multiply" - activeFillOpacity={1} - fillOpacity={0.3} - inactiveFillOpacity={0.2} - borderWidth={2} - activeBorderWidth={3} - inactiveBorderWidth={1} - borderColor={{ from: 'color', modifiers: [['darker', '0.3']] }} - borderOpacity={0.95} - activeBorderOpacity={0.95} - inactiveBorderOpacity={0.05} - startLabel="Área total" + enablePoints pointSize={10} pointColor={{ theme: 'background' }} pointBorderWidth={2} pointBorderColor={{ from: 'serieColor' }} + markers={markers} + isInteractive + onClick={( point: Point, event: React.MouseEvent ) => { + this.selectLine(String(point.serieId)); + }} + tooltip={(point) => this.getToolTip(point.point)} + crosshairType="cross" + colors={(obj) => obj.color} + enablePointLabel={true} pointLabel="y" pointLabelYOffset={-12} - useMesh - tooltip={(point) => this.getToolTip(point.point)} - theme={{ - onMouseEnter: { - container: { - padding: 0, - }, - }, - }} - legends={[{ - anchor: 'bottom-left', - data: Object.keys(labels).map((id) => { - const color = id === selectedId ? colors(`${id}Sel`) : colors(id); - return { - id, - label: labels[id], - color, - }; - }), - direction: 'row', - justify: false, - translateX: -50, - translateY: 100, - itemsSpacing: 5, - itemDirection: 'left-to-right', - itemWidth: 105, - itemHeight: 40, - itemOpacity: 0.75, - onClick: this.selectLine, - symbolSize: 12, - legendOffset: { - onMouseEnter: { - container: { - padding: 0, - }, - }, - }, - symbolShape: 'circle', - symbolBorderColor: 'rgba(0, 0, 0, .5)', - effects: [{ - on: 'hover', - style: { - itemBackground: 'rgba(0, 0, 0, .03)', - }, - }], - }]} - isInteractive + areaBlendMode="multiply" + useMesh={true} animate />
    @@ -213,39 +196,4 @@ class MultiLinesGraph extends React.Component { } } -MultiLinesGraph.propTypes = { - markers: PropTypes.arrayOf(PropTypes.shape({ - axis: PropTypes.string, - value: PropTypes.number, - type: PropTypes.string, - legendPosition: PropTypes.string, - })), - onClickGraphHandler: PropTypes.func, - colors: PropTypes.func.isRequired, - data: PropTypes.arrayOf(PropTypes.shape({ - key: PropTypes.string, - data: PropTypes.arrayOf(PropTypes.shape({ - x: PropTypes.string, - y: PropTypes.number, - })), - })).isRequired, - labelX: PropTypes.string, - labelY: PropTypes.string, - yMin: PropTypes.number, - yMax: PropTypes.number, - height: PropTypes.number, - units: PropTypes.string, -}; - -MultiLinesGraph.defaultProps = { - markers: [], - labelX: '', - labelY: '', - yMin: 0, - yMax: 100, - height: 490, - units: '', - onClickGraphHandler: () => {}, -}; - -export default withMessageWrapper(MultiLinesGraph); +export default withMessageWrapper(MultiLinesGraph); From 5985415e25b553edd8b11bd62265ae3413ac4e2e Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 12 Sep 2022 14:24:40 -0500 Subject: [PATCH 212/664] add type for key property according Serie type --- src/pages/search/types/connectivity.ts | 1 + src/pages/search/types/humanFootprint.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index 613a08acf..f20e206fb 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -35,6 +35,7 @@ export interface DPC { export interface timeLinePAConnValues { x: string; y: number; + key: string; } export interface timelinePAConn { diff --git a/src/pages/search/types/humanFootprint.ts b/src/pages/search/types/humanFootprint.ts index 52783cd96..4595a4925 100644 --- a/src/pages/search/types/humanFootprint.ts +++ b/src/pages/search/types/humanFootprint.ts @@ -48,5 +48,6 @@ export interface hfTimeline { data: Array<{ x: typeof timelineHFYears[number]; y: number; + key: string; }>; } From 8f384e41e227c13ceafdb054dad3b0eb3466c1aa Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 12 Sep 2022 14:25:02 -0500 Subject: [PATCH 213/664] add mock data --- .../humanFootprint/TimelineFootprint.tsx | 155 ++++++++++++++++-- 1 file changed, 143 insertions(+), 12 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index f1f6af72f..842442227 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -14,8 +14,11 @@ import { hfTimeline } from "pages/search/types/humanFootprint"; import { seDetails } from "pages/search/types/ecosystems"; import { TextObject } from "pages/search/types/texts"; import MultiLinesGraph from "pages/search/shared_components/charts/MultiLinesGraph"; +import { wrapperMessage } from "pages/search/types/charts"; +import { DatumValue } from "@nivo/line"; +import { CartesianMarkerProps } from "@nivo/core"; -const changeValues = [ +const changeValues: Array = [ { axis: "y", value: 15, @@ -26,8 +29,6 @@ const changeValues = [ fontSize: 9, }, legendPosition: "bottom-right", - orient: "top", - tickRotation: -90, }, { axis: "y", @@ -39,8 +40,6 @@ const changeValues = [ fontSize: 9, }, legendPosition: "bottom-right", - orient: "top", - tickRotation: -90, }, { axis: "y", @@ -52,8 +51,6 @@ const changeValues = [ fontSize: 9, }, legendPosition: "bottom-right", - orient: "top", - tickRotation: -90, }, { axis: "y", @@ -65,17 +62,150 @@ const changeValues = [ fontSize: 9, }, legendPosition: "bottom-right", - orient: "top", - tickRotation: -90, }, ]; +const dataMock = [ + { + "key": "paramo", + "data": [ + { + "x": "1970", + "y": 13.0266301199902, + "key": "paramo", + }, + { + "x": "1990", + "y": 15.8923998054669, + "key": "paramo", + }, + { + "x": "2000", + "y": 19.3378672984981, + "key": "paramo", + }, + { + "x": "2015", + "y": 23.0074804830625, + "key": "paramo", + }, + { + "x": "2018", + "y": 23.4133412384265, + "key": "paramo", + } + ], + "label": "Páramo", + "id": "paramo", + "color": "#bba2ff" + }, + { + "key": "wetland", + "data": [ + { + "x": "1970", + "y": 35.8267953418995, + "key": "wetland", + }, + { + "x": "1990", + "y": 40.220059966881, + "key": "wetland", + }, + { + "x": "2000", + "y": 42.4652046692811, + "key": "wetland", + }, + { + "x": "2015", + "y": 43.7276521264575, + "key": "wetland", + }, + { + "x": "2018", + "y": 44.3827462085131, + "key": "wetland", + } + ], + "label": "Humedal", + "id": "wetland", + "color": "#95b4db" + }, + { + "key": "dryForest", + "data": [ + { + "x": "1970", + "y": 52.2278092694628, + "key": "dryForest", + }, + { + "x": "1990", + "y": 54.6841757981244, + "key": "dryForest", + }, + { + "x": "2000", + "y": 55.8276304672073, + "key": "dryForest", + }, + { + "x": "2015", + "y": 56.8961844866329, + "key": "dryForest", + }, + { + "x": "2018", + "y": 57.432031522404, + "key": "dryForest", + } + ], + "label": "Bosque Seco T", + "id": "dryForest", + "color": "#afcc83" + }, + { + "key": "aTotal", + "data": [ + { + "x": "1970", + "y": 33.102116221481, + "key": "aTotal", + }, + { + "x": "1990", + "y": 35.9939376304085, + "key": "aTotal", + }, + { + "x": "2000", + "y": 37.7592021782625, + "key": "aTotal", + }, + { + "x": "2015", + "y": 38.4246954598706, + "key": "aTotal", + }, + { + "x": "2018", + "y": 38.8128220202167, + "key": "aTotal", + } + ], + "label": "Área consulta", + "id": "aTotal", + "color": "#3d3c48" + } +]; + interface Props {} interface State { showInfoGraph: boolean; hfTimeline: Array; - message: string | null; + message: wrapperMessage; selectedEcosystem: seDetailsExt | null; texts: { hfTimeline: TextObject; @@ -238,9 +368,8 @@ class TimelineFootprint extends React.Component {

    Haz clic en un ecosistema para ver su comportamiento

    { selectedKey: selection, }); }} + yMax={100} + yMin={0} /> {selectedEcosystem && (
    From e25227af53ee0dffabf22b3bf0856b80f49b6484 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 12 Sep 2022 14:25:41 -0500 Subject: [PATCH 214/664] add wrapper message and missing prop --- .../landscape/connectivity/TimelinePAConnectivity.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 6f869e8d0..3e10425cf 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -14,6 +14,8 @@ import { import { TextObject } from "pages/search/types/texts"; import SearchAPI from "utils/searchAPI"; import MultiLinesGraph from "pages/search/shared_components/charts/MultiLinesGraph"; +import { wrapperMessage } from "pages/search/types/charts"; +import { colors } from "@mui/material"; const getLabel = { prot: "Protegida", @@ -27,7 +29,7 @@ interface Props {} interface timelinePAConnState { showInfoGraph: boolean; timelinePAConnData: Array; - message: string | null; + message: wrapperMessage; texts: { paConnTimeline: TextObject; }; @@ -144,14 +146,14 @@ class TimelinePAConnectivity extends React.Component<
    Conectividad áreas protegidas en el tiempo
    Date: Mon, 12 Sep 2022 14:45:10 -0500 Subject: [PATCH 215/664] fix prettier --- .../charts/MultiLinesGraph.tsx | 55 +++++++++---------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx index d4ae987c3..62248857c 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx @@ -1,16 +1,16 @@ -import React from 'react'; -import { Datum, Point, ResponsiveLine } from '@nivo/line'; -import { CartesianMarkerProps, DatumValue } from '@nivo/core'; +import React from "react"; +import { Datum, Point, ResponsiveLine } from "@nivo/line"; +import { CartesianMarkerProps, DatumValue } from "@nivo/core"; -import formatNumber from 'utils/format'; -import withMessageWrapper from 'pages/search/shared_components/charts/withMessageWrapper'; +import formatNumber from "utils/format"; +import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface MultiLinesGraphData { label: string; data: Array<{ - y: number; - x: string; - key: string; + y: number; + x: string; + key: string; }>; key: string; } @@ -33,7 +33,7 @@ interface Props { units?: string; } -type LabelType = Record +type LabelType = Record; interface State { data: Array; @@ -46,7 +46,7 @@ class MultiLinesGraph extends React.Component { this.state = { data: [], labels: {}, - selectedId: '', + selectedId: "", }; } @@ -80,11 +80,13 @@ class MultiLinesGraph extends React.Component { return (
    - + {`${labels[serieId]} en ${xFormatted}`}
    -
    +
    {`${formatNumber(yFormatted, 2)} ${units}`}
    @@ -101,7 +103,8 @@ class MultiLinesGraph extends React.Component { const { data, colors } = this.props; const transformedData = data.map((obj) => { // "id" field is required for NIVO Line component - if (obj.key === selectedId) return { ...obj, id: obj.key, color: colors(`${obj.key}Sel`) }; + if (obj.key === selectedId) + return { ...obj, id: obj.key, color: colors(`${obj.key}Sel`) }; return { ...obj, id: obj.key, color: colors(obj.key) }; }); this.setState({ data: transformedData, selectedId: String(selectedId) }); @@ -112,22 +115,14 @@ class MultiLinesGraph extends React.Component { * * @param {object} point retrieve the datum selected in the graph */ - selectLine = (id: string ) => { + selectLine = (id: string) => { const { onClickGraphHandler } = this.props; this.changeSelected(id); onClickGraphHandler?.(id); }; render() { - const { - colors, - labelX, - labelY, - markers, - yMin, - yMax, - height, - } = this.props; + const { colors, labelX, labelY, markers, yMin, yMax, height } = this.props; const { data, labels, selectedId } = this.state; @@ -137,9 +132,9 @@ class MultiLinesGraph extends React.Component {
    { tickRotation: 0, legend: labelX, legendOffset: 36, - legendPosition: 'middle', + legendPosition: "middle", }} axisLeft={{ tickSize: 5, @@ -169,16 +164,16 @@ class MultiLinesGraph extends React.Component { tickRotation: 0, legend: labelY, legendOffset: -40, - legendPosition: 'middle', + legendPosition: "middle", }} enablePoints pointSize={10} - pointColor={{ theme: 'background' }} + pointColor={{ theme: "background" }} pointBorderWidth={2} - pointBorderColor={{ from: 'serieColor' }} + pointBorderColor={{ from: "serieColor" }} markers={markers} isInteractive - onClick={( point: Point, event: React.MouseEvent ) => { + onClick={(point: Point, event: React.MouseEvent) => { this.selectLine(String(point.serieId)); }} tooltip={(point) => this.getToolTip(point.point)} From ea72d64f6418b4d40b6223373ad76e1b9c47317e Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Mon, 12 Sep 2022 15:34:25 -0500 Subject: [PATCH 216/664] fix prettier style --- .../humanFootprint/TimelineFootprint.tsx | 170 +++++++++--------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index 842442227..016dd9a16 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -67,137 +67,137 @@ const changeValues: Array = [ const dataMock = [ { - "key": "paramo", - "data": [ + key: "paramo", + data: [ { - "x": "1970", - "y": 13.0266301199902, - "key": "paramo", + x: "1970", + y: 13.0266301199902, + key: "paramo", }, { - "x": "1990", - "y": 15.8923998054669, - "key": "paramo", + x: "1990", + y: 15.8923998054669, + key: "paramo", }, { - "x": "2000", - "y": 19.3378672984981, - "key": "paramo", + x: "2000", + y: 19.3378672984981, + key: "paramo", }, { - "x": "2015", - "y": 23.0074804830625, - "key": "paramo", + x: "2015", + y: 23.0074804830625, + key: "paramo", }, { - "x": "2018", - "y": 23.4133412384265, - "key": "paramo", - } + x: "2018", + y: 23.4133412384265, + key: "paramo", + }, ], - "label": "Páramo", - "id": "paramo", - "color": "#bba2ff" + label: "Páramo", + id: "paramo", + color: "#bba2ff", }, { - "key": "wetland", - "data": [ + key: "wetland", + data: [ { - "x": "1970", - "y": 35.8267953418995, - "key": "wetland", + x: "1970", + y: 35.8267953418995, + key: "wetland", }, { - "x": "1990", - "y": 40.220059966881, - "key": "wetland", + x: "1990", + y: 40.220059966881, + key: "wetland", }, { - "x": "2000", - "y": 42.4652046692811, - "key": "wetland", + x: "2000", + y: 42.4652046692811, + key: "wetland", }, { - "x": "2015", - "y": 43.7276521264575, - "key": "wetland", + x: "2015", + y: 43.7276521264575, + key: "wetland", }, { - "x": "2018", - "y": 44.3827462085131, - "key": "wetland", - } + x: "2018", + y: 44.3827462085131, + key: "wetland", + }, ], - "label": "Humedal", - "id": "wetland", - "color": "#95b4db" + label: "Humedal", + id: "wetland", + color: "#95b4db", }, { - "key": "dryForest", - "data": [ + key: "dryForest", + data: [ { - "x": "1970", - "y": 52.2278092694628, - "key": "dryForest", + x: "1970", + y: 52.2278092694628, + key: "dryForest", }, { - "x": "1990", - "y": 54.6841757981244, - "key": "dryForest", + x: "1990", + y: 54.6841757981244, + key: "dryForest", }, { - "x": "2000", - "y": 55.8276304672073, - "key": "dryForest", + x: "2000", + y: 55.8276304672073, + key: "dryForest", }, { - "x": "2015", - "y": 56.8961844866329, - "key": "dryForest", + x: "2015", + y: 56.8961844866329, + key: "dryForest", }, { - "x": "2018", - "y": 57.432031522404, - "key": "dryForest", - } + x: "2018", + y: 57.432031522404, + key: "dryForest", + }, ], - "label": "Bosque Seco T", - "id": "dryForest", - "color": "#afcc83" + label: "Bosque Seco T", + id: "dryForest", + color: "#afcc83", }, { - "key": "aTotal", - "data": [ + key: "aTotal", + data: [ { - "x": "1970", - "y": 33.102116221481, - "key": "aTotal", + x: "1970", + y: 33.102116221481, + key: "aTotal", }, { - "x": "1990", - "y": 35.9939376304085, - "key": "aTotal", + x: "1990", + y: 35.9939376304085, + key: "aTotal", }, { - "x": "2000", - "y": 37.7592021782625, - "key": "aTotal", + x: "2000", + y: 37.7592021782625, + key: "aTotal", }, { - "x": "2015", - "y": 38.4246954598706, - "key": "aTotal", + x: "2015", + y: 38.4246954598706, + key: "aTotal", }, { - "x": "2018", - "y": 38.8128220202167, - "key": "aTotal", - } + x: "2018", + y: 38.8128220202167, + key: "aTotal", + }, ], - "label": "Área consulta", - "id": "aTotal", - "color": "#3d3c48" - } + label: "Área consulta", + id: "aTotal", + color: "#3d3c48", + }, ]; interface Props {} From c06cabd463358114ab3cb7658ff30dcc8494a838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 13 Sep 2022 10:18:31 -0500 Subject: [PATCH 217/664] Remove extra prop --- src/pages/search/types/connectivity.ts | 1 - src/pages/search/types/humanFootprint.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/pages/search/types/connectivity.ts b/src/pages/search/types/connectivity.ts index f20e206fb..613a08acf 100644 --- a/src/pages/search/types/connectivity.ts +++ b/src/pages/search/types/connectivity.ts @@ -35,7 +35,6 @@ export interface DPC { export interface timeLinePAConnValues { x: string; y: number; - key: string; } export interface timelinePAConn { diff --git a/src/pages/search/types/humanFootprint.ts b/src/pages/search/types/humanFootprint.ts index 4595a4925..52783cd96 100644 --- a/src/pages/search/types/humanFootprint.ts +++ b/src/pages/search/types/humanFootprint.ts @@ -48,6 +48,5 @@ export interface hfTimeline { data: Array<{ x: typeof timelineHFYears[number]; y: number; - key: string; }>; } From 3feb0312d04a1f225e5ed9eb406b9cfa26383b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 13 Sep 2022 10:45:45 -0500 Subject: [PATCH 218/664] Set default height and remove unused variables --- .../search/shared_components/charts/MultiLinesGraph.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx index 62248857c..0718e6e0f 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { Datum, Point, ResponsiveLine } from "@nivo/line"; -import { CartesianMarkerProps, DatumValue } from "@nivo/core"; +import { Point, ResponsiveLine } from "@nivo/line"; +import { CartesianMarkerProps } from "@nivo/core"; import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; @@ -10,7 +10,6 @@ interface MultiLinesGraphData { data: Array<{ y: number; x: string; - key: string; }>; key: string; } @@ -122,9 +121,9 @@ class MultiLinesGraph extends React.Component { }; render() { - const { colors, labelX, labelY, markers, yMin, yMax, height } = this.props; + const { labelX, labelY, markers, yMin, yMax, height = 490 } = this.props; - const { data, labels, selectedId } = this.state; + const { data } = this.state; if (!data) return null; From 3a242c8efe36bf1b714b9a2384b958218e5c8977 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 13 Sep 2022 10:46:39 -0500 Subject: [PATCH 219/664] Remove unused variables and delete mock data --- .../humanFootprint/TimelineFootprint.tsx | 138 +----------------- 1 file changed, 1 insertion(+), 137 deletions(-) diff --git a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx index 016dd9a16..cc899bafd 100644 --- a/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx +++ b/src/pages/search/drawer/landscape/humanFootprint/TimelineFootprint.tsx @@ -15,7 +15,6 @@ import { seDetails } from "pages/search/types/ecosystems"; import { TextObject } from "pages/search/types/texts"; import MultiLinesGraph from "pages/search/shared_components/charts/MultiLinesGraph"; import { wrapperMessage } from "pages/search/types/charts"; -import { DatumValue } from "@nivo/line"; import { CartesianMarkerProps } from "@nivo/core"; const changeValues: Array = [ @@ -65,141 +64,6 @@ const changeValues: Array = [ }, ]; -const dataMock = [ - { - key: "paramo", - data: [ - { - x: "1970", - y: 13.0266301199902, - key: "paramo", - }, - { - x: "1990", - y: 15.8923998054669, - key: "paramo", - }, - { - x: "2000", - y: 19.3378672984981, - key: "paramo", - }, - { - x: "2015", - y: 23.0074804830625, - key: "paramo", - }, - { - x: "2018", - y: 23.4133412384265, - key: "paramo", - }, - ], - label: "Páramo", - id: "paramo", - color: "#bba2ff", - }, - { - key: "wetland", - data: [ - { - x: "1970", - y: 35.8267953418995, - key: "wetland", - }, - { - x: "1990", - y: 40.220059966881, - key: "wetland", - }, - { - x: "2000", - y: 42.4652046692811, - key: "wetland", - }, - { - x: "2015", - y: 43.7276521264575, - key: "wetland", - }, - { - x: "2018", - y: 44.3827462085131, - key: "wetland", - }, - ], - label: "Humedal", - id: "wetland", - color: "#95b4db", - }, - { - key: "dryForest", - data: [ - { - x: "1970", - y: 52.2278092694628, - key: "dryForest", - }, - { - x: "1990", - y: 54.6841757981244, - key: "dryForest", - }, - { - x: "2000", - y: 55.8276304672073, - key: "dryForest", - }, - { - x: "2015", - y: 56.8961844866329, - key: "dryForest", - }, - { - x: "2018", - y: 57.432031522404, - key: "dryForest", - }, - ], - label: "Bosque Seco T", - id: "dryForest", - color: "#afcc83", - }, - { - key: "aTotal", - data: [ - { - x: "1970", - y: 33.102116221481, - key: "aTotal", - }, - { - x: "1990", - y: 35.9939376304085, - key: "aTotal", - }, - { - x: "2000", - y: 37.7592021782625, - key: "aTotal", - }, - { - x: "2015", - y: 38.4246954598706, - key: "aTotal", - }, - { - x: "2018", - y: 38.8128220202167, - key: "aTotal", - }, - ], - label: "Área consulta", - id: "aTotal", - color: "#3d3c48", - }, -]; - interface Props {} interface State { @@ -369,7 +233,7 @@ class TimelineFootprint extends React.Component {
    Date: Tue, 13 Sep 2022 10:54:38 -0500 Subject: [PATCH 220/664] Remove pointLabel props --- src/pages/search/shared_components/charts/MultiLinesGraph.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx index 0718e6e0f..5e0c02329 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx @@ -178,9 +178,6 @@ class MultiLinesGraph extends React.Component { tooltip={(point) => this.getToolTip(point.point)} crosshairType="cross" colors={(obj) => obj.color} - enablePointLabel={true} - pointLabel="y" - pointLabelYOffset={-12} areaBlendMode="multiply" useMesh={true} animate From 0a003a0d46dca834b75c00256b0d4abb626272a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 13 Sep 2022 11:12:28 -0500 Subject: [PATCH 221/664] Fix other props --- .../connectivity/TimelinePAConnectivity.tsx | 5 +- .../humanFootprint/TimelineFootprint.tsx | 4 -- .../charts/MultiLinesGraph.tsx | 61 ++++++++++++++++--- 3 files changed, 54 insertions(+), 16 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 3e10425cf..c15a14127 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -149,11 +149,8 @@ class TimelinePAConnectivity extends React.Component< colors={matchColor("timelinePAConn")} data={timelinePAConnData} message={message} - labelX="Año" - labelY="Porcentaje" units="%" - yMin={0} - yMax={100} + yMax={50} /> { data={hfTimeline} message={message} markers={changeValues} - labelX="Año" - labelY="Indice promedio Huella Humana" onClickGraphHandler={(selection: string) => { this.setSelectedEcosystem(selection); handlerClickOnGraph({ @@ -245,8 +243,6 @@ class TimelineFootprint extends React.Component { selectedKey: selection, }); }} - yMax={100} - yMin={0} /> {selectedEcosystem && (
    diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx index 5e0c02329..5a78c8dd3 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx @@ -23,11 +23,11 @@ interface Props { colors: (key: string | number) => string; data: Array; markers?: Array; - labelX: string; - labelY: string; + labelX?: string; + labelY?: string; onClickGraphHandler?: (id: string) => void; - yMin: number; - yMax: number; + yMin?: number; + yMax?: number; height?: number; units?: string; } @@ -86,7 +86,7 @@ class MultiLinesGraph extends React.Component {
    - {`${formatNumber(yFormatted, 2)} ${units}`} + {`${formatNumber(yFormatted, 2)}${units ? ` ${units}` : ""}`}
    @@ -121,9 +121,17 @@ class MultiLinesGraph extends React.Component { }; render() { - const { labelX, labelY, markers, yMin, yMax, height = 490 } = this.props; + const { + labelX, + labelY, + markers, + colors, + yMin = 0, + yMax = 100, + height = 490, + } = this.props; - const { data } = this.state; + const { data, labels, selectedId } = this.state; if (!data) return null; @@ -172,7 +180,7 @@ class MultiLinesGraph extends React.Component { pointBorderColor={{ from: "serieColor" }} markers={markers} isInteractive - onClick={(point: Point, event: React.MouseEvent) => { + onClick={(point) => { this.selectLine(String(point.serieId)); }} tooltip={(point) => this.getToolTip(point.point)} @@ -180,6 +188,43 @@ class MultiLinesGraph extends React.Component { colors={(obj) => obj.color} areaBlendMode="multiply" useMesh={true} + legends={[ + { + anchor: "bottom-left", + data: Object.keys(labels).map((id) => { + const color = + id === selectedId ? colors(`${id}Sel`) : colors(id); + return { + id, + label: labels[id], + color, + }; + }), + direction: "row", + justify: false, + translateX: -50, + translateY: 100, + itemsSpacing: 5, + itemDirection: "left-to-right", + itemWidth: 105, + itemHeight: 40, + itemOpacity: 0.75, + onClick: (datum) => { + this.selectLine(String(datum.id)); + }, + symbolSize: 12, + symbolShape: "circle", + symbolBorderColor: "rgba(0, 0, 0, .5)", + effects: [ + { + on: "hover", + style: { + itemBackground: "rgba(0, 0, 0, .03)", + }, + }, + ], + }, + ]} animate />
    From 0f7cf59f7c82c008bb6071889aaa97fde514c09c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 14 Sep 2022 09:55:57 -0500 Subject: [PATCH 222/664] Add optional prop to fix warning --- src/pages/search/shared_components/charts/MultiLinesGraph.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx index 5a78c8dd3..5fdbfefe5 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx @@ -226,6 +226,7 @@ class MultiLinesGraph extends React.Component { }, ]} animate + pointLabelYOffset={0} />
    ); From 3b8bcd98907243bbc9dfbf0ff4b59f6e11102e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 14 Sep 2022 09:57:41 -0500 Subject: [PATCH 223/664] Clean a little data management --- .../charts/MultiLinesGraph.tsx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx index 5fdbfefe5..5405847bd 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiLinesGraph.tsx @@ -14,8 +14,12 @@ interface MultiLinesGraphData { key: string; } -interface MultiLinesGraphDataExt extends MultiLinesGraphData { +interface MultiLinesGraphDataState { id: string; + data: Array<{ + y: number; + x: string; + }>; color: string; } @@ -32,11 +36,9 @@ interface Props { units?: string; } -type LabelType = Record; - interface State { - data: Array; - labels: LabelType; + data: Array; + labels: Record; selectedId: string; } class MultiLinesGraph extends React.Component { @@ -51,11 +53,10 @@ class MultiLinesGraph extends React.Component { componentDidMount() { const { data, colors } = this.props; - const labels: LabelType = {}; + const labels: Record = {}; const newData = data.map((obj) => { labels[obj.key] = obj.label; - // "id" field is required for NIVO Line component - return { ...obj, id: obj.key, color: colors(obj.key) }; + return { id: obj.key, data: obj.data, color: colors(obj.key) }; }); this.setState({ data: newData, @@ -154,9 +155,6 @@ class MultiLinesGraph extends React.Component { bottom: 100, }} curve="cardinal" - theme={{}} - axisTop={null} - axisRight={null} axisBottom={{ tickSize: 5, tickPadding: 5, From 120bbfed63390ebd483f3e75e5b5828ae64d3111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 14 Sep 2022 17:31:26 -0500 Subject: [PATCH 224/664] Adjust Bullet chart to receive and show labels in tooltips --- src/main.css | 6 ++ .../charts/SingleBulletGraph.tsx | 61 ++++++++++++++++--- 2 files changed, 58 insertions(+), 9 deletions(-) diff --git a/src/main.css b/src/main.css index 19ab59016..f7ff27bab 100644 --- a/src/main.css +++ b/src/main.css @@ -1451,6 +1451,12 @@ overflow: auto; padding: 6px 8px !important; } +.bulletTooltip { + max-width: 230px; + white-space: normal; + line-height: 1; +} + .extraLegend { font-size: 12px; display: flex; diff --git a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx index 5dd21e3b4..fa593acf6 100644 --- a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx +++ b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx @@ -28,15 +28,32 @@ const findKey = (originalObject: itemsObject, value: number) => * * @param {any} value value to show in tooltip * @param {String} color color for he tooltip chip + * @param {String} label text to be shown at the tooltip * * @returns Tooltip elemtent */ -const tooltip = (value: number, color: string) => { +const tooltip = (value: number, color: string, label?: string) => { const { showTooltipFromEvent } = useTooltip(); return (event: React.MouseEvent) => { showTooltipFromEvent( - {value}} enableChip color={color} />, - event + + {label ? ( + <> + {label}
    + + ) : ( + <> + )} + {value} +
    + } + enableChip + color={color} + />, + event, + "right" ); }; }; @@ -53,7 +70,8 @@ const tooltip = (value: number, color: string) => { const LineMeasureWrap = ( origMeasures: itemsObject, colors: colorsFunction, - reverse: boolean + reverse: boolean, + labels?: Record ) => { /** * Custom component to display bullet measures as lines (like markers) @@ -81,7 +99,11 @@ const LineMeasureWrap = ( y2={20} stroke={colors(measureKey)} strokeWidth={3} - onMouseEnter={tooltip(data.v1, colors(measureKey))} + onMouseEnter={tooltip( + data.v1, + colors(measureKey), + labels?.[measureKey] + )} onMouseLeave={(event: unknown) => onMouseLeave( data, @@ -103,7 +125,11 @@ const LineMeasureWrap = ( * * @returns Functional component for a marker in form of a circle */ -const CircleMarkerWrap = (origMarkers: itemsObject, colors: colorsFunction) => { +const CircleMarkerWrap = ( + origMarkers: itemsObject, + colors: colorsFunction, + labels?: Record +) => { /** * Custom component to display bullet markers as circles * @@ -118,7 +144,11 @@ const CircleMarkerWrap = (origMarkers: itemsObject, colors: colorsFunction) => { return ( onMouseLeave( data, @@ -192,6 +222,10 @@ interface BulletData { ranges: itemsObject; markers: itemsObject; measures: itemsObject; + labels?: { + markers: Record; + measures: Record; + }; title: string; } @@ -234,8 +268,17 @@ const SingleBulletGraph: React.FC = (props) => { titleOffsetX={0} titleOffsetY={-30} rangeComponent={NoTooltipRangeWrap(data.ranges, colors)} - measureComponent={LineMeasureWrap(data.measures, colors, reverse)} - markerComponent={CircleMarkerWrap(data.markers, colors)} + measureComponent={LineMeasureWrap( + data.measures, + colors, + reverse, + data.labels?.measures + )} + markerComponent={CircleMarkerWrap( + data.markers, + colors, + data.labels?.markers + )} isInteractive reverse={reverse} onRangeClick={onClickHandler} From 1a087cecec1db1830819a7d52ff6e935f5477014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 14 Sep 2022 17:45:18 -0500 Subject: [PATCH 225/664] Adjust number of species to send tooltip labels --- .../species/richness/NumberOfSpecies.tsx | 108 ++++++++++++++---- 1 file changed, 84 insertions(+), 24 deletions(-) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index 4c29d7fec..0c3c4a9e2 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -26,7 +26,6 @@ import { wrapperMessage } from "pages/search/types/charts"; import { helperText, textsObject } from "pages/search/types/texts"; import { NOSGroups, NOSNational } from "pages/search/types/richness"; import SearchAPI from "utils/searchAPI"; -import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; const NOSTexts = { inferred: { info: "", cons: "", meto: "", quote: "" }, @@ -49,28 +48,48 @@ const getLabel = (key: string, area: string = "", region: string = "") => { break; } - return { - total: "TOTAL", - endemic: "ENDÉMICAS", - invasive: "INVASORAS", - threatened: "AMENAZADAS", - inferred: "Inferido (BioModelos)", - observed: "Observado (visor I2D)", - min_inferred: `Min. inferido ${areaLbl} de la región ${region}`, - min_observed: `Min. observado ${areaLbl} de la región ${region}`, - max_inferred: `Max. inferido ${areaLbl} de la región ${region}`, - max_observed: `Max. observado ${areaLbl} de la región ${region}`, - region_observed: `Observado región ${region}`, - region_inferred: `Inferido región ${region}`, - area: `${areaLbl.replace(/^\w/, (l) => - l.toUpperCase() - )} de la región ${region}`, - region: `Región ${region}`, - inferred2: "Inferido en el área de consulta", - observed2: "Observado en el área de consulta", - national_inferred: `Max. inferido en ${areaLbl} a nivel nacional: `, - national_observed: `Max. observado en ${areaLbl} a nivel nacional: `, - }[key]; + switch (key) { + case "total": + return "TOTAL"; + case "endemic": + return "ENDÉMICAS"; + case "invasive": + return "INVASORAS"; + case "threatened": + return "AMENAZADAS"; + case "inferred": + return "Inferido (BioModelos)"; + case "observed": + return "Observado (visor I2D)"; + case "min_inferred": + return `Min. inferido ${areaLbl} de la región ${region}`; + case "min_observed": + return `Min. observado ${areaLbl} de la región ${region}`; + case "max_inferred": + return `Max. inferido ${areaLbl} de la región ${region}`; + case "max_observed": + return `Max. observado ${areaLbl} de la región ${region}`; + case "region_observed": + return `Observado región ${region}`; + case "region_inferred": + return `Inferido región ${region}`; + case "area": + return `${areaLbl.replace(/^\w/, (l) => + l.toUpperCase() + )} de la región ${region}`; + case "region": + return `Región ${region}`; + case "inferred2": + return "Inferido en el área de consulta"; + case "observed2": + return "Observado en el área de consulta"; + case "national_inferred": + return `Max. inferido en ${areaLbl} a nivel nacional: `; + case "national_observed": + return `Max. observado en ${areaLbl} a nivel nacional: `; + default: + return ""; + } }; interface Props {} @@ -110,10 +129,18 @@ interface completeData { region_inferred: number; region_observed: number; }; + labels: { + measures: { + [key: string]: string; + }; + markers: { + [key: string]: string; + }; + }; title: string; } -interface selectedData extends Pick { +interface selectedData extends Pick { ranges: { area: number; region: number; @@ -197,6 +224,27 @@ class NumberOfSpecies extends React.Component { region_inferred: groupVal.region_inferred, region_observed: groupVal.region_observed, }, + labels: { + measures: { + ...[ + ...Object.keys(mins), + "max_inferred", + "max_observed", + "region_inferred", + "region_observed", + ].reduce( + (result, key) => ({ + ...result, + [key]: getLabel(key, areaId, region), + }), + {} + ), + }, + markers: { + inferred: getLabel("inferred2"), + observed: getLabel("observed2"), + }, + }, title: "", }); }); @@ -312,6 +360,18 @@ class NumberOfSpecies extends React.Component { area: group.ranges.area[areaKey], region: group.ranges.region[regionKey], }, + labels: { + markers: { + [category]: group.labels.markers[category], + }, + measures: measureKeys.reduce( + (result, key) => ({ + ...result, + [key]: group.labels.measures[key], + }), + {} + ), + }, title: group.title, }; }); From 646e530589b26e4713559089ad92b56b69cc4565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Wed, 14 Sep 2022 19:13:57 -0500 Subject: [PATCH 226/664] Remove unnecessary interface --- .../charts/SingleBulletGraph.tsx | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx index fa593acf6..0efc32540 100644 --- a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx +++ b/src/pages/search/shared_components/charts/SingleBulletGraph.tsx @@ -9,9 +9,6 @@ import { animated, to } from "@react-spring/web"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; type colorsFunction = (param: string) => string; -interface itemsObject { - [key: string]: number; -} /** * Get the key for a value inside an object * @@ -20,7 +17,7 @@ interface itemsObject { * * @returns {String} desired key */ -const findKey = (originalObject: itemsObject, value: number) => +const findKey = (originalObject: Record, value: number) => Object.keys(originalObject).find((key) => originalObject[key] === value); /** @@ -68,7 +65,7 @@ const tooltip = (value: number, color: string, label?: string) => { * @returns Functional component for a measure in form of a line */ const LineMeasureWrap = ( - origMeasures: itemsObject, + origMeasures: Record, colors: colorsFunction, reverse: boolean, labels?: Record @@ -126,7 +123,7 @@ const LineMeasureWrap = ( * @returns Functional component for a marker in form of a circle */ const CircleMarkerWrap = ( - origMarkers: itemsObject, + origMarkers: Record, colors: colorsFunction, labels?: Record ) => { @@ -173,7 +170,7 @@ const CircleMarkerWrap = ( * @returns Functional component for a range without tooltip */ const NoTooltipRangeWrap = ( - origRanges: itemsObject, + origRanges: Record, colors: colorsFunction ) => { /** @@ -219,9 +216,9 @@ interface BulletProps { interface BulletData { id: string; - ranges: itemsObject; - markers: itemsObject; - measures: itemsObject; + ranges: Record; + markers: Record; + measures: Record; labels?: { markers: Record; measures: Record; From 6fce025f940be4909552cd1adeb1b07e812e8344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 15 Sep 2022 08:30:53 -0500 Subject: [PATCH 227/664] Adjust gaps section to send tooltip labels --- .../species/richness/SpeciesRecordsGaps.tsx | 105 +++++++++++++----- 1 file changed, 78 insertions(+), 27 deletions(-) diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx index 5bf8040a9..105664134 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx @@ -37,31 +37,56 @@ const areaTypeName = (areaType: string) => { } }; -const getLabelGaps = (key: string, areaType: string, region: string = "") => - ({ - value: "Promedio de vacios en el área de consulta", - min: "Menos vacíos en el área de consulta", - max: "Más vacíos en el área de consulta", - min_region: `Menos vacíos en la región ${region}`, - max_region: `Más vacíos en la región ${region}`, - min_threshold: `Menos vacíos ${areaTypeName( - areaType - )} de la región ${region}`, - max_threshold: `Más vacíos ${areaTypeName( - areaType - )} de la región ${region}`, - }[key]); +const getLabelFunc = (section: string) => { + if (section === "gaps") return getLabelGaps; + else return getLabelConcentration; +}; + +const getLabelGaps = ( + key: string, + areaType: string = "", + region: string = "" +) => { + switch (key) { + case "value": + return "Promedio de vacios en el área de consulta"; + case "min": + return "Menos vacíos en el área de consulta"; + case "max": + return "Más vacíos en el área de consulta"; + case "min_region": + return `Menos vacíos en la región ${region}`; + case "max_region": + return `Más vacíos en la región ${region}`; + case "min_threshold": + return `Menos vacíos ${areaTypeName(areaType)} de la región ${region}`; + case "max_threshold": + return `Más vacíos ${areaTypeName(areaType)} de la región ${region}`; + default: + return ""; + } +}; -const getLabelConcentration = (key: string) => - ({ - min: "Mínimo del área de consulta", - max: "Máximo del área de consulta", - min_region: "Mínimo por región biótica", - max_region: "Máximo por región biótica", - min_threshold: "Mínimo nacional", - max_threshold: "Máximo nacional", - value: "Promedio de representación en el área de consulta", - }[key]); +const getLabelConcentration = (key: string) => { + switch (key) { + case "min": + return "Mínimo del área de consulta"; + case "max": + return "Máximo del área de consulta"; + case "min_region": + return "Mínimo por región biótica"; + case "max_region": + return "Máximo por región biótica"; + case "min_threshold": + return "Mínimo nacional"; + case "max_threshold": + return "Máximo nacional"; + case "value": + return "Promedio de representación en el área de consulta"; + default: + return ""; + } +}; interface Props {} @@ -90,6 +115,14 @@ interface GapsAndConcentration { value: number; }; measures: gaps_limits; + labels: { + measures: { + [key: string]: string; + }; + markers: { + [key: string]: string; + }; + }; title: string; } @@ -127,7 +160,7 @@ class SpeciesRecordsGaps extends React.Component { if (this.mounted) { const showErrorMessage = res[0].min < res[0].min_region || res[0].max > res[0].max_region; - const { region, ...data } = this.transformData(res); + const { region, ...data } = this.transformData(res, "gaps"); const dataArray = []; dataArray.push(data); this.setState({ @@ -146,7 +179,7 @@ class SpeciesRecordsGaps extends React.Component { SearchAPI.requestConcentration(areaId, geofenceId) .then((res) => { if (this.mounted) { - const { region, ...data } = this.transformData(res); + const { region, ...data } = this.transformData(res, "concentration"); const dataArray = []; dataArray.push(data); this.setState({ @@ -181,7 +214,11 @@ class SpeciesRecordsGaps extends React.Component { * * @param {Object} rawData raw data from RestAPI */ - transformData = (rawData: Array | Array) => { + transformData = ( + rawData: Array | Array, + section: string + ) => { + const { areaId } = this.context as SearchContextValues; let region_name = ""; let limits: gaps_limits; let id = ""; @@ -206,6 +243,20 @@ class SpeciesRecordsGaps extends React.Component { value: avg * 100, }, measures: limits, + labels: { + measures: { + ...[...Object.keys(limits)].reduce( + (result, key) => ({ + ...result, + [key]: getLabelFunc(section)(key, areaId, region_name), + }), + {} + ), + }, + markers: { + value: getLabelFunc(section)("value"), + }, + }, title: "", }; }; From 6fcb07c857187f610fb35ee4cb8a099b66d944f8 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 14 Sep 2022 11:00:28 -0500 Subject: [PATCH 228/664] Migrate components asociated to Styled-Components library --- package.json | 1 + .../connectivity/CurrentPAConnectivity.tsx | 4 +- .../landscape/forest/ForestIntegrity.tsx | 8 +- .../search/shared_components/CssIcons.jsx | 16 -- .../search/shared_components/CssIcons.tsx | 21 +++ .../search/shared_components/CssLegends.jsx | 101 ----------- .../search/shared_components/CssLegends.tsx | 164 ++++++++++++++++++ yarn.lock | 24 ++- 8 files changed, 215 insertions(+), 124 deletions(-) delete mode 100644 src/pages/search/shared_components/CssIcons.jsx create mode 100644 src/pages/search/shared_components/CssIcons.tsx delete mode 100644 src/pages/search/shared_components/CssLegends.jsx create mode 100644 src/pages/search/shared_components/CssLegends.tsx diff --git a/package.json b/package.json index b1f268f89..3f536d899 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "@types/node": "^17.0.41", "@types/react": "^18.0.12", "@types/react-dom": "^18.0.5", + "@types/styled-components": "^5.1.26", "typescript": "~4.7.3", "yarn-audit-fix": "~9.3.1" }, diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index aabd1f818..54bac65af 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -263,11 +263,11 @@ class CurrentPAConnectivity extends React.Component { />
    - {DPCKeys.map((cat) => ( + {/* {DPCKeys.map((cat) => ( {legendDPCCategories[cat]} - ))} + ))} */}
    {

    Haz clic en la gráfica para visualizar las áreas protegidas

    - + {/* Límite de áreas protegidas - + */}
    { }); }} /> -
    + {/*
    {getSCIHFVals().map((cat) => ( { {SciHfCats[cat].label} ))} -
    +
    */}
    `url(${image}) no-repeat center center`}; - width: 25px; - height: 27px; - display: inline-block; - - &:hover { - background: ${({ hoverImage }) => `url(${hoverImage}) no-repeat center center`}; - width: 25px; - height: 27px; - } -`; - -export default Icon; diff --git a/src/pages/search/shared_components/CssIcons.tsx b/src/pages/search/shared_components/CssIcons.tsx new file mode 100644 index 000000000..0c59b42c0 --- /dev/null +++ b/src/pages/search/shared_components/CssIcons.tsx @@ -0,0 +1,21 @@ +import styled from 'styled-components'; + +interface Props { + image: string; + hoverImage: string; +} + +const Icon = styled.div` + background: ${(props: Props) => `url(${props.image}) no-repeat center center`}; + width: 25px; + height: 27px; + display: inline-block; + + &:hover { + background: ${(props: Props) => `url(${props.hoverImage}) no-repeat center center`}; + width: 25px; + height: 27px; + } +`; + +export default Icon; diff --git a/src/pages/search/shared_components/CssLegends.jsx b/src/pages/search/shared_components/CssLegends.jsx deleted file mode 100644 index 5a0f64622..000000000 --- a/src/pages/search/shared_components/CssLegends.jsx +++ /dev/null @@ -1,101 +0,0 @@ -import styled from 'styled-components'; - -const Legend = styled.p` - display: ${({ orientation }) => { - if (orientation === 'column') return 'block'; - return 'inline-block'; - }}; - font-size: 12px; - color: #424242; - line-height: 1; - margin-right: 10px; -`; - -const PointLegend = styled(Legend)` - &:before { - display: inline-block; - content: ""; - width: 12px; - height: 12px; - margin-right: ${(props) => (props.marginRight ? props.marginRight : '5px')}; - border-radius: 6px; - vertical-align: middle; - margin-left: ${(props) => (props.marginLeft ? props.marginLeft : '0')}; - } -`; - -const LegendColor = styled(PointLegend)` - &:before { - background-color: ${({ color }) => color}; - } -`; - -const BorderLegendColor = styled(PointLegend)` - &:before { - color: #ffffff; - border: 2px solid ${({ color }) => color}; - width: 7px; - height: 7px; - border-radius: 0; - } -`; - -const LineLegend = styled(Legend)` - &:before { - display: inline-block; - content: ""; - width: 15px; - height: 3px; - margin-right: 5px; - margin-bottom: 4px; - border-bottom: 3px solid ${({ color }) => color}; - vertical-align: middle; - } -`; - -const ThickLineLegend = styled(LineLegend)` - &:before { - border-bottom: 8px solid ${({ color }) => color}; - height: 0px; - } -`; - -const TextLegend = styled(Legend)` - margin-right: 1px; - padding-bottom: 3px; - color: ${({ color }) => color}; - - &:before { - display: inline-block; - content: ""; - background: ${({ image }) => (image ? `url(${image}) no-repeat center` : '')}; - background-size: 15px; - width: 15px; - height: 26px; - margin-right: 5px; - vertical-align: middle; - } - - &:hover { - cursor: pointer; - } - - &:hover:before { - background: ${({ hoverImage }) => (hoverImage ? `url(${hoverImage}) no-repeat center` : '')}; - background-size: 15px; - width: 15px; - height: 26px; - } - - &.filtered { - border-bottom: 2px solid tomato; - } -`; - -export { - LegendColor, - BorderLegendColor, - LineLegend, - ThickLineLegend, - TextLegend, -}; diff --git a/src/pages/search/shared_components/CssLegends.tsx b/src/pages/search/shared_components/CssLegends.tsx new file mode 100644 index 000000000..965f98d59 --- /dev/null +++ b/src/pages/search/shared_components/CssLegends.tsx @@ -0,0 +1,164 @@ +import styled from 'styled-components'; +/* import {} from 'styled-components/cssprop' */ + +interface PropsLegend { + orientation: string; +} + +const Legend = styled.p` + display: ${(props: PropsLegend) => { + if (props.orientation === 'column') return 'block'; + return 'inline-block'; + }}; + font-size: 12px; + color: #424242; + line-height: 1; + margin-right: 10px; +`; + +interface PropsPointL extends PropsLegend { + marginRight: string; + marginLeft: string; +} + +const PointLegend = styled(Legend)` + &:before { + display: inline-block; + content: ""; + width: 12px; + height: 12px; + margin-right: ${(props: PropsPointL) => (props.marginRight ? props.marginRight : '5px')}; + border-radius: 6px; + vertical-align: middle; + margin-left: ${(props: PropsPointL) => (props.marginLeft ? props.marginLeft : '0')}; + } +`; + +interface PropsLegendC extends PropsPointL { + color: string; +} + +const LegendColor = styled(PointLegend)` + &:before { + background-color: ${(props: PropsLegendC) => props.color}; + } +`; + +interface PropsTest { + orientation: string; + marginRight: string; + marginLeft: string; + color: string; +} + +const Test = styled.p` + display: ${(props) => { + if (props.orientation === 'column') return 'block'; + return 'inline-block'; + }}; + font-size: 12px; + color: #424242; + line-height: 1; + margin-right: 10px; + + &:before { + display: inline-block; + content: ""; + width: 12px; + height: 12px; + margin-right: ${(props) => (props.marginRight ? props.marginRight : '5px')}; + border-radius: 6px; + vertical-align: middle; + margin-left: ${(props) => (props.marginLeft ? props.marginLeft : '0')}; + background-color: ${(props) => props.color}; + } +`; + +interface PropsBorderLegendC { + color: string; +} + +const BorderLegendColor = styled(PointLegend)` + &:before { + color: #ffffff; + border: 2px solid ${(props: PropsBorderLegendC) => props.color}; + width: 7px; + height: 7px; + border-radius: 0; + } +`; + +interface PropsLineL { + color: string; +} + +const LineLegend = styled(Legend)` + &:before { + display: inline-block; + content: ""; + width: 15px; + height: 3px; + margin-right: 5px; + margin-bottom: 4px; + border-bottom: 3px solid ${(props: PropsLineL) => props.color}; + vertical-align: middle; + } +`; + +interface PropsThickLineL { + color: string; +} + +const ThickLineLegend = styled(LineLegend)` + &:before { + border-bottom: 8px solid ${(props: PropsThickLineL) => props.color}; + height: 0px; + } +`; + +interface PropsTextL { + color: string; + image: string; + hoverImage: string; +} + +const TextLegend = styled(Legend)` + margin-right: 1px; + padding-bottom: 3px; + color: ${(props: PropsTextL) => props.color}; + + &:before { + display: inline-block; + content: ""; + background: ${(props: PropsTextL) => (props.image ? `url(${props.image}) no-repeat center` : '')}; + background-size: 15px; + width: 15px; + height: 26px; + margin-right: 5px; + vertical-align: middle; + } + + &:hover { + cursor: pointer; + } + + &:hover:before { + background: ${(props: PropsTextL) => (props.hoverImage ? `url(${props.hoverImage}) no-repeat center` : '')}; + background-size: 15px; + width: 15px; + height: 26px; + } + + &.filtered { + border-bottom: 2px solid tomato; + } +`; + +export { + LegendColor, + BorderLegendColor, + LineLegend, + ThickLineLegend, + TextLegend, + Test, +}; diff --git a/yarn.lock b/yarn.lock index 4ecd0de9f..19509641f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5325,6 +5325,16 @@ __metadata: languageName: node linkType: hard +"@types/hoist-non-react-statics@npm:*": + version: 3.3.1 + resolution: "@types/hoist-non-react-statics@npm:3.3.1" + dependencies: + "@types/react": "*" + hoist-non-react-statics: ^3.3.0 + checksum: 2c0778570d9a01d05afabc781b32163f28409bb98f7245c38d5eaf082416fdb73034003f5825eb5e21313044e8d2d9e1f3fe2831e345d3d1b1d20bcd12270719 + languageName: node + linkType: hard + "@types/html-minifier-terser@npm:^6.0.0": version: 6.1.0 resolution: "@types/html-minifier-terser@npm:6.1.0" @@ -5569,6 +5579,17 @@ __metadata: languageName: node linkType: hard +"@types/styled-components@npm:^5.1.26": + version: 5.1.26 + resolution: "@types/styled-components@npm:5.1.26" + dependencies: + "@types/hoist-non-react-statics": "*" + "@types/react": "*" + csstype: ^3.0.2 + checksum: 84f53b3101739b20d1731554fb7735bc2f3f5d050a8b392e9845403c8c8bbd729737d033978649f9195a97b557875b010d46e35a4538564a2d0dbcce661dbf76 + languageName: node + linkType: hard + "@types/trusted-types@npm:^2.0.2": version: 2.0.2 resolution: "@types/trusted-types@npm:2.0.2" @@ -7243,6 +7264,7 @@ __metadata: "@types/node": ^17.0.41 "@types/react": ^18.0.12 "@types/react-dom": ^18.0.5 + "@types/styled-components": ^5.1.26 "@vx/axis": ~0.0.199 "@vx/glyph": ~0.0.199 "@vx/grid": ~0.0.199 @@ -12483,7 +12505,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:^3.0.0, hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": +"hoist-non-react-statics@npm:^3.0.0, hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: From cba38fe33e9393c1b3a9a2b180064e37c9f6b5ae Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Sep 2022 15:24:05 -0500 Subject: [PATCH 229/664] Fix some changes over main components that calls css components with Styled-Components --- .../landscape/connectivity/CurrentPAConnectivity.tsx | 4 ++-- .../search/drawer/landscape/forest/ForestIntegrity.tsx | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 54bac65af..aabd1f818 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -263,11 +263,11 @@ class CurrentPAConnectivity extends React.Component { />
    - {/* {DPCKeys.map((cat) => ( + {DPCKeys.map((cat) => ( {legendDPCCategories[cat]} - ))} */} + ))}
    {

    Haz clic en la gráfica para visualizar las áreas protegidas

    - {/* + Límite de áreas protegidas - */} +
    { }); }} /> - {/*
    +
    {getSCIHFVals().map((cat) => ( { {SciHfCats[cat].label} ))} -
    */} +
    Date: Thu, 15 Sep 2022 15:34:40 -0500 Subject: [PATCH 230/664] Add dev dependencies in order to be able to migrate to typescript some third-party libraries like react-json-to-csv and styled-components --- package.json | 1 + yarn.lock | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/package.json b/package.json index 3f536d899..48cc6a20f 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "@types/node": "^17.0.41", "@types/react": "^18.0.12", "@types/react-dom": "^18.0.5", + "@types/react-json-to-csv": "^1.0.0", "@types/styled-components": "^5.1.26", "typescript": "~4.7.3", "yarn-audit-fix": "~9.3.1" diff --git a/yarn.lock b/yarn.lock index 19509641f..dda1d9ab7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5494,6 +5494,15 @@ __metadata: languageName: node linkType: hard +"@types/react-json-to-csv@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/react-json-to-csv@npm:1.0.0" + dependencies: + "@types/react": "*" + checksum: c6387437ca964d02a23a2b6d7d3d6d9dba35fa536e7bfc2946b38eeb379b31947680ea1ab46b0230f5a272c724e6475dcdbec2f46d3701a06bcb9f819d79568d + languageName: node + linkType: hard + "@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.5": version: 4.4.5 resolution: "@types/react-transition-group@npm:4.4.5" @@ -7264,6 +7273,7 @@ __metadata: "@types/node": ^17.0.41 "@types/react": ^18.0.12 "@types/react-dom": ^18.0.5 + "@types/react-json-to-csv": ^1.0.0 "@types/styled-components": ^5.1.26 "@vx/axis": ~0.0.199 "@vx/glyph": ~0.0.199 From 96f88ea9283698e2d7c603f55af2403787a1a8c4 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Sep 2022 15:35:25 -0500 Subject: [PATCH 231/664] Migrate to typescript CssIcons --- src/pages/search/shared_components/CssIcons.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/search/shared_components/CssIcons.tsx b/src/pages/search/shared_components/CssIcons.tsx index 0c59b42c0..3be95f6dd 100644 --- a/src/pages/search/shared_components/CssIcons.tsx +++ b/src/pages/search/shared_components/CssIcons.tsx @@ -5,14 +5,14 @@ interface Props { hoverImage: string; } -const Icon = styled.div` - background: ${(props: Props) => `url(${props.image}) no-repeat center center`}; +const Icon = styled.div` + background: ${(props) => `url(${props.image}) no-repeat center center`}; width: 25px; height: 27px; display: inline-block; &:hover { - background: ${(props: Props) => `url(${props.hoverImage}) no-repeat center center`}; + background: ${(props) => `url(${props.hoverImage}) no-repeat center center`}; width: 25px; height: 27px; } From 0b887582a3ef973fb9a32fd0b90952df4c5563f5 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Sep 2022 15:35:48 -0500 Subject: [PATCH 232/664] Migrate to typescript CssLegends --- .../search/shared_components/CssLegends.tsx | 84 ++++++------------- 1 file changed, 26 insertions(+), 58 deletions(-) diff --git a/src/pages/search/shared_components/CssLegends.tsx b/src/pages/search/shared_components/CssLegends.tsx index 965f98d59..1cffbf4b9 100644 --- a/src/pages/search/shared_components/CssLegends.tsx +++ b/src/pages/search/shared_components/CssLegends.tsx @@ -1,12 +1,11 @@ import styled from 'styled-components'; -/* import {} from 'styled-components/cssprop' */ -interface PropsLegend { - orientation: string; +interface PropsLeg { + orientation?: string; } -const Legend = styled.p` - display: ${(props: PropsLegend) => { +const Legend = styled.p` + display: ${(props) => { if (props.orientation === 'column') return 'block'; return 'inline-block'; }}; @@ -16,83 +15,53 @@ const Legend = styled.p` margin-right: 10px; `; -interface PropsPointL extends PropsLegend { - marginRight: string; - marginLeft: string; +interface PropsPointLeg { + marginRight?: string; + marginLeft?: string; } -const PointLegend = styled(Legend)` +const PointLegend = styled(Legend)` &:before { display: inline-block; content: ""; width: 12px; height: 12px; - margin-right: ${(props: PropsPointL) => (props.marginRight ? props.marginRight : '5px')}; + margin-right: ${(props) => (props.marginRight ? props.marginRight : '5px')}; border-radius: 6px; vertical-align: middle; - margin-left: ${(props: PropsPointL) => (props.marginLeft ? props.marginLeft : '0')}; + margin-left: ${(props) => (props.marginLeft ? props.marginLeft : '0')}; } `; -interface PropsLegendC extends PropsPointL { +interface PropsLegColor { color: string; } -const LegendColor = styled(PointLegend)` +const LegendColor = styled(PointLegend)` &:before { - background-color: ${(props: PropsLegendC) => props.color}; - } -`; - -interface PropsTest { - orientation: string; - marginRight: string; - marginLeft: string; - color: string; -} - -const Test = styled.p` - display: ${(props) => { - if (props.orientation === 'column') return 'block'; - return 'inline-block'; - }}; - font-size: 12px; - color: #424242; - line-height: 1; - margin-right: 10px; - - &:before { - display: inline-block; - content: ""; - width: 12px; - height: 12px; - margin-right: ${(props) => (props.marginRight ? props.marginRight : '5px')}; - border-radius: 6px; - vertical-align: middle; - margin-left: ${(props) => (props.marginLeft ? props.marginLeft : '0')}; background-color: ${(props) => props.color}; } `; -interface PropsBorderLegendC { +interface PropsBorderLegColor { color: string; } -const BorderLegendColor = styled(PointLegend)` +const BorderLegendColor = styled(PointLegend)` &:before { color: #ffffff; - border: 2px solid ${(props: PropsBorderLegendC) => props.color}; + border: 2px solid ${(props) => props.color}; width: 7px; height: 7px; border-radius: 0; } `; -interface PropsLineL { +interface PropsLineLeg { color: string; } -const LineLegend = styled(Legend)` +const LineLegend = styled(Legend)` &:before { display: inline-block; content: ""; @@ -100,37 +69,37 @@ const LineLegend = styled(Legend)` height: 3px; margin-right: 5px; margin-bottom: 4px; - border-bottom: 3px solid ${(props: PropsLineL) => props.color}; + border-bottom: 3px solid ${(props) => props.color}; vertical-align: middle; } `; -interface PropsThickLineL { +interface PropsThickLineLeg { color: string; } -const ThickLineLegend = styled(LineLegend)` +const ThickLineLegend = styled(LineLegend)` &:before { - border-bottom: 8px solid ${(props: PropsThickLineL) => props.color}; + border-bottom: 8px solid ${(props) => props.color}; height: 0px; } `; -interface PropsTextL { +interface PropsTextLeg { color: string; image: string; hoverImage: string; } -const TextLegend = styled(Legend)` +const TextLegend = styled(Legend)` margin-right: 1px; padding-bottom: 3px; - color: ${(props: PropsTextL) => props.color}; + color: ${(props) => props.color}; &:before { display: inline-block; content: ""; - background: ${(props: PropsTextL) => (props.image ? `url(${props.image}) no-repeat center` : '')}; + background: ${(props) => (props.image ? `url(${props.image}) no-repeat center` : '')}; background-size: 15px; width: 15px; height: 26px; @@ -143,7 +112,7 @@ const TextLegend = styled(Legend)` } &:hover:before { - background: ${(props: PropsTextL) => (props.hoverImage ? `url(${props.hoverImage}) no-repeat center` : '')}; + background: ${(props) => (props.hoverImage ? `url(${props.hoverImage}) no-repeat center` : '')}; background-size: 15px; width: 15px; height: 26px; @@ -160,5 +129,4 @@ export { LineLegend, ThickLineLegend, TextLegend, - Test, }; From 3fbaf832546c178e625dc11a270a06afcf1fee5d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Sep 2022 15:36:13 -0500 Subject: [PATCH 233/664] Migrate to typescript DownloadCSV --- .../{DownloadCSV.jsx => DownloadCSV.tsx} | 34 +++++++------------ 1 file changed, 12 insertions(+), 22 deletions(-) rename src/pages/search/shared_components/{DownloadCSV.jsx => DownloadCSV.tsx} (56%) diff --git a/src/pages/search/shared_components/DownloadCSV.jsx b/src/pages/search/shared_components/DownloadCSV.tsx similarity index 56% rename from src/pages/search/shared_components/DownloadCSV.jsx rename to src/pages/search/shared_components/DownloadCSV.tsx index 26c959ec0..45fe2d9fb 100644 --- a/src/pages/search/shared_components/DownloadCSV.jsx +++ b/src/pages/search/shared_components/DownloadCSV.tsx @@ -1,15 +1,19 @@ -import PropTypes from 'prop-types'; -import React from 'react'; - import DownloadIcon from '@mui/icons-material/GetApp'; import CsvDownload from 'react-json-to-csv'; -const DownloadCSV = (props) => { +interface Props { + data?: Array; + filename?: string; + buttonTitle?: string; + className?: string; +} + +const DownloadCSV = (props: Props) => { const { - data, - filename, - buttonTitle, - className, + data = {}, + filename = '', + buttonTitle = 'Descargar Datos', + className = '', } = props; return (
    @@ -30,18 +34,4 @@ const DownloadCSV = (props) => { ); }; -DownloadCSV.propTypes = { - data: PropTypes.array, - filename: PropTypes.string, - buttonTitle: PropTypes.string, - className: PropTypes.string, -}; - -DownloadCSV.defaultProps = { - data: {}, - filename: '', - buttonTitle: 'Descargar Datos', - className: '', -}; - export default DownloadCSV; From 423ce2d33555fd51734b4e3681e58725e503d745 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Sep 2022 15:36:31 -0500 Subject: [PATCH 234/664] Migrate to typescript GradientLegend --- ...{GradientLegend.jsx => GradientLegend.tsx} | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) rename src/pages/search/shared_components/{GradientLegend.jsx => GradientLegend.tsx} (58%) diff --git a/src/pages/search/shared_components/GradientLegend.jsx b/src/pages/search/shared_components/GradientLegend.tsx similarity index 58% rename from src/pages/search/shared_components/GradientLegend.jsx rename to src/pages/search/shared_components/GradientLegend.tsx index 49307e955..7fca16c44 100644 --- a/src/pages/search/shared_components/GradientLegend.jsx +++ b/src/pages/search/shared_components/GradientLegend.tsx @@ -1,19 +1,25 @@ -import PropTypes from 'prop-types'; -import React from 'react'; - import styled from 'styled-components'; -const Gradient = styled.div` +interface PropsGradient { + colors: Array; +} + +const Gradient = styled.div` height: 12px; width: 95%; margin: 0 auto; background: linear-gradient( 0.25turn, - ${({ colors }) => colors.join() } + ${(props) => props.colors.join() } ); `; -const GradientLegend = (props) => { +interface PropsGradientLeg extends PropsGradient { + fromValue: string; + toValue: string; +} + +const GradientLegend = (props: PropsGradientLeg) => { const { fromValue, toValue, @@ -30,10 +36,4 @@ const GradientLegend = (props) => { ); }; -GradientLegend.propTypes = { - fromValue: PropTypes.string.isRequired, - toValue: PropTypes.string.isRequired, - colors: PropTypes.array.isRequired, -}; - export default GradientLegend; From a795d340471fecf31d4f5c8536f43dada5798163 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Sep 2022 15:36:45 -0500 Subject: [PATCH 235/664] Migrate to typescript Tooltips --- src/pages/search/shared_components/{Tooltips.jsx => Tooltips.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/shared_components/{Tooltips.jsx => Tooltips.tsx} (100%) diff --git a/src/pages/search/shared_components/Tooltips.jsx b/src/pages/search/shared_components/Tooltips.tsx similarity index 100% rename from src/pages/search/shared_components/Tooltips.jsx rename to src/pages/search/shared_components/Tooltips.tsx From ddb0fdc8909878ec0eefffc13a05e56890785ea9 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Sep 2022 15:44:22 -0500 Subject: [PATCH 236/664] Run prettier --- .../search/shared_components/CssIcons.tsx | 5 +++-- .../search/shared_components/CssLegends.tsx | 16 +++++++++------- .../search/shared_components/DownloadCSV.tsx | 18 +++++++++--------- .../shared_components/GradientLegend.tsx | 13 +++---------- .../search/shared_components/Tooltips.tsx | 14 +++++++------- 5 files changed, 31 insertions(+), 35 deletions(-) diff --git a/src/pages/search/shared_components/CssIcons.tsx b/src/pages/search/shared_components/CssIcons.tsx index 3be95f6dd..274cf542b 100644 --- a/src/pages/search/shared_components/CssIcons.tsx +++ b/src/pages/search/shared_components/CssIcons.tsx @@ -1,4 +1,4 @@ -import styled from 'styled-components'; +import styled from "styled-components"; interface Props { image: string; @@ -12,7 +12,8 @@ const Icon = styled.div` display: inline-block; &:hover { - background: ${(props) => `url(${props.hoverImage}) no-repeat center center`}; + background: ${(props) => + `url(${props.hoverImage}) no-repeat center center`}; width: 25px; height: 27px; } diff --git a/src/pages/search/shared_components/CssLegends.tsx b/src/pages/search/shared_components/CssLegends.tsx index 1cffbf4b9..3f124f5fd 100644 --- a/src/pages/search/shared_components/CssLegends.tsx +++ b/src/pages/search/shared_components/CssLegends.tsx @@ -1,4 +1,4 @@ -import styled from 'styled-components'; +import styled from "styled-components"; interface PropsLeg { orientation?: string; @@ -6,8 +6,8 @@ interface PropsLeg { const Legend = styled.p` display: ${(props) => { - if (props.orientation === 'column') return 'block'; - return 'inline-block'; + if (props.orientation === "column") return "block"; + return "inline-block"; }}; font-size: 12px; color: #424242; @@ -26,10 +26,10 @@ const PointLegend = styled(Legend)` content: ""; width: 12px; height: 12px; - margin-right: ${(props) => (props.marginRight ? props.marginRight : '5px')}; + margin-right: ${(props) => (props.marginRight ? props.marginRight : "5px")}; border-radius: 6px; vertical-align: middle; - margin-left: ${(props) => (props.marginLeft ? props.marginLeft : '0')}; + margin-left: ${(props) => (props.marginLeft ? props.marginLeft : "0")}; } `; @@ -99,7 +99,8 @@ const TextLegend = styled(Legend)` &:before { display: inline-block; content: ""; - background: ${(props) => (props.image ? `url(${props.image}) no-repeat center` : '')}; + background: ${(props) => + props.image ? `url(${props.image}) no-repeat center` : ""}; background-size: 15px; width: 15px; height: 26px; @@ -112,7 +113,8 @@ const TextLegend = styled(Legend)` } &:hover:before { - background: ${(props) => (props.hoverImage ? `url(${props.hoverImage}) no-repeat center` : '')}; + background: ${(props) => + props.hoverImage ? `url(${props.hoverImage}) no-repeat center` : ""}; background-size: 15px; width: 15px; height: 26px; diff --git a/src/pages/search/shared_components/DownloadCSV.tsx b/src/pages/search/shared_components/DownloadCSV.tsx index 45fe2d9fb..8785e3481 100644 --- a/src/pages/search/shared_components/DownloadCSV.tsx +++ b/src/pages/search/shared_components/DownloadCSV.tsx @@ -1,5 +1,5 @@ -import DownloadIcon from '@mui/icons-material/GetApp'; -import CsvDownload from 'react-json-to-csv'; +import DownloadIcon from "@mui/icons-material/GetApp"; +import CsvDownload from "react-json-to-csv"; interface Props { data?: Array; @@ -11,9 +11,9 @@ interface Props { const DownloadCSV = (props: Props) => { const { data = {}, - filename = '', - buttonTitle = 'Descargar Datos', - className = '', + filename = "", + buttonTitle = "Descargar Datos", + className = "", } = props; return (
    @@ -22,10 +22,10 @@ const DownloadCSV = (props: Props) => { title={buttonTitle} filename={filename} style={{ - cursor: 'pointer', - textDecoration: 'none', - background: 'none', - border: 'none', + cursor: "pointer", + textDecoration: "none", + background: "none", + border: "none", }} > diff --git a/src/pages/search/shared_components/GradientLegend.tsx b/src/pages/search/shared_components/GradientLegend.tsx index 7fca16c44..4685085bb 100644 --- a/src/pages/search/shared_components/GradientLegend.tsx +++ b/src/pages/search/shared_components/GradientLegend.tsx @@ -1,4 +1,4 @@ -import styled from 'styled-components'; +import styled from "styled-components"; interface PropsGradient { colors: Array; @@ -8,10 +8,7 @@ const Gradient = styled.div` height: 12px; width: 95%; margin: 0 auto; - background: linear-gradient( - 0.25turn, - ${(props) => props.colors.join() } - ); + background: linear-gradient(0.25turn, ${(props) => props.colors.join()}); `; interface PropsGradientLeg extends PropsGradient { @@ -20,11 +17,7 @@ interface PropsGradientLeg extends PropsGradient { } const GradientLegend = (props: PropsGradientLeg) => { - const { - fromValue, - toValue, - colors, - } = props; + const { fromValue, toValue, colors } = props; return (
    diff --git a/src/pages/search/shared_components/Tooltips.tsx b/src/pages/search/shared_components/Tooltips.tsx index 2e2b17572..4806ab47f 100644 --- a/src/pages/search/shared_components/Tooltips.tsx +++ b/src/pages/search/shared_components/Tooltips.tsx @@ -1,21 +1,21 @@ -import { Tooltip } from '@mui/material'; +import { Tooltip } from "@mui/material"; -import withStyles from '@mui/styles/withStyles'; +import withStyles from "@mui/styles/withStyles"; export const InfoTooltip = withStyles({ tooltip: { - backgroundColor: '#000000', - color: '#ffffff', + backgroundColor: "#000000", + color: "#ffffff", maxWidth: 500, fontSize: 13, - padding: '20px', + padding: "20px", }, })(Tooltip); export const IconTooltip = withStyles({ tooltip: { - backgroundColor: '#000000', - color: '#ffffff', + backgroundColor: "#000000", + color: "#ffffff", fontSize: 13, }, })(Tooltip); From 84b562123a59fb82377113d7d89ac812b69d63ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 16 Sep 2022 08:36:47 -0500 Subject: [PATCH 237/664] Migrate MapViewer to typescript --- package.json | 1 + .../search/{MapViewer.jsx => MapViewer.tsx} | 151 +++++++++++------- yarn.lock | 27 ++++ 3 files changed, 117 insertions(+), 62 deletions(-) rename src/pages/search/{MapViewer.jsx => MapViewer.tsx} (55%) diff --git a/package.json b/package.json index b1f268f89..9b8030da5 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "@types/node": "^17.0.41", "@types/react": "^18.0.12", "@types/react-dom": "^18.0.5", + "@types/react-leaflet": "^2.8.2", "typescript": "~4.7.3", "yarn-audit-fix": "~9.3.1" }, diff --git a/src/pages/search/MapViewer.jsx b/src/pages/search/MapViewer.tsx similarity index 55% rename from src/pages/search/MapViewer.jsx rename to src/pages/search/MapViewer.tsx index 025443e2e..d23b034c2 100644 --- a/src/pages/search/MapViewer.jsx +++ b/src/pages/search/MapViewer.tsx @@ -1,8 +1,7 @@ -import PropTypes from 'prop-types'; -import React from 'react'; +import React from "react"; -import { Modal } from '@mui/material'; -import CloseIcon from '@mui/icons-material/Close'; +import { Modal } from "@mui/material"; +import CloseIcon from "@mui/icons-material/Close"; import { ImageOverlay, Map, @@ -10,31 +9,87 @@ import { WMSTileLayer, Pane, GeoJSON, -} from 'react-leaflet'; +} from "react-leaflet"; -import DrawControl from 'pages/search/mapViewer/DrawControl'; +import DrawControl from "pages/search/mapViewer/DrawControl"; -import 'leaflet/dist/leaflet.css'; +import "leaflet/dist/leaflet.css"; +import { + LatLngBoundsExpression, + LatLngBoundsLiteral, + LatLngTuple, + Layer, + PathOptions, +} from "leaflet"; + +interface Props { + drawPolygonEnabled: boolean; + geoServerUrl: string; + loadingLayer: boolean; + layerError: boolean; + mapTitle: string; + mapBounds: LatLngBoundsExpression; + rasterBounds: LatLngBoundsExpression; + loadPolygonInfo: () => void; + layers: Array<{ + paneLevel: number; + id: string; + json: GeoJSON.GeoJsonObject | GeoJSON.GeoJsonObject[]; + layerStyle?: PathOptions; + onEachFeature: ( + feature: GeoJSON.Feature, + selectedLayer: Layer + ) => void; + }>; + rasterLayers: Array<{ + paneLevel: number; + id: string; + data: string; + opacity: number; + }>; + userLogged?: { + id: number; + username: string; + name: string; + company: { + id: number; + }; + }; +} + +interface State { + openErrorModal: boolean; +} + +const colombiaBounds: LatLngBoundsLiteral = [ + [-4.2316872, -82.1243666], + [16.0571269, -66.85119073], +]; -const config = {}; -config.params = { - colombia: [[-4.2316872, -82.1243666], [16.0571269, -66.85119073]], +const config = { + params: { + colombia: colombiaBounds, + }, }; -class MapViewer extends React.Component { - constructor(props) { +class MapViewer extends React.Component { + mapRef; + + constructor(props: Props) { super(props); this.state = { openErrorModal: true, }; - this.mapRef = React.createRef(); + this.mapRef = React.createRef(); } - componentDidUpdate(prevProps) { + componentDidUpdate(prevProps: Props) { const { mapBounds } = this.props; if (prevProps.mapBounds !== mapBounds) { - this.mapRef.current.leafletElement.flyToBounds(mapBounds ?? config.params.colombia); + this.mapRef.current?.leafletElement.flyToBounds( + mapBounds ?? config.params.colombia + ); } } @@ -54,24 +109,20 @@ class MapViewer extends React.Component { const { openErrorModal } = this.state; const paneLevels = Array.from( - new Set([...layers, ...rasterLayers].map((layer) => layer.paneLevel)), + new Set([...layers, ...rasterLayers].map((layer) => layer.paneLevel)) ); return ( - + {mapTitle} document.getElementById('map')} - style={{ position: 'absolute' }} - BackdropProps={{ style: { position: 'absolute' } }} + container={() => document.getElementById("map")} + style={{ position: "absolute" }} + BackdropProps={{ style: { position: "absolute" } }} >

    @@ -90,10 +141,12 @@ class MapViewer extends React.Component { aria-labelledby="simple-modal-title" aria-describedby="simple-modal-description" open={layerError && openErrorModal} - onClose={() => { this.setState({ openErrorModal: false }); }} - container={() => document.getElementById('map')} - style={{ position: 'absolute' }} - BackdropProps={{ style: { position: 'absolute' } }} + onClose={() => { + this.setState({ openErrorModal: false }); + }} + container={() => document.getElementById("map")} + style={{ position: "absolute" }} + BackdropProps={{ style: { position: "absolute" } }} >

    @@ -102,18 +155,22 @@ class MapViewer extends React.Component {

    - { drawPolygonEnabled && ()} + {drawPolygonEnabled && ( + + )} {paneLevels.map((panelLevel, index) => ( @@ -155,34 +212,4 @@ class MapViewer extends React.Component { } } -MapViewer.propTypes = { - drawPolygonEnabled: PropTypes.bool, - geoServerUrl: PropTypes.string.isRequired, - userLogged: PropTypes.object, - loadingLayer: PropTypes.bool, - layers: PropTypes.array, - layerError: PropTypes.bool, - rasterLayers: PropTypes.arrayOf(PropTypes.shape({ - data: PropTypes.string, - opacity: PropTypes.number, - })), - mapBounds: PropTypes.object, - rasterBounds: PropTypes.object, - mapTitle: PropTypes.object, - loadPolygonInfo: PropTypes.func, -}; - -MapViewer.defaultProps = { - userLogged: null, - drawPolygonEnabled: false, - loadingLayer: false, - layerError: false, - rasterLayers: [], - layers: [], - mapBounds: null, - rasterBounds: null, - mapTitle: null, - loadPolygonInfo: () => {}, -}; - export default MapViewer; diff --git a/yarn.lock b/yarn.lock index 4ecd0de9f..f83077744 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5316,6 +5316,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:*": + version: 7946.0.10 + resolution: "@types/geojson@npm:7946.0.10" + checksum: 12c407c2dc93ecb26c08af533ee732f1506a9b29456616ba7ba1d525df96206c28ddf44a528f6a5415d7d22893e9d967420940a9c095ee5e539c1eba5fefc1f4 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.2": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -5380,6 +5387,15 @@ __metadata: languageName: node linkType: hard +"@types/leaflet@npm:*": + version: 1.8.0 + resolution: "@types/leaflet@npm:1.8.0" + dependencies: + "@types/geojson": "*" + checksum: a0190d48dfd49c7526a38c94490d9acdcb09de8b0338ebae8b33374b24f474330be82733007ab1c39008a61c4712b743ccf230909f203f0f35c9986b3a583ab6 + languageName: node + linkType: hard + "@types/lodash-es@npm:^4.17.6": version: 4.17.6 resolution: "@types/lodash-es@npm:4.17.6" @@ -5484,6 +5500,16 @@ __metadata: languageName: node linkType: hard +"@types/react-leaflet@npm:^2.8.2": + version: 2.8.2 + resolution: "@types/react-leaflet@npm:2.8.2" + dependencies: + "@types/leaflet": "*" + "@types/react": "*" + checksum: e972d779f0d084bb76f2be126d755d800ceaf12bca95e8b392c859b5aea6f3fdf098cde42ff3078cf64cffe218a28c99c40210928fb264839a34ac19a3175b9e + languageName: node + linkType: hard + "@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.5": version: 4.4.5 resolution: "@types/react-transition-group@npm:4.4.5" @@ -7243,6 +7269,7 @@ __metadata: "@types/node": ^17.0.41 "@types/react": ^18.0.12 "@types/react-dom": ^18.0.5 + "@types/react-leaflet": ^2.8.2 "@vx/axis": ~0.0.199 "@vx/glyph": ~0.0.199 "@vx/grid": ~0.0.199 From 1789f0e8c397a392792eefe4e71226a9e6529cb1 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 16 Sep 2022 09:56:34 -0500 Subject: [PATCH 238/664] set false loadinglayer state when selector changes --- src/pages/Search.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 974a22a74..675776358 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1225,6 +1225,7 @@ class Search extends Component { /** ****************************** */ secondLevelChange = (id, expanded) => { this.loadSecondLevelLayer(id, expanded); + this.setState({ loadingLayer: false }); } /** From 14d7124ec340147ddc0dffd0f567402f4e3cd21a Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 16 Sep 2022 10:44:31 -0500 Subject: [PATCH 239/664] Make image and hoverImage optional at PropsTextLeg interface --- src/pages/search/shared_components/CssLegends.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/shared_components/CssLegends.tsx b/src/pages/search/shared_components/CssLegends.tsx index 3f124f5fd..0be74561b 100644 --- a/src/pages/search/shared_components/CssLegends.tsx +++ b/src/pages/search/shared_components/CssLegends.tsx @@ -87,8 +87,8 @@ const ThickLineLegend = styled(LineLegend)` interface PropsTextLeg { color: string; - image: string; - hoverImage: string; + image?: string; + hoverImage?: string; } const TextLegend = styled(Legend)` From e766aa9e6a0f1538f32c2c856267836e469d186b Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 16 Sep 2022 12:03:14 -0500 Subject: [PATCH 240/664] set loadinglayer to false if nothing is selected --- src/pages/Search.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 675776358..bf279f515 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1214,6 +1214,7 @@ class Search extends Component { }); if (!idLayer) { + this.setState({ loadingLayer: false }); return; } this.setSectionLayers(`national-${idLayer}`); @@ -1225,7 +1226,6 @@ class Search extends Component { /** ****************************** */ secondLevelChange = (id, expanded) => { this.loadSecondLevelLayer(id, expanded); - this.setState({ loadingLayer: false }); } /** From c7e0517aa1913b12c104dbcf244904d747c48948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 16 Sep 2022 15:13:58 -0500 Subject: [PATCH 241/664] remove unused import --- src/pages/search/MapViewer.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/search/MapViewer.tsx b/src/pages/search/MapViewer.tsx index d23b034c2..a97f19d0d 100644 --- a/src/pages/search/MapViewer.tsx +++ b/src/pages/search/MapViewer.tsx @@ -17,7 +17,6 @@ import "leaflet/dist/leaflet.css"; import { LatLngBoundsExpression, LatLngBoundsLiteral, - LatLngTuple, Layer, PathOptions, } from "leaflet"; From bb4289becc12da7ea4566cf87e75cd4cf4c42b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 16:58:20 -0500 Subject: [PATCH 242/664] Change file extension to .tsx --- src/pages/search/{Accordion.jsx => Accordion.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/{Accordion.jsx => Accordion.tsx} (100%) diff --git a/src/pages/search/Accordion.jsx b/src/pages/search/Accordion.tsx similarity index 100% rename from src/pages/search/Accordion.jsx rename to src/pages/search/Accordion.tsx From 0b4e358a96d6bc0edea1308e286c8d3317ba33c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 17:05:58 -0500 Subject: [PATCH 243/664] Add UI definition types file --- src/pages/search/types/ui.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/pages/search/types/ui.ts diff --git a/src/pages/search/types/ui.ts b/src/pages/search/types/ui.ts new file mode 100644 index 000000000..05b9c2471 --- /dev/null +++ b/src/pages/search/types/ui.ts @@ -0,0 +1,22 @@ +import React from "react"; + +export interface componentProps{ + handleAccordionChange?: (level: string, tabLayerId: string, expandedTab?: string) => void; + openTab?: string; +} + +export interface accordionComponent { + label: { + id: string; + name: string; + icon?: string; + disabled?: boolean; + collapsed?: boolean; + expandIcon?: {}; + detailId?: string; + description?: string; + }; + component?: React.ComponentType; + componentProps?: componentProps; + defaultTab?: string; + } \ No newline at end of file From 07cbcedee0b61bb0a1487a579f799da8cd03dfe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 17:06:31 -0500 Subject: [PATCH 244/664] Migrate Accordion component to typescript --- src/pages/search/Accordion.tsx | 65 +++++++++++++--------------------- 1 file changed, 25 insertions(+), 40 deletions(-) diff --git a/src/pages/search/Accordion.tsx b/src/pages/search/Accordion.tsx index ac6c06c6e..47e6e3aea 100644 --- a/src/pages/search/Accordion.tsx +++ b/src/pages/search/Accordion.tsx @@ -2,11 +2,23 @@ import React from 'react'; import AccordionUI from '@mui/material/Accordion'; import AccordionSummary from '@mui/material/AccordionSummary'; import AccordionDetails from '@mui/material/AccordionDetails'; -import PropTypes from 'prop-types'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; +import { accordionComponent } from 'pages/search/types/ui'; -class Accordion extends React.Component { - constructor(props) { +interface Props{ + componentsArray: Array; + classNameSelected: string; + classNameDefault: string; + handleChange: (level: string, tabLayerId: string, expandedTab?: string) => void; + level: string; +} + +interface State { + expanded: string | null; +} + +class Accordion extends React.Component { + constructor(props: Props) { super(props); this.state = { expanded: null, @@ -20,7 +32,7 @@ class Accordion extends React.Component { } } - componentDidUpdate(prevProps) { + componentDidUpdate(prevProps: Props) { const { componentsArray: prevArray } = prevProps; const { componentsArray } = this.props; if (prevArray.length === 0 && componentsArray.length > 0) { @@ -29,25 +41,26 @@ class Accordion extends React.Component { } setDefaultTab = () => { + let defaultTabId: string; const { componentsArray } = this.props; let defaultTab = componentsArray.find( (item) => !item.label.collapsed, ); if (defaultTab) { - defaultTab = defaultTab.label.id; + defaultTabId = defaultTab.label.id; } else { - defaultTab = null; + defaultTabId = ''; } - this.setState({ expanded: defaultTab }); + this.setState({ expanded: defaultTabId }); } render() { const { componentsArray, - classNameSelected, - classNameDefault, + classNameSelected = 'm0b selector-expanded', + classNameDefault = 'm0b', handleChange, - level, + level = '1', } = this.props; const { expanded } = this.state; return ( @@ -69,7 +82,7 @@ class Accordion extends React.Component { id={item.label.id} key={item.label.id} onChange={() => { - const expandedTab = expanded !== item.label.id ? item.label.id : null; + const expandedTab = expanded !== item.label.id ? item.label.id : ""; this.setState({ expanded: expandedTab }); handleChange(level, expandedTab); }} @@ -93,32 +106,4 @@ class Accordion extends React.Component { } } -Accordion.propTypes = { - componentsArray: PropTypes.arrayOf(PropTypes.shape({ - label: PropTypes.shape({ - id: PropTypes.string, - name: PropTypes.oneOfType([ - PropTypes.string, - PropTypes.object, - ]), - disabled: PropTypes.bool, - collapsed: PropTypes.bool, - icon: PropTypes.elementType, - }), - component: PropTypes.elementType, - componentProps: PropTypes.object, - })).isRequired, - classNameDefault: PropTypes.string, - classNameSelected: PropTypes.string, - handleChange: PropTypes.func, - level: PropTypes.string, -}; - -Accordion.defaultProps = { - classNameDefault: 'm0b', - classNameSelected: 'm0b selector-expanded', - handleChange: () => {}, - level: '1', -}; - -export default Accordion; +export default Accordion; \ No newline at end of file From 983697c6d6e6394c52112e8cf4da57eddaadefe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 17:23:18 -0500 Subject: [PATCH 245/664] Update landscape files for Accordion migration compatibility --- src/pages/search/drawer/Landscape.tsx | 3 ++- src/pages/search/drawer/landscape/Forest.tsx | 12 ++++-------- src/pages/search/drawer/landscape/HumanFootprint.tsx | 12 ++++-------- src/pages/search/drawer/landscape/PAConnectivity.tsx | 12 ++++-------- 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 2a65f9d65..247c01270 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -6,6 +6,7 @@ import Forest from "pages/search/drawer/landscape/Forest"; import HumanFootprint from "pages/search/drawer/landscape/HumanFootprint"; import PAConnectivity from "pages/search/drawer/landscape/PAConnectivity"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import { accordionComponent } from 'pages/search/types/ui'; interface Props {} @@ -78,7 +79,7 @@ class Landscape extends React.Component { render() { const { areaId } = this.context as SearchContextValues; const { childMap } = this.state; - const initialArray = [ + const initialArray: Array = [ { label: { id: "fc", diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx index 09fc09d58..3836cb1b7 100644 --- a/src/pages/search/drawer/landscape/Forest.tsx +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -1,16 +1,12 @@ import Accordion from "pages/search/Accordion"; import ForestIntegrity from "pages/search/drawer/landscape/forest/ForestIntegrity"; import ForestLossPersistence from "pages/search/drawer/landscape/forest/ForestLossPersistence"; +import { accordionComponent, componentProps } from 'pages/search/types/ui'; -interface Props { - handleAccordionChange: (level: string, tabLayerId: string) => void; - openTab: string; -} - -const Forest = (props: Props) => { +const Forest: React.FC = (props) => { const { handleAccordionChange, openTab } = props; - const componentsArray = [ + const componentsArray: Array = [ { label: { id: "forestLP-2016-2021", @@ -34,7 +30,7 @@ const Forest = (props: Props) => { componentsArray={componentsArray} classNameDefault="m1" classNameSelected="m1 accordionSelected" - handleChange={handleAccordionChange} + handleChange={(handleAccordionChange? handleAccordionChange : ()=>{})} level="2" />

    diff --git a/src/pages/search/drawer/landscape/HumanFootprint.tsx b/src/pages/search/drawer/landscape/HumanFootprint.tsx index 1f5ad9498..d237089b5 100644 --- a/src/pages/search/drawer/landscape/HumanFootprint.tsx +++ b/src/pages/search/drawer/landscape/HumanFootprint.tsx @@ -4,16 +4,12 @@ import Accordion from "pages/search/Accordion"; import CurrentFootprint from "pages/search/drawer/landscape/humanFootprint/CurrentFootprint"; import PersistenceFooprint from "pages/search/drawer/landscape/humanFootprint/PersistenceFootprint"; import TimelineFootprint from "pages/search/drawer/landscape/humanFootprint/TimelineFootprint"; +import { accordionComponent, componentProps } from 'pages/search/types/ui'; -interface Props { - handleAccordionChange: (level: string, tabLayerId: string) => void; - openTab: string; -} - -const HumanFootprint = (props: Props) => { +const HumanFootprint: React.FC = (props) => { const { handleAccordionChange, openTab } = props; - const componentsArray = [ + const componentsArray: Array = [ { label: { id: "hfCurrent", @@ -57,7 +53,7 @@ const HumanFootprint = (props: Props) => { componentsArray={componentsArray} classNameDefault="m1" classNameSelected="m1 accordionSelected" - handleChange={handleAccordionChange} + handleChange={(handleAccordionChange? handleAccordionChange : ()=>{})} level="2" />
    diff --git a/src/pages/search/drawer/landscape/PAConnectivity.tsx b/src/pages/search/drawer/landscape/PAConnectivity.tsx index ceeeda134..2e4e3ccc3 100644 --- a/src/pages/search/drawer/landscape/PAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/PAConnectivity.tsx @@ -2,16 +2,12 @@ import Accordion from "pages/search/Accordion"; import CurrentPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentPAConnectivity"; import TimelinePAConnectivity from "pages/search/drawer/landscape/connectivity/TimelinePAConnectivity"; import CurrentSEPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity"; +import { accordionComponent, componentProps } from 'pages/search/types/ui'; -interface Props { - handleAccordionChange: (level: string, tabLayerId: string) => void; - openTab: string; -} - -const PAConnectivity = (props: Props) => { +const PAConnectivity: React.FC = (props) => { const { handleAccordionChange, openTab } = props; - const componentsArray = [ + const componentsArray: Array = [ { label: { id: "currentPAConn", @@ -43,7 +39,7 @@ const PAConnectivity = (props: Props) => { componentsArray={componentsArray} classNameDefault="m1" classNameSelected="m1 accordionSelected" - handleChange={handleAccordionChange} + handleChange={(handleAccordionChange? handleAccordionChange : ()=>{})} level="2" />
    From 0c9b48c0838e697de84749ad45a5d6afe4cc798c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 17:30:36 -0500 Subject: [PATCH 246/664] Run prettier --- src/pages/search/Accordion.tsx | 59 ++++++++++--------- src/pages/search/drawer/Landscape.tsx | 2 +- src/pages/search/drawer/landscape/Forest.tsx | 4 +- .../drawer/landscape/HumanFootprint.tsx | 4 +- .../drawer/landscape/PAConnectivity.tsx | 4 +- src/pages/search/types/ui.ts | 38 ++++++------ 6 files changed, 58 insertions(+), 53 deletions(-) diff --git a/src/pages/search/Accordion.tsx b/src/pages/search/Accordion.tsx index 47e6e3aea..d3fd3253c 100644 --- a/src/pages/search/Accordion.tsx +++ b/src/pages/search/Accordion.tsx @@ -1,15 +1,19 @@ -import React from 'react'; -import AccordionUI from '@mui/material/Accordion'; -import AccordionSummary from '@mui/material/AccordionSummary'; -import AccordionDetails from '@mui/material/AccordionDetails'; -import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; -import { accordionComponent } from 'pages/search/types/ui'; +import React from "react"; +import AccordionUI from "@mui/material/Accordion"; +import AccordionSummary from "@mui/material/AccordionSummary"; +import AccordionDetails from "@mui/material/AccordionDetails"; +import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; +import { accordionComponent } from "pages/search/types/ui"; -interface Props{ +interface Props { componentsArray: Array; classNameSelected: string; classNameDefault: string; - handleChange: (level: string, tabLayerId: string, expandedTab?: string) => void; + handleChange: ( + level: string, + tabLayerId: string, + expandedTab?: string + ) => void; level: string; } @@ -43,46 +47,43 @@ class Accordion extends React.Component { setDefaultTab = () => { let defaultTabId: string; const { componentsArray } = this.props; - let defaultTab = componentsArray.find( - (item) => !item.label.collapsed, - ); + let defaultTab = componentsArray.find((item) => !item.label.collapsed); if (defaultTab) { defaultTabId = defaultTab.label.id; } else { - defaultTabId = ''; + defaultTabId = ""; } this.setState({ expanded: defaultTabId }); - } + }; render() { const { componentsArray, - classNameSelected = 'm0b selector-expanded', - classNameDefault = 'm0b', + classNameSelected = "m0b selector-expanded", + classNameDefault = "m0b", handleChange, - level = '1', + level = "1", } = this.props; const { expanded } = this.state; return ( <> {componentsArray.length <= 0 && (
    -

    - Gráficas en construcción -

    -

    - Pronto más información -

    +

    Gráficas en construcción

    +

    Pronto más información

    )} {componentsArray.map((item) => ( { - const expandedTab = expanded !== item.label.id ? item.label.id : ""; + const expandedTab = + expanded !== item.label.id ? item.label.id : ""; this.setState({ expanded: expandedTab }); handleChange(level, expandedTab); }} @@ -90,14 +91,14 @@ class Accordion extends React.Component { disabled={item.label.disabled} > ) : ()} + expandIcon={ + item.label.icon ? : + } > {item.label.name} - {item.component && ( - - )} + {item.component && } ))} @@ -106,4 +107,4 @@ class Accordion extends React.Component { } } -export default Accordion; \ No newline at end of file +export default Accordion; diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 247c01270..2e993c9b8 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -6,7 +6,7 @@ import Forest from "pages/search/drawer/landscape/Forest"; import HumanFootprint from "pages/search/drawer/landscape/HumanFootprint"; import PAConnectivity from "pages/search/drawer/landscape/PAConnectivity"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import { accordionComponent } from 'pages/search/types/ui'; +import { accordionComponent } from "pages/search/types/ui"; interface Props {} diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx index 3836cb1b7..0397b178b 100644 --- a/src/pages/search/drawer/landscape/Forest.tsx +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -1,7 +1,7 @@ import Accordion from "pages/search/Accordion"; import ForestIntegrity from "pages/search/drawer/landscape/forest/ForestIntegrity"; import ForestLossPersistence from "pages/search/drawer/landscape/forest/ForestLossPersistence"; -import { accordionComponent, componentProps } from 'pages/search/types/ui'; +import { accordionComponent, componentProps } from "pages/search/types/ui"; const Forest: React.FC = (props) => { const { handleAccordionChange, openTab } = props; @@ -30,7 +30,7 @@ const Forest: React.FC = (props) => { componentsArray={componentsArray} classNameDefault="m1" classNameSelected="m1 accordionSelected" - handleChange={(handleAccordionChange? handleAccordionChange : ()=>{})} + handleChange={handleAccordionChange ? handleAccordionChange : () => {}} level="2" />
    diff --git a/src/pages/search/drawer/landscape/HumanFootprint.tsx b/src/pages/search/drawer/landscape/HumanFootprint.tsx index d237089b5..b5e6f0320 100644 --- a/src/pages/search/drawer/landscape/HumanFootprint.tsx +++ b/src/pages/search/drawer/landscape/HumanFootprint.tsx @@ -4,7 +4,7 @@ import Accordion from "pages/search/Accordion"; import CurrentFootprint from "pages/search/drawer/landscape/humanFootprint/CurrentFootprint"; import PersistenceFooprint from "pages/search/drawer/landscape/humanFootprint/PersistenceFootprint"; import TimelineFootprint from "pages/search/drawer/landscape/humanFootprint/TimelineFootprint"; -import { accordionComponent, componentProps } from 'pages/search/types/ui'; +import { accordionComponent, componentProps } from "pages/search/types/ui"; const HumanFootprint: React.FC = (props) => { const { handleAccordionChange, openTab } = props; @@ -53,7 +53,7 @@ const HumanFootprint: React.FC = (props) => { componentsArray={componentsArray} classNameDefault="m1" classNameSelected="m1 accordionSelected" - handleChange={(handleAccordionChange? handleAccordionChange : ()=>{})} + handleChange={handleAccordionChange ? handleAccordionChange : () => {}} level="2" />
    diff --git a/src/pages/search/drawer/landscape/PAConnectivity.tsx b/src/pages/search/drawer/landscape/PAConnectivity.tsx index 2e4e3ccc3..ea1fc1c8e 100644 --- a/src/pages/search/drawer/landscape/PAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/PAConnectivity.tsx @@ -2,7 +2,7 @@ import Accordion from "pages/search/Accordion"; import CurrentPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentPAConnectivity"; import TimelinePAConnectivity from "pages/search/drawer/landscape/connectivity/TimelinePAConnectivity"; import CurrentSEPAConnectivity from "pages/search/drawer/landscape/connectivity/CurrentSEPAConnectivity"; -import { accordionComponent, componentProps } from 'pages/search/types/ui'; +import { accordionComponent, componentProps } from "pages/search/types/ui"; const PAConnectivity: React.FC = (props) => { const { handleAccordionChange, openTab } = props; @@ -39,7 +39,7 @@ const PAConnectivity: React.FC = (props) => { componentsArray={componentsArray} classNameDefault="m1" classNameSelected="m1 accordionSelected" - handleChange={(handleAccordionChange? handleAccordionChange : ()=>{})} + handleChange={handleAccordionChange ? handleAccordionChange : () => {}} level="2" /> diff --git a/src/pages/search/types/ui.ts b/src/pages/search/types/ui.ts index 05b9c2471..437541e77 100644 --- a/src/pages/search/types/ui.ts +++ b/src/pages/search/types/ui.ts @@ -1,22 +1,26 @@ import React from "react"; -export interface componentProps{ - handleAccordionChange?: (level: string, tabLayerId: string, expandedTab?: string) => void; +export interface componentProps { + handleAccordionChange?: ( + level: string, + tabLayerId: string, + expandedTab?: string + ) => void; openTab?: string; } -export interface accordionComponent { - label: { - id: string; - name: string; - icon?: string; - disabled?: boolean; - collapsed?: boolean; - expandIcon?: {}; - detailId?: string; - description?: string; - }; - component?: React.ComponentType; - componentProps?: componentProps; - defaultTab?: string; - } \ No newline at end of file +export interface accordionComponent { + label: { + id: string; + name: string; + icon?: string; + disabled?: boolean; + collapsed?: boolean; + expandIcon?: {}; + detailId?: string; + description?: string; + }; + component?: React.ComponentType; + componentProps?: componentProps; + defaultTab?: string; +} From 7bf7ff923d83bd0ebf36470928536e4d824b5e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 17:32:27 -0500 Subject: [PATCH 247/664] Change file extension to .tsx --- .../shared_components/{TabContainer.jsx => TabContainer.tsx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/pages/search/shared_components/{TabContainer.jsx => TabContainer.tsx} (100%) diff --git a/src/pages/search/shared_components/TabContainer.jsx b/src/pages/search/shared_components/TabContainer.tsx similarity index 100% rename from src/pages/search/shared_components/TabContainer.jsx rename to src/pages/search/shared_components/TabContainer.tsx From cb1f1ee4a8366fe6192c77b77e678ecc4a0909fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 17:36:21 -0500 Subject: [PATCH 248/664] Migrate Tabcontainner component to typescript --- .../search/shared_components/TabContainer.tsx | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/pages/search/shared_components/TabContainer.tsx b/src/pages/search/shared_components/TabContainer.tsx index 8cd3b72f0..3a9f37646 100644 --- a/src/pages/search/shared_components/TabContainer.tsx +++ b/src/pages/search/shared_components/TabContainer.tsx @@ -1,13 +1,30 @@ -import React from 'react'; -import PropTypes from 'prop-types'; +import React, { ReactElement } from 'react'; import AppBar from '@mui/material/AppBar'; import Tabs from '@mui/material/Tabs'; import Tab from '@mui/material/Tab'; import Typography from '@mui/material/Typography'; -import SearchContext from 'pages/search/SearchContext'; +import SearchContext, { SearchContextValues } from 'pages/search/SearchContext'; -class TabContainer extends React.Component { - constructor(props) { +interface Titles{ + label: string; + icon?: string | ReactElement; + disabled?: boolean; + selected?: string; +} + +interface Props { + children: Array; + titles: Array; + tabClasses?: string; + initialSelectedIndex: number; +} + +interface State { + value: number; +} + +class TabContainer extends React.Component { + constructor(props: Props) { const { initialSelectedIndex } = props; super(props); this.state = { @@ -18,9 +35,9 @@ class TabContainer extends React.Component { /** * Function to change visible content on tabs click */ - changeTab = (event, value) => { + changeTab = (event: React.SyntheticEvent, value: number) => { if (this.context) { - const { cancelActiveRequests } = this.context; + const { cancelActiveRequests } = this.context as SearchContextValues; cancelActiveRequests(); } this.setState({ value }); @@ -28,7 +45,7 @@ class TabContainer extends React.Component { render() { const { - children, titles, tabClasses, + children, titles, tabClasses = '', initialSelectedIndex = 1 } = this.props; const { value } = this.state; return ( @@ -41,7 +58,7 @@ class TabContainer extends React.Component { centered > {titles.map(({ - label, icon, disabled, selected, + label, icon, disabled }, i) => ( ))} @@ -66,18 +82,6 @@ class TabContainer extends React.Component { } } -TabContainer.propTypes = { - children: PropTypes.node.isRequired, - initialSelectedIndex: PropTypes.number, - titles: PropTypes.array.isRequired, - tabClasses: PropTypes.string, -}; - -TabContainer.defaultProps = { - tabClasses: '', - initialSelectedIndex: 1, -}; - export default TabContainer; TabContainer.contextType = SearchContext; From 348f6ac1ec91f0e8251b22c2ca7d04bd7767383d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 20 Sep 2022 17:37:09 -0500 Subject: [PATCH 249/664] Run prettier --- .../search/shared_components/TabContainer.tsx | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/pages/search/shared_components/TabContainer.tsx b/src/pages/search/shared_components/TabContainer.tsx index 3a9f37646..5a88423f7 100644 --- a/src/pages/search/shared_components/TabContainer.tsx +++ b/src/pages/search/shared_components/TabContainer.tsx @@ -1,11 +1,11 @@ -import React, { ReactElement } from 'react'; -import AppBar from '@mui/material/AppBar'; -import Tabs from '@mui/material/Tabs'; -import Tab from '@mui/material/Tab'; -import Typography from '@mui/material/Typography'; -import SearchContext, { SearchContextValues } from 'pages/search/SearchContext'; +import React, { ReactElement } from "react"; +import AppBar from "@mui/material/AppBar"; +import Tabs from "@mui/material/Tabs"; +import Tab from "@mui/material/Tab"; +import Typography from "@mui/material/Typography"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -interface Titles{ +interface Titles { label: string; icon?: string | ReactElement; disabled?: boolean; @@ -45,7 +45,10 @@ class TabContainer extends React.Component { render() { const { - children, titles, tabClasses = '', initialSelectedIndex = 1 + children, + titles, + tabClasses = "", + initialSelectedIndex = 1, } = this.props; const { value } = this.state; return ( @@ -57,9 +60,7 @@ class TabContainer extends React.Component { className="DrawerTab" centered > - {titles.map(({ - label, icon, disabled - }, i) => ( + {titles.map(({ label, icon, disabled }, i) => ( { ))} - {children.map((child, i) => ( - value === i && ( - - {child} - - ) - ))} + {children.map( + (child, i) => + value === i && ( + + {child} + + ) + )} ); } From 7f7063573301a600aefeedf049a4cf7e36716bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 20 Sep 2022 21:25:11 -0500 Subject: [PATCH 250/664] Update saved strategies properties --- src/pages/compensation/Drawer.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/compensation/Drawer.jsx b/src/pages/compensation/Drawer.jsx index 46dc333a9..ca1a99289 100644 --- a/src/pages/compensation/Drawer.jsx +++ b/src/pages/compensation/Drawer.jsx @@ -144,9 +144,9 @@ class Drawer extends React.Component { const key = `${strategy.id_biome}-${strategy.id_subzone}-${strategy.id_ea}`; if (!savedStrategies[key]) { savedStrategies[key] = { - biome: { name: strategy.biome.name, id: strategy.id_biome }, - subBasin: { name: strategy.szh.name_subzone, id: strategy.id_subzone }, - ea: { name: strategy.ea.name, id: strategy.ea.id_ea }, + biome: { name: strategy.biome.name, id: strategy.biome.id_biome }, + subBasin: { name: strategy.szh.geofence_name, id: strategy.szh.geofence_id }, + ea: { name: strategy.ea.geofence_name, id: strategy.ea.geofence_id }, strategies: [], area: 0, }; From 6e58cf93a4d4579f3ec7a38bc90a85fb2baf93ff Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 11:37:09 -0500 Subject: [PATCH 251/664] change name of single bullet graph --- .../charts/{SingleBulletGraph.tsx => SingleBullet.tsx} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/pages/search/shared_components/charts/{SingleBulletGraph.tsx => SingleBullet.tsx} (98%) diff --git a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx b/src/pages/search/shared_components/charts/SingleBullet.tsx similarity index 98% rename from src/pages/search/shared_components/charts/SingleBulletGraph.tsx rename to src/pages/search/shared_components/charts/SingleBullet.tsx index 0efc32540..825bc4a76 100644 --- a/src/pages/search/shared_components/charts/SingleBulletGraph.tsx +++ b/src/pages/search/shared_components/charts/SingleBullet.tsx @@ -229,7 +229,7 @@ interface BulletData { /** * Important: measures and markers are inverted with respect to nivo documentation */ -const SingleBulletGraph: React.FC = (props) => { +const SingleBullet: React.FC = (props) => { const { height = 62, data, @@ -290,4 +290,4 @@ const SingleBulletGraph: React.FC = (props) => { ); }; -export default withMessageWrapper(SingleBulletGraph); +export default withMessageWrapper(SingleBullet); From 3b6cea2085e1d3155e5d106c9d9411abb3d74170 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 11:38:02 -0500 Subject: [PATCH 252/664] change imports of single bullet in species section --- .../search/drawer/species/richness/NumberOfSpecies.tsx | 6 +++--- .../search/drawer/species/richness/SpeciesRecordsGaps.tsx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index 0c3c4a9e2..12724da91 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -21,7 +21,7 @@ import biomodeloslink from "images/biomodeloslink.png"; import biomodeloslink2 from "images/biomodeloslink2.png"; import fullview from "images/fullview.png"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import SingleBulletGraph from "pages/search/shared_components/charts/SingleBulletGraph"; +import SingleBullet from "pages/search/shared_components/charts/SingleBullet"; import { wrapperMessage } from "pages/search/types/charts"; import { helperText, textsObject } from "pages/search/types/texts"; import { NOSGroups, NOSNational } from "pages/search/types/richness"; @@ -513,7 +513,7 @@ class NumberOfSpecies extends React.Component {
    {(message === "no-data" || message === "loading") && ( - {
    - { Vacios de datos
    - { 5 km x 5 km
    - Date: Wed, 21 Sep 2022 11:38:45 -0500 Subject: [PATCH 253/664] change import of single bullet in tropical dry forest --- .../species/functionalDiversity/TropicalDryForest.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx index 668ae8ae7..683bc9151 100644 --- a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx +++ b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx @@ -6,7 +6,7 @@ import ShortInfo from 'components/ShortInfo'; import SearchContext from 'pages/search/SearchContext'; import RestAPI from 'utils/restAPI'; import matchColor from 'utils/matchColor'; -import SingleBulletGraph from 'pages/search/shared_components/charts/SingleBulletGraph'; +import SingleBullet from 'pages/search/shared_components/charts/SingleBullet'; const getFeatureLabel = { leaf_area: { __html: '
    Área Foliar (mm2)
    ' }, @@ -237,7 +237,7 @@ class TropicalDryForest extends React.Component {
    {messageFeatures === 'no-data' && ( -
    - Date: Wed, 21 Sep 2022 11:56:17 -0500 Subject: [PATCH 254/664] rename pie chart component --- .../shared_components/charts/{PieGraph.tsx => Pie.tsx} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename src/pages/search/shared_components/charts/{PieGraph.tsx => Pie.tsx} (91%) diff --git a/src/pages/search/shared_components/charts/PieGraph.tsx b/src/pages/search/shared_components/charts/Pie.tsx similarity index 91% rename from src/pages/search/shared_components/charts/PieGraph.tsx rename to src/pages/search/shared_components/charts/Pie.tsx index e6d3f738f..8ae3b7ae0 100644 --- a/src/pages/search/shared_components/charts/PieGraph.tsx +++ b/src/pages/search/shared_components/charts/Pie.tsx @@ -6,14 +6,14 @@ import { lightenColor, darkenColor } from "utils/colorUtils"; import withMessageWrapper from "./withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; units?: string; onClickHandler: (section: string) => void; } -export interface PieGraphData { +export interface PieData { id: string; label: string; value: number; @@ -23,7 +23,7 @@ interface State { selectedId: string | null; } -class PieGraph extends React.Component { +class Pie extends React.Component { constructor(props: Props) { super(props); this.state = { @@ -80,4 +80,4 @@ class PieGraph extends React.Component { } } -export default withMessageWrapper(PieGraph); +export default withMessageWrapper(Pie); From 125cbc377d7fccc93a7abcaa568da64007cbd4a4 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 12:02:24 -0500 Subject: [PATCH 255/664] change import in forest integrity --- src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx index 9ab2559fc..e1fadf37d 100644 --- a/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestIntegrity.tsx @@ -16,7 +16,7 @@ import SearchAPI from "utils/searchAPI"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { SCICats, HFCats, SCIHF } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; -import PieGraph from "pages/search/shared_components/charts/PieGraph"; +import Pie from "pages/search/shared_components/charts/Pie"; import SmallBarStackGraph from "pages/search/shared_components/charts/SmallBarStackGraph"; import { wrapperMessage } from "pages/search/types/charts"; @@ -228,7 +228,7 @@ class ForestIntegrity extends React.Component { Límite de áreas protegidas
    - Date: Wed, 21 Sep 2022 12:18:36 -0500 Subject: [PATCH 256/664] replace path with absolute path instead relative --- src/pages/search/shared_components/charts/Pie.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/Pie.tsx b/src/pages/search/shared_components/charts/Pie.tsx index 8ae3b7ae0..6eede92fc 100644 --- a/src/pages/search/shared_components/charts/Pie.tsx +++ b/src/pages/search/shared_components/charts/Pie.tsx @@ -3,7 +3,7 @@ import React from "react"; import formatNumber from "utils/format"; import { lightenColor, darkenColor } from "utils/colorUtils"; -import withMessageWrapper from "./withMessageWrapper"; +import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface Props { data: Array; From 3bde82641cb83e1e8081a35b3b8197e60b3911d4 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 12:28:12 -0500 Subject: [PATCH 257/664] rename multi lines graph component --- .../charts/{MultiLinesGraph.tsx => StackedLines.tsx} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename src/pages/search/shared_components/charts/{MultiLinesGraph.tsx => StackedLines.tsx} (95%) diff --git a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx b/src/pages/search/shared_components/charts/StackedLines.tsx similarity index 95% rename from src/pages/search/shared_components/charts/MultiLinesGraph.tsx rename to src/pages/search/shared_components/charts/StackedLines.tsx index 5405847bd..0de01c421 100644 --- a/src/pages/search/shared_components/charts/MultiLinesGraph.tsx +++ b/src/pages/search/shared_components/charts/StackedLines.tsx @@ -5,7 +5,7 @@ import { CartesianMarkerProps } from "@nivo/core"; import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; -interface MultiLinesGraphData { +interface StackedLinesData { label: string; data: Array<{ y: number; @@ -14,7 +14,7 @@ interface MultiLinesGraphData { key: string; } -interface MultiLinesGraphDataState { +interface StackedLinesDataState { id: string; data: Array<{ y: number; @@ -25,7 +25,7 @@ interface MultiLinesGraphDataState { interface Props { colors: (key: string | number) => string; - data: Array; + data: Array; markers?: Array; labelX?: string; labelY?: string; @@ -37,11 +37,11 @@ interface Props { } interface State { - data: Array; + data: Array; labels: Record; selectedId: string; } -class MultiLinesGraph extends React.Component { +class StackedLines extends React.Component { constructor(props: Props) { super(props); this.state = { @@ -231,4 +231,4 @@ class MultiLinesGraph extends React.Component { } } -export default withMessageWrapper(MultiLinesGraph); +export default withMessageWrapper(StackedLines); From c26345d86e16cf46ea9e083c5a9ea58aaeb6df7c Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 12:29:57 -0500 Subject: [PATCH 258/664] change imports in timeline components --- .../landscape/connectivity/TimelinePAConnectivity.tsx | 5 ++--- .../drawer/landscape/humanFootprint/TimelineFootprint.tsx | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 32d3fe73e..4047eca38 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -13,9 +13,8 @@ import { } from "pages/search/types/connectivity"; import { textsObject } from "pages/search/types/texts"; import SearchAPI from "utils/searchAPI"; -import MultiLinesGraph from "pages/search/shared_components/charts/MultiLinesGraph"; +import StackedLines from "pages/search/shared_components/charts/StackedLines"; import { wrapperMessage } from "pages/search/types/charts"; -import { colors } from "@mui/material"; const getLabel = { prot: "Protegida", @@ -145,7 +144,7 @@ class TimelinePAConnectivity extends React.Component<
    Conectividad áreas protegidas en el tiempo
    - { * @returns {string} label to be used for tooltips, legends, etc. * Max. length = 16 characters */ - getLabel = (type: string) => { + getLabel = (type: string): string => { switch (type) { case "paramo": return "Páramo"; @@ -231,7 +231,7 @@ class TimelineFootprint extends React.Component {
    Huella humana comparada con EE

    Haz clic en un ecosistema para ver su comportamiento

    - Date: Wed, 21 Sep 2022 14:07:02 -0500 Subject: [PATCH 259/664] rename LargeBarStackGraph component --- .../{LargeBarStackGraph.tsx => LargeStackedBar.tsx} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/pages/search/shared_components/charts/{LargeBarStackGraph.tsx => LargeStackedBar.tsx} (94%) diff --git a/src/pages/search/shared_components/charts/LargeBarStackGraph.tsx b/src/pages/search/shared_components/charts/LargeStackedBar.tsx similarity index 94% rename from src/pages/search/shared_components/charts/LargeBarStackGraph.tsx rename to src/pages/search/shared_components/charts/LargeStackedBar.tsx index 5558cce35..718fa0c15 100644 --- a/src/pages/search/shared_components/charts/LargeBarStackGraph.tsx +++ b/src/pages/search/shared_components/charts/LargeStackedBar.tsx @@ -4,7 +4,7 @@ import formatNumber from "utils/format"; import withMessageWrapper from "./withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string | number) => string; units?: string; @@ -14,7 +14,7 @@ interface Props { padding?: number; } -export interface LargeBarStackGraphData { +export interface LargeStackedBarData { key: string | number; area: number; percentage?: number; @@ -27,7 +27,7 @@ const darkColors: { [key: string]: string } = { "#902130": "#902130", }; -const LargeBarStackGraph = (props: Props) => { +const LargeStackedBar = (props: Props) => { const { data, labelX = "", @@ -47,7 +47,7 @@ const LargeBarStackGraph = (props: Props) => { * @returns {array} transformed data ready to be used by graph component */ const transformData = ( - rawData: Array, + rawData: Array, key: string ) => { const transformedData: Record = { @@ -148,4 +148,4 @@ const LargeBarStackGraph = (props: Props) => { ); }; -export default withMessageWrapper(LargeBarStackGraph); +export default withMessageWrapper(LargeStackedBar); From e9333688c582a8abc6ed9607804c438c79dd04ca Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 14:09:19 -0500 Subject: [PATCH 260/664] change imports --- src/pages/search/drawer/landscape/CompensationFactor.tsx | 8 ++++---- .../landscape/connectivity/CurrentPAConnectivity.tsx | 4 ++-- .../landscape/connectivity/CurrentSEPAConnectivity.tsx | 8 ++++---- .../drawer/landscape/humanFootprint/CurrentFootprint.tsx | 4 ++-- .../landscape/humanFootprint/PersistenceFootprint.tsx | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pages/search/drawer/landscape/CompensationFactor.tsx b/src/pages/search/drawer/landscape/CompensationFactor.tsx index 7a1e6d0bd..24737fe29 100644 --- a/src/pages/search/drawer/landscape/CompensationFactor.tsx +++ b/src/pages/search/drawer/landscape/CompensationFactor.tsx @@ -10,7 +10,7 @@ import TextBoxes from "pages/search/shared_components/TextBoxes"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import { cfData } from "pages/search/types/compensationFactor"; import { textsObject } from "pages/search/types/texts"; -import LargeBarStackGraph from "pages/search/shared_components/charts/LargeBarStackGraph"; +import LargeStackedBar from "pages/search/shared_components/charts/LargeStackedBar"; import { wrapperMessage } from "pages/search/types/charts"; interface cfDataExt extends cfData { @@ -216,7 +216,7 @@ class CompensationFactor extends React.Component< /> )}
    - )} - )} - {
    Conectividad áreas protegidas
    - { /> )}
    - { /> )}
    - { /> )}
    - {
    Natural, Baja, Media y Alta
    - { )}
    Estable natural, Dinámica, Estable alta
    - Date: Wed, 21 Sep 2022 14:11:42 -0500 Subject: [PATCH 261/664] change relative path --- src/pages/search/shared_components/charts/LargeStackedBar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/LargeStackedBar.tsx b/src/pages/search/shared_components/charts/LargeStackedBar.tsx index 718fa0c15..f747580fc 100644 --- a/src/pages/search/shared_components/charts/LargeStackedBar.tsx +++ b/src/pages/search/shared_components/charts/LargeStackedBar.tsx @@ -1,7 +1,7 @@ import { ResponsiveBar } from "@nivo/bar"; import formatNumber from "utils/format"; -import withMessageWrapper from "./withMessageWrapper"; +import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface Props { data: Array; From b46db1c3fbc0037674421443df52b6838fc666b5 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 15:33:24 -0500 Subject: [PATCH 262/664] rename SmallBarStackGraph component --- .../{SmallBarStackGraph.tsx => SmallStackedBar.tsx} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/pages/search/shared_components/charts/{SmallBarStackGraph.tsx => SmallStackedBar.tsx} (92%) diff --git a/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx b/src/pages/search/shared_components/charts/SmallStackedBar.tsx similarity index 92% rename from src/pages/search/shared_components/charts/SmallBarStackGraph.tsx rename to src/pages/search/shared_components/charts/SmallStackedBar.tsx index 9f0f32c88..21fb5bc2f 100644 --- a/src/pages/search/shared_components/charts/SmallBarStackGraph.tsx +++ b/src/pages/search/shared_components/charts/SmallStackedBar.tsx @@ -7,14 +7,14 @@ import formatNumber from "utils/format"; import withMessageWrapper from "./withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; units?: string; onClickGraphHandler?: (key: string) => void; } -export interface SmallBarStackGraphData { +export interface SmallStackedBarData { area: number; key: string; percentage: number; @@ -25,7 +25,7 @@ interface State { selectedIndexValue: string | number; } -const SmallBarStackGraph = (props: Props) => { +const SmallStackedBar = (props: Props) => { const { data, height = 30, @@ -40,7 +40,7 @@ const SmallBarStackGraph = (props: Props) => { * @param {array} rawData raw data from RestAPI * @returns {array} transformed data ready to be used by graph component */ - const transformData = (rawData: Array) => { + const transformData = (rawData: Array) => { const transformedData: Record = { key: "key", }; @@ -119,4 +119,4 @@ const SmallBarStackGraph = (props: Props) => { ); }; -export default withMessageWrapper(SmallBarStackGraph); +export default withMessageWrapper(SmallStackedBar); From 6f6964e97a9d0cce0d81c9f0eafa90c76e06468c Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 15:39:59 -0500 Subject: [PATCH 263/664] update path and component names --- src/pages/search/drawer/Ecosystems.jsx | 6 +++--- src/pages/search/drawer/ecosystems/EcosystemsBox.tsx | 4 ++-- .../drawer/ecosystems/ecosystemsBox/EcosystemDetails.tsx | 6 +++--- .../search/drawer/landscape/forest/ForestIntegrity.tsx | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index 408a9c3f7..a96173539 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -17,7 +17,7 @@ import formatNumber from 'utils/format'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; import SearchAPI from "utils/searchAPI"; -import SmallBarStackGraph from 'pages/search/shared_components/charts/SmallBarStackGraph'; +import SmallStackedBar from 'pages/search/shared_components/charts/SmallStackedBar'; /** * Calculate percentage for a given value according to total @@ -292,7 +292,7 @@ class Ecosystems extends React.Component {
    - Distribución por áreas protegidas: - { )} {!stopLoad && Number(SEValues.area) !== 0 && ( - {

    Distribución de coberturas: - {

    Distribución en áreas protegidas: - { filename={`bt_fi_areas_${selectedCategory}_${areaId}_${geofenceId}.csv`} />
    - Date: Wed, 21 Sep 2022 16:31:19 -0500 Subject: [PATCH 264/664] rename MultiSmallBarStackGraph component --- ...SmallBarStackGraph.tsx => MultiSmallStackedBar.tsx} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/pages/search/shared_components/charts/{MultiSmallBarStackGraph.tsx => MultiSmallStackedBar.tsx} (92%) diff --git a/src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx b/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx similarity index 92% rename from src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx rename to src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx index ee5232c48..bebfac39e 100644 --- a/src/pages/search/shared_components/charts/MultiSmallBarStackGraph.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx @@ -6,7 +6,7 @@ import formatNumber from "utils/format"; import withMessageWrapper from "./withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; units?: string; @@ -14,7 +14,7 @@ interface Props { selectedIndexValue: string; } -export interface MultiSmallBarStackGraphData { +export interface MultiSmallStackedBarData { id: string; data: Array<{ area: number; @@ -28,7 +28,7 @@ interface State { selectedIndexValue: string | number; } -class MultiSmallBarStackGraph extends React.Component { +class MultiSmallStackedBar extends React.Component { constructor(props: Props) { super(props); this.state = { @@ -52,7 +52,7 @@ class MultiSmallBarStackGraph extends React.Component { * @param {array} rawData raw data from RestAPI * @returns {array} transformed data ready to be used by graph component */ - const transformData = (rawData: Array) => { + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { key: element.id, @@ -142,4 +142,4 @@ class MultiSmallBarStackGraph extends React.Component { } } -export default withMessageWrapper(MultiSmallBarStackGraph); +export default withMessageWrapper(MultiSmallStackedBar); From 7e6e6d8919410c91850b57d573ddb1b6969e1d18 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 16:32:08 -0500 Subject: [PATCH 265/664] change imports types and var names --- .../landscape/forest/ForestLossPersistence.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index b089ed91e..c6a779ad3 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -9,9 +9,9 @@ import SearchAPI from "utils/searchAPI"; import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import MultiSmallBarStackGraph, { - MultiSmallBarStackGraphData, -} from "pages/search/shared_components/charts/MultiSmallBarStackGraph"; +import MultiSmallStackedBar, { + MultiSmallStackedBarData, +} from "pages/search/shared_components/charts/MultiSmallStackedBar"; import { textsObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; import { wrapperMessage } from "pages/search/types/charts"; @@ -19,7 +19,7 @@ import { wrapperMessage } from "pages/search/types/charts"; interface Props {} interface State { showInfoGraph: boolean; - forestLP: Array; + forestLP: Array; message: wrapperMessage; forestPersistenceValue: number; texts: { @@ -116,7 +116,7 @@ class ForestLossPersistence extends React.Component { * * @param {Array} data graph data transformed to be downloaded as csv */ - processDownload = (data: Array) => { + processDownload = (data: Array) => { const result: Array<{ period: string; category: string; @@ -170,7 +170,7 @@ class ForestLossPersistence extends React.Component {
    Cobertura de bosque en el tiempo
    - Date: Wed, 21 Sep 2022 16:38:32 -0500 Subject: [PATCH 266/664] add absolute path of withMessageWrapper --- .../search/shared_components/charts/MultiSmallStackedBar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx b/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx index bebfac39e..b18da06c5 100644 --- a/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx @@ -3,7 +3,7 @@ import { ResponsiveBar } from "@nivo/bar"; import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; -import withMessageWrapper from "./withMessageWrapper"; +import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface Props { data: Array; From 12e607555c06d54ee7b37139ba8b7640cb5b7dd2 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 16:39:35 -0500 Subject: [PATCH 267/664] remove unused imports --- src/pages/search/shared_components/charts/SmallStackedBar.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pages/search/shared_components/charts/SmallStackedBar.tsx b/src/pages/search/shared_components/charts/SmallStackedBar.tsx index 21fb5bc2f..8a90b1d07 100644 --- a/src/pages/search/shared_components/charts/SmallStackedBar.tsx +++ b/src/pages/search/shared_components/charts/SmallStackedBar.tsx @@ -1,5 +1,3 @@ -import React from "react"; -import PropTypes from "prop-types"; import { ResponsiveBar } from "@nivo/bar"; import BarItem from "pages/search/shared_components/charts/BarItem"; From 3be61d16c4dbdc50564da88e99408533662d6de6 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 16:50:04 -0500 Subject: [PATCH 268/664] rename MultiSmallSingleBarGraphData component --- ...ultiSmallSingleBarGraph.tsx => SingleSmallBars.tsx} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/pages/search/shared_components/charts/{MultiSmallSingleBarGraph.tsx => SingleSmallBars.tsx} (92%) diff --git a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx b/src/pages/search/shared_components/charts/SingleSmallBars.tsx similarity index 92% rename from src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx rename to src/pages/search/shared_components/charts/SingleSmallBars.tsx index 1870f474f..90e24bf46 100644 --- a/src/pages/search/shared_components/charts/MultiSmallSingleBarGraph.tsx +++ b/src/pages/search/shared_components/charts/SingleSmallBars.tsx @@ -5,7 +5,7 @@ import formatNumber from "utils/format"; import withMessageWrapper from "./withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; units?: string; @@ -14,7 +14,7 @@ interface Props { labelX: string; } -export interface MultiSmallSingleBarGraphData { +export interface SingleSmallBarsData { id: string; name: string; key: string; @@ -26,7 +26,7 @@ interface State { selectedIndexValue: string; } -class MultiSmallSingleBarGraph extends React.Component { +class SingleSmallBars extends React.Component { constructor(props: Props) { super(props); const { selectedIndexValue = "" } = props; @@ -46,7 +46,7 @@ class MultiSmallSingleBarGraph extends React.Component { } = this.props; const { selectedIndexValue } = this.state; - const transformData = (rawData: Array) => { + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { id: String(element.id), @@ -135,4 +135,4 @@ class MultiSmallSingleBarGraph extends React.Component { } } -export default withMessageWrapper(MultiSmallSingleBarGraph); +export default withMessageWrapper(SingleSmallBars); From a503c8f35edf5337a68cf2685043c6076b60ad30 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 16:51:04 -0500 Subject: [PATCH 269/664] changes to import SingleSmallBars --- .../drawer/landscape/connectivity/CurrentPAConnectivity.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 4076b550e..f8619f1b4 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -12,7 +12,7 @@ import TextBoxes from "pages/search/shared_components/TextBoxes"; import { currentPAConn, DPCKeys, DPC } from "pages/search/types/connectivity"; import { textsObject } from "pages/search/types/texts"; -import MultiSmallSingleBarGraph from "pages/search/shared_components/charts/MultiSmallSingleBarGraph"; +import SingleSmallBars from "pages/search/shared_components/charts/SingleSmallBars"; import { wrapperMessage } from "pages/search/types/charts"; import LargeStackedBar from "pages/search/shared_components/charts/LargeStackedBar"; @@ -251,7 +251,7 @@ class CurrentPAConnectivity extends React.Component { Haz clic en un área protegida para visualizarla
    - Date: Wed, 21 Sep 2022 16:56:08 -0500 Subject: [PATCH 270/664] remove relative path to MessageWrapper --- src/pages/search/shared_components/charts/SingleSmallBars.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/SingleSmallBars.tsx b/src/pages/search/shared_components/charts/SingleSmallBars.tsx index 90e24bf46..5c7a51097 100644 --- a/src/pages/search/shared_components/charts/SingleSmallBars.tsx +++ b/src/pages/search/shared_components/charts/SingleSmallBars.tsx @@ -2,7 +2,7 @@ import React from "react"; import { ResponsiveBar } from "@nivo/bar"; import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; -import withMessageWrapper from "./withMessageWrapper"; +import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface Props { data: Array; From bb4156a5cf001ae916cbcc643906d5b4ea8479e1 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Wed, 21 Sep 2022 17:07:18 -0500 Subject: [PATCH 271/664] run prettier --- .../search/shared_components/charts/LargeStackedBar.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/pages/search/shared_components/charts/LargeStackedBar.tsx b/src/pages/search/shared_components/charts/LargeStackedBar.tsx index f747580fc..e7311ac4a 100644 --- a/src/pages/search/shared_components/charts/LargeStackedBar.tsx +++ b/src/pages/search/shared_components/charts/LargeStackedBar.tsx @@ -46,10 +46,7 @@ const LargeStackedBar = (props: Props) => { * @param {String} key id for data of each bar o serie * @returns {array} transformed data ready to be used by graph component */ - const transformData = ( - rawData: Array, - key: string - ) => { + const transformData = (rawData: Array, key: string) => { const transformedData: Record = { key, }; From 986a4de05d8ae36b835ab12d8143b47be3f059a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 22 Sep 2022 07:37:35 -0500 Subject: [PATCH 272/664] Delete unuse types and replace var value name --- .../search/shared_components/TabContainer.tsx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/pages/search/shared_components/TabContainer.tsx b/src/pages/search/shared_components/TabContainer.tsx index 5a88423f7..6b4acde4b 100644 --- a/src/pages/search/shared_components/TabContainer.tsx +++ b/src/pages/search/shared_components/TabContainer.tsx @@ -7,9 +7,8 @@ import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; interface Titles { label: string; - icon?: string | ReactElement; + icon: ReactElement; disabled?: boolean; - selected?: string; } interface Props { @@ -20,7 +19,7 @@ interface Props { } interface State { - value: number; + selectedIndex: number; } class TabContainer extends React.Component { @@ -28,19 +27,19 @@ class TabContainer extends React.Component { const { initialSelectedIndex } = props; super(props); this.state = { - value: initialSelectedIndex, + selectedIndex: initialSelectedIndex, }; } /** * Function to change visible content on tabs click */ - changeTab = (event: React.SyntheticEvent, value: number) => { + changeTab = (event: React.SyntheticEvent, selectedIndex: number) => { if (this.context) { const { cancelActiveRequests } = this.context as SearchContextValues; cancelActiveRequests(); } - this.setState({ value }); + this.setState({ selectedIndex }); }; render() { @@ -48,14 +47,13 @@ class TabContainer extends React.Component { children, titles, tabClasses = "", - initialSelectedIndex = 1, } = this.props; - const { value } = this.state; + const { selectedIndex } = this.state; return (
    { {children.map( (child, i) => - value === i && ( + selectedIndex === i && ( {child} From 65c2d4645e1479f64c7c186ca66089f1fdae2cf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 22 Sep 2022 07:46:36 -0500 Subject: [PATCH 273/664] Run Prettier --- src/pages/search/shared_components/TabContainer.tsx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/pages/search/shared_components/TabContainer.tsx b/src/pages/search/shared_components/TabContainer.tsx index 6b4acde4b..e4b0e312c 100644 --- a/src/pages/search/shared_components/TabContainer.tsx +++ b/src/pages/search/shared_components/TabContainer.tsx @@ -43,11 +43,7 @@ class TabContainer extends React.Component { }; render() { - const { - children, - titles, - tabClasses = "", - } = this.props; + const { children, titles, tabClasses = "" } = this.props; const { selectedIndex } = this.state; return (
    @@ -71,7 +67,7 @@ class TabContainer extends React.Component { {children.map( (child, i) => - selectedIndex === i && ( + selectedIndex === i && ( {child} From ffeda6df91acb8f2a9c6d8f824b8c0e0ccfb55b3 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 22 Sep 2022 10:52:13 -0500 Subject: [PATCH 274/664] rename Lines instead of StackedLines --- .../charts/{StackedLines.tsx => Lines.tsx} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename src/pages/search/shared_components/charts/{StackedLines.tsx => Lines.tsx} (95%) diff --git a/src/pages/search/shared_components/charts/StackedLines.tsx b/src/pages/search/shared_components/charts/Lines.tsx similarity index 95% rename from src/pages/search/shared_components/charts/StackedLines.tsx rename to src/pages/search/shared_components/charts/Lines.tsx index 0de01c421..614e487b2 100644 --- a/src/pages/search/shared_components/charts/StackedLines.tsx +++ b/src/pages/search/shared_components/charts/Lines.tsx @@ -5,7 +5,7 @@ import { CartesianMarkerProps } from "@nivo/core"; import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; -interface StackedLinesData { +interface LinesData { label: string; data: Array<{ y: number; @@ -14,7 +14,7 @@ interface StackedLinesData { key: string; } -interface StackedLinesDataState { +interface LinesDataState { id: string; data: Array<{ y: number; @@ -25,7 +25,7 @@ interface StackedLinesDataState { interface Props { colors: (key: string | number) => string; - data: Array; + data: Array; markers?: Array; labelX?: string; labelY?: string; @@ -37,11 +37,11 @@ interface Props { } interface State { - data: Array; + data: Array; labels: Record; selectedId: string; } -class StackedLines extends React.Component { +class Lines extends React.Component { constructor(props: Props) { super(props); this.state = { @@ -231,4 +231,4 @@ class StackedLines extends React.Component { } } -export default withMessageWrapper(StackedLines); +export default withMessageWrapper(Lines); From 527120c2e02075c873b2f178e68d930c75667401 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 22 Sep 2022 10:52:43 -0500 Subject: [PATCH 275/664] update imports of Lines component --- .../drawer/landscape/connectivity/TimelinePAConnectivity.tsx | 4 ++-- .../drawer/landscape/humanFootprint/TimelineFootprint.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx index 4047eca38..748fdc15f 100644 --- a/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/TimelinePAConnectivity.tsx @@ -13,7 +13,7 @@ import { } from "pages/search/types/connectivity"; import { textsObject } from "pages/search/types/texts"; import SearchAPI from "utils/searchAPI"; -import StackedLines from "pages/search/shared_components/charts/StackedLines"; +import Lines from "pages/search/shared_components/charts/Lines"; import { wrapperMessage } from "pages/search/types/charts"; const getLabel = { @@ -144,7 +144,7 @@ class TimelinePAConnectivity extends React.Component<
    Conectividad áreas protegidas en el tiempo
    - {
    Huella humana comparada con EE

    Haz clic en un ecosistema para ver su comportamiento

    - Date: Thu, 22 Sep 2022 11:18:09 -0500 Subject: [PATCH 276/664] rename Bullet instead of SingleBullet --- .../shared_components/charts/{SingleBullet.tsx => Bullet.tsx} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/pages/search/shared_components/charts/{SingleBullet.tsx => Bullet.tsx} (98%) diff --git a/src/pages/search/shared_components/charts/SingleBullet.tsx b/src/pages/search/shared_components/charts/Bullet.tsx similarity index 98% rename from src/pages/search/shared_components/charts/SingleBullet.tsx rename to src/pages/search/shared_components/charts/Bullet.tsx index 825bc4a76..54d6be7f1 100644 --- a/src/pages/search/shared_components/charts/SingleBullet.tsx +++ b/src/pages/search/shared_components/charts/Bullet.tsx @@ -229,7 +229,7 @@ interface BulletData { /** * Important: measures and markers are inverted with respect to nivo documentation */ -const SingleBullet: React.FC = (props) => { +const Bullet: React.FC = (props) => { const { height = 62, data, @@ -290,4 +290,4 @@ const SingleBullet: React.FC = (props) => { ); }; -export default withMessageWrapper(SingleBullet); +export default withMessageWrapper(Bullet); From 37e59c8d8e51df273f9be30ab3f376f1918c3293 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 22 Sep 2022 11:19:15 -0500 Subject: [PATCH 277/664] update imports of Bullet --- .../species/functionalDiversity/TropicalDryForest.jsx | 10 +++++----- .../search/drawer/species/richness/NumberOfSpecies.tsx | 6 +++--- .../drawer/species/richness/SpeciesRecordsGaps.tsx | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx index 683bc9151..74ebe02ad 100644 --- a/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx +++ b/src/pages/search/drawer/species/functionalDiversity/TropicalDryForest.jsx @@ -6,7 +6,7 @@ import ShortInfo from 'components/ShortInfo'; import SearchContext from 'pages/search/SearchContext'; import RestAPI from 'utils/restAPI'; import matchColor from 'utils/matchColor'; -import SingleBullet from 'pages/search/shared_components/charts/SingleBullet'; +import Bullet from 'pages/search/shared_components/charts/Bullet'; const getFeatureLabel = { leaf_area: { __html: '
    Área Foliar (mm2)
    ' }, @@ -237,10 +237,10 @@ class TropicalDryForest extends React.Component {
    {messageFeatures === 'no-data' && ( - )} {features.map((bar) => ( @@ -251,10 +251,10 @@ class TropicalDryForest extends React.Component { dangerouslySetInnerHTML={getFeatureLabel[bar.id]} />
    - { this.setState({ selected: bar.id }); diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index 12724da91..a05be20c2 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -21,7 +21,7 @@ import biomodeloslink from "images/biomodeloslink.png"; import biomodeloslink2 from "images/biomodeloslink2.png"; import fullview from "images/fullview.png"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import SingleBullet from "pages/search/shared_components/charts/SingleBullet"; +import Bullet from "pages/search/shared_components/charts/Bullet"; import { wrapperMessage } from "pages/search/types/charts"; import { helperText, textsObject } from "pages/search/types/texts"; import { NOSGroups, NOSNational } from "pages/search/types/richness"; @@ -513,7 +513,7 @@ class NumberOfSpecies extends React.Component {
    {(message === "no-data" || message === "loading") && ( - {
    - { Vacios de datos
    - { 5 km x 5 km
    - Date: Thu, 22 Sep 2022 11:19:47 -0500 Subject: [PATCH 278/664] rename SmallBars instead of SingleSmallBars --- .../charts/{SingleSmallBars.tsx => SmallBars.tsx} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/pages/search/shared_components/charts/{SingleSmallBars.tsx => SmallBars.tsx} (93%) diff --git a/src/pages/search/shared_components/charts/SingleSmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx similarity index 93% rename from src/pages/search/shared_components/charts/SingleSmallBars.tsx rename to src/pages/search/shared_components/charts/SmallBars.tsx index 5c7a51097..2d43009f9 100644 --- a/src/pages/search/shared_components/charts/SingleSmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -5,7 +5,7 @@ import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; units?: string; @@ -14,7 +14,7 @@ interface Props { labelX: string; } -export interface SingleSmallBarsData { +export interface SmallBarsData { id: string; name: string; key: string; @@ -26,7 +26,7 @@ interface State { selectedIndexValue: string; } -class SingleSmallBars extends React.Component { +class SmallBars extends React.Component { constructor(props: Props) { super(props); const { selectedIndexValue = "" } = props; @@ -46,7 +46,7 @@ class SingleSmallBars extends React.Component { } = this.props; const { selectedIndexValue } = this.state; - const transformData = (rawData: Array) => { + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { id: String(element.id), @@ -135,4 +135,4 @@ class SingleSmallBars extends React.Component { } } -export default withMessageWrapper(SingleSmallBars); +export default withMessageWrapper(SmallBars); From 60ac6c655dfbb30fd24188c36a1e35282c5617b7 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 22 Sep 2022 11:20:06 -0500 Subject: [PATCH 279/664] update imports of SmallBars --- .../drawer/landscape/connectivity/CurrentPAConnectivity.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index f8619f1b4..938346f15 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -12,7 +12,7 @@ import TextBoxes from "pages/search/shared_components/TextBoxes"; import { currentPAConn, DPCKeys, DPC } from "pages/search/types/connectivity"; import { textsObject } from "pages/search/types/texts"; -import SingleSmallBars from "pages/search/shared_components/charts/SingleSmallBars"; +import SmallBars from "pages/search/shared_components/charts/SmallBars"; import { wrapperMessage } from "pages/search/types/charts"; import LargeStackedBar from "pages/search/shared_components/charts/LargeStackedBar"; @@ -251,7 +251,7 @@ class CurrentPAConnectivity extends React.Component { Haz clic en un área protegida para visualizarla
    - Date: Thu, 22 Sep 2022 11:25:22 -0500 Subject: [PATCH 280/664] rename SmallStackedBars instead of MultiSmallStackedBar --- .../{MultiSmallStackedBar.tsx => SmallStackedBars.tsx} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/pages/search/shared_components/charts/{MultiSmallStackedBar.tsx => SmallStackedBars.tsx} (92%) diff --git a/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx b/src/pages/search/shared_components/charts/SmallStackedBars.tsx similarity index 92% rename from src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx rename to src/pages/search/shared_components/charts/SmallStackedBars.tsx index b18da06c5..6bb38dbf6 100644 --- a/src/pages/search/shared_components/charts/MultiSmallStackedBar.tsx +++ b/src/pages/search/shared_components/charts/SmallStackedBars.tsx @@ -6,7 +6,7 @@ import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; units?: string; @@ -14,7 +14,7 @@ interface Props { selectedIndexValue: string; } -export interface MultiSmallStackedBarData { +export interface SmallStackedBarsData { id: string; data: Array<{ area: number; @@ -28,7 +28,7 @@ interface State { selectedIndexValue: string | number; } -class MultiSmallStackedBar extends React.Component { +class SmallStackedBars extends React.Component { constructor(props: Props) { super(props); this.state = { @@ -52,7 +52,7 @@ class MultiSmallStackedBar extends React.Component { * @param {array} rawData raw data from RestAPI * @returns {array} transformed data ready to be used by graph component */ - const transformData = (rawData: Array) => { + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { key: element.id, @@ -142,4 +142,4 @@ class MultiSmallStackedBar extends React.Component { } } -export default withMessageWrapper(MultiSmallStackedBar); +export default withMessageWrapper(SmallStackedBars); From b71cdb280043f5602006932e2b5989bfb16513a1 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 22 Sep 2022 11:25:35 -0500 Subject: [PATCH 281/664] update imports of SmallStackedBars --- .../landscape/forest/ForestLossPersistence.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index c6a779ad3..ac2b264e2 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -9,9 +9,9 @@ import SearchAPI from "utils/searchAPI"; import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import MultiSmallStackedBar, { - MultiSmallStackedBarData, -} from "pages/search/shared_components/charts/MultiSmallStackedBar"; +import SmallStackedBars, { + SmallStackedBarsData, +} from "pages/search/shared_components/charts/SmallStackedBars"; import { textsObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; import { wrapperMessage } from "pages/search/types/charts"; @@ -19,7 +19,7 @@ import { wrapperMessage } from "pages/search/types/charts"; interface Props {} interface State { showInfoGraph: boolean; - forestLP: Array; + forestLP: Array; message: wrapperMessage; forestPersistenceValue: number; texts: { @@ -116,7 +116,7 @@ class ForestLossPersistence extends React.Component { * * @param {Array} data graph data transformed to be downloaded as csv */ - processDownload = (data: Array) => { + processDownload = (data: Array) => { const result: Array<{ period: string; category: string; @@ -170,7 +170,7 @@ class ForestLossPersistence extends React.Component {
    Cobertura de bosque en el tiempo
    - Date: Thu, 29 Sep 2022 07:41:53 -0500 Subject: [PATCH 282/664] create controller class --- .../ForestLossPersistenceController.ts | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts diff --git a/src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts new file mode 100644 index 000000000..c2ae0c70d --- /dev/null +++ b/src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts @@ -0,0 +1,43 @@ +import { SmallStackedBarsData } from "pages/search/shared_components/charts/SmallStackedBars"; +import { ForestLP } from "pages/search/types/forest"; + +export class ForestLossPersistenceController { + public constructor() {} + + /** + * Returns a persistence value from data and latest period + * + **/ + getPersistenceValue(data: Array, latestPeriod: string) { + const periodData = data.find((item) => item.id === latestPeriod)?.data; + const persistenceData = periodData + ? periodData.find((item) => item.key === "persistencia") + : null; + return persistenceData ? persistenceData.area : 0; + } + + /** + * Returns data to be downloaded in the csv file + * + **/ + getDownloadData(data: Array) { + const result: Array<{ + period: string; + category: string; + area: number; + percentage: number; + }> = []; + data.forEach((period) => + period.data.forEach((obj) => { + result.push({ + period: period.id, + category: obj.label, + area: obj.area, + percentage: obj.percentage, + }); + }) + ); + return result; + } + +} From a2c99035a4f72354bce733b8c4a6f9221ee48a39 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 29 Sep 2022 07:42:26 -0500 Subject: [PATCH 283/664] move functions to controller class --- .../forest/ForestLossPersistence.tsx | 41 ++++++------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index ac2b264e2..cf25d4d1d 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -15,6 +15,7 @@ import SmallStackedBars, { import { textsObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; import { wrapperMessage } from "pages/search/types/charts"; +import { ForestLossPersistenceController } from "./controller/ForestLossPersistenceController"; interface Props {} interface State { @@ -57,15 +58,7 @@ class ForestLossPersistence extends React.Component { const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; - const getPersistenceValue = (rawData: Array) => { - const periodData = rawData.find( - (item) => item.id === LATEST_PERIOD - )?.data; - const persistenceData = periodData - ? periodData.find((item) => item.key === "persistencia") - : null; - return persistenceData ? persistenceData.area : 0; - }; + let flpController = new ForestLossPersistenceController(); switchLayer(`forestLP-${LATEST_PERIOD}`); @@ -80,7 +73,10 @@ class ForestLossPersistence extends React.Component { label: getLabel[element.key], })), })), - forestPersistenceValue: getPersistenceValue(res), + forestPersistenceValue: flpController.getPersistenceValue( + res, + LATEST_PERIOD + ), message: null, }); } @@ -117,30 +113,17 @@ class ForestLossPersistence extends React.Component { * @param {Array} data graph data transformed to be downloaded as csv */ processDownload = (data: Array) => { - const result: Array<{ - period: string; - category: string; - area: number; - percentage: number; - }> = []; - data.forEach((period) => - period.data.forEach((obj) => { - result.push({ - period: period.id, - category: obj.label, - area: obj.area, - percentage: obj.percentage, - }); - }) - ); - return result; - }; + let flpController = new ForestLossPersistenceController(); + return flpController.getDownloadData(data); + } render() { const { forestLP, forestPersistenceValue, showInfoGraph, message, texts } = this.state; const { areaId, geofenceId, handlerClickOnGraph } = this .context as SearchContextValues; + const downloadData = this.processDownload(forestLP) + return (

    @@ -189,7 +172,7 @@ class ForestLossPersistence extends React.Component { consText={texts.forestLP.cons} metoText={texts.forestLP.meto} quoteText={texts.forestLP.quote} - downloadData={this.processDownload(forestLP)} + downloadData={downloadData} downloadName={`forest_loss_persistence_${areaId}_${geofenceId}.csv`} isInfoOpen={showInfoGraph} toggleInfo={this.toggleInfoGraph} From 3f1143ee88068719921f813f7b2a4d8ebde9dac0 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 29 Sep 2022 12:43:08 -0500 Subject: [PATCH 284/664] remove controller folder and move file to section level --- .../forest/ForestLossPersistenceController.ts | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts new file mode 100644 index 000000000..74ce293df --- /dev/null +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -0,0 +1,50 @@ +import { SmallStackedBarsData } from "pages/search/shared_components/charts/SmallStackedBars"; +import { ForestLP } from "pages/search/types/forest"; + +export class ForestLossPersistenceController { + constructor() {} + + /** + * Returns a persistence value from data and latest period + * + * @param {ForestLP[]} data array of the response data for forest loss persistence + * @param {String} latestPeriod string with range of years for latest period + * + * @returns {Number} persistenceData forest persistence value + */ + getPersistenceValue(data: Array, latestPeriod: string): number { + const periodData = data.find((item) => item.id === latestPeriod)?.data; + const persistenceData = periodData + ? periodData.find((item) => item.key === "persistencia") + : null; + return persistenceData ? persistenceData.area : 0; + } + + /** + * Returns data transformed to be downloaded in the csv file + * + * @param {SmallStackedBarsData[]} data array of data for nivo bar graph of forest loss persistence + * + * @returns {Object} persistenceData graph data transformed to be downloaded in a csv file + */ + getDownloadData(data: Array) { + const result: Array<{ + period: string; + category: string; + area: number; + percentage: number; + }> = []; + data.forEach((period) => + period.data.forEach((obj) => { + result.push({ + period: period.id, + category: obj.label, + area: obj.area, + percentage: obj.percentage, + }); + }) + ); + return result; + } + +} From 96997c50ca69d3f46bca7e49ef5767590689b68e Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 29 Sep 2022 12:44:24 -0500 Subject: [PATCH 285/664] fix object instanciation --- .../drawer/landscape/forest/ForestLossPersistence.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index cf25d4d1d..efaf7dda8 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -15,7 +15,7 @@ import SmallStackedBars, { import { textsObject } from "pages/search/types/texts"; import { ForestLP } from "pages/search/types/forest"; import { wrapperMessage } from "pages/search/types/charts"; -import { ForestLossPersistenceController } from "./controller/ForestLossPersistenceController"; +import { ForestLossPersistenceController } from "./ForestLossPersistenceController"; interface Props {} interface State { @@ -39,9 +39,11 @@ const getLabel = { class ForestLossPersistence extends React.Component { mounted = false; + flpController; constructor(props: Props) { super(props); + this.flpController = new ForestLossPersistenceController(); this.state = { showInfoGraph: true, forestLP: [], @@ -58,8 +60,6 @@ class ForestLossPersistence extends React.Component { const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; - let flpController = new ForestLossPersistenceController(); - switchLayer(`forestLP-${LATEST_PERIOD}`); SearchAPI.requestForestLP(areaId, geofenceId) @@ -73,7 +73,7 @@ class ForestLossPersistence extends React.Component { label: getLabel[element.key], })), })), - forestPersistenceValue: flpController.getPersistenceValue( + forestPersistenceValue: this.flpController.getPersistenceValue( res, LATEST_PERIOD ), @@ -113,8 +113,7 @@ class ForestLossPersistence extends React.Component { * @param {Array} data graph data transformed to be downloaded as csv */ processDownload = (data: Array) => { - let flpController = new ForestLossPersistenceController(); - return flpController.getDownloadData(data); + return this.flpController.getDownloadData(data); } render() { From 0cf32ec00b4ec3fb3494b8366be43b7a83757498 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 29 Sep 2022 12:44:50 -0500 Subject: [PATCH 286/664] move file to section folder --- .../ForestLossPersistenceController.ts | 43 ------------------- 1 file changed, 43 deletions(-) delete mode 100644 src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts diff --git a/src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts deleted file mode 100644 index c2ae0c70d..000000000 --- a/src/pages/search/drawer/landscape/forest/controller/ForestLossPersistenceController.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { SmallStackedBarsData } from "pages/search/shared_components/charts/SmallStackedBars"; -import { ForestLP } from "pages/search/types/forest"; - -export class ForestLossPersistenceController { - public constructor() {} - - /** - * Returns a persistence value from data and latest period - * - **/ - getPersistenceValue(data: Array, latestPeriod: string) { - const periodData = data.find((item) => item.id === latestPeriod)?.data; - const persistenceData = periodData - ? periodData.find((item) => item.key === "persistencia") - : null; - return persistenceData ? persistenceData.area : 0; - } - - /** - * Returns data to be downloaded in the csv file - * - **/ - getDownloadData(data: Array) { - const result: Array<{ - period: string; - category: string; - area: number; - percentage: number; - }> = []; - data.forEach((period) => - period.data.forEach((obj) => { - result.push({ - period: period.id, - category: obj.label, - area: obj.area, - percentage: obj.percentage, - }); - }) - ); - return result; - } - -} From 9cffd4e7a6ff15586dbeaf02e3b13e1b9e44bda8 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Thu, 29 Sep 2022 12:46:11 -0500 Subject: [PATCH 287/664] fix prettier style --- .../search/drawer/landscape/forest/ForestLossPersistence.tsx | 4 ++-- .../landscape/forest/ForestLossPersistenceController.ts | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index efaf7dda8..5af866160 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -114,14 +114,14 @@ class ForestLossPersistence extends React.Component { */ processDownload = (data: Array) => { return this.flpController.getDownloadData(data); - } + }; render() { const { forestLP, forestPersistenceValue, showInfoGraph, message, texts } = this.state; const { areaId, geofenceId, handlerClickOnGraph } = this .context as SearchContextValues; - const downloadData = this.processDownload(forestLP) + const downloadData = this.processDownload(forestLP); return (
    diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 74ce293df..2c03202bd 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -20,7 +20,7 @@ export class ForestLossPersistenceController { return persistenceData ? persistenceData.area : 0; } - /** + /** * Returns data transformed to be downloaded in the csv file * * @param {SmallStackedBarsData[]} data array of data for nivo bar graph of forest loss persistence @@ -46,5 +46,4 @@ export class ForestLossPersistenceController { ); return result; } - } From 9e249e6a069029270132e52c181568fa513984f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 29 Sep 2022 15:39:51 -0500 Subject: [PATCH 288/664] Migrate DrawPolygon --- .../{DrawPolygon.jsx => DrawPolygon.tsx} | 75 ++++++++++--------- src/pages/search/types/ui.ts | 2 +- 2 files changed, 41 insertions(+), 36 deletions(-) rename src/pages/search/selector/{DrawPolygon.jsx => DrawPolygon.tsx} (51%) diff --git a/src/pages/search/selector/DrawPolygon.jsx b/src/pages/search/selector/DrawPolygon.tsx similarity index 51% rename from src/pages/search/selector/DrawPolygon.jsx rename to src/pages/search/selector/DrawPolygon.tsx index 33500b7ff..638c47299 100644 --- a/src/pages/search/selector/DrawPolygon.jsx +++ b/src/pages/search/selector/DrawPolygon.tsx @@ -1,116 +1,120 @@ -import React from 'react'; +import React from "react"; -import { Done } from '@mui/icons-material'; +import { Done } from "@mui/icons-material"; -import Accordion from 'pages/search/Accordion'; -import EditPolygonIcon from 'pages/search/selector/EditIcon'; -import PolygonIcon from 'pages/search/selector/PolygonIcon'; -import RemoveIcon from 'pages/search/selector/RemoveIcon'; +import Accordion from "pages/search/Accordion"; +import EditPolygonIcon from "pages/search/selector/EditIcon"; +import PolygonIcon from "pages/search/selector/PolygonIcon"; +import RemoveIcon from "pages/search/selector/RemoveIcon"; const DrawPolygon = () => { const instructions = [ { label: { - id: 'draw', + id: "draw", name: ( -
    +
    - Dibujar + + Dibujar +
    ), }, component: () => ( -
    +
    Terminar: - {' Conecta el primer y el último punto.'} + {" Conecta el primer y el último punto."}

    Deshacer: - {' Borra el último punto.'} + {" Borra el último punto."}

    Cancelar: - {' Elimina todos los puntos.'} + {" Elimina todos los puntos."}
    ), }, { label: { - id: 'edit', + id: "edit", name: ( -
    +
    - Editar + Editar
    ), }, component: () => ( -
    +
    Terminar: - {' Acepta la edición actual.'} + {" Acepta la edición actual."}

    Cancelar: - {' Deshace toda la edición.'} + {" Deshace toda la edición."}
    ), }, { label: { - id: 'remove', + id: "remove", name: ( -
    +
    - Borrar + Borrar
    ), }, component: () => ( -
    +
    Terminar: - {' Después de seleccionar un polígono acepta su eliminación.'} + {" Después de seleccionar un polígono acepta su eliminación."}

    Cancelar: - {' Sale de este control.'} + {" Sale de este control."}

    Reiniciar: - {' Elimina todo.'} + {" Elimina todo."}
    ), }, { label: { - id: 'confirm', + id: "confirm", name: ( -
    +
    - Confirmar + + Confirmar +
    ), }, component: () => ( -
    +
    Avanzar: - {' Acepta el polígono y muestra la información disponible.'} + {" Acepta el polígono y muestra la información disponible."}

    Cancelar: - {' Sale de este control.'} + {" Sale de este control."}
    ), @@ -120,15 +124,16 @@ const DrawPolygon = () => { return (
    - Los controles a la izquierda superior del mapa se manejan así, después de dibujar el - polígono aparecerán las opciones extra. + Los controles a la izquierda superior del mapa se manejan así, después + de dibujar el polígono aparecerán las opciones extra.
    -
    +
    {}} />
    diff --git a/src/pages/search/types/ui.ts b/src/pages/search/types/ui.ts index 437541e77..bcaecac5b 100644 --- a/src/pages/search/types/ui.ts +++ b/src/pages/search/types/ui.ts @@ -12,7 +12,7 @@ export interface componentProps { export interface accordionComponent { label: { id: string; - name: string; + name: string | React.ReactNode; icon?: string; disabled?: boolean; collapsed?: boolean; From bd888d4586d20884288d3bb53a41281a27820b13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:12:47 -0500 Subject: [PATCH 289/664] Add API functions for conservation areas portfolios --- src/utils/searchAPI.ts | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index de05eaad8..9ea0050bc 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -26,6 +26,10 @@ import { NOSThresholds, numberOfSpecies, } from "pages/search/types/richness"; +import { + portfoliosByTarget, + target +} from "pages/search/types/portfolios"; import { geofenceDetails } from "pages/search/types/drawer"; class SearchAPI { /** ****** */ @@ -461,6 +465,47 @@ class SearchAPI { ); } + /** ********** */ + /** PORTFOLIOS */ + /** ********** */ + + /** + * Get all portfolios for a specific target within a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {String} targetId target id to get results + * + * @return {Promise} Object with portfolios data + */ + static PortfoliosByTarget( + areaType: string, + areaId: number | string, + targetId: number + ): Promise { + return SearchAPI.makeGetRequest( + `portfolios-ca/targets/${targetId}/values?areaType=${areaType}&areaId=${areaId}` + ); + } + + /** + * Get list of targets with portfolios values within a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * + * @return {Promise} Array of objects with targets list + */ + static TargetsList( + areaType: string, + areaId: number | string, + ): Promise> { + return SearchAPI.makeGetRequest( + `portfolios-ca/targets/list?areaType=${areaType}&areaId=${areaId}` + ); + } + + /** ************ */ /** CROSS MODULE */ /** ************ */ From 210c84b2d8617e7747f611db3dc4684cdb3415cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:15:15 -0500 Subject: [PATCH 290/664] Change Tabs width for 4 tabs --- src/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.css b/src/main.css index f7ff27bab..581556ebc 100644 --- a/src/main.css +++ b/src/main.css @@ -1637,7 +1637,7 @@ div[class*="eaRHYv"] { } .tabs { - width: 33.33% !important; + width: 25% !important; vertical-align: top !important; margin: 0 !important; padding: 0 !important; From a9e95874d2dd0a3eca0fadb3b5014204d279e184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:15:53 -0500 Subject: [PATCH 291/664] Add Portfolios Tab --- src/pages/search/Drawer.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index b6af9e653..eef26a4de 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -4,11 +4,13 @@ import BackIcon from "@mui/icons-material/FirstPage"; import Ecosistemas from "@mui/icons-material/Nature"; import Especies from "@mui/icons-material/FilterVintage"; import Paisaje from "@mui/icons-material/FilterHdr"; +import Portafolios from '@mui/icons-material/EmojiNature'; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import Landscape from "pages/search/drawer/Landscape"; import Species from "pages/search/drawer/Species"; import Ecosystems from "pages/search/drawer/Ecosystems"; +import Portfolios from "pages/search/drawer/Portfolios"; import formatNumber from "utils/format"; import searchAPI from "utils/searchAPI"; import TabContainer from "pages/search/shared_components/TabContainer"; @@ -72,6 +74,7 @@ class Drawer extends React.Component { { label: "Ecosistemas", icon: }, { label: "Paisaje", icon: }, { label: "Especies", icon: }, + { label: "Portafolios", icon: }, ]} > {geofenceArea !== 0 && ( @@ -85,6 +88,9 @@ class Drawer extends React.Component {
    +
    + +
    ); From a3d2cbfc8af3cc54733dd2e7c6b9f20b6b8eafd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:16:49 -0500 Subject: [PATCH 292/664] Create portfolios tab component --- src/pages/search/drawer/Portfolios.tsx | 95 ++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/pages/search/drawer/Portfolios.tsx diff --git a/src/pages/search/drawer/Portfolios.tsx b/src/pages/search/drawer/Portfolios.tsx new file mode 100644 index 000000000..d54c50b57 --- /dev/null +++ b/src/pages/search/drawer/Portfolios.tsx @@ -0,0 +1,95 @@ +import React from "react"; + +import Accordion from "pages/search/Accordion"; +import ConservationAreas from "pages/search/drawer/portfolios/ConservationAreas"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import { accordionComponent } from "pages/search/types/ui"; + +interface Props {} + +interface State { + visible: string; + childMap: {}; +} + +class Portfolios extends React.Component { + static contextType = SearchContext; + + constructor(props: Props) { + super(props); + this.state = { + visible: "portfolio-ca", + childMap: {}, + }; + } + + /** + * Handles requests to load a layer when there are changes in accordions + * @param {String} level accordion level that's calling the function + * @param {String} tabLayerId layer to be loaded (also tab expanded). null if collapsed + */ + handleAccordionChange = (level: string, tabLayerId: string) => { + const { visible } = this.state; + const { switchLayer, cancelActiveRequests } = this + .context as SearchContextValues; + cancelActiveRequests(); + + if (tabLayerId === null) { + switchLayer(""); + } + + switch (level) { + case "1": + this.setState({ visible: tabLayerId }); + break; + case "2": + this.setState((prev) => ({ + childMap: { + ...prev.childMap, + [visible]: tabLayerId, + }, + })); + break; + default: + break; + } + }; + + componentDidMount() { + const { areaId } = this.context as SearchContextValues; + let visible = "portfolio-ca"; + this.setState((prev) => ({ + visible: visible, + })); + } + + render() { + const { areaId } = this.context as SearchContextValues; + const { childMap } = this.state; + const initialArray: Array = [ + { + label: { + id: "portfolio-ca", + name: "Portafolios de áreas de conservación", + }, + component: ConservationAreas, + }, + ]; + + const componentsArray = initialArray; + + return ( + + ); + } +} + +export default Portfolios; + +Portfolios.contextType = SearchContext; From b67313de1b85c14627e9a65f07d25303e4a20ca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:17:42 -0500 Subject: [PATCH 293/664] Create portfolios types definition --- src/pages/search/types/portfolios.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/pages/search/types/portfolios.ts diff --git a/src/pages/search/types/portfolios.ts b/src/pages/search/types/portfolios.ts new file mode 100644 index 000000000..5418693fa --- /dev/null +++ b/src/pages/search/types/portfolios.ts @@ -0,0 +1,20 @@ +export interface portfolioData { + id: number; + name: string; + short_name: string; + value: number; +} + +export interface portfoliosByTarget { + target_id: number; + target_name: string; + target_national: number; + target_units_short: string; + target_units: string; + portfolios_data: Array +} + +export interface target { + id: number; + name: string; +} \ No newline at end of file From 7fde9b8f8736e31b2b315503211acc19ca09bd9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:18:22 -0500 Subject: [PATCH 294/664] Create Conservation Areas Component --- .../drawer/portfolios/ConservationAreas.tsx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/pages/search/drawer/portfolios/ConservationAreas.tsx diff --git a/src/pages/search/drawer/portfolios/ConservationAreas.tsx b/src/pages/search/drawer/portfolios/ConservationAreas.tsx new file mode 100644 index 000000000..536b98d34 --- /dev/null +++ b/src/pages/search/drawer/portfolios/ConservationAreas.tsx @@ -0,0 +1,31 @@ +import Accordion from "pages/search/Accordion"; +import Targets from "pages/search/drawer/portfolios/conservationAreas/Targets"; +import { accordionComponent, componentProps } from "pages/search/types/ui"; + +const ConservationAreas: React.FC = (props) => { + const { handleAccordionChange, openTab } = props; + + const componentsArray: Array = [ + { + label: { + id: "targets", + name: "Portafolios por temáticas", + }, + component: Targets, + }, + ]; + + return ( +
    + {}} + level="2" + /> +
    + ); +}; + +export default ConservationAreas; From ce19ca4874e7e8bfb7c8850a8d0352854ec036af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:19:00 -0500 Subject: [PATCH 295/664] Create portfolio by targets component --- .../portfolios/conservationAreas/Targets.tsx | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx new file mode 100644 index 000000000..9b631be37 --- /dev/null +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -0,0 +1,175 @@ +import React from "react"; +import InfoIcon from "@mui/icons-material/Info"; + +import { IconTooltip } from "pages/search/shared_components/Tooltips"; +import { + LineLegend, + LegendColor, +} from "pages/search/shared_components/CssLegends"; +import matchColor from "utils/matchColor"; +import ShortInfo from "components/ShortInfo"; +import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; +import SmallBars from "pages/search/shared_components/charts/SmallBars"; + +import { portfoliosByTarget, target } from "pages/search/types/portfolios"; + +import TextBoxes from "pages/search/shared_components/TextBoxes"; +import { wrapperMessage } from "pages/search/types/charts"; +import { textsObject } from "pages/search/types/texts"; +import SearchAPI from "utils/searchAPI"; + +interface Props {} + +interface State { + showInfoGraph: boolean; + loading: wrapperMessage; + selected: string; + showErrorMessage: boolean; + texts: textsObject; + targetsList?: Array; + targetData?: portfoliosByTarget; + messageConc?: string | null; +} + +class Targets extends React.Component { + mounted = false; + + constructor(props: Props) { + super(props); + this.state = { + showInfoGraph: true, + selected: "", + showErrorMessage: false, + loading: null, + texts: { info: "", cons: "", meto: "", quote: "" }, + }; + } + + componentDidMount() { + this.mounted = true; + const { areaId, geofenceId, switchLayer } = this + .context as SearchContextValues; + + switchLayer(""); + + SearchAPI.TargetsList(areaId, geofenceId) + .then((res) => { + if (this.mounted) { + this.setState({ + targetsList: res, + messageConc: null, + }); + } + }) + .catch(() => { + this.setState({ messageConc: "no-data" }); + }); + } + + componentWillUnmount() { + this.mounted = false; + } + + /** + * Show or hide the detailed information on each graph + */ + toggleInfoGraph = () => { + this.setState((prevState) => ({ + showInfoGraph: !prevState.showInfoGraph, + })); + }; + + /** + * Get data about selected target + * + * @param {number} targetId portfolio target id + */ + getPortfolioData = (targetId: number) => { + const { areaId, geofenceId } = this.context as SearchContextValues; + + SearchAPI.PortfoliosByTarget(areaId, geofenceId, targetId) + .then((res) => { + if (this.mounted) { + this.setState({ + targetData: res, + messageConc: null, + }); + } + }) + .catch(() => { + this.setState({ messageConc: "no-data" }); + }); + }; + + render() { + const { areaId, geofenceId } = this.context as SearchContextValues; + const { showInfoGraph, loading, texts } = this.state; + const chartData = [ + { + id: "12", + name: "1234", + key: "2", + value: 12.5, + area: 40.5, + }, + ]; + + return ( +
    +

    + + this.toggleInfoGraph()} + /> + +

    + {showInfoGraph && ( + + )} +
    + {}} + /> +
    + +
    + + WCNC + + + + ELSA + + + + Especies, Carbono, Agua + +
    + + +
    + ); + } +} + +export default Targets; + +Targets.contextType = SearchContext; From c99a0150ca380781dcc039671c5c7d0e03c3c0bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:31:35 -0500 Subject: [PATCH 296/664] Run Prettier --- src/pages/search/Drawer.tsx | 2 +- src/pages/search/types/portfolios.ts | 26 +++++++++++++------------- src/utils/searchAPI.ts | 12 ++++-------- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index eef26a4de..14d3caf09 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -4,7 +4,7 @@ import BackIcon from "@mui/icons-material/FirstPage"; import Ecosistemas from "@mui/icons-material/Nature"; import Especies from "@mui/icons-material/FilterVintage"; import Paisaje from "@mui/icons-material/FilterHdr"; -import Portafolios from '@mui/icons-material/EmojiNature'; +import Portafolios from "@mui/icons-material/EmojiNature"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import Landscape from "pages/search/drawer/Landscape"; diff --git a/src/pages/search/types/portfolios.ts b/src/pages/search/types/portfolios.ts index 5418693fa..6153124e8 100644 --- a/src/pages/search/types/portfolios.ts +++ b/src/pages/search/types/portfolios.ts @@ -1,20 +1,20 @@ export interface portfolioData { - id: number; - name: string; - short_name: string; - value: number; + id: number; + name: string; + short_name: string; + value: number; } export interface portfoliosByTarget { - target_id: number; - target_name: string; - target_national: number; - target_units_short: string; - target_units: string; - portfolios_data: Array + target_id: number; + target_name: string; + target_national: number; + target_units_short: string; + target_units: string; + portfolios_data: Array; } export interface target { - id: number; - name: string; -} \ No newline at end of file + id: number; + name: string; +} diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 9ea0050bc..64163c8b6 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -26,10 +26,7 @@ import { NOSThresholds, numberOfSpecies, } from "pages/search/types/richness"; -import { - portfoliosByTarget, - target -} from "pages/search/types/portfolios"; +import { portfoliosByTarget, target } from "pages/search/types/portfolios"; import { geofenceDetails } from "pages/search/types/drawer"; class SearchAPI { /** ****** */ @@ -478,7 +475,7 @@ class SearchAPI { * * @return {Promise} Object with portfolios data */ - static PortfoliosByTarget( + static PortfoliosByTarget( areaType: string, areaId: number | string, targetId: number @@ -496,16 +493,15 @@ class SearchAPI { * * @return {Promise} Array of objects with targets list */ - static TargetsList( + static TargetsList( areaType: string, - areaId: number | string, + areaId: number | string ): Promise> { return SearchAPI.makeGetRequest( `portfolios-ca/targets/list?areaType=${areaType}&areaId=${areaId}` ); } - /** ************ */ /** CROSS MODULE */ /** ************ */ From 7baec5f95922a60bd0303bae377b4807dd6282f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 29 Sep 2022 17:44:54 -0500 Subject: [PATCH 297/664] Delete unuse parameter --- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 9b631be37..a9d6a5e4c 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -2,10 +2,7 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; -import { - LineLegend, - LegendColor, -} from "pages/search/shared_components/CssLegends"; +import { LegendColor } from "pages/search/shared_components/CssLegends"; import matchColor from "utils/matchColor"; import ShortInfo from "components/ShortInfo"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; @@ -147,7 +144,7 @@ class Targets extends React.Component { WCNC - + ELSA From 7798bf2e9518fdb618c60b5c790e5228cb090035 Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 30 Sep 2022 06:51:45 -0500 Subject: [PATCH 298/664] remove unnecesary code --- .../landscape/forest/ForestLossPersistence.tsx | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 5af866160..21a372e55 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -13,9 +13,8 @@ import SmallStackedBars, { SmallStackedBarsData, } from "pages/search/shared_components/charts/SmallStackedBars"; import { textsObject } from "pages/search/types/texts"; -import { ForestLP } from "pages/search/types/forest"; import { wrapperMessage } from "pages/search/types/charts"; -import { ForestLossPersistenceController } from "./ForestLossPersistenceController"; +import { ForestLossPersistenceController } from "pages/search/drawer/landscape/forest/ForestLossPersistenceController"; interface Props {} interface State { @@ -107,21 +106,11 @@ class ForestLossPersistence extends React.Component { })); }; - /** - * Process data to be downloaded as a csv file - * - * @param {Array} data graph data transformed to be downloaded as csv - */ - processDownload = (data: Array) => { - return this.flpController.getDownloadData(data); - }; - render() { const { forestLP, forestPersistenceValue, showInfoGraph, message, texts } = this.state; const { areaId, geofenceId, handlerClickOnGraph } = this .context as SearchContextValues; - const downloadData = this.processDownload(forestLP); return (
    @@ -171,7 +160,7 @@ class ForestLossPersistence extends React.Component { consText={texts.forestLP.cons} metoText={texts.forestLP.meto} quoteText={texts.forestLP.quote} - downloadData={downloadData} + downloadData={this.flpController.getDownloadData(forestLP)} downloadName={`forest_loss_persistence_${areaId}_${geofenceId}.csv`} isInfoOpen={showInfoGraph} toggleInfo={this.toggleInfoGraph} From a580a14e8455d94611d74bdeb255b7f4ad7b66cc Mon Sep 17 00:00:00 2001 From: Trjegul84 Date: Fri, 30 Sep 2022 06:52:26 -0500 Subject: [PATCH 299/664] fix return type and change descriptions --- .../landscape/forest/ForestLossPersistenceController.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 2c03202bd..49ff06c65 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -23,9 +23,9 @@ export class ForestLossPersistenceController { /** * Returns data transformed to be downloaded in the csv file * - * @param {SmallStackedBarsData[]} data array of data for nivo bar graph of forest loss persistence + * @param {SmallStackedBarsData[]} data data array for SmallStackedBars graph in forest loss persistence tab * - * @returns {Object} persistenceData graph data transformed to be downloaded in a csv file + * @returns {Object[]} persistenceData graph data transformed to be downloaded in a csv file */ getDownloadData(data: Array) { const result: Array<{ From de2cbbf84b720fd387c1c1f5edcc0b6cda0fffba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 30 Sep 2022 14:26:38 -0500 Subject: [PATCH 300/664] Standar portfolios function names and types --- src/utils/searchAPI.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 64163c8b6..15df21c19 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -76,7 +76,7 @@ class SearchAPI { * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * - * @return {Promise} Array of objects with data of current PA connectivity + * @return {Promise} Array of objects with data of current PA connectivity */ static requestCurrentPAConnectivity( areaType: string, @@ -95,7 +95,7 @@ class SearchAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * @param {String} seType strategic ecosystem type * - * @return {Promise} Array of objects with data of current PA connectivity by SE + * @return {Promise} Array of objects with data of current PA connectivity by SE */ static requestCurrentSEPAConnectivity( areaType: string, @@ -113,7 +113,7 @@ class SearchAPI { * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * - * @return {Promise} Array of objects with data of the protected areas + * @return {Promise} Array of objects with data of the protected areas */ static requestDPC( areaType: string, @@ -372,7 +372,7 @@ class SearchAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * @param {String} group group to filter results, f.e. "total", "endemic" * - * @return {Promise} Array of objects with observed, inferred and region number of species + * @return {Promise} Array of objects with observed, inferred and region number of species */ static requestNumberOfSpecies( areaType: string, @@ -393,7 +393,7 @@ class SearchAPI { * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 * @param {String} group group to filter results, f.e. "total", "endemic" * - * @return {Promise} Array of objects with minimum and maximun number of observed and + * @return {Promise} Array of objects with minimum and maximun number of observed and * inferred species */ static requestNSThresholds( @@ -414,7 +414,7 @@ class SearchAPI { * @param {String} areaType area type id, f.e. "ea", "states" * @param {String} group group to filter results, f.e. "total", "endemic" * - * @return {Promise} Array of objects with minimum and maximun number of observed and + * @return {Promise} Array of objects with minimum and maximun number of observed and * inferred species */ static requestNSNationalMax( @@ -471,11 +471,11 @@ class SearchAPI { * * @param {String} areaType area type id, f.e. "ea", "states" * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 - * @param {String} targetId target id to get results + * @param {Number} targetId target id to get results * * @return {Promise} Object with portfolios data */ - static PortfoliosByTarget( + static requestPortfoliosByTarget( areaType: string, areaId: number | string, targetId: number @@ -489,11 +489,11 @@ class SearchAPI { * Get list of targets with portfolios values within a given area * * @param {String} areaType area type id, f.e. "ea", "states" - * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {Number} areaId area id to request, f.e. "CRQ", 24 * - * @return {Promise} Array of objects with targets list + * @return {Promise} Array of objects with targets list */ - static TargetsList( + static requestTargetsList( areaType: string, areaId: number | string ): Promise> { From fc5883c0b247141b2aa93b37fc9bab1fd462308e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 30 Sep 2022 14:32:45 -0500 Subject: [PATCH 301/664] Remove export capability for portfolioData --- src/pages/search/types/portfolios.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/types/portfolios.ts b/src/pages/search/types/portfolios.ts index 6153124e8..d2f434e63 100644 --- a/src/pages/search/types/portfolios.ts +++ b/src/pages/search/types/portfolios.ts @@ -1,4 +1,4 @@ -export interface portfolioData { +interface portfolioData { id: number; name: string; short_name: string; From 330d07784a4eeef138e852ea966c5923cbf7de88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 30 Sep 2022 16:41:43 -0500 Subject: [PATCH 302/664] Migrate EditIcon --- .../selector/{EditIcon.jsx => EditIcon.tsx} | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) rename src/pages/search/selector/{EditIcon.jsx => EditIcon.tsx} (64%) diff --git a/src/pages/search/selector/EditIcon.jsx b/src/pages/search/selector/EditIcon.tsx similarity index 64% rename from src/pages/search/selector/EditIcon.jsx rename to src/pages/search/selector/EditIcon.tsx index 148fb0967..9f90a7cbb 100644 --- a/src/pages/search/selector/EditIcon.jsx +++ b/src/pages/search/selector/EditIcon.tsx @@ -1,9 +1,15 @@ -import PropTypes from 'prop-types'; -import React from 'react'; +import PropTypes from "prop-types"; +import React from "react"; -import { SvgIcon } from '@mui/material'; +import { SvgIcon } from "@mui/material"; -const EditIcon = ({ color, fontSize }) => ( +const EditIcon = ({ + color = "", + fontSize = 24, +}: { + color?: string; + fontSize?: number; +}) => ( @@ -12,14 +18,4 @@ const EditIcon = ({ color, fontSize }) => ( ); -EditIcon.propTypes = { - color: PropTypes.string, - fontSize: PropTypes.number, -}; - -EditIcon.defaultProps = { - color: '', - fontSize: 24, -}; - export default EditIcon; From e0761d98bbbda24d159de82199813f7c83660c8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 30 Sep 2022 16:43:00 -0500 Subject: [PATCH 303/664] Migrate PolygonIcon --- src/pages/search/selector/PolygonIcon.jsx | 22 ---------------------- src/pages/search/selector/PolygonIcon.tsx | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 22 deletions(-) delete mode 100644 src/pages/search/selector/PolygonIcon.jsx create mode 100644 src/pages/search/selector/PolygonIcon.tsx diff --git a/src/pages/search/selector/PolygonIcon.jsx b/src/pages/search/selector/PolygonIcon.jsx deleted file mode 100644 index a20949093..000000000 --- a/src/pages/search/selector/PolygonIcon.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; - -import { SvgIcon } from '@mui/material'; - -const PolygonIcon = ({ color, fontSize }) => ( - - - -); - -PolygonIcon.propTypes = { - color: PropTypes.string, - fontSize: PropTypes.number, -}; - -PolygonIcon.defaultProps = { - color: '', - fontSize: 24, -}; - -export default PolygonIcon; diff --git a/src/pages/search/selector/PolygonIcon.tsx b/src/pages/search/selector/PolygonIcon.tsx new file mode 100644 index 000000000..d2d25ceb0 --- /dev/null +++ b/src/pages/search/selector/PolygonIcon.tsx @@ -0,0 +1,18 @@ +import PropTypes from "prop-types"; +import React from "react"; + +import { SvgIcon } from "@mui/material"; + +const PolygonIcon = ({ + color = "", + fontSize = 24, +}: { + color?: string; + fontSize?: number; +}) => ( + + + +); + +export default PolygonIcon; From 83264080a0392e8f9ea24494e3340f78dc6b62bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 30 Sep 2022 16:43:48 -0500 Subject: [PATCH 304/664] Set childmad --- src/pages/search/drawer/Portfolios.tsx | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/pages/search/drawer/Portfolios.tsx b/src/pages/search/drawer/Portfolios.tsx index d54c50b57..329a68520 100644 --- a/src/pages/search/drawer/Portfolios.tsx +++ b/src/pages/search/drawer/Portfolios.tsx @@ -9,7 +9,9 @@ interface Props {} interface State { visible: string; - childMap: {}; + childMap: { + conservationAreas: string; + }; } class Portfolios extends React.Component { @@ -18,8 +20,10 @@ class Portfolios extends React.Component { constructor(props: Props) { super(props); this.state = { - visible: "portfolio-ca", - childMap: {}, + visible: "conservationAreas", + childMap: { + conservationAreas: "conservationAreas", + }, }; } @@ -55,24 +59,19 @@ class Portfolios extends React.Component { } }; - componentDidMount() { - const { areaId } = this.context as SearchContextValues; - let visible = "portfolio-ca"; - this.setState((prev) => ({ - visible: visible, - })); - } - render() { - const { areaId } = this.context as SearchContextValues; const { childMap } = this.state; const initialArray: Array = [ { label: { - id: "portfolio-ca", + id: "conservationAreas", name: "Portafolios de áreas de conservación", }, component: ConservationAreas, + componentProps: { + handleAccordionChange: this.handleAccordionChange, + openTab: childMap.conservationAreas, + }, }, ]; From a3d8728f6ae16cfb3059151d6aad50f67ce166fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 30 Sep 2022 16:43:55 -0500 Subject: [PATCH 305/664] Migrate RemoveIcon --- .../{RemoveIcon.jsx => RemoveIcon.tsx} | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) rename src/pages/search/selector/{RemoveIcon.jsx => RemoveIcon.tsx} (52%) diff --git a/src/pages/search/selector/RemoveIcon.jsx b/src/pages/search/selector/RemoveIcon.tsx similarity index 52% rename from src/pages/search/selector/RemoveIcon.jsx rename to src/pages/search/selector/RemoveIcon.tsx index f3ad4e58c..d85c73ddd 100644 --- a/src/pages/search/selector/RemoveIcon.jsx +++ b/src/pages/search/selector/RemoveIcon.tsx @@ -1,23 +1,19 @@ -import PropTypes from 'prop-types'; -import React from 'react'; +import PropTypes from "prop-types"; +import React from "react"; -import { SvgIcon } from '@mui/material'; +import { SvgIcon } from "@mui/material"; -const RemoveIcon = ({ color, fontSize }) => ( +const RemoveIcon = ({ + color = "", + fontSize = 24, +}: { + color?: string; + fontSize?: number; +}) => ( ); -RemoveIcon.propTypes = { - color: PropTypes.string, - fontSize: PropTypes.number, -}; - -RemoveIcon.defaultProps = { - color: '', - fontSize: 24, -}; - export default RemoveIcon; From cbf9e1fcee39b0ac47685d16ab9ca883ec5bfa66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 30 Sep 2022 16:49:44 -0500 Subject: [PATCH 306/664] Add collapsed value for child component --- src/pages/search/drawer/portfolios/ConservationAreas.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/search/drawer/portfolios/ConservationAreas.tsx b/src/pages/search/drawer/portfolios/ConservationAreas.tsx index 536b98d34..2c2ebb6de 100644 --- a/src/pages/search/drawer/portfolios/ConservationAreas.tsx +++ b/src/pages/search/drawer/portfolios/ConservationAreas.tsx @@ -10,6 +10,7 @@ const ConservationAreas: React.FC = (props) => { label: { id: "targets", name: "Portafolios por temáticas", + collapsed: openTab !== "targets", }, component: Targets, }, From 30f0033a9ca540b849b0e0d2e5139924a0252295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 30 Sep 2022 16:58:40 -0500 Subject: [PATCH 307/664] Set open default second level accordion --- src/pages/search/drawer/Portfolios.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/drawer/Portfolios.tsx b/src/pages/search/drawer/Portfolios.tsx index 329a68520..da1e5d1ca 100644 --- a/src/pages/search/drawer/Portfolios.tsx +++ b/src/pages/search/drawer/Portfolios.tsx @@ -22,7 +22,7 @@ class Portfolios extends React.Component { this.state = { visible: "conservationAreas", childMap: { - conservationAreas: "conservationAreas", + conservationAreas: "targets", }, }; } From c7449134281b825eba97fa0c3c33f3e8e3cdd589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 30 Sep 2022 19:08:18 -0500 Subject: [PATCH 308/664] remove unused imports --- src/pages/search/selector/EditIcon.tsx | 3 --- src/pages/search/selector/PolygonIcon.tsx | 3 --- src/pages/search/selector/RemoveIcon.tsx | 3 --- 3 files changed, 9 deletions(-) diff --git a/src/pages/search/selector/EditIcon.tsx b/src/pages/search/selector/EditIcon.tsx index 9f90a7cbb..d6dba891a 100644 --- a/src/pages/search/selector/EditIcon.tsx +++ b/src/pages/search/selector/EditIcon.tsx @@ -1,6 +1,3 @@ -import PropTypes from "prop-types"; -import React from "react"; - import { SvgIcon } from "@mui/material"; const EditIcon = ({ diff --git a/src/pages/search/selector/PolygonIcon.tsx b/src/pages/search/selector/PolygonIcon.tsx index d2d25ceb0..d583ae08c 100644 --- a/src/pages/search/selector/PolygonIcon.tsx +++ b/src/pages/search/selector/PolygonIcon.tsx @@ -1,6 +1,3 @@ -import PropTypes from "prop-types"; -import React from "react"; - import { SvgIcon } from "@mui/material"; const PolygonIcon = ({ diff --git a/src/pages/search/selector/RemoveIcon.tsx b/src/pages/search/selector/RemoveIcon.tsx index d85c73ddd..c98a96a0a 100644 --- a/src/pages/search/selector/RemoveIcon.tsx +++ b/src/pages/search/selector/RemoveIcon.tsx @@ -1,6 +1,3 @@ -import PropTypes from "prop-types"; -import React from "react"; - import { SvgIcon } from "@mui/material"; const RemoveIcon = ({ From 89b950b4bc79d805a46579b8b44117553289a1f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 30 Sep 2022 19:08:53 -0500 Subject: [PATCH 309/664] remove redundant type --- src/pages/search/types/ui.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/types/ui.ts b/src/pages/search/types/ui.ts index bcaecac5b..52ea49c0b 100644 --- a/src/pages/search/types/ui.ts +++ b/src/pages/search/types/ui.ts @@ -12,7 +12,7 @@ export interface componentProps { export interface accordionComponent { label: { id: string; - name: string | React.ReactNode; + name: React.ReactNode; icon?: string; disabled?: boolean; collapsed?: boolean; From 3b3e9c4b05a8f806c70664159895a886a132eab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 30 Sep 2022 20:08:50 -0500 Subject: [PATCH 310/664] Fix types definition, request targets values and remove unused vars --- .../portfolios/conservationAreas/Targets.tsx | 65 ++++++++++++------- 1 file changed, 42 insertions(+), 23 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index a9d6a5e4c..70a7c29a1 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -9,7 +9,6 @@ import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import SmallBars from "pages/search/shared_components/charts/SmallBars"; import { portfoliosByTarget, target } from "pages/search/types/portfolios"; - import TextBoxes from "pages/search/shared_components/TextBoxes"; import { wrapperMessage } from "pages/search/types/charts"; import { textsObject } from "pages/search/types/texts"; @@ -17,15 +16,17 @@ import SearchAPI from "utils/searchAPI"; interface Props {} +interface tagetsData { + [targetId: number]: portfoliosByTarget; +} + interface State { showInfoGraph: boolean; loading: wrapperMessage; - selected: string; - showErrorMessage: boolean; texts: textsObject; - targetsList?: Array; - targetData?: portfoliosByTarget; - messageConc?: string | null; + targetsList: Array; + targetsData: Array; + csvData: Array; } class Targets extends React.Component { @@ -35,31 +36,49 @@ class Targets extends React.Component { super(props); this.state = { showInfoGraph: true, - selected: "", - showErrorMessage: false, - loading: null, + loading: "loading", + targetsList: [], + targetsData: [], texts: { info: "", cons: "", meto: "", quote: "" }, + csvData: [], }; } componentDidMount() { this.mounted = true; + + const dummyData = { + texts: { + info: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + cons: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + meto: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + quote: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + }, + csvData: [{ id: 1, name: "hola" }], + }; + + this.setState({ texts: dummyData.texts, csvData: dummyData.csvData }); + const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; switchLayer(""); - SearchAPI.TargetsList(areaId, geofenceId) + SearchAPI.requestTargetsList(areaId, geofenceId) .then((res) => { if (this.mounted) { this.setState({ targetsList: res, - messageConc: null, + loading: null, + }); + + res.forEach((element) => { + this.getPortfolioData(element.id); }); } }) .catch(() => { - this.setState({ messageConc: "no-data" }); + this.setState({ loading: "no-data" }); }); } @@ -84,23 +103,23 @@ class Targets extends React.Component { getPortfolioData = (targetId: number) => { const { areaId, geofenceId } = this.context as SearchContextValues; - SearchAPI.PortfoliosByTarget(areaId, geofenceId, targetId) + SearchAPI.requestPortfoliosByTarget(areaId, geofenceId, targetId) .then((res) => { if (this.mounted) { - this.setState({ - targetData: res, - messageConc: null, - }); + this.setState((prevState) => ({ + targetsData: [...prevState.targetsData, { [targetId]: res }], + })); } }) .catch(() => { - this.setState({ messageConc: "no-data" }); + this.setState({ loading: "no-data" }); }); }; render() { const { areaId, geofenceId } = this.context as SearchContextValues; - const { showInfoGraph, loading, texts } = this.state; + const { showInfoGraph, loading, texts, csvData } = this.state; + const chartData = [ { id: "12", @@ -140,21 +159,21 @@ class Targets extends React.Component {
    - + WCNC - + ELSA - + Especies, Carbono, Agua
    Date: Fri, 30 Sep 2022 20:26:24 -0500 Subject: [PATCH 311/664] Add to do comment --- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 70a7c29a1..76fa424ef 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -69,7 +69,7 @@ class Targets extends React.Component { if (this.mounted) { this.setState({ targetsList: res, - loading: null, + loading: null, //Ajustar el manejo de este mensaje cuando el gráfico este finalizado }); res.forEach((element) => { From 8c3ea9a63c26b82c72d6e1b34aa911705de6a07b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 6 Oct 2022 20:30:45 -0500 Subject: [PATCH 312/664] Export portfoliodata interface --- src/pages/search/types/portfolios.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/types/portfolios.ts b/src/pages/search/types/portfolios.ts index d2f434e63..6153124e8 100644 --- a/src/pages/search/types/portfolios.ts +++ b/src/pages/search/types/portfolios.ts @@ -1,4 +1,4 @@ -interface portfolioData { +export interface portfolioData { id: number; name: string; short_name: string; From c91853aa4c92bea8bb8efcde1fad9137790df520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 6 Oct 2022 20:37:59 -0500 Subject: [PATCH 313/664] Change SmallStackedBarsComponent to MultiSmallBars --- ...mallStackedBars.tsx => MultiSmallBars.tsx} | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) rename src/pages/search/shared_components/charts/{SmallStackedBars.tsx => MultiSmallBars.tsx} (79%) diff --git a/src/pages/search/shared_components/charts/SmallStackedBars.tsx b/src/pages/search/shared_components/charts/MultiSmallBars.tsx similarity index 79% rename from src/pages/search/shared_components/charts/SmallStackedBars.tsx rename to src/pages/search/shared_components/charts/MultiSmallBars.tsx index 6bb38dbf6..fd4988a52 100644 --- a/src/pages/search/shared_components/charts/SmallStackedBars.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallBars.tsx @@ -6,15 +6,20 @@ import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; interface Props { - data: Array; + data: Array; height?: number; colors: (key: string) => string; + groupMode?: "grouped" | "stacked"; units?: string; onClickHandler: (period: string, key: string) => void; selectedIndexValue: string; + toolTipValue?: string; + axisLeftLegend?: string; + axisBottomLegend?: string; + innerPadding?: number; } -export interface SmallStackedBarsData { +export interface MultiSmallBarsData { id: string; data: Array<{ area: number; @@ -28,7 +33,7 @@ interface State { selectedIndexValue: string | number; } -class SmallStackedBars extends React.Component { +class MultiSmallBars extends React.Component { constructor(props: Props) { super(props); this.state = { @@ -41,7 +46,12 @@ class SmallStackedBars extends React.Component { data, height = 250, colors, + axisLeftLegend = "", + axisBottomLegend = "", + groupMode = "stacked", units = "ha", + toolTipValue, + innerPadding = 0, onClickHandler, } = this.props; const { selectedIndexValue } = this.state; @@ -52,7 +62,7 @@ class SmallStackedBars extends React.Component { * @param {array} rawData raw data from RestAPI * @returns {array} transformed data ready to be used by graph component */ - const transformData = (rawData: Array) => { + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { key: element.id, @@ -81,12 +91,14 @@ class SmallStackedBars extends React.Component { keys={keys} indexBy="key" layout="horizontal" + groupMode={groupMode} margin={{ top: 20, right: 15, bottom: 50, left: 90, }} + innerPadding={innerPadding} padding={0.35} borderColor={{ from: "color", modifiers: [["darker", 1.6]] }} colors={({ id, indexValue }) => { @@ -101,7 +113,7 @@ class SmallStackedBars extends React.Component { tickSize: 3, tickPadding: 5, tickRotation: 0, - legend: "Periodo", + legend: `${axisLeftLegend}`, legendPosition: "middle", legendOffset: -80, }} @@ -110,7 +122,7 @@ class SmallStackedBars extends React.Component { tickPadding: 0, tickRotation: 0, format: ".2s", - legend: "Hectáreas", + legend: `${axisBottomLegend}`, legendPosition: "start", legendOffset: 25, }} @@ -123,7 +135,12 @@ class SmallStackedBars extends React.Component { > {allData[`${id}Label`]}
    - {`${formatNumber(allData[id], 0)} ${units}`} + {`${formatNumber( + toolTipValue === "percentage" + ? allData[`${id}Percentage`] + : allData[id], + 0 + )} ${units}`}
    )} @@ -142,4 +159,4 @@ class SmallStackedBars extends React.Component { } } -export default withMessageWrapper(SmallStackedBars); +export default withMessageWrapper(MultiSmallBars); From cc722a628b1d4b610ded74da44ee3e6e363cb857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 6 Oct 2022 20:45:08 -0500 Subject: [PATCH 314/664] Update import component name and properties from SmallStackedBars to MultiSmallBars --- .../landscape/forest/ForestLossPersistence.tsx | 12 +++++++----- .../forest/ForestLossPersistenceController.ts | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 21a372e55..bcca3dac1 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -9,9 +9,9 @@ import SearchAPI from "utils/searchAPI"; import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import SmallStackedBars, { - SmallStackedBarsData, -} from "pages/search/shared_components/charts/SmallStackedBars"; +import MultiSmallBars, { + MultiSmallBarsData, +} from "pages/search/shared_components/charts/MultiSmallBars"; import { textsObject } from "pages/search/types/texts"; import { wrapperMessage } from "pages/search/types/charts"; import { ForestLossPersistenceController } from "pages/search/drawer/landscape/forest/ForestLossPersistenceController"; @@ -19,7 +19,7 @@ import { ForestLossPersistenceController } from "pages/search/drawer/landscape/f interface Props {} interface State { showInfoGraph: boolean; - forestLP: Array; + forestLP: Array; message: wrapperMessage; forestPersistenceValue: number; texts: { @@ -141,7 +141,7 @@ class ForestLossPersistence extends React.Component {
    Cobertura de bosque en el tiempo
    - { }); }} selectedIndexValue="2016-2021" + axisLeftLegend="Periodo" + axisBottomLegend="Hectáreas" />
    ) { + getDownloadData(data: Array) { const result: Array<{ period: string; category: string; From 75d426ec49d14656eb5a5ca9760d4a24b75cf3a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 6 Oct 2022 20:48:41 -0500 Subject: [PATCH 315/664] Adapt data form API response to graph component --- .../portfolios/conservationAreas/Targets.tsx | 41 ++++++++--------- .../conservationAreas/TargetsController.ts | 46 +++++++++++++++++++ 2 files changed, 64 insertions(+), 23 deletions(-) create mode 100644 src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 76fa424ef..14518a56e 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -6,7 +6,10 @@ import { LegendColor } from "pages/search/shared_components/CssLegends"; import matchColor from "utils/matchColor"; import ShortInfo from "components/ShortInfo"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import SmallBars from "pages/search/shared_components/charts/SmallBars"; +import MultiSmallBars, { + MultiSmallBarsData, +} from "pages/search/shared_components/charts/MultiSmallBars"; +import { TargetsController } from "pages/search/drawer/portfolios/conservationAreas/TargetsController"; import { portfoliosByTarget, target } from "pages/search/types/portfolios"; import TextBoxes from "pages/search/shared_components/TextBoxes"; @@ -16,24 +19,22 @@ import SearchAPI from "utils/searchAPI"; interface Props {} -interface tagetsData { - [targetId: number]: portfoliosByTarget; -} - interface State { showInfoGraph: boolean; loading: wrapperMessage; texts: textsObject; targetsList: Array; - targetsData: Array; + targetsData: Array; csvData: Array; } class Targets extends React.Component { mounted = false; + targetsController; constructor(props: Props) { super(props); + this.targetsController = new TargetsController(); this.state = { showInfoGraph: true, loading: "loading", @@ -107,7 +108,7 @@ class Targets extends React.Component { .then((res) => { if (this.mounted) { this.setState((prevState) => ({ - targetsData: [...prevState.targetsData, { [targetId]: res }], + targetsData: [...prevState.targetsData, res], })); } }) @@ -118,17 +119,7 @@ class Targets extends React.Component { render() { const { areaId, geofenceId } = this.context as SearchContextValues; - const { showInfoGraph, loading, texts, csvData } = this.state; - - const chartData = [ - { - id: "12", - name: "1234", - key: "2", - value: 12.5, - area: 40.5, - }, - ]; + const { showInfoGraph, loading, texts, targetsData, csvData } = this.state; return (
    @@ -148,13 +139,17 @@ class Targets extends React.Component { /> )}
    - {}} + height={300} + selectedIndexValue="WCMC" + groupMode="grouped" + toolTipValue="percentage" + innerPadding={0.5} />
    diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts new file mode 100644 index 000000000..bd5fb40ae --- /dev/null +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -0,0 +1,46 @@ +import { MultiSmallBarsData } from "pages/search/shared_components/charts/MultiSmallBars"; +import { + portfoliosByTarget, + portfolioData, +} from "pages/search/types/portfolios"; + +export class TargetsController { + constructor() {} + + /** + * Transform data structure to be passed to component as a prop + * + * @param {Array} rawData raw data from RestAPI + * + * @returns {Array} transformed data ready to be used by graph component + */ + getGraphData(rawData: Array) { + const transformedData: Array = rawData.map( + (element) => { + const objectData: Array<{ + area: number; + key: string; + percentage: number; + label: string; + }> = []; + element.portfolios_data.forEach((item: portfolioData) => { + const info = { + key: item.short_name, + area: item.value, + label: item.name, + percentage: (item.value / element.target_national) * 100, + }; + objectData.push(info); + }); + + const object = { + id: element.target_name, + data: objectData, + }; + return object; + } + ); + + return transformedData; + } +} From 7aa2e595a0a06acdc5ff29812a7e54bd4e24d6c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 6 Oct 2022 21:41:21 -0500 Subject: [PATCH 316/664] Add color palette for portfolios by target --- src/utils/colorPalettes.js | 7 +++++++ src/utils/matchColor.js | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/utils/colorPalettes.js b/src/utils/colorPalettes.js index 64c92bcc9..62d45766e 100644 --- a/src/utils/colorPalettes.js +++ b/src/utils/colorPalettes.js @@ -146,6 +146,13 @@ export default { '#eba62a', '#ec5e41', ], + caTargets: [ + '#e25648', + '#ee8531', + '#fdc031', + '#b572ad', + '#59c9eb' + ], functionalDryForestValues: [ '#b74777', '#fba76d', diff --git a/src/utils/matchColor.js b/src/utils/matchColor.js index 031299a17..6276ca3d3 100644 --- a/src/utils/matchColor.js +++ b/src/utils/matchColor.js @@ -136,6 +136,10 @@ const match = { 'legend-to', ], }, + caTargets: { + palette: "caTargets", + sort: ["WCMC", "ELSA", "WEPLAN", "Especies, Carbono y Agua", "ACC"], + }, functionalDryForestValues: { palette: 'functionalDryForestValues', sort: [ @@ -272,6 +276,7 @@ const matchColor = (type, resetCache = false) => { case 'currentPAConn': case 'dpc': case 'timelinePAConn': + case 'caTargets': case 'se': return (value) => { const idx = sort.indexOf(value); From 3ce1919159507f1929b4c15135d1c002b9299262 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 7 Oct 2022 12:18:52 -0500 Subject: [PATCH 317/664] Move api call from component ForestLossPersistence to controller --- .../forest/ForestLossPersistence.tsx | 54 +++++---------- .../forest/ForestLossPersistenceController.ts | 69 ++++++++++++++++--- 2 files changed, 76 insertions(+), 47 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 21a372e55..0d22a0ac2 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -5,7 +5,6 @@ import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import matchColor from "utils/matchColor"; -import SearchAPI from "utils/searchAPI"; import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; @@ -29,13 +28,6 @@ interface State { const LATEST_PERIOD = "2016-2021"; -const getLabel = { - persistencia: "Persistencia", - perdida: "Pérdida", - ganancia: "Ganancia", - no_bosque: "No bosque", -}; - class ForestLossPersistence extends React.Component { mounted = false; flpController; @@ -60,37 +52,27 @@ class ForestLossPersistence extends React.Component { .context as SearchContextValues; switchLayer(`forestLP-${LATEST_PERIOD}`); - - SearchAPI.requestForestLP(areaId, geofenceId) - .then((res) => { - if (this.mounted) { - this.setState({ - forestLP: res.map((item) => ({ - ...item, - data: item.data.map((element) => ({ - ...element, - label: getLabel[element.key], - })), - })), - forestPersistenceValue: this.flpController.getPersistenceValue( - res, - LATEST_PERIOD - ), - message: null, - }); - } - }) - .catch(() => { - this.setState({ message: "no-data" }); - }); - - SearchAPI.requestSectionTexts("forestLP") - .then((res) => { - if (this.mounted) { + + this.flpController.getForestLPData(areaId, geofenceId, LATEST_PERIOD) + .then((data) => { + if (this.mounted) { + this.setState({ + forestLP: data.forestLP, + forestPersistenceValue: data.forestPersistenceValue, + message: null, + }) + }}) + .catch(() => { + this.setState({ message: "no-data" }); + }); + + this.flpController.getForestLPTexts("forestLP") + .then((res) => { + if (this.mounted) { this.setState({ texts: { forestLP: res } }); } }) - .catch(() => {}); + .catch(() => {}); } componentWillUnmount() { diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 49ff06c65..845098185 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -1,24 +1,71 @@ import { SmallStackedBarsData } from "pages/search/shared_components/charts/SmallStackedBars"; -import { ForestLP } from "pages/search/types/forest"; +import SearchAPI from "utils/searchAPI"; +import { textsObject } from "pages/search/types/texts"; + +const getLabel = { + persistencia: "Persistencia", + perdida: "Pérdida", + ganancia: "Ganancia", + no_bosque: "No bosque", +}; + +interface ForestLPData { + forestLP: Array; + forestPersistenceValue: number; +}; export class ForestLossPersistenceController { constructor() {} /** - * Returns a persistence value from data and latest period + * Returns forest LP data and persistence value in a given area * - * @param {ForestLP[]} data array of the response data for forest loss persistence + * @param {String} areaType area type + * @param {String | Number} areaId area id * @param {String} latestPeriod string with range of years for latest period * - * @returns {Number} persistenceData forest persistence value + * @returns {Object} Object with forest LP data and persistence value */ - getPersistenceValue(data: Array, latestPeriod: string): number { - const periodData = data.find((item) => item.id === latestPeriod)?.data; - const persistenceData = periodData - ? periodData.find((item) => item.key === "persistencia") - : null; - return persistenceData ? persistenceData.area : 0; - } + getForestLPData = (areaType: string, areaId: string | number, latestPeriod: string): Promise => + SearchAPI.requestForestLP(areaType, areaId) + .then((data) => { + + const forestLP = data.map((item) => ({ + ...item, + data: item.data.map((element) => ({ + ...element, + label: getLabel[element.key], + })), + })); + + const periodData = data.find((item) => item.id === latestPeriod)?.data; + const persistenceData = periodData + ? periodData.find((item) => item.key === "persistencia") + : null; + const forestPersistenceValue = persistenceData ? persistenceData.area : 0 + + return { + forestLP, + forestPersistenceValue, + }; + }) + .catch(() => { + throw new Error('Error getting data'); + }); + + /** + * Returns texts of the forestLP section + * + * @param {String} sectionName section name + * + * @returns {Object} texts of forestLP section + */ + getForestLPTexts = (sectionName: string): Promise => + SearchAPI.requestSectionTexts(sectionName) + .then((res) => res) + .catch(() => { + throw new Error('Error getting data'); + }); /** * Returns data transformed to be downloaded in the csv file From c4f4b8377f6c0f4a1998dadbb084655603cafa83 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 7 Oct 2022 12:20:27 -0500 Subject: [PATCH 318/664] Run prettier --- .../forest/ForestLossPersistence.tsx | 39 ++++++++++--------- .../forest/ForestLossPersistenceController.ts | 25 +++++++----- 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 0d22a0ac2..79ae76d30 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -52,27 +52,30 @@ class ForestLossPersistence extends React.Component { .context as SearchContextValues; switchLayer(`forestLP-${LATEST_PERIOD}`); - - this.flpController.getForestLPData(areaId, geofenceId, LATEST_PERIOD) - .then((data) => { - if (this.mounted) { - this.setState({ - forestLP: data.forestLP, - forestPersistenceValue: data.forestPersistenceValue, - message: null, - }) - }}) - .catch(() => { - this.setState({ message: "no-data" }); - }); - - this.flpController.getForestLPTexts("forestLP") - .then((res) => { - if (this.mounted) { + + this.flpController + .getForestLPData(areaId, geofenceId, LATEST_PERIOD) + .then((data) => { + if (this.mounted) { + this.setState({ + forestLP: data.forestLP, + forestPersistenceValue: data.forestPersistenceValue, + message: null, + }); + } + }) + .catch(() => { + this.setState({ message: "no-data" }); + }); + + this.flpController + .getForestLPTexts("forestLP") + .then((res) => { + if (this.mounted) { this.setState({ texts: { forestLP: res } }); } }) - .catch(() => {}); + .catch(() => {}); } componentWillUnmount() { diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 845098185..1404e70c6 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -12,7 +12,7 @@ const getLabel = { interface ForestLPData { forestLP: Array; forestPersistenceValue: number; -}; +} export class ForestLossPersistenceController { constructor() {} @@ -26,10 +26,13 @@ export class ForestLossPersistenceController { * * @returns {Object} Object with forest LP data and persistence value */ - getForestLPData = (areaType: string, areaId: string | number, latestPeriod: string): Promise => + getForestLPData = ( + areaType: string, + areaId: string | number, + latestPeriod: string + ): Promise => SearchAPI.requestForestLP(areaType, areaId) .then((data) => { - const forestLP = data.map((item) => ({ ...item, data: item.data.map((element) => ({ @@ -42,7 +45,9 @@ export class ForestLossPersistenceController { const persistenceData = periodData ? periodData.find((item) => item.key === "persistencia") : null; - const forestPersistenceValue = persistenceData ? persistenceData.area : 0 + const forestPersistenceValue = persistenceData + ? persistenceData.area + : 0; return { forestLP, @@ -50,7 +55,7 @@ export class ForestLossPersistenceController { }; }) .catch(() => { - throw new Error('Error getting data'); + throw new Error("Error getting data"); }); /** @@ -60,12 +65,12 @@ export class ForestLossPersistenceController { * * @returns {Object} texts of forestLP section */ - getForestLPTexts = (sectionName: string): Promise => + getForestLPTexts = (sectionName: string): Promise => SearchAPI.requestSectionTexts(sectionName) - .then((res) => res) - .catch(() => { - throw new Error('Error getting data'); - }); + .then((res) => res) + .catch(() => { + throw new Error("Error getting data"); + }); /** * Returns data transformed to be downloaded in the csv file From 8d23ef77b38a71fc04605b3ec494f1b6be3feba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 7 Oct 2022 15:40:03 -0500 Subject: [PATCH 319/664] Set margin left in MultiSmallBars --- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 3 ++- src/pages/search/shared_components/charts/MultiSmallBars.tsx | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 14518a56e..04743cb20 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -145,11 +145,12 @@ class Targets extends React.Component { colors={matchColor("caTargets")} units="%" onClickHandler={() => {}} - height={300} + height={500} selectedIndexValue="WCMC" groupMode="grouped" toolTipValue="percentage" innerPadding={0.5} + marginLeft={145} />
    diff --git a/src/pages/search/shared_components/charts/MultiSmallBars.tsx b/src/pages/search/shared_components/charts/MultiSmallBars.tsx index fd4988a52..643e10dd9 100644 --- a/src/pages/search/shared_components/charts/MultiSmallBars.tsx +++ b/src/pages/search/shared_components/charts/MultiSmallBars.tsx @@ -17,6 +17,7 @@ interface Props { axisLeftLegend?: string; axisBottomLegend?: string; innerPadding?: number; + marginLeft?: number; } export interface MultiSmallBarsData { @@ -52,6 +53,7 @@ class MultiSmallBars extends React.Component { units = "ha", toolTipValue, innerPadding = 0, + marginLeft = 90, onClickHandler, } = this.props; const { selectedIndexValue } = this.state; @@ -96,7 +98,7 @@ class MultiSmallBars extends React.Component { top: 20, right: 15, bottom: 50, - left: 90, + left: marginLeft, }} innerPadding={innerPadding} padding={0.35} From 5f363e56f4f4a28cdd6fac7465986f2d5c61ba7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 15:51:24 -0500 Subject: [PATCH 320/664] Merge SmallBars and MultiSmallBars components --- .../shared_components/charts/SmallBars.tsx | 161 +++++++++++------- 1 file changed, 102 insertions(+), 59 deletions(-) diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 2d43009f9..de40d0c8f 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -6,24 +6,39 @@ import withMessageWrapper from "pages/search/shared_components/charts/withMessag interface Props { data: Array; + keys: Array; + tooltips: Array<{ + group: string; + category: string; + tooltipContent: Array; + }>; height?: number; colors: (key: string) => string; units?: string; - onClickHandler: (key: string) => void; + onClickHandler: (group: string, category: string) => void; selectedIndexValue?: string; - labelX: string; + groupMode?: "grouped" | "stacked"; + axisLeftLegend?: string; + axisBottomLegend?: string; + innerPadding?: number; + marginLeft?: number; + axisXenable?: boolean; + axisYenable?: boolean; + axisXLegend?: string; + axisYLegend?: string; + axisXFormat?: string; + enableAxisX?: boolean; + enableAxisY?: boolean; + enableLabel?: boolean; } export interface SmallBarsData { - id: string; - name: string; - key: string; - value: number; - area: number; + group: string; + data: Array<{ category: string; value: number | string }>; } interface State { - selectedIndexValue: string; + selectedIndexValue: string | number; } class SmallBars extends React.Component { @@ -38,96 +53,124 @@ class SmallBars extends React.Component { render() { const { data, + keys, + tooltips, height = 250, colors, - units = "ha", onClickHandler, - labelX, + groupMode = "stacked", + marginLeft = 90, + axisXenable = false, + axisYenable = false, + axisYLegend = "", + axisXLegend = "", + axisXFormat = ".2f", + enableLabel = false, } = this.props; const { selectedIndexValue } = this.state; const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { - id: String(element.id), + group: element.group, }; - object[String(element.id)] = Number(element.value); - object[`${String(element.id)}Label`] = element.name; - object[`${String(element.id)}Color`] = colors(element.key); - object[`${String(element.id)}DarkenColor`] = darkenColor( - colors(element.key), - 15 - ); - object[`${String(element.id)}Area`] = Number(element.area); + element.data.forEach((item) => { + object[item.category] = item.value; + }); return object; }); return transformedData; }; - /** - * Get keys to be passed to component as a prop - * - * @returns {array} ids of each bar category removing duplicates - */ - const keys = data ? [...new Set(data.map((item) => String(item.id)))] : []; - return (
    { if (indexValue === selectedIndexValue) { - return String(allData[`${id}DarkenColor`]); + return darkenColor(colors(String(id)), 15); } - return String(allData[`${id}Color`]); - }} - enableGridY={false} - enableGridX - axisLeft={null} - axisBottom={{ - tickSize: 0, - tickPadding: 0, - tickRotation: 0, - format: ".2f", - legend: labelX, - legendPosition: "start", - legendOffset: 25, + return colors(String(id)); }} - enableLabel label={({ value }) => (value ? formatNumber(value, 2) : "")} animate - tooltip={({ id, data: allData, color }) => ( -
    - {allData[`${id}Label`]} -
    - {formatNumber(allData[id], 2)} -
    - {`${formatNumber(allData[`${id}Area`], 2)} ${units}`} -
    -
    - )} theme={{ axis: { legend: { text: { fontSize: "14" } }, }, }} - onClick={({ indexValue }) => { - this.setState({ selectedIndexValue: String(indexValue) }); - onClickHandler(String(indexValue)); + tooltip={({ id, indexValue, color }) => { + const currentVal = tooltips.find( + (e) => e.category == id && e.group === indexValue + ); + const tooltipRows = currentVal + ? currentVal.tooltipContent.slice(1) + : []; + + return ( +
    + + {currentVal ? currentVal.tooltipContent[0] : ""} + +
    + {tooltipRows.map((rowValue, i) => { + return ( + + {rowValue} +
    +
    + ); + })} +
    +
    + ); + }} + onClick={({ id, indexValue }) => { + this.setState({ selectedIndexValue: indexValue }); + onClickHandler(String(indexValue), String(id)); }} />
    From 4c8d81ebd8582ffe3dbae0b7234bd664038f02da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 15:58:34 -0500 Subject: [PATCH 321/664] Delete unused props --- src/pages/search/shared_components/charts/SmallBars.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index de40d0c8f..53e42d056 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -27,8 +27,6 @@ interface Props { axisXLegend?: string; axisYLegend?: string; axisXFormat?: string; - enableAxisX?: boolean; - enableAxisY?: boolean; enableLabel?: boolean; } From dd8d8bb18a215bea86fa54d03d70ead4fded257c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:01:36 -0500 Subject: [PATCH 322/664] Update Transformation Data Function --- .../conservationAreas/TargetsController.ts | 64 +++++++++++-------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index bd5fb40ae..4f068c44e 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -1,8 +1,9 @@ -import { MultiSmallBarsData } from "pages/search/shared_components/charts/MultiSmallBars"; +import { SmallBarsData } from "pages/search/shared_components/charts/SmallBars"; import { portfoliosByTarget, portfolioData, } from "pages/search/types/portfolios"; +import formatNumber from "utils/format"; export class TargetsController { constructor() {} @@ -12,35 +13,46 @@ export class TargetsController { * * @param {Array} rawData raw data from RestAPI * - * @returns {Array} transformed data ready to be used by graph component + * @returns {Array} transformed data ready to be used by graph component */ getGraphData(rawData: Array) { - const transformedData: Array = rawData.map( - (element) => { - const objectData: Array<{ - area: number; - key: string; - percentage: number; - label: string; - }> = []; - element.portfolios_data.forEach((item: portfolioData) => { - const info = { - key: item.short_name, - area: item.value, - label: item.name, - percentage: (item.value / element.target_national) * 100, - }; - objectData.push(info); + const tooltips: Array<{ + group: string; + category: string; + tooltipContent: Array; + }> = []; + const transformedData: Array = rawData.map((element) => { + const objectData: Array<{ category: string; value: number }> = []; + element.portfolios_data.forEach((item: portfolioData) => { + const percentage = (item.value / element.target_national) * 100; + const info = { + category: item.short_name, + value: percentage, + }; + objectData.push(info); + + tooltips.push({ + group: element.target_name, + category: item.short_name, + tooltipContent: [ + item.name, + `${formatNumber(percentage, 2)} %`, + `${formatNumber(item.value, 2)} c`, + ], }); + }); - const object = { - id: element.target_name, - data: objectData, - }; - return object; - } - ); + const object = { + group: element.target_name, + data: objectData, + }; + return object; + }); + + const keys = rawData[0] + ? rawData[0].portfolios_data.map((item) => String(item.short_name)) + : []; - return transformedData; + return { transformedData, keys, tooltips }; } } From 839d12dc296139c8d05e16764db400b39b7ed7f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:03:08 -0500 Subject: [PATCH 323/664] Update Targets Graph to use SmallBars --- .../portfolios/conservationAreas/Targets.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 04743cb20..32103cfb5 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -6,9 +6,7 @@ import { LegendColor } from "pages/search/shared_components/CssLegends"; import matchColor from "utils/matchColor"; import ShortInfo from "components/ShortInfo"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; -import MultiSmallBars, { - MultiSmallBarsData, -} from "pages/search/shared_components/charts/MultiSmallBars"; +import SmallBars from "pages/search/shared_components/charts/SmallBars"; import { TargetsController } from "pages/search/drawer/portfolios/conservationAreas/TargetsController"; import { portfoliosByTarget, target } from "pages/search/types/portfolios"; @@ -121,6 +119,8 @@ class Targets extends React.Component { const { areaId, geofenceId } = this.context as SearchContextValues; const { showInfoGraph, loading, texts, targetsData, csvData } = this.state; + const graphData = this.targetsController.getGraphData(targetsData); + return (

    @@ -139,16 +139,17 @@ class Targets extends React.Component { /> )}
    - {}} height={500} selectedIndexValue="WCMC" groupMode="grouped" - toolTipValue="percentage" innerPadding={0.5} marginLeft={145} /> From 609662ee396f4659369867edfd27a5b4924492c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:08:19 -0500 Subject: [PATCH 324/664] Update Forest And Persistence Transformation Data Function --- .../forest/ForestLossPersistenceController.ts | 50 +++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 27dabe6ba..2a9d75f19 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -1,6 +1,10 @@ -import { MultiSmallBarsData } from "pages/search/shared_components/charts/MultiSmallBars"; +import { SmallBarsData } from "pages/search/shared_components/charts/SmallBars"; import SearchAPI from "utils/searchAPI"; +import { + ForestLP, +} from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; +import formatNumber from "utils/format"; const getLabel = { persistencia: "Persistencia", @@ -10,7 +14,7 @@ const getLabel = { }; interface ForestLPData { - forestLP: Array; + forestLP: Array; forestPersistenceValue: number; } @@ -58,6 +62,46 @@ export class ForestLossPersistenceController { throw new Error("Error getting data"); }); + /** + * Transform data structure to be passed to component as a prop + * + * @param {Array} rawData raw data from RestAPI + * + * @returns {Array} transformed data ready to be used by graph component + */ + getGraphData(rawData: Array) { + const tooltips: Array<{group: string, category: string, tooltipContent: Array}> = []; + const transformedData: Array = rawData.map( + (element) => { + const objectData: Array<{ + category: string; + value: number; + }> = []; + element.data.forEach((item) => { + const info = { + category: item.key, + value: item.area + }; + objectData.push(info); + + tooltips.push({ group: element.id, category: item.key, tooltipContent: [item.label, `${formatNumber(item.area, 2)} ha`]}); + }); + + const object = { + group: element.id, + data: objectData, + }; + return object; + } + ); + + const keys = rawData[0] + ? rawData[0].data.map((item: { key: string }) => String(item.key)) + : []; + + return {transformedData, keys, tooltips }; + } + /** * Returns texts of the forestLP section * @@ -79,7 +123,7 @@ export class ForestLossPersistenceController { * * @returns {Object[]} persistenceData graph data transformed to be downloaded in a csv file */ - getDownloadData(data: Array) { + getDownloadData(data: Array) { const result: Array<{ period: string; category: string; From 5af14419f2a42668213e94111131aadcae0f0a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:10:49 -0500 Subject: [PATCH 325/664] Update Forest LossAndPersistence Graph to use SmallBars --- .../forest/ForestLossPersistence.tsx | 21 ++++--- .../forest/ForestLossPersistenceController.ts | 62 ++++++++++--------- 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 9948ffae6..9e0eabd70 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -8,9 +8,8 @@ import matchColor from "utils/matchColor"; import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import MultiSmallBars, { - MultiSmallBarsData, -} from "pages/search/shared_components/charts/MultiSmallBars"; +import { ForestLP } from "pages/search/types/forest"; +import SmallBars from "pages/search/shared_components/charts/SmallBars"; import { textsObject } from "pages/search/types/texts"; import { wrapperMessage } from "pages/search/types/charts"; import { ForestLossPersistenceController } from "pages/search/drawer/landscape/forest/ForestLossPersistenceController"; @@ -18,7 +17,7 @@ import { ForestLossPersistenceController } from "pages/search/drawer/landscape/f interface Props {} interface State { showInfoGraph: boolean; - forestLP: Array; + forestLP: Array; message: wrapperMessage; forestPersistenceValue: number; texts: { @@ -97,6 +96,8 @@ class ForestLossPersistence extends React.Component { const { areaId, geofenceId, handlerClickOnGraph } = this .context as SearchContextValues; + const graphData = this.flpController.getGraphData(forestLP); + return (

    @@ -126,10 +127,16 @@ class ForestLossPersistence extends React.Component {
    Cobertura de bosque en el tiempo

    - { handlerClickOnGraph({ diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 2a9d75f19..b01e4edcf 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -1,8 +1,6 @@ import { SmallBarsData } from "pages/search/shared_components/charts/SmallBars"; import SearchAPI from "utils/searchAPI"; -import { - ForestLP, -} from "pages/search/types/forest"; +import { ForestLP } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; import formatNumber from "utils/format"; @@ -69,37 +67,43 @@ export class ForestLossPersistenceController { * * @returns {Array} transformed data ready to be used by graph component */ - getGraphData(rawData: Array) { - const tooltips: Array<{group: string, category: string, tooltipContent: Array}> = []; - const transformedData: Array = rawData.map( - (element) => { - const objectData: Array<{ - category: string; - value: number; - }> = []; - element.data.forEach((item) => { - const info = { - category: item.key, - value: item.area - }; - objectData.push(info); + getGraphData(rawData: Array) { + const tooltips: Array<{ + group: string; + category: string; + tooltipContent: Array; + }> = []; + const transformedData: Array = rawData.map((element) => { + const objectData: Array<{ + category: string; + value: number; + }> = []; + element.data.forEach((item) => { + const info = { + category: item.key, + value: item.area, + }; + objectData.push(info); - tooltips.push({ group: element.id, category: item.key, tooltipContent: [item.label, `${formatNumber(item.area, 2)} ha`]}); + tooltips.push({ + group: element.id, + category: item.key, + tooltipContent: [item.label, `${formatNumber(item.area, 2)} ha`], }); + }); + + const object = { + group: element.id, + data: objectData, + }; + return object; + }); - const object = { - group: element.id, - data: objectData, - }; - return object; - } - ); - const keys = rawData[0] - ? rawData[0].data.map((item: { key: string }) => String(item.key)) - : []; + ? rawData[0].data.map((item: { key: string }) => String(item.key)) + : []; - return {transformedData, keys, tooltips }; + return { transformedData, keys, tooltips }; } /** From f53c52ef6738a44201768ec5cbfefa6a0f3d22d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:12:03 -0500 Subject: [PATCH 326/664] Update Loss And Persistence Types --- src/pages/search/types/forest.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/search/types/forest.ts b/src/pages/search/types/forest.ts index 3b9e8d77f..e0d181ef7 100644 --- a/src/pages/search/types/forest.ts +++ b/src/pages/search/types/forest.ts @@ -21,5 +21,6 @@ export interface ForestLP { area: number; key: typeof ForestLPKeys[number]; percentage: number; + label: string; }>; } From 454c7517315a95507a2447ec0e1f79b36a37ee59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:17:12 -0500 Subject: [PATCH 327/664] Update Current PA Connectivity Transformation Data Function --- .../CurrentPAConnectivityController.ts | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts new file mode 100644 index 000000000..06abddbcd --- /dev/null +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts @@ -0,0 +1,51 @@ +import { SmallBarsData } from "pages/search/shared_components/charts/SmallBars"; +import { DPC } from "pages/search/types/connectivity"; +import formatNumber from "utils/format"; + +export class CurrentPAConnectivityController { + constructor() {} + + /** + * Transform data structure to be passed to component as a prop + * + * @param {Array} rawData raw data from RestAPI + * + * @returns {Array} transformed data ready to be used by graph component + */ + getGraphData(rawData: Array) { + const tooltips: Array<{ + group: string; + category: string; + tooltipContent: Array; + }> = []; + const transformedData: Array = rawData.map((element) => { + const object = { + group: element.id, + data: [ + { + category: element.key, + value: element.value, + }, + ], + }; + + tooltips.push({ + group: element.id, + category: element.key, + tooltipContent: [ + element.name, + `${formatNumber(element.value, 2)}`, + `${formatNumber(element.area, 2)} ha`, + ], + }); + + return object; + }); + + const keys = rawData + ? [...new Set(rawData.map((item) => String(item.key)))] + : []; + + return { transformedData, keys, tooltips }; + } +} From 44552eb72229e98598097631afe7eac6092c2d96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:18:28 -0500 Subject: [PATCH 328/664] Update Current PA Connectivity Graph to use current SmallBars --- .../connectivity/CurrentPAConnectivity.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 938346f15..42cf78d57 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -15,6 +15,7 @@ import { textsObject } from "pages/search/types/texts"; import SmallBars from "pages/search/shared_components/charts/SmallBars"; import { wrapperMessage } from "pages/search/types/charts"; import LargeStackedBar from "pages/search/shared_components/charts/LargeStackedBar"; +import { CurrentPAConnectivityController } from "pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController"; const getLabel = { unprot: "No protegida", @@ -53,9 +54,11 @@ interface currentPAConnState { class CurrentPAConnectivity extends React.Component { mounted = false; + CPACController; constructor(props: Props) { super(props); + this.CPACController = new CurrentPAConnectivityController(); this.state = { infoShown: new Set(["current"]), currentPAConnData: [], @@ -177,6 +180,8 @@ class CurrentPAConnectivity extends React.Component { messages: { conn, dpc: dpcMess }, texts, } = this.state; + const graphData = this.CPACController.getGraphData(dpcData); + return (

    @@ -252,14 +257,18 @@ class CurrentPAConnectivity extends React.Component {

    handlerClickOnGraph({ selectedKey: selected }) } - labelX="dPC" - units="ha" + axisXenable={true} + axisXLegend="dPC" + enableLabel={true} + marginLeft={40} />
    From 7edeb39807a6465ce2e6e94b809853da23974f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 19 Oct 2022 16:19:44 -0500 Subject: [PATCH 329/664] Delete MultiSmallBars Component --- .../charts/MultiSmallBars.tsx | 164 ------------------ 1 file changed, 164 deletions(-) delete mode 100644 src/pages/search/shared_components/charts/MultiSmallBars.tsx diff --git a/src/pages/search/shared_components/charts/MultiSmallBars.tsx b/src/pages/search/shared_components/charts/MultiSmallBars.tsx deleted file mode 100644 index 643e10dd9..000000000 --- a/src/pages/search/shared_components/charts/MultiSmallBars.tsx +++ /dev/null @@ -1,164 +0,0 @@ -import React from "react"; -import { ResponsiveBar } from "@nivo/bar"; - -import { darkenColor } from "utils/colorUtils"; -import formatNumber from "utils/format"; -import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; - -interface Props { - data: Array; - height?: number; - colors: (key: string) => string; - groupMode?: "grouped" | "stacked"; - units?: string; - onClickHandler: (period: string, key: string) => void; - selectedIndexValue: string; - toolTipValue?: string; - axisLeftLegend?: string; - axisBottomLegend?: string; - innerPadding?: number; - marginLeft?: number; -} - -export interface MultiSmallBarsData { - id: string; - data: Array<{ - area: number; - key: string; - percentage: number; - label: string; - }>; -} - -interface State { - selectedIndexValue: string | number; -} - -class MultiSmallBars extends React.Component { - constructor(props: Props) { - super(props); - this.state = { - selectedIndexValue: props.selectedIndexValue, - }; - } - - render() { - const { - data, - height = 250, - colors, - axisLeftLegend = "", - axisBottomLegend = "", - groupMode = "stacked", - units = "ha", - toolTipValue, - innerPadding = 0, - marginLeft = 90, - onClickHandler, - } = this.props; - const { selectedIndexValue } = this.state; - - /** - * Transform data structure to be passed to component as a prop - * - * @param {array} rawData raw data from RestAPI - * @returns {array} transformed data ready to be used by graph component - */ - const transformData = (rawData: Array) => { - const transformedData = rawData.map((element) => { - const object: Record = { - key: element.id, - }; - element.data.forEach((item) => { - object[item.key] = item.area; - object[`${item.key}Label`] = item.label; - object[`${item.key}Percentage`] = item.percentage; - }); - return object; - }); - return transformedData; - }; - - /** - * Get keys to be passed to component as a prop - * - * @returns {array} ids of each bar category - */ - const keys = data[0] ? data[0].data.map((item) => String(item.key)) : []; - - return ( -
    - { - if (indexValue === selectedIndexValue) { - return darkenColor(colors(String(id)), 15); - } - return colors(String(id)); - }} - enableGridY={false} - enableGridX - axisLeft={{ - tickSize: 3, - tickPadding: 5, - tickRotation: 0, - legend: `${axisLeftLegend}`, - legendPosition: "middle", - legendOffset: -80, - }} - axisBottom={{ - tickSize: 0, - tickPadding: 0, - tickRotation: 0, - format: ".2s", - legend: `${axisBottomLegend}`, - legendPosition: "start", - legendOffset: 25, - }} - enableLabel={false} - animate - tooltip={({ id, data: allData, color }) => ( -
    - {allData[`${id}Label`]} -
    - {`${formatNumber( - toolTipValue === "percentage" - ? allData[`${id}Percentage`] - : allData[id], - 0 - )} ${units}`} -
    -
    - )} - theme={{ - axis: { - legend: { text: { fontSize: "14" } }, - }, - }} - onClick={({ id, indexValue }) => { - this.setState({ selectedIndexValue: indexValue }); - onClickHandler(String(indexValue), String(id)); - }} - /> -
    - ); - } -} - -export default withMessageWrapper(MultiSmallBars); From 2eb975d1d4fecca7d030ac17c0d81701ec652a25 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 10:42:31 -0500 Subject: [PATCH 330/664] Delete unused props --- .../search/drawer/landscape/forest/ForestLossPersistence.tsx | 2 -- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 1 - src/pages/search/shared_components/charts/SmallBars.tsx | 4 ---- 3 files changed, 7 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 9e0eabd70..5c05279f0 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -146,8 +146,6 @@ class ForestLossPersistence extends React.Component { }); }} selectedIndexValue="2016-2021" - axisLeftLegend="Periodo" - axisBottomLegend="Hectáreas" />
    { height={500} selectedIndexValue="WCMC" groupMode="grouped" - innerPadding={0.5} marginLeft={145} />
    diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 53e42d056..612cc1256 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -14,13 +14,9 @@ interface Props { }>; height?: number; colors: (key: string) => string; - units?: string; onClickHandler: (group: string, category: string) => void; selectedIndexValue?: string; groupMode?: "grouped" | "stacked"; - axisLeftLegend?: string; - axisBottomLegend?: string; - innerPadding?: number; marginLeft?: number; axisXenable?: boolean; axisYenable?: boolean; From c0495fd0e39d6fd66d70cc47d606c98ee0905f2d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 12:29:17 -0500 Subject: [PATCH 331/664] Unify props for Y and X axis --- .../connectivity/CurrentPAConnectivity.tsx | 7 ++-- .../forest/ForestLossPersistence.tsx | 14 +++++--- .../portfolios/conservationAreas/Targets.tsx | 5 ++- .../shared_components/charts/SmallBars.tsx | 35 +++++++++++++------ 4 files changed, 43 insertions(+), 18 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 42cf78d57..ef2cb2650 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -265,8 +265,11 @@ class CurrentPAConnectivity extends React.Component { onClickHandler={(selected: string) => handlerClickOnGraph({ selectedKey: selected }) } - axisXenable={true} - axisXLegend="dPC" + axisX={{ + enabled: true, + legend: "dPC", + format: ".2f", + }} enableLabel={true} marginLeft={40} /> diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 5c05279f0..47e9c160d 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -132,11 +132,15 @@ class ForestLossPersistence extends React.Component { keys={graphData.keys} tooltips={graphData.tooltips} message={message} - axisXenable={true} - axisYenable={true} - axisXLegend="Hectáreas" - axisYLegend="Periodo" - axisXFormat=".2s" + axisY={{ + enabled: true, + legend: "Periodo" + }} + axisX={{ + enabled: true, + legend: "Hectáreas", + format: ".2s", + }} colors={matchColor("forestLP")} onClickHandler={(period, key) => { handlerClickOnGraph({ diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 250e27441..f19231534 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -145,7 +145,10 @@ class Targets extends React.Component { tooltips={graphData.tooltips} message={loading} colors={matchColor("caTargets")} - axisYenable={true} + axisY={{ + enabled: true, + legend: '', + }} onClickHandler={() => {}} height={500} selectedIndexValue="WCMC" diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 612cc1256..7959388ab 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -24,6 +24,15 @@ interface Props { axisYLegend?: string; axisXFormat?: string; enableLabel?: boolean; + axisY?: { + enabled?: boolean; + legend?: string; + }; + axisX?: { + enabled?: boolean; + legend?: string; + format?: string; + }; } export interface SmallBarsData { @@ -54,11 +63,15 @@ class SmallBars extends React.Component { onClickHandler, groupMode = "stacked", marginLeft = 90, - axisXenable = false, - axisYenable = false, - axisYLegend = "", - axisXLegend = "", - axisXFormat = ".2f", + axisY = { + enabled : false, + legend : '', + }, + axisX = { + enabled : false, + legend : "", + format: ".2f", + }, enableLabel = false, } = this.props; const { selectedIndexValue } = this.state; @@ -76,6 +89,8 @@ class SmallBars extends React.Component { return transformedData; }; + console.log('axisY', axisY); + return (
    { enableGridY={false} enableGridX axisLeft={ - axisYenable + axisY && axisY.enabled ? { tickSize: 3, tickPadding: 5, tickRotation: 0, - legend: `${axisYLegend}`, + legend: `${axisY.legend}`, legendPosition: "middle", legendOffset: -80, } : null } axisBottom={ - axisXenable + axisX && axisX.enabled ? { tickSize: 0, tickPadding: 0, tickRotation: 0, - format: `${axisXFormat}`, - legend: `${axisXLegend}`, + format: `${axisX.format}`, + legend: `${axisX.legend}`, legendPosition: "start", legendOffset: 25, } From 0ddb7756b8493e51588cd9d7c871c1455102792d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 12:52:44 -0500 Subject: [PATCH 332/664] Some changes over variable names and set a new type for tooltips --- .../conservationAreas/TargetsController.ts | 29 +++++++++---------- .../shared_components/charts/SmallBars.tsx | 20 ++++++------- src/pages/search/types/charts.ts | 6 ++++ 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index 4f068c44e..7c7b04874 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -1,8 +1,9 @@ -import { SmallBarsData } from "pages/search/shared_components/charts/SmallBars"; +import { SmallBarsData, SmallBarsDataDetails } from "pages/search/shared_components/charts/SmallBars"; import { portfoliosByTarget, portfolioData, } from "pages/search/types/portfolios"; +import { SmallBarTooltip } from "pages/search/types/charts"; import formatNumber from "utils/format"; export class TargetsController { @@ -16,34 +17,30 @@ export class TargetsController { * @returns {Array} transformed data ready to be used by graph component */ getGraphData(rawData: Array) { - const tooltips: Array<{ - group: string; - category: string; - tooltipContent: Array; - }> = []; - const transformedData: Array = rawData.map((element) => { - const objectData: Array<{ category: string; value: number }> = []; - element.portfolios_data.forEach((item: portfolioData) => { - const percentage = (item.value / element.target_national) * 100; + const tooltips: Array = []; + const transformedData: Array = rawData.map((target) => { + const objectData: Array = []; + target.portfolios_data.forEach((portfolio: portfolioData) => { + const percentage = (portfolio.value / target.target_national) * 100; const info = { - category: item.short_name, + category: portfolio.short_name, value: percentage, }; objectData.push(info); tooltips.push({ - group: element.target_name, - category: item.short_name, + group: target.target_name, + category: portfolio.short_name, tooltipContent: [ - item.name, + portfolio.name, `${formatNumber(percentage, 2)} %`, - `${formatNumber(item.value, 2)} c`, + `${formatNumber(portfolio.value, 2)} c`, ], }); }); const object = { - group: element.target_name, + group: target.target_name, data: objectData, }; return object; diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 7959388ab..eb528fbbb 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -3,15 +3,12 @@ import { ResponsiveBar } from "@nivo/bar"; import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; +import { SmallBarTooltip } from "pages/search/types/charts"; interface Props { data: Array; keys: Array; - tooltips: Array<{ - group: string; - category: string; - tooltipContent: Array; - }>; + tooltips: Array; height?: number; colors: (key: string) => string; onClickHandler: (group: string, category: string) => void; @@ -35,9 +32,14 @@ interface Props { }; } +export interface SmallBarsDataDetails { + category: string; + value: number | string; +} + export interface SmallBarsData { group: string; - data: Array<{ category: string; value: number | string }>; + data: Array; } interface State { @@ -89,8 +91,6 @@ class SmallBars extends React.Component { return transformedData; }; - console.log('axisY', axisY); - return (
    {
    {tooltipRows.map((rowValue, i) => { return ( - +
    {rowValue}
    - +
    ); })}
    diff --git a/src/pages/search/types/charts.ts b/src/pages/search/types/charts.ts index c03a42efa..d7be8fa5a 100644 --- a/src/pages/search/types/charts.ts +++ b/src/pages/search/types/charts.ts @@ -1 +1,7 @@ export type wrapperMessage = "loading" | "no-data" | "custom" | null; + +export interface SmallBarTooltip { + group: string; + category: string; + tooltipContent: Array; +} From 9067adbcc6a55397b8774ef5a7502b8bfe0acfdd Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 13:33:24 -0500 Subject: [PATCH 333/664] Use set instead of an array to store keys --- .../portfolios/conservationAreas/TargetsController.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index 7c7b04874..4a83f2b30 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -18,6 +18,7 @@ export class TargetsController { */ getGraphData(rawData: Array) { const tooltips: Array = []; + const portfolios: Set = new Set(); const transformedData: Array = rawData.map((target) => { const objectData: Array = []; target.portfolios_data.forEach((portfolio: portfolioData) => { @@ -37,6 +38,10 @@ export class TargetsController { `${formatNumber(portfolio.value, 2)} c`, ], }); + + if(!portfolios.has(portfolio.short_name)) { + portfolios.add(portfolio.short_name) + } }); const object = { @@ -46,10 +51,6 @@ export class TargetsController { return object; }); - const keys = rawData[0] - ? rawData[0].portfolios_data.map((item) => String(item.short_name)) - : []; - - return { transformedData, keys, tooltips }; + return { transformedData, keys: Array.from(portfolios), tooltips }; } } From 1f79ecd258753ac84d6a2b179464f8814e1f98ec Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 13:55:40 -0500 Subject: [PATCH 334/664] Change some variable names and use set to store keys instead of an array --- .../CurrentPAConnectivityController.ts | 36 ++++++++-------- .../forest/ForestLossPersistenceController.ts | 41 ++++++++----------- 2 files changed, 35 insertions(+), 42 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts index 06abddbcd..3e90df310 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts @@ -1,6 +1,7 @@ import { SmallBarsData } from "pages/search/shared_components/charts/SmallBars"; import { DPC } from "pages/search/types/connectivity"; import formatNumber from "utils/format"; +import { SmallBarTooltip } from "pages/search/types/charts"; export class CurrentPAConnectivityController { constructor() {} @@ -13,39 +14,36 @@ export class CurrentPAConnectivityController { * @returns {Array} transformed data ready to be used by graph component */ getGraphData(rawData: Array) { - const tooltips: Array<{ - group: string; - category: string; - tooltipContent: Array; - }> = []; - const transformedData: Array = rawData.map((element) => { + const tooltips: Array = []; + const categories: Set = new Set(); + const transformedData: Array = rawData.map((pa) => { const object = { - group: element.id, + group: pa.id, data: [ { - category: element.key, - value: element.value, + category: pa.key, + value: pa.value, }, ], }; tooltips.push({ - group: element.id, - category: element.key, + group: pa.id, + category: pa.key, tooltipContent: [ - element.name, - `${formatNumber(element.value, 2)}`, - `${formatNumber(element.area, 2)} ha`, + pa.name, + `${formatNumber(pa.value, 2)}`, + `${formatNumber(pa.area, 2)} ha`, ], }); + if(!categories.has(pa.key)) { + categories.add(pa.key) + } + return object; }); - const keys = rawData - ? [...new Set(rawData.map((item) => String(item.key)))] - : []; - - return { transformedData, keys, tooltips }; + return { transformedData, keys: Array.from(categories), tooltips }; } } diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index b01e4edcf..b4120bed5 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -1,8 +1,9 @@ -import { SmallBarsData } from "pages/search/shared_components/charts/SmallBars"; +import { SmallBarsData, SmallBarsDataDetails } from "pages/search/shared_components/charts/SmallBars"; import SearchAPI from "utils/searchAPI"; import { ForestLP } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; import formatNumber from "utils/format"; +import { SmallBarTooltip } from "pages/search/types/charts"; const getLabel = { persistencia: "Persistencia", @@ -68,42 +69,36 @@ export class ForestLossPersistenceController { * @returns {Array} transformed data ready to be used by graph component */ getGraphData(rawData: Array) { - const tooltips: Array<{ - group: string; - category: string; - tooltipContent: Array; - }> = []; - const transformedData: Array = rawData.map((element) => { - const objectData: Array<{ - category: string; - value: number; - }> = []; - element.data.forEach((item) => { + const tooltips: Array = []; + const categories: Set = new Set(); + const transformedData: Array = rawData.map((period) => { + const objectData: Array = []; + period.data.forEach((category) => { const info = { - category: item.key, - value: item.area, + category: category.key, + value: category.area, }; objectData.push(info); tooltips.push({ - group: element.id, - category: item.key, - tooltipContent: [item.label, `${formatNumber(item.area, 2)} ha`], + group: period.id, + category: category.key, + tooltipContent: [category.label, `${formatNumber(category.area, 2)} ha`], }); + + if(!categories.has(category.key)) { + categories.add(category.key) + } }); const object = { - group: element.id, + group: period.id, data: objectData, }; return object; }); - const keys = rawData[0] - ? rawData[0].data.map((item: { key: string }) => String(item.key)) - : []; - - return { transformedData, keys, tooltips }; + return { transformedData, keys: Array.from(categories), tooltips }; } /** From 751e6095a39a1bb7fb966f86ea6e75157ec29839 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 14:08:52 -0500 Subject: [PATCH 335/664] Change order of label prop --- src/pages/search/shared_components/charts/SmallBars.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index eb528fbbb..30803341e 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -135,13 +135,13 @@ class SmallBars extends React.Component { : null } enableLabel={enableLabel} + label={({ value }) => (value ? formatNumber(value, 2) : "")} colors={({ id, indexValue, data: allData }) => { if (indexValue === selectedIndexValue) { return darkenColor(colors(String(id)), 15); } return colors(String(id)); }} - label={({ value }) => (value ? formatNumber(value, 2) : "")} animate theme={{ axis: { From 2f64612af1e4726b7f35921c4e219608712b0a78 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 14:25:41 -0500 Subject: [PATCH 336/664] Create a new prop maxValue in SmallBars --- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 1 + src/pages/search/shared_components/charts/SmallBars.tsx | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index f19231534..85c4f6bf7 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -153,6 +153,7 @@ class Targets extends React.Component { height={500} selectedIndexValue="WCMC" groupMode="grouped" + maxValue={100} marginLeft={145} />
    diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 30803341e..bacc69c27 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -14,6 +14,7 @@ interface Props { onClickHandler: (group: string, category: string) => void; selectedIndexValue?: string; groupMode?: "grouped" | "stacked"; + maxValue?: number | "auto"; marginLeft?: number; axisXenable?: boolean; axisYenable?: boolean; @@ -64,6 +65,7 @@ class SmallBars extends React.Component { colors, onClickHandler, groupMode = "stacked", + maxValue = "auto", marginLeft = 90, axisY = { enabled : false, @@ -99,6 +101,7 @@ class SmallBars extends React.Component { indexBy="group" layout="horizontal" groupMode={groupMode} + maxValue={maxValue} margin={{ top: 20, right: 15, From 23bee202d9f60b9adcb73d7eb4b51f17d0a9baa9 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 14:33:10 -0500 Subject: [PATCH 337/664] Run prettier --- .../CurrentPAConnectivityController.ts | 4 ++-- .../landscape/forest/ForestLossPersistence.tsx | 2 +- .../forest/ForestLossPersistenceController.ts | 14 ++++++++++---- .../portfolios/conservationAreas/Targets.tsx | 2 +- .../conservationAreas/TargetsController.ts | 9 ++++++--- .../search/shared_components/charts/SmallBars.tsx | 10 +++++----- 6 files changed, 25 insertions(+), 16 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts index 3e90df310..587163f29 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivityController.ts @@ -37,8 +37,8 @@ export class CurrentPAConnectivityController { ], }); - if(!categories.has(pa.key)) { - categories.add(pa.key) + if (!categories.has(pa.key)) { + categories.add(pa.key); } return object; diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 47e9c160d..a6e75442d 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -134,7 +134,7 @@ class ForestLossPersistence extends React.Component { message={message} axisY={{ enabled: true, - legend: "Periodo" + legend: "Periodo", }} axisX={{ enabled: true, diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index b4120bed5..c3aacb539 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -1,4 +1,7 @@ -import { SmallBarsData, SmallBarsDataDetails } from "pages/search/shared_components/charts/SmallBars"; +import { + SmallBarsData, + SmallBarsDataDetails, +} from "pages/search/shared_components/charts/SmallBars"; import SearchAPI from "utils/searchAPI"; import { ForestLP } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; @@ -83,11 +86,14 @@ export class ForestLossPersistenceController { tooltips.push({ group: period.id, category: category.key, - tooltipContent: [category.label, `${formatNumber(category.area, 2)} ha`], + tooltipContent: [ + category.label, + `${formatNumber(category.area, 2)} ha`, + ], }); - if(!categories.has(category.key)) { - categories.add(category.key) + if (!categories.has(category.key)) { + categories.add(category.key); } }); diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 85c4f6bf7..06d3f560a 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -147,7 +147,7 @@ class Targets extends React.Component { colors={matchColor("caTargets")} axisY={{ enabled: true, - legend: '', + legend: "", }} onClickHandler={() => {}} height={500} diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index 4a83f2b30..dcb558193 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -1,4 +1,7 @@ -import { SmallBarsData, SmallBarsDataDetails } from "pages/search/shared_components/charts/SmallBars"; +import { + SmallBarsData, + SmallBarsDataDetails, +} from "pages/search/shared_components/charts/SmallBars"; import { portfoliosByTarget, portfolioData, @@ -39,8 +42,8 @@ export class TargetsController { ], }); - if(!portfolios.has(portfolio.short_name)) { - portfolios.add(portfolio.short_name) + if (!portfolios.has(portfolio.short_name)) { + portfolios.add(portfolio.short_name); } }); diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index bacc69c27..f5723e950 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -34,7 +34,7 @@ interface Props { } export interface SmallBarsDataDetails { - category: string; + category: string; value: number | string; } @@ -68,12 +68,12 @@ class SmallBars extends React.Component { maxValue = "auto", marginLeft = 90, axisY = { - enabled : false, - legend : '', + enabled: false, + legend: "", }, axisX = { - enabled : false, - legend : "", + enabled: false, + legend: "", format: ".2f", }, enableLabel = false, From 532467c4934b0d8898d9f75946ceae1976fd81e7 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 15:01:46 -0500 Subject: [PATCH 338/664] Change type forestLP for forestLPExt --- .../landscape/forest/ForestLossPersistence.tsx | 4 ++-- .../forest/ForestLossPersistenceController.ts | 12 ++++++------ src/pages/search/types/forest.ts | 9 +++++++++ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index a6e75442d..97d9a5e7f 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -8,7 +8,7 @@ import matchColor from "utils/matchColor"; import formatNumber from "utils/format"; import TextBoxes from "pages/search/shared_components/TextBoxes"; -import { ForestLP } from "pages/search/types/forest"; +import { ForestLPExt } from "pages/search/types/forest"; import SmallBars from "pages/search/shared_components/charts/SmallBars"; import { textsObject } from "pages/search/types/texts"; import { wrapperMessage } from "pages/search/types/charts"; @@ -17,7 +17,7 @@ import { ForestLossPersistenceController } from "pages/search/drawer/landscape/f interface Props {} interface State { showInfoGraph: boolean; - forestLP: Array; + forestLP: Array; message: wrapperMessage; forestPersistenceValue: number; texts: { diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index c3aacb539..d81903fda 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -3,7 +3,7 @@ import { SmallBarsDataDetails, } from "pages/search/shared_components/charts/SmallBars"; import SearchAPI from "utils/searchAPI"; -import { ForestLP } from "pages/search/types/forest"; +import { ForestLPExt } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; import formatNumber from "utils/format"; import { SmallBarTooltip } from "pages/search/types/charts"; @@ -16,7 +16,7 @@ const getLabel = { }; interface ForestLPData { - forestLP: Array; + forestLP: Array; forestPersistenceValue: number; } @@ -67,11 +67,11 @@ export class ForestLossPersistenceController { /** * Transform data structure to be passed to component as a prop * - * @param {Array} rawData raw data from RestAPI + * @param {Array} rawData raw data from RestAPI * * @returns {Array} transformed data ready to be used by graph component */ - getGraphData(rawData: Array) { + getGraphData(rawData: Array) { const tooltips: Array = []; const categories: Set = new Set(); const transformedData: Array = rawData.map((period) => { @@ -124,11 +124,11 @@ export class ForestLossPersistenceController { /** * Returns data transformed to be downloaded in the csv file * - * @param {SmallStackedBarsData[]} data data array for SmallStackedBars graph in forest loss persistence tab + * @param {ForestLPExt[]} data data array for SmallStackedBars graph in forest loss persistence tab * * @returns {Object[]} persistenceData graph data transformed to be downloaded in a csv file */ - getDownloadData(data: Array) { + getDownloadData(data: Array) { const result: Array<{ period: string; category: string; diff --git a/src/pages/search/types/forest.ts b/src/pages/search/types/forest.ts index e0d181ef7..89035fc03 100644 --- a/src/pages/search/types/forest.ts +++ b/src/pages/search/types/forest.ts @@ -16,6 +16,15 @@ export interface SCIHF { } export interface ForestLP { + id: string; + data: Array<{ + area: number; + key: typeof ForestLPKeys[number]; + percentage: number; + }>; +} + +export interface ForestLPExt { id: string; data: Array<{ area: number; From 3dae34e07a2d78ea1509fe20407b49075baa41d3 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 16:26:52 -0500 Subject: [PATCH 339/664] Delete unused props and improve axisY and axisX prop definition --- .../portfolios/conservationAreas/Targets.tsx | 1 - .../shared_components/charts/SmallBars.tsx | 23 +++++-------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 06d3f560a..6ad32114f 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -147,7 +147,6 @@ class Targets extends React.Component { colors={matchColor("caTargets")} axisY={{ enabled: true, - legend: "", }} onClickHandler={() => {}} height={500} diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index f5723e950..50b70d8e1 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -16,11 +16,6 @@ interface Props { groupMode?: "grouped" | "stacked"; maxValue?: number | "auto"; marginLeft?: number; - axisXenable?: boolean; - axisYenable?: boolean; - axisXLegend?: string; - axisYLegend?: string; - axisXFormat?: string; enableLabel?: boolean; axisY?: { enabled?: boolean; @@ -67,17 +62,11 @@ class SmallBars extends React.Component { groupMode = "stacked", maxValue = "auto", marginLeft = 90, - axisY = { - enabled: false, - legend: "", - }, - axisX = { - enabled: false, - legend: "", - format: ".2f", - }, enableLabel = false, } = this.props; + let { axisY, axisX } = this.props; + axisY = { ...{enabled: false, legend: ""}, ...axisY}; + axisX = { ...{ enabled: false, legend: "", format: ".2f" }, ...axisX }; const { selectedIndexValue } = this.state; const transformData = (rawData: Array) => { @@ -113,7 +102,7 @@ class SmallBars extends React.Component { enableGridY={false} enableGridX axisLeft={ - axisY && axisY.enabled + axisY.enabled ? { tickSize: 3, tickPadding: 5, @@ -125,7 +114,7 @@ class SmallBars extends React.Component { : null } axisBottom={ - axisX && axisX.enabled + axisX.enabled ? { tickSize: 0, tickPadding: 0, @@ -139,7 +128,7 @@ class SmallBars extends React.Component { } enableLabel={enableLabel} label={({ value }) => (value ? formatNumber(value, 2) : "")} - colors={({ id, indexValue, data: allData }) => { + colors={({ id, indexValue }) => { if (indexValue === selectedIndexValue) { return darkenColor(colors(String(id)), 15); } From 98a233e9064f2444d9082824477ea5f4631d4c43 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 20 Oct 2022 16:30:29 -0500 Subject: [PATCH 340/664] Run prettier --- src/pages/search/shared_components/charts/SmallBars.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 50b70d8e1..a8fefabb3 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -65,7 +65,7 @@ class SmallBars extends React.Component { enableLabel = false, } = this.props; let { axisY, axisX } = this.props; - axisY = { ...{enabled: false, legend: ""}, ...axisY}; + axisY = { ...{ enabled: false, legend: "" }, ...axisY }; axisX = { ...{ enabled: false, legend: "", format: ".2f" }, ...axisX }; const { selectedIndexValue } = this.state; From 93bf678fb05460b31dd53cb9c8e12bf28e7ad26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 20 Oct 2022 18:15:30 -0500 Subject: [PATCH 341/664] Migrate data request to controller and keep targets order --- .../portfolios/conservationAreas/Targets.tsx | 49 +++++++------------ .../conservationAreas/TargetsController.ts | 21 ++++++++ 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 6ad32114f..180c5ce35 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -21,7 +21,6 @@ interface State { showInfoGraph: boolean; loading: wrapperMessage; texts: textsObject; - targetsList: Array; targetsData: Array; csvData: Array; } @@ -36,7 +35,6 @@ class Targets extends React.Component { this.state = { showInfoGraph: true, loading: "loading", - targetsList: [], targetsData: [], texts: { info: "", cons: "", meto: "", quote: "" }, csvData: [], @@ -63,16 +61,24 @@ class Targets extends React.Component { switchLayer(""); - SearchAPI.requestTargetsList(areaId, geofenceId) - .then((res) => { + this.targetsController + .getData(areaId, geofenceId) + .then((targetsData) => { + const data: Array<{ idx: number; target: portfoliosByTarget }> = []; if (this.mounted) { - this.setState({ - targetsList: res, - loading: null, //Ajustar el manejo de este mensaje cuando el gráfico este finalizado - }); - - res.forEach((element) => { - this.getPortfolioData(element.id); + targetsData.forEach((targetProm, idx) => { + targetProm.then((target) => { + data.push({ idx, target }); + data.sort((a, b) => { + if (a.idx < b.idx) return 1; + if (a.idx > b.idx) return -1; + return 0; + }); + this.setState({ + targetsData: data.map((d) => d.target), + loading: null, + }); + }); }); } }) @@ -94,27 +100,6 @@ class Targets extends React.Component { })); }; - /** - * Get data about selected target - * - * @param {number} targetId portfolio target id - */ - getPortfolioData = (targetId: number) => { - const { areaId, geofenceId } = this.context as SearchContextValues; - - SearchAPI.requestPortfoliosByTarget(areaId, geofenceId, targetId) - .then((res) => { - if (this.mounted) { - this.setState((prevState) => ({ - targetsData: [...prevState.targetsData, res], - })); - } - }) - .catch(() => { - this.setState({ loading: "no-data" }); - }); - }; - render() { const { areaId, geofenceId } = this.context as SearchContextValues; const { showInfoGraph, loading, texts, targetsData, csvData } = this.state; diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index dcb558193..2b69d137c 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -5,13 +5,34 @@ import { import { portfoliosByTarget, portfolioData, + target, } from "pages/search/types/portfolios"; import { SmallBarTooltip } from "pages/search/types/charts"; import formatNumber from "utils/format"; +import SearchAPI from "utils/searchAPI"; export class TargetsController { constructor() {} + /** + * Get the portfolios data for all the targets + * + * @param areaType area type + * @param areaId area id + * @returns Array of promises to be resolved with data for each target + */ + async getData(areaType: string, areaId: string | number) { + const targets = await SearchAPI.requestTargetsList(areaType, areaId); + return targets.map((target) => + SearchAPI.requestPortfoliosByTarget(areaType, areaId, target.id).then( + (res) => { + // Here would go the necessary transformations + return res; + } + ) + ); + } + /** * Transform data structure to be passed to component as a prop * From 69294d5a9c298d458694e18ca627e6dd7827205a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 20 Oct 2022 18:26:07 -0500 Subject: [PATCH 342/664] Load portfolios list from backend --- .../portfolios/conservationAreas/Targets.tsx | 48 +++++++++++++------ .../conservationAreas/TargetsController.ts | 10 +++- src/pages/search/types/portfolios.ts | 2 +- src/utils/searchAPI.ts | 16 ++++++- 4 files changed, 58 insertions(+), 18 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 180c5ce35..b91375195 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -9,11 +9,13 @@ import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import SmallBars from "pages/search/shared_components/charts/SmallBars"; import { TargetsController } from "pages/search/drawer/portfolios/conservationAreas/TargetsController"; -import { portfoliosByTarget, target } from "pages/search/types/portfolios"; +import { + portfoliosByTarget, + targetOrPortfolio, +} from "pages/search/types/portfolios"; import TextBoxes from "pages/search/shared_components/TextBoxes"; import { wrapperMessage } from "pages/search/types/charts"; import { textsObject } from "pages/search/types/texts"; -import SearchAPI from "utils/searchAPI"; interface Props {} @@ -22,6 +24,7 @@ interface State { loading: wrapperMessage; texts: textsObject; targetsData: Array; + availablePortfolios: Array; csvData: Array; } @@ -36,6 +39,7 @@ class Targets extends React.Component { showInfoGraph: true, loading: "loading", targetsData: [], + availablePortfolios: [], texts: { info: "", cons: "", meto: "", quote: "" }, csvData: [], }; @@ -85,6 +89,17 @@ class Targets extends React.Component { .catch(() => { this.setState({ loading: "no-data" }); }); + + this.targetsController + .getPortolfiosList() + .then((list) => { + if (this.mounted) { + this.setState({ availablePortfolios: list }); + } + }) + .catch(() => { + this.setState({ loading: "no-data" }); + }); } componentWillUnmount() { @@ -102,7 +117,14 @@ class Targets extends React.Component { render() { const { areaId, geofenceId } = this.context as SearchContextValues; - const { showInfoGraph, loading, texts, targetsData, csvData } = this.state; + const { + showInfoGraph, + loading, + texts, + targetsData, + csvData, + availablePortfolios, + } = this.state; const graphData = this.targetsController.getGraphData(targetsData); @@ -143,17 +165,15 @@ class Targets extends React.Component {
    - - WCNC - - - - ELSA - - - - Especies, Carbono, Agua - + {availablePortfolios.map((portfolio) => ( + + {portfolio.name} + + ))}
    ; } -export interface target { +export interface targetOrPortfolio { id: number; name: string; } diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 15df21c19..abee9661c 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -26,7 +26,10 @@ import { NOSThresholds, numberOfSpecies, } from "pages/search/types/richness"; -import { portfoliosByTarget, target } from "pages/search/types/portfolios"; +import { + portfoliosByTarget, + targetOrPortfolio, +} from "pages/search/types/portfolios"; import { geofenceDetails } from "pages/search/types/drawer"; class SearchAPI { /** ****** */ @@ -496,12 +499,21 @@ class SearchAPI { static requestTargetsList( areaType: string, areaId: number | string - ): Promise> { + ): Promise> { return SearchAPI.makeGetRequest( `portfolios-ca/targets/list?areaType=${areaType}&areaId=${areaId}` ); } + /** + * Get list of portfolios + * + * @return {Promise} Array of objects with targets list + */ + static requestPortfoliosList(): Promise> { + return SearchAPI.makeGetRequest(`portfolios-ca/portfolios/list`); + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From 030d965f5d5ec14466bf4559417da8c1b7b2e886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 20 Oct 2022 18:45:36 -0500 Subject: [PATCH 343/664] Improve data sorting --- .../portfolios/conservationAreas/Targets.tsx | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index b91375195..620065769 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -68,23 +68,18 @@ class Targets extends React.Component { this.targetsController .getData(areaId, geofenceId) .then((targetsData) => { - const data: Array<{ idx: number; target: portfoliosByTarget }> = []; - if (this.mounted) { - targetsData.forEach((targetProm, idx) => { - targetProm.then((target) => { - data.push({ idx, target }); - data.sort((a, b) => { - if (a.idx < b.idx) return 1; - if (a.idx > b.idx) return -1; - return 0; - }); + const data: Array = []; + targetsData.forEach((targetProm, idx) => { + targetProm.then((target) => { + if (this.mounted) { + data[targetsData.length - idx - 1] = target; this.setState({ - targetsData: data.map((d) => d.target), + targetsData: data.filter((p) => p !== undefined), loading: null, }); - }); + } }); - } + }); }) .catch(() => { this.setState({ loading: "no-data" }); From 2517ed806950d9814f04042f5081525477e656f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 20 Oct 2022 19:14:22 -0500 Subject: [PATCH 344/664] Create square filled legend and rename two other components to facilitate understanding --- .../connectivity/CurrentPAConnectivity.tsx | 6 +++--- .../landscape/forest/ForestIntegrity.tsx | 12 +++++------ .../portfolios/conservationAreas/Targets.tsx | 8 ++++---- .../species/richness/NumberOfSpecies.tsx | 6 +++--- .../species/richness/SpeciesRecordsGaps.tsx | 10 +++++----- .../search/shared_components/CssLegends.tsx | 20 +++++++++++++------ 6 files changed, 35 insertions(+), 27 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index ef2cb2650..211c377b1 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -1,7 +1,7 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; -import { LegendColor } from "pages/search/shared_components/CssLegends"; +import { PointFilledLegend } from "pages/search/shared_components/CssLegends"; import ShortInfo from "components/ShortInfo"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; @@ -276,9 +276,9 @@ class CurrentPAConnectivity extends React.Component {
    {DPCKeys.map((cat) => ( - + {legendDPCCategories[cat]} - + ))}
    {

    Haz clic en la gráfica para visualizar las áreas protegidas

    - + Límite de áreas protegidas - +
    { />
    {getSCIHFVals().map((cat) => ( - {SciHfCats[cat].label} - + ))}
    diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 620065769..dac774572 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -2,7 +2,7 @@ import React from "react"; import InfoIcon from "@mui/icons-material/Info"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; -import { LegendColor } from "pages/search/shared_components/CssLegends"; +import { SquareFilledLegend } from "pages/search/shared_components/CssLegends"; import matchColor from "utils/matchColor"; import ShortInfo from "components/ShortInfo"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; @@ -161,13 +161,13 @@ class Targets extends React.Component {
    {availablePortfolios.map((portfolio) => ( - {portfolio.name} - + ))}
    diff --git a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx index a05be20c2..748085161 100644 --- a/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx +++ b/src/pages/search/drawer/species/richness/NumberOfSpecies.tsx @@ -3,7 +3,7 @@ import InfoIcon from "@mui/icons-material/Info"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import { - LegendColor, + PointFilledLegend, LineLegend, TextLegend, ThickLineLegend, @@ -604,7 +604,7 @@ class NumberOfSpecies extends React.Component { legends.map((key) => { if (key === "inferred" || key === "observed") { return ( - { marginRight="6px" > {getLabel(`${key}2`, areaId, bioticRegion)} - + ); } return ( diff --git a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx index fb956edeb..2e6f0cc56 100644 --- a/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx +++ b/src/pages/search/drawer/species/richness/SpeciesRecordsGaps.tsx @@ -4,7 +4,7 @@ import InfoIcon from "@mui/icons-material/Info"; import { IconTooltip } from "pages/search/shared_components/Tooltips"; import { LineLegend, - LegendColor, + PointFilledLegend, } from "pages/search/shared_components/CssLegends"; import matchColor from "utils/matchColor"; import ShortInfo from "components/ShortInfo"; @@ -355,7 +355,7 @@ class SpeciesRecordsGaps extends React.Component {
    {messageGaps === null && ( - { marginRight="6px" > {getLabelGaps("value", areaId)} - + )} {messageGaps === null && gaps !== null && @@ -413,7 +413,7 @@ class SpeciesRecordsGaps extends React.Component {

    - { marginRight="6px" > {getLabelConcentration("value")} - + {concentration !== null && concentration.measures && Object.keys(concentration.measures).map((key) => ( diff --git a/src/pages/search/shared_components/CssLegends.tsx b/src/pages/search/shared_components/CssLegends.tsx index 0be74561b..73482867c 100644 --- a/src/pages/search/shared_components/CssLegends.tsx +++ b/src/pages/search/shared_components/CssLegends.tsx @@ -33,21 +33,28 @@ const PointLegend = styled(Legend)` } `; -interface PropsLegColor { +interface PropsFilledLeg { color: string; } -const LegendColor = styled(PointLegend)` +const PointFilledLegend = styled(PointLegend)` &:before { background-color: ${(props) => props.color}; } `; -interface PropsBorderLegColor { +const SquareFilledLegend = styled(PointLegend)` + &:before { + background-color: ${(props) => props.color}; + border-radius: 0; + } +`; + +interface PropsSquareBorderLeg { color: string; } -const BorderLegendColor = styled(PointLegend)` +const SquareBorderLegend = styled(PointLegend)` &:before { color: #ffffff; border: 2px solid ${(props) => props.color}; @@ -126,8 +133,9 @@ const TextLegend = styled(Legend)` `; export { - LegendColor, - BorderLegendColor, + PointFilledLegend, + SquareFilledLegend, + SquareBorderLegend, LineLegend, ThickLineLegend, TextLegend, From 600dc85ce9251d2cd8a913c40d577e301638c4de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 20 Oct 2022 19:50:38 -0500 Subject: [PATCH 345/664] Add checkbox to legends --- src/main.css | 9 +++ .../portfolios/conservationAreas/Targets.tsx | 72 +++++++++++-------- 2 files changed, 53 insertions(+), 28 deletions(-) diff --git a/src/main.css b/src/main.css index 581556ebc..f936950df 100644 --- a/src/main.css +++ b/src/main.css @@ -2113,6 +2113,15 @@ div[class*="eaRHYv"] { margin-right: 10px; } +.targetsLegend { + margin: 10px 0 10px 25px; +} + +.targetsLegend p { + margin: 0; + margin-left: 5px; +} + .innerInfo { text-transform: none !important; border: none !important; diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index dac774572..d116befb8 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -16,6 +16,7 @@ import { import TextBoxes from "pages/search/shared_components/TextBoxes"; import { wrapperMessage } from "pages/search/types/charts"; import { textsObject } from "pages/search/types/texts"; +import { Checkbox, FormControlLabel, FormGroup } from "@mui/material"; interface Props {} @@ -110,6 +111,10 @@ class Targets extends React.Component { })); }; + clickOnLegend = () => { + // TODO: hide / show portfolio layer + }; + render() { const { areaId, geofenceId } = this.context as SearchContextValues; const { @@ -140,35 +145,46 @@ class Targets extends React.Component { collapseButton={false} /> )} -
    - {}} - height={500} - selectedIndexValue="WCMC" - groupMode="grouped" - maxValue={100} - marginLeft={145} - /> -
    + {}} + height={450} + selectedIndexValue="WCMC" + groupMode="grouped" + maxValue={100} + marginLeft={145} + /> -
    - {availablePortfolios.map((portfolio) => ( - - {portfolio.name} - - ))} +
    + + {availablePortfolios.map((portfolio) => ( + + {portfolio.name} + + } + control={ + + } + /> + ))} +
    Date: Thu, 20 Oct 2022 20:05:58 -0500 Subject: [PATCH 346/664] Adjust chart margins --- .../connectivity/CurrentPAConnectivity.tsx | 2 +- .../portfolios/conservationAreas/Targets.tsx | 3 ++- .../shared_components/charts/SmallBars.tsx | 18 +++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 211c377b1..cb113615a 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -271,7 +271,7 @@ class CurrentPAConnectivity extends React.Component { format: ".2f", }} enableLabel={true} - marginLeft={40} + margin={{ left: 40 }} />
    diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index d116befb8..990f1f4f7 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -159,13 +159,14 @@ class Targets extends React.Component { selectedIndexValue="WCMC" groupMode="grouped" maxValue={100} - marginLeft={145} + margin={{ bottom: 5, left: 145 }} />
    {availablePortfolios.map((portfolio) => ( { onClickHandler, groupMode = "stacked", maxValue = "auto", - marginLeft = 90, enableLabel = false, } = this.props; - let { axisY, axisX } = this.props; + let { margin, axisY, axisX } = this.props; + margin = { ...{ top: 20, right: 15, bottom: 0, left: 90 }, ...margin }; axisY = { ...{ enabled: false, legend: "" }, ...axisY }; axisX = { ...{ enabled: false, legend: "", format: ".2f" }, ...axisX }; const { selectedIndexValue } = this.state; @@ -91,12 +96,7 @@ class SmallBars extends React.Component { layout="horizontal" groupMode={groupMode} maxValue={maxValue} - margin={{ - top: 20, - right: 15, - bottom: 50, - left: marginLeft, - }} + margin={margin} padding={0.35} borderColor={{ from: "color", modifiers: [["darker", 1.6]] }} enableGridY={false} From 6c80ddb99b9cde32d0bd855ce6eab667679e23d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 28 Oct 2022 10:10:39 -0500 Subject: [PATCH 347/664] Get layers for the first portfolios target --- .../portfolios/conservationAreas/Targets.tsx | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 990f1f4f7..ac68bfcdb 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -74,10 +74,26 @@ class Targets extends React.Component { targetProm.then((target) => { if (this.mounted) { data[targetsData.length - idx - 1] = target; - this.setState({ - targetsData: data.filter((p) => p !== undefined), - loading: null, - }); + this.setState( + { + targetsData: data.filter((p) => p !== undefined), + loading: null, + }, + () => { + if (data.length > 0) { + if (idx === 0) { + const portfoliosIds = new Set(); + const targetPortfolios = target.portfolios_data; + targetPortfolios.forEach((portfolio) => { + portfoliosIds.add(portfolio.id); + }); + switchLayer( + ["portfoliosCA", [...portfoliosIds].join("-")].join("-") + ); + } + } + } + ); } }); }); From 562377bf671b90db952cf38911147fa12be52ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 28 Oct 2022 10:20:26 -0500 Subject: [PATCH 348/664] Add portfoliosCA layer request --- src/utils/searchAPI.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index abee9661c..a9f0d1e34 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -514,6 +514,30 @@ class SearchAPI { return SearchAPI.makeGetRequest(`portfolios-ca/portfolios/list`); } + /** + * Get the layer associated to a portfolio id in a given area + * + * @param {String} areaType area type id, f.e. "ea", "states" + * @param {Number | String} areaId area id to request, f.e. "CRQ", 24 + * @param {Number} portfolioId portfolio id to get layer + * + * @return {Promise} layer object to be loaded in the map + */ + + static requestPortfoliosCALayer( + areaType: string, + areaId: string, + portfolioId: number + ) { + return { + request: SearchAPI.makeGetRequest( + `portfolios-ca/portfolios/layer?areaType=${areaType}&areaId=${areaId}&portfolioId=${portfolioId}`, + { responseType: "arraybuffer" }, + true + ), + }; + } + /** ************ */ /** CROSS MODULE */ /** ************ */ From fa7272ba191973f7387731b307374c9fa716dd6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 28 Oct 2022 10:35:45 -0500 Subject: [PATCH 349/664] Manage layers request for portfolios CA --- src/pages/Search.jsx | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index bf279f515..7dac2917c 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -14,6 +14,7 @@ import isUndefinedOrNull from 'utils/validations'; import GeoServerAPI from 'utils/geoServerAPI'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; +import SearchAPI from 'utils/SearchAPI'; import GradientLegend from 'pages/search/shared_components/GradientLegend'; import MapViewer from 'pages/search/MapViewer'; @@ -697,6 +698,14 @@ class Search extends Component { selectedAreaTypeId, selectedAreaId, ); + } else if (/portfoliosCA-*/.test(layerName)) { + const [, portfolioId] = layerName.match(/portfoliosCA-(\w+)/); + reqPromise = () => + SearchAPI.requestPortfoliosCALayer( + selectedAreaTypeId, + selectedAreaId, + portfolioId + ); } if (!reqPromise) { @@ -884,7 +893,17 @@ class Search extends Component { }); }, }; - } + } else if (/portfoliosCA*/.test(sectionName)) { + const selectedPorfolios = sectionName.match(/\d+/g); + if (selectedPorfolios !== null) { + selectedPorfolios.forEach((portfolioId) => { + rasterLayerOpts.push({ id: `portfoliosCA-${portfolioId}` }); + }); + } + + newActiveLayer.name = "Portafolios"; + newActiveLayer.defaultOpacity = 0.7; + } if (shapeLayerOpts.length <= 0 && rasterLayerOpts.length <= 0) { this.reportDataError(); @@ -1127,6 +1146,9 @@ class Search extends Component { } else if (/forestLP*/.test(layerType)) { this.setSectionLayers(layerType); return; + } else if (/portfoliosCA*/.test(layerType)) { + this.setSectionLayers(layerType); + return; } break; } @@ -1479,4 +1501,4 @@ Search.defaultProps = { }, }; -export default withRouter(Search); +export default withRouter(Search); \ No newline at end of file From 6b30c853cee9d5799eddac88530133e62c870d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 28 Oct 2022 10:44:54 -0500 Subject: [PATCH 350/664] Fix import --- src/pages/Search.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 7dac2917c..a2d154a68 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -14,7 +14,7 @@ import isUndefinedOrNull from 'utils/validations'; import GeoServerAPI from 'utils/geoServerAPI'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; -import SearchAPI from 'utils/SearchAPI'; +import SearchAPI from 'utils/searchAPI'; import GradientLegend from 'pages/search/shared_components/GradientLegend'; import MapViewer from 'pages/search/MapViewer'; From c4b87827a0033fb397b66e80cbd39cd708e6952c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 28 Oct 2022 17:38:03 -0500 Subject: [PATCH 351/664] Validate portfolios existence to call switchLayer and set paneLevel value --- src/pages/Search.jsx | 2 +- .../drawer/portfolios/conservationAreas/Targets.tsx | 10 +++++++--- src/utils/searchAPI.ts | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index a2d154a68..7c1f2aed0 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -897,7 +897,7 @@ class Search extends Component { const selectedPorfolios = sectionName.match(/\d+/g); if (selectedPorfolios !== null) { selectedPorfolios.forEach((portfolioId) => { - rasterLayerOpts.push({ id: `portfoliosCA-${portfolioId}` }); + rasterLayerOpts.push({ id: `portfoliosCA-${portfolioId}`, paneLevel: 1 }); }); } diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index ac68bfcdb..57349ce32 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -87,9 +87,13 @@ class Targets extends React.Component { targetPortfolios.forEach((portfolio) => { portfoliosIds.add(portfolio.id); }); - switchLayer( - ["portfoliosCA", [...portfoliosIds].join("-")].join("-") - ); + if (portfoliosIds.size > 0) { + switchLayer( + ["portfoliosCA", [...portfoliosIds].join("-")].join( + "-" + ) + ); + } } } } diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index a9f0d1e34..490d75edc 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -528,7 +528,7 @@ class SearchAPI { areaType: string, areaId: string, portfolioId: number - ) { + ): { request: Promise } { return { request: SearchAPI.makeGetRequest( `portfolios-ca/portfolios/layer?areaType=${areaType}&areaId=${areaId}&portfolioId=${portfolioId}`, From e83901445b93571a8165639105c1e8383ee4ba46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 1 Nov 2022 08:02:11 -0500 Subject: [PATCH 352/664] Adjust portfolios CA layers regex pattern --- src/pages/Search.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 7c1f2aed0..1901dd1a2 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -699,7 +699,8 @@ class Search extends Component { selectedAreaId, ); } else if (/portfoliosCA-*/.test(layerName)) { - const [, portfolioId] = layerName.match(/portfoliosCA-(\w+)/); + const portfolioId = layerName.match(/\d+/); + reqPromise = () => SearchAPI.requestPortfoliosCALayer( selectedAreaTypeId, @@ -1501,4 +1502,4 @@ Search.defaultProps = { }, }; -export default withRouter(Search); \ No newline at end of file +export default withRouter(Search); From 032882dcde4e2adfc67696991c574e32927d1124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 1 Nov 2022 08:04:55 -0500 Subject: [PATCH 353/664] Add cancel token to portfolios CA layer request --- src/utils/searchAPI.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 490d75edc..9f8b26eb8 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -1,4 +1,4 @@ -import axios from "axios"; +import axios, { CancelTokenSource } from "axios"; import { SCIHF, ForestLP } from "pages/search/types/forest"; import { cfData } from "pages/search/types/compensationFactor"; import { @@ -528,13 +528,15 @@ class SearchAPI { areaType: string, areaId: string, portfolioId: number - ): { request: Promise } { + ): { request: Promise; source: CancelTokenSource } { + const source = axios.CancelToken.source(); return { request: SearchAPI.makeGetRequest( `portfolios-ca/portfolios/layer?areaType=${areaType}&areaId=${areaId}&portfolioId=${portfolioId}`, - { responseType: "arraybuffer" }, + { cancelToken: source.token, responseType: "arraybuffer" }, true ), + source, }; } From 76e9f94e6c3598998b9371482347d0343ea861e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Mon, 24 Oct 2022 16:31:09 -0500 Subject: [PATCH 354/664] Add custom optional axis to smallBars to show target totals --- .../portfolios/conservationAreas/Targets.tsx | 6 ++- .../conservationAreas/TargetsController.ts | 13 ++++- .../shared_components/charts/SmallBars.tsx | 49 +++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 57349ce32..62b8a808e 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -169,6 +169,7 @@ class Targets extends React.Component { data={graphData.transformedData} keys={graphData.keys} tooltips={graphData.tooltips} + alternateAxisY={{ values: graphData.alternateAxisYValues }} message={loading} colors={matchColor("caTargets")} axisY={{ @@ -179,7 +180,10 @@ class Targets extends React.Component { selectedIndexValue="WCMC" groupMode="grouped" maxValue={100} - margin={{ bottom: 5, left: 145 }} + //Opción 1 + margin={{ bottom: 5, left: 145, right: 150 }} + //Opción 2 + // margin={{ bottom: 5, left: 145 }} />
    diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index 2d72f0755..21e553d5d 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -51,6 +51,7 @@ export class TargetsController { getGraphData(rawData: Array) { const tooltips: Array = []; const portfolios: Set = new Set(); + const alternateAxisYValues: Record = {}; const transformedData: Array = rawData.map((target) => { const objectData: Array = []; target.portfolios_data.forEach((portfolio: portfolioData) => { @@ -80,9 +81,19 @@ export class TargetsController { group: target.target_name, data: objectData, }; + + alternateAxisYValues[ + target.target_name + ] = `100% de la meta\n${target.target_national} ${target.target_units}`; + return object; }); - return { transformedData, keys: Array.from(portfolios), tooltips }; + return { + transformedData, + keys: Array.from(portfolios), + tooltips, + alternateAxisYValues, + }; } } diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index da20dfa4e..a11b57f6f 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -1,5 +1,7 @@ import React from "react"; import { ResponsiveBar } from "@nivo/bar"; +import { AxisTickProps } from "@nivo/axes"; + import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; @@ -31,6 +33,11 @@ interface Props { legend?: string; format?: string; }; + alternateAxisY?: { + values: Record; + tickWidth?: number; + tickHeight?: number; + }; } export interface SmallBarsDataDetails { @@ -67,6 +74,7 @@ class SmallBars extends React.Component { groupMode = "stacked", maxValue = "auto", enableLabel = false, + alternateAxisY = { values: {} }, } = this.props; let { margin, axisY, axisX } = this.props; margin = { ...{ top: 20, right: 15, bottom: 0, left: 90 }, ...margin }; @@ -126,6 +134,15 @@ class SmallBars extends React.Component { } : null } + axisRight={ + alternateAxisY && { + renderTick: CustomTickWrapper( + alternateAxisY.values, + alternateAxisY.tickWidth, + alternateAxisY.tickHeight + ), + } + } enableLabel={enableLabel} label={({ value }) => (value ? formatNumber(value, 2) : "")} colors={({ id, indexValue }) => { @@ -180,3 +197,35 @@ class SmallBars extends React.Component { } export default withMessageWrapper(SmallBars); + +const CustomTickWrapper = ( + refValues: Record, + tickWidth: number = 150, + tickHeight: number = 30 +) => { + return (tick: AxisTickProps) => { + // console.log(tick); + return ( + + {/* Opción 1*/} + + {/* Opción 2*/} + {/**/} +
    + {refValues[tick.value]} +
    +
    +
    + ); + }; +}; From 0b8c7ab63954942b70f6978365b379bbdfd9604b Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 2 Nov 2022 17:49:11 -0500 Subject: [PATCH 355/664] Add icon at portfolios tab --- src/pages/search/Drawer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index 14d3caf09..09ced69cb 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -4,7 +4,7 @@ import BackIcon from "@mui/icons-material/FirstPage"; import Ecosistemas from "@mui/icons-material/Nature"; import Especies from "@mui/icons-material/FilterVintage"; import Paisaje from "@mui/icons-material/FilterHdr"; -import Portafolios from "@mui/icons-material/EmojiNature"; +import Portafolios from "@mui/icons-material/DashboardCustomize"; import SearchContext, { SearchContextValues } from "pages/search/SearchContext"; import Landscape from "pages/search/drawer/Landscape"; From 3fb42f6a9648fe533d271ba7a754528a90cf0629 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 2 Nov 2022 17:50:22 -0500 Subject: [PATCH 356/664] Add styles for custom tick component --- src/main.css | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main.css b/src/main.css index f936950df..604bb93c9 100644 --- a/src/main.css +++ b/src/main.css @@ -2593,6 +2593,38 @@ tspan, .vx-axis-label { cursor: pointer; } +.customTickBarRight { + color: #000; + font-size: 10px; + line-height: normal; + background-color: #fff; + border-left: 2px solid black; + padding-left: 3px; + white-space: initial; + overflow: hidden; +} + +.customTickBarLeft { + font-family: sans-serif; + font-size: 11px; + fill: rgb(51,51,51); + text-align: right; + line-height: 1; + white-space: initial; + overflow: hidden; + padding-top: 5px; + padding-bottom: 5px; +} + +.rightTitle { + text-align: right; + font-size: 11px; + color: #424242; + font-weight: 700; + padding-right: 8px; + margin-bottom: -20px; +} + .newProjectTitle { display: -webkit-flex; display: -moz-flex; From b2ee643cb6ea0ea6aec804abb651e1702d8986cf Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 2 Nov 2022 17:50:39 -0500 Subject: [PATCH 357/664] Add logic for custom tick component --- .../portfolios/conservationAreas/Targets.tsx | 6 +-- .../conservationAreas/TargetsController.ts | 2 +- .../shared_components/charts/SmallBars.tsx | 41 ++++++++++--------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 62b8a808e..68007227f 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -165,6 +165,7 @@ class Targets extends React.Component { collapseButton={false} /> )} +
    100 % de la meta
    { selectedIndexValue="WCMC" groupMode="grouped" maxValue={100} - //Opción 1 - margin={{ bottom: 5, left: 145, right: 150 }} - //Opción 2 - // margin={{ bottom: 5, left: 145 }} + margin={{ bottom: 5, left: 95, right: 95 }} />
    diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index 21e553d5d..b7ba4e452 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -84,7 +84,7 @@ export class TargetsController { alternateAxisYValues[ target.target_name - ] = `100% de la meta\n${target.target_national} ${target.target_units}`; + ] = `${target.target_national} ${target.target_units}`; return object; }); diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index a11b57f6f..6b76c701c 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -118,6 +118,12 @@ class SmallBars extends React.Component { legend: `${axisY.legend}`, legendPosition: "middle", legendOffset: -80, + renderTick: CustomTickWrapper( + null, + alternateAxisY.tickWidth, + alternateAxisY.tickHeight, + "left" + ), } : null } @@ -139,7 +145,8 @@ class SmallBars extends React.Component { renderTick: CustomTickWrapper( alternateAxisY.values, alternateAxisY.tickWidth, - alternateAxisY.tickHeight + alternateAxisY.tickHeight, + "right" ), } } @@ -199,30 +206,26 @@ class SmallBars extends React.Component { export default withMessageWrapper(SmallBars); const CustomTickWrapper = ( - refValues: Record, - tickWidth: number = 150, - tickHeight: number = 30 + refValues: Record | null = null, + tickWidth: number = 90, + tickHeight: number = 30, + side: string = "left" ) => { return (tick: AxisTickProps) => { - // console.log(tick); return ( - {/* Opción 1*/} - - {/* Opción 2*/} - {/**/} +
    - {refValues[tick.value]} + {refValues ? refValues[tick.value] : tick.value}
    From 25eb670a70d83089fd0cd9bdd3b9f03b397d81c3 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 9 Nov 2022 12:29:15 -0500 Subject: [PATCH 358/664] Add logic for clic on portfolios by targets graph --- src/pages/Search.jsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 1901dd1a2..d52288d97 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -416,6 +416,9 @@ class Search extends Component { this.highlightRaster(`${chartType}-${chartSection}-${selectedKey}`); } break; + case 'portfoliosCA': + this.setSectionLayers(`portfoliosCA-${selectedKey}`); + break; // Current progress of the refactor case 'SciHf': { const sciCat = selectedKey.substring(0, selectedKey.indexOf('-')); @@ -895,15 +898,15 @@ class Search extends Component { }, }; } else if (/portfoliosCA*/.test(sectionName)) { + // TODO: Add target name or id to this logic + newActiveLayer.name = 'Portafolios por temáticas'; + newActiveLayer.defaultOpacity = 0.7; const selectedPorfolios = sectionName.match(/\d+/g); if (selectedPorfolios !== null) { selectedPorfolios.forEach((portfolioId) => { rasterLayerOpts.push({ id: `portfoliosCA-${portfolioId}`, paneLevel: 1 }); }); } - - newActiveLayer.name = "Portafolios"; - newActiveLayer.defaultOpacity = 0.7; } if (shapeLayerOpts.length <= 0 && rasterLayerOpts.length <= 0) { From d69358d673a55ccb9e2e86d6608ac794090b7a57 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 9 Nov 2022 12:40:47 -0500 Subject: [PATCH 359/664] Add option to select a target in the graph and load the correspondig map --- .../portfolios/conservationAreas/Targets.tsx | 70 ++++++++++++------- .../conservationAreas/TargetsController.ts | 39 ++++++++++- 2 files changed, 81 insertions(+), 28 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 68007227f..08a3e19a0 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -27,6 +27,7 @@ interface State { targetsData: Array; availablePortfolios: Array; csvData: Array; + selectedTarget: string; } class Targets extends React.Component { @@ -43,6 +44,7 @@ class Targets extends React.Component { availablePortfolios: [], texts: { info: "", cons: "", meto: "", quote: "" }, csvData: [], + selectedTarget: "", }; } @@ -64,8 +66,6 @@ class Targets extends React.Component { const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; - switchLayer(""); - this.targetsController .getData(areaId, geofenceId) .then((targetsData) => { @@ -82,11 +82,10 @@ class Targets extends React.Component { () => { if (data.length > 0) { if (idx === 0) { - const portfoliosIds = new Set(); - const targetPortfolios = target.portfolios_data; - targetPortfolios.forEach((portfolio) => { - portfoliosIds.add(portfolio.id); - }); + const portfoliosIds = + this.targetsController.getPortfoliosIdsByTarget( + target.target_name + ); if (portfoliosIds.size > 0) { switchLayer( ["portfoliosCA", [...portfoliosIds].join("-")].join( @@ -94,6 +93,7 @@ class Targets extends React.Component { ) ); } + this.setState({ selectedTarget: target.target_name }); } } } @@ -136,7 +136,8 @@ class Targets extends React.Component { }; render() { - const { areaId, geofenceId } = this.context as SearchContextValues; + const { areaId, geofenceId, handlerClickOnGraph } = this + .context as SearchContextValues; const { showInfoGraph, loading, @@ -144,6 +145,7 @@ class Targets extends React.Component { targetsData, csvData, availablePortfolios, + selectedTarget, } = this.state; const graphData = this.targetsController.getGraphData(targetsData); @@ -166,24 +168,34 @@ class Targets extends React.Component { /> )}
    100 % de la meta
    - {}} - height={450} - selectedIndexValue="WCMC" - groupMode="grouped" - maxValue={100} - margin={{ bottom: 5, left: 95, right: 95 }} - /> - +
    + { + this.setState({ selectedTarget: selected }); + const portfoliosIds = Array.from( + this.targetsController.getPortfoliosIdsByTarget(selected) + ); + handlerClickOnGraph({ + chartType: "portfoliosCA", + selectedKey: portfoliosIds, + }); + }} + height={450} + selectedIndexValue="WCMC" + groupMode="grouped" + maxValue={100} + margin={{ bottom: 5, left: 95, right: 95 }} + /> +
    {availablePortfolios.map((portfolio) => ( @@ -203,6 +215,12 @@ class Targets extends React.Component { sx={{ padding: 0 }} onChange={this.clickOnLegend} name={portfolio.name} + disabled={ + !this.targetsController.isPortfolioInTarget( + selectedTarget, + portfolio.id + ) + } /> } /> diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index b7ba4e452..ddffe12f1 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -11,7 +11,10 @@ import formatNumber from "utils/format"; import SearchAPI from "utils/searchAPI"; export class TargetsController { - constructor() {} + portfoliosIds; + constructor() { + this.portfoliosIds = new Map(); + } /** * Get all available portfolios @@ -34,13 +37,45 @@ export class TargetsController { return targets.map((target) => SearchAPI.requestPortfoliosByTarget(areaType, areaId, target.id).then( (res) => { - // Here would go the necessary transformations + const portfolioIds = new Set(); + res.portfolios_data.forEach((portfolio) => { + portfolioIds.add(portfolio.id); + }); + this.portfoliosIds.set(target.name, portfolioIds); return res; } ) ); } + /** + * Get list of available portfolios ids for a given target + * + * @param {String} targetName target name + * + * @returns {Set | undefined} list of available portfolios ids + */ + getPortfoliosIdsByTarget(targetName: string) { + return this.portfoliosIds.get(targetName); + } + + /** + * Returns whether a portfolio is into a target + * + * @param {String} targetName target name + * @param {Number} portfolioId portfolio id + * + * @returns {Boolean} whether a portfolio is into a target + */ + isPortfolioInTarget(targetName: string, portfolioId: number) { + const portfolioIds = this.getPortfoliosIdsByTarget(targetName); + if (!portfolioIds) return false; + if (portfolioIds.has(portfolioId)) { + return true; + } + return false; + } + /** * Transform data structure to be passed to component as a prop * From a0675c8f3694d74bfc1dd0fa91631e5718e2be42 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 9 Nov 2022 14:56:39 -0500 Subject: [PATCH 360/664] Change variable name for list if portfolios ids --- .../portfolios/conservationAreas/TargetsController.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index ddffe12f1..ae24b4846 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -37,11 +37,11 @@ export class TargetsController { return targets.map((target) => SearchAPI.requestPortfoliosByTarget(areaType, areaId, target.id).then( (res) => { - const portfolioIds = new Set(); + const ids = new Set(); res.portfolios_data.forEach((portfolio) => { - portfolioIds.add(portfolio.id); + ids.add(portfolio.id); }); - this.portfoliosIds.set(target.name, portfolioIds); + this.portfoliosIds.set(target.name, ids); return res; } ) From baee9ecba229595978e2eb8deb3524a5d12b5107 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 9 Nov 2022 19:05:03 -0500 Subject: [PATCH 361/664] Add opacity option in legends styled components --- src/pages/search/shared_components/CssLegends.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pages/search/shared_components/CssLegends.tsx b/src/pages/search/shared_components/CssLegends.tsx index 73482867c..876b74463 100644 --- a/src/pages/search/shared_components/CssLegends.tsx +++ b/src/pages/search/shared_components/CssLegends.tsx @@ -2,6 +2,7 @@ import styled from "styled-components"; interface PropsLeg { orientation?: string; + disabled?: boolean; } const Legend = styled.p` @@ -11,6 +12,7 @@ const Legend = styled.p` }}; font-size: 12px; color: #424242; + opacity: ${(props) => (props.disabled ? 0.4 : 1)}; line-height: 1; margin-right: 10px; `; From 30889ee79fb3de4992220dac551c6e938fba0192 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 9 Nov 2022 19:06:07 -0500 Subject: [PATCH 362/664] Some changes related to css styles --- src/main.css | 4 ++ .../portfolios/conservationAreas/Targets.tsx | 68 +++++++++++-------- .../shared_components/charts/SmallBars.tsx | 20 ++++-- 3 files changed, 58 insertions(+), 34 deletions(-) diff --git a/src/main.css b/src/main.css index 604bb93c9..68bf69119 100644 --- a/src/main.css +++ b/src/main.css @@ -2616,6 +2616,10 @@ tspan, .vx-axis-label { padding-bottom: 5px; } +.customTickBarLeft.selected { + color: #ec432e; +} + .rightTitle { text-align: right; font-size: 11px; diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 08a3e19a0..cd8bc69ac 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -169,32 +169,34 @@ class Targets extends React.Component { )}
    100 % de la meta
    - { - this.setState({ selectedTarget: selected }); - const portfoliosIds = Array.from( - this.targetsController.getPortfoliosIdsByTarget(selected) - ); - handlerClickOnGraph({ - chartType: "portfoliosCA", - selectedKey: portfoliosIds, - }); - }} - height={450} - selectedIndexValue="WCMC" - groupMode="grouped" - maxValue={100} - margin={{ bottom: 5, left: 95, right: 95 }} - /> + {selectedTarget && ( + { + this.setState({ selectedTarget: selected }); + const portfoliosIds = Array.from( + this.targetsController.getPortfoliosIdsByTarget(selected) + ); + handlerClickOnGraph({ + chartType: "portfoliosCA", + selectedKey: portfoliosIds, + }); + }} + height={450} + selectedIndexValue={selectedTarget} + groupMode="grouped" + maxValue={100} + margin={{ bottom: 5, left: 95, right: 95 }} + /> + )}
    @@ -206,13 +208,24 @@ class Targets extends React.Component { color={matchColor("caTargets")(portfolio.name)} orientation="column" key={portfolio.id} + disabled={ + !this.targetsController.isPortfolioInTarget( + selectedTarget, + portfolio.id + ) + } > {portfolio.name} } control={ { portfolio.id ) } + defaultChecked={true} /> } /> diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 6b76c701c..36f198a96 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -122,7 +122,8 @@ class SmallBars extends React.Component { null, alternateAxisY.tickWidth, alternateAxisY.tickHeight, - "left" + "left", + selectedIndexValue ), } : null @@ -209,9 +210,18 @@ const CustomTickWrapper = ( refValues: Record | null = null, tickWidth: number = 90, tickHeight: number = 30, - side: string = "left" + side: string = "left", + selected: string | number = "" ) => { return (tick: AxisTickProps) => { + let className = "customTickBarLeft"; + if (side === "left") { + if (selected === tick.value) { + className = "customTickBarLeft selected"; + } + } else if (side === "right") { + className = "customTickBarRight"; + } return ( -
    +
    {refValues ? refValues[tick.value] : tick.value}
    From fbc8aa9f8c4220db15ad0e2b5a76ca7df432e869 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 10 Nov 2022 13:09:41 -0500 Subject: [PATCH 363/664] Create styled component to set styles to tick component in SmallBar graph --- src/main.css | 27 ------------------- .../portfolios/conservationAreas/Targets.tsx | 8 +++++- .../search/shared_components/CssTicks.tsx | 24 +++++++++++++++++ .../shared_components/charts/SmallBars.tsx | 18 +++++-------- 4 files changed, 38 insertions(+), 39 deletions(-) create mode 100644 src/pages/search/shared_components/CssTicks.tsx diff --git a/src/main.css b/src/main.css index 68bf69119..a6737c31e 100644 --- a/src/main.css +++ b/src/main.css @@ -2593,33 +2593,6 @@ tspan, .vx-axis-label { cursor: pointer; } -.customTickBarRight { - color: #000; - font-size: 10px; - line-height: normal; - background-color: #fff; - border-left: 2px solid black; - padding-left: 3px; - white-space: initial; - overflow: hidden; -} - -.customTickBarLeft { - font-family: sans-serif; - font-size: 11px; - fill: rgb(51,51,51); - text-align: right; - line-height: 1; - white-space: initial; - overflow: hidden; - padding-top: 5px; - padding-bottom: 5px; -} - -.customTickBarLeft.selected { - color: #ec432e; -} - .rightTitle { text-align: right; font-size: 11px; diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index cd8bc69ac..fe323b427 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -234,7 +234,13 @@ class Targets extends React.Component { portfolio.id ) } - defaultChecked={true} + // TODO: Uncheck the checkbox by default when portfolio is not in target + defaultChecked={ + !this.targetsController.isPortfolioInTarget( + selectedTarget, + portfolio.id + ) + } /> } /> diff --git a/src/pages/search/shared_components/CssTicks.tsx b/src/pages/search/shared_components/CssTicks.tsx new file mode 100644 index 000000000..f4b130d81 --- /dev/null +++ b/src/pages/search/shared_components/CssTicks.tsx @@ -0,0 +1,24 @@ +import styled from "styled-components"; + +interface PropsTick { + side?: string; + selected?: boolean; +} + +const Tick = styled.div` + font-family: sans-serif; + white-space: initial; + overflow: hidden; + font-size: ${(props) => (props.side === "left" ? "11px" : "10px")}; + color: ${(props) => (props.selected ? "#ec432e" : "#333")}; + text-align: ${(props) => (props.side === "left" ? "right" : "left")}; + line-height: ${(props) => (props.side === "left" ? "1" : "normal")}; + border-left: ${(props) => + props.side === "left" ? "0px" : "2px solid black"}; + padding-top: ${(props) => (props.side === "left" ? "5px" : "0px")}; + padding-left: ${(props) => (props.side === "left" ? "0px" : "3px")}; + padding-bottom: ${(props) => (props.side === "left" ? "5px" : "0px")}; + font-weight: ${(props) => (props.selected ? "800" : "400")}; +`; + +export { Tick }; diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 36f198a96..93b711f52 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -6,6 +6,7 @@ import { darkenColor } from "utils/colorUtils"; import formatNumber from "utils/format"; import withMessageWrapper from "pages/search/shared_components/charts/withMessageWrapper"; import { SmallBarTooltip } from "pages/search/types/charts"; +import { Tick } from "pages/search/shared_components/CssTicks"; interface Props { data: Array; @@ -211,17 +212,9 @@ const CustomTickWrapper = ( tickWidth: number = 90, tickHeight: number = 30, side: string = "left", - selected: string | number = "" + selected: string | number = "", ) => { return (tick: AxisTickProps) => { - let className = "customTickBarLeft"; - if (side === "left") { - if (selected === tick.value) { - className = "customTickBarLeft selected"; - } - } else if (side === "right") { - className = "customTickBarRight"; - } return ( -
    + {refValues ? refValues[tick.value] : tick.value} -
    +
    ); From 799f441c118c5465a58e89b004cce126da71e0ab Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 10 Nov 2022 13:17:53 -0500 Subject: [PATCH 364/664] Run prettier --- src/pages/search/shared_components/charts/SmallBars.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 93b711f52..68ae0a7ec 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -212,7 +212,7 @@ const CustomTickWrapper = ( tickWidth: number = 90, tickHeight: number = 30, side: string = "left", - selected: string | number = "", + selected: string | number = "" ) => { return (tick: AxisTickProps) => { return ( @@ -223,10 +223,7 @@ const CustomTickWrapper = ( width={tickWidth} height={tickHeight} > - + {refValues ? refValues[tick.value] : tick.value} From 6e6e3f11b8b4ac9a74d4606e4a8692ae3b159c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Thu, 10 Nov 2022 17:57:34 -0500 Subject: [PATCH 365/664] Clear map view when closing accordions --- src/pages/search/drawer/Landscape.tsx | 2 +- src/pages/search/drawer/Portfolios.tsx | 2 +- src/pages/search/drawer/Species.jsx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 2e993c9b8..80be4b15e 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -47,7 +47,7 @@ class Landscape extends React.Component { .context as SearchContextValues; cancelActiveRequests(); - if (tabLayerId === null) { + if (tabLayerId === "") { switchLayer(""); } diff --git a/src/pages/search/drawer/Portfolios.tsx b/src/pages/search/drawer/Portfolios.tsx index da1e5d1ca..66f8f7ca2 100644 --- a/src/pages/search/drawer/Portfolios.tsx +++ b/src/pages/search/drawer/Portfolios.tsx @@ -38,7 +38,7 @@ class Portfolios extends React.Component { .context as SearchContextValues; cancelActiveRequests(); - if (tabLayerId === null) { + if (tabLayerId === "") { switchLayer(""); } diff --git a/src/pages/search/drawer/Species.jsx b/src/pages/search/drawer/Species.jsx index 145c4f839..77eb81c95 100644 --- a/src/pages/search/drawer/Species.jsx +++ b/src/pages/search/drawer/Species.jsx @@ -66,8 +66,8 @@ class Species extends React.Component { const { switchLayer, cancelActiveRequests } = this.context; cancelActiveRequests(); - if (tabLayerId === null) { - switchLayer(null); + if (tabLayerId === "") { + switchLayer(""); } switch (level) { From 3eeb55de206c15f9186b17d99bff182007e87a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 11 Nov 2022 11:00:07 -0500 Subject: [PATCH 366/664] Control legends with state and reset them when targets change --- .../portfolios/conservationAreas/Targets.tsx | 66 +++++++++++-------- .../conservationAreas/TargetsController.ts | 6 +- 2 files changed, 40 insertions(+), 32 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index fe323b427..0fd91e380 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -28,6 +28,7 @@ interface State { availablePortfolios: Array; csvData: Array; selectedTarget: string; + selectedPortfolios: Set; } class Targets extends React.Component { @@ -45,6 +46,7 @@ class Targets extends React.Component { texts: { info: "", cons: "", meto: "", quote: "" }, csvData: [], selectedTarget: "", + selectedPortfolios: new Set(), }; } @@ -80,21 +82,18 @@ class Targets extends React.Component { loading: null, }, () => { - if (data.length > 0) { - if (idx === 0) { - const portfoliosIds = - this.targetsController.getPortfoliosIdsByTarget( - target.target_name - ); - if (portfoliosIds.size > 0) { - switchLayer( - ["portfoliosCA", [...portfoliosIds].join("-")].join( - "-" - ) - ); - } - this.setState({ selectedTarget: target.target_name }); + if (data.length > 0 && idx === 0) { + const portfoliosIds = + this.targetsController.getPortfoliosIdsByTarget( + target.target_name + ); + if (portfoliosIds && portfoliosIds.size > 0) { + switchLayer( + ["portfoliosCA", [...portfoliosIds].join("-")].join("-") + ); + this.setState({ selectedPortfolios: portfoliosIds }); } + this.setState({ selectedTarget: target.target_name }); } } ); @@ -131,8 +130,18 @@ class Targets extends React.Component { })); }; - clickOnLegend = () => { - // TODO: hide / show portfolio layer + clickOnLegend = (idPortfolio: number, checked: boolean) => { + this.setState(({ selectedPortfolios }) => { + if (!checked) { + selectedPortfolios.delete(idPortfolio); + return { + selectedPortfolios: selectedPortfolios, + }; + } + return { + selectedPortfolios: selectedPortfolios.add(idPortfolio), + }; + }); }; render() { @@ -146,6 +155,7 @@ class Targets extends React.Component { csvData, availablePortfolios, selectedTarget, + selectedPortfolios, } = this.state; const graphData = this.targetsController.getGraphData(targetsData); @@ -181,13 +191,15 @@ class Targets extends React.Component { enabled: true, }} onClickHandler={(selected) => { - this.setState({ selectedTarget: selected }); - const portfoliosIds = Array.from( - this.targetsController.getPortfoliosIdsByTarget(selected) - ); + const portfoliosIds = + this.targetsController.getPortfoliosIdsByTarget(selected); + this.setState({ + selectedTarget: selected, + selectedPortfolios: portfoliosIds, + }); handlerClickOnGraph({ chartType: "portfoliosCA", - selectedKey: portfoliosIds, + selectedKey: Array.from(portfoliosIds), }); }} height={450} @@ -226,7 +238,9 @@ class Targets extends React.Component { opacity: 0.4, }, }} - onChange={this.clickOnLegend} + onChange={(event, checked) => + this.clickOnLegend(portfolio.id, checked) + } name={portfolio.name} disabled={ !this.targetsController.isPortfolioInTarget( @@ -234,13 +248,7 @@ class Targets extends React.Component { portfolio.id ) } - // TODO: Uncheck the checkbox by default when portfolio is not in target - defaultChecked={ - !this.targetsController.isPortfolioInTarget( - selectedTarget, - portfolio.id - ) - } + checked={selectedPortfolios.has(portfolio.id)} /> } /> diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index ae24b4846..a267203e3 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -11,7 +11,7 @@ import formatNumber from "utils/format"; import SearchAPI from "utils/searchAPI"; export class TargetsController { - portfoliosIds; + portfoliosIds: Map>; constructor() { this.portfoliosIds = new Map(); } @@ -37,7 +37,7 @@ export class TargetsController { return targets.map((target) => SearchAPI.requestPortfoliosByTarget(areaType, areaId, target.id).then( (res) => { - const ids = new Set(); + const ids = new Set(); res.portfolios_data.forEach((portfolio) => { ids.add(portfolio.id); }); @@ -56,7 +56,7 @@ export class TargetsController { * @returns {Set | undefined} list of available portfolios ids */ getPortfoliosIdsByTarget(targetName: string) { - return this.portfoliosIds.get(targetName); + return new Set(this.portfoliosIds.get(targetName)); } /** From 5a83041399cf806b07a93c67f6d71aa432d88a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 11 Nov 2022 13:26:58 -0500 Subject: [PATCH 367/664] Show / hide portfolio layer when legend is checked / unchecked --- src/pages/Search.jsx | 21 ++++++++++++++- .../portfolios/conservationAreas/Targets.tsx | 27 +++++++++++++------ 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index d52288d97..ac9e8f806 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -417,7 +417,26 @@ class Search extends Component { } break; case 'portfoliosCA': - this.setSectionLayers(`portfoliosCA-${selectedKey}`); + const { activeLayer } = this.state; + if (chartSection === "legend" && /portfoliosCA*/.test(activeLayer.id)) { + const selectedPortfolios = selectedKey; + this.setState(({ rasterUrls }) => ({ + rasterUrls: rasterUrls.map(url => { + if (!selectedPortfolios.some(portfolioId => `portfoliosCA-${portfolioId}` === url.id)) { + return { + ...url, + opacity: 0 + }; + } + return { + ...url, + opacity: 0.7, + }; + }) + })) + } else { + this.setSectionLayers(`portfoliosCA-${selectedKey}`); + } break; // Current progress of the refactor case 'SciHf': { diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 0fd91e380..f20e313c5 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -131,17 +131,28 @@ class Targets extends React.Component { }; clickOnLegend = (idPortfolio: number, checked: boolean) => { - this.setState(({ selectedPortfolios }) => { - if (!checked) { - selectedPortfolios.delete(idPortfolio); + const { handlerClickOnGraph } = this.context as SearchContextValues; + this.setState( + ({ selectedPortfolios }) => { + if (!checked) { + selectedPortfolios.delete(idPortfolio); + return { + selectedPortfolios, + }; + } return { - selectedPortfolios: selectedPortfolios, + selectedPortfolios: selectedPortfolios.add(idPortfolio), }; + }, + () => { + const { selectedPortfolios } = this.state; + handlerClickOnGraph({ + chartType: "portfoliosCA", + chartSection: "legend", + selectedKey: Array.from(selectedPortfolios), + }); } - return { - selectedPortfolios: selectedPortfolios.add(idPortfolio), - }; - }); + ); }; render() { From 5371dcc257845b6e84167cd7ef823811ac264c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 15 Nov 2022 09:09:16 -0500 Subject: [PATCH 368/664] Define searchType in SearchContext --- src/pages/search/SearchContext.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pages/search/SearchContext.tsx b/src/pages/search/SearchContext.tsx index 050435b96..bfd8e0c96 100644 --- a/src/pages/search/SearchContext.tsx +++ b/src/pages/search/SearchContext.tsx @@ -3,6 +3,7 @@ import React from "react"; export interface SearchContextValues { areaId: string; geofenceId: string | number; + searchType: "selection" | "polygon"; switchLayer(layer: string): void; handlerClickOnGraph({}): void; cancelActiveRequests(): void; @@ -11,6 +12,7 @@ export interface SearchContextValues { const SearchContext = React.createContext({ areaId: "", geofenceId: "", + searchType: "selection", switchLayer: () => {}, handlerClickOnGraph: () => {}, cancelActiveRequests: () => {}, From 476115af074b1eaf232e30d1bf8c0327b9cfae80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 15 Nov 2022 09:17:22 -0500 Subject: [PATCH 369/664] Implement search type functionalities in main components --- src/pages/Search.jsx | 20 ++++++++++++++-- src/pages/search/Drawer.tsx | 27 ++++++++++++++-------- src/pages/search/MapViewer.tsx | 10 +++++++- src/pages/search/mapViewer/DrawControl.jsx | 7 +++++- 4 files changed, 51 insertions(+), 13 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index ac9e8f806..64411ce53 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1362,6 +1362,8 @@ class Search extends Component { newState.loadingLayer = false; newState.layerError = false; newState.rasterUrls = []; + newState.searchType = "selection"; + newState.drawPolygonEnabled= false; return newState; }, () => { const { history, setHeaderNames } = this.props; @@ -1379,6 +1381,15 @@ class Search extends Component { this.setState({ [state]: false }); }; + /** + * Set search type value + * + * @param {String} state state value to set the search type + */ + setSearchType(searchType) { + this.setState({ searchType: searchType }); + }; + render() { const { loadingLayer, @@ -1389,11 +1400,13 @@ class Search extends Component { activeLayer: { name: activeLayer, legend }, rasterUrls, drawPolygonEnabled, + searchType } = this.state; const { selectedAreaTypeId, selectedAreaId, + setHeaderNames } = this.props; let mapTitle = null; @@ -1453,6 +1466,7 @@ class Search extends Component { value={{ areaId: selectedAreaTypeId, geofenceId: selectedAreaId, + searchType: this.state.searchType, handlerClickOnGraph: this.clickOnGraph, switchLayer: this.switchLayer, cancelActiveRequests: this.cancelActiveRequests, @@ -1470,9 +1484,11 @@ class Search extends Component { mapTitle={mapTitle} drawPolygonEnabled={drawPolygonEnabled} loadPolygonInfo={this.loadPolygonInfo} + setSearchType={this.setSearchType.bind(this)} + setHeaderNames={setHeaderNames} />
    - { (!selectedAreaTypeId || !selectedAreaId) && ( + { ((!selectedAreaTypeId || !selectedAreaId) && searchType!=="polygon") && ( { @@ -1489,7 +1505,7 @@ class Search extends Component { areasData={areaList} /> )} - { selectedAreaTypeId && selectedAreaId && (selectedAreaTypeId !== 'se') && ( + { ((selectedAreaTypeId && selectedAreaId && (selectedAreaTypeId !== 'se')) || searchType==="polygon") && ( diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index 09ced69cb..ca0d4ccc5 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -40,20 +40,29 @@ class Drawer extends React.Component { } componentDidMount() { - const { areaId, geofenceId } = this.context as SearchContextValues; + const { areaId, geofenceId, searchType } = this + .context as SearchContextValues; - searchAPI - .requestGeofenceDetails(areaId, geofenceId) - .then((res: geofenceDetails) => { - this.setState({ geofenceArea: Number(res.total_area) }); - }) - .catch(() => {}); + if (searchType === "polygon") { + this.setState({ geofenceArea: Math.random() * 100 }); + } else { + searchAPI + .requestGeofenceDetails(areaId, geofenceId) + .then((res: geofenceDetails) => { + this.setState({ geofenceArea: Number(res.total_area) }); + }) + .catch(() => {}); + } } render() { const { handlerBackButton } = this.props; const { geofenceArea } = this.state; + const { searchType } = this.context as SearchContextValues; + + let initialSelectedIndex = 0; + if (searchType === "polygon") initialSelectedIndex = 1; return (
    @@ -69,7 +78,7 @@ class Drawer extends React.Component {
    }, { label: "Paisaje", icon: }, @@ -77,7 +86,7 @@ class Drawer extends React.Component { { label: "Portafolios", icon: }, ]} > - {geofenceArea !== 0 && ( + {(geofenceArea !== 0 || searchType === "polygon") && (
    diff --git a/src/pages/search/MapViewer.tsx b/src/pages/search/MapViewer.tsx index a97f19d0d..11fe0ebc2 100644 --- a/src/pages/search/MapViewer.tsx +++ b/src/pages/search/MapViewer.tsx @@ -54,6 +54,8 @@ interface Props { id: number; }; }; + setSearchType: () => void; + setHeaderNames: () => void; } interface State { @@ -104,6 +106,8 @@ class MapViewer extends React.Component { mapTitle, drawPolygonEnabled, loadPolygonInfo, + setSearchType, + setHeaderNames, } = this.props; const { openErrorModal } = this.state; @@ -165,7 +169,11 @@ class MapViewer extends React.Component { {drawPolygonEnabled && ( - + )} { const { polygon } = this.state; - const { loadPolygonInfo } = this.props; + const { loadPolygonInfo, setSearchType, setHeaderNames } = this.props; loadPolygonInfo(polygon); + setSearchType("polygon"); + setHeaderNames("Polígono", "Área Consultada"); this.setState({ editEnabled: false, createEnabled: true, @@ -243,3 +246,5 @@ DrawControl.defaultProps = { }; export default DrawControl; + +DrawControl.contextType = SearchContext; \ No newline at end of file From 0c17a67f0e2099fd5062ac1e8d6da81eab608324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 15 Nov 2022 09:21:07 -0500 Subject: [PATCH 370/664] Adjust Ecosystems, Portfolios and Species for polygon search --- src/pages/search/drawer/Ecosystems.jsx | 405 +++++++++++++------------ src/pages/search/drawer/Portfolios.tsx | 34 ++- src/pages/search/drawer/Species.jsx | 36 ++- 3 files changed, 248 insertions(+), 227 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index a96173539..eb62f8f5b 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -62,100 +62,103 @@ class Ecosystems extends React.Component { areaId, geofenceId, switchLayer, + searchType } = this.context; const { generalArea } = this.props; - - switchLayer('coverages'); - - SearchAPI.requestCoverage(areaId, geofenceId) - .then((res) => { - if (this.mounted) { - this.setState((prev) => ({ - coverage: transformCoverageValues(res), - messages: { - ...prev.messages, - cov: null, - }, - })); - } - }) - .catch(() => { - this.setState((prev) => ({ - messages: { - ...prev.messages, - cov: 'no-data', - }, - })); - }); - - SearchAPI.requestProtectedAreas(areaId, geofenceId) - .then((res) => { - if (this.mounted) { - if (Array.isArray(res) && res[0]) { - const PATotalArea = res.map((i) => i.area).reduce((prev, next) => prev + next); - const PAAreas = transformPAValues(res, generalArea); + + if(searchType!=="polygon"){ + switchLayer('coverages'); + + SearchAPI.requestCoverage(areaId, geofenceId) + .then((res) => { + if (this.mounted) { this.setState((prev) => ({ - PAAreas, - PATotalArea, + coverage: transformCoverageValues(res), messages: { ...prev.messages, - pa: null, + cov: null, }, })); } - } - }) - .catch(() => { - this.setState((prev) => ({ - messages: { - ...prev.messages, - pa: 'no-data', - }, - })); - }); + }) + .catch(() => { + this.setState((prev) => ({ + messages: { + ...prev.messages, + cov: 'no-data', + }, + })); + }); - SearchAPI.requestStrategicEcosystems(areaId, geofenceId) - .then((res) => { - if (this.mounted) { - if (Array.isArray(res)) { - const SETotal = res.find((obj) => obj.type === 'Total'); - const SETotalArea = SETotal ? SETotal.area : 0; - const SEAreas = res.slice(1); - this.setState((prev) => ({ - SEAreas, - SETotalArea, - messages: { - ...prev.messages, - se: null, - }, - })); + SearchAPI.requestProtectedAreas(areaId, geofenceId) + .then((res) => { + if (this.mounted) { + if (Array.isArray(res) && res[0]) { + const PATotalArea = res.map((i) => i.area).reduce((prev, next) => prev + next); + const PAAreas = transformPAValues(res, generalArea); + this.setState((prev) => ({ + PAAreas, + PATotalArea, + messages: { + ...prev.messages, + pa: null, + }, + })); + } } - } - }) - .catch(() => { - this.setState((prev) => ({ - messages: { - ...prev.messages, - se: 'no-data', - }, - })); - }); + }) + .catch(() => { + this.setState((prev) => ({ + messages: { + ...prev.messages, + pa: 'no-data', + }, + })); + }); - ['ecosystems', 'coverage', 'pa', 'se'].forEach((item) => { - RestAPI.requestSectionTexts(item) + SearchAPI.requestStrategicEcosystems(areaId, geofenceId) .then((res) => { if (this.mounted) { - this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: res }, - })); + if (Array.isArray(res)) { + const SETotal = res.find((obj) => obj.type === 'Total'); + const SETotalArea = SETotal ? SETotal.area : 0; + const SEAreas = res.slice(1); + this.setState((prev) => ({ + SEAreas, + SETotalArea, + messages: { + ...prev.messages, + se: null, + }, + })); + } } }) .catch(() => { - this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: {} }, + this.setState((prev) => ({ + messages: { + ...prev.messages, + se: 'no-data', + }, })); }); - }); + + ['ecosystems', 'coverage', 'pa', 'se'].forEach((item) => { + RestAPI.requestSectionTexts(item) + .then((res) => { + if (this.mounted) { + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: res }, + })); + } + }) + .catch(() => { + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: {} }, + })); + }); + }); + } } componentWillUnmount() { @@ -242,151 +245,161 @@ class Ecosystems extends React.Component { areaId, geofenceId, handlerClickOnGraph, + searchType } = this.context; - return ( -
    -

    - - this.toggleInfoGeneral()} - /> - -

    - {showInfoMain && ( - - )} -
    - - - this.toggleInfo('coverage')} - /> - - {infoShown.has('coverage') && ( + if(searchType==="polygon"){ + return ( +
    +

    Gráficas en construcción

    +

    Pronto más información

    +
    + ); + }else{ + return ( +
    +

    + + this.toggleInfoGeneral()} + /> + +

    + {showInfoMain && ( )} -
    - Natural, Secundaria y Transformada: -
    -
    -
    - { - handlerClickOnGraph({ chartType: 'coverage', selectedKey: selected }); +
    + + + this.toggleInfo('coverage')} /> -
    -
    - this.toggleInfo('coverage')} - isInfoOpen={infoShown.has('coverage')} - /> -

    - Áreas protegidas - {`${formatNumber(PATotalArea, 0)} ha `} -

    - - this.toggleInfo('pa')} - /> - -
    - {`${getPercentage(PATotalArea, generalArea)} %`} -
    - {infoShown.has('pa') && ( - - )} -
    + + {infoShown.has('coverage') && ( + + )}
    - Distribución por áreas protegidas: + Natural, Secundaria y Transformada:
    - +
    + { + handlerClickOnGraph({ chartType: 'coverage', selectedKey: selected }); + }} + /> +
    +
    + this.toggleInfo('coverage')} + isInfoOpen={infoShown.has('coverage')} /> -
    - this.toggleInfo('pa')} - isInfoOpen={infoShown.has('pa')} - /> -
    -

    - Ecosistemas estratégicos - {`${formatNumber(SETotalArea, 0)} ha`} +

    + Áreas protegidas + {`${formatNumber(PATotalArea, 0)} ha `}

    this.toggleInfo('se')} + className={`downSpecial${infoShown.has('pa') ? ' activeBox' : ''}`} + onClick={() => this.toggleInfo('pa')} /> -
    - {`${getPercentage(SETotalArea, generalArea)} %`} +
    + {`${getPercentage(PATotalArea, generalArea)} %`}
    - {infoShown.has('se') && ( + {infoShown.has('pa') && ( )} - {this.renderEcosystemsBox(SEAreas, SETotalArea)} +
    +
    + Distribución por áreas protegidas: +
    + +
    this.toggleInfo('se')} - isInfoOpen={infoShown.has('se')} + downloadData={PAAreas} + downloadName={`eco_protected_areas_${areaId}_${geofenceId}.csv`} + quoteText={texts.pa.quote} + metoText={texts.pa.meto} + consText={texts.pa.cons} + toggleInfo={() => this.toggleInfo('pa')} + isInfoOpen={infoShown.has('pa')} /> +
    +

    + Ecosistemas estratégicos + {`${formatNumber(SETotalArea, 0)} ha`} +

    + + this.toggleInfo('se')} + /> + +
    + {`${getPercentage(SETotalArea, generalArea)} %`} +
    + {infoShown.has('se') && ( + + )} + {this.renderEcosystemsBox(SEAreas, SETotalArea)} + this.toggleInfo('se')} + isInfoOpen={infoShown.has('se')} + /> +
    -
    - ); + ); + } } } diff --git a/src/pages/search/drawer/Portfolios.tsx b/src/pages/search/drawer/Portfolios.tsx index 66f8f7ca2..c36a4d1bc 100644 --- a/src/pages/search/drawer/Portfolios.tsx +++ b/src/pages/search/drawer/Portfolios.tsx @@ -61,25 +61,29 @@ class Portfolios extends React.Component { render() { const { childMap } = this.state; - const initialArray: Array = [ - { - label: { - id: "conservationAreas", - name: "Portafolios de áreas de conservación", - }, - component: ConservationAreas, - componentProps: { - handleAccordionChange: this.handleAccordionChange, - openTab: childMap.conservationAreas, - }, - }, - ]; - const componentsArray = initialArray; + let initialArray: Array = []; + const { searchType } = this.context as SearchContextValues; + + if (searchType !== "polygon") { + initialArray = [ + { + label: { + id: "conservationAreas", + name: "Portafolios de áreas de conservación", + }, + component: ConservationAreas, + componentProps: { + handleAccordionChange: this.handleAccordionChange, + openTab: childMap.conservationAreas, + }, + }, + ]; + } return ( Date: Tue, 15 Nov 2022 09:24:52 -0500 Subject: [PATCH 371/664] Adjust Landscape component for polygon search --- src/pages/search/drawer/Landscape.tsx | 28 ++++--- src/pages/search/drawer/landscape/Forest.tsx | 18 ++++- .../forest/ForestLossPersistence.tsx | 78 ++++++++++++------- 3 files changed, 86 insertions(+), 38 deletions(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 80be4b15e..970e50ed1 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -77,7 +77,7 @@ class Landscape extends React.Component { } render() { - const { areaId } = this.context as SearchContextValues; + const { areaId, searchType } = this.context as SearchContextValues; const { childMap } = this.state; const initialArray: Array = [ { @@ -124,17 +124,23 @@ class Landscape extends React.Component { ]; let selected: Array = []; - switch (areaId) { - case "states": - case "basinSubzones": - selected = ["hf", "forest", "connectivity"]; - break; - case "ea": - selected = ["fc", "hf", "forest", "connectivity"]; - break; - default: - break; + + if (searchType === "polygon") { + selected = ["forest"]; + } else { + switch (areaId) { + case "states": + case "basinSubzones": + selected = ["hf", "forest", "connectivity"]; + break; + case "ea": + selected = ["fc", "hf", "forest", "connectivity"]; + break; + default: + break; + } } + const componentsArray = initialArray.filter((f) => selected.includes(f.label.id) ); diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx index 0397b178b..441b278c6 100644 --- a/src/pages/search/drawer/landscape/Forest.tsx +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -1,12 +1,16 @@ +import React, { useContext } from "react"; import Accordion from "pages/search/Accordion"; import ForestIntegrity from "pages/search/drawer/landscape/forest/ForestIntegrity"; import ForestLossPersistence from "pages/search/drawer/landscape/forest/ForestLossPersistence"; +import SearchContext from "pages/search/SearchContext"; import { accordionComponent, componentProps } from "pages/search/types/ui"; const Forest: React.FC = (props) => { const { handleAccordionChange, openTab } = props; - const componentsArray: Array = [ + const { searchType } = useContext(SearchContext); + + const initialArray: Array = [ { label: { id: "forestLP-2016-2021", @@ -24,6 +28,18 @@ const Forest: React.FC = (props) => { component: ForestIntegrity, }, ]; + + let selected: Array = []; + + if (searchType !== "polygon") { + selected = ["forestLP-2016-2021", "forestIntegrity"]; + } else { + selected = ["forestLP-2016-2021"]; + } + + const componentsArray = initialArray.filter((f) => + selected.includes(f.label.id) + ); return (
    { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, switchLayer } = this + const { areaId, geofenceId, searchType, switchLayer } = this .context as SearchContextValues; - switchLayer(`forestLP-${LATEST_PERIOD}`); - - this.flpController - .getForestLPData(areaId, geofenceId, LATEST_PERIOD) - .then((data) => { - if (this.mounted) { - this.setState({ - forestLP: data.forestLP, - forestPersistenceValue: data.forestPersistenceValue, - message: null, - }); - } - }) - .catch(() => { - this.setState({ message: "no-data" }); - }); - - this.flpController - .getForestLPTexts("forestLP") - .then((res) => { - if (this.mounted) { - this.setState({ texts: { forestLP: res } }); - } - }) - .catch(() => {}); + if (searchType === "polygon") { + this.flpController + .getForestLPData(areaId, geofenceId, LATEST_PERIOD) + .then((data) => { + if (this.mounted) { + this.setState({ + forestLP: data.forestLP, + forestPersistenceValue: data.forestPersistenceValue, + message: null, + }); + } + }) + .catch(() => { + this.setState({ message: "no-data" }); + }); + + this.flpController + .getForestLPTexts("forestLP") + .then((res) => { + if (this.mounted) { + this.setState({ texts: { forestLP: res } }); + } + }) + .catch(() => {}); + } else { + switchLayer(`forestLP-${LATEST_PERIOD}`); + + this.flpController + .getForestLPData(areaId, geofenceId, LATEST_PERIOD) + .then((data) => { + if (this.mounted) { + this.setState({ + forestLP: data.forestLP, + forestPersistenceValue: data.forestPersistenceValue, + message: null, + }); + } + }) + .catch(() => { + this.setState({ message: "no-data" }); + }); + + this.flpController + .getForestLPTexts("forestLP") + .then((res) => { + if (this.mounted) { + this.setState({ texts: { forestLP: res } }); + } + }) + .catch(() => {}); + } } componentWillUnmount() { From 6572e96954231aa446d47f7542f65cd7efdbe6a8 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 16 Nov 2022 11:07:28 -0500 Subject: [PATCH 372/664] Change dummy data to be downloaded by data returned by the endpoint --- .../portfolios/conservationAreas/Targets.tsx | 8 ++--- .../conservationAreas/TargetsController.ts | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index f20e313c5..dc69484cf 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -26,7 +26,6 @@ interface State { texts: textsObject; targetsData: Array; availablePortfolios: Array; - csvData: Array; selectedTarget: string; selectedPortfolios: Set; } @@ -44,7 +43,6 @@ class Targets extends React.Component { targetsData: [], availablePortfolios: [], texts: { info: "", cons: "", meto: "", quote: "" }, - csvData: [], selectedTarget: "", selectedPortfolios: new Set(), }; @@ -60,10 +58,9 @@ class Targets extends React.Component { meto: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", quote: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", }, - csvData: [{ id: 1, name: "hola" }], }; - this.setState({ texts: dummyData.texts, csvData: dummyData.csvData }); + this.setState({ texts: dummyData.texts }); const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; @@ -163,7 +160,6 @@ class Targets extends React.Component { loading, texts, targetsData, - csvData, availablePortfolios, selectedTarget, selectedPortfolios, @@ -268,7 +264,7 @@ class Targets extends React.Component { ) => { + const result: Array<{ + target_name: string; + target_national: number; + target_units_short: string; + target_units: string; + portfolio_name: string; + portfolio_short_name: string; + portfolio_value: number; + portfolio_percentage: number; + }> = []; + data.forEach((target: portfoliosByTarget) => + target.portfolios_data.forEach((portfolio) => { + result.push({ + target_name: target.target_name, + target_national: target.target_national, + target_units_short: target.target_units_short, + target_units: target.target_units, + portfolio_name: portfolio.name, + portfolio_short_name: portfolio.short_name, + portfolio_value: portfolio.value, + portfolio_percentage: + (portfolio.value / target.target_national) * 100, + }); + }) + ); + return result; + }; } From 08a783838deb7dc59cd8f543c070f6a2a69a5f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 17 Nov 2022 08:23:24 -0500 Subject: [PATCH 373/664] Adjust searchType implement, add polygon request context var --- src/pages/Search.jsx | 28 ++++++++++------------ src/pages/search/Drawer.tsx | 6 ++--- src/pages/search/MapViewer.tsx | 10 +------- src/pages/search/SearchContext.tsx | 7 ++++-- src/pages/search/mapViewer/DrawControl.jsx | 6 ++--- src/pages/search/types/drawer.ts | 4 ++++ 6 files changed, 27 insertions(+), 34 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 64411ce53..e8e0ce2e8 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -40,6 +40,8 @@ class Search extends Component { drawPolygonEnabled: false, mapBounds: null, rasterUrls: [], + searchType: "definedArea", + polygonRequest: {}, }; } @@ -1311,6 +1313,7 @@ class Search extends Component { * @param {Object} polygon polygon to be searched */ loadPolygonInfo = (polygon) => { + const { setHeaderNames } = this.props; RestAPI.requestCustomPolygonData(polygon).catch(() => {}); this.setState((prev) => ({ drawPolygonEnabled: false, @@ -1321,7 +1324,10 @@ class Search extends Component { layer: L.polygon(polygon.latLngs, { fitBounds: true }), }, }, + searchType: "drawPolygon", + polygonRequest: polygon, })); + setHeaderNames("Polígono", "Área Consultada"); } /** ************************************* */ @@ -1362,7 +1368,8 @@ class Search extends Component { newState.loadingLayer = false; newState.layerError = false; newState.rasterUrls = []; - newState.searchType = "selection"; + newState.searchType = "definedArea"; + newState.polygonRequest = {}; newState.drawPolygonEnabled= false; return newState; }, () => { @@ -1381,15 +1388,6 @@ class Search extends Component { this.setState({ [state]: false }); }; - /** - * Set search type value - * - * @param {String} state state value to set the search type - */ - setSearchType(searchType) { - this.setState({ searchType: searchType }); - }; - render() { const { loadingLayer, @@ -1405,8 +1403,7 @@ class Search extends Component { const { selectedAreaTypeId, - selectedAreaId, - setHeaderNames + selectedAreaId } = this.props; let mapTitle = null; @@ -1467,6 +1464,7 @@ class Search extends Component { areaId: selectedAreaTypeId, geofenceId: selectedAreaId, searchType: this.state.searchType, + polygonRequest: this.state.polygonRequest, handlerClickOnGraph: this.clickOnGraph, switchLayer: this.switchLayer, cancelActiveRequests: this.cancelActiveRequests, @@ -1484,11 +1482,9 @@ class Search extends Component { mapTitle={mapTitle} drawPolygonEnabled={drawPolygonEnabled} loadPolygonInfo={this.loadPolygonInfo} - setSearchType={this.setSearchType.bind(this)} - setHeaderNames={setHeaderNames} />
    - { ((!selectedAreaTypeId || !selectedAreaId) && searchType!=="polygon") && ( + { ((!selectedAreaTypeId || !selectedAreaId) && searchType!=="drawPolygon") && ( { @@ -1505,7 +1501,7 @@ class Search extends Component { areasData={areaList} /> )} - { ((selectedAreaTypeId && selectedAreaId && (selectedAreaTypeId !== 'se')) || searchType==="polygon") && ( + { ((selectedAreaTypeId && selectedAreaId && (selectedAreaTypeId !== 'se')) || searchType==="drawPolygon") && ( diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index ca0d4ccc5..5b5322afc 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -43,7 +43,7 @@ class Drawer extends React.Component { const { areaId, geofenceId, searchType } = this .context as SearchContextValues; - if (searchType === "polygon") { + if (searchType === "drawPolygon") { this.setState({ geofenceArea: Math.random() * 100 }); } else { searchAPI @@ -62,7 +62,7 @@ class Drawer extends React.Component { const { searchType } = this.context as SearchContextValues; let initialSelectedIndex = 0; - if (searchType === "polygon") initialSelectedIndex = 1; + if (searchType === "drawPolygon") initialSelectedIndex = 1; return (
    @@ -86,7 +86,7 @@ class Drawer extends React.Component { { label: "Portafolios", icon: }, ]} > - {(geofenceArea !== 0 || searchType === "polygon") && ( + {(geofenceArea !== 0 || searchType === "drawPolygon") && (
    diff --git a/src/pages/search/MapViewer.tsx b/src/pages/search/MapViewer.tsx index 11fe0ebc2..a97f19d0d 100644 --- a/src/pages/search/MapViewer.tsx +++ b/src/pages/search/MapViewer.tsx @@ -54,8 +54,6 @@ interface Props { id: number; }; }; - setSearchType: () => void; - setHeaderNames: () => void; } interface State { @@ -106,8 +104,6 @@ class MapViewer extends React.Component { mapTitle, drawPolygonEnabled, loadPolygonInfo, - setSearchType, - setHeaderNames, } = this.props; const { openErrorModal } = this.state; @@ -169,11 +165,7 @@ class MapViewer extends React.Component {
    {drawPolygonEnabled && ( - + )} ({ areaId: "", geofenceId: "", - searchType: "selection", + searchType: "definedArea", + polygonRequest: {} as Polygon, switchLayer: () => {}, handlerClickOnGraph: () => {}, cancelActiveRequests: () => {}, diff --git a/src/pages/search/mapViewer/DrawControl.jsx b/src/pages/search/mapViewer/DrawControl.jsx index 523eda2a6..aa826aa70 100644 --- a/src/pages/search/mapViewer/DrawControl.jsx +++ b/src/pages/search/mapViewer/DrawControl.jsx @@ -67,10 +67,8 @@ class DrawControl extends React.Component { */ confirmPolygon = () => { const { polygon } = this.state; - const { loadPolygonInfo, setSearchType, setHeaderNames } = this.props; + const { loadPolygonInfo } = this.props; loadPolygonInfo(polygon); - setSearchType("polygon"); - setHeaderNames("Polígono", "Área Consultada"); this.setState({ editEnabled: false, createEnabled: true, @@ -247,4 +245,4 @@ DrawControl.defaultProps = { export default DrawControl; -DrawControl.contextType = SearchContext; \ No newline at end of file +DrawControl.contextType = SearchContext; diff --git a/src/pages/search/types/drawer.ts b/src/pages/search/types/drawer.ts index 584204337..20f08be84 100644 --- a/src/pages/search/types/drawer.ts +++ b/src/pages/search/types/drawer.ts @@ -1,3 +1,7 @@ export interface geofenceDetails { total_area: string; } + +export type Polygon = { + latLngs: Array<{ lat: number; lng: number }>; +}; From 7516ed96518d9d8b95bda611853564e23230304b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 17 Nov 2022 09:27:41 -0500 Subject: [PATCH 374/664] Adjust searchType implement in portfolios and species components --- src/pages/search/drawer/Portfolios.tsx | 2 +- src/pages/search/drawer/Species.jsx | 36 ++++++++++++-------------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/pages/search/drawer/Portfolios.tsx b/src/pages/search/drawer/Portfolios.tsx index c36a4d1bc..ca64e2904 100644 --- a/src/pages/search/drawer/Portfolios.tsx +++ b/src/pages/search/drawer/Portfolios.tsx @@ -65,7 +65,7 @@ class Portfolios extends React.Component { let initialArray: Array = []; const { searchType } = this.context as SearchContextValues; - if (searchType !== "polygon") { + if (searchType !== "drawPolygon") { initialArray = [ { label: { diff --git a/src/pages/search/drawer/Species.jsx b/src/pages/search/drawer/Species.jsx index 472202fcf..36ed99be1 100644 --- a/src/pages/search/drawer/Species.jsx +++ b/src/pages/search/drawer/Species.jsx @@ -23,29 +23,25 @@ class Species extends React.Component { } componentDidMount() { - const { areaId, geofenceId, searchType } = this.context; + const { areaId, geofenceId } = this.context; let selected = []; - - if(searchType!=="selected"){ - switch (areaId) { - case 'states': - if (geofenceId !== '88') { - selected = ['richness', 'functionalDiversity']; - } - break; - case 'ea': - if (geofenceId !== 'CORALINA') { - selected = ['richness', 'functionalDiversity']; - } - break; - case 'basinSubzones': + switch (areaId) { + case 'states': + if (geofenceId !== '88') { selected = ['richness', 'functionalDiversity']; - break; - default: - break; - } + } + break; + case 'ea': + if (geofenceId !== 'CORALINA') { + selected = ['richness', 'functionalDiversity']; + } + break; + case 'basinSubzones': + selected = ['richness', 'functionalDiversity']; + break; + default: + break; } - this.setState({ availableComponents: selected }); isFlagEnabled('functionalDiversity') From f8e630e0ece10de3f9e62841cfb39d1a3b4d65cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 17 Nov 2022 09:50:10 -0500 Subject: [PATCH 375/664] Adjust searchType implement in landscape component --- src/pages/search/drawer/Landscape.tsx | 2 +- src/pages/search/drawer/landscape/Forest.tsx | 2 +- .../forest/ForestLossPersistence.tsx | 84 +++++++------------ .../forest/ForestLossPersistenceController.ts | 14 +++- 4 files changed, 45 insertions(+), 57 deletions(-) diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 970e50ed1..4c4e8ec94 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -125,7 +125,7 @@ class Landscape extends React.Component { let selected: Array = []; - if (searchType === "polygon") { + if (searchType === "drawPolygon") { selected = ["forest"]; } else { switch (areaId) { diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx index 441b278c6..cc5fc6bd2 100644 --- a/src/pages/search/drawer/landscape/Forest.tsx +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -31,7 +31,7 @@ const Forest: React.FC = (props) => { let selected: Array = []; - if (searchType !== "polygon") { + if (searchType !== "drawPolygon") { selected = ["forestLP-2016-2021", "forestIntegrity"]; } else { selected = ["forestLP-2016-2021"]; diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index a6aa537cc..a59a5f3ba 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -47,60 +47,40 @@ class ForestLossPersistence extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, searchType, switchLayer } = this + const { areaId, geofenceId, searchType, polygonRequest, switchLayer } = this .context as SearchContextValues; - if (searchType === "polygon") { - this.flpController - .getForestLPData(areaId, geofenceId, LATEST_PERIOD) - .then((data) => { - if (this.mounted) { - this.setState({ - forestLP: data.forestLP, - forestPersistenceValue: data.forestPersistenceValue, - message: null, - }); - } - }) - .catch(() => { - this.setState({ message: "no-data" }); - }); - - this.flpController - .getForestLPTexts("forestLP") - .then((res) => { - if (this.mounted) { - this.setState({ texts: { forestLP: res } }); - } - }) - .catch(() => {}); - } else { - switchLayer(`forestLP-${LATEST_PERIOD}`); - - this.flpController - .getForestLPData(areaId, geofenceId, LATEST_PERIOD) - .then((data) => { - if (this.mounted) { - this.setState({ - forestLP: data.forestLP, - forestPersistenceValue: data.forestPersistenceValue, - message: null, - }); - } - }) - .catch(() => { - this.setState({ message: "no-data" }); - }); - - this.flpController - .getForestLPTexts("forestLP") - .then((res) => { - if (this.mounted) { - this.setState({ texts: { forestLP: res } }); - } - }) - .catch(() => {}); - } + switchLayer(`forestLP-${LATEST_PERIOD}`); + + this.flpController + .getForestLPData( + areaId, + geofenceId, + LATEST_PERIOD, + searchType, + polygonRequest + ) + .then((data) => { + if (this.mounted) { + this.setState({ + forestLP: data.forestLP, + forestPersistenceValue: data.forestPersistenceValue, + message: null, + }); + } + }) + .catch(() => { + this.setState({ message: "no-data" }); + }); + + this.flpController + .getForestLPTexts("forestLP") + .then((res) => { + if (this.mounted) { + this.setState({ texts: { forestLP: res } }); + } + }) + .catch(() => {}); } componentWillUnmount() { diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index d81903fda..2e0a5fa89 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -7,6 +7,7 @@ import { ForestLPExt } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; import formatNumber from "utils/format"; import { SmallBarTooltip } from "pages/search/types/charts"; +import { Polygon } from "pages/search/types/drawer"; const getLabel = { persistencia: "Persistencia", @@ -35,9 +36,15 @@ export class ForestLossPersistenceController { getForestLPData = ( areaType: string, areaId: string | number, - latestPeriod: string - ): Promise => - SearchAPI.requestForestLP(areaType, areaId) + latestPeriod: string, + searchType: "definedArea" | "drawPolygon", + polygonRequest: {} + ): Promise => { + if (searchType === "drawPolygon") { + areaType = "states"; + areaId = 63; + } + return SearchAPI.requestForestLP(areaType, areaId) .then((data) => { const forestLP = data.map((item) => ({ ...item, @@ -63,6 +70,7 @@ export class ForestLossPersistenceController { .catch(() => { throw new Error("Error getting data"); }); + }; /** * Transform data structure to be passed to component as a prop From 4414801a2276efc71a7dc655363e0bf3361ca780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 17 Nov 2022 14:27:45 -0500 Subject: [PATCH 376/664] Adjust searchType implement in ecosystems component --- src/pages/search/drawer/Ecosystems.jsx | 413 +++++++++++++------------ 1 file changed, 207 insertions(+), 206 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index eb62f8f5b..ca8ef5851 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -62,103 +62,105 @@ class Ecosystems extends React.Component { areaId, geofenceId, switchLayer, - searchType + searchType, } = this.context; const { generalArea } = this.props; - - if(searchType!=="polygon"){ - switchLayer('coverages'); - - SearchAPI.requestCoverage(areaId, geofenceId) - .then((res) => { - if (this.mounted) { + + if (searchType === "drawPolygon") { + return false; + } + + switchLayer('coverages'); + + SearchAPI.requestCoverage(areaId, geofenceId) + .then((res) => { + if (this.mounted) { + this.setState((prev) => ({ + coverage: transformCoverageValues(res), + messages: { + ...prev.messages, + cov: null, + }, + })); + } + }) + .catch(() => { + this.setState((prev) => ({ + messages: { + ...prev.messages, + cov: 'no-data', + }, + })); + }); + + SearchAPI.requestProtectedAreas(areaId, geofenceId) + .then((res) => { + if (this.mounted) { + if (Array.isArray(res) && res[0]) { + const PATotalArea = res.map((i) => i.area).reduce((prev, next) => prev + next); + const PAAreas = transformPAValues(res, generalArea); this.setState((prev) => ({ - coverage: transformCoverageValues(res), + PAAreas, + PATotalArea, messages: { ...prev.messages, - cov: null, + pa: null, }, })); } - }) - .catch(() => { - this.setState((prev) => ({ - messages: { - ...prev.messages, - cov: 'no-data', - }, - })); - }); + } + }) + .catch(() => { + this.setState((prev) => ({ + messages: { + ...prev.messages, + pa: 'no-data', + }, + })); + }); - SearchAPI.requestProtectedAreas(areaId, geofenceId) - .then((res) => { - if (this.mounted) { - if (Array.isArray(res) && res[0]) { - const PATotalArea = res.map((i) => i.area).reduce((prev, next) => prev + next); - const PAAreas = transformPAValues(res, generalArea); - this.setState((prev) => ({ - PAAreas, - PATotalArea, - messages: { - ...prev.messages, - pa: null, - }, - })); - } + SearchAPI.requestStrategicEcosystems(areaId, geofenceId) + .then((res) => { + if (this.mounted) { + if (Array.isArray(res)) { + const SETotal = res.find((obj) => obj.type === 'Total'); + const SETotalArea = SETotal ? SETotal.area : 0; + const SEAreas = res.slice(1); + this.setState((prev) => ({ + SEAreas, + SETotalArea, + messages: { + ...prev.messages, + se: null, + }, + })); } - }) - .catch(() => { - this.setState((prev) => ({ - messages: { - ...prev.messages, - pa: 'no-data', - }, - })); - }); + } + }) + .catch(() => { + this.setState((prev) => ({ + messages: { + ...prev.messages, + se: 'no-data', + }, + })); + }); - SearchAPI.requestStrategicEcosystems(areaId, geofenceId) + ['ecosystems', 'coverage', 'pa', 'se'].forEach((item) => { + RestAPI.requestSectionTexts(item) .then((res) => { if (this.mounted) { - if (Array.isArray(res)) { - const SETotal = res.find((obj) => obj.type === 'Total'); - const SETotalArea = SETotal ? SETotal.area : 0; - const SEAreas = res.slice(1); - this.setState((prev) => ({ - SEAreas, - SETotalArea, - messages: { - ...prev.messages, - se: null, - }, - })); - } + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: res }, + })); } }) .catch(() => { - this.setState((prev) => ({ - messages: { - ...prev.messages, - se: 'no-data', - }, + this.setState((prevState) => ({ + texts: { ...prevState.texts, [item]: {} }, })); }); - - ['ecosystems', 'coverage', 'pa', 'se'].forEach((item) => { - RestAPI.requestSectionTexts(item) - .then((res) => { - if (this.mounted) { - this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: res }, - })); - } - }) - .catch(() => { - this.setState((prevState) => ({ - texts: { ...prevState.texts, [item]: {} }, - })); - }); - }); - } + }); } componentWillUnmount() { @@ -245,161 +247,160 @@ class Ecosystems extends React.Component { areaId, geofenceId, handlerClickOnGraph, - searchType + searchType, } = this.context; - if(searchType==="polygon"){ + if (searchType === "drawPolygon") { return (
    -

    Gráficas en construcción

    -

    Pronto más información

    -
    +

    Gráficas en construcción

    +

    Pronto más información

    +
    ); - }else{ - return ( -
    -

    - - this.toggleInfoGeneral()} - /> - -

    - {showInfoMain && ( + } + return ( +
    +

    + + this.toggleInfoGeneral()} + /> + +

    + {showInfoMain && ( + + )} +
    + + + this.toggleInfo('coverage')} + /> + + {infoShown.has('coverage') && ( )} -
    - - - this.toggleInfo('coverage')} /> - - {infoShown.has('coverage') && ( - - )} +
    +
    + this.toggleInfo('coverage')} + isInfoOpen={infoShown.has('coverage')} + /> +

    + Áreas protegidas + {`${formatNumber(PATotalArea, 0)} ha `} +

    + + this.toggleInfo('pa')} + /> + +
    + {`${getPercentage(PATotalArea, generalArea)} %`} +
    + {infoShown.has('pa') && ( + + )} +
    - Natural, Secundaria y Transformada: + Distribución por áreas protegidas:
    -
    -
    - { - handlerClickOnGraph({ chartType: 'coverage', selectedKey: selected }); - }} - /> -
    -
    - this.toggleInfo('coverage')} - isInfoOpen={infoShown.has('coverage')} + -

    - Áreas protegidas - {`${formatNumber(PATotalArea, 0)} ha `} +

    + this.toggleInfo('pa')} + isInfoOpen={infoShown.has('pa')} + /> +
    +

    + Ecosistemas estratégicos + {`${formatNumber(SETotalArea, 0)} ha`}

    this.toggleInfo('pa')} + className={`downSpecial2${infoShown.has('se') ? ' activeBox' : ''}`} + onClick={() => this.toggleInfo('se')} /> -
    - {`${getPercentage(PATotalArea, generalArea)} %`} +
    + {`${getPercentage(SETotalArea, generalArea)} %`}
    - {infoShown.has('pa') && ( + {infoShown.has('se') && ( )} -
    -
    - Distribución por áreas protegidas: -
    - -
    + {this.renderEcosystemsBox(SEAreas, SETotalArea)} this.toggleInfo('pa')} - isInfoOpen={infoShown.has('pa')} + downloadData={SEAreas} + downloadName={`eco_strategic_ecosystems_${areaId}_${geofenceId}.csv`} + quoteText={texts.se.quote} + metoText={texts.se.meto} + consText={texts.se.cons} + toggleInfo={() => this.toggleInfo('se')} + isInfoOpen={infoShown.has('se')} /> -
    -

    - Ecosistemas estratégicos - {`${formatNumber(SETotalArea, 0)} ha`} -

    - - this.toggleInfo('se')} - /> - -
    - {`${getPercentage(SETotalArea, generalArea)} %`} -
    - {infoShown.has('se') && ( - - )} - {this.renderEcosystemsBox(SEAreas, SETotalArea)} - this.toggleInfo('se')} - isInfoOpen={infoShown.has('se')} - /> -
    - ); - } +
    + ); } } From f02ead3b9f43c266e51c5316638285e4e2ad1bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 17 Nov 2022 15:25:41 -0500 Subject: [PATCH 377/664] Adjust portfolios and landscape components array --- src/pages/Search.jsx | 2 ++ src/pages/search/drawer/Landscape.tsx | 27 +++++++-------- src/pages/search/drawer/Portfolios.tsx | 46 +++++++++++++++++--------- 3 files changed, 44 insertions(+), 31 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index e8e0ce2e8..d74738199 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1324,6 +1324,8 @@ class Search extends Component { layer: L.polygon(polygon.latLngs, { fitBounds: true }), }, }, + selectedAreaTypeId: null, + selectedAreaId: null, searchType: "drawPolygon", polygonRequest: polygon, })); diff --git a/src/pages/search/drawer/Landscape.tsx b/src/pages/search/drawer/Landscape.tsx index 4c4e8ec94..0d6b50f6a 100644 --- a/src/pages/search/drawer/Landscape.tsx +++ b/src/pages/search/drawer/Landscape.tsx @@ -77,7 +77,7 @@ class Landscape extends React.Component { } render() { - const { areaId, searchType } = this.context as SearchContextValues; + const { areaId } = this.context as SearchContextValues; const { childMap } = this.state; const initialArray: Array = [ { @@ -125,20 +125,17 @@ class Landscape extends React.Component { let selected: Array = []; - if (searchType === "drawPolygon") { - selected = ["forest"]; - } else { - switch (areaId) { - case "states": - case "basinSubzones": - selected = ["hf", "forest", "connectivity"]; - break; - case "ea": - selected = ["fc", "hf", "forest", "connectivity"]; - break; - default: - break; - } + switch (areaId) { + case "states": + case "basinSubzones": + selected = ["hf", "forest", "connectivity"]; + break; + case "ea": + selected = ["fc", "hf", "forest", "connectivity"]; + break; + default: + selected = ["forest"]; + break; } const componentsArray = initialArray.filter((f) => diff --git a/src/pages/search/drawer/Portfolios.tsx b/src/pages/search/drawer/Portfolios.tsx index ca64e2904..9364f8ea3 100644 --- a/src/pages/search/drawer/Portfolios.tsx +++ b/src/pages/search/drawer/Portfolios.tsx @@ -63,27 +63,41 @@ class Portfolios extends React.Component { const { childMap } = this.state; let initialArray: Array = []; - const { searchType } = this.context as SearchContextValues; - - if (searchType !== "drawPolygon") { - initialArray = [ - { - label: { - id: "conservationAreas", - name: "Portafolios de áreas de conservación", - }, - component: ConservationAreas, - componentProps: { - handleAccordionChange: this.handleAccordionChange, - openTab: childMap.conservationAreas, - }, + const { areaId } = this.context as SearchContextValues; + + initialArray = [ + { + label: { + id: "conservationAreas", + name: "Portafolios de áreas de conservación", }, - ]; + component: ConservationAreas, + componentProps: { + handleAccordionChange: this.handleAccordionChange, + openTab: childMap.conservationAreas, + }, + }, + ]; + + let selected: Array = []; + + switch (areaId) { + case "states": + case "basinSubzones": + case "ea": + selected = ["conservationAreas"]; + break; + default: + break; } + const componentsArray = initialArray.filter((f) => + selected.includes(f.label.id) + ); + return ( Date: Thu, 17 Nov 2022 21:54:53 -0500 Subject: [PATCH 378/664] Add target name to rendering layer logic in order to be able to send that info to backend --- src/pages/Search.jsx | 27 +++++++++---------- .../portfolios/conservationAreas/Targets.tsx | 11 +++++--- src/utils/searchAPI.ts | 3 ++- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index ac9e8f806..d3b73dfed 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -385,7 +385,7 @@ class Search extends Component { * @param {String} chartSection in case chartType groups multiple charts * @param {String} selectedKey selected key id on the graph */ - clickOnGraph = ({ chartType, chartSection, selectedKey }) => { + clickOnGraph = ({ chartType, chartSection, selectedKey, isOutOfGraph = false }) => { switch (chartType) { case 'coverage': this.highlightRaster(`${chartType}-${selectedKey}`); @@ -418,24 +418,24 @@ class Search extends Component { break; case 'portfoliosCA': const { activeLayer } = this.state; - if (chartSection === "legend" && /portfoliosCA*/.test(activeLayer.id)) { + if (isOutOfGraph && /portfoliosCA*/.test(activeLayer.id)) { const selectedPortfolios = selectedKey; this.setState(({ rasterUrls }) => ({ rasterUrls: rasterUrls.map(url => { - if (!selectedPortfolios.some(portfolioId => `portfoliosCA-${portfolioId}` === url.id)) { + if (selectedPortfolios.some(portfolioId => `portfoliosCA|${chartSection}|${portfolioId}` === url.id)) { return { ...url, - opacity: 0 + opacity: 0.7, }; } return { ...url, - opacity: 0.7, + opacity: 0, }; }) })) } else { - this.setSectionLayers(`portfoliosCA-${selectedKey}`); + this.setSectionLayers(`portfoliosCA|${chartSection}|${selectedKey}`); } break; // Current progress of the refactor @@ -720,13 +720,13 @@ class Search extends Component { selectedAreaTypeId, selectedAreaId, ); - } else if (/portfoliosCA-*/.test(layerName)) { - const portfolioId = layerName.match(/\d+/); - + } else if (/portfoliosCA*/.test(layerName)) { + const [,targetName,portfolioId] = layerName.split("|", 3); reqPromise = () => SearchAPI.requestPortfoliosCALayer( selectedAreaTypeId, selectedAreaId, + targetName, portfolioId ); } @@ -917,13 +917,12 @@ class Search extends Component { }, }; } else if (/portfoliosCA*/.test(sectionName)) { - // TODO: Add target name or id to this logic - newActiveLayer.name = 'Portafolios por temáticas'; + const [,targetName,selectedPorfolios] = sectionName.split("|", 3); + newActiveLayer.name = `Portafolios para la temática ${targetName}`; newActiveLayer.defaultOpacity = 0.7; - const selectedPorfolios = sectionName.match(/\d+/g); if (selectedPorfolios !== null) { - selectedPorfolios.forEach((portfolioId) => { - rasterLayerOpts.push({ id: `portfoliosCA-${portfolioId}`, paneLevel: 1 }); + selectedPorfolios.split(',').forEach((portfolioId) => { + rasterLayerOpts.push({ id: `portfoliosCA|${targetName}|${portfolioId}`, paneLevel: 1 }); }); } } diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index dc69484cf..54ce46d7d 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -86,7 +86,10 @@ class Targets extends React.Component { ); if (portfoliosIds && portfoliosIds.size > 0) { switchLayer( - ["portfoliosCA", [...portfoliosIds].join("-")].join("-") + [ + `portfoliosCA|${target.target_name}`, + [...portfoliosIds].join(","), + ].join("|") ); this.setState({ selectedPortfolios: portfoliosIds }); } @@ -142,11 +145,12 @@ class Targets extends React.Component { }; }, () => { - const { selectedPortfolios } = this.state; + const { selectedPortfolios, selectedTarget } = this.state; handlerClickOnGraph({ chartType: "portfoliosCA", - chartSection: "legend", + chartSection: selectedTarget, selectedKey: Array.from(selectedPortfolios), + isOutOfGraph: true, }); } ); @@ -206,6 +210,7 @@ class Targets extends React.Component { }); handlerClickOnGraph({ chartType: "portfoliosCA", + chartSection: selected, selectedKey: Array.from(portfoliosIds), }); }} diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 9f8b26eb8..3d02c14b5 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -527,12 +527,13 @@ class SearchAPI { static requestPortfoliosCALayer( areaType: string, areaId: string, + targetName: string, portfolioId: number ): { request: Promise; source: CancelTokenSource } { const source = axios.CancelToken.source(); return { request: SearchAPI.makeGetRequest( - `portfolios-ca/portfolios/layer?areaType=${areaType}&areaId=${areaId}&portfolioId=${portfolioId}`, + `portfolios-ca/portfolios/layer?areaType=${areaType}&areaId=${areaId}&targetName=${targetName}&portfolioId=${portfolioId}`, { cancelToken: source.token, responseType: "arraybuffer" }, true ), From a9c1e688651dc1f89681cede2d93f4a8d4b4f738 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 09:10:11 -0500 Subject: [PATCH 379/664] Change parameter isOutOfGraph at clickOnGraph function in order to know where the clic come from --- src/pages/Search.jsx | 5 +++-- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index d3b73dfed..34c5473c0 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -384,8 +384,9 @@ class Search extends Component { * @param {String} chartType id of chart emitting the event * @param {String} chartSection in case chartType groups multiple charts * @param {String} selectedKey selected key id on the graph + * @param {String} source source of the clic event */ - clickOnGraph = ({ chartType, chartSection, selectedKey, isOutOfGraph = false }) => { + clickOnGraph = ({ chartType, chartSection, selectedKey, source = 'graph' }) => { switch (chartType) { case 'coverage': this.highlightRaster(`${chartType}-${selectedKey}`); @@ -418,7 +419,7 @@ class Search extends Component { break; case 'portfoliosCA': const { activeLayer } = this.state; - if (isOutOfGraph && /portfoliosCA*/.test(activeLayer.id)) { + if (source === 'legend' && /portfoliosCA*/.test(activeLayer.id)) { const selectedPortfolios = selectedKey; this.setState(({ rasterUrls }) => ({ rasterUrls: rasterUrls.map(url => { diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 54ce46d7d..d12bc39c6 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -150,7 +150,7 @@ class Targets extends React.Component { chartType: "portfoliosCA", chartSection: selectedTarget, selectedKey: Array.from(selectedPortfolios), - isOutOfGraph: true, + source: 'legend', }); } ); From 9297fc5fffe950cfe99e74ec45a85e1c8f5c1cbb Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 09:13:33 -0500 Subject: [PATCH 380/664] Fix prettier --- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index d12bc39c6..c9003c592 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -150,7 +150,7 @@ class Targets extends React.Component { chartType: "portfoliosCA", chartSection: selectedTarget, selectedKey: Array.from(selectedPortfolios), - source: 'legend', + source: "legend", }); } ); From fb78412cdcdf7305fc53a48c45b02d63d1e0a266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 18 Nov 2022 09:57:08 -0500 Subject: [PATCH 381/664] Fix type definition for polygonRequest --- src/pages/Search.jsx | 8 ++++---- src/pages/search/SearchContext.tsx | 4 ++-- .../landscape/forest/ForestLossPersistenceController.ts | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index d74738199..37a097129 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -41,7 +41,7 @@ class Search extends Component { mapBounds: null, rasterUrls: [], searchType: "definedArea", - polygonRequest: {}, + polygonRequest: null, }; } @@ -1324,8 +1324,8 @@ class Search extends Component { layer: L.polygon(polygon.latLngs, { fitBounds: true }), }, }, - selectedAreaTypeId: null, - selectedAreaId: null, + selectedAreaTypeId: "", + selectedAreaId: "", searchType: "drawPolygon", polygonRequest: polygon, })); @@ -1371,7 +1371,7 @@ class Search extends Component { newState.layerError = false; newState.rasterUrls = []; newState.searchType = "definedArea"; - newState.polygonRequest = {}; + newState.polygonRequest = null; newState.drawPolygonEnabled= false; return newState; }, () => { diff --git a/src/pages/search/SearchContext.tsx b/src/pages/search/SearchContext.tsx index 5793c3611..9c41ea7cd 100644 --- a/src/pages/search/SearchContext.tsx +++ b/src/pages/search/SearchContext.tsx @@ -5,7 +5,7 @@ export interface SearchContextValues { areaId: string; geofenceId: string | number; searchType: "definedArea" | "drawPolygon"; - polygonRequest: {}; + polygonRequest: Polygon | null; switchLayer(layer: string): void; handlerClickOnGraph({}): void; cancelActiveRequests(): void; @@ -15,7 +15,7 @@ const SearchContext = React.createContext({ areaId: "", geofenceId: "", searchType: "definedArea", - polygonRequest: {} as Polygon, + polygonRequest: null, switchLayer: () => {}, handlerClickOnGraph: () => {}, cancelActiveRequests: () => {}, diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 2e0a5fa89..f8305a738 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -30,6 +30,8 @@ export class ForestLossPersistenceController { * @param {String} areaType area type * @param {String | Number} areaId area id * @param {String} latestPeriod string with range of years for latest period + * @param {String} searchType string to identifyy the type of search + * @param {Object | null} polygonRequest object with range of years for latest period * * @returns {Object} Object with forest LP data and persistence value */ @@ -38,8 +40,9 @@ export class ForestLossPersistenceController { areaId: string | number, latestPeriod: string, searchType: "definedArea" | "drawPolygon", - polygonRequest: {} + polygonRequest: Polygon | null ): Promise => { + console.log(areaType); if (searchType === "drawPolygon") { areaType = "states"; areaId = 63; From 7a576fcbc95bacc118ccb19a0c8d49e1bf0af03f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 18 Nov 2022 10:02:12 -0500 Subject: [PATCH 382/664] Remove console log --- .../drawer/landscape/forest/ForestLossPersistenceController.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index f8305a738..96dc77cfb 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -42,7 +42,6 @@ export class ForestLossPersistenceController { searchType: "definedArea" | "drawPolygon", polygonRequest: Polygon | null ): Promise => { - console.log(areaType); if (searchType === "drawPolygon") { areaType = "states"; areaId = 63; From 88c5b1d180c22825c9f98bd19e802cb8ded098e1 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 10:05:07 -0500 Subject: [PATCH 383/664] Change the way of building the string to be passed to switchLayer --- .../drawer/portfolios/conservationAreas/Targets.tsx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index c9003c592..bc8193f89 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -85,12 +85,8 @@ class Targets extends React.Component { target.target_name ); if (portfoliosIds && portfoliosIds.size > 0) { - switchLayer( - [ - `portfoliosCA|${target.target_name}`, - [...portfoliosIds].join(","), - ].join("|") - ); + const pIds= [...portfoliosIds].join(","); + switchLayer(`portfoliosCA|${target.target_name}|${pIds}`); this.setState({ selectedPortfolios: portfoliosIds }); } this.setState({ selectedTarget: target.target_name }); From 1542ff1afebb062eeb00a446a1af211bb9ab5866 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 10:07:21 -0500 Subject: [PATCH 384/664] Delete targetName parameter at requestPortfoliosCALayer at SearchAPI --- src/pages/Search.jsx | 3 +-- src/utils/searchAPI.ts | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 34c5473c0..09c312928 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -722,12 +722,11 @@ class Search extends Component { selectedAreaId, ); } else if (/portfoliosCA*/.test(layerName)) { - const [,targetName,portfolioId] = layerName.split("|", 3); + const [,,portfolioId] = layerName.split("|", 3); reqPromise = () => SearchAPI.requestPortfoliosCALayer( selectedAreaTypeId, selectedAreaId, - targetName, portfolioId ); } diff --git a/src/utils/searchAPI.ts b/src/utils/searchAPI.ts index 3d02c14b5..9f8b26eb8 100644 --- a/src/utils/searchAPI.ts +++ b/src/utils/searchAPI.ts @@ -527,13 +527,12 @@ class SearchAPI { static requestPortfoliosCALayer( areaType: string, areaId: string, - targetName: string, portfolioId: number ): { request: Promise; source: CancelTokenSource } { const source = axios.CancelToken.source(); return { request: SearchAPI.makeGetRequest( - `portfolios-ca/portfolios/layer?areaType=${areaType}&areaId=${areaId}&targetName=${targetName}&portfolioId=${portfolioId}`, + `portfolios-ca/portfolios/layer?areaType=${areaType}&areaId=${areaId}&portfolioId=${portfolioId}`, { cancelToken: source.token, responseType: "arraybuffer" }, true ), From f54c40a0395c2e7963af1f8cbc2d39f03e84b295 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 10:16:07 -0500 Subject: [PATCH 385/664] Delete pIds variable at componentDidMount --- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index bc8193f89..c9121995a 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -85,8 +85,7 @@ class Targets extends React.Component { target.target_name ); if (portfoliosIds && portfoliosIds.size > 0) { - const pIds= [...portfoliosIds].join(","); - switchLayer(`portfoliosCA|${target.target_name}|${pIds}`); + switchLayer(`portfoliosCA|${target.target_name}|${[...portfoliosIds].join(",")}`); this.setState({ selectedPortfolios: portfoliosIds }); } this.setState({ selectedTarget: target.target_name }); From 97a610f0eba7b4dd32b4ac88615f9aef81cbd899 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 10:16:41 -0500 Subject: [PATCH 386/664] Apply font-weight 600 when selected instead of 800 --- src/pages/search/shared_components/CssTicks.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/CssTicks.tsx b/src/pages/search/shared_components/CssTicks.tsx index f4b130d81..07d7fced6 100644 --- a/src/pages/search/shared_components/CssTicks.tsx +++ b/src/pages/search/shared_components/CssTicks.tsx @@ -18,7 +18,7 @@ const Tick = styled.div` padding-top: ${(props) => (props.side === "left" ? "5px" : "0px")}; padding-left: ${(props) => (props.side === "left" ? "0px" : "3px")}; padding-bottom: ${(props) => (props.side === "left" ? "5px" : "0px")}; - font-weight: ${(props) => (props.selected ? "800" : "400")}; + font-weight: ${(props) => (props.selected ? "600" : "400")}; `; export { Tick }; From 7c9aa65851504ec4acbdef54b523e3aeee120254 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 10:20:09 -0500 Subject: [PATCH 387/664] Change title on map --- src/pages/Search.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 09c312928..50b9418df 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -918,7 +918,7 @@ class Search extends Component { }; } else if (/portfoliosCA*/.test(sectionName)) { const [,targetName,selectedPorfolios] = sectionName.split("|", 3); - newActiveLayer.name = `Portafolios para la temática ${targetName}`; + newActiveLayer.name = `Portafolios ${targetName}`; newActiveLayer.defaultOpacity = 0.7; if (selectedPorfolios !== null) { selectedPorfolios.split(',').forEach((portfolioId) => { From 680c2926b08a52731087bc87a1e81c1f4527bdb8 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 18 Nov 2022 10:20:57 -0500 Subject: [PATCH 388/664] Run prettier --- .../search/drawer/portfolios/conservationAreas/Targets.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index c9121995a..9d9e7049a 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -85,7 +85,11 @@ class Targets extends React.Component { target.target_name ); if (portfoliosIds && portfoliosIds.size > 0) { - switchLayer(`portfoliosCA|${target.target_name}|${[...portfoliosIds].join(",")}`); + switchLayer( + `portfoliosCA|${target.target_name}|${[ + ...portfoliosIds, + ].join(",")}` + ); this.setState({ selectedPortfolios: portfoliosIds }); } this.setState({ selectedTarget: target.target_name }); From 6950bf2fec9f9a82f859348a6ab789010f76fb31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 18 Nov 2022 11:56:04 -0500 Subject: [PATCH 389/664] Fix Apidocs description for getForestLPData --- .../landscape/forest/ForestLossPersistenceController.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 96dc77cfb..0aeecce21 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -30,8 +30,8 @@ export class ForestLossPersistenceController { * @param {String} areaType area type * @param {String | Number} areaId area id * @param {String} latestPeriod string with range of years for latest period - * @param {String} searchType string to identifyy the type of search - * @param {Object | null} polygonRequest object with range of years for latest period + * @param {String} searchType string to identify the type of search + * @param {Object | null} polygonRequest object with the coordinates array * * @returns {Object} Object with forest LP data and persistence value */ From 14eae1bda76313f36c199f350b09152340e1a7ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Fri, 18 Nov 2022 14:45:09 -0500 Subject: [PATCH 390/664] Adjust selectedAreaTypeId and selectedAreaId values in loadPolygonInfo --- src/pages/Search.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 37a097129..ca1311558 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1324,8 +1324,8 @@ class Search extends Component { layer: L.polygon(polygon.latLngs, { fitBounds: true }), }, }, - selectedAreaTypeId: "", - selectedAreaId: "", + selectedAreaTypeId: null, + selectedAreaId: null, searchType: "drawPolygon", polygonRequest: polygon, })); From 55afefc979a43f5cf40c565195fb833498b348c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 22 Nov 2022 12:56:51 -0500 Subject: [PATCH 391/664] Set behavior of the information buttons for portfolios and targets --- .../portfolios/conservationAreas/Targets.tsx | 177 +++++++++++++----- .../conservationAreas/TargetsController.ts | 51 +++++ 2 files changed, 179 insertions(+), 49 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 9d9e7049a..feec725d2 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -28,6 +28,11 @@ interface State { availablePortfolios: Array; selectedTarget: string; selectedPortfolios: Set; + showInfoPortfolios: boolean; + portfoliosInfoTexts: Array<{ [key: string]: string }>; + targetsTexts: Array<{ [key: string]: textsObject }>; + portfoliosDescription: string; + currentPortfolioInfo: string; } class Targets extends React.Component { @@ -45,23 +50,17 @@ class Targets extends React.Component { texts: { info: "", cons: "", meto: "", quote: "" }, selectedTarget: "", selectedPortfolios: new Set(), + showInfoPortfolios: false, + portfoliosInfoTexts: [], + targetsTexts: [], + portfoliosDescription: "", + currentPortfolioInfo: "", }; } componentDidMount() { this.mounted = true; - const dummyData = { - texts: { - info: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", - cons: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", - meto: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", - quote: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", - }, - }; - - this.setState({ texts: dummyData.texts }); - const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; @@ -114,6 +113,14 @@ class Targets extends React.Component { .catch(() => { this.setState({ loading: "no-data" }); }); + + this.setState({ + portfoliosInfoTexts: this.targetsController.getPortfoliosTexts(), + }); + + this.setState({ + targetsTexts: this.targetsController.getTargetsInfoTexts(), + }); } componentWillUnmount() { @@ -155,6 +162,44 @@ class Targets extends React.Component { ); }; + /** + * Set information texts for each target + */ + setGraphTexts = (targetName: string) => { + const { targetsTexts } = this.state; + const targetTexts = targetsTexts.find( + (targetInfo) => Object.keys(targetInfo)[0] === targetName + ); + if (targetTexts) { + this.setState({ texts: targetTexts[targetName] }); + } + }; + + /** + * Set information text for each portfolio + */ + setInfoPortfolios = (portfolioName: string) => { + const { portfoliosInfoTexts, currentPortfolioInfo } = this.state; + const portfolioInfo = portfoliosInfoTexts.find( + (portfolio) => Object.keys(portfolio)[0] === portfolioName + ); + + if (portfolioInfo) { + this.setState({ portfoliosDescription: portfolioInfo[portfolioName] }); + } + + if (portfolioName === currentPortfolioInfo) { + this.setState((prevState) => ({ + showInfoPortfolios: !prevState.showInfoPortfolios, + })); + } else { + this.setState({ + currentPortfolioInfo: portfolioName, + showInfoPortfolios: true, + }); + } + }; + render() { const { areaId, geofenceId, handlerClickOnGraph } = this .context as SearchContextValues; @@ -166,10 +211,16 @@ class Targets extends React.Component { availablePortfolios, selectedTarget, selectedPortfolios, + showInfoPortfolios, + portfoliosDescription, } = this.state; const graphData = this.targetsController.getGraphData(targetsData); + if (texts.info === "" && selectedTarget) { + this.setGraphTexts(selectedTarget); + } + return (

    @@ -212,6 +263,7 @@ class Targets extends React.Component { chartSection: selected, selectedKey: Array.from(portfoliosIds), }); + this.setGraphTexts(selected); }} height={450} selectedIndexValue={selectedTarget} @@ -224,49 +276,76 @@ class Targets extends React.Component {
    {availablePortfolios.map((portfolio) => ( - - {portfolio.name} - - } - control={ - - this.clickOnLegend(portfolio.id, checked) - } - name={portfolio.name} - disabled={ - !this.targetsController.isPortfolioInTarget( - selectedTarget, - portfolio.id - ) - } - checked={selectedPortfolios.has(portfolio.id)} +
    + + {portfolio.name} + + } + control={ + + this.clickOnLegend(portfolio.id, checked) + } + name={portfolio.name} + disabled={ + !this.targetsController.isPortfolioInTarget( + selectedTarget, + portfolio.id + ) + } + checked={selectedPortfolios.has(portfolio.id)} + /> + } + sx={{ + margin: 0, + }} + /> + + this.setInfoPortfolios(portfolio.name)} /> - } - /> + +
    ))}
    + {showInfoPortfolios && ( + + )} + >; @@ -167,4 +168,54 @@ export class TargetsController { ); return result; }; + + /** + * Get portfolios texts + * + * @returns Array of portfolios description texts + */ + getPortfoliosTexts() { + const portfoliosTexts: Array<{ [key: string]: string }> = [ + { WCMC: "Información WCMC" }, + { ELSA: "Información ELSA" }, + { WEPLAN: "Información WEPLAN" }, + { "Especies, Carbono y Agua": "Información Especies, Carbono y Agua" }, + { ACC: "Información ACC" }, + ]; + return portfoliosTexts; + } + + /** + * Get targets texts + * + * @returns Array of targets components texts + */ + getTargetsInfoTexts() { + const dummyTexts = [ + { + info: "información ejemplo 1", + cons: "consideraciones ejemplo 1", + meto: "metodología ejemplo 1", + quote: "autoria ejemplo 1", + }, + { + info: "información ejemplo 2", + cons: "consideraciones ejemplo 2", + meto: "metodología ejemplo 2", + quote: "autoria ejemplo 2", + }, + ]; + + const targetsTexts: Array<{ [key: string]: textsObject }> = [ + { Especies: dummyTexts[0] }, + { Ecosistemas: dummyTexts[1] }, + { "Servicios Ecosistémicos": dummyTexts[0] }, + { Conectividad: dummyTexts[1] }, + { "Cambio Climático": dummyTexts[0] }, + { Deforestación: dummyTexts[1] }, + { Restauración: dummyTexts[0] }, + { "Aguas - Rios": dummyTexts[1] }, + ]; + return targetsTexts; + } } From c4e97ec7b98d726f8cbc5278891cfe3a64d90007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 22 Nov 2022 12:57:53 -0500 Subject: [PATCH 392/664] Add styles for portfolio info buttons --- src/main.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main.css b/src/main.css index a6737c31e..6c3fc744c 100644 --- a/src/main.css +++ b/src/main.css @@ -2122,6 +2122,16 @@ div[class*="eaRHYv"] { margin-left: 5px; } +.targetsLegendInfoButton{ + color: #bbbbbb; + text-align: left; + padding-left: 0px !important; +} + +.targetsLegendInfoButton svg{ + font-size: 12px; +} + .innerInfo { text-transform: none !important; border: none !important; From 5b35b395eae22fcd44df12a328f483c60ef47026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 23 Nov 2022 09:31:34 -0500 Subject: [PATCH 393/664] Adjust logic for the selection of targets and porfolios texts --- .../portfolios/conservationAreas/Targets.tsx | 64 ++++--------- .../conservationAreas/TargetsController.ts | 89 +++++++++++++------ 2 files changed, 83 insertions(+), 70 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index feec725d2..279fafee3 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -28,11 +28,8 @@ interface State { availablePortfolios: Array; selectedTarget: string; selectedPortfolios: Set; - showInfoPortfolios: boolean; - portfoliosInfoTexts: Array<{ [key: string]: string }>; - targetsTexts: Array<{ [key: string]: textsObject }>; portfoliosDescription: string; - currentPortfolioInfo: string; + shownPortfolio: string | null; } class Targets extends React.Component { @@ -50,11 +47,8 @@ class Targets extends React.Component { texts: { info: "", cons: "", meto: "", quote: "" }, selectedTarget: "", selectedPortfolios: new Set(), - showInfoPortfolios: false, - portfoliosInfoTexts: [], - targetsTexts: [], portfoliosDescription: "", - currentPortfolioInfo: "", + shownPortfolio: "", }; } @@ -92,6 +86,7 @@ class Targets extends React.Component { this.setState({ selectedPortfolios: portfoliosIds }); } this.setState({ selectedTarget: target.target_name }); + this.setGraphTexts(target.target_name); } } ); @@ -114,13 +109,8 @@ class Targets extends React.Component { this.setState({ loading: "no-data" }); }); - this.setState({ - portfoliosInfoTexts: this.targetsController.getPortfoliosTexts(), - }); - - this.setState({ - targetsTexts: this.targetsController.getTargetsInfoTexts(), - }); + this.targetsController.getPortfoliosTexts(); + this.targetsController.getTargetsInfoTexts(); } componentWillUnmount() { @@ -163,40 +153,28 @@ class Targets extends React.Component { }; /** - * Set information texts for each target + * Set information texts for a selected target */ setGraphTexts = (targetName: string) => { - const { targetsTexts } = this.state; - const targetTexts = targetsTexts.find( - (targetInfo) => Object.keys(targetInfo)[0] === targetName - ); - if (targetTexts) { - this.setState({ texts: targetTexts[targetName] }); - } + const targetTexts = this.targetsController.getTargetsInfoText(targetName); + if (targetTexts) this.setState({ texts: targetTexts }); }; /** - * Set information text for each portfolio + * Set information text for a selected portfolio */ setInfoPortfolios = (portfolioName: string) => { - const { portfoliosInfoTexts, currentPortfolioInfo } = this.state; - const portfolioInfo = portfoliosInfoTexts.find( - (portfolio) => Object.keys(portfolio)[0] === portfolioName - ); + const { shownPortfolio } = this.state; + const portfolioDescription = + this.targetsController.getPortfolioDescription(portfolioName); - if (portfolioInfo) { - this.setState({ portfoliosDescription: portfolioInfo[portfolioName] }); - } + if (portfolioDescription) + this.setState({ portfoliosDescription: portfolioDescription }); - if (portfolioName === currentPortfolioInfo) { - this.setState((prevState) => ({ - showInfoPortfolios: !prevState.showInfoPortfolios, - })); + if (portfolioName === shownPortfolio) { + this.setState({ shownPortfolio: null }); } else { - this.setState({ - currentPortfolioInfo: portfolioName, - showInfoPortfolios: true, - }); + this.setState({ shownPortfolio: portfolioName }); } }; @@ -211,16 +189,12 @@ class Targets extends React.Component { availablePortfolios, selectedTarget, selectedPortfolios, - showInfoPortfolios, portfoliosDescription, + shownPortfolio, } = this.state; const graphData = this.targetsController.getGraphData(targetsData); - if (texts.info === "" && selectedTarget) { - this.setGraphTexts(selectedTarget); - } - return (

    @@ -338,7 +312,7 @@ class Targets extends React.Component {

    - {showInfoPortfolios && ( + {shownPortfolio && ( >; + targetsTexts: Array<{ name: string; texts: textsObject }>; + portfoliosTexts: Array<{ name: string; description: string }>; constructor() { this.portfoliosIds = new Map(); + this.targetsTexts = []; + this.portfoliosTexts = []; } /** @@ -175,14 +179,17 @@ export class TargetsController { * @returns Array of portfolios description texts */ getPortfoliosTexts() { - const portfoliosTexts: Array<{ [key: string]: string }> = [ - { WCMC: "Información WCMC" }, - { ELSA: "Información ELSA" }, - { WEPLAN: "Información WEPLAN" }, - { "Especies, Carbono y Agua": "Información Especies, Carbono y Agua" }, - { ACC: "Información ACC" }, + const portfoliosTexts: Array<{ name: string; description: string }> = [ + { name: "WCMC", description: "Información WCMC" }, + { name: "ELSA", description: "Información ELSA" }, + { name: "WEPLAN", description: "Información WEPLAN" }, + { + name: "Especies, Carbono y Agua", + description: "Información Especies, Carbono y Agua", + }, + { name: "ACC", description: "Información ACC" }, ]; - return portfoliosTexts; + this.portfoliosTexts = portfoliosTexts; } /** @@ -193,29 +200,61 @@ export class TargetsController { getTargetsInfoTexts() { const dummyTexts = [ { - info: "información ejemplo 1", - cons: "consideraciones ejemplo 1", - meto: "metodología ejemplo 1", - quote: "autoria ejemplo 1", + info: "Información ejemplo 1", + cons: "Consideraciones ejemplo 1", + meto: "Metodología ejemplo 1", + quote: "Autoria ejemplo 1", }, { - info: "información ejemplo 2", - cons: "consideraciones ejemplo 2", - meto: "metodología ejemplo 2", - quote: "autoria ejemplo 2", + info: "Información ejemplo 2", + cons: "Consideraciones ejemplo 2", + meto: "Metodología ejemplo 2", + quote: "Autoria ejemplo 2", }, ]; - const targetsTexts: Array<{ [key: string]: textsObject }> = [ - { Especies: dummyTexts[0] }, - { Ecosistemas: dummyTexts[1] }, - { "Servicios Ecosistémicos": dummyTexts[0] }, - { Conectividad: dummyTexts[1] }, - { "Cambio Climático": dummyTexts[0] }, - { Deforestación: dummyTexts[1] }, - { Restauración: dummyTexts[0] }, - { "Aguas - Rios": dummyTexts[1] }, + const targetsTexts: Array<{ name: string; texts: textsObject }> = [ + { name: "Especies", texts: dummyTexts[0] }, + { name: "Ecosistemas", texts: dummyTexts[1] }, + { name: "Servicios Ecosistémicos", texts: dummyTexts[0] }, + { name: "Conectividad", texts: dummyTexts[1] }, + { name: "Cambio Climático", texts: dummyTexts[0] }, + { name: "Deforestación", texts: dummyTexts[1] }, + { name: "Restauración", texts: dummyTexts[0] }, + { name: "Aguas - Rios", texts: dummyTexts[1] }, ]; - return targetsTexts; + this.targetsTexts = targetsTexts; + } + + /** + * Get texts of a selected target + * + * @param {String} targetName target name + * + * @returns {Object | undefined} information texts of a target + */ + getTargetsInfoText(targetName: string) { + let targetTexts; + const target = this.targetsTexts.find( + (targetText) => targetName === targetText.name + ); + if (target) targetTexts = target.texts; + return targetTexts; + } + + /** + * Get description of a selected portfolio + * + * @param {String} portfolioName portfolio name + * + * @returns {String | undefined} description of a portfolio + */ + getPortfolioDescription(portfolioName: string) { + let portfolioDescription; + const portfolio = this.portfoliosTexts.find( + (targetText) => portfolioName === targetText.name + ); + if (portfolio) portfolioDescription = portfolio.description; + return portfolioDescription; } } From f34d0f4e8048357738cb66b08fbe2ca35eada858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Wed, 23 Nov 2022 14:20:34 -0500 Subject: [PATCH 394/664] Adjust class for active buttons --- .../drawer/portfolios/conservationAreas/Targets.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 279fafee3..308688eec 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -200,7 +200,7 @@ class Targets extends React.Component {

    this.toggleInfoGraph()} /> @@ -250,7 +250,7 @@ class Targets extends React.Component {
    {availablePortfolios.map((portfolio) => ( -
    +
    { }} /> this.setInfoPortfolios(portfolio.name)} /> From 956548af857da96f206623fa1ca2a0ef5e180d89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Thu, 24 Nov 2022 07:36:21 -0500 Subject: [PATCH 395/664] Adjust functions names --- .../portfolios/conservationAreas/Targets.tsx | 20 +++++++++---------- .../conservationAreas/TargetsController.ts | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index 308688eec..fd7ece272 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -28,7 +28,7 @@ interface State { availablePortfolios: Array; selectedTarget: string; selectedPortfolios: Set; - portfoliosDescription: string; + portfolioDescription: string; shownPortfolio: string | null; } @@ -47,8 +47,8 @@ class Targets extends React.Component { texts: { info: "", cons: "", meto: "", quote: "" }, selectedTarget: "", selectedPortfolios: new Set(), - portfoliosDescription: "", - shownPortfolio: "", + portfolioDescription: "", + shownPortfolio: null, }; } @@ -58,6 +58,9 @@ class Targets extends React.Component { const { areaId, geofenceId, switchLayer } = this .context as SearchContextValues; + this.targetsController.loadPortfoliosTexts(); + this.targetsController.loadTargetsTexts(); + this.targetsController .getData(areaId, geofenceId) .then((targetsData) => { @@ -108,9 +111,6 @@ class Targets extends React.Component { .catch(() => { this.setState({ loading: "no-data" }); }); - - this.targetsController.getPortfoliosTexts(); - this.targetsController.getTargetsInfoTexts(); } componentWillUnmount() { @@ -156,7 +156,7 @@ class Targets extends React.Component { * Set information texts for a selected target */ setGraphTexts = (targetName: string) => { - const targetTexts = this.targetsController.getTargetsInfoText(targetName); + const targetTexts = this.targetsController.getTargetText(targetName); if (targetTexts) this.setState({ texts: targetTexts }); }; @@ -169,7 +169,7 @@ class Targets extends React.Component { this.targetsController.getPortfolioDescription(portfolioName); if (portfolioDescription) - this.setState({ portfoliosDescription: portfolioDescription }); + this.setState({ portfolioDescription: portfolioDescription }); if (portfolioName === shownPortfolio) { this.setState({ shownPortfolio: null }); @@ -189,7 +189,7 @@ class Targets extends React.Component { availablePortfolios, selectedTarget, selectedPortfolios, - portfoliosDescription, + portfolioDescription, shownPortfolio, } = this.state; @@ -317,7 +317,7 @@ class Targets extends React.Component { {shownPortfolio && ( diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index 6c319f398..0c7da167a 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -178,7 +178,7 @@ export class TargetsController { * * @returns Array of portfolios description texts */ - getPortfoliosTexts() { + loadPortfoliosTexts() { const portfoliosTexts: Array<{ name: string; description: string }> = [ { name: "WCMC", description: "Información WCMC" }, { name: "ELSA", description: "Información ELSA" }, @@ -197,7 +197,7 @@ export class TargetsController { * * @returns Array of targets components texts */ - getTargetsInfoTexts() { + loadTargetsTexts() { const dummyTexts = [ { info: "Información ejemplo 1", @@ -233,7 +233,7 @@ export class TargetsController { * * @returns {Object | undefined} information texts of a target */ - getTargetsInfoText(targetName: string) { + getTargetText(targetName: string) { let targetTexts; const target = this.targetsTexts.find( (targetText) => targetName === targetText.name From 30c3b6f9d95d504abb0362f10b75909faec4330c Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 23 Nov 2022 23:39:00 -0500 Subject: [PATCH 396/664] Add logic to keep drawn polygon in the map once it is confirmed by user --- src/pages/Search.jsx | 26 ++++++++++++-------------- src/pages/search/MapViewer.tsx | 9 +++++++++ src/pages/search/SearchContext.tsx | 4 ++-- src/pages/search/types/drawer.ts | 8 +++++--- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index ced35ad41..432a55950 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -36,12 +36,11 @@ class Search extends Component { loadingLayer: false, selectedAreaType: null, selectedArea: null, - localPolygon: {}, - drawPolygonEnabled: false, mapBounds: null, rasterUrls: [], searchType: "definedArea", - polygonRequest: null, + polygon: null, + drawPolygonEnabled: false, }; } @@ -1314,19 +1313,16 @@ class Search extends Component { loadPolygonInfo = (polygon) => { const { setHeaderNames } = this.props; RestAPI.requestCustomPolygonData(polygon).catch(() => {}); - this.setState((prev) => ({ + this.setState(() => ({ drawPolygonEnabled: false, - layers: { - ...prev.layers, - polygon: { - active: true, - layer: L.polygon(polygon.latLngs, { fitBounds: true }), - }, + polygon: { + coordinates: polygon.latLngs.map(coord => [coord.lat, coord.lng]), }, selectedAreaTypeId: null, selectedAreaId: null, searchType: "drawPolygon", - polygonRequest: polygon, + layerError: false, + loadingLayer: false, })); setHeaderNames("Polígono", "Área Consultada"); } @@ -1370,7 +1366,7 @@ class Search extends Component { newState.layerError = false; newState.rasterUrls = []; newState.searchType = "definedArea"; - newState.polygonRequest = null; + newState.polygon = null; newState.drawPolygonEnabled= false; return newState; }, () => { @@ -1398,6 +1394,7 @@ class Search extends Component { areaList, activeLayer: { name: activeLayer, legend }, rasterUrls, + polygon, drawPolygonEnabled, searchType } = this.state; @@ -1464,8 +1461,8 @@ class Search extends Component { value={{ areaId: selectedAreaTypeId, geofenceId: selectedAreaId, - searchType: this.state.searchType, - polygonRequest: this.state.polygonRequest, + searchType: searchType, + polygon: polygon, handlerClickOnGraph: this.clickOnGraph, switchLayer: this.switchLayer, cancelActiveRequests: this.cancelActiveRequests, @@ -1481,6 +1478,7 @@ class Search extends Component { mapBounds={this.mapBounds} rasterBounds={this.geofenceBounds} mapTitle={mapTitle} + polygon={polygon} drawPolygonEnabled={drawPolygonEnabled} loadPolygonInfo={this.loadPolygonInfo} /> diff --git a/src/pages/search/MapViewer.tsx b/src/pages/search/MapViewer.tsx index a97f19d0d..b835a3eaa 100644 --- a/src/pages/search/MapViewer.tsx +++ b/src/pages/search/MapViewer.tsx @@ -9,6 +9,7 @@ import { WMSTileLayer, Pane, GeoJSON, + Polygon, } from "react-leaflet"; import DrawControl from "pages/search/mapViewer/DrawControl"; @@ -19,6 +20,7 @@ import { LatLngBoundsLiteral, Layer, PathOptions, + LatLngExpression, } from "leaflet"; interface Props { @@ -29,6 +31,9 @@ interface Props { mapTitle: string; mapBounds: LatLngBoundsExpression; rasterBounds: LatLngBoundsExpression; + polygon: { + coordinates: LatLngExpression[][]; + }; loadPolygonInfo: () => void; layers: Array<{ paneLevel: number; @@ -102,6 +107,7 @@ class MapViewer extends React.Component { layers, rasterBounds, mapTitle, + polygon, drawPolygonEnabled, loadPolygonInfo, } = this.props; @@ -195,6 +201,9 @@ class MapViewer extends React.Component { ))} ))} + {polygon && polygon.coordinates && ( + + )} {/* TODO: Catch warning from OpenStreetMap when cannot load the tiles */} {userLogged && ( ({ areaId: "", geofenceId: "", searchType: "definedArea", - polygonRequest: null, + polygon: null, switchLayer: () => {}, handlerClickOnGraph: () => {}, cancelActiveRequests: () => {}, diff --git a/src/pages/search/types/drawer.ts b/src/pages/search/types/drawer.ts index 20f08be84..6f2ff551e 100644 --- a/src/pages/search/types/drawer.ts +++ b/src/pages/search/types/drawer.ts @@ -1,7 +1,9 @@ +import { LatLngExpression } from "leaflet"; + export interface geofenceDetails { total_area: string; } -export type Polygon = { - latLngs: Array<{ lat: number; lng: number }>; -}; +export interface Polygon { + copordinates: LatLngExpression[][]; +} From 76e7249325839325efa52802a68c72188de7ab7f Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 23 Nov 2022 23:40:49 -0500 Subject: [PATCH 397/664] Change polygon definitions at LP according the way is caught by DRAW POLYGON logic --- .../landscape/forest/ForestLossPersistence.tsx | 14 +++++--------- .../forest/ForestLossPersistenceController.ts | 4 ++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index a59a5f3ba..9b23c7f91 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -47,19 +47,15 @@ class ForestLossPersistence extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, searchType, polygonRequest, switchLayer } = this + const { areaId, geofenceId, searchType, polygon, switchLayer } = this .context as SearchContextValues; - switchLayer(`forestLP-${LATEST_PERIOD}`); + if (searchType === "definedArea") { + switchLayer(`forestLP-${LATEST_PERIOD}`); + } this.flpController - .getForestLPData( - areaId, - geofenceId, - LATEST_PERIOD, - searchType, - polygonRequest - ) + .getForestLPData(areaId, geofenceId, LATEST_PERIOD, searchType, polygon) .then((data) => { if (this.mounted) { this.setState({ diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 0aeecce21..067e199c5 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -31,7 +31,7 @@ export class ForestLossPersistenceController { * @param {String | Number} areaId area id * @param {String} latestPeriod string with range of years for latest period * @param {String} searchType string to identify the type of search - * @param {Object | null} polygonRequest object with the coordinates array + * @param {Array | null} polygon Coordinates of polygon * * @returns {Object} Object with forest LP data and persistence value */ @@ -40,7 +40,7 @@ export class ForestLossPersistenceController { areaId: string | number, latestPeriod: string, searchType: "definedArea" | "drawPolygon", - polygonRequest: Polygon | null + polygon: Polygon | null ): Promise => { if (searchType === "drawPolygon") { areaType = "states"; From 35c44787222ef90075e87cc8623a5d86ee14e765 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 25 Nov 2022 10:49:17 -0500 Subject: [PATCH 398/664] Use type LatLngExpression[] for coordinates attribute instead of LatLngExpression[][] --- src/pages/search/types/drawer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/types/drawer.ts b/src/pages/search/types/drawer.ts index 6f2ff551e..2fa057059 100644 --- a/src/pages/search/types/drawer.ts +++ b/src/pages/search/types/drawer.ts @@ -5,5 +5,5 @@ export interface geofenceDetails { } export interface Polygon { - copordinates: LatLngExpression[][]; + copordinates: LatLngExpression[]; } From f89e5a662a64ce9f3defedd02b3e002357d8f558 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 25 Nov 2022 10:49:48 -0500 Subject: [PATCH 399/664] Delete types at getForestLPData function --- .../forest/ForestLossPersistenceController.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 067e199c5..3c5d37f98 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -27,13 +27,13 @@ export class ForestLossPersistenceController { /** * Returns forest LP data and persistence value in a given area * - * @param {String} areaType area type - * @param {String | Number} areaId area id - * @param {String} latestPeriod string with range of years for latest period - * @param {String} searchType string to identify the type of search - * @param {Array | null} polygon Coordinates of polygon + * @param areaType area type + * @param areaId area id + * @param latestPeriod string with range of years for latest period + * @param searchType string to identify the type of search + * @param polygon Coordinates of polygon * - * @returns {Object} Object with forest LP data and persistence value + * @returns Object with forest LP data and persistence value */ getForestLPData = ( areaType: string, From db9a238a67bb6d58d2fbb0dd8397eee193fd5c30 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 25 Nov 2022 10:58:34 -0500 Subject: [PATCH 400/664] Fix typo --- src/pages/search/types/drawer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/types/drawer.ts b/src/pages/search/types/drawer.ts index 2fa057059..2cccbf0ee 100644 --- a/src/pages/search/types/drawer.ts +++ b/src/pages/search/types/drawer.ts @@ -5,5 +5,5 @@ export interface geofenceDetails { } export interface Polygon { - copordinates: LatLngExpression[]; + coordinates: LatLngExpression[]; } From 4098b115b874b28af9192c641622362cbd687144 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 25 Nov 2022 11:00:10 -0500 Subject: [PATCH 401/664] Use type already defined for Polygon --- src/pages/search/MapViewer.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pages/search/MapViewer.tsx b/src/pages/search/MapViewer.tsx index b835a3eaa..86d4a5d2d 100644 --- a/src/pages/search/MapViewer.tsx +++ b/src/pages/search/MapViewer.tsx @@ -20,8 +20,8 @@ import { LatLngBoundsLiteral, Layer, PathOptions, - LatLngExpression, } from "leaflet"; +import { Polygon as PolygonType } from "pages/search/types/drawer"; interface Props { drawPolygonEnabled: boolean; @@ -31,9 +31,7 @@ interface Props { mapTitle: string; mapBounds: LatLngBoundsExpression; rasterBounds: LatLngBoundsExpression; - polygon: { - coordinates: LatLngExpression[][]; - }; + polygon: PolygonType; loadPolygonInfo: () => void; layers: Array<{ paneLevel: number; From a42623ca5e071b13de8e5daba2ab3f32ed8266ed Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 28 Nov 2022 20:32:31 -0500 Subject: [PATCH 402/664] Fix some texts --- src/pages/Search.jsx | 2 +- src/pages/home/information/Indicators.jsx | 2 +- src/pages/search/drawer/landscape/Forest.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 432a55950..5d1a460dd 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -820,7 +820,7 @@ class Search extends Component { { id: `forestLP-${period}-persistencia`, paneLevel: 2 }, { id: `forestLP-${period}-no_bosque`, paneLevel: 2 }, ]; - newActiveLayer.name = `Perdida y persistencia de bosque (${period})`; + newActiveLayer.name = `Pérdida y persistencia de bosque (${period})`; newActiveLayer.defaultOpacity = 0.7; } else if (sectionName === 'hfCurrent') { shapeLayerOpts = [{ id: 'hfCurrent', paneLevel: 1 }]; diff --git a/src/pages/home/information/Indicators.jsx b/src/pages/home/information/Indicators.jsx index 0bcc47add..a5954676c 100644 --- a/src/pages/home/information/Indicators.jsx +++ b/src/pages/home/information/Indicators.jsx @@ -68,7 +68,7 @@ const descriptions = { title: '¿Qué encuentras en este módulo?', description: (

    - {'Esta sitio contiene un tablero de control de indicadores de Biodiversidad para Colombia. Acá podrás '} + {'Este sitio contiene un tablero de control de indicadores de Biodiversidad para Colombia. Acá podrás '} buscar indicadores diff --git a/src/pages/search/drawer/landscape/Forest.tsx b/src/pages/search/drawer/landscape/Forest.tsx index cc5fc6bd2..154b628aa 100644 --- a/src/pages/search/drawer/landscape/Forest.tsx +++ b/src/pages/search/drawer/landscape/Forest.tsx @@ -14,7 +14,7 @@ const Forest: React.FC = (props) => { { label: { id: "forestLP-2016-2021", - name: "Perdida y persistencia", + name: "Pérdida y persistencia", collapsed: openTab !== "forestLP-2016-2021", }, component: ForestLossPersistence, From e8dfb406a0db449a6a14b04443daae8440ebf5f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 6 Dec 2022 13:14:21 -0500 Subject: [PATCH 403/664] Highlight the border of the search area for portfolios --- src/pages/Search.jsx | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 432a55950..804004a7e 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -559,7 +559,8 @@ class Search extends Component { * is true. * @param {String} options.fitBounds if the map bounds should fit the layer loaded * @param {Number} options.paneLevel pane level for the layer to be added to - * + * @param {String} options.styleName style name to specify layer format + * * @returns {Object} Data of the layer with its id */ getShapeLayer = async (layerName, options) => { @@ -567,6 +568,7 @@ class Search extends Component { isActive = true, fitBounds = true, paneLevel = 1, + styleName = "" } = options; const { selectedAreaId, selectedAreaTypeId } = this.props; const { layers } = this.state; @@ -585,6 +587,9 @@ class Search extends Component { selectedAreaTypeId, selectedAreaId, ); + if (styleName === "border") { + layerStyle = { stroke: true, color: matchColor("border")(), weight: 2, opacity: 1, fillOpacity: 0 }; + } break; case 'hfCurrent': reqPromise = () => RestAPI.requestCurrentHFGeometry( @@ -608,7 +613,6 @@ class Search extends Component { default: break; } - if (!reqPromise) return null; if (layers[layerName]) { if (layerName === 'geofence') { @@ -623,6 +627,13 @@ class Search extends Component { newState.layers[layerName].active = isActive; newState.layers[layerName].fitBounds = fitBounds; newState.layers[layerName].paneLevel = paneLevel; + if (styleName === "border") { + newState.layers[layerName].onEachFeature = () => {}; + } else { + newState.layers[layerName].onEachFeature = (feature, selectedLayer) => { + this.featureActions(selectedLayer, layerName) + } + } return newState; }); return layers[layerName]; @@ -643,11 +654,17 @@ class Search extends Component { if (fitBounds) { this.updateBounds(L.geoJSON(res).getBounds()); } + + let onEachFeature = (feature, selectedLayer) => { + this.featureActions(selectedLayer, layerName) + } + if (styleName === "border") { + onEachFeature = () => {}; + } + const layerObj = { layerStyle, - onEachFeature: (feature, selectedLayer) => ( - this.featureActions(selectedLayer, layerName) - ), + onEachFeature: onEachFeature, active: isActive, json: res, paneLevel, @@ -918,12 +935,13 @@ class Search extends Component { }, }; } else if (/portfoliosCA*/.test(sectionName)) { + shapeLayerOpts = [{ id: "geofence", paneLevel: 1, styleName: "border" }]; const [,targetName,selectedPorfolios] = sectionName.split("|", 3); newActiveLayer.name = `Portafolios ${targetName}`; newActiveLayer.defaultOpacity = 0.7; if (selectedPorfolios !== null) { selectedPorfolios.split(',').forEach((portfolioId) => { - rasterLayerOpts.push({ id: `portfoliosCA|${targetName}|${portfolioId}`, paneLevel: 1 }); + rasterLayerOpts.push({ id: `portfoliosCA|${targetName}|${portfolioId}`, paneLevel: 2 }); }); } } @@ -994,8 +1012,9 @@ class Search extends Component { isActive, fitBounds, paneLevel, + styleName } = info; - return this.getShapeLayer(id, { isActive, fitBounds, paneLevel }); + return this.getShapeLayer(id, { isActive, fitBounds, paneLevel, styleName }); }), ) .then((shapeLayers) => { From ac267c1075ee5ab2da67650789061a61bd4021d1 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 14 Dec 2022 09:18:05 -0500 Subject: [PATCH 404/664] Fix margins bottom at forestLP and dpc graphs --- .../drawer/landscape/connectivity/CurrentPAConnectivity.tsx | 5 ++++- .../search/drawer/landscape/forest/ForestLossPersistence.tsx | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index cb113615a..85caf7b50 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -265,13 +265,16 @@ class CurrentPAConnectivity extends React.Component { onClickHandler={(selected: string) => handlerClickOnGraph({ selectedKey: selected }) } + margin={{ + bottom: 50, + left: 40 + }} axisX={{ enabled: true, legend: "dPC", format: ".2f", }} enableLabel={true} - margin={{ left: 40 }} />

    diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 9b23c7f91..68f8038a9 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -134,6 +134,9 @@ class ForestLossPersistence extends React.Component { keys={graphData.keys} tooltips={graphData.tooltips} message={message} + margin={{ + bottom: 50, + }} axisY={{ enabled: true, legend: "Periodo", From d90601052b0b53ca4e6410e280d9e9a8625d3342 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 14 Dec 2022 10:18:16 -0500 Subject: [PATCH 405/664] Changes over right title at portfolios --- src/main.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.css b/src/main.css index 6c3fc744c..a18bfa27b 100644 --- a/src/main.css +++ b/src/main.css @@ -2608,8 +2608,9 @@ tspan, .vx-axis-label { font-size: 11px; color: #424242; font-weight: 700; - padding-right: 8px; + padding-right: 70px; margin-bottom: -20px; + text-transform: uppercase; } .newProjectTitle { From c018bacfb75c32837d96a9103046ad7d23cc27a1 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 14 Dec 2022 10:47:49 -0500 Subject: [PATCH 406/664] Set tickValues and gridXValues as components props --- .../portfolios/conservationAreas/Targets.tsx | 18 ++++++++++++++---- .../conservationAreas/TargetsController.ts | 4 ++-- .../shared_components/charts/SmallBars.tsx | 10 +++++++++- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx index fd7ece272..d5e7490e4 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx +++ b/src/pages/search/drawer/portfolios/conservationAreas/Targets.tsx @@ -212,7 +212,7 @@ class Targets extends React.Component { collapseButton={false} /> )} -
    100 % de la meta
    +
    Meta
    {selectedTarget && ( { axisY={{ enabled: true, }} + margin={{ + bottom: 30, + left: 95, + right: 95, + }} + axisX={{ + enabled: true, + format: "=-.0~p", + tickValues: 4, + }} + gridXValues={4} onClickHandler={(selected) => { const portfoliosIds = this.targetsController.getPortfoliosIdsByTarget(selected); @@ -239,11 +250,10 @@ class Targets extends React.Component { }); this.setGraphTexts(selected); }} - height={450} + height={500} selectedIndexValue={selectedTarget} groupMode="grouped" - maxValue={100} - margin={{ bottom: 5, left: 95, right: 95 }} + maxValue={1} /> )}
    diff --git a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts index 0c7da167a..d2cd1b9ec 100644 --- a/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts +++ b/src/pages/search/drawer/portfolios/conservationAreas/TargetsController.ts @@ -95,7 +95,7 @@ export class TargetsController { const transformedData: Array = rawData.map((target) => { const objectData: Array = []; target.portfolios_data.forEach((portfolio: portfolioData) => { - const percentage = (portfolio.value / target.target_national) * 100; + const percentage = portfolio.value / target.target_national; const info = { category: portfolio.short_name, value: percentage, @@ -107,7 +107,7 @@ export class TargetsController { category: portfolio.short_name, tooltipContent: [ portfolio.name, - `${formatNumber(percentage, 2)} %`, + `${formatNumber(percentage * 100, 2)} %`, `${formatNumber(portfolio.value, 2)} c`, ], }); diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 68ae0a7ec..0139957e2 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -33,7 +33,9 @@ interface Props { enabled?: boolean; legend?: string; format?: string; + tickValues?: number; }; + gridXValues?: number; alternateAxisY?: { values: Record; tickWidth?: number; @@ -76,11 +78,15 @@ class SmallBars extends React.Component { maxValue = "auto", enableLabel = false, alternateAxisY = { values: {} }, + gridXValues, } = this.props; let { margin, axisY, axisX } = this.props; margin = { ...{ top: 20, right: 15, bottom: 0, left: 90 }, ...margin }; axisY = { ...{ enabled: false, legend: "" }, ...axisY }; - axisX = { ...{ enabled: false, legend: "", format: ".2f" }, ...axisX }; + axisX = { + ...{ enabled: false, legend: "", format: ".2f", tickValues: undefined }, + ...axisX, + }; const { selectedIndexValue } = this.state; const transformData = (rawData: Array) => { @@ -110,6 +116,7 @@ class SmallBars extends React.Component { borderColor={{ from: "color", modifiers: [["darker", 1.6]] }} enableGridY={false} enableGridX + gridXValues={gridXValues} axisLeft={ axisY.enabled ? { @@ -135,6 +142,7 @@ class SmallBars extends React.Component { tickSize: 0, tickPadding: 0, tickRotation: 0, + tickValues: axisX.tickValues, format: `${axisX.format}`, legend: `${axisX.legend}`, legendPosition: "start", From 443d430a0199fc24591347f37fcf18469886927f Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 14 Dec 2022 10:54:25 -0500 Subject: [PATCH 407/664] Run prettier --- .../drawer/landscape/connectivity/CurrentPAConnectivity.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx index 85caf7b50..5dbaf67d6 100644 --- a/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx +++ b/src/pages/search/drawer/landscape/connectivity/CurrentPAConnectivity.tsx @@ -265,9 +265,9 @@ class CurrentPAConnectivity extends React.Component { onClickHandler={(selected: string) => handlerClickOnGraph({ selectedKey: selected }) } - margin={{ - bottom: 50, - left: 40 + margin={{ + bottom: 50, + left: 40, }} axisX={{ enabled: true, From 5db225eefc74a8be5be587098ad640aff0a2103d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 14 Dec 2022 16:19:33 -0500 Subject: [PATCH 408/664] Set a default value for gridXValues prop --- src/pages/search/shared_components/charts/SmallBars.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 0139957e2..9dfaabd06 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -78,7 +78,7 @@ class SmallBars extends React.Component { maxValue = "auto", enableLabel = false, alternateAxisY = { values: {} }, - gridXValues, + gridXValues = undefined, } = this.props; let { margin, axisY, axisX } = this.props; margin = { ...{ top: 20, right: 15, bottom: 0, left: 90 }, ...margin }; @@ -89,6 +89,8 @@ class SmallBars extends React.Component { }; const { selectedIndexValue } = this.state; + console.log('gridXValues',gridXValues); + const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { From 0752cc6c877e7d506aabd1b304a8788d8f3316e5 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 14 Dec 2022 16:22:47 -0500 Subject: [PATCH 409/664] Run prettier --- src/pages/search/shared_components/charts/SmallBars.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pages/search/shared_components/charts/SmallBars.tsx b/src/pages/search/shared_components/charts/SmallBars.tsx index 9dfaabd06..89378f1dc 100644 --- a/src/pages/search/shared_components/charts/SmallBars.tsx +++ b/src/pages/search/shared_components/charts/SmallBars.tsx @@ -89,8 +89,6 @@ class SmallBars extends React.Component { }; const { selectedIndexValue } = this.state; - console.log('gridXValues',gridXValues); - const transformData = (rawData: Array) => { const transformedData = rawData.map((element) => { const object: Record = { From e5f7004fdcca73974c0025d855ff699102c8da4d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Dec 2022 13:15:41 -0500 Subject: [PATCH 410/664] Delete ha from label --- src/pages/search/Drawer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/Drawer.tsx b/src/pages/search/Drawer.tsx index 5b5322afc..83e19f1a4 100644 --- a/src/pages/search/Drawer.tsx +++ b/src/pages/search/Drawer.tsx @@ -73,7 +73,7 @@ class Drawer extends React.Component {

    hectáreas totales - {`${formatNumber(geofenceArea, 0)} ha`} + {`${formatNumber(geofenceArea, 0)}`}

    From 505927d3e37497103e1b79dd7b3cbc92749db89d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Dec 2022 13:15:58 -0500 Subject: [PATCH 411/664] Add divergentDataBar CSS class --- src/main.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.css b/src/main.css index a18bfa27b..bd325f445 100644 --- a/src/main.css +++ b/src/main.css @@ -2613,6 +2613,12 @@ tspan, .vx-axis-label { text-transform: uppercase; } +.divergentDataBar { + font-size: 13px; + margin-left: 10px; + color: #cf5a16; +} + .newProjectTitle { display: -webkit-flex; display: -moz-flex; From e6ada36896926a1a10cb8069e33982b0c9b0a474 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 15 Dec 2022 13:25:36 -0500 Subject: [PATCH 412/664] Add scalyType to be able to use linear or log scale in the bar graph --- src/pages/search/drawer/Ecosystems.jsx | 11 ++++ .../charts/SmallStackedBar.tsx | 63 ++++++++++--------- 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/src/pages/search/drawer/Ecosystems.jsx b/src/pages/search/drawer/Ecosystems.jsx index ca8ef5851..66938298e 100644 --- a/src/pages/search/drawer/Ecosystems.jsx +++ b/src/pages/search/drawer/Ecosystems.jsx @@ -39,6 +39,7 @@ class Ecosystems extends React.Component { coverage: [], PAAreas: [], PATotalArea: 0, + PADivergentData: false, SEAreas: [], SETotalArea: 0, activeSE: null, @@ -99,9 +100,17 @@ class Ecosystems extends React.Component { if (Array.isArray(res) && res[0]) { const PATotalArea = res.map((i) => i.area).reduce((prev, next) => prev + next); const PAAreas = transformPAValues(res, generalArea); + const noProtectedArea = PAAreas.find(item => item.key === 'No Protegida'); + + let PADivergentData = false; + if(noProtectedArea && noProtectedArea.percentage && noProtectedArea.percentage >= 0.97) { + PADivergentData = true; + } + this.setState((prev) => ({ PAAreas, PATotalArea, + PADivergentData, messages: { ...prev.messages, pa: null, @@ -237,6 +246,7 @@ class Ecosystems extends React.Component { coverage, PAAreas, PATotalArea, + PADivergentData, SEAreas, SETotalArea, activeSE, @@ -355,6 +365,7 @@ class Ecosystems extends React.Component { data={PAAreas} units="ha" colors={matchColor('pa', true)} + scaleType={PADivergentData ? "symlog" : "linear"} />
    string; units?: string; onClickGraphHandler?: (key: string) => void; + scaleType?: "linear" | "symlog"; } export interface SmallStackedBarData { @@ -19,10 +20,6 @@ export interface SmallStackedBarData { label: string; } -interface State { - selectedIndexValue: string | number; -} - const SmallStackedBar = (props: Props) => { const { data, @@ -30,6 +27,7 @@ const SmallStackedBar = (props: Props) => { colors, units = "ha", onClickGraphHandler, + scaleType = "linear", } = props; /** @@ -90,30 +88,39 @@ const SmallStackedBar = (props: Props) => { }; return ( -
    - String(allData[`${id}Color`])} - enableGridY={false} - axisLeft={null} - enableLabel={false} - animate - barComponent={BarItem} - tooltip={({ id, data: allData }) => getToolTip(id, allData)} - onClick={({ id }) => onClickGraphHandler?.(String(id))} - /> -
    + <> +
    + String(allData[`${id}Color`])} + enableGridY={false} + axisLeft={null} + enableLabel={false} + animate + barComponent={BarItem} + tooltip={({ id, data: allData }) => getToolTip(id, allData)} + onClick={({ id }) => onClickGraphHandler?.(String(id))} + valueScale={{ type: scaleType }} + /> +
    + {scaleType === "symlog" && ( +
    + *El porcentaje resultante es tan bajo (poner cursor sobre la barra) + que se usa escala logarítmica +
    + )} + ); }; From 266b0ee3df702a63c5f5535452aec28710fd2f4d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Mar 2023 12:06:07 -0500 Subject: [PATCH 413/664] Create new env var for biab backend --- .env | 1 + 1 file changed, 1 insertion(+) diff --git a/.env b/.env index 5dc88a2fd..a1789535d 100644 --- a/.env +++ b/.env @@ -8,3 +8,4 @@ REACT_APP_PROJECT_ID='' REACT_APP_STORAGE_BUCKET='' REACT_APP_SENDER_ID='' REACT_APP_APP_ID='' +REACT_APP_BACKEND_BIAB_URL='http://biab-api' From a3c7d92ba4f1cc0485d9c268733eae70724c6ad7 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Mar 2023 12:07:24 -0500 Subject: [PATCH 414/664] Create new class to handle biab requests and some examples for each case. POST is not working yet --- src/pages/Search.jsx | 15 +++++++++ src/utils/biabAPI.ts | 74 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 src/utils/biabAPI.ts diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 3641950ac..cd6246b74 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -14,6 +14,7 @@ import isUndefinedOrNull from 'utils/validations'; import GeoServerAPI from 'utils/geoServerAPI'; import matchColor from 'utils/matchColor'; import RestAPI from 'utils/restAPI'; +import biabAPI from 'utils/biabAPI'; import SearchAPI from 'utils/searchAPI'; import GradientLegend from 'pages/search/shared_components/GradientLegend'; import MapViewer from 'pages/search/MapViewer'; @@ -1324,6 +1325,19 @@ class Search extends Component { } } + /* TODO: Delete after testing connection to biab backend*/ + testEndpointsBIAB = () => { + + //GET + biabAPI.requestListTest() + .then((res) => { console.log(res) }); + + //POST + biabAPI.requestRunScriptTest() + .then((res) => { console.log(res) }); + + } + /** * Loads polygon information * @@ -1344,6 +1358,7 @@ class Search extends Component { loadingLayer: false, })); setHeaderNames("Polígono", "Área Consultada"); + this.testEndpointsBIAB(); } /** ************************************* */ diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts new file mode 100644 index 000000000..f3d44462b --- /dev/null +++ b/src/utils/biabAPI.ts @@ -0,0 +1,74 @@ +import axios from "axios"; + +class biabAPI { + + static requestListTest(): Promise> { + return biabAPI.makeGetRequest(`script/list`); + } + + static requestRunScriptTest(): Promise<{}> { + + const testPolygon = "MULTIPOLYGON (((3.995780512963038 -75.58593750000001, 3.7765593098768635 -70.57617187500001, 8.407168163601076 -73.91601562500001)))"; + + const requestBody = { + dir_wkt_polygon: "/scripts/perdidaPersistencia/input/wkt_polygon_test.txt", + wk_polygon: testPolygon, + epsg_polygon: 3395, + dir_colection: '/scripts/perdidaPersistencia/input/ppCollection', + resolution: 1000, + folder_output: 'p_p_studyarea_1000m2', + }; + + return biabAPI.makePostRequest('script/perdidaPersistencia%3E01_pp.R/run',requestBody); + } + + /** ************** */ + /** BASE FUNCTIONS */ + /** ************** */ + + /** + * Request an endpoint through a GET request + * + * @param {String} endpoint endpoint to attach to url + */ + static makeGetRequest(endpoint: string) { + return axios + .get(`${process.env.REACT_APP_BACKEND_BIAB_URL}/${endpoint}`) + .then((res) => res.data) + .catch((error) => { + if (axios.isCancel(error)) { + return Promise.resolve("request canceled"); + } + let message = "Bad GET response. Try later"; + if (error.response) message = error.response.status; + if (error.request && error.request.statusText === "") + message = "no-data-available"; + return Promise.reject(message); + }); + } + + /** + * Request an endpoint through a POST request + * + * @param {String} endpoint endpoint to attach to url + * @param {Object} requestBody JSON object with the request body + */ + static makePostRequest(endpoint: string, requestBody: {}) { + const config = { + headers: { + "Content-Type": "application/json", + /* "Access-Control-Allow-Origin" : "*", */ + }, + }; + return axios.post(`${process.env.REACT_APP_BACKEND_BIAB_URL}/${endpoint}`, requestBody, config) + .then((res) => res.data) + .catch((error) => { + let message = 'Bad POST response. Try later'; + if (error.response) message = error.response.status; + if (error.request.statusText === '') message = 'no-data-available'; + return Promise.reject(message); + }); + } +} + +export default biabAPI; From 870cf38aa612dedcaa363de3b6fea952468ff342 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Mar 2023 13:55:26 -0500 Subject: [PATCH 415/664] Create function at Serach to transform current polygon to WKT format --- src/pages/Search.jsx | 22 +++++++++++++++++----- src/utils/biabAPI.ts | 33 +++++++++++++++++++-------------- 2 files changed, 36 insertions(+), 19 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index cd6246b74..a8144ba02 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1325,17 +1325,27 @@ class Search extends Component { } } + toMultipolygonWKT = (polygon) => { + if(polygon && polygon.coordinates) { + return "MULTIPOLYGON (((" + polygon.coordinates.map((coord) => coord.join(" ")).join(",") + ")))"; + } else { + return null; + } + } + /* TODO: Delete after testing connection to biab backend*/ - testEndpointsBIAB = () => { + testEndpointsBIAB = (polygon) => { //GET biabAPI.requestListTest() .then((res) => { console.log(res) }); //POST - biabAPI.requestRunScriptTest() + const polygonWKT = this.toMultipolygonWKT(polygon); + if(polygonWKT) { + biabAPI.requestRunScriptTest(polygonWKT) .then((res) => { console.log(res) }); - + } } /** @@ -1356,9 +1366,11 @@ class Search extends Component { searchType: "drawPolygon", layerError: false, loadingLayer: false, - })); + }), () => { + const { polygon } = this.state; + this.testEndpointsBIAB(polygon); + }); setHeaderNames("Polígono", "Área Consultada"); - this.testEndpointsBIAB(); } /** ************************************* */ diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index f3d44462b..4e7a12b5a 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -1,25 +1,25 @@ import axios from "axios"; class biabAPI { - static requestListTest(): Promise> { return biabAPI.makeGetRequest(`script/list`); } - static requestRunScriptTest(): Promise<{}> { - - const testPolygon = "MULTIPOLYGON (((3.995780512963038 -75.58593750000001, 3.7765593098768635 -70.57617187500001, 8.407168163601076 -73.91601562500001)))"; - + static requestRunScriptTest(polygonWKT: String): Promise<{}> { const requestBody = { - dir_wkt_polygon: "/scripts/perdidaPersistencia/input/wkt_polygon_test.txt", - wk_polygon: testPolygon, + dir_wkt_polygon: + "/scripts/perdidaPersistencia/input/wkt_polygon_test.txt", + wk_polygon: polygonWKT, epsg_polygon: 3395, - dir_colection: '/scripts/perdidaPersistencia/input/ppCollection', + dir_colection: "/scripts/perdidaPersistencia/input/ppCollection", resolution: 1000, - folder_output: 'p_p_studyarea_1000m2', + folder_output: "p_p_studyarea_1000m2", }; - return biabAPI.makePostRequest('script/perdidaPersistencia%3E01_pp.R/run',requestBody); + return biabAPI.makePostRequest( + "script/perdidaPersistencia%3E01_pp.R/run", + requestBody + ); } /** ************** */ @@ -55,17 +55,22 @@ class biabAPI { */ static makePostRequest(endpoint: string, requestBody: {}) { const config = { - headers: { + headers: { "Content-Type": "application/json", /* "Access-Control-Allow-Origin" : "*", */ }, }; - return axios.post(`${process.env.REACT_APP_BACKEND_BIAB_URL}/${endpoint}`, requestBody, config) + return axios + .post( + `${process.env.REACT_APP_BACKEND_BIAB_URL}/${endpoint}`, + requestBody, + config + ) .then((res) => res.data) .catch((error) => { - let message = 'Bad POST response. Try later'; + let message = "Bad POST response. Try later"; if (error.response) message = error.response.status; - if (error.request.statusText === '') message = 'no-data-available'; + if (error.request.statusText === "") message = "no-data-available"; return Promise.reject(message); }); } From c79d4807f142f3a1de6cf6ae96ba0f715cc0719a Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Mar 2023 16:12:13 -0500 Subject: [PATCH 416/664] Change Content-Type header at post request --- src/utils/biabAPI.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index 4e7a12b5a..49f3b4f80 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -56,8 +56,7 @@ class biabAPI { static makePostRequest(endpoint: string, requestBody: {}) { const config = { headers: { - "Content-Type": "application/json", - /* "Access-Control-Allow-Origin" : "*", */ + 'Content-Type': 'application/x-www-form-urlencoded' }, }; return axios From 401cab9cdb7d5d5e30a5ca5ef277ec148965bd3c Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Mar 2023 16:12:35 -0500 Subject: [PATCH 417/664] Run prettier --- src/utils/biabAPI.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index 49f3b4f80..cc5674144 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -56,7 +56,7 @@ class biabAPI { static makePostRequest(endpoint: string, requestBody: {}) { const config = { headers: { - 'Content-Type': 'application/x-www-form-urlencoded' + "Content-Type": "application/x-www-form-urlencoded", }, }; return axios From bf3ee49b7040848c908e14441e7d403e22a0749d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Mar 2023 17:10:01 -0500 Subject: [PATCH 418/664] CLose the poligon --- src/pages/Search.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index a8144ba02..5bec03c4e 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1327,6 +1327,7 @@ class Search extends Component { toMultipolygonWKT = (polygon) => { if(polygon && polygon.coordinates) { + polygon.coordinates.push(polygon.coordinates[0]); return "MULTIPOLYGON (((" + polygon.coordinates.map((coord) => coord.join(" ")).join(",") + ")))"; } else { return null; From 10ca97880629937925ce1055d9aedd29303d87a4 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 10 Mar 2023 17:10:52 -0500 Subject: [PATCH 419/664] Change header to send post request and fix typo --- src/utils/biabAPI.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index cc5674144..29b671cdc 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -9,7 +9,7 @@ class biabAPI { const requestBody = { dir_wkt_polygon: "/scripts/perdidaPersistencia/input/wkt_polygon_test.txt", - wk_polygon: polygonWKT, + wkt_polygon: polygonWKT, epsg_polygon: 3395, dir_colection: "/scripts/perdidaPersistencia/input/ppCollection", resolution: 1000, @@ -56,7 +56,7 @@ class biabAPI { static makePostRequest(endpoint: string, requestBody: {}) { const config = { headers: { - "Content-Type": "application/x-www-form-urlencoded", + "Content-Type": "application/json", }, }; return axios From f3b8ab121f60bcb186bb0702390bd78d1ac464be Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Mon, 13 Mar 2023 17:00:28 -0500 Subject: [PATCH 420/664] Set epsg_polygon parameter as 4326 --- src/utils/biabAPI.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index 29b671cdc..cade692a3 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -10,7 +10,7 @@ class biabAPI { dir_wkt_polygon: "/scripts/perdidaPersistencia/input/wkt_polygon_test.txt", wkt_polygon: polygonWKT, - epsg_polygon: 3395, + epsg_polygon: 4326, dir_colection: "/scripts/perdidaPersistencia/input/ppCollection", resolution: 1000, folder_output: "p_p_studyarea_1000m2", From 0771e3a66a34dab3ed24df14420a4a47b49b8c28 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 16 Mar 2023 14:14:25 -0500 Subject: [PATCH 421/664] Create function to transform a polygon in WKT format --- src/utils/transformations.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/utils/transformations.js diff --git a/src/utils/transformations.js b/src/utils/transformations.js new file mode 100644 index 000000000..4e0f826fb --- /dev/null +++ b/src/utils/transformations.js @@ -0,0 +1,14 @@ +/** + * Transform polygon to WKT format + * @param {Polygon} polygon original polygon + */ + +const toMultipolygonWKT = (polygon) => { + if(polygon && polygon.coordinates) { + const coordinates = polygon.coordinates.map(p => p.reverse()); + coordinates.push(coordinates[0]); + return "MULTIPOLYGON (((" + coordinates.map((coord) => coord.join(" ")).join(",") + ")))"; + } + } + +export { toMultipolygonWKT }; From 6831c78d27dbd5e367af50a802f2b416f959a858 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 16 Mar 2023 14:14:39 -0500 Subject: [PATCH 422/664] Delete test functions --- src/pages/Search.jsx | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 5bec03c4e..83f6bed7a 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1325,30 +1325,6 @@ class Search extends Component { } } - toMultipolygonWKT = (polygon) => { - if(polygon && polygon.coordinates) { - polygon.coordinates.push(polygon.coordinates[0]); - return "MULTIPOLYGON (((" + polygon.coordinates.map((coord) => coord.join(" ")).join(",") + ")))"; - } else { - return null; - } - } - - /* TODO: Delete after testing connection to biab backend*/ - testEndpointsBIAB = (polygon) => { - - //GET - biabAPI.requestListTest() - .then((res) => { console.log(res) }); - - //POST - const polygonWKT = this.toMultipolygonWKT(polygon); - if(polygonWKT) { - biabAPI.requestRunScriptTest(polygonWKT) - .then((res) => { console.log(res) }); - } - } - /** * Loads polygon information * @@ -1367,10 +1343,7 @@ class Search extends Component { searchType: "drawPolygon", layerError: false, loadingLayer: false, - }), () => { - const { polygon } = this.state; - this.testEndpointsBIAB(polygon); - }); + })); setHeaderNames("Polígono", "Área Consultada"); } From daf4df5ec872af298302934ef84a4905cfa6158a Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 16 Mar 2023 16:44:55 -0500 Subject: [PATCH 423/664] Add logic associated to request forest loss and persistence data from biab backend (By drawing polygon) --- .../forest/ForestLossPersistenceController.ts | 75 ++++++++++++++++--- src/utils/biabAPI.ts | 23 ++++-- 2 files changed, 83 insertions(+), 15 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 3c5d37f98..36fdcf271 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -3,18 +3,19 @@ import { SmallBarsDataDetails, } from "pages/search/shared_components/charts/SmallBars"; import SearchAPI from "utils/searchAPI"; +import biabAPI from "utils/biabAPI"; import { ForestLPExt } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; import formatNumber from "utils/format"; import { SmallBarTooltip } from "pages/search/types/charts"; import { Polygon } from "pages/search/types/drawer"; -const getLabel = { - persistencia: "Persistencia", - perdida: "Pérdida", - ganancia: "Ganancia", - no_bosque: "No bosque", -}; +interface labelForestLP { + persistencia: string; + perdida: string; + ganancia: string; + no_bosque: string; +} interface ForestLPData { forestLP: Array; @@ -24,6 +25,28 @@ interface ForestLPData { export class ForestLossPersistenceController { constructor() {} + /** + * Defines the label for a given data + * @param {string} type data identifier + * + * @returns {string} label to be used for tooltips, legends, etc. + * Max. length = 16 characters + */ + static getLabel = (type: string): string => { + switch (type) { + case "persistencia": + return "Persistencia"; + case "perdida": + return "Pérdida"; + case "ganancia": + return "Ganancia"; + case "no_bosque": + return "No bosque"; + default: + return ""; + } + }; + /** * Returns forest LP data and persistence value in a given area * @@ -43,16 +66,50 @@ export class ForestLossPersistenceController { polygon: Polygon | null ): Promise => { if (searchType === "drawPolygon") { - areaType = "states"; - areaId = 63; + return biabAPI + .requestForestLPData(polygon) + .then((data) => { + const periods = ["2000-2005", "2006-2010", "2011-2015", "2016-2021"]; + const rawData = eval(data.files.table_pp); + const forestLP: Array = periods.map((period) => ({ + id: period, + data: rawData + .filter((d: { period: string }) => d.period === period) + .map( + (o: { + area: number; + key: string; + percentage: number; + label: string; + }) => ({ + area: o.area, + key: o.key, + percentage: o.percentage, + label: ForestLossPersistenceController.getLabel(o.key), + }) + ), + })); + const periodData = rawData.find( + (item: { period: string; key: string }) => + item.period === latestPeriod && item.key === "persistencia" + ).area; + return { + forestLP, + forestPersistenceValue: periodData ? periodData : 0, + }; + }) + .catch(() => { + throw new Error("Error getting data"); + }); } + return SearchAPI.requestForestLP(areaType, areaId) .then((data) => { const forestLP = data.map((item) => ({ ...item, data: item.data.map((element) => ({ ...element, - label: getLabel[element.key], + label: ForestLossPersistenceController.getLabel(element.key), })), })); diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index cade692a3..2c024d9c9 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -1,15 +1,26 @@ import axios from "axios"; +import { toMultipolygonWKT } from "utils/transformations"; +import { Polygon } from "pages/search/types/drawer"; class biabAPI { - static requestListTest(): Promise> { - return biabAPI.makeGetRequest(`script/list`); - } - - static requestRunScriptTest(polygonWKT: String): Promise<{}> { + /** + * Get the forest loss and persistence data by periods and categories in the given polygon. + * + * @param {Polygon} polygon selected polygon + * + * @return {Promise} Array of objects with data for the forest loss and persistence + */ + static requestForestLPData(polygon: Polygon | null): Promise<{ + logs: string; + files: { + table_pp: string; + }; + }> { + const wkt = toMultipolygonWKT(polygon); const requestBody = { dir_wkt_polygon: "/scripts/perdidaPersistencia/input/wkt_polygon_test.txt", - wkt_polygon: polygonWKT, + wkt_polygon: wkt, epsg_polygon: 4326, dir_colection: "/scripts/perdidaPersistencia/input/ppCollection", resolution: 1000, From 083f1a532c8c5e995eb8c72dca4fa70f909a7c38 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 16 Mar 2023 16:48:07 -0500 Subject: [PATCH 424/664] Delete labelForestLP interface --- .../landscape/forest/ForestLossPersistenceController.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 36fdcf271..ef8d05aab 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -10,13 +10,6 @@ import formatNumber from "utils/format"; import { SmallBarTooltip } from "pages/search/types/charts"; import { Polygon } from "pages/search/types/drawer"; -interface labelForestLP { - persistencia: string; - perdida: string; - ganancia: string; - no_bosque: string; -} - interface ForestLPData { forestLP: Array; forestPersistenceValue: number; From 1fcb4a7d6e27dbe2c2eca29b6592e5b7b5ab734b Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 21 Mar 2023 11:37:16 -0500 Subject: [PATCH 425/664] Change eval by JSON.parse to convert results from BIAB into JSON format --- .../drawer/landscape/forest/ForestLossPersistenceController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index ef8d05aab..6a897e388 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -63,7 +63,7 @@ export class ForestLossPersistenceController { .requestForestLPData(polygon) .then((data) => { const periods = ["2000-2005", "2006-2010", "2011-2015", "2016-2021"]; - const rawData = eval(data.files.table_pp); + const rawData = JSON.parse(data.files.table_pp); const forestLP: Array = periods.map((period) => ({ id: period, data: rawData From 36b880755b32a4a4a7a6853a15f2fb89fdabd0c6 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 24 Mar 2023 10:51:54 -0500 Subject: [PATCH 426/664] Create method requestScriptList --- src/utils/biabAPI.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index 2c024d9c9..69c7102ea 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -3,6 +3,13 @@ import { toMultipolygonWKT } from "utils/transformations"; import { Polygon } from "pages/search/types/drawer"; class biabAPI { + /** + * Get the list of current scripts. + */ + static requestScriptList(): Promise> { + return biabAPI.makeGetRequest(`script/list`); + } + /** * Get the forest loss and persistence data by periods and categories in the given polygon. * From 9c8e125d84b33110f4aae0932aea19dae4e5a4d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 10:52:10 -0500 Subject: [PATCH 427/664] add new workflow --- .github/workflows/develop.yml | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/develop.yml diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml new file mode 100644 index 000000000..630b3c73b --- /dev/null +++ b/.github/workflows/develop.yml @@ -0,0 +1,36 @@ +name: CD for develop + +on: + push: + branches: + - develop + workflow_dispatch: + +env: + AZURE_WEBAPP_NAME: biotablero-frontend + AZURE_WEBAPP_PACKAGE_PATH: '.' + NODE_VERSION: '14.15' + +jobs: + build-and-deploy: + name: Build and Deploy + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: yarn + + - name: install + run: yarn install + + - name: - name: 'Deploy to Azure WebApp' + uses: azure/webapps-deploy@v2 + with: + app-name: ${{ env.AZURE_WEBAPP_NAME }} + publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} + package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }} From b5f6921f16f64bbf7422c4d74e46697ebac17784 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 24 Mar 2023 10:52:25 -0500 Subject: [PATCH 428/664] Create message as an independent module --- src/pages/search/selector/errorMessages.tsx | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/pages/search/selector/errorMessages.tsx diff --git a/src/pages/search/selector/errorMessages.tsx b/src/pages/search/selector/errorMessages.tsx new file mode 100644 index 000000000..3499657c6 --- /dev/null +++ b/src/pages/search/selector/errorMessages.tsx @@ -0,0 +1,3 @@ +const connErrorMessage = () => (
    Ha ocurrido un error de conexión
    ) + +export default connErrorMessage; \ No newline at end of file From 66683aec2cc9de501493a53bc946cb2ef8924d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 10:53:15 -0500 Subject: [PATCH 429/664] fix typo --- .github/workflows/develop.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 630b3c73b..5c7da94f7 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -28,9 +28,9 @@ jobs: - name: install run: yarn install - - name: - name: 'Deploy to Azure WebApp' - uses: azure/webapps-deploy@v2 - with: - app-name: ${{ env.AZURE_WEBAPP_NAME }} - publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} - package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }} + - name: Deploy to Azure WebApp + uses: azure/webapps-deploy@v2 + with: + app-name: ${{ env.AZURE_WEBAPP_NAME }} + publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} + package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }} From 9058af00cff06d55907bf2479ee7e68dc917fb0a Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 24 Mar 2023 10:54:06 -0500 Subject: [PATCH 430/664] Create new state to store list of connection errors and passs them to Selector to show the proper message --- src/pages/Search.jsx | 68 +++++++++++++++++++---------------- src/pages/search/Selector.jsx | 9 +++-- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 83f6bed7a..235f09521 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -30,7 +30,10 @@ class Search extends Component { this.geofenceBounds = null; this.state = { activeLayer: {}, - connError: false, + connErrors: { + defAreas: false, + polygon: false, + }, layerError: false, areaList: [], layers: {}, @@ -51,6 +54,7 @@ class Search extends Component { history.replace(history.location.pathname); } this.loadAreaList(); + this.checkPolygonConn(); } componentDidUpdate() { @@ -145,16 +149,40 @@ class Search extends Component { } }); }) - .catch(() => this.reportConnError()); + .catch(() => this.reportConnErrorDefAreas()); } /** - * Report a connection error from one of the child components + * Report a connection error from backend associated to defined areas */ - reportConnError = () => { - this.setState({ - connError: true, - }); + reportConnErrorDefAreas = () => { + this.setState(prevState => ({ + connErrors: { + ...prevState.connErrors, + defAreas: true, + } + })); + } + + /** + * Get the current list of scripts at BIAB backend. It is used to check connection to backend. + */ + checkPolygonConn = () => { + biabAPI.requestScriptList() + .then(() => {}) + .catch(() => this.reportConnErrorPolygon()); + } + + /** + * Report a connection error from backend associated to draw polygon + */ + reportConnErrorPolygon = () => { + this.setState(prevState => ({ + connErrors: { + ...prevState.connErrors, + polygon: true, + } + })); } /** @@ -1409,7 +1437,7 @@ class Search extends Component { const { loadingLayer, layers, - connError, + connErrors, layerError, areaList, activeLayer: { name: activeLayer, legend }, @@ -1454,29 +1482,6 @@ class Search extends Component { return ( <> - -
    -

    - Sin conexión al servidor -
    - Intenta de nuevo en unos minutos. -

    - -
    -
    )} { ((selectedAreaTypeId && selectedAreaId && (selectedAreaTypeId !== 'se')) || searchType==="drawPolygon") && ( diff --git a/src/pages/search/Selector.jsx b/src/pages/search/Selector.jsx index 7835a441b..6913bdc82 100644 --- a/src/pages/search/Selector.jsx +++ b/src/pages/search/Selector.jsx @@ -8,9 +8,10 @@ import DrawPolygon from 'pages/search/selector/DrawPolygon'; import SearchAreas from 'pages/search/selector/SearchAreas'; import isFlagEnabled from 'utils/isFlagEnabled'; +import connErrorMessage from 'pages/search/selector/errorMessages'; const Selector = (props) => { - const { areasData, description, handlers } = props; + const { areasData, description, handlers, connErrors } = props; const [drawPolygonFlag, setDrawPolygonFlag] = useState(true); useEffect(() => { @@ -23,7 +24,7 @@ const Selector = (props) => { id: 'panel1-Geocerca', name: 'Área de consulta', }, - component: SearchAreas, + component: !connErrors.defAreas ? SearchAreas : connErrorMessage, componentProps: { areaList: areasData, onChange: handlers.areaTypeChange, @@ -37,7 +38,7 @@ const Selector = (props) => { icon: EditIcon, disabled: !drawPolygonFlag, }, - component: DrawPolygon, + component: !connErrors.polygon ? DrawPolygon : connErrorMessage, }, { label: { @@ -85,10 +86,12 @@ Selector.propTypes = { polygonChange: PropTypes.func.isRequired, }).isRequired, description: PropTypes.object, + connError: PropTypes.bool, }; Selector.defaultProps = { description: {}, + connError: false, }; export default Selector; From 8dbb1bfd067860ef8b15e0809f7a725235de468d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 10:56:00 -0500 Subject: [PATCH 431/664] change workflow name --- .github/workflows/feature.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 87b5c7ff9..71e541bbe 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -6,7 +6,7 @@ on: - feature/* jobs: - dev: + feature: runs-on: ubuntu-latest steps: From 256ccb8fccb9b009ed35d6727967ec32c095a508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 10:56:10 -0500 Subject: [PATCH 432/664] add temporary branch to test --- .github/workflows/develop.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 5c7da94f7..12d5ee1cc 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -4,6 +4,7 @@ on: push: branches: - develop + - deploy workflow_dispatch: env: From 067a88e35925deed88e184880aa123e429bab0c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 11:02:21 -0500 Subject: [PATCH 433/664] remove unnecessary env --- .github/workflows/develop.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 12d5ee1cc..8de7d83e8 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -10,7 +10,6 @@ on: env: AZURE_WEBAPP_NAME: biotablero-frontend AZURE_WEBAPP_PACKAGE_PATH: '.' - NODE_VERSION: '14.15' jobs: build-and-deploy: From 4153b92b32fefc6c88cbe46bfdee0356135ed65a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 12:03:57 -0500 Subject: [PATCH 434/664] update workflow --- .github/workflows/develop.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 8de7d83e8..1746d8fea 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -9,12 +9,14 @@ on: env: AZURE_WEBAPP_NAME: biotablero-frontend - AZURE_WEBAPP_PACKAGE_PATH: '.' jobs: build-and-deploy: name: Build and Deploy runs-on: ubuntu-latest + environment: + name: develop + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} steps: - uses: actions/checkout@v3 @@ -33,4 +35,3 @@ jobs: with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} - package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }} From 1f2cc7fa1edc4eb45b5e20febba324cb65c3e52a Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 24 Mar 2023 12:07:03 -0500 Subject: [PATCH 435/664] Add icon alert to message --- src/pages/search/selector/errorMessages.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/pages/search/selector/errorMessages.tsx b/src/pages/search/selector/errorMessages.tsx index 3499657c6..4f014a17c 100644 --- a/src/pages/search/selector/errorMessages.tsx +++ b/src/pages/search/selector/errorMessages.tsx @@ -1,3 +1,12 @@ -const connErrorMessage = () => (
    Ha ocurrido un error de conexión
    ) +import WarningIcon from "@mui/icons-material/Warning"; -export default connErrorMessage; \ No newline at end of file +const connErrorMessage = () => ( +
    + + + Hubo un error en esta funcionalidad, prueba otra alternativa. + +
    +); + +export default connErrorMessage; From 5fc16f9e7b277499885ed318d791be34337b9509 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 24 Mar 2023 12:12:47 -0500 Subject: [PATCH 436/664] Add modal when ther is not connection to any of the backends --- src/pages/Search.jsx | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 235f09521..dac2da6ed 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -1482,6 +1482,29 @@ class Search extends Component { return ( <> + +
    +

    + Sin conexión al servidor +
    + Intenta de nuevo en unos minutos. +

    + +
    +
    Date: Fri, 24 Mar 2023 15:04:30 -0500 Subject: [PATCH 437/664] una prueba mas --- .github/workflows/develop.yml | 6 +- package.json | 4 +- yarn.lock | 330 +++++++++++++++++++++++++++++++--- 3 files changed, 312 insertions(+), 28 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 1746d8fea..0cae84f55 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -27,8 +27,10 @@ jobs: node-version-file: '.nvmrc' cache: yarn - - name: install - run: yarn install + - name: install & build + run: | + yarn install + yarn run build - name: Deploy to Azure WebApp uses: azure/webapps-deploy@v2 diff --git a/package.json b/package.json index d05978558..5ceaf31eb 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,8 @@ "name": "biotablero", "version": "2.0.3", "scripts": { - "start": "react-scripts start", + "start": "PORT=8080 npx serve -s build", + "start-dev": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject", @@ -43,6 +44,7 @@ "react-router-dom": "5.3.3", "react-scripts": "~5.0.1", "react-spring": "~9.4.5", + "serve": "^14.2.0", "styled-components": "~5.3.5" }, "dependenciesMeta": { diff --git a/yarn.lock b/yarn.lock index cb4aa1d2e..9baac5462 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6158,6 +6158,13 @@ __metadata: languageName: node linkType: hard +"@zeit/schemas@npm:2.29.0": + version: 2.29.0 + resolution: "@zeit/schemas@npm:2.29.0" + checksum: 3cea06bb67d790336aca0cc17580fd492ff3fc66ef4d180dce7053ff7ff54ab81b56bf718ba6f537148c581161d06306a481ec218d540bff922e0e009844ffd1 + languageName: node + linkType: hard + "abab@npm:^2.0.0, abab@npm:^2.0.3, abab@npm:^2.0.5": version: 2.0.6 resolution: "abab@npm:2.0.6" @@ -6367,27 +6374,27 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" +"ajv@npm:8.11.0, ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.6.0, ajv@npm:^8.8.0": + version: 8.11.0 + resolution: "ajv@npm:8.11.0" dependencies: fast-deep-equal: ^3.1.1 - fast-json-stable-stringify: ^2.0.0 - json-schema-traverse: ^0.4.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 uri-js: ^4.2.2 - checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4 + checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.6.0, ajv@npm:^8.8.0": - version: 8.11.0 - resolution: "ajv@npm:8.11.0" +"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" dependencies: fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 uri-js: ^4.2.2 - checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef + checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4 languageName: node linkType: hard @@ -6405,6 +6412,15 @@ __metadata: languageName: node linkType: hard +"ansi-align@npm:^3.0.1": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: ^4.1.0 + checksum: 6abfa08f2141d231c257162b15292467081fa49a208593e055c866aa0455b57f3a86b5a678c190c618faa79b4c59e254493099cb700dd9cf2293c6be2c8f5d8d + languageName: node + linkType: hard + "ansi-colors@npm:^4.1.1": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" @@ -6490,6 +6506,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 + languageName: node + linkType: hard + "ansi-to-html@npm:^0.6.4": version: 0.6.15 resolution: "ansi-to-html@npm:0.6.15" @@ -6528,6 +6551,13 @@ __metadata: languageName: node linkType: hard +"arch@npm:^2.2.0": + version: 2.2.0 + resolution: "arch@npm:2.2.0" + checksum: e21b7635029fe8e9cdd5a026f9a6c659103e63fff423834323cdf836a1bb240a72d0c39ca8c470f84643385cf581bd8eda2cad8bf493e27e54bd9783abe9101f + languageName: node + linkType: hard + "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -6538,7 +6568,7 @@ __metadata: languageName: node linkType: hard -"arg@npm:^5.0.2": +"arg@npm:5.0.2, arg@npm:^5.0.2": version: 5.0.2 resolution: "arg@npm:5.0.2" checksum: 6c69ada1a9943d332d9e5382393e897c500908d91d5cb735a01120d5f71daf1b339b7b8980cbeaba8fd1afc68e658a739746179e4315a26e8a28951ff9930078 @@ -7325,6 +7355,7 @@ __metadata: react-router-dom: 5.3.3 react-scripts: ~5.0.1 react-spring: ~9.4.5 + serve: ^14.2.0 styled-components: ~5.3.5 typescript: ~4.7.3 yarn-audit-fix: ~9.3.1 @@ -7420,6 +7451,22 @@ __metadata: languageName: node linkType: hard +"boxen@npm:7.0.0": + version: 7.0.0 + resolution: "boxen@npm:7.0.0" + dependencies: + ansi-align: ^3.0.1 + camelcase: ^7.0.0 + chalk: ^5.0.1 + cli-boxes: ^3.0.0 + string-width: ^5.1.2 + type-fest: ^2.13.0 + widest-line: ^4.0.1 + wrap-ansi: ^8.0.1 + checksum: b917cf7a168ef3149635a8c02d5c9717d66182348bd27038d85328ad12655151e3324db0f2815253846c33e5f0ddf28b6cd52d56a12b9f88617b7f8f722b946a + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -7773,6 +7820,13 @@ __metadata: languageName: node linkType: hard +"camelcase@npm:^7.0.0": + version: 7.0.1 + resolution: "camelcase@npm:7.0.1" + checksum: 86ab8f3ebf08bcdbe605a211a242f00ed30d8bfb77dab4ebb744dd36efbc84432d1c4adb28975ba87a1b8be40a80fbd1e60e2f06565315918fa7350011a26d3d + languageName: node + linkType: hard + "camelize@npm:^1.0.0": version: 1.0.0 resolution: "camelize@npm:1.0.0" @@ -7853,6 +7907,22 @@ __metadata: languageName: unknown linkType: soft +"chalk-template@npm:0.4.0": + version: 0.4.0 + resolution: "chalk-template@npm:0.4.0" + dependencies: + chalk: ^4.1.2 + checksum: 6c706802a79a7963cbce18f022b046fe86e438a67843151868852f80ea7346e975a6a9749991601e7e5d3b6a6c4852a04c53dc966a9a3d04031bd0e0ed53c819 + languageName: node + linkType: hard + +"chalk@npm:5.0.1, chalk@npm:^5.0.1": + version: 5.0.1 + resolution: "chalk@npm:5.0.1" + checksum: 7b45300372b908f0471fbf7389ce2f5de8d85bb949026fd51a1b95b10d0ed32c7ed5aab36dd5e9d2bf3191867909b4404cef75c5f4d2d1daeeacd301dd280b76 + languageName: node + linkType: hard + "chalk@npm:^1.1.3": version: 1.1.3 resolution: "chalk@npm:1.1.3" @@ -7887,13 +7957,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.0.1": - version: 5.0.1 - resolution: "chalk@npm:5.0.1" - checksum: 7b45300372b908f0471fbf7389ce2f5de8d85bb949026fd51a1b95b10d0ed32c7ed5aab36dd5e9d2bf3191867909b4404cef75c5f4d2d1daeeacd301dd280b76 - languageName: node - linkType: hard - "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -8044,6 +8107,13 @@ __metadata: languageName: node linkType: hard +"cli-boxes@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-boxes@npm:3.0.0" + checksum: 637d84419d293a9eac40a1c8c96a2859e7d98b24a1a317788e13c8f441be052fc899480c6acab3acc82eaf1bccda6b7542d7cdcf5c9c3cc39227175dc098d5b2 + languageName: node + linkType: hard + "cli-cursor@npm:^2.1.0": version: 2.1.0 resolution: "cli-cursor@npm:2.1.0" @@ -8060,6 +8130,17 @@ __metadata: languageName: node linkType: hard +"clipboardy@npm:3.0.0": + version: 3.0.0 + resolution: "clipboardy@npm:3.0.0" + dependencies: + arch: ^2.2.0 + execa: ^5.1.1 + is-wsl: ^2.2.0 + checksum: 2c292acb59705494cbe07d7df7c8becff4f01651514d32ebd80f4aec2d20946d8f3824aac67ecdf2d09ef21fdf0eb24b6a7f033c137ccdceedc4661c54455c94 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -8403,7 +8484,7 @@ __metadata: languageName: node linkType: hard -"compression@npm:^1.7.4": +"compression@npm:1.7.4, compression@npm:^1.7.4": version: 1.7.4 resolution: "compression@npm:1.7.4" dependencies: @@ -8499,6 +8580,13 @@ __metadata: languageName: node linkType: hard +"content-disposition@npm:0.5.2": + version: 0.5.2 + resolution: "content-disposition@npm:0.5.2" + checksum: 298d7da63255a38f7858ee19c7b6aae32b167e911293174b4c1349955e97e78e1d0b0d06c10e229405987275b417cf36ff65cbd4821a98bc9df4e41e9372cde7 + languageName: node + linkType: hard + "content-disposition@npm:0.5.4": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" @@ -9586,6 +9674,13 @@ __metadata: languageName: node linkType: hard +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -10091,6 +10186,13 @@ __metadata: languageName: node linkType: hard +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 7d00d7cd8e49b9afa762a813faac332dee781932d6f2c848dc348939c4253f1d4564341b7af1d041853bc3f32c2ef141b58e0a4d9862c17a7f08f68df1e0f1ed + languageName: node + linkType: hard + "ecc-jsbn@npm:~0.1.1": version: 0.1.2 resolution: "ecc-jsbn@npm:0.1.2" @@ -11047,7 +11149,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0": +"execa@npm:^5.0.0, execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -11276,6 +11378,15 @@ __metadata: languageName: node linkType: hard +"fast-url-parser@npm:1.1.3": + version: 1.1.3 + resolution: "fast-url-parser@npm:1.1.3" + dependencies: + punycode: ^1.3.2 + checksum: 5043d0c4a8d775ff58504d56c096563c11b113e4cb8a2668c6f824a1cd4fb3812e2fdf76537eb24a7ce4ae7def6bd9747da630c617cf2a4b6ce0c42514e4f21c + languageName: node + linkType: hard + "fastparse@npm:^1.1.2": version: 1.1.2 resolution: "fastparse@npm:1.1.2" @@ -13133,7 +13244,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.5": +"ini@npm:^1.3.5, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -13597,6 +13708,13 @@ __metadata: languageName: node linkType: hard +"is-port-reachable@npm:4.0.0": + version: 4.0.0 + resolution: "is-port-reachable@npm:4.0.0" + checksum: 47b7e10db8edcef27fbf9e50f0de85ad368d35688790ca64a13db67260111ac5f4b98989b11af06199fa93f25d810bd09a5b21b2c2646529668638f7c34d3c04 + languageName: node + linkType: hard + "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -15427,6 +15545,22 @@ __metadata: languageName: node linkType: hard +"mime-db@npm:~1.33.0": + version: 1.33.0 + resolution: "mime-db@npm:1.33.0" + checksum: 281a0772187c9b8f6096976cb193ac639c6007ac85acdbb8dc1617ed7b0f4777fa001d1b4f1b634532815e60717c84b2f280201d55677fb850c9d45015b50084 + languageName: node + linkType: hard + +"mime-types@npm:2.1.18": + version: 2.1.18 + resolution: "mime-types@npm:2.1.18" + dependencies: + mime-db: ~1.33.0 + checksum: 729265eff1e5a0e87cb7f869da742a610679585167d2f2ec997a7387fc6aedf8e5cad078e99b0164a927bdf3ace34fca27430d6487456ad090cba5594441ba43 + languageName: node + linkType: hard + "mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" @@ -15506,7 +15640,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -16823,6 +16957,13 @@ __metadata: languageName: node linkType: hard +"path-is-inside@npm:1.0.2": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 0b5b6c92d3018b82afb1f74fe6de6338c4c654de4a96123cb343f2b747d5606590ac0c890f956ed38220a4ab59baddfd7b713d78a62d240b20b14ab801fa02cb + languageName: node + linkType: hard + "path-key@npm:^2.0.1": version: 2.0.1 resolution: "path-key@npm:2.0.1" @@ -16851,6 +16992,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:2.2.1": + version: 2.2.1 + resolution: "path-to-regexp@npm:2.2.1" + checksum: b921a74e7576e25b06ad1635abf7e8125a29220d2efc2b71d74b9591f24a27e6f09078fa9a1b27516a097ea0637b7cab79d19b83d7f36a8ef3ef5422770e89d9 + languageName: node + linkType: hard + "path-to-regexp@npm:^1.7.0": version: 1.8.0 resolution: "path-to-regexp@npm:1.8.0" @@ -18650,7 +18798,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^1.2.4": +"punycode@npm:^1.2.4, punycode@npm:^1.3.2": version: 1.4.1 resolution: "punycode@npm:1.4.1" checksum: fa6e698cb53db45e4628559e557ddaf554103d2a96a1d62892c8f4032cd3bc8871796cae9eabc1bc700e2b6677611521ce5bb1d9a27700086039965d0cf34518 @@ -18798,6 +18946,13 @@ __metadata: languageName: node linkType: hard +"range-parser@npm:1.2.0": + version: 1.2.0 + resolution: "range-parser@npm:1.2.0" + checksum: bdf397f43fedc15c559d3be69c01dedf38444ca7a1610f5bf5955e3f3da6057a892f34691e7ebdd8c7e1698ce18ef6c4d4811f70e658dda3ff230ef741f8423a + languageName: node + linkType: hard + "range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" @@ -18817,6 +18972,20 @@ __metadata: languageName: node linkType: hard +"rc@npm:^1.0.1, rc@npm:^1.1.6": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: ^0.6.0 + ini: ~1.3.0 + minimist: ^1.2.0 + strip-json-comments: ~2.0.1 + bin: + rc: ./cli.js + checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e + languageName: node + linkType: hard + "react-app-polyfill@npm:^3.0.0": version: 3.0.0 resolution: "react-app-polyfill@npm:3.0.0" @@ -19346,6 +19515,25 @@ __metadata: languageName: node linkType: hard +"registry-auth-token@npm:3.3.2": + version: 3.3.2 + resolution: "registry-auth-token@npm:3.3.2" + dependencies: + rc: ^1.1.6 + safe-buffer: ^5.0.1 + checksum: c9d7ae160a738f1fa825556e3669e6c771d2c0239ce37679f7e8646157a97d0a76464738be075002a1f754ef9bfb913b689f4bbfd5296d28f136fbf98c8c2217 + languageName: node + linkType: hard + +"registry-url@npm:3.1.0": + version: 3.1.0 + resolution: "registry-url@npm:3.1.0" + dependencies: + rc: ^1.0.1 + checksum: 6d223da41b04e1824f5faa63905c6f2e43b216589d72794111573f017352b790aef42cd1f826463062f89d804abb2027e3d9665d2a9a0426a11eedd04d470af3 + languageName: node + linkType: hard + "regjsgen@npm:^0.6.0": version: 0.6.0 resolution: "regjsgen@npm:0.6.0" @@ -20163,6 +20351,22 @@ __metadata: languageName: node linkType: hard +"serve-handler@npm:6.1.5": + version: 6.1.5 + resolution: "serve-handler@npm:6.1.5" + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + fast-url-parser: 1.1.3 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 2.2.1 + range-parser: 1.2.0 + checksum: 7a98ca9cbf8692583b6cde4deb3941cff900fa38bf16adbfccccd8430209bab781e21d9a1f61c9c03e226f9f67689893bbce25941368f3ddaf985fc3858b49dc + languageName: node + linkType: hard + "serve-index@npm:^1.9.1": version: 1.9.1 resolution: "serve-index@npm:1.9.1" @@ -20190,6 +20394,27 @@ __metadata: languageName: node linkType: hard +"serve@npm:^14.2.0": + version: 14.2.0 + resolution: "serve@npm:14.2.0" + dependencies: + "@zeit/schemas": 2.29.0 + ajv: 8.11.0 + arg: 5.0.2 + boxen: 7.0.0 + chalk: 5.0.1 + chalk-template: 0.4.0 + clipboardy: 3.0.0 + compression: 1.7.4 + is-port-reachable: 4.0.0 + serve-handler: 6.1.5 + update-check: 1.5.4 + bin: + serve: build/main.js + checksum: a1c26e6c3dd0c482589b39a105e2f09bebf20ee8a0358accd5d64b313952ad3e1a56b8af2bdfef269f9fd37140b4f6c940d12395c851e4a46dfdace8f97616e4 + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -20805,6 +21030,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: ^0.2.0 + emoji-regex: ^9.2.2 + strip-ansi: ^7.0.1 + checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 + languageName: node + linkType: hard + "string.prototype.matchall@npm:^4.0.6, string.prototype.matchall@npm:^4.0.7": version: 4.0.7 resolution: "string.prototype.matchall@npm:4.0.7" @@ -20950,6 +21186,13 @@ __metadata: languageName: node linkType: hard +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 + languageName: node + linkType: hard + "strongly-connected-components@npm:^1.0.1": version: 1.0.1 resolution: "strongly-connected-components@npm:1.0.1" @@ -21784,6 +22027,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^2.13.0": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: a4ef07ece297c9fba78fc1bd6d85dff4472fe043ede98bd4710d2615d15776902b595abf62bd78339ed6278f021235fb28a96361f8be86ed754f778973a0d278 + languageName: node + linkType: hard + "type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" @@ -22045,6 +22295,16 @@ __metadata: languageName: node linkType: hard +"update-check@npm:1.5.4": + version: 1.5.4 + resolution: "update-check@npm:1.5.4" + dependencies: + registry-auth-token: 3.3.2 + registry-url: 3.1.0 + checksum: 2c9f7de6f030364c5ea02a341e5ae2dfe76da6559b32d40dd3b047b3ac0927408cf92d322c51cd8e009688210a85ccbf1eba449762a65a0d1b14f3cdf1ea5c48 + languageName: node + linkType: hard + "update-diff@npm:^1.1.0": version: 1.1.0 resolution: "update-diff@npm:1.1.0" @@ -22763,6 +23023,15 @@ __metadata: languageName: node linkType: hard +"widest-line@npm:^4.0.1": + version: 4.0.1 + resolution: "widest-line@npm:4.0.1" + dependencies: + string-width: ^5.0.1 + checksum: 64c48cf27171221be5f86fc54b94dd29879165bdff1a7aa92dde723d9a8c99fb108312768a5d62c8c2b80b701fa27bbd36a1ddc58367585cd45c0db7920a0cba + languageName: node + linkType: hard + "word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" @@ -22995,6 +23264,17 @@ __metadata: languageName: node linkType: hard +"wrap-ansi@npm:^8.0.1": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: ^6.1.0 + string-width: ^5.0.1 + strip-ansi: ^7.0.1 + checksum: 371733296dc2d616900ce15a0049dca0ef67597d6394c57347ba334393599e800bab03c41d4d45221b6bc967b8c453ec3ae4749eff3894202d16800fdfe0e238 + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" From 9895b4814acf1696d6812a9972147b1a5ce4df3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 15:09:09 -0500 Subject: [PATCH 438/664] add missing command --- .github/workflows/develop.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 0cae84f55..ce9be5e8f 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -29,6 +29,8 @@ jobs: - name: install & build run: | + yarn workspaces foreach install + yarn workspaces foreach run build-pkg yarn install yarn run build From 7bc295cdd6f6c4e8f838670f828deb25c460cb05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 16:00:19 -0500 Subject: [PATCH 439/664] add env vars --- .github/workflows/develop.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index ce9be5e8f..6b3e2b902 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -9,6 +9,8 @@ on: env: AZURE_WEBAPP_NAME: biotablero-frontend + REACT_APP_ENVIRONMENT: develop + REACT_APP_BACKEND_BIAB_URL: ${{ env.BACKEND_BIAB_URL }} jobs: build-and-deploy: From 5353558d7be2fe018503aadc006def52b9d7a01f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 16:02:10 -0500 Subject: [PATCH 440/664] test with vars --- .github/workflows/develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 6b3e2b902..6d367761c 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -10,7 +10,7 @@ on: env: AZURE_WEBAPP_NAME: biotablero-frontend REACT_APP_ENVIRONMENT: develop - REACT_APP_BACKEND_BIAB_URL: ${{ env.BACKEND_BIAB_URL }} + REACT_APP_BACKEND_BIAB_URL: ${{ vars.BACKEND_BIAB_URL }} jobs: build-and-deploy: From 1c4a500da672999a06d78029f12319c5d5709b82 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Fri, 24 Mar 2023 16:30:52 -0500 Subject: [PATCH 441/664] Delete then method as it is unnecessary --- src/pages/Search.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index dac2da6ed..478404e49 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -169,7 +169,6 @@ class Search extends Component { */ checkPolygonConn = () => { biabAPI.requestScriptList() - .then(() => {}) .catch(() => this.reportConnErrorPolygon()); } From a9dba8f137f9b466d710a2e1cc2be66ba9a1054e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Fri, 24 Mar 2023 16:37:29 -0500 Subject: [PATCH 442/664] remove test branch --- .github/workflows/develop.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 6d367761c..9577af4aa 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -4,7 +4,6 @@ on: push: branches: - develop - - deploy workflow_dispatch: env: From e9a6c08d614e3db20566ada400f78a66261305dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 27 Mar 2023 12:39:11 -0500 Subject: [PATCH 443/664] Add function to get polygon query layers --- src/utils/biabAPI.ts | 46 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index 69c7102ea..817052511 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -1,4 +1,4 @@ -import axios from "axios"; +import axios, { CancelTokenSource } from "axios"; import { toMultipolygonWKT } from "utils/transformations"; import { Polygon } from "pages/search/types/drawer"; @@ -17,7 +17,7 @@ class biabAPI { * * @return {Promise} Array of objects with data for the forest loss and persistence */ - static requestForestLPData(polygon: Polygon | null): Promise<{ + static requestForestLPData(polygon: Polygon | null, polygonFolder: string): Promise<{ logs: string; files: { table_pp: string; @@ -31,7 +31,7 @@ class biabAPI { epsg_polygon: 4326, dir_colection: "/scripts/perdidaPersistencia/input/ppCollection", resolution: 1000, - folder_output: "p_p_studyarea_1000m2", + folder_output: polygonFolder, }; return biabAPI.makePostRequest( @@ -40,6 +40,30 @@ class biabAPI { ); } + /** + * Get the layer associated to a polygon query for Forest LP + * + * @param {String} layer layer file name to get + * @param {String} polygonFolder result folder name + * + * @return {Promise} layer object to be loaded in the map + */ + + static requestForestLPLayer( + layer: string, + polygonFolder: string, + ): { request: Promise; source: CancelTokenSource } { + const source = axios.CancelToken.source(); + return { + request: biabAPI.makeGetRequest( + `output/${polygonFolder}/${layer}.png`, + { cancelToken: source.token, responseType: "arraybuffer" }, + true + ), + source, + }; + } + /** ************** */ /** BASE FUNCTIONS */ /** ************** */ @@ -48,11 +72,21 @@ class biabAPI { * Request an endpoint through a GET request * * @param {String} endpoint endpoint to attach to url + * @param {Array} options config params to the request + * @param {Boolean} completeRes define if get all the response or only data part */ - static makeGetRequest(endpoint: string) { + static makeGetRequest(endpoint: string, options = {}, completeRes = false) { + const config = { + ...options + }; return axios - .get(`${process.env.REACT_APP_BACKEND_BIAB_URL}/${endpoint}`) - .then((res) => res.data) + .get(`${process.env.REACT_APP_BACKEND_BIAB_URL}/${endpoint}`, config) + .then((res) => { + if (completeRes) { + return res; + } + return res.data; + }) .catch((error) => { if (axios.isCancel(error)) { return Promise.resolve("request canceled"); From 561971904c51b12aeaed7a442bbcaec60695f78c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 27 Mar 2023 12:43:30 -0500 Subject: [PATCH 444/664] Set querys for polygon case --- .../drawer/landscape/forest/ForestLossPersistence.tsx | 9 ++++++--- .../forest/ForestLossPersistenceController.ts | 11 ++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 68f8038a9..6b4e2d99a 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -47,15 +47,15 @@ class ForestLossPersistence extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, searchType, polygon, switchLayer } = this + const { areaId, geofenceId, searchType, polygon, polygonFolder, switchLayer } = this .context as SearchContextValues; - if (searchType === "definedArea") { + if (searchType === "definedArea"){ switchLayer(`forestLP-${LATEST_PERIOD}`); } this.flpController - .getForestLPData(areaId, geofenceId, LATEST_PERIOD, searchType, polygon) + .getForestLPData(areaId, geofenceId, LATEST_PERIOD, searchType, polygon, polygonFolder) .then((data) => { if (this.mounted) { this.setState({ @@ -64,6 +64,9 @@ class ForestLossPersistence extends React.Component { message: null, }); } + if(searchType === "drawPolygon") { + switchLayer(`forestLP-${LATEST_PERIOD}`); + } }) .catch(() => { this.setState({ message: "no-data" }); diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 6a897e388..5b894e39b 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -56,11 +56,12 @@ export class ForestLossPersistenceController { areaId: string | number, latestPeriod: string, searchType: "definedArea" | "drawPolygon", - polygon: Polygon | null + polygon: Polygon | null, + polygonFolder: string, ): Promise => { if (searchType === "drawPolygon") { return biabAPI - .requestForestLPData(polygon) + .requestForestLPData(polygon, polygonFolder) .then((data) => { const periods = ["2000-2005", "2006-2010", "2011-2015", "2016-2021"]; const rawData = JSON.parse(data.files.table_pp); @@ -94,9 +95,8 @@ export class ForestLossPersistenceController { .catch(() => { throw new Error("Error getting data"); }); - } - - return SearchAPI.requestForestLP(areaType, areaId) + }else{ + return SearchAPI.requestForestLP(areaType, areaId) .then((data) => { const forestLP = data.map((item) => ({ ...item, @@ -122,6 +122,7 @@ export class ForestLossPersistenceController { .catch(() => { throw new Error("Error getting data"); }); + } }; /** From 1db3d68c5770fd59222556dc4cac01dc5b1f2866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 27 Mar 2023 12:44:31 -0500 Subject: [PATCH 445/664] Add polygon folder var to context --- src/pages/search/SearchContext.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pages/search/SearchContext.tsx b/src/pages/search/SearchContext.tsx index 01eadd28b..6310733c5 100644 --- a/src/pages/search/SearchContext.tsx +++ b/src/pages/search/SearchContext.tsx @@ -6,6 +6,7 @@ export interface SearchContextValues { geofenceId: string | number; searchType: "definedArea" | "drawPolygon"; polygon: Polygon | null; + polygonFolder: string; switchLayer(layer: string): void; handlerClickOnGraph({}): void; cancelActiveRequests(): void; @@ -16,6 +17,7 @@ const SearchContext = React.createContext({ geofenceId: "", searchType: "definedArea", polygon: null, + polygonFolder: "", switchLayer: () => {}, handlerClickOnGraph: () => {}, cancelActiveRequests: () => {}, From 641739fe8411aae802724797d934f624a94e97a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 27 Mar 2023 16:48:24 -0500 Subject: [PATCH 446/664] Load polygon layers for Forest LP --- src/pages/Search.jsx | 49 ++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 478404e49..c42f05eff 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -44,6 +44,8 @@ class Search extends Component { rasterUrls: [], searchType: "definedArea", polygon: null, + polygonBounds: null, + polygonFolder: "", drawPolygonEnabled: false, }; } @@ -599,7 +601,7 @@ class Search extends Component { styleName = "" } = options; const { selectedAreaId, selectedAreaTypeId } = this.props; - const { layers } = this.state; + const { layers, searchType } = this.state; let reqPromise = null; let layerStyle = this.featureStyle({ type: layerName }); @@ -611,12 +613,14 @@ class Search extends Component { layerStyle = this.featureStyle({ type: layerName }); break; case 'geofence': - reqPromise = () => RestAPI.requestGeofenceGeometryByArea( - selectedAreaTypeId, - selectedAreaId, - ); - if (styleName === "border") { - layerStyle = { stroke: true, color: matchColor("border")(), weight: 2, opacity: 1, fillOpacity: 0 }; + if(searchType === "definedArea"){ + reqPromise = () => RestAPI.requestGeofenceGeometryByArea( + selectedAreaTypeId, + selectedAreaId, + ); + if (styleName === "border") { + layerStyle = { stroke: true, color: matchColor("border")(), weight: 2, opacity: 1, fillOpacity: 0 }; + } } break; case 'hfCurrent': @@ -724,6 +728,7 @@ class Search extends Component { */ getRasterLayer = async (layerName) => { const { selectedAreaId, selectedAreaTypeId } = this.props; + const { searchType, polygonFolder } = this.state; let reqPromise = null; if (/coverage-*/.test(layerName)) { @@ -746,12 +751,16 @@ class Search extends Component { ); } else if (/forestLP-*/.test(layerName)) { const [, yearIni, yearEnd, category] = layerName.match(/forestLP-(\w+)-(\w+)-(\w+)/); - reqPromise = () => RestAPI.requestForestLPLayer( - selectedAreaTypeId, - selectedAreaId, - `${yearIni}-${yearEnd}`, - category, - ); + if(searchType === "drawPolygon"){ + reqPromise = () => biabAPI.requestForestLPLayer(layerName, polygonFolder); + }else{ + reqPromise = () => RestAPI.requestForestLPLayer( + selectedAreaTypeId, + selectedAreaId, + `${yearIni}-${yearEnd}`, + category, + ); + } } else if (/numberOfSpecies-*/.test(layerName)) { let group = 'total'; const selected = layerName.match(/numberOfSpecies-(\w+)/); @@ -811,6 +820,7 @@ class Search extends Component { */ setSectionLayers = (sectionName) => { const { selectedAreaId, selectedAreaTypeId } = this.props; + const { searchType, polygonBounds } = this.state; this.setState({ loadingLayer: true, layerError: false }); this.shutOffLayer(); @@ -1003,6 +1013,10 @@ class Search extends Component { if (rasterLayers.every((e) => e === null)) { this.reportDataError(); } + if (searchType === "drawPolygon") { + this.geofenceBounds = polygonBounds; + } + if (this.geofenceBounds !== null) { this.setState((prev) => ({ rasterUrls: rasterLayers @@ -1359,19 +1373,22 @@ class Search extends Component { */ loadPolygonInfo = (polygon) => { const { setHeaderNames } = this.props; - RestAPI.requestCustomPolygonData(polygon).catch(() => {}); + const polygonBounds = L.polyline(polygon.latLngs).getBounds(); this.setState(() => ({ drawPolygonEnabled: false, polygon: { coordinates: polygon.latLngs.map(coord => [coord.lat, coord.lng]), }, + polygonFolder: Math.random().toString(32).slice(2), + polygonBounds: polygonBounds, selectedAreaTypeId: null, selectedAreaId: null, searchType: "drawPolygon", layerError: false, - loadingLayer: false, + loadingLayer: true, })); setHeaderNames("Polígono", "Área Consultada"); + this.updateBounds(polygonBounds); } /** ************************************* */ @@ -1442,6 +1459,7 @@ class Search extends Component { activeLayer: { name: activeLayer, legend }, rasterUrls, polygon, + polygonFolder, drawPolygonEnabled, searchType } = this.state; @@ -1510,6 +1528,7 @@ class Search extends Component { geofenceId: selectedAreaId, searchType: searchType, polygon: polygon, + polygonFolder: polygonFolder, handlerClickOnGraph: this.clickOnGraph, switchLayer: this.switchLayer, cancelActiveRequests: this.cancelActiveRequests, From 6d2ce727786d4e10b829158f75281a3406fd4d86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 27 Mar 2023 16:56:34 -0500 Subject: [PATCH 447/664] Set temporaly folder for load mockup layers --- src/utils/biabAPI.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index 817052511..ea82c7037 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -54,6 +54,7 @@ class biabAPI { polygonFolder: string, ): { request: Promise; source: CancelTokenSource } { const source = axios.CancelToken.source(); + polygonFolder = "png_layers"; return { request: biabAPI.makeGetRequest( `output/${polygonFolder}/${layer}.png`, From 8601d2e52a908f1a38e583bef4e69ebb3a596dce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Mon, 27 Mar 2023 17:10:29 -0500 Subject: [PATCH 448/664] run prettier --- .../forest/ForestLossPersistence.tsx | 25 ++++++--- .../forest/ForestLossPersistenceController.ts | 52 ++++++++++--------- src/utils/biabAPI.ts | 9 ++-- 3 files changed, 52 insertions(+), 34 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx index 6b4e2d99a..d3de56c2a 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistence.tsx @@ -47,15 +47,28 @@ class ForestLossPersistence extends React.Component { componentDidMount() { this.mounted = true; - const { areaId, geofenceId, searchType, polygon, polygonFolder, switchLayer } = this - .context as SearchContextValues; - - if (searchType === "definedArea"){ + const { + areaId, + geofenceId, + searchType, + polygon, + polygonFolder, + switchLayer, + } = this.context as SearchContextValues; + + if (searchType === "definedArea") { switchLayer(`forestLP-${LATEST_PERIOD}`); } this.flpController - .getForestLPData(areaId, geofenceId, LATEST_PERIOD, searchType, polygon, polygonFolder) + .getForestLPData( + areaId, + geofenceId, + LATEST_PERIOD, + searchType, + polygon, + polygonFolder + ) .then((data) => { if (this.mounted) { this.setState({ @@ -64,7 +77,7 @@ class ForestLossPersistence extends React.Component { message: null, }); } - if(searchType === "drawPolygon") { + if (searchType === "drawPolygon") { switchLayer(`forestLP-${LATEST_PERIOD}`); } }) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 5b894e39b..fff5dd958 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -57,7 +57,7 @@ export class ForestLossPersistenceController { latestPeriod: string, searchType: "definedArea" | "drawPolygon", polygon: Polygon | null, - polygonFolder: string, + polygonFolder: string ): Promise => { if (searchType === "drawPolygon") { return biabAPI @@ -95,33 +95,35 @@ export class ForestLossPersistenceController { .catch(() => { throw new Error("Error getting data"); }); - }else{ + } else { return SearchAPI.requestForestLP(areaType, areaId) - .then((data) => { - const forestLP = data.map((item) => ({ - ...item, - data: item.data.map((element) => ({ - ...element, - label: ForestLossPersistenceController.getLabel(element.key), - })), - })); + .then((data) => { + const forestLP = data.map((item) => ({ + ...item, + data: item.data.map((element) => ({ + ...element, + label: ForestLossPersistenceController.getLabel(element.key), + })), + })); - const periodData = data.find((item) => item.id === latestPeriod)?.data; - const persistenceData = periodData - ? periodData.find((item) => item.key === "persistencia") - : null; - const forestPersistenceValue = persistenceData - ? persistenceData.area - : 0; + const periodData = data.find( + (item) => item.id === latestPeriod + )?.data; + const persistenceData = periodData + ? periodData.find((item) => item.key === "persistencia") + : null; + const forestPersistenceValue = persistenceData + ? persistenceData.area + : 0; - return { - forestLP, - forestPersistenceValue, - }; - }) - .catch(() => { - throw new Error("Error getting data"); - }); + return { + forestLP, + forestPersistenceValue, + }; + }) + .catch(() => { + throw new Error("Error getting data"); + }); } }; diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index ea82c7037..621a926dd 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -17,7 +17,10 @@ class biabAPI { * * @return {Promise} Array of objects with data for the forest loss and persistence */ - static requestForestLPData(polygon: Polygon | null, polygonFolder: string): Promise<{ + static requestForestLPData( + polygon: Polygon | null, + polygonFolder: string + ): Promise<{ logs: string; files: { table_pp: string; @@ -51,7 +54,7 @@ class biabAPI { static requestForestLPLayer( layer: string, - polygonFolder: string, + polygonFolder: string ): { request: Promise; source: CancelTokenSource } { const source = axios.CancelToken.source(); polygonFolder = "png_layers"; @@ -78,7 +81,7 @@ class biabAPI { */ static makeGetRequest(endpoint: string, options = {}, completeRes = false) { const config = { - ...options + ...options, }; return axios .get(`${process.env.REACT_APP_BACKEND_BIAB_URL}/${endpoint}`, config) From 291c463a7cac1d063a3612471ec25efdebed4126 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 28 Mar 2023 11:37:52 -0500 Subject: [PATCH 449/664] Update node version to 18.15 --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index bbfaef743..5d39ee0dd 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v14.15 +v18.15 From 56576df810c7b2052e075a9b67603b6fc658ec0d Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 28 Mar 2023 11:40:30 -0500 Subject: [PATCH 450/664] Update node version to 18.15 --- Dockerfile | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index aea4c6adb..e7dbd2430 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build stage -FROM node:14.15 as build +FROM node:18.15 as build LABEL maintainer="dlopez@humboldt.org.co" USER node @@ -21,7 +21,7 @@ RUN yarn install RUN yarn build # Release stage -FROM node:14.15 as release +FROM node:18.15 as release COPY --from=build /home/node/app/build ./build RUN yarn global add serve@~13.0.0 diff --git a/README.md b/README.md index 24f3cd8c9..935f08a37 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Este proyecto ha sido desarrollado por el [Instituto Humboldt](http://www.humbol ### 1.1. Prerequisitos -Debe tener instalado [nodejs](https://nodejs.org/) v14.15+ y [yarn](https://yarnpkg.com/) en su equipo local para la instalación de paquetes y ejecución del proyecto. +Debe tener instalado [nodejs](https://nodejs.org/) v18.15+ y [yarn](https://yarnpkg.com/) en su equipo local para la instalación de paquetes y ejecución del proyecto. Clone el proyecto en su equipo e ingrese por línea de comandos al directorio del proyecto. From 5983a6f771badd7747a44566b2ee13076513843e Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 28 Mar 2023 11:52:34 -0500 Subject: [PATCH 451/664] Add node-gyp dependency as it seems it is now necessary given the node version upgrade --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 5ceaf31eb..b6e38671b 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "indicators": "1.0.0", "leaflet": "1.4.0", "leaflet-draw": "^1.0.4", + "node-gyp": "~9.3.1", "prettier": "^2.7.1", "prop-types": "15.8.1", "react": "~17.0.2", From 5685afb93e835ad3525416eba25faa7f6ec08887 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 28 Mar 2023 11:58:27 -0500 Subject: [PATCH 452/664] Update yarn lock --- yarn.lock | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 9baac5462..3f68d8465 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6172,7 +6172,7 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1": +"abbrev@npm:1, abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 @@ -7345,6 +7345,7 @@ __metadata: indicators: 1.0.0 leaflet: 1.4.0 leaflet-draw: ^1.0.4 + node-gyp: ~9.3.1 prettier: ^2.7.1 prop-types: 15.8.1 react: ~17.0.2 @@ -16110,6 +16111,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:~9.3.1": + version: 9.3.1 + resolution: "node-gyp@npm:9.3.1" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^6.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: b860e9976fa645ca0789c69e25387401b4396b93c8375489b5151a6c55cf2640a3b6183c212b38625ef7c508994930b72198338e3d09b9d7ade5acc4aaf51ea7 + languageName: node + linkType: hard + "node-int64@npm:^0.4.0": version: 0.4.0 resolution: "node-int64@npm:0.4.0" @@ -16166,6 +16187,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" + dependencies: + abbrev: ^1.0.0 + bin: + nopt: bin/nopt.js + checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac + languageName: node + linkType: hard + "normalize-path@npm:^2.1.1": version: 2.1.1 resolution: "normalize-path@npm:2.1.1" From 845f6a5a1cd7091964615a13bd7a4742da431f75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erika=20Su=C3=A1rez=20Valencia?= <1734998+erikasv@users.noreply.github.com> Date: Tue, 28 Mar 2023 13:01:57 -0500 Subject: [PATCH 453/664] Remove node-gyp ad update deasync --- package.json | 1 - yarn.lock | 40 ++++------------------------------------ 2 files changed, 4 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index b6e38671b..5ceaf31eb 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,6 @@ "indicators": "1.0.0", "leaflet": "1.4.0", "leaflet-draw": "^1.0.4", - "node-gyp": "~9.3.1", "prettier": "^2.7.1", "prop-types": "15.8.1", "react": "~17.0.2", diff --git a/yarn.lock b/yarn.lock index 3f68d8465..a1027cd95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6172,7 +6172,7 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1, abbrev@npm:^1.0.0": +"abbrev@npm:1": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 @@ -7345,7 +7345,6 @@ __metadata: indicators: 1.0.0 leaflet: 1.4.0 leaflet-draw: ^1.0.4 - node-gyp: ~9.3.1 prettier: ^2.7.1 prop-types: 15.8.1 react: ~17.0.2 @@ -9608,12 +9607,12 @@ __metadata: linkType: hard "deasync@npm:^0.1.14": - version: 0.1.27 - resolution: "deasync@npm:0.1.27" + version: 0.1.28 + resolution: "deasync@npm:0.1.28" dependencies: bindings: ^1.5.0 node-addon-api: ^1.7.1 - checksum: 2a3629f36e2e9d9a26622c68dbaf96a9034805ed4cedc7d0b73ea05121113be257f118a13353606a859f625123d32f695702cb6db8bbfe661869ef884f7e5ec9 + checksum: e0c1ef427875c897e0d903a08410df1d0a3dfd0d2a0a1e43fb6c2824dfbc504b810bd08a0d30653117259316e1aa65409c96dbed40101c934f75bac7499e1265 languageName: node linkType: hard @@ -16111,26 +16110,6 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:~9.3.1": - version: 9.3.1 - resolution: "node-gyp@npm:9.3.1" - dependencies: - env-paths: ^2.2.0 - glob: ^7.1.4 - graceful-fs: ^4.2.6 - make-fetch-happen: ^10.0.3 - nopt: ^6.0.0 - npmlog: ^6.0.0 - rimraf: ^3.0.2 - semver: ^7.3.5 - tar: ^6.1.2 - which: ^2.0.2 - bin: - node-gyp: bin/node-gyp.js - checksum: b860e9976fa645ca0789c69e25387401b4396b93c8375489b5151a6c55cf2640a3b6183c212b38625ef7c508994930b72198338e3d09b9d7ade5acc4aaf51ea7 - languageName: node - linkType: hard - "node-int64@npm:^0.4.0": version: 0.4.0 resolution: "node-int64@npm:0.4.0" @@ -16187,17 +16166,6 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^6.0.0": - version: 6.0.0 - resolution: "nopt@npm:6.0.0" - dependencies: - abbrev: ^1.0.0 - bin: - nopt: bin/nopt.js - checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac - languageName: node - linkType: hard - "normalize-path@npm:^2.1.1": version: 2.1.1 resolution: "normalize-path@npm:2.1.1" From ef0a67797155a5cce7effda144199abb60de546c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 28 Mar 2023 14:08:44 -0500 Subject: [PATCH 454/664] Add TODO about temporal mockup folder --- src/utils/biabAPI.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/biabAPI.ts b/src/utils/biabAPI.ts index 621a926dd..4fa754853 100644 --- a/src/utils/biabAPI.ts +++ b/src/utils/biabAPI.ts @@ -57,6 +57,7 @@ class biabAPI { polygonFolder: string ): { request: Promise; source: CancelTokenSource } { const source = axios.CancelToken.source(); + // TODO Remove the following line once LP script generates the layers in png format polygonFolder = "png_layers"; return { request: biabAPI.makeGetRequest( From e0b059564c8248c3da82e04e1ead8d711dff5f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 28 Mar 2023 16:08:14 -0500 Subject: [PATCH 455/664] Improve the condition for promises in raster layer loading --- src/pages/Search.jsx | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index c42f05eff..c049841f0 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -613,14 +613,12 @@ class Search extends Component { layerStyle = this.featureStyle({ type: layerName }); break; case 'geofence': - if(searchType === "definedArea"){ - reqPromise = () => RestAPI.requestGeofenceGeometryByArea( - selectedAreaTypeId, - selectedAreaId, - ); - if (styleName === "border") { - layerStyle = { stroke: true, color: matchColor("border")(), weight: 2, opacity: 1, fillOpacity: 0 }; - } + reqPromise = () => RestAPI.requestGeofenceGeometryByArea( + selectedAreaTypeId, + selectedAreaId, + ); + if (styleName === "border") { + layerStyle = { stroke: true, color: matchColor("border")(), weight: 2, opacity: 1, fillOpacity: 0 }; } break; case 'hfCurrent': @@ -751,9 +749,9 @@ class Search extends Component { ); } else if (/forestLP-*/.test(layerName)) { const [, yearIni, yearEnd, category] = layerName.match(/forestLP-(\w+)-(\w+)-(\w+)/); - if(searchType === "drawPolygon"){ + if (searchType === "drawPolygon") { reqPromise = () => biabAPI.requestForestLPLayer(layerName, polygonFolder); - }else{ + } else { reqPromise = () => RestAPI.requestForestLPLayer( selectedAreaTypeId, selectedAreaId, @@ -1003,7 +1001,7 @@ class Search extends Component { const loadingProm = []; if (rasterLayerOpts.length > 0) { const rasterProm = Promise.all([ - this.getShapeLayer('geofence', { isActive: false }), + searchType==="definedArea" ? this.getShapeLayer('geofence', { isActive: false }) : Promise.resolve(null), ...rasterLayerOpts.map((info) => this.getRasterLayer(info.id)), ]) .then(([, ...rasterLayers]) => { From 6ab3759b186dacf6e53d3ac5b66ea8c496ca22ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20G=C3=A1lvez?= Date: Tue, 28 Mar 2023 17:24:53 -0500 Subject: [PATCH 456/664] Improve the condition for promises in raster layer loading --- src/pages/Search.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index c049841f0..db9f12c20 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -601,7 +601,7 @@ class Search extends Component { styleName = "" } = options; const { selectedAreaId, selectedAreaTypeId } = this.props; - const { layers, searchType } = this.state; + const { layers } = this.state; let reqPromise = null; let layerStyle = this.featureStyle({ type: layerName }); From ee4d0f4b3776d8f71c6bb3bcb8168653de58a468 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Tue, 28 Mar 2023 21:32:39 -0500 Subject: [PATCH 457/664] Some improvements related to way of handle the current periods --- .../forest/ForestLossPersistenceController.ts | 70 +++++++++++-------- src/pages/search/types/forest.ts | 9 +++ 2 files changed, 49 insertions(+), 30 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index fff5dd958..9313dcc55 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -4,7 +4,7 @@ import { } from "pages/search/shared_components/charts/SmallBars"; import SearchAPI from "utils/searchAPI"; import biabAPI from "utils/biabAPI"; -import { ForestLPExt } from "pages/search/types/forest"; +import { ForestLPExt, ForestLPRawDataPolygon } from "pages/search/types/forest"; import { textsObject } from "pages/search/types/texts"; import formatNumber from "utils/format"; import { SmallBarTooltip } from "pages/search/types/charts"; @@ -15,6 +15,22 @@ interface ForestLPData { forestPersistenceValue: number; } +/* interface ForestLPRawDataPolygon { + layer: string; + value: number; + key: typeof ForestLPKeys[number]; + period: string; + area: number; + percentage: number; +} + +const ForestLPKeys = [ + "persistencia", + "perdida", + "ganancia", + "no_bosque", +] as const; */ + export class ForestLossPersistenceController { constructor() {} @@ -63,33 +79,31 @@ export class ForestLossPersistenceController { return biabAPI .requestForestLPData(polygon, polygonFolder) .then((data) => { - const periods = ["2000-2005", "2006-2010", "2011-2015", "2016-2021"]; - const rawData = JSON.parse(data.files.table_pp); + const rawData: Array = JSON.parse( + data.files.table_pp + ); + const periods: Array = [ + ...new Set(rawData.map((item: { period: string }) => item.period)), + ]; const forestLP: Array = periods.map((period) => ({ id: period, data: rawData .filter((d: { period: string }) => d.period === period) - .map( - (o: { - area: number; - key: string; - percentage: number; - label: string; - }) => ({ - area: o.area, - key: o.key, - percentage: o.percentage, - label: ForestLossPersistenceController.getLabel(o.key), - }) - ), + .map((o) => ({ + area: o.area, + key: o.key, + percentage: o.percentage, + label: ForestLossPersistenceController.getLabel(o.key), + })), })); - const periodData = rawData.find( - (item: { period: string; key: string }) => - item.period === latestPeriod && item.key === "persistencia" - ).area; + const forestPersistenceValue = + rawData.find( + ({ period, key }) => + period === latestPeriod && key === "persistencia" + )?.area ?? 0; return { forestLP, - forestPersistenceValue: periodData ? periodData : 0, + forestPersistenceValue, }; }) .catch(() => { @@ -106,15 +120,11 @@ export class ForestLossPersistenceController { })), })); - const periodData = data.find( - (item) => item.id === latestPeriod - )?.data; - const persistenceData = periodData - ? periodData.find((item) => item.key === "persistencia") - : null; - const forestPersistenceValue = persistenceData - ? persistenceData.area - : 0; + const periodData = data.find(({ id }) => id === latestPeriod)?.data; + const persistenceData = periodData?.find( + ({ key }) => key === "persistencia" + ); + const forestPersistenceValue = persistenceData?.area ?? 0; return { forestLP, diff --git a/src/pages/search/types/forest.ts b/src/pages/search/types/forest.ts index 89035fc03..decad5d15 100644 --- a/src/pages/search/types/forest.ts +++ b/src/pages/search/types/forest.ts @@ -33,3 +33,12 @@ export interface ForestLPExt { label: string; }>; } + +export interface ForestLPRawDataPolygon { + layer: string; + value: number; + key: typeof ForestLPKeys[number]; + period: string; + area: number; + percentage: number; +} From 7b5bafee3df05f3bd2b37016b2ed18f7ca547c04 Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Wed, 29 Mar 2023 10:27:40 -0500 Subject: [PATCH 458/664] Delete comments --- .../forest/ForestLossPersistenceController.ts | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts index 9313dcc55..d6e4d0b2e 100644 --- a/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts +++ b/src/pages/search/drawer/landscape/forest/ForestLossPersistenceController.ts @@ -15,22 +15,6 @@ interface ForestLPData { forestPersistenceValue: number; } -/* interface ForestLPRawDataPolygon { - layer: string; - value: number; - key: typeof ForestLPKeys[number]; - period: string; - area: number; - percentage: number; -} - -const ForestLPKeys = [ - "persistencia", - "perdida", - "ganancia", - "no_bosque", -] as const; */ - export class ForestLossPersistenceController { constructor() {} From d65c75500723fc80cb3ba4aa8615116b52bff76b Mon Sep 17 00:00:00 2001 From: Camilo Zapata Date: Thu, 30 Mar 2023 21:37:12 -0500 Subject: [PATCH 459/664] Set a new state to handle error connection modal and join functions to report connection error to make the logic reusable for future backends --- src/pages/Search.jsx | 55 ++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/src/pages/Search.jsx b/src/pages/Search.jsx index 478404e49..66d88098f 100644 --- a/src/pages/Search.jsx +++ b/src/pages/Search.jsx @@ -45,6 +45,7 @@ class Search extends Component { searchType: "definedArea", polygon: null, drawPolygonEnabled: false, + openErrorModal: false, }; } @@ -149,19 +150,7 @@ class Search extends Component { } }); }) - .catch(() => this.reportConnErrorDefAreas()); - } - - /** - * Report a connection error from backend associated to defined areas - */ - reportConnErrorDefAreas = () => { - this.setState(prevState => ({ - connErrors: { - ...prevState.connErrors, - defAreas: true, - } - })); + .catch(() => this.reportConnError('defAreas')); } /** @@ -169,20 +158,26 @@ class Search extends Component { */ checkPolygonConn = () => { biabAPI.requestScriptList() - .catch(() => this.reportConnErrorPolygon()); + .catch(() => this.reportConnError('polygon')); } /** - * Report a connection error from backend associated to draw polygon + * Report a connection error from a given backend and validate whether display the modal + * @param {string} errorType - The type of connection error */ - reportConnErrorPolygon = () => { - this.setState(prevState => ({ - connErrors: { + reportConnError = (errorType) => { + this.setState(prevState => { + const connErrors = { ...prevState.connErrors, - polygon: true, - } - })); - } + [errorType]: true, + }; + const openErrorModal = Object.values(connErrors).every(error => error === true); + return { + connErrors, + openErrorModal, + }; + }); + }; /** * Report dataset error from one of the child components @@ -1424,12 +1419,11 @@ class Search extends Component { } /** - * Close a given modal + * Close the modal of connection error to any of the backends * - * @param {String} state state value that controls the modal you want to close */ - handleCloseModal = (state) => () => { - this.setState({ [state]: false }); + handleCloseModal = () => { + this.setState({ openErrorModal: false }); }; render() { @@ -1443,7 +1437,8 @@ class Search extends Component { rasterUrls, polygon, drawPolygonEnabled, - searchType + searchType, + openErrorModal } = this.state; const { @@ -1484,8 +1479,8 @@ class Search extends Component {
    @@ -1497,7 +1492,7 @@ class Search extends Component {