From 7381515e20a40225315b724ed41a615fb12e6e93 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Sat, 25 Nov 2023 17:25:35 +0100 Subject: [PATCH 1/4] Update dependencies to the most recent versions --- gulpfile.mjs | 2 +- package-lock.json | 915 ++++++++++++++-------------------------------- package.json | 18 +- 3 files changed, 287 insertions(+), 648 deletions(-) diff --git a/gulpfile.mjs b/gulpfile.mjs index 24454ee8a624f..e512ba7152d18 100644 --- a/gulpfile.mjs +++ b/gulpfile.mjs @@ -220,7 +220,7 @@ function createWebpackConfig( [ "@babel/preset-env", { - corejs: "3.33.2", + corejs: "3.33.3", exclude: ["web.structured-clone"], shippedProposals: true, useBuiltIns: "usage", diff --git a/package-lock.json b/package-lock.json index 8073e516d1d97..384456a48c83b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,24 +10,24 @@ "devDependencies": { "@babel/core": "^7.23.3", "@babel/preset-env": "^7.23.3", - "@babel/runtime": "^7.23.2", + "@babel/runtime": "^7.23.4", "@fluent/bundle": "^0.18.0", "@fluent/dom": "^0.9.0", "@javascript-obfuscator/escodegen": "2.3.0", "acorn": "^8.11.2", "autoprefixer": "^10.4.16", "babel-loader": "^9.1.3", - "caniuse-lite": "^1.0.30001561", + "caniuse-lite": "^1.0.30001564", "canvas": "^2.11.2", - "core-js": "^3.33.2", + "core-js": "^3.33.3", "cross-env": "^7.0.3", - "eslint": "^8.53.0", + "eslint": "^8.54.0", "eslint-config-prettier": "^8.10.0", "eslint-plugin-fetch-options": "^0.0.5", "eslint-plugin-html": "^7.1.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-json": "^3.1.0", - "eslint-plugin-mozilla": "^3.2.0", + "eslint-plugin-mozilla": "^3.3.2", "eslint-plugin-no-unsanitized": "^4.0.2", "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-sort-exports": "^0.8.0", @@ -51,17 +51,17 @@ "postcss-dir-pseudo-class": "^8.0.0", "postcss-discard-comments": "^6.0.0", "postcss-nesting": "^12.0.1", - "prettier": "^3.0.3", - "puppeteer": "^21.5.1", + "prettier": "^3.1.0", + "puppeteer": "^21.5.2", "rimraf": "^3.0.2", "streamqueue": "^1.1.2", "stylelint": "^15.11.0", - "stylelint-prettier": "^4.0.2", + "stylelint-prettier": "^4.1.0", "terser": "^5.24.0", "through2": "^4.0.2", "tsc-alias": "^1.8.8", "ttest": "^4.0.0", - "typescript": "^5.2.2", + "typescript": "^5.3.2", "typogr": "^0.6.8", "vinyl": "^3.0.0", "webpack": "^5.89.0", @@ -1844,9 +1844,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -2135,9 +2135,9 @@ "dev": true }, "node_modules/@eslint/js": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", - "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2222,13 +2222,6 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true, - "peer": true - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -2450,490 +2443,29 @@ "dependencies": { "lru-cache": "^6.0.0" }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl": { - "version": "0.2.1", - "resolved": "git+ssh://git@github.com/mozfreddyb/eslint-plugin-sdl.git#17b22cd527682108af7a1a4edacf69cb7a9b4a06", - "integrity": "sha512-OgZ+Oy+AugobKNvEZy0e9pCtp3cNc8OLKeF7cy1u+pwFS0LJic81XEKhWQqd6/vPEkx8m8TJfOF517TIHXVCTA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "eslint-plugin-node": "11.1.0", - "eslint-plugin-react": "7.24.0", - "eslint-plugin-security": "1.4.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "peer": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "peer": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/eslint-plugin-react": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz", - "integrity": "sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q==", - "dev": true, - "peer": true, - "dependencies": { - "array-includes": "^3.1.3", - "array.prototype.flatmap": "^1.2.4", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.4", - "object.fromentries": "^2.0.4", - "object.values": "^1.1.4", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "string.prototype.matchall": "^4.0.5" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "peer": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "peer": true - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "peer": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "peer": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@microsoft/eslint-plugin-sdl/node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/@microsoft/eslint-plugin-sdl": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@microsoft/eslint-plugin-sdl/-/eslint-plugin-sdl-0.2.2.tgz", + "integrity": "sha512-TiBepeQMSxHpvIbKA03TbO9nZqRrKR1th47wGdjY1sH2SSer+JgKlSF3S8GURGA8/zp2T/HwSiAJelclJ3hEvg==", "dev": true, "peer": true, "dependencies": { - "prelude-ls": "^1.2.1" + "eslint-plugin-node": "11.1.0", + "eslint-plugin-react": "7.33.0", + "eslint-plugin-security": "1.4.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": "^4.19.1 || ^5 || ^6 || ^7 || ^8" } }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { @@ -3884,6 +3416,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", @@ -4599,9 +4145,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", + "version": "1.0.30001564", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", + "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", "dev": true, "funding": [ { @@ -5107,9 +4653,9 @@ } }, "node_modules/core-js": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", - "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==", "dev": true, "hasInstallScript": true, "funding": { @@ -5470,6 +5016,21 @@ "node": ">= 0.10" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -5796,29 +5357,6 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/enquirer/node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/entities": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", @@ -6050,15 +5588,15 @@ } }, "node_modules/eslint": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", - "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.53.0", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -6194,32 +5732,6 @@ "eslint": ">=4.19.1" } }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, "node_modules/eslint-plugin-fetch-options": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/eslint-plugin-fetch-options/-/eslint-plugin-fetch-options-0.0.5.tgz", @@ -6331,9 +5843,9 @@ } }, "node_modules/eslint-plugin-mozilla": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mozilla/-/eslint-plugin-mozilla-3.2.0.tgz", - "integrity": "sha512-BlNWL9yHDx4dcC5AnHuPueH+PiW2rLcUkCcIGVv0KpIIeveKGh1LSvA/ArUNbENioi+hgsd7AehS4SuUD/7YAw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-mozilla/-/eslint-plugin-mozilla-3.3.2.tgz", + "integrity": "sha512-4NcBtaizgNh6uUyVmSqSrCUvkUnyuQc1K6fKtJiBGeSXLmswqPGwFcktj+GNLquHk5nrWTwBWP1x4APXuvMcJQ==", "dev": true, "dependencies": { "@babel/core": "^7.20.12", @@ -6342,13 +5854,14 @@ "eslint-visitor-keys": "^3.3.0", "estraverse": "^5.3.0", "htmlparser2": "^8.0.1", - "multi-ini": "^2.3.2" + "multi-ini": "^2.3.2", + "toml-eslint-parser": "0.6.0" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "@microsoft/eslint-plugin-sdl": "github:mozfreddyb/eslint-plugin-sdl#17b22cd527682108af7a1a4edacf69cb7a9b4a06", + "@microsoft/eslint-plugin-sdl": "^0.2.2", "eslint": "^7.23.0 || ^8.0.0", "eslint-config-prettier": "^8.0.0", "eslint-plugin-fetch-options": "^0.0.5", @@ -6418,32 +5931,6 @@ "eslint": ">=5.16.0" } }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, "node_modules/eslint-plugin-node/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -6483,6 +5970,87 @@ } } }, + "node_modules/eslint-plugin-react": { + "version": "7.33.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.0.tgz", + "integrity": "sha512-qewL/8P34WkY8jAqdQxsiL82pDUeT7nhs8IsuXgfgnsEloKCT4miAV9N9kGtx7/KM9NH/NCGUE7Edt9iGxLXFw==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "peer": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-security": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.4.0.tgz", @@ -6621,6 +6189,32 @@ "node": ">=8.0.0" } }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", @@ -7863,13 +7457,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true, - "peer": true - }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -9992,14 +9579,16 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, "peer": true, "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { "node": ">=4.0" @@ -16111,15 +15700,15 @@ } }, "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -16154,6 +15743,20 @@ "get-intrinsic": "^1.2.1" } }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "peer": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -16887,9 +16490,9 @@ } }, "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -17203,24 +16806,24 @@ } }, "node_modules/puppeteer": { - "version": "21.5.1", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.5.1.tgz", - "integrity": "sha512-NkI06BXckVZeZUkODK+BbgGelQSu7uYEp9PaJDozxpwNRFDYoVfHQvd2G4dERoLdP6+qx4EBPwEhk4dEkQc2Kg==", + "version": "21.5.2", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.5.2.tgz", + "integrity": "sha512-BaAGJOq8Fl6/cck6obmwaNLksuY0Bg/lIahCLhJPGXBFUD2mCffypa4A592MaWnDcye7eaHmSK9yot0pxctY8A==", "dev": true, "hasInstallScript": true, "dependencies": { "@puppeteer/browsers": "1.8.0", "cosmiconfig": "8.3.6", - "puppeteer-core": "21.5.1" + "puppeteer-core": "21.5.2" }, "engines": { - "node": ">=16.3.0" + "node": ">=16.13.2" } }, "node_modules/puppeteer-core": { - "version": "21.5.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.5.1.tgz", - "integrity": "sha512-u6c3SZKAOaOQogaTkQvllxT/o2PP16wkbrUWINtMhfvrB4ko+xwqC1pb+vyCPMmNUh3N/CX5YGqb3DWx2fUPSQ==", + "version": "21.5.2", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.5.2.tgz", + "integrity": "sha512-v4T0cWnujSKs+iEfmb8ccd7u4/x8oblEyKqplqKnJ582Kw8PewYAWvkH4qUWhitN3O2q9RF7dzkvjyK5HbzjLA==", "dev": true, "dependencies": { "@puppeteer/browsers": "1.8.0", @@ -17231,7 +16834,7 @@ "ws": "8.14.2" }, "engines": { - "node": ">=16.3.0" + "node": ">=16.13.2" } }, "node_modules/puppeteer-core/node_modules/debug": { @@ -18225,6 +17828,21 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "peer": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -18849,19 +18467,20 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", - "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.1", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", "side-channel": "^1.0.4" }, "funding": { @@ -19060,9 +18679,9 @@ } }, "node_modules/stylelint-prettier": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-4.0.2.tgz", - "integrity": "sha512-EoHnR2PiaWgpGtoI4VW7AzneMfwmwQsNwQ+3/E2k/a+ju5yO6rfPfop4vzPQKcJN4ZM1YbspEOPu88D8538sbg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-4.1.0.tgz", + "integrity": "sha512-dd653q/d1IfvsSQshz1uAMe+XDm6hfM/7XiFH0htYY8Lse/s5ERTg7SURQehZPwVvm/rs7AsFhda9EQ2E9TS0g==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0" @@ -19815,6 +19434,33 @@ "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=", "dev": true }, + "node_modules/toml-eslint-parser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/toml-eslint-parser/-/toml-eslint-parser-0.6.0.tgz", + "integrity": "sha512-aTmQa0RFb+2URe8IZOfo/oxt3b5rlXlpG9xE+6FmeI8immCGLnZYvKVxbnCYJx4bIKIaEwl0BnCDhwO70yeWSA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/toml-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -20158,9 +19804,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -20525,13 +20171,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true, - "peer": true - }, "node_modules/v8flags": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", diff --git a/package.json b/package.json index 8c81f1fb240d8..b4f0d12391948 100644 --- a/package.json +++ b/package.json @@ -4,24 +4,24 @@ "devDependencies": { "@babel/core": "^7.23.3", "@babel/preset-env": "^7.23.3", - "@babel/runtime": "^7.23.2", + "@babel/runtime": "^7.23.4", "@fluent/bundle": "^0.18.0", "@fluent/dom": "^0.9.0", "@javascript-obfuscator/escodegen": "2.3.0", "acorn": "^8.11.2", "autoprefixer": "^10.4.16", "babel-loader": "^9.1.3", - "caniuse-lite": "^1.0.30001561", + "caniuse-lite": "^1.0.30001564", "canvas": "^2.11.2", - "core-js": "^3.33.2", + "core-js": "^3.33.3", "cross-env": "^7.0.3", - "eslint": "^8.53.0", + "eslint": "^8.54.0", "eslint-config-prettier": "^8.10.0", "eslint-plugin-fetch-options": "^0.0.5", "eslint-plugin-html": "^7.1.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-json": "^3.1.0", - "eslint-plugin-mozilla": "^3.2.0", + "eslint-plugin-mozilla": "^3.3.2", "eslint-plugin-no-unsanitized": "^4.0.2", "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-sort-exports": "^0.8.0", @@ -45,17 +45,17 @@ "postcss-dir-pseudo-class": "^8.0.0", "postcss-discard-comments": "^6.0.0", "postcss-nesting": "^12.0.1", - "prettier": "^3.0.3", - "puppeteer": "^21.5.1", + "prettier": "^3.1.0", + "puppeteer": "^21.5.2", "rimraf": "^3.0.2", "streamqueue": "^1.1.2", "stylelint": "^15.11.0", - "stylelint-prettier": "^4.0.2", + "stylelint-prettier": "^4.1.0", "terser": "^5.24.0", "through2": "^4.0.2", "tsc-alias": "^1.8.8", "ttest": "^4.0.0", - "typescript": "^5.2.2", + "typescript": "^5.3.2", "typogr": "^0.6.8", "vinyl": "^3.0.0", "webpack": "^5.89.0", From 8aa26fad243e6f018a38dd60dd00c1b3897f60f9 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Sat, 25 Nov 2023 17:28:14 +0100 Subject: [PATCH 2/4] Update the code style for the new Prettier version This patch is automatically generated using `gulp lint --fix`. --- web/app_options.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/web/app_options.js b/web/app_options.js index 2e302e8a91674..216da7ff1a826 100644 --- a/web/app_options.js +++ b/web/app_options.js @@ -236,8 +236,8 @@ const defaultOptions = { typeof PDFJSDev === "undefined" ? "../external/bcmaps/" : PDFJSDev.test("MOZCENTRAL") - ? "resource://pdf.js/web/cmaps/" - : "../web/cmaps/", + ? "resource://pdf.js/web/cmaps/" + : "../web/cmaps/", kind: OptionKind.API, }, disableAutoFetch: { @@ -302,8 +302,8 @@ const defaultOptions = { typeof PDFJSDev === "undefined" ? "../external/standard_fonts/" : PDFJSDev.test("MOZCENTRAL") - ? "resource://pdf.js/web/standard_fonts/" - : "../web/standard_fonts/", + ? "resource://pdf.js/web/standard_fonts/" + : "../web/standard_fonts/", kind: OptionKind.API, }, verbosity: { @@ -324,8 +324,8 @@ const defaultOptions = { typeof PDFJSDev === "undefined" ? "../src/pdf.worker.js" : PDFJSDev.test("MOZCENTRAL") - ? "resource://pdf.js/build/pdf.worker.mjs" - : "../build/pdf.worker.mjs", + ? "resource://pdf.js/build/pdf.worker.mjs" + : "../build/pdf.worker.mjs", kind: OptionKind.WORKER, }, }; From dd7ff7e6620bb14866c2512327213a2552a22623 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Sat, 25 Nov 2023 18:00:40 +0100 Subject: [PATCH 3/4] Update the JSDoc comments for the new TypeScript version This commit fixes the JSDoc comment for the `annotationEditorMode` setter. The types tests fail on that now because the input value was changed from a number to an object with various properties in recent patches, but the JSDoc comment was not updated accordingly. Moreover, the types tests also fail because TypeScript 5.3 assumes that getters and setters have equal return and input value types, which is arguably also what one would expect, but our `annotationEditorMode` getter and setter deviate from that because the getter returns a number while the setter accepts an object. Given that it seems more important to document the setter entirely, including the meaning and types of its properties, and the type of the getter can easily be inferred from this comment and the other JSDoc comments that have `annotationEditorMode` in it, we remove the getter type to make the types tests pass again. --- web/pdf_viewer.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index af54eb1d9f1a2..b9ad52f196788 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -2204,9 +2204,6 @@ class PDFViewer { ]); } - /** - * @type {number} - */ get annotationEditorMode() { return this.#annotationEditorUIManager ? this.#annotationEditorMode @@ -2214,7 +2211,15 @@ class PDFViewer { } /** - * @param {number} mode - AnnotationEditor mode (None, FreeText, Ink, ...) + * @typedef {Object} AnnotationEditorModeOptions + * @property {number} mode - The editor mode (none, FreeText, ink, ...). + * @property {string|null} [editId] - ID of the existing annotation to edit. + * @property {boolean} [isFromKeyboard] - True if the mode change is due to a + * keyboard action. + */ + + /** + * @param {AnnotationEditorModeOptions} options */ set annotationEditorMode({ mode, editId = null, isFromKeyboard = false }) { if (!this.#annotationEditorUIManager) { From ab692f805a45d2fcd6f12d0f2c1e5c2946af7240 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Sat, 25 Nov 2023 17:29:49 +0100 Subject: [PATCH 4/4] Update translations to the most recent versions --- l10n/be/viewer.ftl | 25 +++++++++++++++++++++++++ l10n/cy/viewer.ftl | 2 ++ l10n/dsb/viewer.ftl | 2 ++ l10n/el/viewer.ftl | 2 ++ l10n/en-GB/viewer.ftl | 2 ++ l10n/eo/viewer.ftl | 23 +++++++++++++++++++++++ l10n/es-CL/viewer.ftl | 2 ++ l10n/fi/viewer.ftl | 2 ++ l10n/fr/viewer.ftl | 2 ++ l10n/gl/viewer.ftl | 36 ++++++++++++++++++++++++++++++++++++ l10n/gn/viewer.ftl | 2 ++ l10n/he/viewer.ftl | 2 ++ l10n/hsb/viewer.ftl | 2 ++ l10n/ia/viewer.ftl | 2 ++ l10n/is/viewer.ftl | 2 ++ l10n/it/viewer.ftl | 3 +++ l10n/kab/viewer.ftl | 20 ++++++++++++++++++++ l10n/kk/viewer.ftl | 2 ++ l10n/ko/viewer.ftl | 2 ++ l10n/nb-NO/viewer.ftl | 25 +++++++++++++++++++++++++ l10n/pl/viewer.ftl | 25 +++++++++++++++++++++++++ l10n/pt-BR/viewer.ftl | 6 ++++-- l10n/ru/viewer.ftl | 2 ++ l10n/sk/viewer.ftl | 2 ++ l10n/sq/viewer.ftl | 30 ++++++++++++++++++++++++++++++ l10n/sv-SE/viewer.ftl | 2 ++ l10n/th/viewer.ftl | 30 ++++++++++++++++++++++++++++++ l10n/tr/viewer.ftl | 2 ++ l10n/vi/viewer.ftl | 2 ++ l10n/zh-TW/viewer.ftl | 4 +++- 30 files changed, 262 insertions(+), 3 deletions(-) diff --git a/l10n/be/viewer.ftl b/l10n/be/viewer.ftl index c87b9d45d474f..9cbfd455f36e6 100644 --- a/l10n/be/viewer.ftl +++ b/l10n/be/viewer.ftl @@ -226,6 +226,23 @@ pdfjs-find-match-diacritics-checkbox-label = З улікам дыякрытык pdfjs-find-entire-word-checkbox-label = Словы цалкам pdfjs-find-reached-top = Дасягнуты пачатак дакумента, працяг з канца pdfjs-find-reached-bottom = Дасягнуты канец дакумента, працяг з пачатку +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [one] { $current } з { $total } супадзенняў + [few] { $current } з { $total } супадзенняў + *[many] { $current } з { $total } супадзенняў + } +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = + { $limit -> + [one] Больш за { $limit } супадзенне + [few] Больш за { $limit } супадзенні + *[many] Больш за { $limit } супадзенняў + } pdfjs-find-not-found = Выраз не знойдзены ## Predefined zoom values @@ -324,3 +341,11 @@ pdfjs-editor-alt-text-textarea = ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = Верхні левы кут — змяніць памер +pdfjs-editor-resizer-label-top-middle = Уверсе пасярэдзіне — змяніць памер +pdfjs-editor-resizer-label-top-right = Верхні правы кут — змяніць памер +pdfjs-editor-resizer-label-middle-right = Пасярэдзіне справа — змяніць памер +pdfjs-editor-resizer-label-bottom-right = Правы ніжні кут — змяніць памер +pdfjs-editor-resizer-label-bottom-middle = Пасярэдзіне ўнізе — змяніць памер +pdfjs-editor-resizer-label-bottom-left = Левы ніжні кут — змяніць памер +pdfjs-editor-resizer-label-middle-left = Пасярэдзіне злева — змяніць памер diff --git a/l10n/cy/viewer.ftl b/l10n/cy/viewer.ftl index 5f74ac3059cce..56b322e3aaa29 100644 --- a/l10n/cy/viewer.ftl +++ b/l10n/cy/viewer.ftl @@ -309,6 +309,8 @@ pdfjs-editor-ink-button-label = Lluniadu pdfjs-editor-stamp-button = .title = Ychwanegu neu olygu delweddau pdfjs-editor-stamp-button-label = Ychwanegu neu olygu delweddau +pdfjs-editor-remove-button = + .title = Tynnu # Editor Parameters pdfjs-editor-free-text-color-input = Lliw pdfjs-editor-free-text-size-input = Maint diff --git a/l10n/dsb/viewer.ftl b/l10n/dsb/viewer.ftl index ed965827236eb..7064cdb7ad64b 100644 --- a/l10n/dsb/viewer.ftl +++ b/l10n/dsb/viewer.ftl @@ -305,6 +305,8 @@ pdfjs-editor-ink-button-label = Kresliś pdfjs-editor-stamp-button = .title = Wobraze pśidaś abo wobźěłaś pdfjs-editor-stamp-button-label = Wobraze pśidaś abo wobźěłaś +pdfjs-editor-remove-button = + .title = Wótwónoźeś # Editor Parameters pdfjs-editor-free-text-color-input = Barwa pdfjs-editor-free-text-size-input = Wjelikosć diff --git a/l10n/el/viewer.ftl b/l10n/el/viewer.ftl index 664e5aa01a9a5..f6c8624a12683 100644 --- a/l10n/el/viewer.ftl +++ b/l10n/el/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Σχέδιο pdfjs-editor-stamp-button = .title = Προσθήκη ή επεξεργασία εικόνων pdfjs-editor-stamp-button-label = Προσθήκη ή επεξεργασία εικόνων +pdfjs-editor-remove-button = + .title = Αφαίρεση # Editor Parameters pdfjs-editor-free-text-color-input = Χρώμα pdfjs-editor-free-text-size-input = Μέγεθος diff --git a/l10n/en-GB/viewer.ftl b/l10n/en-GB/viewer.ftl index 3fd7b33968065..355112d6bc153 100644 --- a/l10n/en-GB/viewer.ftl +++ b/l10n/en-GB/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Draw pdfjs-editor-stamp-button = .title = Add or edit images pdfjs-editor-stamp-button-label = Add or edit images +pdfjs-editor-remove-button = + .title = Remove # Editor Parameters pdfjs-editor-free-text-color-input = Colour pdfjs-editor-free-text-size-input = Size diff --git a/l10n/eo/viewer.ftl b/l10n/eo/viewer.ftl index df9943441bfe2..22c473cb2f840 100644 --- a/l10n/eo/viewer.ftl +++ b/l10n/eo/viewer.ftl @@ -226,6 +226,21 @@ pdfjs-find-match-diacritics-checkbox-label = Respekti supersignojn pdfjs-find-entire-word-checkbox-label = Tutaj vortoj pdfjs-find-reached-top = Komenco de la dokumento atingita, daŭrigado ekde la fino pdfjs-find-reached-bottom = Fino de la dokumento atingita, daŭrigado ekde la komenco +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [one] { $current } el { $total } kongruo + *[other] { $current } el { $total } kongruoj + } +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = + { $limit -> + [one] Pli ol { $limit } kongruo + *[other] Pli ol { $limit } kongruoj + } pdfjs-find-not-found = Frazo ne trovita ## Predefined zoom values @@ -324,3 +339,11 @@ pdfjs-editor-alt-text-textarea = ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = Supra maldekstra angulo — ŝangi grandon +pdfjs-editor-resizer-label-top-middle = Supra mezo — ŝanĝi grandon +pdfjs-editor-resizer-label-top-right = Supran dekstran angulon — ŝanĝi grandon +pdfjs-editor-resizer-label-middle-right = Dekstra mezo — ŝanĝi grandon +pdfjs-editor-resizer-label-bottom-right = Malsupra deksta angulo — ŝanĝi grandon +pdfjs-editor-resizer-label-bottom-middle = Malsupra mezo — ŝanĝi grandon +pdfjs-editor-resizer-label-bottom-left = Malsupra maldekstra angulo — ŝanĝi grandon +pdfjs-editor-resizer-label-middle-left = Maldekstra mezo — ŝanĝi grandon diff --git a/l10n/es-CL/viewer.ftl b/l10n/es-CL/viewer.ftl index 9f6ef2b074e76..4dff296072060 100644 --- a/l10n/es-CL/viewer.ftl +++ b/l10n/es-CL/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Dibujar pdfjs-editor-stamp-button = .title = Añadir o editar imágenes pdfjs-editor-stamp-button-label = Añadir o editar imágenes +pdfjs-editor-remove-button = + .title = Eliminar # Editor Parameters pdfjs-editor-free-text-color-input = Color pdfjs-editor-free-text-size-input = Tamaño diff --git a/l10n/fi/viewer.ftl b/l10n/fi/viewer.ftl index 23a20843ab1c6..d37b6c9026b8c 100644 --- a/l10n/fi/viewer.ftl +++ b/l10n/fi/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Piirros pdfjs-editor-stamp-button = .title = Lisää tai muokkaa kuvia pdfjs-editor-stamp-button-label = Lisää tai muokkaa kuvia +pdfjs-editor-remove-button = + .title = Poista # Editor Parameters pdfjs-editor-free-text-color-input = Väri pdfjs-editor-free-text-size-input = Koko diff --git a/l10n/fr/viewer.ftl b/l10n/fr/viewer.ftl index 4a74dbaadc8ed..2a1df576f5729 100644 --- a/l10n/fr/viewer.ftl +++ b/l10n/fr/viewer.ftl @@ -297,6 +297,8 @@ pdfjs-editor-ink-button-label = Dessiner pdfjs-editor-stamp-button = .title = Ajouter ou modifier des images pdfjs-editor-stamp-button-label = Ajouter ou modifier des images +pdfjs-editor-remove-button = + .title = Supprimer # Editor Parameters pdfjs-editor-free-text-color-input = Couleur pdfjs-editor-free-text-size-input = Taille diff --git a/l10n/gl/viewer.ftl b/l10n/gl/viewer.ftl index dec3af6e05a3b..1b732fd4cabd1 100644 --- a/l10n/gl/viewer.ftl +++ b/l10n/gl/viewer.ftl @@ -226,6 +226,21 @@ pdfjs-find-match-diacritics-checkbox-label = Distinguir os diacríticos pdfjs-find-entire-word-checkbox-label = Palabras completas pdfjs-find-reached-top = Chegouse ao inicio do documento, continuar desde o final pdfjs-find-reached-bottom = Chegouse ao final do documento, continuar desde o inicio +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [one] Coincidencia { $current } de { $total } + *[other] Coincidencia { $current } de { $total } + } +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = + { $limit -> + [one] Máis de { $limit } coincidencia + *[other] Máis de { $limit } coincidencias + } pdfjs-find-not-found = Non se atopou a frase ## Predefined zoom values @@ -305,7 +320,28 @@ pdfjs-ink-canvas = ## Alt-text dialog +# Alternative text (alt text) helps when people can't see the image. +pdfjs-editor-alt-text-button-label = Texto alternativo +pdfjs-editor-alt-text-edit-button-label = Editar o texto alternativo +pdfjs-editor-alt-text-dialog-label = Escoller unha opción +pdfjs-editor-alt-text-add-description-label = Engadir unha descrición +pdfjs-editor-alt-text-mark-decorative-label = Marcar como decorativo +pdfjs-editor-alt-text-mark-decorative-description = Utilízase para imaxes ornamentais, como bordos ou marcas de auga. +pdfjs-editor-alt-text-cancel-button = Cancelar +pdfjs-editor-alt-text-save-button = Gardar +pdfjs-editor-alt-text-decorative-tooltip = Marcado como decorativo +# .placeholder: This is a placeholder for the alt text input area +pdfjs-editor-alt-text-textarea = + .placeholder = Por exemplo, «Un mozo séntase á mesa para comer» ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = Esquina superior esquerda: cambia o tamaño +pdfjs-editor-resizer-label-top-middle = Medio superior: cambia o tamaño +pdfjs-editor-resizer-label-top-right = Esquina superior dereita: cambia o tamaño +pdfjs-editor-resizer-label-middle-right = Medio dereito: cambia o tamaño +pdfjs-editor-resizer-label-bottom-right = Esquina inferior dereita: cambia o tamaño +pdfjs-editor-resizer-label-bottom-middle = Abaixo medio: cambia o tamaño +pdfjs-editor-resizer-label-bottom-left = Esquina inferior esquerda: cambia o tamaño +pdfjs-editor-resizer-label-middle-left = Medio esquerdo: cambia o tamaño diff --git a/l10n/gn/viewer.ftl b/l10n/gn/viewer.ftl index 652269a3d6071..3984f622771c1 100644 --- a/l10n/gn/viewer.ftl +++ b/l10n/gn/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Moha’ãnga pdfjs-editor-stamp-button = .title = Embojuaju térã embosako’i ta’ãnga pdfjs-editor-stamp-button-label = Embojuaju térã embosako’i ta’ãnga +pdfjs-editor-remove-button = + .title = Mboguete # Editor Parameters pdfjs-editor-free-text-color-input = Sa’y pdfjs-editor-free-text-size-input = Tuichakue diff --git a/l10n/he/viewer.ftl b/l10n/he/viewer.ftl index 8314060805684..9e5072d8386a4 100644 --- a/l10n/he/viewer.ftl +++ b/l10n/he/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = ציור pdfjs-editor-stamp-button = .title = הוספה או עריכת תמונות pdfjs-editor-stamp-button-label = הוספה או עריכת תמונות +pdfjs-editor-remove-button = + .title = הסרה # Editor Parameters pdfjs-editor-free-text-color-input = צבע pdfjs-editor-free-text-size-input = גודל diff --git a/l10n/hsb/viewer.ftl b/l10n/hsb/viewer.ftl index 48d4fff8ce06f..2b896265fabde 100644 --- a/l10n/hsb/viewer.ftl +++ b/l10n/hsb/viewer.ftl @@ -305,6 +305,8 @@ pdfjs-editor-ink-button-label = Rysować pdfjs-editor-stamp-button = .title = Wobrazy přidać abo wobdźěłać pdfjs-editor-stamp-button-label = Wobrazy přidać abo wobdźěłać +pdfjs-editor-remove-button = + .title = Wotstronić # Editor Parameters pdfjs-editor-free-text-color-input = Barba pdfjs-editor-free-text-size-input = Wulkosć diff --git a/l10n/ia/viewer.ftl b/l10n/ia/viewer.ftl index 683fc643dba69..b9acd145bea60 100644 --- a/l10n/ia/viewer.ftl +++ b/l10n/ia/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Designar pdfjs-editor-stamp-button = .title = Adder o rediger imagines pdfjs-editor-stamp-button-label = Adder o rediger imagines +pdfjs-editor-remove-button = + .title = Remover # Editor Parameters pdfjs-editor-free-text-color-input = Color pdfjs-editor-free-text-size-input = Dimension diff --git a/l10n/is/viewer.ftl b/l10n/is/viewer.ftl index f58a3a47bd46a..0d1d2dbcf0821 100644 --- a/l10n/is/viewer.ftl +++ b/l10n/is/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Teikna pdfjs-editor-stamp-button = .title = Bæta við eða breyta myndum pdfjs-editor-stamp-button-label = Bæta við eða breyta myndum +pdfjs-editor-remove-button = + .title = Fjarlægja # Editor Parameters pdfjs-editor-free-text-color-input = Litur pdfjs-editor-free-text-size-input = Stærð diff --git a/l10n/it/viewer.ftl b/l10n/it/viewer.ftl index a380320e647f4..059c447ccd3f2 100644 --- a/l10n/it/viewer.ftl +++ b/l10n/it/viewer.ftl @@ -304,6 +304,8 @@ pdfjs-editor-ink-button-label = Disegno pdfjs-editor-stamp-button = .title = Aggiungi o rimuovi immagine pdfjs-editor-stamp-button-label = Aggiungi o rimuovi immagine +pdfjs-editor-remove-button = + .title = Rimuovi # Editor Parameters pdfjs-editor-free-text-color-input = Colore pdfjs-editor-free-text-size-input = Dimensione @@ -351,3 +353,4 @@ pdfjs-editor-resizer-label-bottom-middle = Lato inferiore nel mezzo — ridimens pdfjs-editor-resizer-label-bottom-left = Angolo in basso a sinistra — ridimensiona pdfjs-editor-resizer-label-middle-left = Lato sinistro nel mezzo — ridimensiona + diff --git a/l10n/kab/viewer.ftl b/l10n/kab/viewer.ftl index 7f2aa4303145d..50ccb11d0f309 100644 --- a/l10n/kab/viewer.ftl +++ b/l10n/kab/viewer.ftl @@ -226,6 +226,14 @@ pdfjs-find-match-diacritics-checkbox-label = Qadeṛ ifeskilen pdfjs-find-entire-word-checkbox-label = Awalen iččuranen pdfjs-find-reached-top = Yabbeḍ s afella n usebter, tuɣalin s wadda pdfjs-find-reached-bottom = Tebḍeḍ s adda n usebter, tuɣalin s afella +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [one] Timeḍriwt { $current } ɣef { $total } + *[other] Timeḍriwin { $current } ɣef { $total } + } pdfjs-find-not-found = Ulac tawinest ## Predefined zoom values @@ -283,12 +291,20 @@ pdfjs-editor-free-text-button-label = Aḍris pdfjs-editor-ink-button = .title = Suneɣ pdfjs-editor-ink-button-label = Suneɣ +pdfjs-editor-stamp-button = + .title = Rnu neɣ ẓreg tugniwin +pdfjs-editor-stamp-button-label = Rnu neɣ ẓreg tugniwin +pdfjs-editor-remove-button = + .title = Kkes # Editor Parameters pdfjs-editor-free-text-color-input = Initen pdfjs-editor-free-text-size-input = Teɣzi pdfjs-editor-ink-color-input = Ini pdfjs-editor-ink-thickness-input = Tuzert pdfjs-editor-ink-opacity-input = Tebrek +pdfjs-editor-stamp-add-image-button = + .title = Rnu tawlaft +pdfjs-editor-stamp-add-image-button-label = Rnu tawlaft pdfjs-free-text = .aria-label = Amaẓrag n uḍris pdfjs-free-text-default-content = Bdu tira... @@ -299,6 +315,10 @@ pdfjs-ink-canvas = ## Alt-text dialog +pdfjs-editor-alt-text-dialog-label = Fren taxtirt +pdfjs-editor-alt-text-add-description-label = Rnu aglam +pdfjs-editor-alt-text-cancel-button = Sefsex +pdfjs-editor-alt-text-save-button = Sekles ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. diff --git a/l10n/kk/viewer.ftl b/l10n/kk/viewer.ftl index adf05327e4f3e..1da0305711ca1 100644 --- a/l10n/kk/viewer.ftl +++ b/l10n/kk/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Сурет салу pdfjs-editor-stamp-button = .title = Суреттерді қосу немесе түзету pdfjs-editor-stamp-button-label = Суреттерді қосу немесе түзету +pdfjs-editor-remove-button = + .title = Өшіру # Editor Parameters pdfjs-editor-free-text-color-input = Түс pdfjs-editor-free-text-size-input = Өлшемі diff --git a/l10n/ko/viewer.ftl b/l10n/ko/viewer.ftl index 6d1718d978144..8323550def633 100644 --- a/l10n/ko/viewer.ftl +++ b/l10n/ko/viewer.ftl @@ -293,6 +293,8 @@ pdfjs-editor-ink-button-label = 그리기 pdfjs-editor-stamp-button = .title = 이미지 추가 또는 편집 pdfjs-editor-stamp-button-label = 이미지 추가 또는 편집 +pdfjs-editor-remove-button = + .title = 제거 # Editor Parameters pdfjs-editor-free-text-color-input = 색상 pdfjs-editor-free-text-size-input = 크기 diff --git a/l10n/nb-NO/viewer.ftl b/l10n/nb-NO/viewer.ftl index e073ff5cbb686..0f1ffa7b71954 100644 --- a/l10n/nb-NO/viewer.ftl +++ b/l10n/nb-NO/viewer.ftl @@ -226,6 +226,21 @@ pdfjs-find-match-diacritics-checkbox-label = Samsvar diakritiske tegn pdfjs-find-entire-word-checkbox-label = Hele ord pdfjs-find-reached-top = Nådde toppen av dokumentet, fortsetter fra bunnen pdfjs-find-reached-bottom = Nådde bunnen av dokumentet, fortsetter fra toppen +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [one] { $current } av { $total } treff + *[other] { $current } av { $total } treff + } +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = + { $limit -> + [one] Mer enn { $limit } treff + *[other] Mer enn { $limit } treff + } pdfjs-find-not-found = Fant ikke teksten ## Predefined zoom values @@ -286,6 +301,8 @@ pdfjs-editor-ink-button-label = Tegn pdfjs-editor-stamp-button = .title = Legg til eller rediger bilder pdfjs-editor-stamp-button-label = Legg til eller rediger bilder +pdfjs-editor-remove-button = + .title = Fjern # Editor Parameters pdfjs-editor-free-text-color-input = Farge pdfjs-editor-free-text-size-input = Størrelse @@ -324,3 +341,11 @@ pdfjs-editor-alt-text-textarea = ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = Øverste venstre hjørne – endre størrelse +pdfjs-editor-resizer-label-top-middle = Øverst i midten — endre størrelse +pdfjs-editor-resizer-label-top-right = Øverste høyre hjørne – endre størrelse +pdfjs-editor-resizer-label-middle-right = Midt til høyre – endre størrelse +pdfjs-editor-resizer-label-bottom-right = Nederste høyre hjørne – endre størrelse +pdfjs-editor-resizer-label-bottom-middle = Nederst i midten — endre størrelse +pdfjs-editor-resizer-label-bottom-left = Nederste venstre hjørne – endre størrelse +pdfjs-editor-resizer-label-middle-left = Midt til venstre — endre størrelse diff --git a/l10n/pl/viewer.ftl b/l10n/pl/viewer.ftl index e155c2a9541cb..3621be9a2f92c 100644 --- a/l10n/pl/viewer.ftl +++ b/l10n/pl/viewer.ftl @@ -226,6 +226,23 @@ pdfjs-find-match-diacritics-checkbox-label = Rozróżnianie liter diakrytyzowany pdfjs-find-entire-word-checkbox-label = Całe słowa pdfjs-find-reached-top = Początek dokumentu. Wyszukiwanie od końca. pdfjs-find-reached-bottom = Koniec dokumentu. Wyszukiwanie od początku. +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [one] { $current }. z { $total } trafienia + [few] { $current }. z { $total } trafień + *[many] { $current }. z { $total } trafień + } +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = + { $limit -> + [one] Więcej niż { $limit } trafienie + [few] Więcej niż { $limit } trafienia + *[many] Więcej niż { $limit } trafień + } pdfjs-find-not-found = Nie znaleziono tekstu ## Predefined zoom values @@ -324,3 +341,11 @@ pdfjs-editor-alt-text-textarea = ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = Lewy górny róg — zmień rozmiar +pdfjs-editor-resizer-label-top-middle = Górny środkowy — zmień rozmiar +pdfjs-editor-resizer-label-top-right = Prawy górny róg — zmień rozmiar +pdfjs-editor-resizer-label-middle-right = Prawy środkowy — zmień rozmiar +pdfjs-editor-resizer-label-bottom-right = Prawy dolny róg — zmień rozmiar +pdfjs-editor-resizer-label-bottom-middle = Dolny środkowy — zmień rozmiar +pdfjs-editor-resizer-label-bottom-left = Lewy dolny róg — zmień rozmiar +pdfjs-editor-resizer-label-middle-left = Lewy środkowy — zmień rozmiar diff --git a/l10n/pt-BR/viewer.ftl b/l10n/pt-BR/viewer.ftl index cc710a352ff50..bd4470063af0e 100644 --- a/l10n/pt-BR/viewer.ftl +++ b/l10n/pt-BR/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Desenho pdfjs-editor-stamp-button = .title = Adicionar ou editar imagens pdfjs-editor-stamp-button-label = Adicionar ou editar imagens +pdfjs-editor-remove-button = + .title = Remover # Editor Parameters pdfjs-editor-free-text-color-input = Cor pdfjs-editor-free-text-size-input = Tamanho @@ -327,11 +329,11 @@ pdfjs-editor-alt-text-dialog-label = Escolha uma opção pdfjs-editor-alt-text-dialog-description = O texto alternativo ajuda quando uma imagem não aparece ou não for carregada. pdfjs-editor-alt-text-add-description-label = Adicione uma descrição pdfjs-editor-alt-text-add-description-description = Procure usar uma ou duas frases que descrevam o assunto, o cenário ou as ações. -pdfjs-editor-alt-text-mark-decorative-label = Marcar como decorativo +pdfjs-editor-alt-text-mark-decorative-label = Marcar como decorativa pdfjs-editor-alt-text-mark-decorative-description = Isto é usado para imagens ornamentais, como bordas ou marcas d'água. pdfjs-editor-alt-text-cancel-button = Cancelar pdfjs-editor-alt-text-save-button = Salvar -pdfjs-editor-alt-text-decorative-tooltip = Marcado como decorativo +pdfjs-editor-alt-text-decorative-tooltip = Marcado como decorativa # .placeholder: This is a placeholder for the alt text input area pdfjs-editor-alt-text-textarea = .placeholder = Por exemplo, “Um jovem senta-se à mesa para comer uma refeição” diff --git a/l10n/ru/viewer.ftl b/l10n/ru/viewer.ftl index 61e13cb0f90b8..58c9aa50f94cd 100644 --- a/l10n/ru/viewer.ftl +++ b/l10n/ru/viewer.ftl @@ -303,6 +303,8 @@ pdfjs-editor-ink-button-label = Рисовать pdfjs-editor-stamp-button = .title = Добавить или изменить изображения pdfjs-editor-stamp-button-label = Добавить или изменить изображения +pdfjs-editor-remove-button = + .title = Удалить # Editor Parameters pdfjs-editor-free-text-color-input = Цвет pdfjs-editor-free-text-size-input = Размер diff --git a/l10n/sk/viewer.ftl b/l10n/sk/viewer.ftl index 71d12fe3c2a69..798ee07aea1eb 100644 --- a/l10n/sk/viewer.ftl +++ b/l10n/sk/viewer.ftl @@ -305,6 +305,8 @@ pdfjs-editor-ink-button-label = Kresliť pdfjs-editor-stamp-button = .title = Pridať alebo upraviť obrázky pdfjs-editor-stamp-button-label = Pridať alebo upraviť obrázky +pdfjs-editor-remove-button = + .title = Odstrániť # Editor Parameters pdfjs-editor-free-text-color-input = Farba pdfjs-editor-free-text-size-input = Veľkosť diff --git a/l10n/sq/viewer.ftl b/l10n/sq/viewer.ftl index d1c0a01952859..d0a9056f67cd0 100644 --- a/l10n/sq/viewer.ftl +++ b/l10n/sq/viewer.ftl @@ -217,6 +217,21 @@ pdfjs-find-match-diacritics-checkbox-label = Me Përputhje Me Shenjat Diakritike pdfjs-find-entire-word-checkbox-label = Fjalë të Plota pdfjs-find-reached-top = U mbërrit në krye të dokumentit, vazhduar prej fundit pdfjs-find-reached-bottom = U mbërrit në fund të dokumentit, vazhduar prej kreut +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [one] { $current } nga { $total } përputhje + *[other] { $current } nga { $total } përputhje + } +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = + { $limit -> + [one] Më tepër se { $limit } përputhje + *[other] Më tepër se { $limit } përputhje + } pdfjs-find-not-found = Togfjalësh që s’gjendet ## Predefined zoom values @@ -302,9 +317,24 @@ pdfjs-editor-alt-text-edit-button-label = Përpunoni tekst alternativ pdfjs-editor-alt-text-dialog-label = Zgjidhni një mundësi pdfjs-editor-alt-text-dialog-description = Teksti alt (tekst alternativ) vjen në ndihmë kur njerëzit s’mund të shohin figurën, ose kur ajo nuk ngarkohet. pdfjs-editor-alt-text-add-description-label = Shtoni një përshkrim +pdfjs-editor-alt-text-add-description-description = Synoni për 1-2 togfjalësha që përshkruajnë subjektin, rrethanat apo veprimet. +pdfjs-editor-alt-text-mark-decorative-label = Vëri shenjë si dekorative +pdfjs-editor-alt-text-mark-decorative-description = Kjo përdoret për figura zbukuruese, fjala vjen, anë, ose watermark-e. pdfjs-editor-alt-text-cancel-button = Anuloje pdfjs-editor-alt-text-save-button = Ruaje +pdfjs-editor-alt-text-decorative-tooltip = Iu vu shenjë si dekorative +# .placeholder: This is a placeholder for the alt text input area +pdfjs-editor-alt-text-textarea = + .placeholder = Për shembull, “Një djalosh ulet në një tryezë të hajë” ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = Cepi i sipërm majtas — ripërmasojeni +pdfjs-editor-resizer-label-top-middle = Mesi i pjesës sipër — ripërmasojeni +pdfjs-editor-resizer-label-top-right = Cepi i sipërm djathtas — ripërmasojeni +pdfjs-editor-resizer-label-middle-right = Djathtas në mes — ripërmasojeni +pdfjs-editor-resizer-label-bottom-right = Cepi i poshtëm djathtas — ripërmasojeni +pdfjs-editor-resizer-label-bottom-middle = Mesi i pjesës poshtë — ripërmasojeni +pdfjs-editor-resizer-label-bottom-left = Cepi i poshtëm — ripërmasojeni +pdfjs-editor-resizer-label-middle-left = Majtas në mes — ripërmasojeni diff --git a/l10n/sv-SE/viewer.ftl b/l10n/sv-SE/viewer.ftl index de9f744f6c872..419f8db086cc9 100644 --- a/l10n/sv-SE/viewer.ftl +++ b/l10n/sv-SE/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Rita pdfjs-editor-stamp-button = .title = Lägg till eller redigera bilder pdfjs-editor-stamp-button-label = Lägg till eller redigera bilder +pdfjs-editor-remove-button = + .title = Ta bort # Editor Parameters pdfjs-editor-free-text-color-input = Färg pdfjs-editor-free-text-size-input = Storlek diff --git a/l10n/th/viewer.ftl b/l10n/th/viewer.ftl index 014bdd9831b34..f6fbadb872f83 100644 --- a/l10n/th/viewer.ftl +++ b/l10n/th/viewer.ftl @@ -226,6 +226,13 @@ pdfjs-find-match-diacritics-checkbox-label = เครื่องหมาย pdfjs-find-entire-word-checkbox-label = ทั้งคำ pdfjs-find-reached-top = ค้นหาถึงจุดเริ่มต้นของหน้า เริ่มค้นต่อจากด้านล่าง pdfjs-find-reached-bottom = ค้นหาถึงจุดสิ้นสุดหน้า เริ่มค้นต่อจากด้านบน +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = { $current } จาก { $total } รายการที่ตรงกัน +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = มากกว่า { $limit } รายการที่ตรงกัน pdfjs-find-not-found = ไม่พบวลี ## Predefined zoom values @@ -305,7 +312,30 @@ pdfjs-ink-canvas = ## Alt-text dialog +# Alternative text (alt text) helps when people can't see the image. +pdfjs-editor-alt-text-button-label = ข้อความทดแทน +pdfjs-editor-alt-text-edit-button-label = แก้ไขข้อความทดแทน +pdfjs-editor-alt-text-dialog-label = เลือกตัวเลือก +pdfjs-editor-alt-text-dialog-description = ข้อความทดแทนสามารถช่วยเหลือได้เมื่อผู้ใช้มองไม่เห็นภาพ หรือภาพไม่โหลด +pdfjs-editor-alt-text-add-description-label = เพิ่มคำอธิบาย +pdfjs-editor-alt-text-add-description-description = แนะนำให้ใช้ 1-2 ประโยคซึ่งอธิบายหัวเรื่อง ฉาก หรือการกระทำ +pdfjs-editor-alt-text-mark-decorative-label = ทำเครื่องหมายเป็นสิ่งตกแต่ง +pdfjs-editor-alt-text-mark-decorative-description = สิ่งนี้ใช้สำหรับภาพที่เป็นสิ่งประดับ เช่น ขอบ หรือลายน้ำ +pdfjs-editor-alt-text-cancel-button = ยกเลิก +pdfjs-editor-alt-text-save-button = บันทึก +pdfjs-editor-alt-text-decorative-tooltip = ทำเครื่องหมายเป็นสิ่งตกแต่งแล้ว +# .placeholder: This is a placeholder for the alt text input area +pdfjs-editor-alt-text-textarea = + .placeholder = ตัวอย่างเช่น “ชายหนุ่มคนหนึ่งนั่งลงที่โต๊ะเพื่อรับประทานอาหารมื้อหนึ่ง” ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = มุมซ้ายบน — ปรับขนาด +pdfjs-editor-resizer-label-top-middle = ตรงกลางด้านบน — ปรับขนาด +pdfjs-editor-resizer-label-top-right = มุมขวาบน — ปรับขนาด +pdfjs-editor-resizer-label-middle-right = ตรงกลางด้านขวา — ปรับขนาด +pdfjs-editor-resizer-label-bottom-right = มุมขวาล่าง — ปรับขนาด +pdfjs-editor-resizer-label-bottom-middle = ตรงกลางด้านล่าง — ปรับขนาด +pdfjs-editor-resizer-label-bottom-left = มุมซ้ายล่าง — ปรับขนาด +pdfjs-editor-resizer-label-middle-left = ตรงกลางด้านซ้าย — ปรับขนาด diff --git a/l10n/tr/viewer.ftl b/l10n/tr/viewer.ftl index 5d6ec61e7430a..2b86042192841 100644 --- a/l10n/tr/viewer.ftl +++ b/l10n/tr/viewer.ftl @@ -301,6 +301,8 @@ pdfjs-editor-ink-button-label = Çiz pdfjs-editor-stamp-button = .title = Resim ekle veya düzenle pdfjs-editor-stamp-button-label = Resim ekle veya düzenle +pdfjs-editor-remove-button = + .title = Kaldır # Editor Parameters pdfjs-editor-free-text-color-input = Renk pdfjs-editor-free-text-size-input = Boyut diff --git a/l10n/vi/viewer.ftl b/l10n/vi/viewer.ftl index d3dd5e064b801..6eaf38c1a2d44 100644 --- a/l10n/vi/viewer.ftl +++ b/l10n/vi/viewer.ftl @@ -293,6 +293,8 @@ pdfjs-editor-ink-button-label = Vẽ pdfjs-editor-stamp-button = .title = Thêm hoặc chỉnh sửa hình ảnh pdfjs-editor-stamp-button-label = Thêm hoặc chỉnh sửa hình ảnh +pdfjs-editor-remove-button = + .title = Xóa # Editor Parameters pdfjs-editor-free-text-color-input = Màu pdfjs-editor-free-text-size-input = Kích cỡ diff --git a/l10n/zh-TW/viewer.ftl b/l10n/zh-TW/viewer.ftl index 417c2edecb15e..522a5404fc1a8 100644 --- a/l10n/zh-TW/viewer.ftl +++ b/l10n/zh-TW/viewer.ftl @@ -220,7 +220,7 @@ pdfjs-find-previous-button-label = 上一個 pdfjs-find-next-button = .title = 尋找文字下次出現的位置 pdfjs-find-next-button-label = 下一個 -pdfjs-find-highlight-checkbox = 全部強調標示 +pdfjs-find-highlight-checkbox = 強調全部 pdfjs-find-match-case-checkbox-label = 區分大小寫 pdfjs-find-match-diacritics-checkbox-label = 符合變音符號 pdfjs-find-entire-word-checkbox-label = 符合整個字 @@ -293,6 +293,8 @@ pdfjs-editor-ink-button-label = 繪圖 pdfjs-editor-stamp-button = .title = 新增或編輯圖片 pdfjs-editor-stamp-button-label = 新增或編輯圖片 +pdfjs-editor-remove-button = + .title = 移除 # Editor Parameters pdfjs-editor-free-text-color-input = 色彩 pdfjs-editor-free-text-size-input = 大小