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 | 895 ++++++++++++++-------------------------------- package.json | 18 +- 3 files changed, 277 insertions(+), 638 deletions(-) diff --git a/gulpfile.mjs b/gulpfile.mjs index 24454ee8a..e512ba715 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 8073e516d..384456a48 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", @@ -2458,482 +2451,21 @@ } }, "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==", + "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, - "license": "MIT", "peer": true, "dependencies": { "eslint-plugin-node": "11.1.0", - "eslint-plugin-react": "7.24.0", + "eslint-plugin-react": "7.33.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" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" + "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 8c81f1fb2..b4f0d1239 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 2e302e8a9..216da7ff1 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 af54eb1d9..b9ad52f19 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 c87b9d45d..9cbfd455f 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 5f74ac305..56b322e3a 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 ed9658272..7064cdb7a 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 664e5aa01..f6c8624a1 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 3fd7b3396..355112d6b 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 df9943441..22c473cb2 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 9f6ef2b07..4dff29607 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 23a20843a..d37b6c902 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 4a74dbaad..2a1df576f 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 dec3af6e0..1b732fd4c 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 652269a3d..3984f6227 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 831406080..9e5072d83 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 48d4fff8c..2b896265f 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 683fc643d..b9acd145b 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 f58a3a47b..0d1d2dbcf 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 a380320e6..059c447cc 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 7f2aa4303..50ccb11d0 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 adf05327e..1da030571 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 6d1718d97..8323550de 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 e073ff5cb..0f1ffa7b7 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 e155c2a95..3621be9a2 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 cc710a352..bd4470063 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 61e13cb0f..58c9aa50f 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 71d12fe3c..798ee07ae 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 d1c0a0195..d0a9056f6 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 de9f744f6..419f8db08 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 014bdd983..f6fbadb87 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 5d6ec61e7..2b8604219 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 d3dd5e064..6eaf38c1a 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 417c2edec..522a5404f 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 = 大小