From e9942cfff62592b7ce14b0367a09704cb7cbe9ce Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Sat, 25 Jul 2026 17:38:06 -0300 Subject: [PATCH 01/26] chore: add extract scripts and fix dependencies --- package.json | 4 +- packages/desktop/package.json | 3 +- packages/mobile/package.json | 3 +- packages/responses/package.json | 3 +- packages/services/package.json | 3 +- packages/snjs/package.json | 3 +- packages/ui-services/package.json | 3 +- packages/web/package.json | 3 +- yarn.lock | 2707 ++++++++++++++++++++++++++++- 9 files changed, 2681 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index 7e3c91cfaab..1662e82644a 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,8 @@ "changelog:json": "node scripts/ChangelogToJson.js && git add .", "postversion": "./scripts/push-tags-one-by-one.sh", "workspace:list": " yarn lerna list -all", - "upgrade:snjs": "ncu -u '@standardnotes/*' && yarn workspaces foreach --verbose run upgrade:snjs" + "upgrade:snjs": "ncu -u '@standardnotes/*' && yarn workspaces foreach --verbose run upgrade:snjs", + "i18n:extract": "yarn workspace @standardnotes/web i18n:extract && yarn workspace @standardnotes/desktop i18n:extract && yarn workspace @standardnotes/mobile i18n:extract && echo 'translations extracted'" }, "resolutions": { "@types/styled-components/@types/react": "17.0.2", @@ -70,6 +71,7 @@ "npm-check-updates": "^16.10.17", "prettier": "3.0.0", "sass-loader": "^13.3.2", + "ttag-cli": "^1.11.2", "typescript": "5.8.3", "webpack": "^5.88.2", "webpack-cli": "^5.1.4", diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 556aba4f58c..0ad363224ec 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -29,7 +29,8 @@ "start": "electron ./app --enable-logging --icon _icon/icon.png", "ava": "rimraf test/data/tmp && ava --serial", "rebuild:keytar": "yarn app/node_modules/keytar build ", - "rebuild:home-server": "electron-rebuild -f -w @standardnotes/home-server -m ./app" + "rebuild:home-server": "electron-rebuild -f -w @standardnotes/home-server -m ./app", + "i18n:extract": "echo 'ttag: extract desktop'; mkdir -p po && ttag extract app/javascripts -o po/template.pot" }, "installConfig": { "hoistingLimits": "workspaces" diff --git a/packages/mobile/package.json b/packages/mobile/package.json index 4b37437abe2..7ee79655ea8 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -22,7 +22,8 @@ "start": "react-native start", "tsc": "tsc --noEmit", "upgrade:snjs": "ncu -u '@standardnotes/*'", - "bundle:web": "mkdir -p html/Web.bundle/src/web-src/ && cp -r ../web/dist/. html/Web.bundle/src/web-src/" + "bundle:web": "mkdir -p html/Web.bundle/src/web-src/ && cp -r ../web/dist/. html/Web.bundle/src/web-src/", + "i18n:extract": "echo 'ttag: extract mobile'; mkdir -p po && ttag extract src -o po/template.pot" }, "installConfig": { "hoistingLimits": "workspaces" diff --git a/packages/responses/package.json b/packages/responses/package.json index c85d1ea3845..09ad89c7f2b 100644 --- a/packages/responses/package.json +++ b/packages/responses/package.json @@ -35,6 +35,7 @@ "dependencies": { "@standardnotes/common": "^1.50.0", "@standardnotes/features": "workspace:*", - "reflect-metadata": "^0.1.13" + "reflect-metadata": "^0.1.13", + "ttag": "^1.8.12" } } diff --git a/packages/services/package.json b/packages/services/package.json index f14d30ea0ef..269702394e4 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -26,7 +26,8 @@ "@standardnotes/responses": "workspace:*", "@standardnotes/sncrypto-common": "workspace:^", "@standardnotes/utils": "workspace:*", - "reflect-metadata": "^0.1.13" + "reflect-metadata": "^0.1.13", + "ttag": "^1.8.12" }, "devDependencies": { "@types/jest": "^29.2.3", diff --git a/packages/snjs/package.json b/packages/snjs/package.json index 9ec0e5112fc..35434e7f529 100644 --- a/packages/snjs/package.json +++ b/packages/snjs/package.json @@ -91,6 +91,7 @@ }, "dependencies": { "connect": "^3.7.0", - "serve-static": "^1.15.0" + "serve-static": "^1.15.0", + "ttag": "^1.8.12" } } diff --git a/packages/ui-services/package.json b/packages/ui-services/package.json index f5966ff0edc..936a5876b28 100644 --- a/packages/ui-services/package.json +++ b/packages/ui-services/package.json @@ -25,7 +25,8 @@ "@standardnotes/toast": "workspace:^", "@standardnotes/utils": "workspace:^", "mobx": "^6.8.0", - "mobx-react-lite": "^3.4.2" + "mobx-react-lite": "^3.4.2", + "ttag": "^1.8.12" }, "devDependencies": { "@types/jest": "^29.2.3", diff --git a/packages/web/package.json b/packages/web/package.json index c3725006229..ffdad01efe1 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -20,7 +20,8 @@ "tsc": "tsc --project tsconfig.json", "upgrade:snjs": "ncu -u '@standardnotes/*'", "watch": "webpack -w --config web.webpack.dev.js", - "copy:components": "node scripts/CopyComponents.mjs" + "copy:components": "node scripts/CopyComponents.mjs", + "i18n:extract": "echo 'ttag: extract web'; mkdir -p po && ttag extract src/javascripts ../services/src ../ui-services/src ../responses/src ../snjs/lib -o po/template.pot" }, "devDependencies": { "@babel/core": "*", diff --git a/yarn.lock b/yarn.lock index e6b3de8a41b..987c808b2fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -966,6 +966,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" + dependencies: + "@babel/helper-validator-identifier": ^7.29.7 + js-tokens: ^4.0.0 + picocolors: ^1.1.1 + checksum: 21b12fe2356e36f6cc3cd8a3721f878bfeea80ce38356979a0518b47b3aafdcc0bd263da75ccc9d51c64d40b1b6df00e768ce2446acb0b7cbec0ae8f905663ad + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": version: 7.22.9 resolution: "@babel/compat-data@npm:7.22.9" @@ -980,6 +991,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/compat-data@npm:7.29.7" + checksum: 4424f8fb72f61657c8e811bdf7e5c69af212a15fe362711162b2e00b82f0e0588fb8259ecd9a70c5490562bf51d408b0cb92f277ead71a2390ddddfe7283b35d + languageName: node + linkType: hard + "@babel/core@npm:*, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.19.6, @babel/core@npm:^7.22.9": version: 7.22.9 resolution: "@babel/core@npm:7.22.9" @@ -1026,6 +1044,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.29.0": + version: 7.29.7 + resolution: "@babel/core@npm:7.29.7" + dependencies: + "@babel/code-frame": ^7.29.7 + "@babel/generator": ^7.29.7 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helpers": ^7.29.7 + "@babel/parser": ^7.29.7 + "@babel/template": ^7.29.7 + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + "@jridgewell/remapping": ^2.3.5 + convert-source-map: ^2.0.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.3 + semver: ^6.3.1 + checksum: 95149e98ffde5b9d903459c284fbcf1f9ad8b3a833d69fdfe1aa7185821a102af1925324fe2892caf4b643b151c1dc948510d1e25a5e3c6c6c6f17f6712eb38e + languageName: node + linkType: hard + "@babel/eslint-parser@npm:^7.25.1": version: 7.27.0 resolution: "@babel/eslint-parser@npm:7.27.0" @@ -1040,6 +1081,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.12.5, @babel/generator@npm:^7.29.1, @babel/generator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/generator@npm:7.29.7" + dependencies: + "@babel/parser": ^7.29.7 + "@babel/types": ^7.29.7 + "@jridgewell/gen-mapping": ^0.3.12 + "@jridgewell/trace-mapping": ^0.3.28 + jsesc: ^3.0.2 + checksum: 6bb8f4dc0641dca19e81f5daab37ed1a1f5a78e4d702eb79a4275739f773975134e250090c182cf1eea35d9bd65e634b9d9babf66600ffdcf8ac62fa40f3b980 + languageName: node + linkType: hard + "@babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.7.2": version: 7.22.9 resolution: "@babel/generator@npm:7.22.9" @@ -1083,6 +1137,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-annotate-as-pure@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.29.7" + dependencies: + "@babel/types": ^7.29.7 + checksum: acd9e128de634a5144b5d622357d018fa616de45f64c74e42007c048dd15d0a0be213f4d5a2bf02307bdaddf053791b87900a99d183de828c08dc3b556329009 + languageName: node + linkType: hard + "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.5" @@ -1120,6 +1183,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.28.6, @babel/helper-compilation-targets@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-compilation-targets@npm:7.29.7" + dependencies: + "@babel/compat-data": ^7.29.7 + "@babel/helper-validator-option": ^7.29.7 + browserslist: ^4.24.0 + lru-cache: ^5.1.1 + semver: ^6.3.1 + checksum: f60a943937f4eba0e671aa28551cb45569fd081c1e30a52ede167860475dc0417f3dbdf2a0fa3f086965595c7070aa76308da60cc0319860de05db4ed2a431f7 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.5, @babel/helper-create-class-features-plugin@npm:^7.22.9": version: 7.22.9 resolution: "@babel/helper-create-class-features-plugin@npm:7.22.9" @@ -1156,6 +1232,23 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-create-class-features-plugin@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-member-expression-to-functions": ^7.29.7 + "@babel/helper-optimise-call-expression": ^7.29.7 + "@babel/helper-replace-supers": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + "@babel/traverse": ^7.29.7 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: c954e4bfe423a277cdcbad64344637cf696ddcd80085fce5f284b02a0c700af0d2d7b61468a06d9e296e948de60ece138921b65564aec023a9d9594f5d9fe18d + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": version: 7.22.9 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.9" @@ -1182,6 +1275,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-regexp-features-plugin@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + regexpu-core: ^6.3.1 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 702a34db6c064a2c26675b717b3af88b8acaeb5341e2285792a873a67a16ec4cbe987ba72e055db198b2e03ead05600d8c9c0c1e7436708e95865bbfb3516026 + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.4.2": version: 0.4.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.4.2" @@ -1212,6 +1318,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-define-polyfill-provider@npm:^0.6.8": + version: 0.6.8 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.8" + dependencies: + "@babel/helper-compilation-targets": ^7.28.6 + "@babel/helper-plugin-utils": ^7.28.6 + debug: ^4.4.3 + lodash.debounce: ^4.0.8 + resolve: ^1.22.11 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 39fef64ade79253836320c7826895d948ab5e8e21479cf29f5d6bb5284126693ca537b6ace9d9b7b515a8be66bd4a8a7d7687f9b25b7574a52dae7790fcd3a4e + languageName: node + linkType: hard + "@babel/helper-environment-visitor@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-environment-visitor@npm:7.22.5" @@ -1229,6 +1350,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-globals@npm:7.29.7" + checksum: 6deaf9846a415c7f110ac153e8c3d81e3543c9b685aa9fd9a59b4235f402e2b760129d3df49466daea9162f0cf73ff98a0ec7f180448a3449ca14ae5e1117b42 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-hoist-variables@npm:7.22.5" @@ -1257,6 +1385,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-member-expression-to-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-member-expression-to-functions@npm:7.29.7" + dependencies: + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: 79d5f095b4bafadff3d1ec316d9f17ec85940fece957db62dd523b08e142da73c53180d1bce2fdc4d523e3889bb01b39bea70ad968b6e2f4dbdc66ebd1055b8a + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-module-imports@npm:7.22.5" @@ -1276,6 +1414,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-imports@npm:7.29.7" + dependencies: + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: ad5a768fc9c162620b7f5b7645c6c2efee1e6f9df432bb79651888661a7e4cd91dac7192f3ddcfd6de4778a089e9fb30fafae768156aa73a07eeca425f64e849 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": version: 7.22.9 resolution: "@babel/helper-module-transforms@npm:7.22.9" @@ -1304,6 +1452,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-transforms@npm:7.29.7" + dependencies: + "@babel/helper-module-imports": ^7.29.7 + "@babel/helper-validator-identifier": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 484f6d02975d304f680d44e331d4b832d67e51917483985eab7b853664452b5a627366e7a9d421200ec772a123213a591e28b40636566afeac189411ba3f45a8 + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" @@ -1322,6 +1483,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-optimise-call-expression@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-optimise-call-expression@npm:7.29.7" + dependencies: + "@babel/types": ^7.29.7 + checksum: 6b477e01b403fd48349336cb1d94722bff4fa54af2841b5fa950c557b796f4ecc14724052252ed1362ccfc23d1c09c54dc03e182fea59d3dc5bd69f8c626ba25 + 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.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.22.5 resolution: "@babel/helper-plugin-utils@npm:7.22.5" @@ -1343,6 +1513,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-plugin-utils@npm:7.29.7" + checksum: b0a183abcc6670afa4861425fa428217d8ebadce062d5b43117919e8715f820080fd63bbfcf0e43c6e0e7d21a96b21f635c46dda80bdb0ce7e8a762ebee1d8d9 + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.22.5": version: 7.22.9 resolution: "@babel/helper-remap-async-to-generator@npm:7.22.9" @@ -1369,6 +1546,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-remap-async-to-generator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-remap-async-to-generator@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-wrap-function": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 98338ad6e34ebb4be2dc23f8d9199d28d6d8ac6a2ce8b90fe9efdf3595b39748321528d9f2540ec0586a6e45f7c84f5f623fbf980c5efa7fa9ba7ce837ea4b20 + languageName: node + linkType: hard + "@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9": version: 7.22.9 resolution: "@babel/helper-replace-supers@npm:7.22.9" @@ -1395,6 +1585,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-replace-supers@npm:7.29.7" + dependencies: + "@babel/helper-member-expression-to-functions": ^7.29.7 + "@babel/helper-optimise-call-expression": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: f7eb9a6b035d9d45250c880eb09605f95998998e828ec90759ed45764fe0abeee583419969de8b8dee551163dff914c9fc6ace90c1d819c56c23146f8df525db + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-simple-access@npm:7.22.5" @@ -1423,6 +1626,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.29.7" + dependencies: + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: a5800bfcdca6cef7f6fe33ac02a0f05ff33da9746f97806553f249733f7ba8400290a17f3831d7faa5d91656f254ab749931f53c8a29f301d958d7dd00499637 + languageName: node + linkType: hard + "@babel/helper-split-export-declaration@npm:^7.22.6": version: 7.22.6 resolution: "@babel/helper-split-export-declaration@npm:7.22.6" @@ -1453,6 +1666,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 4c229d2c2296b6c94439e87ecddf3a93cee3ffd2d4cee0b4c28079275bed3de4e02cd943e4cb06036d1d9407549c4e3423006b61a46215c482fce902ee02bc0b + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-validator-identifier@npm:7.22.5" @@ -1474,6 +1694,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: cc7779e96fe9c9478c96ca4bf04fc338b95b501aa5abe78178307dea282d4a5dc23d443efb12dde8e8c5636d03dd00e443532e6ed7f15fa7977349af1f87ba4d + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-validator-option@npm:7.22.5" @@ -1488,6 +1715,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-option@npm:7.29.7" + checksum: aeb6aa966f59300d3cc2fea7c68e1dfd7ad011fc10e535c8e2b2de3094b27c859428dc7220f16420350f8b1cde99da120b673be04bcb0c2f37b56258c96bed58 + languageName: node + linkType: hard + "@babel/helper-wrap-function@npm:^7.22.9": version: 7.22.9 resolution: "@babel/helper-wrap-function@npm:7.22.9" @@ -1510,6 +1744,17 @@ __metadata: languageName: node linkType: hard +"@babel/helper-wrap-function@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-wrap-function@npm:7.29.7" + dependencies: + "@babel/template": ^7.29.7 + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: 2e6dfca94a10a3672a6b0ff337c80f27d7c66f3ea110969e833529a2d5bfbb5e53ab40abf6fad4657b8f810fcab2e3d56998f8da89bfe82a58267c5e8bc06e9a + languageName: node + linkType: hard + "@babel/helpers@npm:^7.22.6": version: 7.22.6 resolution: "@babel/helpers@npm:7.22.6" @@ -1531,6 +1776,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helpers@npm:7.29.7" + dependencies: + "@babel/template": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: b5c4ed0ce5983c5599cd01b3948444b77ba2fa47bf6282a82afdcbe45eb8cc5b7986194e3920ef2760f533c6a775504e6b00a66960c0a3bc52909920b8433908 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.22.5": version: 7.22.5 resolution: "@babel/highlight@npm:7.22.5" @@ -1585,6 +1840,40 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/parser@npm:7.29.7" + dependencies: + "@babel/types": ^7.29.7 + bin: + parser: ./bin/babel-parser.js + checksum: 56f4c32a371004d3becd0a960a85a3bba4ec4df73d5e202aa3fe6473328b243162c6be9a510be1c12ed1825f5ce9ff1ea5cc357298631e8acf2e5b8da9f5a961 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 83cca77d175f3e66460a004648c8a645da880d5a9db96b03abd433e05bc4357aec0418d17b05fbfecfa679438b8eb8d8adc71b8f4db86cfaf6e6b0373b39a05e + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: ad06de66ccfb19f0f04e6124d144f3fef72fa5191861b1d04bc32cab87ce43958810d9632eac5881ef991a78b33e68588e3d90e76a63d917bd5a7ff4c96618f8 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.5" @@ -1596,6 +1885,29 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2189a2a648948107c59ad3bf028e5b71a85b28c840facfead769a33c5f63ae4ec0f147e6a2e664a91a506d4405f5a8972d2ca628f3b64d03edd7620d770761fb + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: a9bd13c2600bdfcb5b35590e210bcb30f009fda9bd1556567757ea4fcb8ca247750331d6d10774d68127cae4e529bc79abd86a28fe5e2a1cc2cc00e75964ac52 + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.5" @@ -1609,6 +1921,31 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + "@babel/plugin-transform-optional-chaining": ^7.29.7 + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 76a494ec4f52a127b0208c4574a6da36f6ff5f30484306921762db549fa7d9d9183c837759eb68c0c9e5a56013aa247e6e02e02263384d2a103240353ae0ceb6 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 7a58b4b32f4c04b86160dc7900612904e2b88d42c8b89d59a89d3c343f320ad096d73fb453a2e8bf8e97c9d4af3563043bc6d1e3def53c819812cb03f3f873c8 + languageName: node + linkType: hard + "@babel/plugin-proposal-class-properties@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" @@ -1621,6 +1958,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-decorators@npm:^7.29.0": + version: 7.29.7 + resolution: "@babel/plugin-proposal-decorators@npm:7.29.7" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-syntax-decorators": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4a92b511afc80a6708c42de6e2875bd5b93f18413c6c2ee2e97af61c7a54ea3b04837ec8fcca0d92de2178d6dd0a589690bab9ff38e0053261170d38e332bd5e + languageName: node + linkType: hard + "@babel/plugin-proposal-export-default-from@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-proposal-export-default-from@npm:7.25.9" @@ -1632,6 +1982,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-export-default-from@npm:^7.27.1": + version: 7.29.7 + resolution: "@babel/plugin-proposal-export-default-from@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 373ba179cb2a1ece4facd4a984aa43808ec046d3ad75404a0b2fdd92cd6c3ab41548856c055e63b1cc4a895ae23380298e36a219c454eb4c3ac9da1475a6cbd0 + languageName: node + linkType: hard + "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": version: 7.21.0-placeholder-for-preset-env.2 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" @@ -1697,6 +2058,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-decorators@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-decorators@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a49c261fb62a00f72626937eed23a0d293d10225362163d61909c83c91cfa759a8d498b6c7a8847592437a7d14ddc28407d7b8781ec9addac6a70980d41bb22 + languageName: node + linkType: hard + "@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" @@ -1752,6 +2124,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-flow@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-flow@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3e03792bb20d4a0f2610df5d5af6c2ec8cbb5096a7576b24027eca60ac2b9e3a183d48255e4156fa94768322d82b13e77623f785ef556660de1c0efc5708e52a + languageName: node + linkType: hard + "@babel/plugin-syntax-import-assertions@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-syntax-import-assertions@npm:7.22.5" @@ -1763,6 +2146,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-assertions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a7f24858e7e833c2ee25779a355b5eff46e4bc93c98b06bda7ea0fd12faf99c4954e0f71074485512045920432790e0269aa562dd4d2085c3f8660ed1cfde8a1 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-attributes@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-syntax-import-attributes@npm:7.22.5" @@ -1774,6 +2168,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-attributes@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9f47345d09aae16b7ab52ecaf541cde3e3ae1e57e3eb2d4088e062b29dfbd67db55d42d529840557583d66121e2a98788df7a455401cc6d635c8b7700a02efc9 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" @@ -1818,6 +2223,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 84150d27c553a1d3d921354437f6725ca1d63b49514c25591bfcaaafa6ea4d6c10715b66fe7245e4ad7ab7c6cf4b6e1de7373defd3df00877ab12638170d7772 + 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" @@ -1928,6 +2344,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-typescript@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-typescript@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ef454d2a7a6209dd4255361c072c94ab1293e7ad4b06e7e744d08bb308065d4d6544964eae9b2357c3b33d8d939f9e32d4aa95905bc464407cd8f7101dee4443 + languageName: node + linkType: hard + "@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" @@ -1962,6 +2389,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-arrow-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0037fd7563c7c91cddb8ce104e270bc260190d29c7a297df65e4306471010b4343366de13fab4602cf8ee6c672d3b313b34a01b62f27a333cad16908c83368d8 + languageName: node + linkType: hard + "@babel/plugin-transform-async-generator-functions@npm:^7.22.7": version: 7.22.7 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.22.7" @@ -1989,6 +2427,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-generator-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-remap-async-to-generator": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d8239f43b4051b12cd7a5581367bd2b13ac26235da39d79f182999879f010124341ac500f480140b0961a62ec451a0a963b421c509f9c1a306c313f10fc60451 + languageName: node + linkType: hard + "@babel/plugin-transform-async-to-generator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5" @@ -2015,6 +2466,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-to-generator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.29.7" + dependencies: + "@babel/helper-module-imports": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-remap-async-to-generator": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e24db9c4c69121daab25883f9a96e6849fa664c78c6bbcfb77fe0a0c6ab29b81ba39e8497985367463d3a88deac3b5bbe15dd1c5d0e5dd492cfccf8efdd27452 + languageName: node + linkType: hard + "@babel/plugin-transform-block-scoped-functions@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5" @@ -2026,6 +2490,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoped-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 24f9712ade98061cd22088709b86b8e3e19ea416dbe5a69ad504fc3f8f2179af5bdeb32fcb9c24fc861bef515e41ae5ef72cd909e0e42bb0cf15838c4e737149 + languageName: node + linkType: hard + "@babel/plugin-transform-block-scoping@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-block-scoping@npm:7.22.5" @@ -2048,6 +2523,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoping@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-block-scoping@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a17c02f8dfcaf2c26c0c323aaa8e3a1616f2de3ea0a4947e16789bb64cb0f177deff388eb1390c100c82d7e6fecd4d583646bb9305fb3df3ca824b1bdbebdc8e + languageName: node + linkType: hard + "@babel/plugin-transform-class-properties@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-class-properties@npm:7.22.5" @@ -2072,6 +2558,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-properties@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-class-properties@npm:7.29.7" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0cc5e7a882e29eead360f02ef79f6b2ec3b3813213b1513d8fdaa931d1d1361fccc92fbacc9b399e42495953d9d6fc722f283b5f3aa272fe016a0b5fe1e6a130 + languageName: node + linkType: hard + "@babel/plugin-transform-class-static-block@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-class-static-block@npm:7.22.5" @@ -2085,6 +2583,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-static-block@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-class-static-block@npm:7.29.7" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.12.0 + checksum: fe94eb94d8417de753a26f06a3c50780cdfc3f07e10bcd09dde2fe61dcd9a2714b83b1b2d36733328a3ad09b02e84fa06197f757644ffbcca1673e87c64ecb76 + languageName: node + linkType: hard + "@babel/plugin-transform-classes@npm:^7.22.6": version: 7.22.6 resolution: "@babel/plugin-transform-classes@npm:7.22.6" @@ -2120,6 +2630,22 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-classes@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-classes@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-globals": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-replace-supers": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: cc45ff5b5b063339131cd701266af90506db8640e56494de0c78f882da6317f057951bf6507c5b48a0278cf5dad21691baf2af05e24b8c26b0725d677088edbf + languageName: node + linkType: hard + "@babel/plugin-transform-computed-properties@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5" @@ -2144,14 +2670,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-destructuring@npm:7.22.5" +"@babel/plugin-transform-computed-properties@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-computed-properties@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/template": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 76f6ea2aee1fcfa1c3791eb7a5b89703c6472650b993e8666fff0f1d6e9d737a84134edf89f63c92297f3e75064c1263219463b02dd9bc7434b6e5b9935e3f20 + checksum: ad945a48e6826c3b34f825e780ab33bf91e18c7924dd263e44bef8d8a6350636305b22af8f00793d3767482004651f4bfb9fed0c92f05c01b99ae80d79956e67 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.22.5" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 76f6ea2aee1fcfa1c3791eb7a5b89703c6472650b993e8666fff0f1d6e9d737a84134edf89f63c92297f3e75064c1263219463b02dd9bc7434b6e5b9935e3f20 languageName: node linkType: hard @@ -2166,6 +2704,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-destructuring@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-destructuring@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5f56c030beec2ae1640909eb5213fc655f0062046b28699d049cc8b00fb7d9aa1c5ba1dc1c7ee41c8bae97be778066f1f9ea2ecd8fff872a1e8f10fd3addf18c + languageName: node + linkType: hard + "@babel/plugin-transform-dotall-regex@npm:^7.22.5, @babel/plugin-transform-dotall-regex@npm:^7.4.4": version: 7.22.5 resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5" @@ -2178,6 +2728,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-dotall-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.29.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 537df0fb915a420df715a2f4da16ab6c08ce2370521edef9a8a59af23a533314109f6abd836c5e127c8cea4a46bc4a05692670cf7ad64868c286075fa2d7848c + languageName: node + linkType: hard + "@babel/plugin-transform-duplicate-keys@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5" @@ -2189,6 +2751,29 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-keys@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 39bf312a798792e361d2afa9e900eb7d7fd853239a776912bafc5bb3799886374d54a0882d21517296086abdd3e5458405f6f3a7da5dcb493bc86c5a32576bab + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: fa7fcdbede10dbc06fe4f861e90286f7f599d3f3c43e69445e63c3f48422fd34db0b0dd9bbebccd1dbd04a50fca4ab22fd82d28e7bc8fe9b6d5790c9e694d380 + languageName: node + linkType: hard + "@babel/plugin-transform-dynamic-import@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-dynamic-import@npm:7.22.5" @@ -2201,6 +2786,29 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-dynamic-import@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 58c035e6b9103c225f3d181671d9b3dec140351c3ecf12bc3a66b8653be41161f20135ada00a703244c2bfc9dd57b62fc54f77f2f6fe43df6c598358f377e6fa + languageName: node + linkType: hard + +"@babel/plugin-transform-explicit-resource-management@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-transform-destructuring": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 28ff30f46d97b91ba5f57ae63499a489fa1ec3dcc427ec851c2aacb34106b573c58eba4be000bc4c28223ba767cfadc008cdfa9f833ed12996e2f014e0a06373 + languageName: node + linkType: hard + "@babel/plugin-transform-exponentiation-operator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5" @@ -2213,6 +2821,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-exponentiation-operator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bf0366d77d318d4b6eae6880217e3fdfcb6e5f7913f658583de9537fd4fca1f05f9ac4083d8f946a84eaefec068cbba948be90f4a39484c85bc69082def3162d + languageName: node + linkType: hard + "@babel/plugin-transform-export-namespace-from@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.22.5" @@ -2225,6 +2844,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-export-namespace-from@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d157d62b144d1626b801e557dcede914db33e78f3f4230f487e5709c21efd40648f7f3a47a44a7fce694ad9cd117d2ac3ed796da0102275fd02b4fdb317d906b + languageName: node + linkType: hard + "@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.25.9": version: 7.26.5 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.26.5" @@ -2237,6 +2867,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-flow-strip-types@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-syntax-flow": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bc6e94f5398bb512b1a1d7a2bfb36dff9dd7d5150a3644e2ff4f361512b6be3c6a164828263fedbbc9eaa0015617b6c4e0e347117a0ae02acc184215cc27a6c2 + languageName: node + linkType: hard + "@babel/plugin-transform-for-of@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-for-of@npm:7.22.5" @@ -2260,6 +2902,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-for-of@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-for-of@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7641d5eb4ef268df2f7d8736691a565646f42c55fdc2c86a65ed027276415a19ac6cafab2fc386621894c5d3202baacc9f222424bda37fa2ab9a20d7fec921f9 + languageName: node + linkType: hard + "@babel/plugin-transform-function-name@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-function-name@npm:7.22.5" @@ -2286,6 +2940,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-function-name@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-function-name@npm:7.29.7" + dependencies: + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 87a6329442ef8085fbc160e659f64562f0f5b63be65403b8bbb8e18c67dd7d03b82fb2e1371fdde734e2f05b13a72f88ed8d8cb03807150063954b9604d082cf + languageName: node + linkType: hard + "@babel/plugin-transform-json-strings@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-json-strings@npm:7.22.5" @@ -2298,6 +2965,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-json-strings@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-json-strings@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3af97e144e0d986522f01803ffa0f90741530d1610952ac6a92511c356ecbf5616092ab1d21401d25bc7cb8ac90d73c2c7ff35e41766df2708c29d7e588cfa7f + languageName: node + linkType: hard + "@babel/plugin-transform-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-literals@npm:7.22.5" @@ -2320,6 +2998,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-literals@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: aadb2b3fe85186c274a07d5486aeef9496ce374e534fbc7b54f77985c75513422d9acec4c532f67b027e939644d93a69c00505b8909e259184c3ee5c5c62c46b + languageName: node + linkType: hard + "@babel/plugin-transform-logical-assignment-operators@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.22.5" @@ -2343,6 +3032,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-logical-assignment-operators@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 374d83dfbb2de5e339d2966487c0f0d766cd67422addbd0172104ff2788b60317858172a7ab2cb6ee7d5bffad72ce07120fec009a2ef3b35551013fce4908686 + languageName: node + linkType: hard + "@babel/plugin-transform-member-expression-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5" @@ -2354,6 +3054,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-member-expression-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 698cbc9500e8caea1d36b48248112d60e023cea9d0772ac1ecf1639b38b662d9352043747dbe617fe1f6f17709bc17601534f7bf2f22c791fb86f7e2ab43e39f + languageName: node + linkType: hard + "@babel/plugin-transform-modules-amd@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-amd@npm:7.22.5" @@ -2366,6 +3077,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-amd@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-modules-amd@npm:7.29.7" + dependencies: + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6fce7d329230e3be0389b1135b6ffa1224c3f060294409137c5bb7f26d81ac47b6d91651deaef93b17f5e6f99e5ca7edb80b6b855b562b65ad00b3d7f717da40 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-commonjs@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.22.5" @@ -2391,6 +3114,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-commonjs@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.29.7" + dependencies: + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e9d8102deca4c2f06507a8d071ca0e161f01cec0e108151142edb39995bd830e312d55d21fac0ceb390ac79a1fee5fb768b719413b8fc5adda5f06ecd8845cd6 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-systemjs@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.22.5" @@ -2405,6 +3140,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-systemjs@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.7" + dependencies: + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-validator-identifier": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 185d26d1f20fabdb120cb0bacdb2d245a8fbe628778cc2cd096a804c1169e21ae555e482b76fcc04a585edd70d9758a456794ae4d69cd41e638e10f620d65058 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-umd@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5" @@ -2417,6 +3166,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-umd@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-modules-umd@npm:7.29.7" + dependencies: + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 589f5c30a906587d039e2f3bf8267652be272d93d3056667b479f450318c91e55d1674631239ac25e0e9591f4abb7ff225bb0fc8af58e5bfb703d3385ec02082 + languageName: node + linkType: hard + "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" @@ -2441,6 +3202,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3a481be133e9ca5d25570b5ed62daae323a51663bacf30fed0d1980e912047ebd34d6326533182db625fc0bbd086d1a23ed68ebb6108e7a68a8650c228afc084 + languageName: node + linkType: hard + "@babel/plugin-transform-new-target@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-new-target@npm:7.22.5" @@ -2452,6 +3225,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-new-target@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-new-target@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 35b4c295348d17c9c00cf772663a6e705fd48f5a9a5378d7b548ab4cb71d5f183ca9446d2a86c77f16b037cfe64c621c00e93219aefab43bfd39d8dd2c8b56bb + languageName: node + linkType: hard + "@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.5" @@ -2475,6 +3259,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f486e737ddcec3a88e2e0dc004c28e15156dd255f3b2d944903f3d75666257c96ee7ebf57d80d2cf42eda2bee497db8134a26d657ddc3defcc34b9583ecbd119 + languageName: node + linkType: hard + "@babel/plugin-transform-numeric-separator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-numeric-separator@npm:7.22.5" @@ -2498,6 +3293,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-numeric-separator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6177df9e1a8a190bf4a360f8cbcfa614b70ededba61201bd0a38929770b6d00a8a54a19f8fda82cf60688d9bab938427a9fe5dae0a9e8cd8ed79c88a3b2dbcd7 + languageName: node + linkType: hard + "@babel/plugin-transform-object-rest-spread@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.22.5" @@ -2526,6 +3332,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-object-rest-spread@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.29.7" + dependencies: + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-transform-destructuring": ^7.29.7 + "@babel/plugin-transform-parameters": ^7.29.7 + "@babel/traverse": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e09bcc8800cf374962ab98bce5ccceb900266278a3a1e4a68391abec440fdf7371c8059f9091f407a1b167f3acf624c34c9b92188674fdcb7797e3f02509216b + languageName: node + linkType: hard + "@babel/plugin-transform-object-super@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-object-super@npm:7.22.5" @@ -2538,6 +3359,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-object-super@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-object-super@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-replace-supers": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 65ed8719563572c4917f19b32c476c9a9062fccf89bfd44a418bb734cd866034d66049499cace58e2bb4589da779983f534078bd989333f36268b9da08d4b33c + languageName: node + linkType: hard + "@babel/plugin-transform-optional-catch-binding@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.22.5" @@ -2561,6 +3394,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-catch-binding@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4b6e41e1dc5dbd02cfe0b96214130cca5fd3bd879551fc82188bb3d9a2782af9bab50f2140af9ff946a8ee23b9478ee42810641fb99aa3e033884d7c6103d138 + languageName: node + linkType: hard + "@babel/plugin-transform-optional-chaining@npm:^7.22.5, @babel/plugin-transform-optional-chaining@npm:^7.22.6": version: 7.22.6 resolution: "@babel/plugin-transform-optional-chaining@npm:7.22.6" @@ -2586,6 +3430,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-chaining@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6255d259bb0143f7938278ebb382aba22311c260919d3f08476509c76335a111b479b3ad7363e86de064f87af85ca4d7f03f08195f0646c525ea70fb587c0a2d + languageName: node + linkType: hard + "@babel/plugin-transform-parameters@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-parameters@npm:7.22.5" @@ -2619,6 +3475,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-parameters@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-parameters@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 615cdd72dc2d08051e6d4e7f0539661e40029257a047ce15c5da5f4394a372a53f6f6d6aece72ad15ccf0590e448c9a742f8576564321c9dcc16262ec6197c9b + languageName: node + linkType: hard + "@babel/plugin-transform-private-methods@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-private-methods@npm:7.22.5" @@ -2643,6 +3510,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-methods@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-private-methods@npm:7.29.7" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5055af2b86a95acbf6bd1a14256edf439ba4f214707f6aa9f6a29d1168c882e5709853c4ff225f55575f88d3a58effbed952d25c5cd70f93785106541f992cdd + languageName: node + linkType: hard + "@babel/plugin-transform-private-property-in-object@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-private-property-in-object@npm:7.22.5" @@ -2670,6 +3549,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-property-in-object@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 068ff9e35e103b269c707d16f50384646295a6613c5abfdebea24f0430bb18ea4ef40a299e1dcc915bb22f65e2217c3428c20bcd4a3fe5f8ac60ec212835646d + languageName: node + linkType: hard + "@babel/plugin-transform-property-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-property-literals@npm:7.22.5" @@ -2681,6 +3573,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-property-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-property-literals@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7e7a557df8feb50cd6913158c6d12df0e8a9da58e3f73e7cbfc08af399055b03e77a22b12c73d5bf6bb49239617d6189ccb6021ab03f0225bc54f9c74a880b62 + languageName: node + linkType: hard + "@babel/plugin-transform-react-constant-elements@npm:^7.18.12": version: 7.22.5 resolution: "@babel/plugin-transform-react-constant-elements@npm:7.22.5" @@ -2714,6 +3617,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-display-name@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-display-name@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ded95cce1816f800db43e8f4e1f7fbb928091bf036438617b8ca7e9ce776079606045a0ca482904bfeff801c4fc726de633153843c441ef31980b8c41ace04c9 + languageName: node + linkType: hard + "@babel/plugin-transform-react-jsx-development@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-react-jsx-development@npm:7.22.5" @@ -2725,6 +3639,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx-development@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.29.7" + dependencies: + "@babel/plugin-transform-react-jsx": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c535bb5ee09e07839a422f7a8e55849cd30525af57021888eceb84d33391290f6250207319bb4fbb4d4cbdcdb894b2a2b963f0769a3e95536370159b4b505855 + languageName: node + linkType: hard + "@babel/plugin-transform-react-jsx-self@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.9" @@ -2777,6 +3702,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-jsx@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-module-imports": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-syntax-jsx": ^7.29.7 + "@babel/types": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d50e5d6f12051c688280b118fc0cdc49f617f7c1f2c41b25733b606aa9a14d2dc84bc544163d115226b9d2cde9f147f49568350b9d100cb47988e5e76cf495c7 + languageName: node + linkType: hard + "@babel/plugin-transform-react-pure-annotations@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.22.5" @@ -2789,6 +3729,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-pure-annotations@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7b6bc9e9db06f2c40685b4f0a043af17a98a8bee833831aa28f70c89876dc649fdd682ae572445143b53fe091258964107bae9d3583480eb1c4f1d9c22780b38 + languageName: node + linkType: hard + "@babel/plugin-transform-regenerator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-regenerator@npm:7.22.5" @@ -2813,6 +3765,29 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regenerator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-regenerator@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 1a136712ba92693402d7fafb96624d1a833e888cd59029a84ed24d8ff083304a3f1d101d8d5013d0400229041c8a1e4ddf08027268f3c876ea226e86734acd25 + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.29.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: bfbc6b898ace99b8412eb6e902b90856188c692e69672d42d48c5e22a5bf9b0d15d35424fda8501bfb06ba0504acc5f1b9e13eacaba232aa58af74472d6068dc + languageName: node + linkType: hard + "@babel/plugin-transform-reserved-words@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5" @@ -2824,6 +3799,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-reserved-words@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-reserved-words@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ffd7f86ddce36c6ded2dd9218f81be8cbae35b1ed01100ac0a98623bd0a76c059188b70953ab5accae8f8430451e8ed4779d533ac5e35c523f5004a981208b7c + languageName: node + linkType: hard + "@babel/plugin-transform-runtime@npm:^7.19.6": version: 7.22.9 resolution: "@babel/plugin-transform-runtime@npm:7.22.9" @@ -2878,6 +3864,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-shorthand-properties@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c57ef27853f334a6147da9aa00f8a8f4c3a1c217eb2efa73cba2e118edda10754fa23cec2c0c7f7408279ad28fef92c1f663dfec137a7503813331569c3e02f9 + languageName: node + linkType: hard + "@babel/plugin-transform-spread@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-spread@npm:7.22.5" @@ -2902,6 +3899,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-spread@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-spread@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: eb25f24d9a5cac163fea91b5872ff2ddb892083624284a6e8a1fa8dfc4c4c6f6230f3b478405eb846df895a3f96631ac19e8c169af33012aafaa144e6192d5d3 + languageName: node + linkType: hard + "@babel/plugin-transform-sticky-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5" @@ -2924,6 +3933,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-sticky-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 16b570c0270a59c2a29b2118c00e463882e9dda49b51a17dde3ae6b2886995d49f4bf2161a4c743ad1bca39d2aeb3ac963400e095682e105c7f751e6a2156c28 + languageName: node + linkType: hard + "@babel/plugin-transform-template-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-template-literals@npm:7.22.5" @@ -2935,6 +3955,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-template-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-template-literals@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d1014dab020f0f802089de17bba82d929eda6ac87fde5f58fb9763885b8d645ce63fc1df97055c06a12d95a8788334a93b559fcaf1da6d7777a191e5f9c5646e + languageName: node + linkType: hard + "@babel/plugin-transform-typeof-symbol@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5" @@ -2946,6 +3977,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typeof-symbol@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 90c2308f97c4e3773b7d2010b962ce6122bd9e1163f0caf7bb45819342f547a5a41d36c73d9a828ad89ce2072e2613ea867d28ad59eb440d9e22196438437d02 + languageName: node + linkType: hard + "@babel/plugin-transform-typescript@npm:^7.22.5": version: 7.22.9 resolution: "@babel/plugin-transform-typescript@npm:7.22.9" @@ -2975,6 +4017,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typescript@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-typescript@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + "@babel/plugin-syntax-typescript": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e95bce53fa2add836eec5ef5221e260cfa4ab889a146f7ba5e29cbd42bfe3183cb94e40b49bfb0d14a75f233982723903d3efad0f528b835ce771e38bd365440 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-escapes@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.5" @@ -2986,6 +4043,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-escapes@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: cf337bf93a2e76aa82acb60d8a8a567225744cf7f42ffa4dde4c177aef54250f4067db38b8ab2c26f20cf2a589822242891ba8b91739a705f618bf6a4eeca7ff + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-property-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.22.5" @@ -2998,6 +4066,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-property-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.29.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 03ee0b5d27eee08ba71bc09e919eb648094123985b7adc7dc875e4172100596a47ab68337abf6814cbd3140c6552cf1044135eb0ec1ec78345e1270e5e6aabba + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5" @@ -3022,6 +4102,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.29.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 1ade0672ae5bbbf2ec1ea0a8de1b5d804ae414283215620097ab21cf7f05dae8916f5b0548a18c6f080ec17135018f5edd2d38f8fa9ca052af570cab5c712786 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-sets-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.22.5" @@ -3034,6 +4126,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-sets-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.29.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 680c22e2a63bffbf6798b0c2f599b06beb7ea4d29ee37a56c9192014143d396c479b12783d9c343e107fa491aeeb65b1ca774fd76825ffb306eef7fb5e7b4b2c + languageName: node + linkType: hard + "@babel/preset-env@npm:*, @babel/preset-env@npm:^7.19.4, @babel/preset-env@npm:^7.22.9": version: 7.22.9 resolution: "@babel/preset-env@npm:7.22.9" @@ -3124,6 +4228,87 @@ __metadata: languageName: node linkType: hard +"@babel/preset-env@npm:^7.29.5": + version: 7.29.7 + resolution: "@babel/preset-env@npm:7.29.7" + dependencies: + "@babel/compat-data": ^7.29.7 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-validator-option": ^7.29.7 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.29.7 + "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.29.7 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.29.7 + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": ^7.29.7 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.29.7 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.29.7 + "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 + "@babel/plugin-syntax-import-assertions": ^7.29.7 + "@babel/plugin-syntax-import-attributes": ^7.29.7 + "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 + "@babel/plugin-transform-arrow-functions": ^7.29.7 + "@babel/plugin-transform-async-generator-functions": ^7.29.7 + "@babel/plugin-transform-async-to-generator": ^7.29.7 + "@babel/plugin-transform-block-scoped-functions": ^7.29.7 + "@babel/plugin-transform-block-scoping": ^7.29.7 + "@babel/plugin-transform-class-properties": ^7.29.7 + "@babel/plugin-transform-class-static-block": ^7.29.7 + "@babel/plugin-transform-classes": ^7.29.7 + "@babel/plugin-transform-computed-properties": ^7.29.7 + "@babel/plugin-transform-destructuring": ^7.29.7 + "@babel/plugin-transform-dotall-regex": ^7.29.7 + "@babel/plugin-transform-duplicate-keys": ^7.29.7 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.29.7 + "@babel/plugin-transform-dynamic-import": ^7.29.7 + "@babel/plugin-transform-explicit-resource-management": ^7.29.7 + "@babel/plugin-transform-exponentiation-operator": ^7.29.7 + "@babel/plugin-transform-export-namespace-from": ^7.29.7 + "@babel/plugin-transform-for-of": ^7.29.7 + "@babel/plugin-transform-function-name": ^7.29.7 + "@babel/plugin-transform-json-strings": ^7.29.7 + "@babel/plugin-transform-literals": ^7.29.7 + "@babel/plugin-transform-logical-assignment-operators": ^7.29.7 + "@babel/plugin-transform-member-expression-literals": ^7.29.7 + "@babel/plugin-transform-modules-amd": ^7.29.7 + "@babel/plugin-transform-modules-commonjs": ^7.29.7 + "@babel/plugin-transform-modules-systemjs": ^7.29.7 + "@babel/plugin-transform-modules-umd": ^7.29.7 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.29.7 + "@babel/plugin-transform-new-target": ^7.29.7 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.29.7 + "@babel/plugin-transform-numeric-separator": ^7.29.7 + "@babel/plugin-transform-object-rest-spread": ^7.29.7 + "@babel/plugin-transform-object-super": ^7.29.7 + "@babel/plugin-transform-optional-catch-binding": ^7.29.7 + "@babel/plugin-transform-optional-chaining": ^7.29.7 + "@babel/plugin-transform-parameters": ^7.29.7 + "@babel/plugin-transform-private-methods": ^7.29.7 + "@babel/plugin-transform-private-property-in-object": ^7.29.7 + "@babel/plugin-transform-property-literals": ^7.29.7 + "@babel/plugin-transform-regenerator": ^7.29.7 + "@babel/plugin-transform-regexp-modifiers": ^7.29.7 + "@babel/plugin-transform-reserved-words": ^7.29.7 + "@babel/plugin-transform-shorthand-properties": ^7.29.7 + "@babel/plugin-transform-spread": ^7.29.7 + "@babel/plugin-transform-sticky-regex": ^7.29.7 + "@babel/plugin-transform-template-literals": ^7.29.7 + "@babel/plugin-transform-typeof-symbol": ^7.29.7 + "@babel/plugin-transform-unicode-escapes": ^7.29.7 + "@babel/plugin-transform-unicode-property-regex": ^7.29.7 + "@babel/plugin-transform-unicode-regex": ^7.29.7 + "@babel/plugin-transform-unicode-sets-regex": ^7.29.7 + "@babel/preset-modules": 0.1.6-no-external-plugins + babel-plugin-polyfill-corejs2: ^0.4.15 + babel-plugin-polyfill-corejs3: ^0.14.0 + babel-plugin-polyfill-regenerator: ^0.6.6 + core-js-compat: ^3.48.0 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 36deae2ea4329e8490fc4507e6747e07c4cff9df1f1397aa99fae16e03a5195f9c7a3494f571ddfb5002bbc0e18832a8cc711831d686896312fa127823f7fedc + languageName: node + linkType: hard + "@babel/preset-flow@npm:^7.24.7": version: 7.25.9 resolution: "@babel/preset-flow@npm:7.25.9" @@ -3137,6 +4322,32 @@ __metadata: languageName: node linkType: hard +"@babel/preset-flow@npm:^7.27.1": + version: 7.29.7 + resolution: "@babel/preset-flow@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-validator-option": ^7.29.7 + "@babel/plugin-transform-flow-strip-types": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 562fe8494d7e8e3a894cb9b1213acdc418b42d54f0fe316e97192bb235c8dfe7cde58d351057b9f7896bdc5ff42b605863c00cf6df952d5789cf3d865ab723ba + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + "@babel/types": ^7.4.4 + esutils: ^2.0.2 + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 4855e799bc50f2449fb5210f78ea9e8fd46cf4f242243f1e2ed838e2bd702e25e73e822e7f8447722a5f4baa5e67a8f7a0e403f3e7ce04540ff743a9c411c375 + languageName: node + linkType: hard + "@babel/preset-modules@npm:^0.1.5": version: 0.1.6 resolution: "@babel/preset-modules@npm:0.1.6" @@ -3168,6 +4379,22 @@ __metadata: languageName: node linkType: hard +"@babel/preset-react@npm:^7.28.5": + version: 7.29.7 + resolution: "@babel/preset-react@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-validator-option": ^7.29.7 + "@babel/plugin-transform-react-display-name": ^7.29.7 + "@babel/plugin-transform-react-jsx": ^7.29.7 + "@babel/plugin-transform-react-jsx-development": ^7.29.7 + "@babel/plugin-transform-react-pure-annotations": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ec9d4d418df3825674ef807020b90a93d6bf6b786a723a59e673c3a32e31927b2f8a50071a17a50fff632f41eda8933e4196974130f2a5cdeb1a040fb2b62b76 + languageName: node + linkType: hard + "@babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.21.5": version: 7.22.5 resolution: "@babel/preset-typescript@npm:7.22.5" @@ -3198,6 +4425,21 @@ __metadata: languageName: node linkType: hard +"@babel/preset-typescript@npm:^7.28.5": + version: 7.29.7 + resolution: "@babel/preset-typescript@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-validator-option": ^7.29.7 + "@babel/plugin-syntax-jsx": ^7.29.7 + "@babel/plugin-transform-modules-commonjs": ^7.29.7 + "@babel/plugin-transform-typescript": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f2f58cbbbdb84f6b27e20c7835fbd1e2474e7e6075c97a6609c606139bc782c995f0c5eb5b64f5b613997f8a463f3b4cea10cd1f0d706a66bf1aa41fea666725 + languageName: node + linkType: hard + "@babel/register@npm:^7.24.6": version: 7.25.9 resolution: "@babel/register@npm:7.25.9" @@ -3265,6 +4507,24 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.7.2": + version: 7.29.7 + resolution: "@babel/runtime@npm:7.29.7" + checksum: bc311855c6dbf5356030979584ca0f8b6cee39fe058175b02e85a73e246fc76ae30248b0d40e70c2652101faeb43279468ed2d086a670673eb9783c1fee1df2b + languageName: node + linkType: hard + +"@babel/template@npm:^7.10.4, @babel/template@npm:^7.28.6, @babel/template@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/template@npm:7.29.7" + dependencies: + "@babel/code-frame": ^7.29.7 + "@babel/parser": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: 521eb6a1fd4735074ca8dac0d70810860a80edf3bf78105851571993cd13701a2041987e7398ccc9376eb6235ea1258bf494ccaccf3b67fa98dbe954154a2e93 + languageName: node + linkType: hard + "@babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3": version: 7.22.5 resolution: "@babel/template@npm:7.22.5" @@ -3331,6 +4591,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/traverse@npm:7.29.7" + dependencies: + "@babel/code-frame": ^7.29.7 + "@babel/generator": ^7.29.7 + "@babel/helper-globals": ^7.29.7 + "@babel/parser": ^7.29.7 + "@babel/template": ^7.29.7 + "@babel/types": ^7.29.7 + debug: ^4.3.1 + checksum: 6c4508fd2a308a6a41fbf40bd2590bccfdc3903de51c640a928c49e810220b9e27323a083cda604d44a27449b57265a701b549de01f479611390863734b4fd38 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.22.5 resolution: "@babel/types@npm:7.22.5" @@ -3342,6 +4617,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.12.6, @babel/types@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/types@npm:7.29.7" + dependencies: + "@babel/helper-string-parser": ^7.29.7 + "@babel/helper-validator-identifier": ^7.29.7 + checksum: 71c46837d22c5c63a5ed571f3b68b4261ecabfc3d4be7251b336ccbd26bc52752ae68ae6d16d24ea512311b78b6f54efdfb00dde87a81a4dc3d19e4a45f05b20 + languageName: node + linkType: hard + "@babel/types@npm:^7.25.0, @babel/types@npm:^7.25.6": version: 7.25.6 resolution: "@babel/types@npm:7.25.6" @@ -4016,6 +5301,13 @@ __metadata: languageName: node linkType: hard +"@hapi/bourne@npm:^3.0.0": + version: 3.0.0 + resolution: "@hapi/bourne@npm:3.0.0" + checksum: 7174cab6c33191918fcdb1953fe3169a1106e6ac79a67ef5fd08b351f0813f8f608170f2239786cbe5519e03cdfe5ab748ea1635caa06dcd5802410295514ef8 + languageName: node + linkType: hard + "@hapi/hoek@npm:^9.0.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -4575,6 +5867,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.3.12": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": ^1.5.0 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: f2105acefc433337145caa3c84bba286de954f61c0bc46279bbd85a9e6a02871089717fa060413cfb6a9d44189fe8313b2d1cabf3a2eb3284d208fd5f75c54ff + languageName: node + linkType: hard + "@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" @@ -4586,6 +5888,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.4, @jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: 4a66a7397c3dc9c6b5c14a0024b1f98c5e1d90a0dbc1e5955b5038f2db339904df2a0ee8a66559fafb4fc23ff33700a2639fd40bbdd2e9e82b58b3bdf83738e3 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:3.1.0": version: 3.1.0 resolution: "@jridgewell/resolve-uri@npm:3.1.0" @@ -4652,6 +5964,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.4.15, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: c2e36e67971f719a8a3a85ef5a5f580622437cc723c35d03ebd0c9c0b06418700ef006f58af742791f71f6a4fc68fcfaf1f6a74ec2f9a3332860e9373459dae7 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -4682,6 +6001,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: af8fda2431348ad507fbddf8e25f5d08c79ecc94594061ce402cf41bc5aba1a7b3e59bf0fd70a619b35f33983a3f488ceeba8faf56bff784f98bb5394a8b7d47 + languageName: node + linkType: hard + "@js-sdsl/ordered-map@npm:^4.4.2": version: 4.4.2 resolution: "@js-sdsl/ordered-map@npm:4.4.2" @@ -5314,7 +6643,7 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:^1.6.0": +"@noble/hashes@npm:^1.1.5, @noble/hashes@npm:^1.6.0": version: 1.8.0 resolution: "@noble/hashes@npm:1.8.0" checksum: c94e98b941963676feaba62475b1ccfa8341e3f572adbb3b684ee38b658df44100187fa0ef4220da580b13f8d27e87d5492623c8a02ecc61f23fb9960c7918f5 @@ -6320,6 +7649,15 @@ __metadata: languageName: node linkType: hard +"@paralleldrive/cuid2@npm:^2.2.2": + version: 2.3.1 + resolution: "@paralleldrive/cuid2@npm:2.3.1" + dependencies: + "@noble/hashes": ^1.1.5 + checksum: 1310abcdf8f50721725bf7394f89cb6e704308cdfb62da6a251d93c036d4c4ae45987ed10dcf58d0ccdd1e8fdf0b860351306f582457b5146154cb1e660bbd39 + languageName: node + linkType: hard + "@peculiar/asn1-android@npm:^2.3.6": version: 2.3.10 resolution: "@peculiar/asn1-android@npm:2.3.10" @@ -8073,6 +9411,7 @@ __metadata: npm-check-updates: ^16.10.17 prettier: 3.0.0 sass-loader: ^13.3.2 + ttag-cli: ^1.11.2 typescript: 5.8.3 webpack: ^5.88.2 webpack-cli: ^5.1.4 @@ -8761,6 +10100,7 @@ __metadata: jest: ^29.3.1 reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 + ttag: ^1.8.12 typescript: "*" languageName: unknown linkType: soft @@ -8857,6 +10197,7 @@ __metadata: jest: ^29.3.1 reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 + ttag: ^1.8.12 typescript: "*" languageName: unknown linkType: soft @@ -9003,6 +10344,7 @@ __metadata: ts-loader: ^9.4.1 ts-node: ^10.9.1 tscpaths: 0.0.9 + ttag: ^1.8.12 typescript: "*" uuid: ^9.0.0 webpack: "*" @@ -9158,6 +10500,7 @@ __metadata: mobx: ^6.8.0 mobx-react-lite: ^3.4.2 ts-jest: ^29.0.3 + ttag: ^1.8.12 typescript: "*" languageName: unknown linkType: soft @@ -9286,6 +10629,15 @@ __metadata: languageName: unknown linkType: soft +"@sveltejs/acorn-typescript@npm:^1.0.10": + version: 1.0.11 + resolution: "@sveltejs/acorn-typescript@npm:1.0.11" + peerDependencies: + acorn: ^8.9.0 + checksum: b2f2526290aa9155b2ab20808ea8382adc93e7346ea7fdd66370524cb44f767669fb30a7bbef27a02cc2405d110203b2faefc9c2b5298033691d79528e47d1bf + languageName: node + linkType: hard + "@svgr/babel-plugin-add-jsx-attribute@npm:^6.5.1": version: 6.5.1 resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:6.5.1" @@ -9560,6 +10912,15 @@ __metadata: languageName: node linkType: hard +"@types/accepts@npm:*": + version: 1.3.7 + resolution: "@types/accepts@npm:1.3.7" + dependencies: + "@types/node": "*" + checksum: 7678cf74976e16093aff6e6f9755826faf069ac1e30179276158ce46ea246348ff22ca6bdd46cef08428881337d9ceefbf00bab08a7731646eb9fc9449d6a1e7 + languageName: node + linkType: hard + "@types/babel__core@npm:^7.1.14": version: 7.20.1 resolution: "@types/babel__core@npm:7.20.1" @@ -9632,6 +10993,16 @@ __metadata: languageName: node linkType: hard +"@types/co-body@npm:^6.1.3": + version: 6.1.3 + resolution: "@types/co-body@npm:6.1.3" + dependencies: + "@types/node": "*" + "@types/qs": "*" + checksum: e93fdc177f69ee0535cf401783258e4255f5eb8235c58b5a2a5a8958cf341fadf3d0bf2c75907ed6b7d188ce2c2f2cf9593a71d4eef12900beba54ebbbdd5cc1 + languageName: node + linkType: hard + "@types/connect-history-api-fallback@npm:^1.3.5": version: 1.5.0 resolution: "@types/connect-history-api-fallback@npm:1.5.0" @@ -9651,6 +11022,25 @@ __metadata: languageName: node linkType: hard +"@types/content-disposition@npm:*": + version: 0.5.9 + resolution: "@types/content-disposition@npm:0.5.9" + checksum: d895703c0027ca6c4c0c1ede363909dbb590deec3b206a84b88a49c8b2840bcbd31b4ddeb2e1e6caa1af00801cc79c5b69a5c75a8152f2959810b10fe75a4e1f + languageName: node + linkType: hard + +"@types/cookies@npm:*": + version: 0.9.2 + resolution: "@types/cookies@npm:0.9.2" + dependencies: + "@types/connect": "*" + "@types/express": "*" + "@types/keygrip": "*" + "@types/node": "*" + checksum: 12997c120d5a5392d0c1c520cb4e9089a9e35a81899676deccf288dacbe42a86255fc7ea9d5df09f455f11a218d6f72d4dd4dba2b21027fe8f3fb0497243bd0a + languageName: node + linkType: hard + "@types/crypto-js@npm:^4.1.1": version: 4.1.1 resolution: "@types/crypto-js@npm:4.1.1" @@ -9703,6 +11093,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.5, @types/estree@npm:^1.0.6": + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 752c0afee3ec82b8e24484bf6a27dfa093bbf3de4ef1c20ed0364fb6ad2c0c7971e7504ed9a7aaff103a47e2d945ce7a17f74951743dd944782a0735f53170de + languageName: node + linkType: hard + "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": version: 4.17.35 resolution: "@types/express-serve-static-core@npm:4.17.35" @@ -9727,6 +11124,15 @@ __metadata: languageName: node linkType: hard +"@types/formidable@npm:^3.4.6": + version: 3.5.1 + resolution: "@types/formidable@npm:3.5.1" + dependencies: + "@types/node": "*" + checksum: 4f9599849a90e021842d13deb54d7a49dda589ab4af5bfbdbf9d1d29613c13a7f89084da538d709776340200365e0aa14746bce969ea16a41b046cfcf67046ea + languageName: node + linkType: hard + "@types/fs-extra@npm:9.0.13, @types/fs-extra@npm:^9.0.11": version: 9.0.13 resolution: "@types/fs-extra@npm:9.0.13" @@ -9772,6 +11178,13 @@ __metadata: languageName: node linkType: hard +"@types/http-assert@npm:*": + version: 1.5.6 + resolution: "@types/http-assert@npm:1.5.6" + checksum: dfe1010164ba633859d90a50c4c53e69a38a16972061ef614acc1b0bdb7e53a1c923a11b4169a4a7eedc20b2303962d761727a212ae099717327cf4f38293817 + languageName: node + linkType: hard + "@types/http-cache-semantics@npm:*, @types/http-cache-semantics@npm:^4.0.1": version: 4.0.1 resolution: "@types/http-cache-semantics@npm:4.0.1" @@ -9786,6 +11199,13 @@ __metadata: languageName: node linkType: hard +"@types/http-errors@npm:^2": + version: 2.0.5 + resolution: "@types/http-errors@npm:2.0.5" + checksum: a88da669366bc483e8f3b3eb3d34ada5f8d13eeeef851b1204d77e2ba6fc42aba4566d877cca5c095204a3f4349b87fe397e3e21288837bdd945dd514120755b + languageName: node + linkType: hard + "@types/http-proxy@npm:^1.17.8": version: 1.17.11 resolution: "@types/http-proxy@npm:1.17.11" @@ -9873,6 +11293,13 @@ __metadata: languageName: node linkType: hard +"@types/keygrip@npm:*": + version: 1.0.6 + resolution: "@types/keygrip@npm:1.0.6" + checksum: d157f60bf920492347791d2b26d530d5069ce05796549fbacd4c24d66ffbebbcb0ab67b21e7a1b80a593b9fd4b67dc4843dec04c12bbc2e0fddfb8577a826c41 + languageName: node + linkType: hard + "@types/keyv@npm:^3.1.4": version: 3.1.4 resolution: "@types/keyv@npm:3.1.4" @@ -9882,6 +11309,31 @@ __metadata: languageName: node linkType: hard +"@types/koa-compose@npm:*": + version: 3.2.9 + resolution: "@types/koa-compose@npm:3.2.9" + dependencies: + "@types/koa": "*" + checksum: 0f86016fc8055c1ed945630718ab74dac3e301c944ae1ab35762ff1bc393728b5867ec33896054c22ee161d9c2aa94b5915a122e595232b371fb41494e4473ef + languageName: node + linkType: hard + +"@types/koa@npm:*, @types/koa@npm:^3.0.0": + version: 3.0.3 + resolution: "@types/koa@npm:3.0.3" + dependencies: + "@types/accepts": "*" + "@types/content-disposition": "*" + "@types/cookies": "*" + "@types/http-assert": "*" + "@types/http-errors": ^2 + "@types/keygrip": "*" + "@types/koa-compose": "*" + "@types/node": "*" + checksum: 31d36837e95e4cb1c3f4d19311f3d71388772697b05b798319cf10bc02a3b445272b8cd712e2b644f525c930c283f7910131ba1157805f9d3288d7a12adaa795 + languageName: node + linkType: hard + "@types/libsodium-wrappers@npm:0.7.10, @types/libsodium-wrappers@npm:^0.7.10": version: 0.7.10 resolution: "@types/libsodium-wrappers@npm:0.7.10" @@ -10223,6 +11675,13 @@ __metadata: languageName: node linkType: hard +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 8e4202766a65877efcf5d5a41b7dd458480b36195e580a3b1085ad21e948bc417d55d6f8af1fd2a7ad008015d4117d5fdfe432731157da3c68678487174e4ba3 + languageName: node + linkType: hard + "@types/uuid@npm:^8.3.4": version: 8.3.4 resolution: "@types/uuid@npm:8.3.4" @@ -10933,7 +12392,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.7, accepts@npm:~1.3.8": +"accepts@npm:^1.3.5, accepts@npm:^1.3.7, accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.7, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -10987,6 +12446,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.12.1": + version: 8.17.0 + resolution: "acorn@npm:8.17.0" + bin: + acorn: bin/acorn + checksum: 98f0800a48a06e3427cf77a10a0ef7b86366d4ba2fdcde7f72e30430d75e3179d3cbcb253bec263f002e2ea537cbb017c007689370deb4c4ffee74b388d66612 + languageName: node + linkType: hard + "addons-linter@npm:5.32.0": version: 5.32.0 resolution: "addons-linter@npm:5.32.0" @@ -11161,6 +12629,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:6.12.3": + version: 6.12.3 + resolution: "ajv@npm:6.12.3" + dependencies: + fast-deep-equal: ^3.1.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: ca559d34710e6969d33bc1316282e1ece4d4d99ff5fdca4bfe31947740f8f90e7824238cdc2954e499cf75b2432e3e6c56b32814ebe04fccf8abcc3fbf36b348 + languageName: node + linkType: hard + "ajv@npm:8.12.0, ajv@npm:^8.0.0, ajv@npm:^8.11.0, ajv@npm:^8.6.3, ajv@npm:^8.9.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" @@ -11230,6 +12710,13 @@ __metadata: languageName: node linkType: hard +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 190abd03e4ff86794f338a31795d262c1dfe8c91f7e01d04f13f646f1dcb16c5800818f886047876f1272f065570ab86b24b99089f8b68a0e11ff19aed4ca8f1 + languageName: node + linkType: hard + "ansi-regex@npm:^4.1.0": version: 4.1.1 resolution: "ansi-regex@npm:4.1.1" @@ -11251,6 +12738,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^2.2.1": + version: 2.2.1 + resolution: "ansi-styles@npm:2.2.1" + checksum: ebc0e00381f2a29000d1dac8466a640ce11943cef3bda3cd0020dc042e31e1058ab59bf6169cd794a54c3a7338a61ebc404b7c91e004092dd20e028c432c9c2c + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -11421,6 +12915,13 @@ __metadata: languageName: node linkType: hard +"aria-query@npm:5.3.1": + version: 5.3.1 + resolution: "aria-query@npm:5.3.1" + checksum: 8f7ece335efadd80217901005dfb71130eab45b38d71ec5ba63b3a51c1028abc018618b86db3dcd9222995538e7b10d7c505051fb8ba7a02ec0a4e77499c9a9c + languageName: node + linkType: hard + "arr-diff@npm:^4.0.0": version: 4.0.0 resolution: "arr-diff@npm:4.0.0" @@ -11609,7 +13110,7 @@ __metadata: languageName: node linkType: hard -"asap@npm:~2.0.6": +"asap@npm:^2.0.0, asap@npm:~2.0.6": version: 2.0.6 resolution: "asap@npm:2.0.6" checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d @@ -11687,6 +13188,20 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 9102e246d1ed9b37ac36f57f0a6ca55226876553251a31fc80677e71471f463a54c872dc78d5d7f80740c8ba624395cccbe8b60f7b690c4418f487d8e9fd1106 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 74a71a4a2dd7afd06ebb612f6d612c7f4766a351bedffde466023bf6dae629e46b0d2cd38786239e0fbf245de0c7df76035465e16d1213774a0efb22fec0d713 + languageName: node + linkType: hard + "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -11850,6 +13365,13 @@ __metadata: languageName: node linkType: hard +"axobject-query@npm:^4.1.0": + version: 4.1.0 + resolution: "axobject-query@npm:4.1.0" + checksum: 7d1e87bf0aa7ae7a76cd39ab627b7c48fda3dc40181303d9adce4ba1d5b5ce73b5e5403ee6626ec8e91090448c887294d6144e24b6741a976f5be9347e3ae1df + languageName: node + linkType: hard + "babel-jest@npm:^29.3.1, babel-jest@npm:^29.6.2": version: 29.6.2 resolution: "babel-jest@npm:29.6.2" @@ -11934,6 +13456,17 @@ __metadata: languageName: node linkType: hard +"babel-plugin-macros@npm:^2.8.0": + version: 2.8.0 + resolution: "babel-plugin-macros@npm:2.8.0" + dependencies: + "@babel/runtime": ^7.7.2 + cosmiconfig: ^6.0.0 + resolve: ^1.12.0 + checksum: 59b09a21cf3ae1e14186c1b021917d004b49b953824b24953a54c6502da79e8051d4ac31cfd4a0ae7f6ea5ddf1f7edd93df4895dd3c3982a5b2431859c2889ac + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.13 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" @@ -11947,6 +13480,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs2@npm:^0.4.15": + version: 0.4.17 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.17" + dependencies: + "@babel/compat-data": ^7.28.6 + "@babel/helper-define-polyfill-provider": ^0.6.8 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 945f80f413706831b665322690c655f3782ca6fd8c1fbcccaf449d976ebe6151677fb9331442c72e85eae9a05d5e6633be4e15f75d3e788762d825d31f2964ce + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.4.4": version: 0.4.5 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.5" @@ -11972,6 +13518,18 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs3@npm:^0.14.0": + version: 0.14.2 + resolution: "babel-plugin-polyfill-corejs3@npm:0.14.2" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.6.8 + core-js-compat: ^3.48.0 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 4bcaf4da658aaeb7a6534e6b65a6a45539c5f53bec596fefd0b44eebd249e5db8bbf239a421ceaff5933a0a7eee11e45791e4f4e04886cdf47bb1d4b1a8015aa + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs3@npm:^0.8.2": version: 0.8.3 resolution: "babel-plugin-polyfill-corejs3@npm:0.8.3" @@ -12006,6 +13564,17 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-regenerator@npm:^0.6.6": + version: 0.6.8 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.8" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.6.8 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 974464353d6f974e97673385aff616a913c0b76039eab8c5317a2d07c661e080f3dcc213e86f3eae40010172a27ab793cda7a290a8a899716f9a22df9b1d92d2 + languageName: node + linkType: hard + "babel-plugin-syntax-hermes-parser@npm:0.25.1": version: 0.25.1 resolution: "babel-plugin-syntax-hermes-parser@npm:0.25.1" @@ -12033,6 +13602,23 @@ __metadata: languageName: node linkType: hard +"babel-plugin-ttag@npm:1.8.16": + version: 1.8.16 + resolution: "babel-plugin-ttag@npm:1.8.16" + dependencies: + "@babel/generator": ^7.12.5 + "@babel/template": ^7.10.4 + "@babel/types": ^7.12.6 + ajv: 6.12.3 + babel-plugin-macros: ^2.8.0 + dedent: 1.5.1 + gettext-parser: 6.0.0 + mkdirp: ^1.0.4 + plural-forms: ^0.5.3 + checksum: cf69ead251fb4dbca1684b03eb75fb9f2e0cb9eef5c89814ca00e4619c0c21ae306083cd08a034e488e8e1070917903177054ccdfd1b3246737440e8170fc867 + languageName: node + linkType: hard + "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.0.1 resolution: "babel-preset-current-node-syntax@npm:1.0.1" @@ -12132,6 +13718,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.10.44": + version: 2.11.3 + resolution: "baseline-browser-mapping@npm:2.11.3" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 3599333539e78e4c5112575650feb7c20ac0b711a031c4aa864995abddb0f4e6650e8265ad0ee8a2664541e1aa97972b194fa916c8cf15975c16bec692b78900 + languageName: node + linkType: hard + "batch@npm:0.6.1": version: 0.6.1 resolution: "batch@npm:0.6.1" @@ -12425,6 +14020,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.28.1": + version: 4.28.7 + resolution: "browserslist@npm:4.28.7" + dependencies: + baseline-browser-mapping: ^2.10.44 + caniuse-lite: ^1.0.30001806 + electron-to-chromium: ^1.5.393 + node-releases: ^2.0.51 + update-browserslist-db: ^1.2.3 + bin: + browserslist: cli.js + checksum: 81093d27f0b0c9207e42af04655607ea870d6eb9c04b38106ffcf36e05f436747caf250604abd5471eab55b16eb2be305d8e5a7c61a5636df34a7b9397737756 + languageName: node + linkType: hard + "bs-logger@npm:0.x": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" @@ -12615,7 +14225,7 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2": +"bytes@npm:3.1.2, bytes@npm:~3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e @@ -12704,6 +14314,16 @@ __metadata: languageName: node linkType: hard +"cache-content-type@npm:^1.0.0": + version: 1.0.1 + resolution: "cache-content-type@npm:1.0.1" + dependencies: + mime-types: ^2.1.18 + ylru: ^1.2.0 + checksum: 18db4d59452669ccbfd7146a1510a37eb28e9eccf18ca7a4eb603dff2edc5cccdca7498fc3042a2978f76f11151fba486eb9eb69d9afa3fb124957870aef4fd3 + languageName: node + linkType: hard + "cacheable-lookup@npm:^5.0.3": version: 5.0.4 resolution: "cacheable-lookup@npm:5.0.4" @@ -12755,6 +14375,16 @@ __metadata: languageName: node linkType: hard +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: ^1.3.0 + function-bind: ^1.1.2 + checksum: b2863d74fcf2a6948221f65d95b91b4b2d90cfe8927650b506141e669f7d5de65cea191bf788838bc40d13846b7886c5bc5c84ab96c3adbcf88ad69a72fcdc6b + languageName: node + linkType: hard + "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -12765,6 +14395,16 @@ __metadata: languageName: node linkType: hard +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: ^1.0.2 + get-intrinsic: ^1.3.0 + checksum: 2f6399488d1c272f56306ca60ff696575e2b7f31daf23bc11574798c84d9f2759dceb0cb1f471a85b77f28962a7ac6411f51d283ea2e45319009a19b6ccab3b2 + languageName: node + linkType: hard + "call-me-maybe@npm:^1.0.1": version: 1.0.2 resolution: "call-me-maybe@npm:1.0.2" @@ -12874,6 +14514,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001806": + version: 1.0.30001806 + resolution: "caniuse-lite@npm:1.0.30001806" + checksum: 4b4a970fbd7cb7b8ee6b5068336f7afa7d9cc65ff444080630ab363dcb44205994f68897c7685dc3de4f04dd1f65ec395e50790a594d0470db4894bedf5cb379 + languageName: node + linkType: hard + "caseless@npm:~0.12.0": version: 0.12.0 resolution: "caseless@npm:0.12.0" @@ -12965,6 +14612,19 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^1.0.0, chalk@npm:^1.1.1": + version: 1.1.3 + resolution: "chalk@npm:1.1.3" + dependencies: + ansi-styles: ^2.2.1 + escape-string-regexp: ^1.0.2 + has-ansi: ^2.0.0 + strip-ansi: ^3.0.0 + supports-color: ^2.0.0 + checksum: 9d2ea6b98fc2b7878829eec223abcf404622db6c48396a9b9257f6d0ead2acf18231ae368d6a664a83f272b0679158da12e97b5229f794939e555cc574478acd + languageName: node + linkType: hard + "chalk@npm:^2.0.0, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -13247,6 +14907,15 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-cursor@npm:2.1.0" + dependencies: + restore-cursor: ^2.0.0 + checksum: d88e97bfdac01046a3ffe7d49f06757b3126559d7e44aa2122637eb179284dc6cd49fca2fac4f67c19faaf7e6dab716b6fe1dfcd309977407d8c7578ec2d044d + languageName: node + linkType: hard + "cli-cursor@npm:^3.1.0": version: 3.1.0 resolution: "cli-cursor@npm:3.1.0" @@ -13272,6 +14941,13 @@ __metadata: languageName: node linkType: hard +"cli-spinners@npm:^1.0.0": + version: 1.3.1 + resolution: "cli-spinners@npm:1.3.1" + checksum: 4f95fd69a2cc886a79edea7c60173a66d21f5732f1cbdc3dfb6c02422769699b358190827a3886a51503a7a4daed84ae295db5df68bba9702a50df7aca51da55 + languageName: node + linkType: hard + "cli-spinners@npm:^2.5.0": version: 2.9.0 resolution: "cli-spinners@npm:2.9.0" @@ -13397,6 +15073,13 @@ __metadata: languageName: node linkType: hard +"clsx@npm:^2.1.1": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: acd3e1ab9d8a433ecb3cc2f6a05ab95fe50b4a3cfc5ba47abb6cbf3754585fcb87b84e90c822a1f256c4198e3b41c7f6c391577ffc8678ad587fc0976b24fd57 + languageName: node + linkType: hard + "cluster-key-slot@npm:^1.1.0": version: 1.1.2 resolution: "cluster-key-slot@npm:1.1.2" @@ -13411,6 +15094,19 @@ __metadata: languageName: node linkType: hard +"co-body@npm:^6.2.0": + version: 6.2.0 + resolution: "co-body@npm:6.2.0" + dependencies: + "@hapi/bourne": ^3.0.0 + inflation: ^2.0.0 + qs: ^6.5.2 + raw-body: ^2.3.3 + type-is: ^1.6.16 + checksum: c89336086bb746291b5efd8999403eadce34810f2f1936ab4d38d2cb4290b7fc6b966d1d4e993a2788b3e954b8df63195dbdcb431a06ef2b0ac086fce8ae5c4c + languageName: node + linkType: hard + "co@npm:^4.6.0": version: 4.6.0 resolution: "co@npm:4.6.0" @@ -13836,7 +15532,7 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4": +"content-disposition@npm:0.5.4, content-disposition@npm:~0.5.2": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -13845,7 +15541,7 @@ __metadata: languageName: node linkType: hard -"content-type@npm:~1.0.4": +"content-type@npm:^1.0.4, content-type@npm:~1.0.4": version: 1.0.5 resolution: "content-type@npm:1.0.5" checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 @@ -14005,6 +15701,16 @@ __metadata: languageName: node linkType: hard +"cookies@npm:~0.9.0": + version: 0.9.1 + resolution: "cookies@npm:0.9.1" + dependencies: + depd: ~2.0.0 + keygrip: ~1.1.0 + checksum: 213e4d14847b582fbd8a003203d3621a4b9fa792a315c37954e89332d38fac5bcc34ba92ef316ad6d5fe28f0187aaa115927fbbe2080744ad1707a93b4313247 + languageName: node + linkType: hard + "copy-descriptor@npm:^0.1.0": version: 0.1.1 resolution: "copy-descriptor@npm:0.1.1" @@ -14046,6 +15752,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.48.0": + version: 3.49.0 + resolution: "core-js-compat@npm:3.49.0" + dependencies: + browserslist: ^4.28.1 + checksum: 21afa75a64b30810f4cc61e90758346e8df6bd20dd8da5afe08fc041b5fb766cf7c41c9cbc63f8fb96bef4e4a2a90eb6f2d7bbd20ac53b8ff23a58bc87e40231 + languageName: node + linkType: hard + "core-js-pure@npm:^3.23.3": version: 3.32.0 resolution: "core-js-pure@npm:3.32.0" @@ -14115,6 +15830,19 @@ __metadata: languageName: node linkType: hard +"cosmiconfig@npm:^6.0.0": + version: 6.0.0 + resolution: "cosmiconfig@npm:6.0.0" + dependencies: + "@types/parse-json": ^4.0.0 + import-fresh: ^3.1.0 + parse-json: ^5.0.0 + path-type: ^4.0.0 + yaml: ^1.7.2 + checksum: 8eed7c854b91643ecb820767d0deb038b50780ecc3d53b0b19e03ed8aabed4ae77271198d1ae3d49c3b110867edf679f5faad924820a8d1774144a87cb6f98fc + languageName: node + linkType: hard + "cosmiconfig@npm:^7.0.1": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" @@ -14463,7 +16191,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.4.3": +"debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -14584,6 +16312,13 @@ __metadata: languageName: node linkType: hard +"deep-equal@npm:~1.0.1": + version: 1.0.1 + resolution: "deep-equal@npm:1.0.1" + checksum: 5af8cbfcebf190491878a498caccc7dc9592f8ebd1685b976eacc3825619d222b5e929923163b92c4f414494e2b884f7ebf00c022e8198e8292deb70dd9785f4 + languageName: node + linkType: hard + "deep-extend@npm:^0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" @@ -14741,7 +16476,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0, depd@npm:^2.0.0": +"depd@npm:2.0.0, depd@npm:^2.0.0, depd@npm:~2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a @@ -14755,7 +16490,7 @@ __metadata: languageName: node linkType: hard -"destroy@npm:1.2.0": +"destroy@npm:1.2.0, destroy@npm:^1.0.4": version: 1.2.0 resolution: "destroy@npm:1.2.0" checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 @@ -14839,6 +16574,23 @@ __metadata: languageName: node linkType: hard +"devalue@npm:^5.8.1": + version: 5.8.2 + resolution: "devalue@npm:5.8.2" + checksum: 1ad55c5d4524c06fe86465235b721980e2affc05a0a0d51531b0d78407eafc331fe5fcc64747563c2c6a632c06bb0df5b3a2507a2fc667676a9edf9e2dbc0724 + languageName: node + linkType: hard + +"dezalgo@npm:^1.0.4": + version: 1.0.4 + resolution: "dezalgo@npm:1.0.4" + dependencies: + asap: ^2.0.0 + wrappy: 1 + checksum: 895389c6aead740d2ab5da4d3466d20fa30f738010a4d3f4dcccc9fc645ca31c9d10b7e1804ae489b1eb02c7986f9f1f34ba132d409b043082a86d9a4e745624 + languageName: node + linkType: hard + "dfa@npm:^1.2.0": version: 1.2.0 resolution: "dfa@npm:1.2.0" @@ -15148,6 +16900,17 @@ __metadata: languageName: node linkType: hard +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: ^1.0.1 + es-errors: ^1.3.0 + gopd: ^1.2.0 + checksum: 149207e36f07bd4941921b0ca929e3a28f1da7bd6b6ff8ff7f4e2f2e460675af4576eeba359c635723dc189b64cdd4787e0255897d5b135ccc5d15cb8685fc90 + languageName: node + linkType: hard + "duplexer2@npm:^0.1.2": version: 0.1.4 resolution: "duplexer2@npm:0.1.4" @@ -15259,6 +17022,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.393": + version: 1.5.396 + resolution: "electron-to-chromium@npm:1.5.396" + checksum: e5d7856db162236663c6d61bc6f6b713423591334aa8c5d22eaea0c2fa2eefac1a5aaa818e869a6170cd92f0f70a99c24ed51ad4cce8c7057b4789cf31f283cc + languageName: node + linkType: hard + "electron-to-chromium@npm:^1.5.73": version: 1.5.138 resolution: "electron-to-chromium@npm:1.5.138" @@ -15351,7 +17121,7 @@ __metadata: languageName: node linkType: hard -"encodeurl@npm:~1.0.2": +"encodeurl@npm:^1.0.2, encodeurl@npm:~1.0.2": version: 1.0.2 resolution: "encodeurl@npm:1.0.2" checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c @@ -15521,6 +17291,20 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 0512f4e5d564021c9e3a644437b0155af2679d10d80f21adaf868e64d30efdfbd321631956f20f42d655fedb2e3a027da479fad3fa6048f768eb453a80a5f80a + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 + languageName: node + linkType: hard + "es-module-lexer@npm:^1.2.1": version: 1.3.0 resolution: "es-module-lexer@npm:1.3.0" @@ -15528,6 +17312,15 @@ __metadata: languageName: node linkType: hard +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.2 + resolution: "es-object-atoms@npm:1.1.2" + dependencies: + es-errors: ^1.3.0 + checksum: b821f39e4f48bd85b13fee80aea9068a674bcb78b95ff01267aa4da1111f83e6944049b3329b2ffdb3acaa266fb5b8b885476fe8cada05034dc7c87c8016c86d + languageName: node + linkType: hard + "es-set-tostringtag@npm:^2.0.1": version: 2.0.1 resolution: "es-set-tostringtag@npm:2.0.1" @@ -15594,7 +17387,7 @@ __metadata: languageName: node linkType: hard -"escape-html@npm:~1.0.3": +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 @@ -15608,7 +17401,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": +"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" checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 @@ -16043,6 +17836,13 @@ __metadata: languageName: node linkType: hard +"esm-env@npm:^1.2.1": + version: 1.2.2 + resolution: "esm-env@npm:1.2.2" + checksum: 3fb28f6f84b33219df8bf15ea0efcb1110512199014072a19e90c2ea37316dccb6309c90230d760c4c28a324ebc5ebecf0af809cefebe7558730bd6d401c93b5 + languageName: node + linkType: hard + "espree@npm:9.5.0": version: 9.5.0 resolution: "espree@npm:9.5.0" @@ -16084,6 +17884,20 @@ __metadata: languageName: node linkType: hard +"esrap@npm:^2.2.12": + version: 2.3.0 + resolution: "esrap@npm:2.3.0" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.15 + peerDependencies: + "@typescript-eslint/types": ^8.2.0 + peerDependenciesMeta: + "@typescript-eslint/types": + optional: true + checksum: df476c3c71b218c04eefe5015f47d5a287bfddfd14013ac6f76d4ab1ad7a84c2d1b931ae189c341198982a39cbdcb6e3fbd6fd4dfc3a5923be953f47b99769f9 + languageName: node + linkType: hard + "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -16107,6 +17921,13 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^2.0.1": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 6151e6f9828abe2259e57f5fd3761335bb0d2ebd76dc1a01048ccee22fabcfef3c0859300f6d83ff0d1927849368775ec5a6d265dde2f6de5a1be1721cd94efc + languageName: node + linkType: hard + "esutils@npm:^2.0.2, esutils@npm:^2.0.3": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -16955,6 +18776,13 @@ __metadata: languageName: node linkType: hard +"foreachasync@npm:^3.0.0": + version: 3.0.0 + resolution: "foreachasync@npm:3.0.0" + checksum: 4791f64b539b06c751b14adb2881173c780d41ce37d881715a5e5787fa4a08961f2c6a6cf3bccdfa48e56fb91d8676d867fdc63c008cdb576bd33261716e8381 + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -17010,6 +18838,17 @@ __metadata: languageName: node linkType: hard +"formidable@npm:^3.5.4": + version: 3.5.4 + resolution: "formidable@npm:3.5.4" + dependencies: + "@paralleldrive/cuid2": ^2.2.2 + dezalgo: ^1.0.4 + once: ^1.4.0 + checksum: bdb8ecd8af16d40e7e4c06a9dbaf0394fe9cabb7a4cef6f68512ce6fe7933f5a9c588dfc5c1d92cbf83a9e4764f5216064d955669530d3d23ca816e93ea62989 + languageName: node + linkType: hard + "forwarded@npm:0.2.0": version: 0.2.0 resolution: "forwarded@npm:0.2.0" @@ -17040,7 +18879,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": +"fresh@npm:0.5.2, fresh@npm:~0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 @@ -17191,6 +19030,13 @@ __metadata: languageName: node linkType: hard +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 + languageName: node + linkType: hard + "function.prototype.name@npm:^1.1.5": version: 1.1.5 resolution: "function.prototype.name@npm:1.1.5" @@ -17275,6 +19121,13 @@ __metadata: languageName: node linkType: hard +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 3bf87f7b0230de5d74529677e6c3ceb3b7b5d9618b5a22d92b45ce3876defbaf5a77791b25a61b0fa7d13f95675b5ff67a7769f3b9af33f096e34653519e873d + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -17315,6 +19168,27 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" + dependencies: + async-function: ^1.0.0 + async-generator-function: ^1.0.0 + call-bind-apply-helpers: ^1.0.2 + es-define-property: ^1.0.1 + es-errors: ^1.3.0 + es-object-atoms: ^1.1.1 + function-bind: ^1.1.2 + generator-function: ^2.0.0 + get-proto: ^1.0.1 + gopd: ^1.2.0 + has-symbols: ^1.1.0 + hasown: ^2.0.2 + math-intrinsics: ^1.1.0 + checksum: c02b3b6a445f9cd53e14896303794ac60f9751f58a69099127248abdb0251957174c6524245fc68579dc8e6a35161d3d94c93e665f808274716f4248b269436a + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -17322,6 +19196,16 @@ __metadata: languageName: node linkType: hard +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: ^1.0.1 + es-object-atoms: ^1.0.0 + checksum: 4fc96afdb58ced9a67558698b91433e6b037aaa6f1493af77498d7c85b141382cf223c0e5946f334fb328ee85dfe6edd06d218eaf09556f4bc4ec6005d7f5f7b + languageName: node + linkType: hard + "get-stdin@npm:^8.0.0": version: 8.0.0 resolution: "get-stdin@npm:8.0.0" @@ -17392,6 +19276,18 @@ __metadata: languageName: node linkType: hard +"gettext-parser@npm:6.0.0, gettext-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "gettext-parser@npm:6.0.0" + dependencies: + content-type: ^1.0.4 + encoding: ^0.1.13 + readable-stream: ^4.1.0 + safe-buffer: ^5.2.1 + checksum: e6938755d914e886c780a71e58390af0a5ea5698aab2777654733da4c4b96e02fcc9d40c50df0987e4d4a12bd6b99291a268805edb8c99a83a639606ab73e40e + languageName: node + linkType: hard + "git-raw-commits@npm:^2.0.11": version: 2.0.11 resolution: "git-raw-commits@npm:2.0.11" @@ -17475,6 +19371,17 @@ __metadata: languageName: node linkType: hard +"glob@npm:13.0.0": + version: 13.0.0 + resolution: "glob@npm:13.0.0" + dependencies: + minimatch: ^10.1.1 + minipass: ^7.1.2 + path-scurry: ^2.0.0 + checksum: 963730222b0acc85a0d2616c08ba3a5d5b5f33fbf69182791967b8a02245db505577a6fc19836d5d58e1cbbfb414ad4f62f605a0372ab05cd9e6998efe944369 + languageName: node + linkType: hard + "glob@npm:7.1.6": version: 7.1.6 resolution: "glob@npm:7.1.6" @@ -17683,6 +19590,13 @@ __metadata: languageName: node linkType: hard +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: cc6d8e655e360955bdccaca51a12a474268f95bb793fc3e1f2bdadb075f28bfd1fd988dab872daf77a61d78cbaf13744bc8727a17cfb1d150d76047d805375f3 + languageName: node + linkType: hard + "got@npm:^11.7.0, got@npm:^11.8.5": version: 11.8.6 resolution: "got@npm:11.8.6" @@ -17847,6 +19761,15 @@ __metadata: languageName: node linkType: hard +"has-ansi@npm:^2.0.0": + version: 2.0.0 + resolution: "has-ansi@npm:2.0.0" + dependencies: + ansi-regex: ^2.0.0 + checksum: 1b51daa0214440db171ff359d0a2d17bc20061164c57e76234f614c91dbd2a79ddd68dfc8ee73629366f7be45a6df5f2ea9de83f52e1ca24433f2cc78c35d8ec + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -17891,6 +19814,13 @@ __metadata: languageName: node linkType: hard +"has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: b2316c7302a0e8ba3aaba215f834e96c22c86f192e7310bdf689dd0e6999510c89b00fbc5742571507cebf25764d68c988b3a0da217369a73596191ac0ce694b + languageName: node + linkType: hard + "has-tostringtag@npm:^1.0.0": version: 1.0.0 resolution: "has-tostringtag@npm:1.0.0" @@ -17900,6 +19830,15 @@ __metadata: languageName: node linkType: hard +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: ^1.0.3 + checksum: 999d60bb753ad714356b2c6c87b7fb74f32463b8426e159397da4bde5bca7e598ab1073f4d8d4deafac297f2eb311484cd177af242776bf05f0d11565680468d + languageName: node + linkType: hard + "has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -17962,6 +19901,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.2, hasown@npm:^2.0.3": + version: 2.0.4 + resolution: "hasown@npm:2.0.4" + dependencies: + function-bind: ^1.1.2 + checksum: 4bd8f916b629e06324853593ffbdd45e200022952a85ad0c967f3bd4c2e4c7e1f9a9766fbe6186f60bd394e0afc73e719730caa1da15cd9bd832b7cdf53fd26c + languageName: node + linkType: hard + "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -18169,6 +20117,16 @@ __metadata: languageName: node linkType: hard +"http-assert@npm:^1.3.0": + version: 1.5.0 + resolution: "http-assert@npm:1.5.0" + dependencies: + deep-equal: ~1.0.1 + http-errors: ~1.8.0 + checksum: 69c9b3c14cf8b2822916360a365089ce936c883c49068f91c365eccba5c141a9964d19fdda589150a480013bf503bf37d8936c732e9635819339e730ab0e7527 + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -18196,6 +20154,32 @@ __metadata: languageName: node linkType: hard +"http-errors@npm:^1.6.3, http-errors@npm:~1.8.0": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.1 + checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 + languageName: node + linkType: hard + +"http-errors@npm:^2.0.0, http-errors@npm:~2.0.1": + version: 2.0.1 + resolution: "http-errors@npm:2.0.1" + dependencies: + depd: ~2.0.0 + inherits: ~2.0.4 + setprototypeof: ~1.2.0 + statuses: ~2.0.2 + toidentifier: ~1.0.1 + checksum: 155d1a100a06e4964597013109590b97540a177b69c3600bbc93efc746465a99a2b718f43cdf76b3791af994bbe3a5711002046bf668cdc007ea44cea6df7ccd + languageName: node + linkType: hard + "http-errors@npm:~1.6.2": version: 1.6.3 resolution: "http-errors@npm:1.6.3" @@ -18371,6 +20355,15 @@ __metadata: languageName: node linkType: hard +"hunspell-spellchecker@npm:^1.0.2": + version: 1.0.2 + resolution: "hunspell-spellchecker@npm:1.0.2" + bin: + hunspell-tojson: ./bin/hunspell-tojson.js + checksum: 098e00a705b1b8975924ccef1b23e1d63acc139a493a392bb55f887926c518b2edae01f9a697cffa73346160c562f89610f80d354360a2cb637a67f7c54f8227 + languageName: node + linkType: hard + "hyphen@npm:^1.6.4": version: 1.10.4 resolution: "hyphen@npm:1.10.4" @@ -18388,7 +20381,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": +"iconv-lite@npm:0.4.24, iconv-lite@npm:~0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -18470,7 +20463,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.3.1": +"ignore@npm:^5.1.8, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 2acfd32a573260ea522ea0bfeff880af426d68f6831f973129e2ba7363f422923cf53aab62f8369cbf4667c7b25b6f8a3761b34ecdb284ea18e87a5262a865be @@ -18522,6 +20515,16 @@ __metadata: languageName: node linkType: hard +"import-fresh@npm:^3.1.0": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 + languageName: node + linkType: hard + "import-in-the-middle@npm:1.4.2": version: 1.4.2 resolution: "import-in-the-middle@npm:1.4.2" @@ -18612,6 +20615,13 @@ __metadata: languageName: node linkType: hard +"inflation@npm:^2.0.0": + version: 2.1.0 + resolution: "inflation@npm:2.1.0" + checksum: 80c1b5d9ec408105a85f0623c824d668ddf0cadafd8d9716c0737990e5a712ae5f7d6bb0ff216b6648eccb9c6ac69fe06c0d8c58456d168db5bf550c89dd74ed + languageName: node + linkType: hard + "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -18622,7 +20632,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -18882,6 +20892,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.16.1": + version: 2.16.2 + resolution: "is-core-module@npm:2.16.2" + dependencies: + hasown: ^2.0.3 + checksum: 9317844b4959f8fb268bfc1b4e24033d60058235c2e7273499c2abfd8e4510e7059b1339bd9109766293747daa3e0b5a89095fb2825a866a4093563fe8fdf16f + languageName: node + linkType: hard + "is-data-descriptor@npm:^0.1.4": version: 0.1.4 resolution: "is-data-descriptor@npm:0.1.4" @@ -19014,6 +21033,19 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.7": + version: 1.1.2 + resolution: "is-generator-function@npm:1.1.2" + dependencies: + call-bound: ^1.0.4 + generator-function: ^2.0.0 + get-proto: ^1.0.1 + has-tostringtag: ^1.0.2 + safe-regex-test: ^1.1.0 + checksum: 0b81c613752a5e534939e5b3835ff722446837a5b94c3a3934af5ded36a651d9aa31c3f11f8a3453884b9658bf26dbfb7eb855e744d920b07f084bd890a43414 + languageName: node + linkType: hard + "is-glob@npm:^3.1.0": version: 3.1.0 resolution: "is-glob@npm:3.1.0" @@ -19199,6 +21231,15 @@ __metadata: languageName: node linkType: hard +"is-reference@npm:^3.0.3": + version: 3.0.3 + resolution: "is-reference@npm:3.0.3" + dependencies: + "@types/estree": ^1.0.6 + checksum: 11371fb2669a8144bffb2ae9bd11b0342b7dc384c3c0f8d5996566b071614282a3a0d306fd2fd1c6b4c9078d0e2703d191b47f4f78f9ce08f464c44a3a412412 + languageName: node + linkType: hard + "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -19209,6 +21250,18 @@ __metadata: languageName: node linkType: hard +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" + dependencies: + call-bound: ^1.0.2 + gopd: ^1.2.0 + has-tostringtag: ^1.0.2 + hasown: ^2.0.2 + checksum: 99ee0b6d30ef1bb61fa4b22fae7056c6c9b3c693803c0c284ff7a8570f83075a7d38cda53b06b7996d441215c27895ea5d1af62124562e13d91b3dbec41a5e13 + languageName: node + linkType: hard + "is-relative@npm:^0.1.0": version: 0.1.3 resolution: "is-relative@npm:0.1.3" @@ -20336,7 +22389,7 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^3.0.2": +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": version: 3.1.0 resolution: "jsesc@npm:3.1.0" bin: @@ -20637,6 +22690,15 @@ __metadata: languageName: node linkType: hard +"keygrip@npm:~1.1.0": + version: 1.1.0 + resolution: "keygrip@npm:1.1.0" + dependencies: + tsscmp: 1.0.6 + checksum: 078cd16a463d187121f0a27c1c9c95c52ad392b620f823431689f345a0501132cee60f6e96914b07d570105af470b96960402accd6c48a0b1f3cd8fac4fa2cae + languageName: node + linkType: hard + "keytar@npm:^7.9.0": version: 7.9.0 resolution: "keytar@npm:7.9.0" @@ -20703,6 +22765,81 @@ __metadata: languageName: node linkType: hard +"koa-body@npm:^7.0.1": + version: 7.0.1 + resolution: "koa-body@npm:7.0.1" + dependencies: + "@types/co-body": ^6.1.3 + "@types/formidable": ^3.4.6 + "@types/koa": ^3.0.0 + co-body: ^6.2.0 + formidable: ^3.5.4 + type-fest: ^5.3.1 + zod: ^4.1.12 + checksum: ec9783225a340a3df718722a5b03295e4610a697a45677d6c8cdb070d977db85f6818eed1c3aeb382048bfff3b2dc27f56a9fe8d6745e4a6619a0e9678bf27a4 + languageName: node + linkType: hard + +"koa-compose@npm:^4.1.0": + version: 4.1.0 + resolution: "koa-compose@npm:4.1.0" + checksum: 46cb16792d96425e977c2ae4e5cb04930280740e907242ec9c25e3fb8b4a1d7b54451d7432bc24f40ec62255edea71894d2ceeb8238501842b4e48014f2e83db + languageName: node + linkType: hard + +"koa-convert@npm:^2.0.0": + version: 2.0.0 + resolution: "koa-convert@npm:2.0.0" + dependencies: + co: ^4.6.0 + koa-compose: ^4.1.0 + checksum: 7385b3391995f59c1312142e110d5dff677f9850dbfbcf387cd36a7b0af03b5d26e82b811eb9bb008b4f3e661cdab1f8817596e46b1929da2cf6e97a2f7456ed + languageName: node + linkType: hard + +"koa-router@npm:^14.0.0": + version: 14.0.0 + resolution: "koa-router@npm:14.0.0" + dependencies: + debug: ^4.4.1 + http-errors: ^2.0.0 + koa-compose: ^4.1.0 + path-to-regexp: ^8.2.0 + checksum: 8e948c2f53103432f9c99f578b4fdf1b121603762fcd52c035fea309047bcd47960ec430e2ae50c1baafb88b686eb30e05982d63265dd8a8c655cc3a879e1116 + languageName: node + linkType: hard + +"koa@npm:^2.16.4": + version: 2.16.4 + resolution: "koa@npm:2.16.4" + dependencies: + accepts: ^1.3.5 + cache-content-type: ^1.0.0 + content-disposition: ~0.5.2 + content-type: ^1.0.4 + cookies: ~0.9.0 + debug: ^4.3.2 + delegates: ^1.0.0 + depd: ^2.0.0 + destroy: ^1.0.4 + encodeurl: ^1.0.2 + escape-html: ^1.0.3 + fresh: ~0.5.2 + http-assert: ^1.3.0 + http-errors: ^1.6.3 + is-generator-function: ^1.0.7 + koa-compose: ^4.1.0 + koa-convert: ^2.0.0 + on-finished: ^2.3.0 + only: ~0.0.2 + parseurl: ^1.3.2 + statuses: ^1.5.0 + type-is: ^1.6.16 + vary: ^1.1.2 + checksum: 117cacd60e4a9816a0dc7bdf29bc4660fc95718182a12881f7863fe5a40b4e667c9d71891129d794f070f61f5417ffd90ae28cfc58f89f3b87e75351ba2ad201 + languageName: node + linkType: hard + "kuler@npm:^2.0.0": version: 2.0.0 resolution: "kuler@npm:2.0.0" @@ -20953,6 +23090,13 @@ __metadata: languageName: node linkType: hard +"locate-character@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-character@npm:3.0.0" + checksum: 2d9e9f45e2dce7464c016ed6d81ebc938bc9c656392f7d6858308ab6fdaa57bcd4b6b479291d49e7db4047e3f321ddadbe78355f349b7974b203f19674e277cc + languageName: node + linkType: hard + "locate-path@npm:^3.0.0": version: 3.0.0 resolution: "locate-path@npm:3.0.0" @@ -21088,6 +23232,13 @@ __metadata: languageName: node linkType: hard +"lodash.mapvalues@npm:^4.6.0": + version: 4.6.0 + resolution: "lodash.mapvalues@npm:4.6.0" + checksum: 0ff1b252fda318fc36e47c296984925e98fbb0fc5a2ecc4ef458f3c739a9476d47e40c95ac653e8314d132aa59c746d4276527b99d6e271940555c6e12d2babd + languageName: node + linkType: hard + "lodash.memoize@npm:4.x": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" @@ -21158,6 +23309,15 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^1.0.2": + version: 1.0.2 + resolution: "log-symbols@npm:1.0.2" + dependencies: + chalk: ^1.0.0 + checksum: 5214ade9381db5d40528c171fdfd459b75cad7040eb6a347294ae47fa80cfebba4adbc3aa73a1c9da744cbfa240dd93b38f80df8615717affeea6c4bb6b8dfe7 + languageName: node + linkType: hard + "log-symbols@npm:^4.1.0": version: 4.1.0 resolution: "log-symbols@npm:4.1.0" @@ -21320,6 +23480,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.11": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": ^1.5.5 + checksum: 4ff76a4e8d439431cf49f039658751ed351962d044e5955adc257489569bd676019c906b631f86319217689d04815d7d064ee3ff08ab82ae65b7655a7e82a414 + languageName: node + linkType: hard + "make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -21494,6 +23663,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 0e513b29d120f478c85a70f49da0b8b19bc638975eca466f2eeae0071f3ad00454c621bf66e16dd435896c208e719fc91ad79bbfba4e400fe0b372e7c1c9c9a2 + languageName: node + linkType: hard + "md5-hex@npm:^3.0.1": version: 3.0.1 resolution: "md5-hex@npm:3.0.1" @@ -21907,7 +24083,7 @@ __metadata: 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.35, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:^2.1.35, 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: @@ -21934,6 +24110,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^1.0.0": + version: 1.2.0 + resolution: "mimic-fn@npm:1.2.0" + checksum: 69c08205156a1f4906d9c46f9b4dc08d18a50176352e77fdeb645cedfe9f20c0b19865d465bd2dec27a5c432347f24dc07fc3695e11159d193f892834233e939 + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -22257,16 +24440,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^2.1.3": - version: 2.1.6 - resolution: "mkdirp@npm:2.1.6" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 8a1d09ffac585e55f41c54f445051f5bc33a7de99b952bb04c576cafdf1a67bb4bae8cb93736f7da6838771fbf75bc630430a3a59e1252047d2278690bd150ee - languageName: node - linkType: hard - -"mkdirp@npm:~0.5.1": +"mkdirp@npm:^0.5.1, mkdirp@npm:~0.5.1": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" dependencies: @@ -22277,6 +24451,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^2.1.3": + version: 2.1.6 + resolution: "mkdirp@npm:2.1.6" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 8a1d09ffac585e55f41c54f445051f5bc33a7de99b952bb04c576cafdf1a67bb4bae8cb93736f7da6838771fbf75bc630430a3a59e1252047d2278690bd150ee + languageName: node + linkType: hard + "mobx-react-lite@npm:^3.4.2": version: 3.4.3 resolution: "mobx-react-lite@npm:3.4.3" @@ -22648,7 +24831,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.12": +"node-fetch@npm:^2.6.12, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -22812,6 +24995,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.51": + version: 2.0.51 + resolution: "node-releases@npm:2.0.51" + checksum: 0d607ebc5c1aa94ef110e6ab926ec51fca55b8534a889a42ffeda1575af00b3bf2e2473898fa45213a3dfedde5f2cedfc4dee2060967e97d6b9518531e388710 + languageName: node + linkType: hard + "node-stream-zip@npm:^1.9.1": version: 1.15.0 resolution: "node-stream-zip@npm:1.15.0" @@ -23273,6 +25463,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 582810c6a8d2ef988ea0a39e69e115a138dad8f42dd445383b394877e5816eb4268489f316a6f74ee9c4e0a984b3eab1028e3e79d62b1ed67c726661d55c7a8b + languageName: node + linkType: hard + "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -23367,7 +25564,7 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": +"on-finished@npm:2.4.1, on-finished@npm:^2.3.0": version: 2.4.1 resolution: "on-finished@npm:2.4.1" dependencies: @@ -23410,6 +25607,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^2.0.0": + version: 2.0.1 + resolution: "onetime@npm:2.0.1" + dependencies: + mimic-fn: ^1.0.0 + checksum: bb44015ac7a525d0fb43b029a583d4ad359834632b4424ca209b438aacf6d669dda81b5edfbdb42c22636e607b276ba5589f46694a729e3bc27948ce26f4cc1a + languageName: node + linkType: hard + "onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" @@ -23428,6 +25634,13 @@ __metadata: languageName: node linkType: hard +"only@npm:~0.0.2": + version: 0.0.2 + resolution: "only@npm:0.0.2" + checksum: d399710db867a1ef436dd3ce74499c87ece794aa81ab0370b5d153968766ee4aed2f98d3f92fc87c963e45b7a74d400d6f463ef651a5e7cfb861b15e88e9efe6 + languageName: node + linkType: hard + "open@npm:8.4.2, open@npm:^8.0.9": version: 8.4.2 resolution: "open@npm:8.4.2" @@ -23439,7 +25652,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^6.2.0": +"open@npm:^6.2.0, open@npm:^6.4.0": version: 6.4.0 resolution: "open@npm:6.4.0" dependencies: @@ -23498,6 +25711,18 @@ __metadata: languageName: node linkType: hard +"ora@npm:1.3.0": + version: 1.3.0 + resolution: "ora@npm:1.3.0" + dependencies: + chalk: ^1.1.1 + cli-cursor: ^2.1.0 + cli-spinners: ^1.0.0 + log-symbols: ^1.0.2 + checksum: 241a8e1038d7c1aac8801cb62aa25d505c5658c3014fd53b3e8d54e3586848e32c43c2a69f635bbb4554aae4a5800c54c785942080fca55b24e3863110dcd3d8 + languageName: node + linkType: hard + "ora@npm:^5.1.0, ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" @@ -23980,7 +26205,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:^1.3.2, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -24087,6 +26312,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:^8.2.0": + version: 8.4.2 + resolution: "path-to-regexp@npm:8.4.2" + checksum: c30fba443e413cc736b7b28056a4b60b537ae1caa80152da21e8093bd41deba7c408a4ac6f11a1bf594e089d8fd8d87ed31476c55c50983719fb355826370ade + languageName: node + linkType: hard + "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -24305,6 +26537,13 @@ __metadata: languageName: node linkType: hard +"plural-forms@npm:0.5.3": + version: 0.5.3 + resolution: "plural-forms@npm:0.5.3" + checksum: 3672f25d29cfc2f017bcee99f69b5c895997d20c5dd7ec433c33483452e86ecc50aebf8f04c38471e36cb555f28d4afa6337c4baff48a6dcf2eebe83b7baa104 + languageName: node + linkType: hard + "plural-forms@npm:^0.5.3": version: 0.5.5 resolution: "plural-forms@npm:0.5.5" @@ -25006,6 +27245,16 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.5.2": + version: 6.15.3 + resolution: "qs@npm:6.15.3" + dependencies: + es-define-property: ^1.0.1 + side-channel: ^1.1.1 + checksum: b59a0f20498f323d1f990f1fad3b808ee328f96c3c45575beeb0d51ec27dc0ed3422d9e9308a7c09f6000cb914b95dfb6eb7cca8636bc4d1befdc2a10cf59d2b + languageName: node + linkType: hard + "qs@npm:~6.5.2": version: 6.5.3 resolution: "qs@npm:6.5.3" @@ -25085,6 +27334,18 @@ __metadata: languageName: node linkType: hard +"raw-body@npm:^2.3.3": + version: 2.5.3 + resolution: "raw-body@npm:2.5.3" + dependencies: + bytes: ~3.1.2 + http-errors: ~2.0.1 + iconv-lite: ~0.4.24 + unpipe: ~1.0.0 + checksum: 16aa51e504318ebeef7f84a4d884c0f273cb0b7f3f14ea88788f92f5f488870617c97d4f886e84f119f21a2d6cdda3c4554821f8b18ed6be0d731ecb5a063d2a + languageName: node + linkType: hard + "raw-loader@npm:~0.5.1": version: 0.5.1 resolution: "raw-loader@npm:0.5.1" @@ -25513,6 +27774,19 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^4.1.0": + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" + dependencies: + abort-controller: ^3.0.0 + buffer: ^6.0.3 + events: ^3.3.0 + process: ^0.11.10 + string_decoder: ^1.3.0 + checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -25522,6 +27796,13 @@ __metadata: languageName: node linkType: hard +"readline-sync@npm:^1.4.7": + version: 1.4.10 + resolution: "readline-sync@npm:1.4.10" + checksum: 4dbd8925af028dc4cb1bb813f51ca3479035199aa5224886b560eec8e768ab27d7ebf11d69a67ed93d5a130b7c994f0bdb77796326e563cf928bbfd560e3747e + languageName: node + linkType: hard + "readline@npm:^1.3.0": version: 1.3.0 resolution: "readline@npm:1.3.0" @@ -25616,6 +27897,15 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" + dependencies: + regenerate: ^1.4.2 + checksum: 7ae4c1c32460c4360e3118c45eec0621424908f430fdd6f162c9172067786bf2b1682fbc885a33b26bc85e76e06f4d3f398b52425e801b0bb0cbae147dafb0b2 + languageName: node + linkType: hard + "regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -25718,6 +28008,20 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" + dependencies: + regenerate: ^1.4.2 + regenerate-unicode-properties: ^10.2.2 + regjsgen: ^0.8.0 + regjsparser: ^0.13.0 + unicode-match-property-ecmascript: ^2.0.0 + unicode-match-property-value-ecmascript: ^2.2.1 + checksum: a316eb988599b7fb9d77f4adb937c41c022504dc91ddd18175c11771addc7f1d9dce550f34e36038395e459a2cf9ffc0d663bfe8d3c6c186317ca000ba79a8cf + languageName: node + linkType: hard + "registry-auth-token@npm:^5.0.1": version: 5.0.2 resolution: "registry-auth-token@npm:5.0.2" @@ -25754,6 +28058,17 @@ __metadata: languageName: node linkType: hard +"regjsparser@npm:^0.13.0": + version: 0.13.2 + resolution: "regjsparser@npm:0.13.2" + dependencies: + jsesc: ~3.1.0 + bin: + regjsparser: bin/parser + checksum: 20ece45a3e9f63c8a3fa50fbcde7a3cc35d97c244ca9bc1c94d0907d4f6eb3f50bb7326e60f848649024d7cd6ff89c9a75a36d6faded0cf225677a3d13914a31 + languageName: node + linkType: hard + "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -25965,6 +28280,20 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.12.0, resolve@npm:^1.22.11": + version: 1.22.12 + resolution: "resolve@npm:1.22.12" + dependencies: + es-errors: ^1.3.0 + is-core-module: ^2.16.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 4dc5a614b32142ef9ab455b242ed33c472c4ea50df17dbe1e9dac5fe0eebd7d5fdb7cb9cc8ad2165e5e0f07694498a74e7fbd6cc1599e20d84682cce1b80a4dc + languageName: node + linkType: hard + "resolve@npm:^2.0.0-next.4": version: 2.0.0-next.4 resolution: "resolve@npm:2.0.0-next.4" @@ -25991,6 +28320,20 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.22.11#~builtin": + version: 1.22.12 + resolution: "resolve@patch:resolve@npm%3A1.22.12#~builtin::version=1.22.12&hash=07638b" + dependencies: + es-errors: ^1.3.0 + is-core-module: ^2.16.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 0cc5b060cbe081c85c331ac2eb08e8a54f0a195b899d5001822e5d3e2b335da651b1eed3d259fea904c22a0da9324a061e0e7ceab5dbeb5bcab5250b625754e1 + languageName: node + linkType: hard + "resolve@patch:resolve@^2.0.0-next.4#~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" @@ -26022,6 +28365,16 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^2.0.0": + version: 2.0.0 + resolution: "restore-cursor@npm:2.0.0" + dependencies: + onetime: ^2.0.0 + signal-exit: ^3.0.2 + checksum: 482e13d02d834b6e5e3aa90304a8b5e840775d6f06916cc92a50038adf9f098dcc72405b567da8a37e137ae40ad3e31896fa3136ae62f7a426c2fbf53d036536 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -26167,7 +28520,7 @@ __metadata: languageName: node linkType: hard -"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.2, 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.2, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -26192,6 +28545,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + is-regex: ^1.2.1 + checksum: 3c809abeb81977c9ed6c869c83aca6873ea0f3ab0f806b8edbba5582d51713f8a6e9757d24d2b4b088f563801475ea946c8e77e7713e8c65cdd02305b6caedab + languageName: node + linkType: hard + "safe-regex@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex@npm:1.1.0" @@ -26542,6 +28906,13 @@ __metadata: languageName: node linkType: hard +"serialize-javascript@npm:^7.0.5": + version: 7.0.7 + resolution: "serialize-javascript@npm:7.0.7" + checksum: 197edeab01b3afb93b53e0dfedf3bb686f4cd3538a498dcd678993a1420462ed0e9bce7a297f4e3dafc4dad12f471e882f3fb17f0f316371b14756df942faa48 + languageName: node + linkType: hard + "serve-index@npm:^1.9.1": version: 1.9.1 resolution: "serve-index@npm:1.9.1" @@ -26614,7 +28985,7 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": +"setprototypeof@npm:1.2.0, setprototypeof@npm:~1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 @@ -26686,6 +29057,41 @@ __metadata: languageName: node linkType: hard +"side-channel-list@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-list@npm:1.0.1" + dependencies: + es-errors: ^1.3.0 + object-inspect: ^1.13.4 + checksum: 3499671cd52adaee739eac1e14d07530b8e3530192741aeb05e7fe4ad1b51d1368ceea2cd3c21b0f62b05410a5c70a7c4d997ba4b143303ef73d0c65dfd1c252 + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.5 + object-inspect: ^1.13.3 + checksum: 42501371cdf71f4ccbbc9c9e2eb00aaaab80a4c1c429d5e8da713fd4d39ef3b8d4a4b37ed4f275798a65260a551a7131fd87fe67e922dba4ac18586d6aab8b06 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.5 + object-inspect: ^1.13.3 + side-channel-map: ^1.0.1 + checksum: a815c89bc78c5723c714ea1a77c938377ea710af20d4fb886d362b0d1f8ac73a17816a5f6640f354017d7e292a43da9c5e876c22145bac00b76cfb3468001736 + languageName: node + linkType: hard + "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -26697,6 +29103,19 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.1.1": + version: 1.1.1 + resolution: "side-channel@npm:1.1.1" + dependencies: + es-errors: ^1.3.0 + object-inspect: ^1.13.4 + side-channel-list: ^1.0.1 + side-channel-map: ^1.0.1 + side-channel-weakmap: ^1.0.2 + checksum: e0f217140c463636ee556260bbc8f47ba2931f1248826f58e1502704135814c763b325dd9ab122a04176aa45b4a4f8cc556415bcab7a0179d85250fb7812f063 + languageName: node + linkType: hard + "sign-addon@npm:5.3.0": version: 5.3.0 resolution: "sign-addon@npm:5.3.0" @@ -27365,13 +29784,20 @@ __metadata: languageName: node linkType: hard -"statuses@npm:>= 1.4.0 < 2, statuses@npm:~1.5.0": +"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0, statuses@npm:~1.5.0": version: 1.5.0 resolution: "statuses@npm:1.5.0" checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c languageName: node linkType: hard +"statuses@npm:~2.0.2": + version: 2.0.2 + resolution: "statuses@npm:2.0.2" + checksum: 6927feb50c2a75b2a4caab2c565491f7a93ad3d8dbad7b1398d52359e9243a20e2ebe35e33726dee945125ef7a515e9097d8a1b910ba2bbd818265a2f6c39879 + languageName: node + linkType: hard + "stream-chain@npm:^2.2.5": version: 2.2.5 resolution: "stream-chain@npm:2.2.5" @@ -27548,6 +29974,15 @@ __metadata: languageName: node linkType: hard +"strip-ansi@npm:^3.0.0": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: ^2.0.0 + checksum: 9b974de611ce5075c70629c00fa98c46144043db92ae17748fb780f706f7a789e9989fd10597b7c2053ae8d1513fd707816a91f1879b2f71e6ac0b6a863db465 + languageName: node + linkType: hard + "strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.2.0": version: 5.2.0 resolution: "strip-ansi@npm:5.2.0" @@ -27735,6 +30170,13 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^2.0.0": + version: 2.0.0 + resolution: "supports-color@npm:2.0.0" + checksum: 602538c5812b9006404370b5a4b885d3e2a1f6567d314f8b4a41974ffe7d08e525bf92ae0f9c7030e3b4c78e4e34ace55d6a67a74f1571bc205959f5972f88f0 + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -27769,6 +30211,30 @@ __metadata: languageName: node linkType: hard +"svelte@npm:^5.55.5": + version: 5.56.8 + resolution: "svelte@npm:5.56.8" + dependencies: + "@jridgewell/remapping": ^2.3.4 + "@jridgewell/sourcemap-codec": ^1.5.0 + "@sveltejs/acorn-typescript": ^1.0.10 + "@types/estree": ^1.0.5 + "@types/trusted-types": ^2.0.7 + acorn: ^8.12.1 + aria-query: 5.3.1 + axobject-query: ^4.1.0 + clsx: ^2.1.1 + devalue: ^5.8.1 + esm-env: ^1.2.1 + esrap: ^2.2.12 + is-reference: ^3.0.3 + locate-character: ^3.0.0 + magic-string: ^0.30.11 + zimmerframe: ^1.1.2 + checksum: 3ccdb287aa7a706a1e195d3194ea83833924957856b0d0214314edddda2233746c4a769548236ca347fe31c70944546a9fac2307df06a964b7cf47460f899ef8 + languageName: node + linkType: hard + "svg-arc-to-cubic-bezier@npm:^3.0.0, svg-arc-to-cubic-bezier@npm:^3.2.0": version: 3.2.0 resolution: "svg-arc-to-cubic-bezier@npm:3.2.0" @@ -27831,6 +30297,13 @@ __metadata: languageName: node linkType: hard +"tagged-tag@npm:^1.0.0": + version: 1.0.0 + resolution: "tagged-tag@npm:1.0.0" + checksum: e37653df3e495daa7ea7790cb161b810b00075bba2e4d6c93fb06a709e747e3ae9da11a120d0489833203926511b39e038a2affbd9d279cfb7a2f3fcccd30b5d + languageName: node + linkType: hard + "tailwindcss@npm:^3.4.0": version: 3.4.0 resolution: "tailwindcss@npm:3.4.0" @@ -28189,6 +30662,13 @@ __metadata: languageName: node linkType: hard +"tmp@npm:^0.2.5": + version: 0.2.7 + resolution: "tmp@npm:0.2.7" + checksum: 45dec2fc288ad368eeff7268cb6d5d33452c6d35f4f7d9b1b5e023409a141dab57a3c08b5f505daf3af6d69667a5f544fc1a5b6a27c6f9396a5a1b4002912f1c + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -28243,7 +30723,7 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.1": +"toidentifier@npm:1.0.1, toidentifier@npm:~1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 @@ -28490,6 +30970,13 @@ __metadata: languageName: node linkType: hard +"tsscmp@npm:1.0.6": + version: 1.0.6 + resolution: "tsscmp@npm:1.0.6" + checksum: 1512384def36bccc9125cabbd4c3b0e68608d7ee08127ceaa0b84a71797263f1a01c7f82fa69be8a3bd3c1396e2965d2f7b52d581d3a5eeaf3967fbc52e3b3bf + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -28501,6 +30988,49 @@ __metadata: languageName: node linkType: hard +"ttag-cli@npm:^1.11.2": + version: 1.12.0 + resolution: "ttag-cli@npm:1.12.0" + dependencies: + "@babel/core": ^7.29.0 + "@babel/generator": ^7.29.1 + "@babel/plugin-proposal-decorators": ^7.29.0 + "@babel/plugin-proposal-export-default-from": ^7.27.1 + "@babel/preset-env": ^7.29.5 + "@babel/preset-flow": ^7.27.1 + "@babel/preset-react": ^7.28.5 + "@babel/preset-typescript": ^7.28.5 + "@babel/template": ^7.28.6 + babel-plugin-ttag: 1.8.16 + chalk: ^2.4.2 + cross-spawn: ^7.0.6 + estree-walker: ^2.0.1 + gettext-parser: ^6.0.0 + glob: 13.0.0 + hunspell-spellchecker: ^1.0.2 + ignore: ^5.1.8 + is-glob: ^4.0.3 + koa: ^2.16.4 + koa-body: ^7.0.1 + koa-router: ^14.0.0 + mkdirp: ^0.5.1 + node-fetch: ^2.7.0 + open: ^6.4.0 + ora: 1.3.0 + plural-forms: 0.5.3 + readline-sync: ^1.4.7 + serialize-javascript: ^7.0.5 + svelte: ^5.55.5 + tmp: ^0.2.5 + vue-sfc-parser: ^0.1.2 + walk: 2.3.9 + yargs: ^16.2.0 + bin: + ttag: bin/ttag + checksum: fbd667433a12f4f59f9db51e76d27df597cf7ed73191e3ebf4278a577e712586d26b32d4a6981e6fede464d24117e1b88d4c07fbe5574ed4c76e0a7b8ee725b8 + languageName: node + linkType: hard + "ttag@npm:^1.8.12": version: 1.8.12 resolution: "ttag@npm:1.8.12" @@ -28635,7 +31165,16 @@ __metadata: languageName: node linkType: hard -"type-is@npm:~1.6.18": +"type-fest@npm:^5.3.1": + version: 5.8.0 + resolution: "type-fest@npm:5.8.0" + dependencies: + tagged-tag: ^1.0.0 + checksum: d234cd3ad6b0d57641223ca1fdeb7b4162c8656e50184f3d8e4a8a8b580519b959c0a5bca6c80609b90bba7e2769b69eb941f0293e27d49bd07273f7f93c9ab9 + languageName: node + linkType: hard + +"type-is@npm:^1.6.16, type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -28928,6 +31467,13 @@ __metadata: languageName: node linkType: hard +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: e6c73e07bb4dc4aa399797a14b170e84a30ed290bcf97cc4305cf67dde8744119721ce17cef03f4f9d4ff48654bfa26eadc7fe1e8dd4b71b8f3b2e9a9742f013 + languageName: node + linkType: hard + "unicode-properties@npm:^1.4.0, unicode-properties@npm:^1.4.1": version: 1.4.1 resolution: "unicode-properties@npm:1.4.1" @@ -29145,6 +31691,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.2.3": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" + dependencies: + escalade: ^3.2.0 + picocolors: ^1.1.1 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 6f209a97ae8eacdd3a1ef2eb365adf49d1e2a757e5b2dd4ac87dc8c99236cbe3e572d3e605a87dd7b538a11751b71d9f93edc47c7405262a293a493d155316cd + languageName: node + linkType: hard + "update-notifier@npm:6.0.2, update-notifier@npm:^6.0.2": version: 6.0.2 resolution: "update-notifier@npm:6.0.2" @@ -29333,7 +31893,7 @@ __metadata: languageName: node linkType: hard -"vary@npm:^1, vary@npm:~1.1.2": +"vary@npm:^1, vary@npm:^1.1.2, vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b @@ -29380,6 +31940,15 @@ __metadata: languageName: node linkType: hard +"vue-sfc-parser@npm:^0.1.2": + version: 0.1.2 + resolution: "vue-sfc-parser@npm:0.1.2" + dependencies: + lodash.mapvalues: ^4.6.0 + checksum: 24f79fc4d7ddcb9aab4cfff0658a092b54d8e8da7fb489607cc523e8a715dfdbf5fa8e4f0d43fec50850662a1e120b763169cd48072d46c764e0d30a9fb33e24 + languageName: node + linkType: hard + "w3c-xmlserializer@npm:^4.0.0": version: 4.0.0 resolution: "w3c-xmlserializer@npm:4.0.0" @@ -29396,6 +31965,15 @@ __metadata: languageName: node linkType: hard +"walk@npm:2.3.9": + version: 2.3.9 + resolution: "walk@npm:2.3.9" + dependencies: + foreachasync: ^3.0.0 + checksum: 6b55cd4cac29afeb45237bd241a7134a619237c743c5595bb439b01b7ac479c231e743a60c528717ab1805083f7341c7fa324563abffee8c3e4a41d442aa837c + languageName: node + linkType: hard + "walker@npm:^1.0.7, walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -30199,6 +32777,13 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^1.7.2": + version: 1.10.3 + resolution: "yaml@npm:1.10.3" + checksum: 6a2dd3582f4fbcc8d0e32dc26d1a42f72a901eb6ae8fad616bd720514b11a53a64eabc21dba97fbcd951c7c0e1963502313789d93a753e7786e7452376498be5 + languageName: node + linkType: hard + "yaml@npm:^2.1.1, yaml@npm:^2.2.1, yaml@npm:^2.2.2": version: 2.3.1 resolution: "yaml@npm:2.3.1" @@ -30307,6 +32892,21 @@ __metadata: languageName: node linkType: hard +"yargs@npm:^16.2.0": + version: 16.2.2 + resolution: "yargs@npm:16.2.2" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: 0619aaa93d2f9bb1ec788a6bcb4d3dbd453db3097108dad3f74be326250cc86c1d57db9a829d7486adfb0e8d74bff365a6de8871c59af5d0a2f809de56d2ace2 + languageName: node + linkType: hard + "yargs@npm:^17.0.0, yargs@npm:^17.0.1, yargs@npm:^17.3.1, yargs@npm:^17.6.2, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" @@ -30346,6 +32946,13 @@ __metadata: languageName: node linkType: hard +"ylru@npm:^1.2.0": + version: 1.4.0 + resolution: "ylru@npm:1.4.0" + checksum: e0bf797476487e3d57a6e8790cbb749cff2089e2afc87e46bc84ce7605c329d578ff422c8e8c2ddf167681ddd218af0f58e099733ae1044cba9e9472ebedc01d + languageName: node + linkType: hard + "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1" @@ -30405,6 +33012,13 @@ __metadata: languageName: node linkType: hard +"zimmerframe@npm:^1.1.2": + version: 1.1.4 + resolution: "zimmerframe@npm:1.1.4" + checksum: f7917916db73ad09c4870dc7045fdefb9f0122257878ec53e75ff6ea633718369b99185a21aae1fed1d258e7d66d95080169ef1a386c599b8b912467f17932bc + languageName: node + linkType: hard + "zip-dir@npm:2.0.0": version: 2.0.0 resolution: "zip-dir@npm:2.0.0" @@ -30414,3 +33028,10 @@ __metadata: checksum: bfcfdefe410da3dd583f294b51db8dd670e6b4f742c95255e526df58cb9302e3c742fe84a0834fe4705c72c9c601fc3a14d7402560ce580a1ae3bd307cbed60c languageName: node linkType: hard + +"zod@npm:^4.1.12": + version: 4.4.3 + resolution: "zod@npm:4.4.3" + checksum: bf236fdee7a5a5ec645eef5bfea3aad34e7df912931c2a23bc17e5b59882482751da42392916529da52ff9bc70f584797a5d496f1fb81f2d1a4c90fdd3922d2a + languageName: node + linkType: hard From cbe3c69671d96fd02493dc3a9667c51a5a8ff4b3 Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Sat, 25 Jul 2026 17:38:30 -0300 Subject: [PATCH 02/26] chore: localization batch 2 --- .../responses/src/Domain/Http/HttpResponse.ts | 3 +- .../services/src/Domain/Strings/Messages.ts | 6 +- .../lib/Services/Actions/ActionsService.ts | 3 +- packages/ui-services/src/Alert/Functions.ts | 7 +- packages/web/po/template.pot | 1714 +++++++++++++++++ .../ApplicationView/DotOrgNotice.tsx | 3 +- .../ChallengeModal/ChallengeModal.tsx | 3 +- .../ChangeEditor/ChangeEditorButton.tsx | 3 +- .../CommandPalette/CommandPalette.tsx | 34 +- .../ContentListView/ContentListView.tsx | 29 +- .../Header/ContentListHeader.tsx | 7 +- .../ContentListView/Header/SearchButton.tsx | 5 +- .../EditorWidthSelectionModal.tsx | 3 +- .../javascripts/Components/Footer/Footer.tsx | 5 +- .../Components/Footer/PreferencesButton.tsx | 10 +- .../Components/Footer/QuickSettingsButton.tsx | 27 +- .../Input/DecoratedPasswordInput.tsx | 3 +- .../ItemSelectionDropdown.tsx | 5 +- .../KeyboardShortcutsHelpModal.tsx | 30 +- .../LinkedItemBubblesContainer.tsx | 3 +- .../Components/Menu/MenuRadioButtonItem.tsx | 3 +- .../javascripts/Components/Modal/Modal.tsx | 3 +- .../NavigationMenu/NavigationMenu.tsx | 3 +- .../NoteGroupView/MobileItemsListButton.tsx | 7 +- .../Popover/MobilePopoverContent.tsx | 3 +- .../Preferences/PreferencesViewWrapper.tsx | 5 +- .../QuickSettingsMenu/FocusModeSwitch.tsx | 3 +- .../PanelSettingsSection.tsx | 5 +- .../QuickSettingsMenu/QuickSettingsMenu.tsx | 9 +- .../Components/SearchBar/SearchBar.tsx | 3 +- .../Components/Shared/CopyableCodeBlock.tsx | 5 +- .../SuperEditor/Plugins/CheckListPlugin.tsx | 3 +- .../Plugins/SearchPlugin/SearchPlugin.tsx | 9 +- .../Plugins/ToolbarPlugin/ToolbarPlugin.tsx | 3 +- .../Components/SuperEditor/SuperEditor.tsx | 11 +- .../javascripts/Components/Table/Table.tsx | 5 +- .../Components/Tags/Navigation.tsx | 5 +- .../Navigation/NavigationController.ts | 3 +- .../NoteHistory/HistoryModalController.ts | 14 +- .../NotesController/NotesController.ts | 5 +- .../PaneController/PaneController.ts | 40 +- .../src/javascripts/Utils/ErrorBoundary.tsx | 3 +- 42 files changed, 1931 insertions(+), 122 deletions(-) create mode 100644 packages/web/po/template.pot diff --git a/packages/responses/src/Domain/Http/HttpResponse.ts b/packages/responses/src/Domain/Http/HttpResponse.ts index 34c1df8e32a..4f8eb948919 100644 --- a/packages/responses/src/Domain/Http/HttpResponse.ts +++ b/packages/responses/src/Domain/Http/HttpResponse.ts @@ -3,6 +3,7 @@ import { HttpResponseMeta } from './HttpResponseMeta' import { HttpHeaders } from './HttpHeaders' import { HttpStatusCode } from './HttpStatusCode' import { HttpError } from './HttpError' +import { c } from 'ttag' type AnySuccessRecord = Record & { error?: never } @@ -57,6 +58,6 @@ export function getErrorFromErrorResponse(response: HttpErrorResponse): HttpErro } return { - message: 'Unknown error', + message: c('B2.SharedUI.Error').t`Unknown error`, } } diff --git a/packages/services/src/Domain/Strings/Messages.ts b/packages/services/src/Domain/Strings/Messages.ts index 63ae630f45b..344d043511b 100644 --- a/packages/services/src/Domain/Strings/Messages.ts +++ b/packages/services/src/Domain/Strings/Messages.ts @@ -1,4 +1,5 @@ import { ProtocolVersion } from '@standardnotes/models' +import { c } from 'ttag' export const API_MESSAGE_GENERIC_INVALID_LOGIN = 'A server error occurred while trying to sign in. Please try again.' export const API_MESSAGE_GENERIC_REGISTRATION_FAIL = @@ -28,7 +29,8 @@ export const API_MESSAGE_GENERIC_TOKEN_REFRESH_FAIL = export const API_MESSAGE_TOKEN_REFRESH_IN_PROGRESS = 'Your account session is being renewed with the server. Please try your request again.' -export const API_MESSAGE_RATE_LIMITED = 'Too many successive server requests. Please wait a few minutes and try again.' +export const API_MESSAGE_RATE_LIMITED = c('B2.SharedUI.Error') + .t`Too many successive server requests. Please wait a few minutes and try again.` export const API_MESSAGE_INVALID_SESSION = 'Please sign in to an account in order to continue with your request.' @@ -74,7 +76,7 @@ export const REMOVING_PASSCODE = 'Removing passcode…' export const DO_NOT_CLOSE_APPLICATION = 'Do not close the application until this process completes.' -export const UNKNOWN_ERROR = 'Unknown error.' +export const UNKNOWN_ERROR = c('B2.SharedUI.Error').t`Unknown error.` export function InsufficientPasswordMessage(minimum: number): string { return `Your password must be at least ${minimum} characters in length. For your security, please choose a longer password or, ideally, a passphrase, and try again.` diff --git a/packages/snjs/lib/Services/Actions/ActionsService.ts b/packages/snjs/lib/Services/Actions/ActionsService.ts index 2722e1c8f1a..da4d2c2e76c 100644 --- a/packages/snjs/lib/Services/Actions/ActionsService.ts +++ b/packages/snjs/lib/Services/Actions/ActionsService.ts @@ -33,6 +33,7 @@ import { Challenge, } from '@standardnotes/services' import { ContentType } from '@standardnotes/domain-core' +import { c } from 'ttag' type PayloadRequestHandler = (uuid: string) => TransferPayload | undefined @@ -173,7 +174,7 @@ export class ActionsService extends AbstractService { }) .catch((response) => { const error = (response && response.error) || { - message: 'An issue occurred while processing this action. Please try again.', + message: c('B2.SharedUI.Error').t`An issue occurred while processing this action. Please try again.`, } void this.alertService.alert(error.message) return { error } as DeprecatedHttpResponse diff --git a/packages/ui-services/src/Alert/Functions.ts b/packages/ui-services/src/Alert/Functions.ts index 94a82446fcb..52f27a541e5 100644 --- a/packages/ui-services/src/Alert/Functions.ts +++ b/packages/ui-services/src/Alert/Functions.ts @@ -1,12 +1,13 @@ import { sanitizeHtmlString } from '@standardnotes/utils' import { SKAlert } from '@standardnotes/styles' +import { c } from 'ttag' /** @returns a promise resolving to true if the user confirmed, false if they canceled */ export function confirmDialog({ text, title, - confirmButtonText = 'Confirm', - cancelButtonText = 'Cancel', + confirmButtonText = c('B2.SharedUI.Action').t`Confirm`, + cancelButtonText = c('B2.SharedUI.Action').t`Cancel`, confirmButtonStyle = 'info', }: { text: string @@ -44,7 +45,7 @@ export function confirmDialog({ export function alertDialog({ title, text, - closeButtonText = 'OK', + closeButtonText = c('B2.SharedUI.Action').t`OK`, }: { title?: string text: string diff --git a/packages/web/po/template.pot b/packages/web/po/template.pot new file mode 100644 index 00000000000..391976eaa80 --- /dev/null +++ b/packages/web/po/template.pot @@ -0,0 +1,1714 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=utf-8\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: src/javascripts/Utils/ErrorBoundary.tsx:30 +msgctxt "B2.SharedUI.Error" +msgid "Something went wrong rendering this component:" +msgstr "" + +#: /Users/antosgarlatta/SN/app/packages/responses/src/Domain/Http/HttpResponse.ts:61 +msgctxt "B2.SharedUI.Error" +msgid "Unknown error" +msgstr "" + +#: /Users/antosgarlatta/SN/app/packages/services/src/Domain/Strings/Messages.ts:32 +msgctxt "B2.SharedUI.Error" +msgid "" +"Too many successive server requests. Please wait a few minutes and try " +"again." +msgstr "" + +#: /Users/antosgarlatta/SN/app/packages/services/src/Domain/Strings/Messages.ts:79 +msgctxt "B2.SharedUI.Error" +msgid "Unknown error." +msgstr "" + +#: /Users/antosgarlatta/SN/app/packages/snjs/lib/Services/Actions/ActionsService.ts:177 +msgctxt "B2.SharedUI.Error" +msgid "An issue occurred while processing this action. Please try again." +msgstr "" + +#: src/javascripts/Components/Shared/CopyableCodeBlock.tsx:42 +msgctxt "B2.SharedUI.Error" +msgid "Failed to copy to clipboard" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:171 +#: src/javascripts/Components/ContentListView/ContentListView.tsx:208 +#: src/javascripts/Components/ContentListView/ContentListView.tsx:227 +#: src/javascripts/Components/ContentListView/ContentListView.tsx:268 +#: src/javascripts/Components/Footer/QuickSettingsButton.tsx:37 +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:17 +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:45 +#: src/javascripts/Components/Preferences/PreferencesViewWrapper.tsx:16 +#: src/javascripts/Controllers/Navigation/NavigationController.ts:205 +#: src/javascripts/Controllers/PaneController/PaneController.ts:112 +#: src/javascripts/Controllers/PaneController/PaneController.ts:121 +#: src/javascripts/Controllers/PaneController/PaneController.ts:130 +msgctxt "B2.SharedUI.Label" +msgid "General" +msgstr "" + +#: src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx:61 +#: src/javascripts/Components/EditorWidthSelectionModal/EditorWidthSelectionModal.tsx:184 +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:13 +#: src/javascripts/Components/LinkedItems/LinkedItemBubblesContainer.tsx:74 +#: src/javascripts/Controllers/NoteHistory/HistoryModalController.ts:32 +#: src/javascripts/Controllers/NotesController/NotesController.ts:173 +#: src/javascripts/Controllers/NotesController/NotesController.ts:179 +msgctxt "B2.SharedUI.Label" +msgid "Current note" +msgstr "" + +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:15 +#: src/javascripts/Components/SuperEditor/Plugins/CheckListPlugin.tsx:163 +#: src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx:125 +#: src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx:135 +#: src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx:154 +#: src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx:164 +#: src/javascripts/Components/SuperEditor/Plugins/ToolbarPlugin/ToolbarPlugin.tsx:610 +#: src/javascripts/Components/SuperEditor/SuperEditor.tsx:109 +msgctxt "B2.SharedUI.Label" +msgid "Super notes" +msgstr "" + +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:14 +#: src/javascripts/Components/SuperEditor/SuperEditor.tsx:125 +#: src/javascripts/Components/SuperEditor/SuperEditor.tsx:132 +#: src/javascripts/Components/SuperEditor/SuperEditor.tsx:139 +#: src/javascripts/Components/SuperEditor/SuperEditor.tsx:146 +msgctxt "B2.SharedUI.Label" +msgid "Formatting" +msgstr "" + +#: src/javascripts/Components/QuickSettingsMenu/FocusModeSwitch.tsx:34 +msgctxt "B2.SharedUI.Label" +msgid "Focus Mode" +msgstr "" + +#: src/javascripts/Components/QuickSettingsMenu/PanelSettingsSection.tsx:33 +msgctxt "B2.SharedUI.Label" +msgid "Show Tags Panel" +msgstr "" + +#: src/javascripts/Components/QuickSettingsMenu/PanelSettingsSection.tsx:41 +msgctxt "B2.SharedUI.Label" +msgid "Show Notes Panel" +msgstr "" + +#: src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx:121 +msgctxt "B2.SharedUI.Label" +msgid "Tools" +msgstr "" + +#: src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx:136 +msgctxt "B2.SharedUI.Label" +msgid "Appearance" +msgstr "" + +#: src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx:138 +msgctxt "B2.SharedUI.Label" +msgid "Default" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:181 +#: src/javascripts/Components/ContentListView/ContentListView.tsx:196 +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:16 +msgctxt "B2.SharedUI.Label" +msgid "Notes list" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:67 +msgctxt "B2.SharedUI.Label" +msgid "all" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:68 +msgctxt "B2.SharedUI.Label" +msgid "commands" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:69 +msgctxt "B2.SharedUI.Label" +msgid "notes" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:70 +msgctxt "B2.SharedUI.Label" +msgid "files" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:71 +msgctxt "B2.SharedUI.Label" +msgid "tags" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:400 +msgctxt "B2.SharedUI.Label" +msgid "Recent" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:421 +msgctxt "B2.SharedUI.Label" +msgid "All commands" +msgstr "" + +#: src/javascripts/Controllers/PaneController/PaneController.ts:113 +msgctxt "B2.SharedUI.Action" +msgid "Toggle focus mode" +msgstr "" + +#: src/javascripts/Controllers/PaneController/PaneController.ts:122 +msgctxt "B2.SharedUI.Action" +msgid "Toggle notes panel" +msgstr "" + +#: src/javascripts/Controllers/PaneController/PaneController.ts:131 +msgctxt "B2.SharedUI.Action" +msgid "Toggle tags panel" +msgstr "" + +#: /Users/antosgarlatta/SN/app/packages/ui-services/src/Alert/Functions.ts:9 +msgctxt "B2.SharedUI.Action" +msgid "Confirm" +msgstr "" + +#: /Users/antosgarlatta/SN/app/packages/ui-services/src/Alert/Functions.ts:10 +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:57 +msgctxt "B2.SharedUI.Action" +msgid "Cancel" +msgstr "" + +#: /Users/antosgarlatta/SN/app/packages/ui-services/src/Alert/Functions.ts:48 +msgctxt "B2.SharedUI.Action" +msgid "OK" +msgstr "" + +#: src/javascripts/Components/Shared/CopyableCodeBlock.tsx:57 +msgctxt "B2.SharedUI.Action" +msgid "Copy example to clipboard" +msgstr "" + +#: src/javascripts/Components/Preferences/PreferencesViewWrapper.tsx:17 +msgctxt "B2.SharedUI.Action" +msgid "Open preferences" +msgstr "" + +#: src/javascripts/Components/Popover/MobilePopoverContent.tsx:206 +msgctxt "B2.SharedUI.Action" +msgid "Done" +msgstr "" + +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:46 +msgctxt "B2.SharedUI.Action" +msgid "Toggle keyboard shortcuts help" +msgstr "" + +#: src/javascripts/Components/Footer/QuickSettingsButton.tsx:38 +msgctxt "B2.SharedUI.Action" +msgid "Toggle dark mode" +msgstr "" + +#: src/javascripts/Components/Footer/QuickSettingsButton.tsx:46 +msgctxt "B2.SharedUI.Action" +msgid "Open quick settings menu" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:209 +#. * +#. * In the browser we're not allowed to override cmd/ctrl + n, so we have to +#. * use Control modifier as well. These rules don't apply to desktop, but +#. * probably better to be consistent. +#. +msgctxt "B2.SharedUI.Action" +msgid "Toggle global search" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:228 +#. * +#. * In the browser we're not allowed to override cmd/ctrl + n, so we have to +#. * use Control modifier as well. These rules don't apply to desktop, but +#. * probably better to be consistent. +#. +msgctxt "B2.SharedUI.Action" +msgid "Select all items" +msgstr "" + +#: src/javascripts/Components/ContentListView/Header/ContentListHeader.tsx:111 +msgctxt "B2.SharedUI.Action" +msgid "Open display options menu" +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:172 +msgctxt "B2.SharedUI.Action" +msgid "Toggle command palette" +msgstr "" + +#: src/javascripts/Constants/Strings.ts:7 +msgctxt "Error" +msgid "" +"Please use FileSafe or the Bold Editor to attach images and files. Learn " +"more at standardnotes.com/filesafe." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:10 +msgctxt "B1.Account.Session.Error" +msgid "" +"There was an error syncing. Please try again. If all else fails, try " +"signing out and signing back in." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:116 +msgctxt "B1.Account.Session.Error" +msgid "There was an error while trying to update your settings. Please try again." +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:40 +msgctxt "B1.Account.Session.Error" +msgid "An unknown error occured while loading sessions." +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:75 +msgctxt "B1.Account.Session.Error" +msgid "An unknown error occured while revoking the session." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:39 +msgctxt "B1.Account.Session.Error" +msgid "Please enter your current password." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:47 +msgctxt "B1.Account.Session.Error" +msgid "The current password you entered is not correct. Please try again." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:78 +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:122 +msgctxt "B1.Account.Session.Error" +msgid "Cannot close window until pending tasks are complete." +msgstr "" + +#: src/javascripts/Components/AccountMenu/User.tsx:18 +#, javascript-format +msgctxt "B1.Account.Session.Error" +msgid "" +"Hmm...we can't seem to sync your account. The reason: ${ " +"application.syncStatusController.errorMessage }" +msgstr "" + +#: src/javascripts/Constants/Strings.ts:49 +#, javascript-format +msgctxt "Confirmation" +msgid "Are you sure you want to permanently delete ${ count } note?" +msgid_plural "Are you sure you want to permanently delete ${ count } notes?" +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Constants/Strings.ts:58 +msgctxt "B1.Account.Session.Info" +msgid "" +"This action will remove this workspace and its related data from this " +"device. Your synced data will not be affected." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:112 +msgctxt "B1.Account.Session.Info" +msgid "" +"Are you sure you want to permanently delete your account? You will be asked " +"to confirm your account password in the next step. If you have an active " +"paid subscription, cancel the subscription first. Otherwise, if you'd like " +"to keep the subscription, you can re-register with the same email after " +"deletion, and your subscription will be linked back up with your account." +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:165 +#, javascript-format +msgctxt "B1.Account.Session.Info" +msgid "Signed in on ${ signedInDate }" +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:196 +msgctxt "B1.Account.Session.Info" +msgid "" +"The associated app will be signed out and all data removed from the device " +"when it is next launched. You can sign back in on that device at any time." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ClearSessionDataView.tsx:17 +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:38 +msgctxt "B1.Account.Session.Info" +msgid "Remove all data related to the current workspace from the application." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Credentials.tsx:47 +#, javascript-format +msgctxt "B1.Account.Session.Info" +msgid "You're signed in as ${ emailSpan }" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/DeleteAccount.tsx:21 +msgctxt "B1.Account.Session.Info" +msgid "" +"This action is irreversible. After deletion completes, you will be signed " +"out on all devices." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:24 +msgctxt "B1.Account.Session.Info" +msgid "Want to sign out on all devices except this one?" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Sync.tsx:37 +#, javascript-format +msgctxt "B1.Account.Session.Info" +msgid "on ${ lastSyncDate }" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Sync.tsx:45 +#, javascript-format +msgctxt "B1.Account.Session.Info" +msgid "Last synced ${ lastSyncSpan }" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx:133 +msgctxt "B1.Account.Session.Info" +msgid "" +"Disables email notifications when a new sign-in occurs on your account. " +"(Email notifications are available only to paid subscribers)." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx:141 +#, javascript-format +msgctxt "B1.Account.Session.Info" +msgid "" +"Sign-in notification emails are available only on a ${ subscriptionBold } " +"plan. Please upgrade in order to enable sign-in notifications." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx:163 +msgctxt "B1.Account.Session.Info" +msgid "Disables email notifications with special deals and promotions." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmailSuccess.tsx:7 +msgctxt "B1.Account.Session.Info" +msgid "Your email has been successfully changed." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmailSuccess.tsx:9 +msgctxt "B1.Account.Session.Info" +msgid "" +"Please ensure you are running the latest version of Standard Notes on all " +"platforms to ensure maximum compatibility." +msgstr "" + +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:54 +msgctxt "B1.Account.Session.Info" +msgid "" +"Because you have other workspaces signed in, this sign out may leave logs " +"and other metadata of your session on this device. For a more robust sign " +"out that performs a hard clear of all app-related data, use the \"Sign out " +"all workspaces\" option under \"Switch workspace\"." +msgstr "" + +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:69 +msgctxt "B1.Account.Session.Info" +msgid "" +"Local backups are enabled for this workspace. Review your backup files " +"manually to decide what to keep." +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:114 +msgctxt "B1.Account.Session.Info" +msgid "You're signed in as:" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:142 +msgctxt "B1.Account.Session.Info" +msgid "" +"You’re offline. Sign in to sync your notes and preferences across all your " +"devices and enable end-to-end encryption." +msgstr "" + +#: src/javascripts/Components/AccountMenu/WorkspaceSwitcher/WorkspaceSwitcherMenu.tsx:46 +msgctxt "B1.Account.Session.Info" +msgid "Are you sure you want to sign out of all workspaces on this device?" +msgstr "" + +#: src/javascripts/Constants/Strings.ts:61 +msgctxt "B1.Account.ImportExport.Info" +msgid "" +"End-to-end encryption is enabled. Your data is encrypted on your device " +"first, then synced to your private cloud." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:64 +msgctxt "B1.Account.ImportExport.Info" +msgid "" +"Encryption is enabled. Your data is encrypted using your passcode before it " +"is saved to your device storage." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:67 +msgctxt "B1.Account.ImportExport.Info" +msgid "" +"Encryption is not enabled. Sign in, register, or add a passcode lock to " +"enable encryption." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:70 +msgctxt "B1.Account.ImportExport.Info" +msgid "Your data has been successfully imported." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:82 +#, javascript-format +msgctxt "B1.Account.ImportExport.Info" +msgid "" +"Import complete. ${ errorCount } item was not imported because there was an " +"error decrypting it. Make sure the password is correct and try again." +msgid_plural "" +"Import complete. ${ errorCount } items were not imported because there was " +"an error decrypting them. Make sure the password is correct and try again." +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:38 +#, javascript-format +msgctxt "B1.Account.ImportExport.Info" +msgid "${ notes } note" +msgid_plural "${ notes } notes" +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:41 +#, javascript-format +msgctxt "B1.Account.ImportExport.Info" +msgid "${ tags } tag" +msgid_plural "${ tags } tags" +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:44 +#, javascript-format +msgctxt "B1.Account.ImportExport.Info" +msgid "${ files } file" +msgid_plural "${ files } files" +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:50 +#, javascript-format +msgctxt "B1.Account.ImportExport.Info" +msgid "Imported ${ list }" +msgid_plural "Imported ${ list }" +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Components/ImportModal/InitialPage.tsx:31 +msgctxt "B1.Account.ImportExport.Info" +msgid "Drag and drop files to auto-detect and import" +msgstr "" + +#: src/javascripts/Components/ImportModal/InitialPage.tsx:32 +msgctxt "B1.Account.ImportExport.Info" +msgid "Or click to open file picker" +msgstr "" + +#: src/javascripts/Components/ImportModal/InitialPage.tsx:34 +msgctxt "B1.Account.ImportExport.Info" +msgid "or import from:" +msgstr "" + +#: src/javascripts/Constants/Strings.ts:75 +msgctxt "B1.Account.SignIn.Error" +msgid "The two passwords you entered do not match. Please try again." +msgstr "" + +#: src/javascripts/Components/U2FAuthIframe/U2FAuthIframe.tsx:69 +msgctxt "B1.Account.SignIn.Error" +msgid "No username provided" +msgstr "" + +#: src/javascripts/Components/U2FAuthIframe/U2FAuthIframe.tsx:84 +msgctxt "B1.Account.SignIn.Error" +msgid "No options returned from server" +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:161 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:131 +msgctxt "B1.Account.SignIn.Error" +msgid "Please provide a valid email." +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:184 +msgctxt "B1.Account.SignIn.Error" +msgid "Passwords don't match. Please try again." +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:106 +msgctxt "B1.Account.SignIn.Error" +msgid "Invalid email or password." +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:54 +msgctxt "B1.Account.SignIn.Error" +msgid "Unable to compute private username." +msgstr "" + +#: src/javascripts/Components/AccountMenu/ServerPicker/ServerPicker.tsx:53 +#: src/javascripts/Components/AccountMenu/ServerPicker/ServerPicker.tsx:62 +msgctxt "B1.Account.SignIn.Error" +msgid "" +"Home server is not running. Please open the prefences and home server tab " +"to start it." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:77 +msgctxt "B1.Account.ImportExport.Error" +msgid "Unable to open file. Ensure it is a proper JSON file and try again." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:79 +msgctxt "B1.Account.ImportExport.Error" +msgid "" +"The file you selected is not a valid backup file. Please extract the " +"contents of the zip file, then upload the contained .txt file." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:89 +msgctxt "B1.Account.ImportExport.Error" +msgid "" +"This backup file was created using an unsupported version of the " +"application and cannot be imported here. Please update your application and " +"try again." +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalController.ts:179 +msgctxt "B1.Account.ImportExport.Error" +msgid "Could not import file" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:82 +#, javascript-format +msgctxt "B1.Account.ImportExport.Error" +msgid "Could not import ${ count } item (click for details)" +msgid_plural "Could not import ${ count } items (click for details)" +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Constants/Strings.ts:94 +msgctxt "B1.Account.Password.Info" +msgid "" +"The encryption upgrade is in progress. You may lose data if you quit the " +"app. Are you sure you want to quit?" +msgstr "" + +#: src/javascripts/Constants/Strings.ts:105 +msgctxt "B1.Account.Password.Info" +msgid "" +"Encryption version 004 is available. This version strengthens the " +"encryption algorithms your account and local storage use. To learn more " +"about this upgrade, visit our Security " +"Upgrade page." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Credentials.tsx:57 +#, javascript-format +msgctxt "B1.Account.Password.Info" +msgid "Current password was set on ${ passwordDateSpan }" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/FinishStep.tsx:12 +msgctxt "B1.Account.Password.Info" +msgid "Your password has been successfully changed." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/FinishStep.tsx:14 +msgctxt "B1.Account.Password.Info" +msgid "" +"Ensure you are running the latest version of Standard Notes on all " +"platforms for maximum compatibility." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PreprocessingStep.tsx:92 +msgctxt "B1.Account.Password.Info" +msgid "" +"You have pending vault invites. Changing your password will delete these " +"invites. It is recommended you accept or decline these invites before " +"changing your password. If you choose to continue, these invites will be " +"deleted." +msgstr "" + +#: src/javascripts/Constants/Strings.ts:103 +msgctxt "B1.Account.Password.Title" +msgid "Encryption upgrade available" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:292 +msgctxt "B1.Account.Password.Title" +msgid "Change Password" +msgstr "" + +#: src/javascripts/Constants/Strings.ts:107 +msgctxt "B1.Account.Password.Action" +msgid "Upgrade" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Credentials.tsx:58 +msgctxt "B1.Account.Password.Action" +msgid "Change password" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:279 +msgctxt "B1.Account.Password.Action" +msgid "Generating Keys..." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:281 +msgctxt "B1.Account.Password.Action" +msgid "Finish" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:284 +msgctxt "B1.Account.Password.Action" +msgid "Continue" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:296 +msgctxt "B1.Account.Password.Action" +msgid "Cancel" +msgstr "" + +#: src/javascripts/Components/U2FAuthIframe/U2FAuthIframe.tsx:87 +msgctxt "B1.Account.SignIn.Status" +msgid "Waiting for security key..." +msgstr "" + +#: src/javascripts/Components/U2FAuthIframe/U2FAuthIframe.tsx:98 +msgctxt "B1.Account.SignIn.Info" +msgid "Authentication successful!" +msgstr "" + +#: src/javascripts/Components/U2FAuthIframe/U2FAuthIframe.tsx:111 +msgctxt "B1.Account.SignIn.Info" +msgid "" +"Insert your hardware security key, then press the button below to " +"authenticate." +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:207 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:168 +#. translator: Full sentence: "Create your free account to continue to Standard Notes." +msgctxt "B1.Account.SignIn.Info" +msgid "to continue to Standard Notes." +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:171 +msgctxt "B1.Account.SignIn.Info" +msgid "Don’t have an account yet?" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Authentication.tsx:42 +msgctxt "B1.Account.SignIn.Info" +msgid "" +"Sign in to sync your notes and preferences across all your devices and " +"enable end-to-end encryption." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Authentication.tsx:46 +#, javascript-format +msgctxt "B1.Account.SignIn.Info" +msgid "Already have an account? ${ loginLink }" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmNoMergeDialog.tsx:24 +msgctxt "B1.Account.SignIn.Info" +msgid "" +"You have chosen not to merge your local data. If you proceed, your local " +"notes and tags will be permanently deleted and replaced with data from your " +"account. This action cannot be undone." +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmNoMergeDialog.tsx:28 +msgctxt "B1.Account.SignIn.Info" +msgid "Are you sure you want to continue without merging?" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:167 +msgctxt "B1.Account.SignIn.Info" +msgid "Standard Notes does not have a password reset option" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:173 +#, javascript-format +msgctxt "B1.Account.SignIn.Info" +msgid "" +"Because your notes are encrypted using your password, ${ " +"noPasswordResetOption }. If you forget your password, you will permanently " +"lose access to your data." +msgstr "" + +#: src/javascripts/Components/AccountMenu/MergeLocalDataCheckbox.tsx:33 +msgctxt "B1.Account.SignIn.Info" +msgid "" +"If unchecked, your local notes and tags will be permanently deleted and " +"replaced with data from your account." +msgstr "" + +#: src/javascripts/Components/U2FAuthIframe/U2FAuthIframe.tsx:114 +msgctxt "B1.Account.SignIn.Action" +msgid "Authenticate" +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:219 +#. translator: "Instead" here refers to "instead of creating an account" +msgctxt "B1.Account.SignIn.Action" +msgid "Sign in instead" +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:228 +msgctxt "B1.Account.SignIn.Action" +msgid "Subscribe without account" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:194 +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:235 +msgctxt "B1.Account.SignIn.Action" +msgid "Creating account..." +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:235 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:176 +msgctxt "B1.Account.SignIn.Action" +msgid "Create account" +msgstr "" + +#: src/javascripts/Components/AccountMenu/SignIn.tsx:279 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:149 +msgctxt "B1.Account.SignIn.Action" +msgid "Signing in..." +msgstr "" + +#: src/javascripts/Components/AccountMenu/SignIn.tsx:279 +#: src/javascripts/Components/Preferences/Panes/Account/Authentication.tsx:31 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:149 +msgctxt "B1.Account.SignIn.Action" +msgid "Sign in" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Authentication.tsx:45 +msgctxt "B1.Account.SignIn.Action" +msgid "Create free account" +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:116 +msgctxt "B1.Account.SignIn.Action" +msgid "Advanced options" +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:137 +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:172 +msgctxt "B1.Account.SignIn.Action" +msgid "Learn more" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmNoMergeDialog.tsx:33 +msgctxt "B1.Account.SignIn.Action" +msgid "Cancel" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmNoMergeDialog.tsx:35 +msgctxt "B1.Account.SignIn.Action" +msgid "Delete Local Data and Continue" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:194 +msgctxt "B1.Account.SignIn.Action" +msgid "Create account & sign in" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:222 +#: src/javascripts/Components/AccountMenu/CreateAccount.tsx:105 +#: src/javascripts/Components/AccountMenu/SignIn.tsx:329 +msgctxt "B1.Account.SignIn.Action" +msgid "Go back" +msgstr "" + +#: src/javascripts/Components/AccountMenu/CreateAccount.tsx:136 +msgctxt "B1.Account.SignIn.Action" +msgid "Next" +msgstr "" + +#: src/javascripts/Components/NoteGroupView/MobileItemsListButton.tsx:22 +#: src/javascripts/Components/Tags/Navigation.tsx:97 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Go to items list" +msgstr "" + +#: src/javascripts/Components/Footer/Footer.tsx:448 +#: src/javascripts/Components/Tags/Navigation.tsx:117 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Locks application and wipes unencrypted data from memory." +msgstr "" + +#: src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx:119 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Quick settings menu" +msgstr "" + +#: src/javascripts/Components/NoteGroupView/MobileItemsListButton.tsx:20 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Hide items list" +msgstr "" + +#: src/javascripts/Components/NoteGroupView/MobileItemsListButton.tsx:21 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Show items list" +msgstr "" + +#: src/javascripts/Components/NavigationMenu/NavigationMenu.tsx:37 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Open navigation menu" +msgstr "" + +#: src/javascripts/Components/ItemSelectionDropdown/ItemSelectionDropdown.tsx:53 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Select an item" +msgstr "" + +#: src/javascripts/Components/Input/DecoratedPasswordInput.tsx:15 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Show/hide password" +msgstr "" + +#: src/javascripts/Components/Footer/Footer.tsx:444 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Lock application" +msgstr "" + +#: src/javascripts/Components/Footer/PreferencesButton.tsx:61 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Go to preferences" +msgstr "" + +#: src/javascripts/Components/Footer/PreferencesButton.tsx:70 +#, javascript-format +msgctxt "B2.SharedUI.AriaLabel" +msgid "Open preferences (${ shortcut })" +msgstr "" + +#: src/javascripts/Components/Footer/QuickSettingsButton.tsx:55 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Open quick settings menu" +msgstr "" + +#: src/javascripts/Components/Footer/QuickSettingsButton.tsx:60 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Go to quick settings menu" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:307 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Notes & Files" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:347 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Select all items" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:361 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Cancel multiple selection" +msgstr "" + +#: src/javascripts/Components/ContentListView/Header/ContentListHeader.tsx:127 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Display options menu" +msgstr "" + +#: src/javascripts/Components/ContentListView/Header/SearchButton.tsx:54 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Search" +msgstr "" + +#: src/javascripts/Components/ChallengeModal/ChallengeModal.tsx:267 +msgctxt "B2.SharedUI.AriaLabel" +msgid "Close modal" +msgstr "" + +#: src/javascripts/Components/Table/Table.tsx:367 +#, javascript-format +msgctxt "B2.SharedUI.Status" +msgid "${ selectedRows.length } selected" +msgstr "" + +#: src/javascripts/Components/Shared/CopyableCodeBlock.tsx:57 +msgctxt "B2.SharedUI.Status" +msgid "Copied!" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:359 +#, javascript-format +msgctxt "B2.SharedUI.Status" +msgid "${ itemListController.selectedItemsCount } selected" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:390 +msgctxt "B2.SharedUI.Status" +msgid "Loading..." +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:116 +msgctxt "B1.Account.Session.Action" +msgid "Close" +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:122 +msgctxt "B1.Account.Session.Action" +msgid "Refresh" +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:173 +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:212 +msgctxt "B1.Account.Session.Action" +msgid "Revoke" +msgstr "" + +#: src/javascripts/Components/ConfirmDeleteAccountModal/ConfirmDeleteAccountModal.tsx:41 +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:87 +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:144 +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:202 +msgctxt "B1.Account.Session.Action" +msgid "Cancel" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ClearSessionDataView.tsx:21 +msgctxt "B1.Account.Session.Action" +msgid "Clear workspace" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Credentials.tsx:50 +msgctxt "B1.Account.Session.Action" +msgid "Change email" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/DeleteAccount.tsx:26 +msgctxt "B1.Account.Session.Action" +msgid "Delete my account" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:27 +msgctxt "B1.Account.Session.Action" +msgid "Sign out other sessions" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:32 +msgctxt "B1.Account.Session.Action" +msgid "Manage sessions" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:231 +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:42 +msgctxt "B1.Account.Session.Action" +msgid "Sign out workspace" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Sync.tsx:48 +msgctxt "B1.Account.Session.Action" +msgid "Sync now" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:132 +msgctxt "B1.Account.Session.Action" +msgid "Generating Keys..." +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:134 +msgctxt "B1.Account.Session.Action" +msgid "Finish" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:137 +msgctxt "B1.Account.Session.Action" +msgid "Continue" +msgstr "" + +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:78 +msgctxt "B1.Account.Session.Action" +msgid "View backup files" +msgstr "" + +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:90 +msgctxt "B1.Account.Session.Action" +msgid "Sign Out" +msgstr "" + +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:90 +msgctxt "B1.Account.Session.Action" +msgid "Delete Workspace" +msgstr "" + +#: src/javascripts/Components/ConfirmDeleteAccountModal/ConfirmDeleteAccountModal.tsx:44 +msgctxt "B1.Account.Session.Action" +msgid "Delete my account for good" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:164 +msgctxt "B1.Account.Session.Action" +msgid "Account settings" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:170 +msgctxt "B1.Account.Session.Action" +msgid "Create free account" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:174 +msgctxt "B1.Account.Session.Action" +msgid "Sign in" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:185 +msgctxt "B1.Account.Session.Action" +msgid "Import" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:190 +msgctxt "B1.Account.Session.Action" +msgid "Email us" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:196 +msgctxt "B1.Account.Session.Action" +msgid "Help & feedback" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:208 +msgctxt "B1.Account.Session.Action" +msgid "Keyboard shortcuts" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:219 +msgctxt "B1.Account.Session.Action" +msgid "Command palette" +msgstr "" + +#: src/javascripts/Components/AccountMenu/User.tsx:27 +msgctxt "B1.Account.Session.Action" +msgid "Need help?" +msgstr "" + +#: src/javascripts/Components/AccountMenu/WorkspaceSwitcher/WorkspaceSwitcherMenu.tsx:48 +msgctxt "B1.Account.Session.Action" +msgid "Sign out all" +msgstr "" + +#: src/javascripts/Components/AccountMenu/WorkspaceSwitcher/WorkspaceSwitcherMenu.tsx:90 +msgctxt "B1.Account.Session.Action" +msgid "Add another workspace" +msgstr "" + +#: src/javascripts/Components/AccountMenu/WorkspaceSwitcher/WorkspaceSwitcherMenu.tsx:95 +msgctxt "B1.Account.Session.Action" +msgid "Sign out all workspaces" +msgstr "" + +#: src/javascripts/Components/AccountMenu/WorkspaceSwitcher/WorkspaceSwitcherOption.tsx:29 +#: src/javascripts/Components/AccountMenu/WorkspaceSwitcher/WorkspaceSwitcherOption.tsx:34 +msgctxt "B1.Account.Session.Action" +msgid "Switch workspace" +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:134 +msgctxt "B1.Account.Session.Title" +msgid "Active Sessions" +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:189 +msgctxt "B1.Account.Session.Title" +msgid "Revoke this session?" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ClearSessionDataView.tsx:16 +msgctxt "B1.Account.Session.Title" +msgid "Clear workspace" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Credentials.tsx:45 +msgctxt "B1.Account.Session.Title" +msgid "Credentials" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/DeleteAccount.tsx:20 +msgctxt "B1.Account.Session.Title" +msgid "Delete account" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:22 +msgctxt "B1.Account.Session.Title" +msgid "Sign out" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Sync.tsx:44 +msgctxt "B1.Account.Session.Title" +msgid "Sync" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx:126 +msgctxt "B1.Account.Session.Title" +msgid "Email" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmail.tsx:160 +msgctxt "B1.Account.Session.Title" +msgid "Change Email" +msgstr "" + +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:41 +msgctxt "B1.Account.Session.Title" +msgid "Sign out workspace?" +msgstr "" + +#: src/javascripts/Components/ConfirmDeleteAccountModal/ConfirmDeleteAccountModal.tsx:29 +msgctxt "B1.Account.Session.Title" +msgid "Delete account?" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:106 +msgctxt "B1.Account.Session.Title" +msgid "Account" +msgstr "" + +#: src/javascripts/Components/AccountMenu/User.tsx:16 +msgctxt "B1.Account.Session.Title" +msgid "Sync Unreachable" +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:142 +msgctxt "B1.Account.Session.Status" +msgid "Loading sessions" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:122 +msgctxt "B1.Account.Session.Status" +msgid "Syncing..." +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:147 +msgctxt "B1.Account.Session.Status" +msgid "Offline" +msgstr "" + +#: src/javascripts/Components/SessionsModal/SessionsModal.tsx:162 +msgctxt "B1.Account.Session.Label" +msgid "Current session" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx:121 +msgctxt "B1.Account.Session.Label" +msgid "subscription" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmailForm.tsx:18 +msgctxt "B1.Account.Session.Label" +msgid "New Email" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/ChangeEmail/ChangeEmailForm.tsx:30 +msgctxt "B1.Account.Session.Label" +msgid "Current Password" +msgstr "" + +#: src/javascripts/Components/ConfirmSignoutModal/ConfirmSignoutModal.tsx:53 +msgctxt "B1.Account.Session.Label" +msgid "Note:" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:128 +msgctxt "B1.Account.Session.Label" +msgid "Last synced:" +msgstr "" + +#: src/javascripts/Components/ContentListView/Header/SearchButton.tsx:35 +#: src/javascripts/Components/SearchBar/SearchBar.tsx:56 +msgctxt "B2.SharedUI.Placeholder" +msgid "Search..." +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:120 +msgctxt "B2.SharedUI.Placeholder" +msgid "Search notes, files, commands, etc..." +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:233 +msgctxt "B2.SharedUI.Placeholder" +msgid "" +msgstr "" + +#: src/javascripts/Components/AccountMenu/CreateAccount.tsx:119 +#: src/javascripts/Components/AccountMenu/SignIn.tsx:256 +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:154 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:123 +msgctxt "B1.Account.SignIn.Label" +msgid "Email" +msgstr "" + +#: src/javascripts/Components/AccountMenu/CreateAccount.tsx:130 +#: src/javascripts/Components/AccountMenu/SignIn.tsx:272 +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:166 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:137 +msgctxt "B1.Account.SignIn.Label" +msgid "Password" +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:176 +msgctxt "B1.Account.SignIn.Label" +msgid "Repeat password" +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:149 +msgctxt "B1.Account.SignIn.Label" +msgid "Username" +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:197 +msgctxt "B1.Account.SignIn.Label" +msgid "Recovery code" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:184 +msgctxt "B1.Account.SignIn.Label" +msgid "Confirm password" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ServerPicker/ServerPicker.tsx:86 +msgctxt "B1.Account.SignIn.Label" +msgid "Sync Server" +msgstr "" + +#: src/javascripts/Components/PurchaseFlow/Panes/CreateAccount.tsx:203 +#. translator: Full sentence: "Create your free account" +msgctxt "B1.Account.SignIn.Title" +msgid "Create your free account" +msgstr "" + +#: src/javascripts/Components/AccountMenu/SignIn.tsx:336 +#: src/javascripts/Components/PurchaseFlow/Panes/SignIn.tsx:167 +msgctxt "B1.Account.SignIn.Title" +msgid "Sign in" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Authentication.tsx:40 +msgctxt "B1.Account.SignIn.Title" +msgid "You're not signed in" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmNoMergeDialog.tsx:16 +msgctxt "B1.Account.SignIn.Title" +msgid "Delete local data?" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:229 +#: src/javascripts/Components/AccountMenu/SignIn.tsx:336 +msgctxt "B1.Account.SignIn.Title" +msgid "Human verification" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:229 +msgctxt "B1.Account.SignIn.Title" +msgid "Confirm password" +msgstr "" + +#: src/javascripts/Components/AccountMenu/CreateAccount.tsx:110 +msgctxt "B1.Account.SignIn.Title" +msgid "Create account" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx:191 +msgctxt "B1.Account.ImportExport.Title" +msgid "Data backups" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:81 +msgctxt "B1.Account.ImportExport.Title" +msgid "Import" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx:192 +msgctxt "B1.Account.ImportExport.Subtitle" +msgid "Download a backup of all your text-based data" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx:213 +msgctxt "B1.Account.ImportExport.Subtitle" +msgid "Import a previously saved backup file" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx:199 +msgctxt "B1.Account.ImportExport.Label" +msgid "Encrypted" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx:203 +msgctxt "B1.Account.ImportExport.Label" +msgid "Decrypted" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:114 +msgctxt "B1.Account.ImportExport.Label" +msgid "Add all imported notes to tag" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:128 +msgctxt "B1.Account.ImportExport.Label" +msgid "Create new tag" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:142 +msgctxt "B1.Account.ImportExport.Label" +msgid "Add to existing tag" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalController.ts:193 +#, javascript-format +msgctxt "B1.Account.ImportExport.Label" +msgid "Imported on ${ importedOnDate }" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx:209 +msgctxt "B1.Account.ImportExport.Action" +msgid "Download backup" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx:216 +msgctxt "B1.Account.ImportExport.Action" +msgid "Import backup" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:45 +msgctxt "B1.Account.ImportExport.Action" +msgid "Import" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:53 +msgctxt "B1.Account.ImportExport.Action" +msgid "Close" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:53 +msgctxt "B1.Account.ImportExport.Action" +msgid "Cancel" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:105 +msgctxt "B1.Account.ImportExport.Action" +msgid "Add files" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Credentials.tsx:46 +msgctxt "B1.Account.Session.Subtitle" +msgid "Email" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:23 +msgctxt "B1.Account.Session.Subtitle" +msgid "Other devices" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/SignOutView.tsx:37 +msgctxt "B1.Account.Session.Subtitle" +msgid "This workspace" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx:130 +msgctxt "B1.Account.Session.Subtitle" +msgid "Mute sign-in notification emails" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx:162 +msgctxt "B1.Account.Session.Subtitle" +msgid "Mute marketing notification emails" +msgstr "" + +#: src/javascripts/Components/Preferences/Panes/Account/Credentials.tsx:56 +msgctxt "B1.Account.Password.Subtitle" +msgid "Password" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordStep.tsx:37 +msgctxt "B1.Account.Password.Label" +msgid "Current Password" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordStep.tsx:51 +msgctxt "B1.Account.Password.Label" +msgid "New Password" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordStep.tsx:64 +msgctxt "B1.Account.Password.Label" +msgid "Confirm New Password" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:221 +msgctxt "B1.Account.Password.Error" +msgid "Cannot close window until pending tasks are complete." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:142 +msgctxt "B1.Account.Password.Error" +msgid "Please enter your current password." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:147 +msgctxt "B1.Account.Password.Error" +msgid "Please enter a new password." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:152 +msgctxt "B1.Account.Password.Error" +msgid "Your new password does not match its confirmation." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:162 +msgctxt "B1.Account.Password.Error" +msgid "" +"We don't have your email stored. Please sign out then log back in to fix " +"this issue." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:173 +msgctxt "B1.Account.Password.Error" +msgid "The current password you entered is not correct. Please try again." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:188 +msgctxt "B1.Account.Password.Status" +msgid "Processing encryption keys…" +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:205 +msgctxt "B1.Account.Password.Status" +msgid "Unable to process your password. Please try again." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PasswordWizard.tsx:211 +msgctxt "B1.Account.Password.Status" +msgid "Successfully changed password." +msgstr "" + +#: src/javascripts/Components/PasswordWizard/PreprocessingStep.tsx:80 +msgctxt "B1.Account.Password.Status" +msgid "Checking for data conflicts..." +msgstr "" + +#: src/javascripts/Components/Modal/Modal.tsx:133 +msgctxt "B2.SharedUI.Title" +msgid "Advanced" +msgstr "" + +#: src/javascripts/Components/Menu/MenuRadioButtonItem.tsx:47 +msgctxt "B2.SharedUI.Title" +msgid "Info" +msgstr "" + +#: src/javascripts/Components/KeyboardShortcutsHelpModal/KeyboardShortcutsHelpModal.tsx:68 +msgctxt "B2.SharedUI.Title" +msgid "Keyboard shortcuts" +msgstr "" + +#: src/javascripts/Components/Footer/QuickSettingsButton.tsx:76 +msgctxt "B2.SharedUI.Title" +msgid "Quick settings" +msgstr "" + +#: src/javascripts/Components/ContentListView/Header/ContentListHeader.tsx:135 +msgctxt "B2.SharedUI.Title" +msgid "Display options" +msgstr "" + +#: src/javascripts/Components/ItemSelectionDropdown/ItemSelectionDropdown.tsx:84 +msgctxt "B2.SharedUI.Info" +msgid "No results found" +msgstr "" + +#: src/javascripts/Components/ContentListView/ContentListView.tsx:386 +msgctxt "B2.SharedUI.Info" +msgid "No items." +msgstr "" + +#: src/javascripts/Components/CommandPalette/CommandPalette.tsx:393 +msgctxt "B2.SharedUI.Info" +msgid "No items found" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModal.tsx:160 +msgctxt "B1.Account.ImportExport.Placeholder" +msgid "Select tag to add imported notes to..." +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:183 +msgctxt "B1.Account.ImportExport.Status" +msgid "Detecting service..." +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:186 +msgctxt "B1.Account.ImportExport.Status" +msgid "Ready to import" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:189 +msgctxt "B1.Account.ImportExport.Status" +msgid "Could not auto-detect service. Please select manually." +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:190 +msgctxt "B1.Account.ImportExport.Status" +msgid "Parsing..." +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:191 +msgctxt "B1.Account.ImportExport.Status" +msgid "Importing..." +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:192 +msgctxt "B1.Account.ImportExport.Status" +msgid "Uploading and embedding files..." +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:217 +#: src/javascripts/Components/ImportModal/InitialPage.tsx:38 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Evernote" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:218 +#: src/javascripts/Components/ImportModal/InitialPage.tsx:46 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Simplenote" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:219 +#: src/javascripts/Components/ImportModal/InitialPage.tsx:42 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Google Keep" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:220 +#: src/javascripts/Components/ImportModal/InitialPage.tsx:50 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Aegis" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:221 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Plaintext" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:222 +#: src/javascripts/Components/ImportModal/InitialPage.tsx:58 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "HTML" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:223 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Super" +msgstr "" + +#: src/javascripts/Components/ImportModal/InitialPage.tsx:54 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Plaintext / Markdown" +msgstr "" + +#: src/javascripts/Components/ImportModal/InitialPage.tsx:75 +msgctxt "B1.Account.ImportExport.ImportSource" +msgid "Super (JSON)" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:226 +msgctxt "B1.Account.ImportExport.AriaLabel" +msgid "Choose service" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:234 +msgctxt "B1.Account.ImportExport.AriaLabel" +msgid "Cancel" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:245 +msgctxt "B1.Account.ImportExport.AriaLabel" +msgid "Change service" +msgstr "" + +#: src/javascripts/Components/ImportModal/ImportModalFileItem.tsx:255 +msgctxt "B1.Account.ImportExport.AriaLabel" +msgid "Remove" +msgstr "" + +#: src/javascripts/Components/ApplicationView/DotOrgNotice.tsx:8 +msgctxt "B2.SharedUI.Warning" +msgid "app.standardnotes.org is no longer maintained. Please switch to" +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:128 +msgctxt "B1.Account.SignIn.Option" +msgid "Private username mode" +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:163 +msgctxt "B1.Account.SignIn.Option" +msgid "Use strict sign-in" +msgstr "" + +#: src/javascripts/Components/AccountMenu/AdvancedOptions.tsx:183 +msgctxt "B1.Account.SignIn.Option" +msgid "Use recovery code" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ConfirmPassword.tsx:200 +#: src/javascripts/Components/AccountMenu/SignIn.tsx:287 +msgctxt "B1.Account.SignIn.Option" +msgid "Stay signed in" +msgstr "" + +#: src/javascripts/Components/AccountMenu/MergeLocalDataCheckbox.tsx:26 +#, javascript-format +msgctxt "B1.Account.SignIn.Option" +msgid "Merge local data (${ notesAndTagsCount } item)" +msgid_plural "Merge local data (${ notesAndTagsCount } items)" +msgstr[0] "" +msgstr[1] "" + +#: src/javascripts/Components/AccountMenu/ServerPicker/ServerPicker.tsx:75 +msgctxt "B1.Account.SignIn.Option" +msgid "Default" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ServerPicker/ServerPicker.tsx:76 +msgctxt "B1.Account.SignIn.Option" +msgid "Custom" +msgstr "" + +#: src/javascripts/Components/AccountMenu/ServerPicker/ServerPicker.tsx:77 +msgctxt "B1.Account.SignIn.Option" +msgid "Home Server" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:72 +msgctxt "B1.Account.Session.MailtoSubject" +msgid "Standard Notes Feedback" +msgstr "" + +#: src/javascripts/Components/AccountMenu/GeneralAccountMenu.tsx:74 +#, javascript-format +msgctxt "B1.Account.Session.MailtoBody" +msgid "App Version: ${ application.version }" +msgstr "" diff --git a/packages/web/src/javascripts/Components/ApplicationView/DotOrgNotice.tsx b/packages/web/src/javascripts/Components/ApplicationView/DotOrgNotice.tsx index 7ebf184d989..8b404cc2716 100644 --- a/packages/web/src/javascripts/Components/ApplicationView/DotOrgNotice.tsx +++ b/packages/web/src/javascripts/Components/ApplicationView/DotOrgNotice.tsx @@ -1,10 +1,11 @@ import { FunctionComponent } from 'react' +import { c } from 'ttag' const DotOrgNotice: FunctionComponent = () => { return (
- app.standardnotes.org is no longer maintained. Please switch to{' '} + {c('B2.SharedUI.Warning').t`app.standardnotes.org is no longer maintained. Please switch to`}{' '} app.standardnotes.com diff --git a/packages/web/src/javascripts/Components/ChallengeModal/ChallengeModal.tsx b/packages/web/src/javascripts/Components/ChallengeModal/ChallengeModal.tsx index a2ab336e9ea..4105e3cdc2a 100644 --- a/packages/web/src/javascripts/Components/ChallengeModal/ChallengeModal.tsx +++ b/packages/web/src/javascripts/Components/ChallengeModal/ChallengeModal.tsx @@ -1,4 +1,5 @@ import { WebApplication } from '@/Application/WebApplication' +import { c } from 'ttag' import { ButtonType, Challenge, @@ -263,7 +264,7 @@ const ChallengeModal: FunctionComponent = ({ application, mainApplication {challenge.cancelable && (
-
{itemListController.selectedItemsCount} selected
- +
+ {c('B2.SharedUI.Status').t`${itemListController.selectedItemsCount} selected`} +
+
)} {this.state.hasPasscode && ( - +
diff --git a/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx b/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx index a6398bd86c9..e83b2264cee 100644 --- a/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx +++ b/packages/web/src/javascripts/Components/Footer/PreferencesButton.tsx @@ -1,4 +1,5 @@ import { compareSemVersions, StatusServiceEvent } from '@standardnotes/snjs' +import { c } from 'ttag' import { keyboardStringForShortcut, OPEN_PREFERENCES_COMMAND } from '@standardnotes/ui-services' import { useCallback, useEffect, useMemo, useState } from 'react' import { useApplication } from '../ApplicationProvider' @@ -54,14 +55,19 @@ const PreferencesButton = ({ openPreferences }: Props) => { if (isMobileScreen) { return (
- +
) } return ( - +
) diff --git a/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx b/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx index 645a907fe25..94205f68680 100644 --- a/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx +++ b/packages/web/src/javascripts/Components/QuickSettingsMenu/QuickSettingsMenu.tsx @@ -1,3 +1,4 @@ +import { c } from 'ttag' import { ComponentArea, ComponentInterface, @@ -115,9 +116,9 @@ const QuickSettingsMenu: FunctionComponent = ({ closeMenu }) => { }, [deactivateAnyNonLayerableTheme]) return ( - + {editorStackComponents.length > 0 && ( - + {editorStackComponents.map((component) => ( { @@ -132,9 +133,9 @@ const QuickSettingsMenu: FunctionComponent = ({ closeMenu }) => { ))} )} - + - Default + {c('B2.SharedUI.Label').t`Default`} {themes.map((theme) => ( diff --git a/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx b/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx index 5eaf25df4ec..9fbb8e3bf6b 100644 --- a/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx +++ b/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx @@ -1,4 +1,5 @@ import { ItemListController } from '@/Controllers/ItemList/ItemListController' +import { c } from 'ttag' import { KeyboardKey } from '@standardnotes/ui-services' import { useCallback, KeyboardEventHandler, useRef } from 'react' import SearchOptions from '@/Components/SearchOptions/SearchOptions' @@ -52,7 +53,7 @@ const SearchBar = ({ itemListController, searchOptionsController, hideOptions = container: 'px-1', input: 'text-base placeholder:text-passive-0 lg:text-sm', }} - placeholder={'Search...'} + placeholder={c('B2.SharedUI.Placeholder').t`Search...`} value={noteFilterText} ref={searchInputRef} onChange={onNoteFilterTextChange} diff --git a/packages/web/src/javascripts/Components/Shared/CopyableCodeBlock.tsx b/packages/web/src/javascripts/Components/Shared/CopyableCodeBlock.tsx index c66b7836376..6f242576ffc 100644 --- a/packages/web/src/javascripts/Components/Shared/CopyableCodeBlock.tsx +++ b/packages/web/src/javascripts/Components/Shared/CopyableCodeBlock.tsx @@ -1,4 +1,5 @@ import { classNames } from '@standardnotes/utils' +import { c } from 'ttag' import { addToast, ToastType } from '@standardnotes/toast' import { useRef, useState } from 'react' import Icon from '../Icon/Icon' @@ -38,7 +39,7 @@ const CopyableCodeBlock = ({ code }: Props) => { () => { addToast({ type: ToastType.Error, - message: 'Failed to copy to clipboard', + message: c('B2.SharedUI.Error').t`Failed to copy to clipboard`, }) setDidCopy(false) }, @@ -53,7 +54,7 @@ const CopyableCodeBlock = ({ code }: Props) => { 'absolute right-0 top-full min-w-max translate-x-2 translate-y-1 select-none rounded border border-border bg-default px-3 py-1.5 text-left md:peer-hover:block', )} > - {didCopy ? 'Copied!' : 'Copy example to clipboard'} + {didCopy ? c('B2.SharedUI.Status').t`Copied!` : c('B2.SharedUI.Action').t`Copy example to clipboard`} diff --git a/packages/web/src/javascripts/Components/SuperEditor/Plugins/CheckListPlugin.tsx b/packages/web/src/javascripts/Components/SuperEditor/Plugins/CheckListPlugin.tsx index f40bf168458..dfc29024402 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/Plugins/CheckListPlugin.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/Plugins/CheckListPlugin.tsx @@ -1,4 +1,5 @@ import { $insertList, $isListItemNode, INSERT_CHECK_LIST_COMMAND, ListNode } from '@lexical/list' +import { c } from 'ttag' import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext' import { calculateZoomLevel, isHTMLElement, mergeRegister } from '@lexical/utils' import { @@ -159,7 +160,7 @@ export function CheckListPlugin(): null { platform: application.platform, modifiers: [primaryModifier], key: 'Enter', - category: 'Super notes', + category: c('B2.SharedUI.Label').t`Super notes` as 'Super notes', description: 'Toggle checklist item', }), ) diff --git a/packages/web/src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx b/packages/web/src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx index 04cb512163e..061f85a6e05 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/Plugins/SearchPlugin/SearchPlugin.tsx @@ -1,4 +1,5 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext' +import { c } from 'ttag' import { useLexicalEditable } from '@lexical/react/useLexicalEditable' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useApplication } from '../../../ApplicationProvider' @@ -121,7 +122,7 @@ export function SearchPlugin() { return application.keyboardService.addCommandHandlers([ { command: SUPER_TOGGLE_SEARCH, - category: 'Super notes', + category: c('B2.SharedUI.Label').t`Super notes` as 'Super notes', description: 'Search in current note', onKeyDown: (event) => { event.preventDefault() @@ -131,7 +132,7 @@ export function SearchPlugin() { }, { command: SUPER_SEARCH_TOGGLE_REPLACE_MODE, - category: 'Super notes', + category: c('B2.SharedUI.Label').t`Super notes` as 'Super notes', description: 'Search and replace in current note', onKeyDown: (event) => { if (!isEditable) { @@ -150,7 +151,7 @@ export function SearchPlugin() { }, { command: SUPER_SEARCH_NEXT_RESULT, - category: 'Super notes', + category: c('B2.SharedUI.Label').t`Super notes` as 'Super notes', description: 'Go to next search result', onKeyDown(event) { event.preventDefault() @@ -160,7 +161,7 @@ export function SearchPlugin() { }, { command: SUPER_SEARCH_PREVIOUS_RESULT, - category: 'Super notes', + category: c('B2.SharedUI.Label').t`Super notes` as 'Super notes', description: 'Go to previous search result', onKeyDown(event) { event.preventDefault() diff --git a/packages/web/src/javascripts/Components/SuperEditor/Plugins/ToolbarPlugin/ToolbarPlugin.tsx b/packages/web/src/javascripts/Components/SuperEditor/Plugins/ToolbarPlugin/ToolbarPlugin.tsx index feaeef85927..9bc942a4f71 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/Plugins/ToolbarPlugin/ToolbarPlugin.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/Plugins/ToolbarPlugin/ToolbarPlugin.tsx @@ -1,4 +1,5 @@ import Icon from '@/Components/Icon/Icon' +import { c } from 'ttag' import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext' import useModal from '../../Lexical/Hooks/useModal' import { InsertTableDialog } from '../TablePlugin' @@ -606,7 +607,7 @@ const ToolbarPlugin = () => { useEffect(() => { return application.keyboardService.addCommandHandler({ command: SUPER_TOGGLE_TOOLBAR, - category: 'Super notes', + category: c('B2.SharedUI.Label').t`Super notes` as 'Super notes', description: 'Toggle Super note toolbar', onKeyDown(event) { if (isMobile) { diff --git a/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx b/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx index a06181b3c5b..7caa719db31 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx @@ -1,4 +1,5 @@ import { WebApplication } from '@/Application/WebApplication' +import { c } from 'ttag' import { ApplicationEvent, isPayloadSourceRetrieved, @@ -105,7 +106,7 @@ export const SuperEditor: FunctionComponent = ({ useEffect(() => { return application.commands.addWithShortcut( SUPER_SHOW_MARKDOWN_PREVIEW, - 'Super notes', + c('B2.SharedUI.Label').t`Super notes` as 'Super notes', 'Show markdown preview for current note', () => setShowMarkdownPreview((s) => !s), 'markdown', @@ -121,28 +122,28 @@ export const SuperEditor: FunctionComponent = ({ key: 'b', modifiers: [primaryModifier], description: 'Bold', - category: 'Formatting', + category: c('B2.SharedUI.Label').t`Formatting` as 'Formatting', platform: platform, }, { key: 'i', modifiers: [primaryModifier], description: 'Italic', - category: 'Formatting', + category: c('B2.SharedUI.Label').t`Formatting` as 'Formatting', platform: platform, }, { key: 'u', modifiers: [primaryModifier], description: 'Underline', - category: 'Formatting', + category: c('B2.SharedUI.Label').t`Formatting` as 'Formatting', platform: platform, }, { key: 'k', modifiers: [primaryModifier], description: 'Link', - category: 'Formatting', + category: c('B2.SharedUI.Label').t`Formatting` as 'Formatting', platform: platform, }, ]) diff --git a/packages/web/src/javascripts/Components/Table/Table.tsx b/packages/web/src/javascripts/Components/Table/Table.tsx index 08e3fda889d..22a9baf676a 100644 --- a/packages/web/src/javascripts/Components/Table/Table.tsx +++ b/packages/web/src/javascripts/Components/Table/Table.tsx @@ -1,4 +1,5 @@ import { classNames } from '@standardnotes/snjs' +import { c } from 'ttag' import { KeyboardKey } from '@standardnotes/ui-services' import { useCallback, useState, useRef } from 'react' import { useApplication } from '../ApplicationProvider' @@ -362,7 +363,9 @@ function Table({ table }: { table: TableType }) {
{showSelectionActions && selectedRows.length >= 2 && (
- {selectedRows.length} selected + + {c('B2.SharedUI.Status').t`${selectedRows.length} selected`} + {selectedRows.length > 0 && selectionActions}
)} diff --git a/packages/web/src/javascripts/Components/Tags/Navigation.tsx b/packages/web/src/javascripts/Components/Tags/Navigation.tsx index 1d3ec048887..2a225995de2 100644 --- a/packages/web/src/javascripts/Components/Tags/Navigation.tsx +++ b/packages/web/src/javascripts/Components/Tags/Navigation.tsx @@ -1,4 +1,5 @@ import SmartViewsSection from '@/Components/Tags/SmartViewsSection' +import { c } from 'ttag' import TagsSection from '@/Components/Tags/TagsSection' import { WebApplication } from '@/Application/WebApplication' import { ApplicationEvent, PrefKey, WebAppEvent } from '@standardnotes/snjs' @@ -93,7 +94,7 @@ const Navigation = forwardRef(({ application, className, onClick={() => { setPaneLayout(PaneLayout.ItemSelection) }} - label="Go to items list" + label={c('B2.SharedUI.AriaLabel').t`Go to items list`} icon="chevron-left" /> (({ application, className, application.lock()} - label="Locks application and wipes unencrypted data from memory." + label={c('B2.SharedUI.AriaLabel').t`Locks application and wipes unencrypted data from memory.`} className="ml-2.5 bg-default" icon="lock-filled" /> diff --git a/packages/web/src/javascripts/Controllers/Navigation/NavigationController.ts b/packages/web/src/javascripts/Controllers/Navigation/NavigationController.ts index 467a34c73d0..ba544ff4a7a 100644 --- a/packages/web/src/javascripts/Controllers/Navigation/NavigationController.ts +++ b/packages/web/src/javascripts/Controllers/Navigation/NavigationController.ts @@ -1,3 +1,4 @@ +import { c } from 'ttag' import { confirmDialog, CREATE_NEW_TAG_COMMAND, @@ -201,7 +202,7 @@ export class NavigationController this.disposers.push( this.commands.addWithShortcut( CREATE_NEW_TAG_COMMAND, - 'General', + c('B2.SharedUI.Label').t`General` as 'General', 'Create new tag', () => this.createNewTemplate(), 'add', diff --git a/packages/web/src/javascripts/Controllers/NoteHistory/HistoryModalController.ts b/packages/web/src/javascripts/Controllers/NoteHistory/HistoryModalController.ts index d32cf6a2af5..0bb340d8085 100644 --- a/packages/web/src/javascripts/Controllers/NoteHistory/HistoryModalController.ts +++ b/packages/web/src/javascripts/Controllers/NoteHistory/HistoryModalController.ts @@ -1,4 +1,5 @@ import { InternalEventBusInterface, SNNote } from '@standardnotes/snjs' +import { c } from 'ttag' import { OPEN_NOTE_HISTORY_COMMAND } from '@standardnotes/ui-services' import { action, makeObservable, observable } from 'mobx' import { AbstractViewController } from '../Abstract/AbstractViewController' @@ -26,10 +27,15 @@ export class HistoryModalController extends AbstractViewController { }) this.disposers.push( - commandService.addWithShortcut(OPEN_NOTE_HISTORY_COMMAND, 'Current note', 'Open note history', () => { - this.openModal(notesController.firstSelectedNote) - return true - }), + commandService.addWithShortcut( + OPEN_NOTE_HISTORY_COMMAND, + c('B2.SharedUI.Label').t`Current note` as 'Current note', + 'Open note history', + () => { + this.openModal(notesController.firstSelectedNote) + return true + }, + ), ) } diff --git a/packages/web/src/javascripts/Controllers/NotesController/NotesController.ts b/packages/web/src/javascripts/Controllers/NotesController/NotesController.ts index e1e3fb193e1..eaa85a47933 100644 --- a/packages/web/src/javascripts/Controllers/NotesController/NotesController.ts +++ b/packages/web/src/javascripts/Controllers/NotesController/NotesController.ts @@ -1,4 +1,5 @@ import { destroyAllObjectProperties } from '@/Utils' +import { c } from 'ttag' import { confirmDialog, GetItemTags, @@ -169,13 +170,13 @@ export class NotesController this.disposers.push( application.keyboardService.addCommandHandler({ command: PIN_NOTE_COMMAND, - category: 'Current note', + category: c('B2.SharedUI.Label').t`Current note` as 'Current note', description: 'Pin/unpin selected note(s)', onKeyDown: this.togglePinSelectedNotes, }), application.keyboardService.addCommandHandler({ command: STAR_NOTE_COMMAND, - category: 'Current note', + category: c('B2.SharedUI.Label').t`Current note` as 'Current note', description: 'Star/unstar selected note(s)', onKeyDown: this.toggleStarSelectedNotes, }), diff --git a/packages/web/src/javascripts/Controllers/PaneController/PaneController.ts b/packages/web/src/javascripts/Controllers/PaneController/PaneController.ts index adaf55c8a8d..355d9281160 100644 --- a/packages/web/src/javascripts/Controllers/PaneController/PaneController.ts +++ b/packages/web/src/javascripts/Controllers/PaneController/PaneController.ts @@ -1,4 +1,5 @@ import { PanesForLayout } from './../../Application/UseCase/PanesForLayout' +import { c } from 'ttag' import { InternalEventHandlerInterface, InternalEventInterface, @@ -106,18 +107,33 @@ export class PaneController extends AbstractViewController implements InternalEv eventBus.addEventHandler(this, ApplicationEvent.LocalPreferencesChanged) this.disposers.push( - commands.addWithShortcut(TOGGLE_FOCUS_MODE_COMMAND, 'General', 'Toggle focus mode', (event) => { - event?.preventDefault() - this.toggleFocusMode() - }), - commands.addWithShortcut(TOGGLE_LIST_PANE_KEYBOARD_COMMAND, 'General', 'Toggle notes panel', (event) => { - event?.preventDefault() - this.toggleListPane() - }), - commands.addWithShortcut(TOGGLE_NAVIGATION_PANE_KEYBOARD_COMMAND, 'General', 'Toggle tags panel', (event) => { - event?.preventDefault() - this.toggleNavigationPane() - }), + commands.addWithShortcut( + TOGGLE_FOCUS_MODE_COMMAND, + c('B2.SharedUI.Label').t`General` as 'General', + c('B2.SharedUI.Action').t`Toggle focus mode`, + (event) => { + event?.preventDefault() + this.toggleFocusMode() + }, + ), + commands.addWithShortcut( + TOGGLE_LIST_PANE_KEYBOARD_COMMAND, + c('B2.SharedUI.Label').t`General` as 'General', + c('B2.SharedUI.Action').t`Toggle notes panel`, + (event) => { + event?.preventDefault() + this.toggleListPane() + }, + ), + commands.addWithShortcut( + TOGGLE_NAVIGATION_PANE_KEYBOARD_COMMAND, + c('B2.SharedUI.Label').t`General` as 'General', + c('B2.SharedUI.Action').t`Toggle tags panel`, + (event) => { + event?.preventDefault() + this.toggleNavigationPane() + }, + ), ) } diff --git a/packages/web/src/javascripts/Utils/ErrorBoundary.tsx b/packages/web/src/javascripts/Utils/ErrorBoundary.tsx index ce6794437d3..a0e694b1496 100644 --- a/packages/web/src/javascripts/Utils/ErrorBoundary.tsx +++ b/packages/web/src/javascripts/Utils/ErrorBoundary.tsx @@ -1,4 +1,5 @@ import React from 'react' +import { c } from 'ttag' type State = { error?: Error @@ -26,7 +27,7 @@ export class ErrorBoundary extends React.Component { if (this.state.error) { return (
- Something went wrong rendering this component: + {c('B2.SharedUI.Error').t`Something went wrong rendering this component:`} {this.state.error.message}
) From 666a6dcfd5cf58a3ea8a1e3842703d600ca20a8f Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Sat, 25 Jul 2026 20:12:24 -0300 Subject: [PATCH 03/26] chore: localization batch 3 --- packages/models/package.json | 3 +- .../Syncable/SmartView/SmartViewBuilder.ts | 15 +- .../ChangeEditor/ChangeEditorButton.tsx | 10 +- .../ChangeEditor/ChangeEditorMenu.tsx | 16 ++- .../ChangeEditor/ChangeEditorMultipleMenu.tsx | 7 +- .../ChangeEditor/ChangeMultipleButton.tsx | 10 +- .../ContentListView/Calendar/Calendar.tsx | 4 +- .../ContentListView/Calendar/Constants.ts | 40 ++++-- .../Calendar/InfiniteCalendar.tsx | 4 +- .../ContentListView/ContentListView.tsx | 35 +++-- .../Daily/DailyContentList.tsx | 6 +- .../Header/AddItemMenuButton.tsx | 9 +- .../Header/ContentListHeader.tsx | 8 +- .../Header/DisplayOptionsMenu.tsx | 74 ++++++---- .../Header/NewNotePreferences.tsx | 19 +-- .../Header/NoteTitleFormatOptions.tsx | 9 +- .../ListItemConflictIndicator.tsx | 3 +- .../ContentListView/ListItemFlagIcons.tsx | 50 +++++-- .../ContentListView/ListItemMetadata.tsx | 16 ++- .../ContentTableView/ContentTableView.tsx | 36 +++-- .../EditorWidthSelectionModal.tsx | 28 ++-- .../Components/Icon/IconPicker.tsx | 30 +++- .../LinkedItems/ItemLinkAutocompleteInput.tsx | 5 +- .../LinkedItems/LinkedItemBubble.tsx | 7 +- .../LinkedItemBubblesContainer.tsx | 21 ++- .../LinkedItemSearchResultsAddTagOption.tsx | 5 +- .../LinkedItems/LinkedItemsButton.tsx | 19 ++- .../LinkedItems/LinkedItemsPanel.tsx | 29 ++-- .../LinkedItems/LinkedItemsSectionItem.tsx | 16 ++- .../MultipleSelectedNotes.tsx | 12 +- .../NoteView/EditingDisabledBanner.tsx | 5 +- .../ConflictListItem.tsx | 27 ++-- .../NoteConflictResolutionModal.tsx | 71 ++++++---- .../Components/NoteView/NoteView.tsx | 25 ++-- .../NoteView/NoteViewFileDropTarget.tsx | 3 +- .../NoteView/ReadonlyNoteContent.tsx | 3 +- .../NotesContextMenu/NotesContextMenu.tsx | 3 +- .../Components/NotesOptions/AddTagOption.tsx | 7 +- .../NotesOptions/ChangeEditorOption.tsx | 5 +- .../NotesOptions/NoteAttributes.tsx | 19 ++- .../NotesOptions/NoteSizeWarning.tsx | 4 +- .../Components/NotesOptions/NotesOptions.tsx | 43 +++--- .../NotesOptions/NotesOptionsPanel.tsx | 7 +- .../NotesOptions/SpellcheckOptions.tsx | 7 +- .../NotesOptions/SuperExportModal.tsx | 57 ++++---- .../NotesOptions/SuperNoteOptions.tsx | 5 +- .../NotesOptions/Utils/calculateReadTime.tsx | 12 +- .../EditSmartViewModalController.tsx | 2 +- .../Panes/General/SmartViews/SmartViews.tsx | 2 +- .../HistoryListContainer.tsx | 14 +- .../HistoryModalContentPane.tsx | 3 +- .../HistoryModalDialog.tsx | 3 +- .../HistoryModalDialogContent.tsx | 11 +- .../HistoryModalFooter.tsx | 18 ++- .../LegacyHistoryList.tsx | 6 +- .../RemoteHistoryList.tsx | 8 +- .../RevisionContentLocked.tsx | 18 ++- .../SessionHistoryList.tsx | 9 +- .../Components/RevisionHistoryModal/utils.ts | 14 ++ .../SmartViewBuilder/AddSmartViewModal.tsx | 38 +++-- .../CompoundPredicateBuilder.tsx | 27 ++-- .../SmartViewBuilder/PredicateKeypaths.ts | 40 +++--- .../SmartViewBuilder/PredicateValue.tsx | 5 +- .../Components/SuperEditor/BlocksEditor.tsx | 19 ++- .../SuperEditor/Lexical/Nodes/YouTubeNode.tsx | 5 +- .../BlockPickerPlugin/BlockPickerPlugin.tsx | 15 +- .../SuperEditor/Plugins/Blocks/Alignment.tsx | 9 +- .../SuperEditor/Plugins/Blocks/Code.tsx | 3 +- .../Plugins/Blocks/Collapsible.tsx | 3 +- .../SuperEditor/Plugins/Blocks/DateTime.tsx | 7 +- .../SuperEditor/Plugins/Blocks/Divider.tsx | 3 +- .../SuperEditor/Plugins/Blocks/File.tsx | 3 +- .../SuperEditor/Plugins/Blocks/Headings.tsx | 7 +- .../Plugins/Blocks/IndentOutdent.tsx | 5 +- .../SuperEditor/Plugins/Blocks/List.tsx | 7 +- .../SuperEditor/Plugins/Blocks/Paragraph.tsx | 3 +- .../SuperEditor/Plugins/Blocks/Password.tsx | 16 ++- .../SuperEditor/Plugins/Blocks/Quote.tsx | 3 +- .../Plugins/Blocks/RemoteImage.tsx | 3 +- .../SuperEditor/Plugins/Blocks/Table.tsx | 7 +- .../SuperEditor/Plugins/CheckListPlugin.tsx | 2 +- .../Plugins/CodeOptionsPlugin/CodeOptions.tsx | 29 +++- .../Nodes/BubbleComponent.tsx | 3 +- .../ItemSelectionPlugin.tsx | 3 +- .../Plugins/SearchPlugin/SearchPlugin.tsx | 37 ++--- .../TableCellActionMenuPlugin/index.tsx | 67 ++++++--- .../SuperEditor/Plugins/TablePlugin.tsx | 7 +- .../Plugins/ToolbarPlugin/LinkEditor.tsx | 9 +- .../Plugins/ToolbarPlugin/LinkViewer.tsx | 7 +- .../Plugins/ToolbarPlugin/ToolbarPlugin.tsx | 134 +++++++++++------- .../Components/SuperEditor/SuperEditor.tsx | 10 +- .../SuperEditor/SuperNoteConverter.tsx | 21 +-- .../SuperEditor/SuperNoteImporter.tsx | 23 +-- .../SuperEditor/SuperNoteMarkdownPreview.tsx | 7 +- .../Components/SuperEditor/Utils.ts | 7 +- .../Components/Tags/Navigation.tsx | 2 +- .../Components/Tags/RootTagDropZone.tsx | 6 +- .../Components/Tags/SmartViewsList.tsx | 5 +- .../Components/Tags/SmartViewsListItem.tsx | 11 +- .../Components/Tags/SmartViewsSection.tsx | 13 +- .../Components/Tags/TagContextMenu.tsx | 26 ++-- .../Components/Tags/TagSearchBar.tsx | 3 +- .../javascripts/Components/Tags/TagsList.tsx | 5 +- .../Components/Tags/TagsListItem.tsx | 10 +- .../Components/Tags/TagsSection.tsx | 3 +- .../Components/Tags/TagsSectionAddButton.tsx | 14 +- .../Components/Tags/TagsSectionTitle.tsx | 7 +- .../web/src/javascripts/Constants/Strings.ts | 129 ++++++++++------- .../Navigation/NavigationController.ts | 4 +- .../NoteHistory/HistoryModalController.ts | 4 +- .../NoteHistory/NoteHistoryController.ts | 14 +- .../NotesController/NotesController.ts | 2 +- .../Utils/createEditorMenuGroups.ts | 17 +-- 113 files changed, 1169 insertions(+), 657 deletions(-) diff --git a/packages/models/package.json b/packages/models/package.json index 9045aa1aaf9..111a611bad5 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -25,7 +25,8 @@ "@standardnotes/responses": "workspace:*", "@standardnotes/sncrypto-common": "workspace:^", "@standardnotes/utils": "workspace:^", - "lodash": "^4.17.21" + "lodash": "^4.17.21", + "ttag": "^1.8.12" }, "devDependencies": { "@types/jest": "^29.2.3", diff --git a/packages/models/src/Domain/Syncable/SmartView/SmartViewBuilder.ts b/packages/models/src/Domain/Syncable/SmartView/SmartViewBuilder.ts index f4360283789..0f44402ab59 100644 --- a/packages/models/src/Domain/Syncable/SmartView/SmartViewBuilder.ts +++ b/packages/models/src/Domain/Syncable/SmartView/SmartViewBuilder.ts @@ -11,6 +11,7 @@ import { PayloadTimestampDefaults } from '../../Abstract/Payload' import { NotesAndFilesDisplayOptions } from '../../Runtime/Display' import { FileItem } from '../File' import { ContentType } from '@standardnotes/domain-core' +import { c } from 'ttag' export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView[] { const notes = new SmartView( @@ -19,7 +20,7 @@ export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView content_type: ContentType.TYPES.SmartView, ...PayloadTimestampDefaults(), content: FillItemContent({ - title: 'Notes', + title: c('B3.Notes.TagsLinkedItems.Label').t`Notes`, predicate: allNotesPredicate(options).toJson(), }), }), @@ -31,7 +32,7 @@ export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView content_type: ContentType.TYPES.SmartView, ...PayloadTimestampDefaults(), content: FillItemContent({ - title: 'Files', + title: c('B3.Notes.TagsLinkedItems.Label').t`Files`, predicate: filesPredicate(options).toJson(), }), }), @@ -43,7 +44,7 @@ export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView content_type: ContentType.TYPES.SmartView, ...PayloadTimestampDefaults(), content: FillItemContent({ - title: 'Archived', + title: c('B3.Notes.TagsLinkedItems.Action').t`Archived`, predicate: archivedNotesPredicate(options).toJson(), }), }), @@ -55,7 +56,7 @@ export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView content_type: ContentType.TYPES.SmartView, ...PayloadTimestampDefaults(), content: FillItemContent({ - title: 'Trash', + title: c('B3.Notes.TagsLinkedItems.Action').t`Trash`, predicate: trashedNotesPredicate(options).toJson(), }), }), @@ -67,7 +68,7 @@ export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView content_type: ContentType.TYPES.SmartView, ...PayloadTimestampDefaults(), content: FillItemContent({ - title: 'Untagged', + title: c('B3.Notes.TagsLinkedItems.Label').t`Untagged`, predicate: untaggedNotesPredicate(options).toJson(), }), }), @@ -79,7 +80,7 @@ export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView content_type: ContentType.TYPES.SmartView, ...PayloadTimestampDefaults(), content: FillItemContent({ - title: 'Starred', + title: c('B3.Notes.TagsLinkedItems.Action').t`Starred`, predicate: starredNotesPredicate(options).toJson(), }), }), @@ -91,7 +92,7 @@ export function BuildSmartViews(options: NotesAndFilesDisplayOptions): SmartView content_type: ContentType.TYPES.SmartView, ...PayloadTimestampDefaults(), content: FillItemContent({ - title: 'Conflicts', + title: c('B3.Notes.TagsLinkedItems.Label').t`Conflicts`, predicate: conflictsPredicate(options).toJson(), }), }), diff --git a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx index 940c9e536ff..a305cf0efed 100644 --- a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx +++ b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx @@ -58,8 +58,8 @@ const ChangeEditorButton: FunctionComponent = ({ noteViewController, onCl useEffect(() => { return application.commands.addWithShortcut( CHANGE_EDITOR_COMMAND, - c('B2.SharedUI.Label').t`Current note` as 'Current note', - 'Change note type', + 'Current note', + c('B3.Notes.EditingUI.Action').t`Change note type`, () => { void toggleMenu() }, @@ -72,17 +72,19 @@ const ChangeEditorButton: FunctionComponent = ({ noteViewController, onCl [application], ) + const shortcutLabel = shortcut && keyboardStringForShortcut(shortcut) + return (
= ({ } if (note.locked) { - application.alerts.alert(STRING_EDIT_LOCKED_ATTEMPT).catch(console.error) + application.alerts.alert(STRING_EDIT_LOCKED_ATTEMPT()).catch(console.error) return } @@ -252,19 +253,20 @@ const ChangeEditorMenu: FunctionComponent = ({ return ( <> - +
-

Choose a note type

+

{c('B3.Notes.EditingUI.Label').t`Choose a note type`}

{unableToFindEditor && (

- Unable to find system editor for this note. Select Manage Plugins to reinstall this editor. + {c('B3.Notes.EditingUI.Error') + .t`Unable to find system editor for this note. Select Manage Plugins to reinstall this editor.`}

)}
@@ -295,14 +297,14 @@ const ChangeEditorMenu: FunctionComponent = ({ {menuItem.uiFeature.displayName} {menuItem.isLabs && ( - Labs + {c('B3.Notes.EditingUI.Label').t`Labs`} )} {menuItem.uiFeature.featureIdentifier === NativeFeatureIdentifier.TYPES.SuperEditor && !isSelected(menuItem) && recommendSuper && ( - Recommended + {c('B3.Notes.EditingUI.Label').t`Recommended`} )}
diff --git a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMultipleMenu.tsx b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMultipleMenu.tsx index 115e2c4e556..5352a14b460 100644 --- a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMultipleMenu.tsx +++ b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMultipleMenu.tsx @@ -12,6 +12,7 @@ import { NativeFeatureIdentifier, } from '@standardnotes/snjs' import { useCallback, useMemo, useState } from 'react' +import { c } from 'ttag' import Icon from '../Icon/Icon' import { PremiumFeatureIconName, PremiumFeatureIconClass } from '../Icon/PremiumFeatureIcon' import Menu from '../Menu/Menu' @@ -71,7 +72,7 @@ const ChangeEditorMultipleMenu = ({ application, notes, setDisableClickOutside } } if (hasSelectedLockedNotes) { - void application.alerts.alert(STRING_EDIT_LOCKED_ATTEMPT) + void application.alerts.alert(STRING_EDIT_LOCKED_ATTEMPT()) return } @@ -138,7 +139,7 @@ const ChangeEditorMultipleMenu = ({ application, notes, setDisableClickOutside } return ( <> - + {groupsWithItems.map((group) => ( {group.items.map((item) => { @@ -157,7 +158,7 @@ const ChangeEditorMultipleMenu = ({ application, notes, setDisableClickOutside } {item.uiFeature.displayName} {item.isLabs && ( - Labs + {c('B3.Notes.EditingUI.Label').t`Labs`} )}
diff --git a/packages/web/src/javascripts/Components/ChangeEditor/ChangeMultipleButton.tsx b/packages/web/src/javascripts/Components/ChangeEditor/ChangeMultipleButton.tsx index fe47c31c31a..14d50b00862 100644 --- a/packages/web/src/javascripts/Components/ChangeEditor/ChangeMultipleButton.tsx +++ b/packages/web/src/javascripts/Components/ChangeEditor/ChangeMultipleButton.tsx @@ -1,4 +1,5 @@ import { WebApplication } from '@/Application/WebApplication' +import { c } from 'ttag' import { NotesController } from '@/Controllers/NotesController/NotesController' import { useRef, useState } from 'react' import RoundIconButton from '../Button/RoundIconButton' @@ -18,9 +19,14 @@ const ChangeMultipleButton = ({ application, notesController }: Props) => { return ( <> - + = ({ activities, startDate, onDateSelec
- {CalendarDaysOfTheWeek.map((d) => ( + {getCalendarDaysOfTheWeek().map((d: string) => (
{d}
diff --git a/packages/web/src/javascripts/Components/ContentListView/Calendar/Constants.ts b/packages/web/src/javascripts/Components/ContentListView/Calendar/Constants.ts index 2541d87abfe..6441fea8466 100644 --- a/packages/web/src/javascripts/Components/ContentListView/Calendar/Constants.ts +++ b/packages/web/src/javascripts/Components/ContentListView/Calendar/Constants.ts @@ -1,17 +1,29 @@ +import { c } from 'ttag' + export const CalendarDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] export const CalendarDaysLeap = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] -export const CalendarDaysOfTheWeek = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'] -export const CalendarMonths = [ - 'January', - 'February', - 'March', - 'April', - 'May', - 'June', - 'July', - 'August', - 'September', - 'October', - 'November', - 'December', + +export const getCalendarDaysOfTheWeek = () => [ + c('B3.Notes.NoteList.Label').t`Mo`, + c('B3.Notes.NoteList.Label').t`Tu`, + c('B3.Notes.NoteList.Label').t`We`, + c('B3.Notes.NoteList.Label').t`Th`, + c('B3.Notes.NoteList.Label').t`Fr`, + c('B3.Notes.NoteList.Label').t`Sa`, + c('B3.Notes.NoteList.Label').t`Su`, +] + +export const getCalendarMonths = () => [ + c('B3.Notes.NoteList.Label').t`January`, + c('B3.Notes.NoteList.Label').t`February`, + c('B3.Notes.NoteList.Label').t`March`, + c('B3.Notes.NoteList.Label').t`April`, + c('B3.Notes.NoteList.Label').t`May`, + c('B3.Notes.NoteList.Label').t`June`, + c('B3.Notes.NoteList.Label').t`July`, + c('B3.Notes.NoteList.Label').t`August`, + c('B3.Notes.NoteList.Label').t`September`, + c('B3.Notes.NoteList.Label').t`October`, + c('B3.Notes.NoteList.Label').t`November`, + c('B3.Notes.NoteList.Label').t`December`, ] diff --git a/packages/web/src/javascripts/Components/ContentListView/Calendar/InfiniteCalendar.tsx b/packages/web/src/javascripts/Components/ContentListView/Calendar/InfiniteCalendar.tsx index 276c3a32d98..2242f1308e7 100644 --- a/packages/web/src/javascripts/Components/ContentListView/Calendar/InfiniteCalendar.tsx +++ b/packages/web/src/javascripts/Components/ContentListView/Calendar/InfiniteCalendar.tsx @@ -3,7 +3,7 @@ import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useSta import Calendar from './Calendar' import { CalendarActivity, CalendarActivityType } from './CalendarActivity' import { CalendarMonth } from './CalendarMonth' -import { CalendarMonths } from './Constants' +import { getCalendarMonths } from './Constants' import { insertMonths, insertMonthsWithTarget } from './CalendarUtilts' import { InfiniteScrollerInterface, InfinteScroller } from '../InfiniteScroller/InfiniteScroller' import { classNames } from '@standardnotes/utils' @@ -188,7 +188,7 @@ const InfiniteCalendar = forwardRef( 'text-center font-bold hover:bg-contrast', )} > - {CalendarMonths[activeDate.getMonth()]} {activeDate.getFullYear()} + {getCalendarMonths()[activeDate.getMonth()]} {activeDate.getFullYear()}
{expanded && ( ( selectPreviousItem, } = itemListController + const selectedItemsCount = itemListController.selectedItemsCount + const selectedItemsLabel = c('B3.Notes.NoteList.Info').jt`${selectedItemsCount} selected` + const innerRef = useRef(null) const { addDragTarget, removeDragTarget } = useFileDragNDrop() @@ -127,8 +130,10 @@ const ContentListView = forwardRef( const shouldAddDropTarget = !navigationController.isInAnySystemView() && !navigationController.isInSmartView() if (target && shouldAddDropTarget && currentTag) { + const tagTitle = currentTag.title addDragTarget(target, { - tooltipText: `Drop your files to upload and link them to tag "${currentTag.title}"`, + tooltipText: c('B3.Notes.NoteList.Info') + .jt`Drop your files to upload and link them to tag "${tagTitle}"` as unknown as string, callback: fileDropCallback, }) } @@ -178,8 +183,8 @@ const ContentListView = forwardRef( return application.keyboardService.addCommandHandlers([ { command: NEXT_LIST_ITEM_KEYBOARD_COMMAND, - category: c('B2.SharedUI.Label').t`Notes list` as 'Notes list', - description: 'Go to next item', + category: 'Notes list', + description: c('B3.Notes.NoteList.Action').t`Go to next item`, elements: [document.body, ...(searchBarElement ? [searchBarElement] : [])], onKeyDown: () => { if (searchBarElement === document.activeElement) { @@ -193,8 +198,8 @@ const ContentListView = forwardRef( }, { command: PREVIOUS_LIST_ITEM_KEYBOARD_COMMAND, - category: c('B2.SharedUI.Label').t`Notes list` as 'Notes list', - description: 'Go to previous item', + category: 'Notes list', + description: c('B3.Notes.NoteList.Action').t`Go to previous item`, element: document.body, onKeyDown: () => { if (shouldUseTableView) { @@ -205,7 +210,7 @@ const ContentListView = forwardRef( }, { command: SEARCH_KEYBOARD_COMMAND, - category: c('B2.SharedUI.Label').t`General` as 'General', + category: 'General', description: c('B2.SharedUI.Action').t`Toggle global search`, onKeyDown: (event) => { if (searchBarElement) { @@ -224,7 +229,7 @@ const ContentListView = forwardRef( }, { command: SELECT_ALL_ITEMS_KEYBOARD_COMMAND, - category: c('B2.SharedUI.Label').t`General` as 'General', + category: 'General', description: c('B2.SharedUI.Action').t`Select all items`, onKeyDown: (event) => { const isTargetInsideContentList = (event.target as HTMLElement).closest(`#${ElementIds.ContentList}`) @@ -258,15 +263,19 @@ const ContentListView = forwardRef( if (shortcut) { shortcut = '(' + shortcut + ')' } - return isFilesSmartView ? `Upload file ${shortcut}` : `Create a new note in the selected tag ${shortcut}` + return isFilesSmartView + ? (c('B3.Notes.NoteList.Action').jt`Upload file ${shortcut}` as unknown as string) + : (c('B3.Notes.NoteList.Action').jt`Create a new note in the selected tag ${shortcut}` as unknown as string) }, [isFilesSmartView, shortcutForCreate]) useEffect( () => application.commands.addWithShortcut( CREATE_NEW_NOTE_KEYBOARD_COMMAND, - c('B2.SharedUI.Label').t`General` as 'General', - isFilesSmartView ? 'Upload file' : 'Create new note', + 'General', + isFilesSmartView + ? c('B3.Notes.NoteList.Action').t`Upload file` + : c('B3.Notes.NoteList.Action').t`Create new note`, (event) => { event?.preventDefault() void addNewItem() @@ -355,9 +364,7 @@ const ContentListView = forwardRef(
-
- {c('B2.SharedUI.Status').t`${itemListController.selectedItemsCount} selected`} -
+
{selectedItemsLabel}
)}
@@ -310,16 +318,18 @@ const DisplayOptionsMenu: FunctionComponent = ({ )} - + = ({ checked={preferences.sortBy === CollectionSort.UpdatedAt} >
- Date modified + {c('B3.Notes.NoteList.Label').t`Date modified`}
@@ -338,7 +348,7 @@ const DisplayOptionsMenu: FunctionComponent = ({ checked={preferences.sortBy === CollectionSort.CreatedAt} >
- Creation date + {c('B3.Notes.NoteList.Label').t`Creation date`}
@@ -349,13 +359,13 @@ const DisplayOptionsMenu: FunctionComponent = ({ checked={preferences.sortBy === CollectionSort.Title} >
- Title + {c('B3.Notes.NoteList.Label').t`Title`}
- + {!shouldHideNonApplicableOptions && !isFilesSmartView && ( = ({ checked={!preferences.hideNotePreview} onChange={toggleHidePreview} > -
Show note preview
+
{c('B3.Notes.NoteList.Label').t`Show note preview`}
)} = ({ checked={!preferences.hideDate} onChange={toggleHideDate} > - Show date + {c('B3.Notes.NoteList.Action').t`Show date`} = ({ checked={!preferences.hideTags} onChange={toggleHideTags} > - Show tags + {c('B3.Notes.NoteList.Action').t`Show tags`} = ({ checked={!preferences.hideEditorIcon} onChange={toggleEditorIcon} > - Show icon + {c('B3.Notes.NoteList.Action').t`Show icon`}
{!shouldHideNonApplicableOptions && ( - + - Show pinned + {c('B3.Notes.NoteList.Action').t`Show pinned`} = ({ checked={!preferences.hideProtected} onChange={toggleHideProtected} > - Show protected + {c('B3.Notes.NoteList.Action').t`Show protected`} = ({ checked={Boolean(preferences.showArchived)} onChange={toggleShowArchived} > - Show archived + {c('B3.Notes.NoteList.Action').t`Show archived`} = ({ checked={Boolean(preferences.showTrashed)} onChange={toggleShowTrashed} > - Show trashed + {c('B3.Notes.NoteList.Action').t`Show trashed`} )} @@ -439,12 +449,16 @@ const DisplayOptionsMenu: FunctionComponent = ({ >
-
Daily Notebook
+
+ {c('B3.Notes.NoteList.Label').t`Daily Notebook`} +
- Labs + {c('B3.Notes.NoteList.Label').t`Labs`}
-
Capture new notes daily with a calendar-based layout
+
+ {c('B3.Notes.NoteList.Label').t`Capture new notes daily with a calendar-based layout`} +
@@ -460,19 +474,23 @@ const DisplayOptionsMenu: FunctionComponent = ({ >
-
Table view
+
+ {c('B3.Notes.NoteList.Label').t`Table view`} +
- Labs + {c('B3.Notes.NoteList.Label').t`Labs`}
-
Display the notes and files in the current tag in a table layout
+
+ {c('B3.Notes.NoteList.Label').t`Display the notes and files in the current tag in a table layout`} +
)} {!shouldHideNonApplicableOptions && (!isSystemTag || currentMode === 'global') && ( - + = ({ return (
-
Note Type
+
{c('B3.Notes.NoteList.Label').t`Note Type`}
selectEditorForNewNoteDefault(value as EditorOption['value'])} @@ -188,12 +189,13 @@ const NewNotePreferences: FunctionComponent = ({
-
Title Format
+
{c('B3.Notes.NoteList.Label') + .t`Title Format`}
= ({ 'w-full min-w-55 rounded border border-solid border-passive-3 bg-default px-2 py-1.5 text-sm md:translucent-ui:bg-transparent', 'focus-within:ring-2 focus-within:ring-info', )} - placeholder="e.g. YYYY-MM-DD" + placeholder={c('B3.Notes.NoteList.Label').t`e.g. YYYY-MM-DD`} value={customNoteTitleFormat} onChange={handleCustomFormatInputChange} spellCheck={false} />
- Preview: + {c('B3.Notes.NoteList.Label').t`Preview:`} @@ -234,9 +236,10 @@ const NewNotePreferences: FunctionComponent = ({ } }} > - Options + {c('B3.Notes.NoteList.Action').t`Options`} - . Use [] to escape formatting. + . {c('B3.Notes.NoteList.Info').t`Use`} []{' '} + {c('B3.Notes.NoteList.Info').t`to escape formatting.`}
)} diff --git a/packages/web/src/javascripts/Components/ContentListView/Header/NoteTitleFormatOptions.tsx b/packages/web/src/javascripts/Components/ContentListView/Header/NoteTitleFormatOptions.tsx index 2daf756e103..dbd57bf83a5 100644 --- a/packages/web/src/javascripts/Components/ContentListView/Header/NoteTitleFormatOptions.tsx +++ b/packages/web/src/javascripts/Components/ContentListView/Header/NoteTitleFormatOptions.tsx @@ -1,20 +1,21 @@ import { NewNoteTitleFormat } from '@standardnotes/snjs' +import { c } from 'ttag' export const NoteTitleFormatOptions = [ { - label: 'Current date and time', + label: c('B3.Notes.NoteList.Label').t`Current date and time`, value: NewNoteTitleFormat.CurrentDateAndTime, }, { - label: 'Current note count', + label: c('B3.Notes.NoteList.Label').t`Current note count`, value: NewNoteTitleFormat.CurrentNoteCount, }, { - label: 'Custom format', + label: c('B3.Notes.NoteList.Label').t`Custom format`, value: NewNoteTitleFormat.CustomFormat, }, { - label: 'Empty', + label: c('B3.Notes.NoteList.Label').t`Empty`, value: NewNoteTitleFormat.Empty, }, ] diff --git a/packages/web/src/javascripts/Components/ContentListView/ListItemConflictIndicator.tsx b/packages/web/src/javascripts/Components/ContentListView/ListItemConflictIndicator.tsx index 15ac09dd3a8..d937ce0e01b 100644 --- a/packages/web/src/javascripts/Components/ContentListView/ListItemConflictIndicator.tsx +++ b/packages/web/src/javascripts/Components/ContentListView/ListItemConflictIndicator.tsx @@ -1,4 +1,5 @@ import { FunctionComponent } from 'react' +import { c } from 'ttag' import { ListableContentItem } from './Types/ListableContentItem' type Props = { @@ -11,7 +12,7 @@ const ListItemConflictIndicator: FunctionComponent = ({ item }) => { return item.conflictOf ? (
-
Conflicted Copy
+
{c('B3.Notes.NoteActions.Label').t`Conflicted Copy`}
) : null diff --git a/packages/web/src/javascripts/Components/ContentListView/ListItemFlagIcons.tsx b/packages/web/src/javascripts/Components/ContentListView/ListItemFlagIcons.tsx index cfa8493f8e8..bd9f619c7f6 100644 --- a/packages/web/src/javascripts/Components/ContentListView/ListItemFlagIcons.tsx +++ b/packages/web/src/javascripts/Components/ContentListView/ListItemFlagIcons.tsx @@ -1,4 +1,5 @@ import { FunctionComponent } from 'react' +import { c } from 'ttag' import Icon from '@/Components/Icon/Icon' import { ListableContentItem } from './Types/ListableContentItem' import { classNames } from '@standardnotes/snjs' @@ -27,33 +28,58 @@ const ListItemFlagIcons: FunctionComponent = ({ return (
{item.locked && ( - - + + )} {item.trashed && ( - - + + )} {item.archived && ( - - + + )} {hasFiles && ( - - + + )} {item.starred && ( - - + + )} {isFileBackedUp && ( - - + + )}
diff --git a/packages/web/src/javascripts/Components/ContentListView/ListItemMetadata.tsx b/packages/web/src/javascripts/Components/ContentListView/ListItemMetadata.tsx index 88b20fbd53e..5e349116a71 100644 --- a/packages/web/src/javascripts/Components/ContentListView/ListItemMetadata.tsx +++ b/packages/web/src/javascripts/Components/ContentListView/ListItemMetadata.tsx @@ -1,5 +1,6 @@ import { CollectionSort, SortableItem } from '@standardnotes/snjs' import { FunctionComponent } from 'react' +import { c } from 'ttag' import { ListableContentItem } from './Types/ListableContentItem' type Props = { @@ -21,9 +22,18 @@ const ListItemMetadata: FunctionComponent = ({ item, hideDate, sortBy }) return (
- {item.protected && Protected {hideDate ? '' : ' • '}} - {!hideDate && showModifiedDate && Modified {item.updatedAtString || 'Now'}} - {!hideDate && !showModifiedDate && {item.createdAtString || 'Now'}} + {item.protected && ( + + {c('B3.Notes.NoteList.Label').t`Protected`} + {hideDate ? '' : ' • '} + + )} + {!hideDate && showModifiedDate && ( + + {c('B3.Notes.NoteList.Label').t`Modified`} {item.updatedAtString || c('B3.Notes.NoteList.Label').t`Now`} + + )} + {!hideDate && !showModifiedDate && {item.createdAtString || c('B3.Notes.NoteList.Label').t`Now`}}
) } diff --git a/packages/web/src/javascripts/Components/ContentTableView/ContentTableView.tsx b/packages/web/src/javascripts/Components/ContentTableView/ContentTableView.tsx index 99a727d477a..0788d4ef166 100644 --- a/packages/web/src/javascripts/Components/ContentTableView/ContentTableView.tsx +++ b/packages/web/src/javascripts/Components/ContentTableView/ContentTableView.tsx @@ -16,6 +16,7 @@ import { isNote, } from '@standardnotes/snjs' import { useState, useEffect, useCallback, useMemo, useRef } from 'react' +import { c, jt } from 'ttag' import { FileItemActionType } from '../AttachedFilesPopover/PopoverFileItemAction' import { getFileIconComponent } from '../FilePreview/getFileIconComponent' import Popover from '../Popover/Popover' @@ -65,7 +66,7 @@ const ContextMenuCell = ({ items }: { items: DecryptedItemInterface[] }) => { { @@ -75,7 +76,7 @@ const ContextMenuCell = ({ items }: { items: DecryptedItemInterface[] }) => { align="start" className="py-2" > - + {allItemsAreFiles && ( { @@ -118,7 +119,7 @@ const ItemLinksCell = ({ item }: { item: DecryptedItemInterface }) => { { @@ -163,7 +164,7 @@ const ItemNameCell = ({ item, hideIcon }: { item: DecryptedItemInterface; hideIc {backupInfo && (
@@ -172,8 +173,13 @@ const ItemNameCell = ({ item, hideIcon }: { item: DecryptedItemInterface; hideIc {item.title} {item.protected && ( - - + + )}
@@ -196,6 +202,8 @@ const AttachedToCell = ({ item }: { item: DecryptedItemInterface }) => { return null } + const additionalLinksCount = allLinks.length - 1 + return (
{ }} isBidirectional={false} /> - {allLinks.length - 1 >= 1 && and {allLinks.length - 1} more...} + {additionalLinksCount >= 1 && {c('B3.Notes.NoteList.Info').jt`and ${additionalLinksCount} more...`}}
) } @@ -274,12 +282,12 @@ const ContentTableView = ({ application, items }: Props) => { const columnDefs: TableColumn[] = useMemo( () => [ { - name: 'Name', + name: c('B3.Notes.NoteList.Label').t`Name`, sortBy: 'title', cell: (item) => , }, { - name: 'Upload date', + name: c('B3.Notes.NoteList.Label').t`Upload date`, sortBy: 'created_at', cell: (item) => { return formatDateForContextMenu(item.created_at) @@ -287,7 +295,7 @@ const ContentTableView = ({ application, items }: Props) => { hidden: isSmallBreakpoint || hideDate, }, { - name: 'Size', + name: c('B3.Notes.NoteList.Label').t`Size`, sortBy: 'decryptedSize', cell: (item) => { return item instanceof FileItem ? formatSizeToReadableString(item.decryptedSize) : null @@ -295,7 +303,7 @@ const ContentTableView = ({ application, items }: Props) => { hidden: isSmallBreakpoint || !listHasFiles, }, { - name: 'Attached to', + name: c('B3.Notes.NoteList.Label').t`Attached to`, hidden: isSmallBreakpoint || isMediumBreakpoint || isLargeBreakpoint || hideTags, cell: (item) => , }, @@ -354,7 +362,7 @@ const ContentTableView = ({ application, items }: Props) => { {contextMenuPosition && contextMenuItem && ( { @@ -366,7 +374,7 @@ const ContentTableView = ({ application, items }: Props) => { className="py-2" > {contextMenuItem instanceof FileItem && ( - + { )} {contextMenuItem instanceof SNNote && ( - + )} diff --git a/packages/web/src/javascripts/Components/EditorWidthSelectionModal/EditorWidthSelectionModal.tsx b/packages/web/src/javascripts/Components/EditorWidthSelectionModal/EditorWidthSelectionModal.tsx index ac2e7cc155d..1bdbaf4167d 100644 --- a/packages/web/src/javascripts/Components/EditorWidthSelectionModal/EditorWidthSelectionModal.tsx +++ b/packages/web/src/javascripts/Components/EditorWidthSelectionModal/EditorWidthSelectionModal.tsx @@ -45,19 +45,19 @@ const EditorWidthSelectionModal = ({ const options = useMemo( () => [ { - label: 'Narrow', + label: c('B3.Notes.EditorOptions.Label').t`Narrow`, value: EditorLineWidth.Narrow, }, { - label: 'Wide', + label: c('B3.Notes.EditorOptions.Label').t`Wide`, value: EditorLineWidth.Wide, }, { - label: 'Dynamic', + label: c('B3.Notes.EditorOptions.Label').t`Dynamic`, value: EditorLineWidth.Dynamic, }, { - label: 'Full width', + label: c('B3.Notes.EditorOptions.Label').t`Full width`, value: EditorLineWidth.FullWidth, }, ], @@ -72,13 +72,13 @@ const EditorWidthSelectionModal = ({ const actions = useMemo( (): ModalAction[] => [ { - label: 'Cancel', + label: c('B3.Notes.EditorOptions.Action').t`Cancel`, type: 'cancel', onClick: close, mobileSlot: 'left', }, { - label: 'Done', + label: c('B3.Notes.EditorOptions.Action').t`Done`, type: 'primary', onClick: accept, mobileSlot: 'right', @@ -98,7 +98,7 @@ const EditorWidthSelectionModal = ({ return ( } customFooter={<>} @@ -120,7 +120,7 @@ const EditorWidthSelectionModal = ({
{value === EditorLineWidth.Narrow || value === EditorLineWidth.Wide - ? `Max. ${EditorMaxWidths[value]}` + ? c('B3.Notes.EditorOptions.Info').jt`Max. ${EditorMaxWidths[value]}` : EditorMaxWidths[value]}
@@ -133,16 +133,18 @@ const EditorWidthSelectionModal = ({
)} setValue(value as EditorLineWidth)} />
- +
@@ -181,8 +183,8 @@ const EditorWidthSelectionModalWrapper = () => { useEffect(() => { return application.commands.addWithShortcut( CHANGE_EDITOR_WIDTH_COMMAND, - c('B2.SharedUI.Label').t`Current note` as 'Current note', - 'Change editor width', + 'Current note', + c('B3.Notes.EditorOptions.Action').t`Change editor width`, (_, data) => { if (typeof data === 'boolean' && data) { setIsGlobal(data) diff --git a/packages/web/src/javascripts/Components/Icon/IconPicker.tsx b/packages/web/src/javascripts/Components/Icon/IconPicker.tsx index b3850f727ab..8450763671e 100644 --- a/packages/web/src/javascripts/Components/Icon/IconPicker.tsx +++ b/packages/web/src/javascripts/Components/Icon/IconPicker.tsx @@ -8,6 +8,7 @@ import Icon, { isIconEmoji } from './Icon' import { IconNameToSvgMapping } from './IconNameToSvgMapping' import { IconPickerType } from './IconPickerType' import DecoratedInput from '../Input/DecoratedInput' +import { c } from 'ttag' type Props = { selectedValue: VectorIconNameOrEmoji @@ -126,9 +127,24 @@ const IconPicker = ({ return (
- - - + + +
{currentType === 'icon' && @@ -154,7 +170,7 @@ const IconPicker = ({ ) : ( handleEmojiChange(value)} />
- Use your keyboard to enter or paste in an emoji character. + {c('B3.Notes.EditingUI.Info').t`Use your keyboard to enter or paste in an emoji character.`}
{isMacOS && (
- On macOS: ⌘ + ⌃ + Space bar to bring up emoji picker. + {c('B3.Notes.EditingUI.Info').t`On macOS: ⌘ + ⌃ + Space bar to bring up emoji picker.`}
)} {isWindows && (
- On Windows: Windows key + . to bring up emoji picker. + {c('B3.Notes.EditingUI.Info').t`On Windows: Windows key + . to bring up emoji picker.`}
)} diff --git a/packages/web/src/javascripts/Components/LinkedItems/ItemLinkAutocompleteInput.tsx b/packages/web/src/javascripts/Components/LinkedItems/ItemLinkAutocompleteInput.tsx index de72cb6df8f..2855ca354ce 100644 --- a/packages/web/src/javascripts/Components/LinkedItems/ItemLinkAutocompleteInput.tsx +++ b/packages/web/src/javascripts/Components/LinkedItems/ItemLinkAutocompleteInput.tsx @@ -14,6 +14,7 @@ import { ElementIds } from '@/Constants/ElementIDs' import { getLinkingSearchResults } from '@/Utils/Items/Search/getSearchResults' import { useApplication } from '../ApplicationProvider' import { DecryptedItem, SNNote } from '@standardnotes/snjs' +import { c } from 'ttag' import { Combobox, ComboboxItem, ComboboxPopover, useComboboxStore, VisuallyHidden } from '@ariakit/react' import LinkedItemMeta from './LinkedItemMeta' import { LinkedItemSearchResultsAddTagOption } from './LinkedItemSearchResultsAddTagOption' @@ -85,10 +86,10 @@ const ItemLinkAutocompleteInput = forwardRef(