diff --git a/apps/OpenSign/package-lock.json b/apps/OpenSign/package-lock.json index 376baf4ec9..a6e7236f87 100644 --- a/apps/OpenSign/package-lock.json +++ b/apps/OpenSign/package-lock.json @@ -8,11 +8,11 @@ "name": "open_sign", "version": "2.37.0", "dependencies": { - "@emotion/react": "^11.11.3", - "@emotion/styled": "^11.11.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", "@formkit/auto-animate": "^0.9.0", "@imgly/background-removal": "^1.7.0", - "@lottiefiles/dotlottie-react": "^0.18.4", + "@lottiefiles/dotlottie-react": "^0.19.0", "@mui/icons-material": "^5.15.10", "@mui/material": "^5.15.10", "@pdf-lib/fontkit": "^1.1.1", @@ -31,27 +31,28 @@ "@usewaypoint/block-text": "^0.0.7", "@usewaypoint/document-core": "^0.0.6", "@usewaypoint/email-builder": "^0.0.9", - "axios": "^1.13.6", + "axios": "^1.15.2", "date-fns-tz": "^3.2.0", - "dompurify": "^3.3.3", + "dompurify": "^3.4.1", "file-saver": "^2.0.5", - "highlight.js": "^11.9.0", - "i18next": "^25.8.17", + "highlight.js": "^11.11.1", + "i18next": "^26.0.8", "i18next-browser-languagedetector": "^8.2.1", - "i18next-http-backend": "^3.0.2", + "i18next-http-backend": "^3.0.6", "jszip": "^3.10.1", "juice": "^11.1.1", "jwt-decode": "^4.0.0", "moment": "^2.30.1", "parse": "^8.1.0", "pdf-lib": "^1.17.1", - "pkijs": "^3.3.3", - "prettier": "^3.8.1", + "pkijs": "^3.4.0", + "prettier": "^3.8.3", "print-js": "^1.6.0", "prismjs": "^1.30.0", + "process": "^0.11.10", "quill-html-edit-button": "^3.0.0", "radix-ui": "^1.4.3", - "react": "^19.2.4", + "react": "^19.2.5", "react-bootstrap": "^2.10.10", "react-colorful": "^5.6.1", "react-confetti": "^6.4.0", @@ -59,42 +60,41 @@ "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dnd-multi-backend": "^9.0.0", - "react-dom": "^19.2.4", + "react-dom": "^19.2.5", "react-gtm-module": "^2.0.11", - "react-i18next": "^16.5.6", + "react-i18next": "^17.0.6", "react-konva": "^19.2.3", "react-pdf": "^10.4.1", "react-quill-new": "^3.8.3", "react-redux": "^9.2.0", "react-rnd": "^10.5.3", - "react-router": "^7.13.1", + "react-router": "^7.14.2", "react-scrollbars-custom": "^4.1.1", "react-select": "^5.10.2", "react-signature-canvas": "^1.1.0-alpha.2", - "react-timezone-select": "^3.2.8", + "react-timezone-select": "^3.3.3", "react-to-print": "^3.3.0", - "react-tooltip": "^5.30.0", + "react-tooltip": "^5.30.1", "redux": "^5.0.1", "regex-parser": "^2.3.1", - "serve": "^14.2.6", - "web-vitals": "^5.1.0", + "web-vitals": "^5.2.0", "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz", "zod": "^3.22.4", "zustand": "^4.5.1" }, "devDependencies": { "@babel/core": "^7.29.0", - "@babel/preset-env": "^7.29.0", + "@babel/preset-env": "^7.29.2", "@babel/preset-react": "^7.28.5", - "@babel/runtime-corejs2": "^7.28.6", + "@babel/runtime-corejs2": "^7.29.2", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/react": "^19.2.14", - "@vitejs/plugin-react": "^5.1.4", - "@vitest/ui": "^4.0.18", - "autoprefixer": "^10.4.27", - "babel-loader": "^10.0.0", + "@vitejs/plugin-react": "^6.0.1", + "@vitest/ui": "^4.1.5", + "autoprefixer": "^10.5.0", + "babel-loader": "^9.2.1", "commitizen": "^4.3.1", "concurrently": "^9.2.1", "css-loader": "^7.1.4", @@ -102,29 +102,22 @@ "eslint": "^9.39.4", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-react": "^7.37.5", - "jsdom": "^28.1.0", - "lint-staged": "^16.3.3", - "postcss": "^8.5.8", + "jsdom": "^29.0.2", + "lint-staged": "^16.4.0", + "postcss": "^8.5.12", "pretty-quick": "^4.2.2", "rollup-plugin-node-polyfills": "^0.2.1", "tailwindcss": "^3.4.19", "tmp": "^0.2.5", - "vite": "^7.3.1", - "vite-plugin-svgr": "^4.5.0", + "vite": "^8.0.10", + "vite-plugin-svgr": "^5.2.0", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.0.18" + "vitest": "^4.1.5" }, "engines": { "node": "18 || 20 || 22" } }, - "node_modules/@acemir/cssom": { - "version": "0.9.31", - "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz", - "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==", - "dev": true, - "license": "MIT" - }, "node_modules/@adobe/css-tools": { "version": "4.4.4", "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", @@ -146,54 +139,47 @@ } }, "node_modules/@asamuzakjp/css-color": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.0.1.tgz", - "integrity": "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==", + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", + "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", "dev": true, "license": "MIT", "dependencies": { - "@csstools/css-calc": "^3.1.1", - "@csstools/css-color-parser": "^4.0.2", + "@asamuzakjp/generational-cache": "^1.0.1", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-color-parser": "^4.1.0", "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0", - "lru-cache": "^11.2.6" + "@csstools/css-tokenizer": "^4.0.0" }, "engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, "node_modules/@asamuzakjp/dom-selector": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", - "integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", + "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", "dev": true, "license": "MIT", "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", "@asamuzakjp/nwsapi": "^2.3.9", "bidi-js": "^1.0.3", - "css-tree": "^3.1.0", - "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.2.6" + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "engines": { - "node": "20 || >=22" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/@asamuzakjp/nwsapi": { @@ -345,9 +331,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz", - "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", "dev": true, "license": "MIT", "dependencies": { @@ -532,23 +518,23 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" @@ -1433,38 +1419,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", @@ -1680,9 +1634,9 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", - "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", + "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", "dev": true, "license": "MIT", "dependencies": { @@ -1801,18 +1755,18 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/runtime-corejs2": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.28.6.tgz", - "integrity": "sha512-pOHfxftxpetWUeBacCB3ZOPc/OO6hiT9MLv0qd9j474khiCcduwO8uuJI3N7vX3m8GJotTT6lxlA89TS/PylGg==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.29.2.tgz", + "integrity": "sha512-+FqVkbqWaDleqS9fgzFypApKoPvmGFgk5X2lGXbL9wgz6tf88qt2HEUuEn9E3yBeLt7p8pIgODbJ5icVRALKhQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1893,14 +1847,14 @@ } }, "node_modules/@commitlint/config-validator": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.4.0.tgz", - "integrity": "sha512-zShmKTF+sqyNOfAE0vKcqnpvVpG0YX8F9G/ZIQHI2CoKyK+PSdladXMSns400aZ5/QZs+0fN75B//3Q5CHw++w==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.5.0.tgz", + "integrity": "sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@commitlint/types": "^20.4.0", + "@commitlint/types": "^20.5.0", "ajv": "^8.11.0" }, "engines": { @@ -1919,18 +1873,18 @@ } }, "node_modules/@commitlint/load": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-20.4.0.tgz", - "integrity": "sha512-Dauup/GfjwffBXRJUdlX/YRKfSVXsXZLnINXKz0VZkXdKDcaEILAi9oflHGbfydonJnJAbXEbF3nXPm9rm3G6A==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-20.5.0.tgz", + "integrity": "sha512-sLhhYTL/KxeOTZjjabKDhwidGZan84XKK1+XFkwDYL/4883kIajcz/dZFAhBJmZPtL8+nBx6bnkzA95YxPeDPw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@commitlint/config-validator": "^20.4.0", + "@commitlint/config-validator": "^20.5.0", "@commitlint/execute-rule": "^20.0.0", - "@commitlint/resolve-extends": "^20.4.0", - "@commitlint/types": "^20.4.0", - "cosmiconfig": "^9.0.0", + "@commitlint/resolve-extends": "^20.5.0", + "@commitlint/types": "^20.5.0", + "cosmiconfig": "^9.0.1", "cosmiconfig-typescript-loader": "^6.1.0", "is-plain-obj": "^4.1.0", "lodash.mergewith": "^4.6.2", @@ -1941,9 +1895,9 @@ } }, "node_modules/@commitlint/load/node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", + "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dev": true, "license": "MIT", "optional": true, @@ -1999,15 +1953,15 @@ } }, "node_modules/@commitlint/resolve-extends": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.4.0.tgz", - "integrity": "sha512-ay1KM8q0t+/OnlpqXJ+7gEFQNlUtSU5Gxr8GEwnVf2TPN3+ywc5DzL3JCxmpucqxfHBTFwfRMXxPRRnR5Ki20g==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.5.0.tgz", + "integrity": "sha512-3SHPWUW2v0tyspCTcfSsYml0gses92l6TlogwzvM2cbxDgmhSRc+fldDjvGkCXJrjSM87BBaWYTPWwwyASZRrg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@commitlint/config-validator": "^20.4.0", - "@commitlint/types": "^20.4.0", + "@commitlint/config-validator": "^20.5.0", + "@commitlint/types": "^20.5.0", "global-directory": "^4.0.1", "import-meta-resolve": "^4.0.0", "lodash.mergewith": "^4.6.2", @@ -2018,14 +1972,14 @@ } }, "node_modules/@commitlint/types": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-20.4.0.tgz", - "integrity": "sha512-aO5l99BQJ0X34ft8b0h7QFkQlqxC6e7ZPVmBKz13xM9O8obDaM1Cld4sQlJDXXU/VFuUzQ30mVtHjVz74TuStw==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-20.5.0.tgz", + "integrity": "sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "conventional-commits-parser": "^6.2.1", + "conventional-commits-parser": "^6.3.0", "picocolors": "^1.1.1" }, "engines": { @@ -2053,9 +2007,9 @@ } }, "node_modules/@csstools/css-calc": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz", - "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", + "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", "dev": true, "funding": [ { @@ -2077,9 +2031,9 @@ } }, "node_modules/@csstools/css-color-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz", - "integrity": "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", + "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", "dev": true, "funding": [ { @@ -2094,7 +2048,7 @@ "license": "MIT", "dependencies": { "@csstools/color-helpers": "^6.0.2", - "@csstools/css-calc": "^3.1.1" + "@csstools/css-calc": "^3.2.0" }, "engines": { "node": ">=20.19.0" @@ -2128,9 +2082,9 @@ } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.28.tgz", - "integrity": "sha512-1NRf1CUBjnr3K7hu8BLxjQrKCxEe8FP/xmPTenAxCRZWVLbmGotkFvG9mfNpjA6k7Bw1bw4BilZq9cu19RA5pg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", + "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", "dev": true, "funding": [ { @@ -2142,7 +2096,15 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT-0" + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } }, "node_modules/@csstools/css-tokenizer": { "version": "4.0.0", @@ -2164,6 +2126,64 @@ "node": ">=20.19.0" } }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/core/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/@emotion/babel-plugin": { "version": "11.13.5", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", @@ -2316,559 +2336,117 @@ "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", "license": "MIT" }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", - "cpu": [ - "ppc64" - ], + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "aix" - ], + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", - "cpu": [ - "arm" - ], + "node_modules/@eslint-community/eslint-utils/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, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=18" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/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, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", - "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.5" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", - "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.14.0", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.5", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -2927,9 +2505,9 @@ } }, "node_modules/@exodus/bytes": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.14.1.tgz", - "integrity": "sha512-OhkBFWI6GcRMUroChZiopRiSp2iAMvEBK47NhJooDqz1RERO4QuZIZnjP63TXX8GAiLABkYmX+fuQsdJ1dd2QQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", + "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", "dev": true, "license": "MIT", "engines": { @@ -2945,32 +2523,32 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", - "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", - "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.4", - "@floating-ui/utils": "^0.2.10" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/react": { - "version": "0.27.18", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.18.tgz", - "integrity": "sha512-xJWJxvmy3a05j643gQt+pRbht5XnTlGpsEsAPnMi5F5YTOEEJymA90uZKBD8OvIv5XvZ1qi4GcccSlqT3Bq44Q==", + "version": "0.27.19", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.19.tgz", + "integrity": "sha512-31B8h5mm8YxotlE7/AU/PhNAl8eWxAmjL/v2QOxroDNkTFLk3Uu82u63N3b6TXa4EGJeeZLVcd/9AlNlVqzeog==", "license": "MIT", "dependencies": { - "@floating-ui/react-dom": "^2.1.7", - "@floating-ui/utils": "^0.2.10", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", "tabbable": "^6.0.0" }, "peerDependencies": { @@ -2979,12 +2557,12 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.7.tgz", - "integrity": "sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.5" + "@floating-ui/dom": "^1.7.6" }, "peerDependencies": { "react": ">=16.8.0", @@ -2992,9 +2570,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", "license": "MIT" }, "node_modules/@formkit/auto-animate": { @@ -3128,21 +2706,21 @@ } }, "node_modules/@lottiefiles/dotlottie-react": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-react/-/dotlottie-react-0.18.4.tgz", - "integrity": "sha512-tuMjFM968TQOqkoaK7QbkQGxxBRQaH4VMxH43guJFwuPkH8q2MJbcglBizbQbAqWLM9c9adaHuUKocsS99MhBw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-react/-/dotlottie-react-0.19.0.tgz", + "integrity": "sha512-SMhHwE68WiHdV7vVWHuCU3YD2tDAaNQmyGMmhSP7uXOaILoLRbdRRWpk9NsUxFPrwYuqKQ+3FNQw6bAJ19HCAg==", "license": "MIT", "dependencies": { - "@lottiefiles/dotlottie-web": "0.66.0" + "@lottiefiles/dotlottie-web": "0.71.0" }, "peerDependencies": { "react": "^17 || ^18 || ^19" } }, "node_modules/@lottiefiles/dotlottie-web": { - "version": "0.66.0", - "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-web/-/dotlottie-web-0.66.0.tgz", - "integrity": "sha512-aFTwmvP3iN4Lu4VyuKMqHlc6mMDdg0wtekY6FEzcv+Miv7inFW6wz0ekY5xHqhDctVOrQIWvJX+ShmevFZUjDg==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-web/-/dotlottie-web-0.71.0.tgz", + "integrity": "sha512-CliQttL0Rk0or/aDQkqUJXnC9Cm5TxzNdOqy/YlzKlU6mu+XgTMwyt5/HpPiltlMeaqBmM9mOzfevpyP4QmudQ==", "license": "MIT" }, "node_modules/@mui/core-downloads-tracker": { @@ -3371,9 +2949,9 @@ } }, "node_modules/@napi-rs/canvas": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.95.tgz", - "integrity": "sha512-lkg23ge+rgyhgUwXmlbkPEhuhHq/hUi/gXKH+4I7vO+lJrbNfEYcQdJLIGjKyXLQzgFiiyDAwh5vAe/tITAE+w==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.97.tgz", + "integrity": "sha512-8cFniXvrIEnVwuNSRCW9wirRZbHvrD3JVujdS2P5n5xiJZNZMOZcfOvJ1pb66c7jXMKHHglJEDVJGbm8XWFcXQ==", "license": "MIT", "optional": true, "workspaces": [ @@ -3387,23 +2965,23 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "optionalDependencies": { - "@napi-rs/canvas-android-arm64": "0.1.95", - "@napi-rs/canvas-darwin-arm64": "0.1.95", - "@napi-rs/canvas-darwin-x64": "0.1.95", - "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.95", - "@napi-rs/canvas-linux-arm64-gnu": "0.1.95", - "@napi-rs/canvas-linux-arm64-musl": "0.1.95", - "@napi-rs/canvas-linux-riscv64-gnu": "0.1.95", - "@napi-rs/canvas-linux-x64-gnu": "0.1.95", - "@napi-rs/canvas-linux-x64-musl": "0.1.95", - "@napi-rs/canvas-win32-arm64-msvc": "0.1.95", - "@napi-rs/canvas-win32-x64-msvc": "0.1.95" + "@napi-rs/canvas-android-arm64": "0.1.97", + "@napi-rs/canvas-darwin-arm64": "0.1.97", + "@napi-rs/canvas-darwin-x64": "0.1.97", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.97", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.97", + "@napi-rs/canvas-linux-arm64-musl": "0.1.97", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.97", + "@napi-rs/canvas-linux-x64-gnu": "0.1.97", + "@napi-rs/canvas-linux-x64-musl": "0.1.97", + "@napi-rs/canvas-win32-arm64-msvc": "0.1.97", + "@napi-rs/canvas-win32-x64-msvc": "0.1.97" } }, "node_modules/@napi-rs/canvas-android-arm64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.95.tgz", - "integrity": "sha512-SqTh0wsYbetckMXEvHqmR7HKRJujVf1sYv1xdlhkifg6TlCSysz1opa49LlS3+xWuazcQcfRfmhA07HxxxGsAA==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.97.tgz", + "integrity": "sha512-V1c/WVw+NzH8vk7ZK/O8/nyBSCQimU8sfMsB/9qeSvdkGKNU7+mxy/bIF0gTgeBFmHpj30S4E9WHMSrxXGQuVQ==", "cpu": [ "arm64" ], @@ -3421,9 +2999,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-arm64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.95.tgz", - "integrity": "sha512-F7jT0Syu+B9DGBUBcMk3qCRIxAWiDXmvEjamwbYfbZl7asI1pmXZUnCOoIu49Wt0RNooToYfRDxU9omD6t5Xuw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.97.tgz", + "integrity": "sha512-ok+SCEF4YejcxuJ9Rm+WWunHHpf2HmiPxfz6z1a/NFQECGXtsY7A4B8XocK1LmT1D7P174MzwPF9Wy3AUAwEPw==", "cpu": [ "arm64" ], @@ -3441,9 +3019,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-x64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.95.tgz", - "integrity": "sha512-54eb2Ho15RDjYGXO/harjRznBrAvu+j5nQ85Z4Qd6Qg3slR8/Ja+Yvvy9G4yo7rdX6NR9GPkZeSTf2UcKXwaXw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.97.tgz", + "integrity": "sha512-PUP6e6/UGlclUvAQNnuXCcnkpdUou6VYZfQOQxExLp86epOylmiwLkqXIvpFmjoTEDmPmXrI+coL/9EFU1gKPA==", "cpu": [ "x64" ], @@ -3461,9 +3039,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.95.tgz", - "integrity": "sha512-hYaLCSLx5bmbnclzQc3ado3PgZ66blJWzjXp0wJmdwpr/kH+Mwhj6vuytJIomgksyJoCdIqIa4N6aiqBGJtJ5Q==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.97.tgz", + "integrity": "sha512-XyXH2L/cic8eTNtbrXCcvqHtMX/nEOxN18+7rMrAM2XtLYC/EB5s0wnO1FsLMWmK+04ZSLN9FBGipo7kpIkcOw==", "cpu": [ "arm" ], @@ -3481,9 +3059,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.95.tgz", - "integrity": "sha512-J7VipONahKsmScPZsipHVQBqpbZx4favaD8/enWzzlGcjiwycOoymL7f4tNeqdjK0su19bDOUt6mjp9gsPWYlw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.97.tgz", + "integrity": "sha512-Kuq/M3djq0K8ktgz6nPlK7Ne5d4uWeDxPpyKWOjWDK2RIOhHVtLtyLiJw2fuldw7Vn4mhw05EZXCEr4Q76rs9w==", "cpu": [ "arm64" ], @@ -3501,9 +3079,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-musl": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.95.tgz", - "integrity": "sha512-PXy0UT1J/8MPG8UAkWp6Fd51ZtIZINFzIjGH909JjQrtCuJf3X6nanHYdz1A+Wq9o4aoPAw1YEUpFS1lelsVlg==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.97.tgz", + "integrity": "sha512-kKmSkQVnWeqg7qdsiXvYxKhAFuHz3tkBjW/zyQv5YKUPhotpaVhpBGv5LqCngzyuRV85SXoe+OFj+Tv0a0QXkQ==", "cpu": [ "arm64" ], @@ -3521,9 +3099,9 @@ } }, "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.95.tgz", - "integrity": "sha512-2IzCkW2RHRdcgF9W5/plHvYFpc6uikyjMb5SxjqmNxfyDFz9/HB89yhi8YQo0SNqrGRI7yBVDec7Pt+uMyRWsg==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.97.tgz", + "integrity": "sha512-Jc7I3A51jnEOIAXeLsN/M/+Z28LUeakcsXs07FLq9prXc0eYOtVwsDEv913Gr+06IRo34gJJVgT0TXvmz+N2VA==", "cpu": [ "riscv64" ], @@ -3541,9 +3119,9 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.95.tgz", - "integrity": "sha512-OV/ol/OtcUr4qDhQg8G7SdViZX8XyQeKpPsVv/j3+7U178FGoU4M+yIocdVo1ih/A8GQ63+LjF4jDoEjaVU8Pw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.97.tgz", + "integrity": "sha512-iDUBe7AilfuBSRbSa8/IGX38Mf+iCSBqoVKLSQ5XaY2JLOaqz1TVyPFEyIck7wT6mRQhQt5sN6ogfjIDfi74tg==", "cpu": [ "x64" ], @@ -3561,9 +3139,9 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-musl": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.95.tgz", - "integrity": "sha512-Z5KzqBK/XzPz5+SFHKz7yKqClEQ8pOiEDdgk5SlphBLVNb8JFIJkxhtJKSvnJyHh2rjVgiFmvtJzMF0gNwwKyQ==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.97.tgz", + "integrity": "sha512-AKLFd/v0Z5fvgqBDqhvqtAdx+fHMJ5t9JcUNKq4FIZ5WH+iegGm8HPdj00NFlCSnm83Fp3Ln8I2f7uq1aIiWaA==", "cpu": [ "x64" ], @@ -3581,9 +3159,9 @@ } }, "node_modules/@napi-rs/canvas-win32-arm64-msvc": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.95.tgz", - "integrity": "sha512-aj0YbRpe8qVJ4OzMsK7NfNQePgcf9zkGFzNZ9mSuaxXzhpLHmlF2GivNdCdNOg8WzA/NxV6IU4c5XkXadUMLeA==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.97.tgz", + "integrity": "sha512-u883Yr6A6fO7Vpsy9YE4FVCIxzzo5sO+7pIUjjoDLjS3vQaNMkVzx5bdIpEL+ob+gU88WDK4VcxYMZ6nmnoX9A==", "cpu": [ "arm64" ], @@ -3601,9 +3179,9 @@ } }, "node_modules/@napi-rs/canvas-win32-x64-msvc": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.95.tgz", - "integrity": "sha512-GA8leTTCfdjuHi8reICTIxU0081PhXvl3lzIniLUjeLACx9GubUiyzkwFb+oyeKLS5IAGZFLKnzAf4wm2epRlA==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.97.tgz", + "integrity": "sha512-sWtD2EE3fV0IzN+iiQUqr/Q1SwqWhs2O1FKItFlxtdDkikpEj5g7DKQpY3x55H/MAOnL8iomnlk3mcEeGiUMoQ==", "cpu": [ "x64" ], @@ -3620,6 +3198,25 @@ "url": "https://github.com/sponsors/Brooooooklyn" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3658,6 +3255,16 @@ "node": ">= 8" } }, + "node_modules/@oxc-project/types": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", + "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, "node_modules/@pdf-lib/fontkit": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@pdf-lib/fontkit/-/fontkit-1.1.1.tgz", @@ -5483,74 +5090,10 @@ "react": ">=16.14.0" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", - "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", "cpu": [ "arm64" ], @@ -5559,12 +5102,15 @@ "optional": true, "os": [ "android" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", "cpu": [ "arm64" ], @@ -5573,12 +5119,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", "cpu": [ "x64" ], @@ -5587,26 +5136,15 @@ "optional": true, "os": [ "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", "cpu": [ "x64" ], @@ -5615,26 +5153,15 @@ "optional": true, "os": [ "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", + "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", "cpu": [ "arm" ], @@ -5643,26 +5170,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", "cpu": [ "arm64" ], @@ -5671,54 +5187,32 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", - "cpu": [ - "loong64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", "cpu": [ - "loong64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", - "cpu": [ - "ppc64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", "cpu": [ "ppc64" ], @@ -5727,40 +5221,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", - "cpu": [ - "riscv64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", "cpu": [ "s390x" ], @@ -5769,12 +5238,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", "cpu": [ "x64" ], @@ -5783,12 +5255,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", "cpu": [ "x64" ], @@ -5797,26 +5272,15 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", - "cpu": [ - "x64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", "cpu": [ "arm64" ], @@ -5825,54 +5289,51 @@ "optional": true, "os": [ "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", + "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", "cpu": [ - "ia32" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", "cpu": [ "x64" ], @@ -5881,7 +5342,47 @@ "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" }, "node_modules/@rooks/use-mutation-observer": { "version": "4.11.2", @@ -5892,6 +5393,20 @@ "react": ">=16.8.0" } }, + "node_modules/@simple-libs/stream-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-1.2.0.tgz", + "integrity": "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://ko-fi.com/dangreen" + } + }, "node_modules/@standard-schema/spec": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", @@ -6287,58 +5802,32 @@ "@testing-library/dom": ">=7.21.4" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/types": "^7.0.0" + "tslib": "^2.4.0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/@tybys/wasm-util/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } + "license": "0BSD", + "optional": true }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } + "peer": true }, "node_modules/@types/chai": { "version": "5.2.3", @@ -6397,9 +5886,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.2.tgz", - "integrity": "sha512-RpV6r/ij22zRRdyBPcxDeKAzH43phWVKEjL2iksqo1Vz3CuBUrgmPpPhALKiRfU7OMCmeeO9vECBMsV0hMTG8Q==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", + "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", "license": "MIT", "peer": true, "dependencies": { @@ -6465,9 +5954,9 @@ "license": "MIT" }, "node_modules/@types/warning": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.3.tgz", - "integrity": "sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.4.tgz", + "integrity": "sha512-CqN8MnISMwQbLJXO3doBAV4Yw9hx9/Pyr2rZ78+NfaCnhyRA/nKrpyk6E7mKw17ZOaQdLpK9GiUjrqLzBlN3sg==", "license": "MIT" }, "node_modules/@usewaypoint/block-avatar": { @@ -6609,52 +6098,57 @@ } }, "node_modules/@vitejs/plugin-react": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz", - "integrity": "sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.29.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-rc.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.18.0" + "@rolldown/pluginutils": "1.0.0-rc.7" }, "engines": { "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } } }, "node_modules/@vitest/expect": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", - "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz", + "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==", "dev": true, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.0.0", + "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.18", - "@vitest/utils": "4.0.18", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", - "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz", + "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.18", + "@vitest/spy": "4.1.5", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -6663,7 +6157,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0-0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "msw": { @@ -6695,26 +6189,26 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", - "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", + "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^3.0.3" + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", - "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz", + "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.18", + "@vitest/utils": "4.1.5", "pathe": "^2.0.3" }, "funding": { @@ -6722,13 +6216,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", - "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", + "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.18", + "@vitest/pretty-format": "4.1.5", + "@vitest/utils": "4.1.5", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -6747,9 +6242,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", - "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz", + "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==", "dev": true, "license": "MIT", "funding": { @@ -6757,36 +6252,37 @@ } }, "node_modules/@vitest/ui": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-4.0.18.tgz", - "integrity": "sha512-CGJ25bc8fRi8Lod/3GHSvXRKi7nBo3kxh0ApW4yCjmrWmRmlT53B5E08XRSZRliygG0aVNxLrBEqPYdz/KcCtQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-4.1.5.tgz", + "integrity": "sha512-3Z9HNFiV0IF1fk0JPiK+7kE1GcaIPefQQIBYur6PM5yFIq6agys3uqP/0t966e1wXfmjbRCHDe7qW236Xjwnag==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.18", + "@vitest/utils": "4.1.5", "fflate": "^0.8.2", - "flatted": "^3.3.3", + "flatted": "^3.4.2", "pathe": "^2.0.3", "sirv": "^3.0.2", "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3" + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.0.18" + "vitest": "4.1.5" } }, "node_modules/@vitest/utils": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", - "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", + "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.18", - "tinyrainbow": "^3.0.3" + "@vitest/pretty-format": "4.1.5", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" @@ -6984,12 +6480,6 @@ "license": "Apache-2.0", "peer": true }, - "node_modules/@zeit/schemas": { - "version": "2.36.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", - "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", - "license": "MIT" - }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", @@ -7027,20 +6517,11 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, "node_modules/ajv": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -7059,7 +6540,6 @@ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ajv": "^8.0.0" }, @@ -7078,7 +6558,6 @@ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -7086,15 +6565,6 @@ "ajv": "^8.8.2" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -7124,6 +6594,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7133,6 +6604,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -7165,30 +6637,24 @@ "node": ">= 8" } }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, "license": "MIT" }, "node_modules/argparse": { @@ -7426,9 +6892,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.27", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz", - "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", + "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", "dev": true, "funding": [ { @@ -7446,8 +6912,8 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001774", + "browserslist": "^4.28.2", + "caniuse-lite": "^1.0.30001787", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" @@ -7479,31 +6945,32 @@ } }, "node_modules/axios": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", - "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.2.tgz", + "integrity": "sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "proxy-from-env": "^2.1.0" } }, "node_modules/babel-loader": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", - "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^5.0.0" + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" }, "engines": { - "node": "^18.20.0 || ^20.10.0 || >=22.0.0" + "node": ">= 14.15.0" }, "peerDependencies": { "@babel/core": "^7.12.0", - "webpack": ">=5.61.0" + "webpack": ">=5" } }, "node_modules/babel-plugin-macros": { @@ -7522,14 +6989,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz", - "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.28.6", - "@babel/helper-define-polyfill-provider": "^0.6.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", "semver": "^6.3.1" }, "peerDependencies": { @@ -7537,13 +7004,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz", - "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", "core-js-compat": "^3.48.0" }, "peerDependencies": { @@ -7551,13 +7018,13 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz", - "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.6" + "@babel/helper-define-polyfill-provider": "^0.6.8" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -7567,6 +7034,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, "license": "MIT" }, "node_modules/base64-js": { @@ -7591,203 +7059,79 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.20.tgz", + "integrity": "sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==", "dev": true, "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/bidi-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", - "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "require-from-string": "^2.0.2" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/boxen": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", - "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "baseline-browser-mapping": "dist/cli.cjs" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.0.0" } }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "require-from-string": "^2.0.2" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 6" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -7808,9 +7152,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -7828,11 +7172,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -7874,15 +7218,6 @@ "license": "MIT", "peer": true }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/bytestreamjs": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", @@ -7960,18 +7295,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -7983,9 +7306,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001774", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz", - "integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==", + "version": "1.0.30001788", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz", + "integrity": "sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==", "dev": true, "funding": [ { @@ -8017,6 +7340,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -8029,25 +7353,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" - } - }, "node_modules/chalk/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, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -8130,9 +7440,9 @@ } }, "node_modules/cheerio/node_modules/undici": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", - "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz", + "integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==", "license": "MIT", "engines": { "node": ">=18.17" @@ -8202,18 +7512,6 @@ "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", "license": "MIT" }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -8241,14 +7539,14 @@ } }, "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" }, "engines": { "node": ">=20" @@ -8313,23 +7611,6 @@ "node": ">= 10" } }, - "node_modules/clipboardy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", - "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", - "license": "MIT", - "dependencies": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -8378,6 +7659,7 @@ "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, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -8390,6 +7672,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, "license": "MIT" }, "node_modules/colorette": { @@ -8451,75 +7734,18 @@ "node": ">= 12" } }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", - "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.1.0", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true, + "license": "ISC" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, "license": "MIT" }, "node_modules/concurrently": { @@ -8547,15 +7773,6 @@ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/conventional-commit-types": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", @@ -8564,13 +7781,14 @@ "license": "ISC" }, "node_modules/conventional-commits-parser": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.2.1.tgz", - "integrity": "sha512-20pyHgnO40rvfI0NGF/xiEoFMkXDtkF8FwHvk5BokoFoCuTQRI8vrNCNFWUOfuolKJMm1tPCHc8GgYEtr1XRNA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.3.0.tgz", + "integrity": "sha512-RfOq/Cqy9xV9bOA8N+ZH6DlrDR+5S3Mi0B5kACEjESpE+AviIpAptx9a9cFpWCCvgRtWT+0BbUw+e1BZfts9jg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { + "@simple-libs/stream-utils": "^1.2.0", "meow": "^13.0.0" }, "bin": { @@ -8610,9 +7828,9 @@ "license": "MIT" }, "node_modules/core-js-compat": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", - "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", "dev": true, "license": "MIT", "dependencies": { @@ -8624,9 +7842,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.48.0.tgz", - "integrity": "sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.49.0.tgz", + "integrity": "sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==", "hasInstallScript": true, "license": "MIT", "funding": { @@ -8657,27 +7875,28 @@ } }, "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", + "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", "license": "MIT", "dependencies": { - "node-fetch": "^2.6.12" + "node-fetch": "^2.7.0" } }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -8771,14 +7990,14 @@ } }, "node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" @@ -8816,32 +8035,6 @@ "node": ">=4" } }, - "node_modules/cssstyle": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.1.0.tgz", - "integrity": "sha512-Ml4fP2UT2K3CUBQnVlbdV/8aFDdlY69E+YnwJM+3VUWl08S3J8c8aRuJqCkD9Py8DHZ7zNNvsfKl8psocHZEFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^5.0.0", - "@csstools/css-syntax-patches-for-csstree": "^1.0.28", - "css-tree": "^3.1.0", - "lru-cache": "^11.2.6" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/cssstyle/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -9095,15 +8288,6 @@ "dev": true, "license": "MIT" }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -9198,6 +8382,16 @@ "node": ">=8" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", @@ -9336,9 +8530,9 @@ } }, "node_modules/dompurify": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz", - "integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.1.tgz", + "integrity": "sha512-JahakDAIg1gyOm7dlgWSDjV4n7Ip2PKR55NIT6jrMfIgLFgWo81vdr1/QGqWtFNRqXP9UV71oVePtjqS2ebnPw==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -9390,16 +8584,10 @@ "node": ">= 0.4" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, "node_modules/electron-to-chromium": { - "version": "1.5.302", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", - "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", + "version": "1.5.340", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.340.tgz", + "integrity": "sha512-908qahOGocRMinT2nM3ajCEM99H4iPdv84eagPP3FfZy/1ZGeOy2CZYzjhms81ckOPCXPlW7LkY4XpxD8r1DrA==", "dev": true, "license": "ISC" }, @@ -9407,6 +8595,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, "license": "MIT" }, "node_modules/encoding-sniffer": { @@ -9435,9 +8624,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", - "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", "dev": true, "license": "MIT", "peer": true, @@ -9582,9 +8771,9 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", - "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.1.tgz", + "integrity": "sha512-zWwRvqWiuBPr0muUG/78cW3aHROFCNIQ3zpmYDpwdbnt2m+xlNyRWpHBpa2lJjSBit7BQ+RXA1iwbSmu5yJ/EQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9603,6 +8792,7 @@ "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0", "safe-array-concat": "^1.1.3" }, "engines": { @@ -9610,9 +8800,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "dev": true, "license": "MIT" }, @@ -9674,48 +8864,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" - } - }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -10040,29 +9188,6 @@ "node": ">=0.8.x" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -10161,6 +9286,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, "funding": [ { "type": "github", @@ -10190,6 +9316,24 @@ "reusify": "^1.0.4" } }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/fflate": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", @@ -10249,10 +9393,27 @@ "dev": true, "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/find-node-modules": { @@ -10327,16 +9488,16 @@ "peer": true }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", @@ -10566,18 +9727,6 @@ "node": ">= 0.4" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-symbol-description": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", @@ -10788,6 +9937,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10960,67 +10110,27 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, "node_modules/i18next": { - "version": "25.8.17", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.8.17.tgz", - "integrity": "sha512-vWtCttyn5bpOK4hWbRAe1ZXkA+Yzcn2OcACT+WJavtfGMcxzkfvXTLMeOU8MUhRmAySKjU4VVuKlo0sSGeBokA==", + "version": "26.0.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.0.8.tgz", + "integrity": "sha512-BRzLom0mhDhV9v0QhgUUHWQJuwFmnr1194xEcNLYD6ym8y8s542n4jXUvRLnhNTbh9PmpU6kGZamyuGHQMsGjw==", "funding": [ { "type": "individual", - "url": "https://locize.com" + "url": "https://www.locize.com/i18next" }, { "type": "individual", - "url": "https://locize.com/i18next.html" + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" }, { "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + "url": "https://www.locize.com" } ], "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.28.6" - }, "peerDependencies": { - "typescript": "^5" + "typescript": "^5 || ^6" }, "peerDependenciesMeta": { "typescript": { @@ -11038,12 +10148,12 @@ } }, "node_modules/i18next-http-backend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-3.0.2.tgz", - "integrity": "sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-3.0.6.tgz", + "integrity": "sha512-mBOqy8993jtqAoj6XaI1XeC/8/9v6EPS+681ziegrPvTB0DoaCY7PpTS0SpY56qLMoS4OI1TZEM2Zf59zNh05w==", "license": "MIT", "dependencies": { - "cross-fetch": "4.0.0" + "cross-fetch": "4.1.0" } }, "node_modules/iconv-lite": { @@ -11437,21 +10547,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -11604,18 +10699,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-port-reachable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", - "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -11671,18 +10754,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-string": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", @@ -11810,18 +10881,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -11832,6 +10891,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, "license": "ISC" }, "node_modules/iterator.prototype": { @@ -11919,36 +10979,36 @@ } }, "node_modules/jsdom": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz", - "integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==", + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.0.2.tgz", + "integrity": "sha512-9VnGEBosc/ZpwyOsJBCQ/3I5p7Q5ngOY14a9bf5btenAORmZfDse1ZEheMiWcJ3h81+Fv7HmJFdS0szo/waF2w==", "dev": true, "license": "MIT", "dependencies": { - "@acemir/cssom": "^0.9.31", - "@asamuzakjp/dom-selector": "^6.8.1", + "@asamuzakjp/css-color": "^5.1.5", + "@asamuzakjp/dom-selector": "^7.0.6", "@bramus/specificity": "^2.4.2", - "@exodus/bytes": "^1.11.0", - "cssstyle": "^6.0.1", + "@csstools/css-syntax-patches-for-csstree": "^1.1.1", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", "data-urls": "^7.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^6.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.7", "parse5": "^8.0.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^6.0.0", - "undici": "^7.21.0", + "tough-cookie": "^6.0.1", + "undici": "^7.24.5", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^8.0.1", "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0", + "whatwg-url": "^16.0.1", "xml-name-validator": "^5.0.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" }, "peerDependencies": { "canvas": "^3.0.0" @@ -11959,6 +11019,16 @@ } } }, + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -11988,6 +11058,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { @@ -12091,9 +11162,9 @@ } }, "node_modules/konva": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/konva/-/konva-10.2.0.tgz", - "integrity": "sha512-JBoz0Xjbf49UPxCZegZ4WseqOzJ+C4AUDOtJ9eBve5RS5Fcq/u8TdBD5fDl/uPFInpC3a9uycm0sRyZpF4hheg==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/konva/-/konva-10.2.3.tgz", + "integrity": "sha512-NDGeIxm2nsQcp6oqZKS9T764JEi53RpQvpUxV2EK7Awm49fwdd1+EB1Nq1nyspRc0hOAKyKssoTFvPaKwiSUog==", "funding": [ { "type": "patreon", @@ -12134,6 +11205,267 @@ "immediate": "~3.0.5" } }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -12154,17 +11486,17 @@ "license": "MIT" }, "node_modules/lint-staged": { - "version": "16.3.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.3.3.tgz", - "integrity": "sha512-RLq2koZ5fGWrx7tcqx2tSTMQj4lRkfNJaebO/li/uunhCJbtZqwTuwPHpgIimAHHi/2nZIiGrkCHDCOeR1onxA==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.4.0.tgz", + "integrity": "sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==", "dev": true, "license": "MIT", "dependencies": { "commander": "^14.0.3", "listr2": "^9.0.5", - "micromatch": "^4.0.8", + "picomatch": "^4.0.3", "string-argv": "^0.3.2", - "tinyexec": "^1.0.2", + "tinyexec": "^1.0.4", "yaml": "^2.8.2" }, "bin": { @@ -12187,16 +11519,6 @@ "node": ">=20" } }, - "node_modules/lint-staged/node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/listr2": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", @@ -12339,9 +11661,9 @@ "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "license": "MIT" }, "node_modules/lodash.clonedeep": { @@ -12534,6 +11856,23 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/log-update/node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -12703,9 +12042,9 @@ } }, "node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", "dev": true, "license": "CC0-1.0" }, @@ -12763,7 +12102,9 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/merge2": { "version": "1.4.1", @@ -12789,6 +12130,19 @@ "node": ">=8.6" } }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -12826,6 +12180,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -12858,6 +12213,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -12870,6 +12226,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12965,15 +12322,6 @@ "is-buffer": "^1.0.2" } }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -13062,9 +12410,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "dev": true, "license": "MIT" }, @@ -13078,18 +12426,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -13230,15 +12566,6 @@ ], "license": "MIT" }, - "node_modules/on-headers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -13253,6 +12580,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" @@ -13403,9 +12731,9 @@ } }, "node_modules/parse": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/parse/-/parse-8.3.0.tgz", - "integrity": "sha512-llyOFZfxXZcgy1EpLoxNmClT1+nwp/RmF5mgYQ0/Nj5sl6Acw4oLSjFfckk1gJLAl7FRDsI8TGhhiIJYq41bAQ==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/parse/-/parse-8.5.0.tgz", + "integrity": "sha512-X9gI4Yjbi9LPMPnCtKL4h0Nxe1aSCFMPWcB1zbu11qU/Be3eVSB5I5IMBunTuWlVz6Wchu3dtM5jl/1aBZ9wiQ==", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "7.28.6", @@ -13447,6 +12775,15 @@ "node": ">=0.10.0" } }, + "node_modules/parse/node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/parse5": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", @@ -13566,16 +12903,11 @@ "node": ">=0.10.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "license": "(WTFPL OR MIT)" - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -13587,12 +12919,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "license": "MIT" }, - "node_modules/path-to-regexp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", - "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", - "license": "MIT" - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -13640,13 +12966,13 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -13672,10 +12998,114 @@ "node": ">= 6" } }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/pkg-dir/node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pkijs": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz", - "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", "license": "BSD-3-Clause", "dependencies": { "@noble/hashes": "1.4.0", @@ -13725,9 +13155,9 @@ } }, "node_modules/postcss": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", - "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", + "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", "dev": true, "funding": [ { @@ -13932,9 +13362,9 @@ } }, "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -14035,18 +13465,12 @@ "node": ">= 4" } }, - "node_modules/pretty-quick/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "node_modules/pretty-quick/node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "license": "MIT" }, "node_modules/pretty-quick/node_modules/tslib": { "version": "2.8.1", @@ -14070,6 +13494,15 @@ "node": ">=6" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -14113,9 +13546,9 @@ "license": "MIT" }, "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.5.tgz", + "integrity": "sha512-3wY1AxV+VBNW8Yypfd1yQY9pXnqTAN+KwQxL8iYm3/BjKYMNg4i0owhEe26PWDOMaIrzeeF98Lqd5NGz4omiIg==", "hasInstallScript": true, "license": "BSD-3-Clause", "peer": true, @@ -14138,10 +13571,13 @@ } }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/punycode": { "version": "2.3.1", @@ -14313,45 +13749,6 @@ } } }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/re-resizable": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/re-resizable/-/re-resizable-6.11.2.tgz", @@ -14363,9 +13760,9 @@ } }, "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -14522,15 +13919,15 @@ } }, "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.4" + "react": "^19.2.5" } }, "node_modules/react-draggable": { @@ -14554,19 +13951,19 @@ "license": "MIT" }, "node_modules/react-i18next": { - "version": "16.5.6", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-16.5.6.tgz", - "integrity": "sha512-Ua7V2/efA88ido7KyK51fb8Ki8M/sRfW8LR/rZ/9ZKr2luhuTI7kwYZN5agT1rWG7aYm5G0RYE/6JR8KJoCMDw==", + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-17.0.6.tgz", + "integrity": "sha512-WzJ6SMKF+GTD7JZZqxSR1AKKmXjaSu39sClUrNlwxS4Tl7a99O+ltFy6yhPMO+wgZuxpQjJ2PZkfrQKmAqrLhw==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.4", + "@babel/runtime": "^7.29.2", "html-parse-stringify": "^3.0.1", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { - "i18next": ">= 25.6.2", + "i18next": ">= 26.0.1", "react": ">= 16.8.0", - "typescript": "^5" + "typescript": "^5 || ^6" }, "peerDependenciesMeta": { "react-dom": { @@ -14711,16 +14108,6 @@ } } }, - "node_modules/react-refresh": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-remove-scroll": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", @@ -14802,9 +14189,9 @@ "license": "0BSD" }, "node_modules/react-router": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.1.tgz", - "integrity": "sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.14.2.tgz", + "integrity": "sha512-yCqNne6I8IB6rVCH7XUvlBK7/QKyqypBFGv+8dj4QBFJiiRX+FG7/nkdAvGElyvVZ/HQP5N19wzteuTARXi5Gw==", "license": "MIT", "dependencies": { "cookie": "^1.0.1", @@ -14921,9 +14308,9 @@ "license": "0BSD" }, "node_modules/react-timezone-select": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/react-timezone-select/-/react-timezone-select-3.3.2.tgz", - "integrity": "sha512-LmsQJ5hjjJRy1mMkUKI6+8WWDtKWkpnv8X3pWw/0V32nd8WZNCIwy7l1rzOyVCmyz8pJ2LNalOIDmV3UPbX30A==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/react-timezone-select/-/react-timezone-select-3.3.3.tgz", + "integrity": "sha512-wcKk5jTR7FWhdQI43k9sHQw/97xJ80z7ambdiisKzJ++7SthxeMC1QrTOq3jINz4c5EjDkYVC324yMo2No/mtA==", "license": "MIT", "dependencies": { "spacetime": "^7.12.0", @@ -14932,7 +14319,7 @@ "peerDependencies": { "react": "^16 || ^17.0.1 || ^18 || ^19", "react-dom": "^16 || ^17.0.1 || ^18 || ^19", - "react-select": "^5.8.0" + "react-select": "^5.9.0" } }, "node_modules/react-to-print": { @@ -14945,9 +14332,9 @@ } }, "node_modules/react-tooltip": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.30.0.tgz", - "integrity": "sha512-Yn8PfbgQ/wmqnL7oBpz1QiDaLKrzZMdSUUdk7nVeGTwzbxCAJiJzR4VSYW+eIO42F1INt57sPUmpgKv0KwJKtg==", + "version": "5.30.1", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.30.1.tgz", + "integrity": "sha512-1lSPLQXuVooePxadUpmcwLgOsF1mIty7UZTJ9XnyfX4drOzStYs4JMXnazcDLguQr41W5OUZddOp9kfvArdpEQ==", "license": "MIT", "dependencies": { "@floating-ui/dom": "^1.6.1", @@ -15012,6 +14399,19 @@ "node": ">=8.10.0" } }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -15118,37 +14518,15 @@ "dev": true, "license": "MIT", "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.2", - "regjsgen": "^0.8.0", - "regjsparser": "^0.13.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.2.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "license": "MIT", - "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", - "license": "MIT", - "dependencies": { - "rc": "^1.0.1" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/regjsgen": { @@ -15185,6 +14563,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -15279,50 +14658,46 @@ "dev": true, "license": "MIT" }, - "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "node_modules/rolldown": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz", + "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@oxc-project/types": "=0.127.0", + "@rolldown/pluginutils": "1.0.0-rc.17" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "fsevents": "~2.3.2" - } + "@rolldown/binding-android-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-x64": "1.0.0-rc.17", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz", + "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==", + "dev": true, + "license": "MIT" }, "node_modules/rollup-plugin-inject": { "version": "3.0.2", @@ -15514,7 +14889,6 @@ "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -15539,88 +14913,6 @@ "semver": "bin/semver.js" } }, - "node_modules/serve": { - "version": "14.2.6", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz", - "integrity": "sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==", - "license": "MIT", - "dependencies": { - "@zeit/schemas": "2.36.0", - "ajv": "8.18.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.8.1", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.7", - "update-check": "1.5.4" - }, - "bin": { - "serve": "build/main.js" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/serve-handler": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz", - "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==", - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "mime-types": "2.1.18", - "minimatch": "3.1.5", - "path-is-inside": "1.0.2", - "path-to-regexp": "3.3.0", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve/node_modules/chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/set-cookie-parser": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", @@ -15686,6 +14978,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -15698,6 +14991,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -15803,6 +15097,7 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, "license": "ISC" }, "node_modules/signature_pad": { @@ -15827,17 +15122,17 @@ } }, "node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" @@ -15947,9 +15242,9 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", + "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", "dev": true, "license": "MIT" }, @@ -15990,6 +15285,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -16004,6 +15300,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -16111,6 +15408,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -16129,15 +15427,6 @@ "node": ">=8" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -16363,9 +15652,9 @@ } }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", "dev": true, "license": "MIT", "peer": true, @@ -16378,9 +15667,9 @@ } }, "node_modules/terser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", - "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", + "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", "dev": true, "license": "BSD-2-Clause", "peer": true, @@ -16490,21 +15779,24 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz", + "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -16513,41 +15805,10 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", "dev": true, "license": "MIT", "engines": { @@ -16555,22 +15816,22 @@ } }, "node_modules/tldts": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.23.tgz", - "integrity": "sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==", + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.26.tgz", + "integrity": "sha512-WiGwQjr0qYdNNG8KpMKlSvpxz652lqa3Rd+/hSaDcY4Uo6SKWZq2LAF+hsAhUewTtYhXlorBKgNF3Kk8hnjGoQ==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^7.0.23" + "tldts-core": "^7.0.26" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.23.tgz", - "integrity": "sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ==", + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.26.tgz", + "integrity": "sha512-5WJ2SqFsv4G2Dwi7ZFVRnz6b2H1od39QME1lc2y5Ew3eWiZMAeqOAfWpRP9jHvhUl881406QtZTODvjttJs+ew==", "dev": true, "license": "MIT" }, @@ -16608,9 +15869,9 @@ } }, "node_modules/tough-cookie": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", - "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -16843,9 +16104,9 @@ } }, "node_modules/undici": { - "version": "7.22.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz", - "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.5.tgz", + "integrity": "sha512-3IWdCpjgxp15CbJnsi/Y9TCDE7HWVN19j1hmzVhoAkY/+CJx449tVxT5wZc1Gwg8J+P0LWvzlBzxYRnHJ+1i7Q==", "dev": true, "license": "MIT", "engines": { @@ -16944,16 +16205,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", - "license": "MIT", - "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -17057,28 +16308,18 @@ "node": ">=10" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "version": "8.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz", + "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.10", + "rolldown": "1.0.0-rc.17", + "tinyglobby": "^0.2.16" }, "bin": { "vite": "bin/vite.js" @@ -17094,9 +16335,10 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", - "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", @@ -17109,13 +16351,16 @@ "@types/node": { "optional": true }, - "jiti": { + "@vitejs/devtools": { "optional": true }, - "less": { + "esbuild": { "optional": true }, - "lightningcss": { + "jiti": { + "optional": true + }, + "less": { "optional": true }, "sass": { @@ -17142,18 +16387,18 @@ } }, "node_modules/vite-plugin-svgr": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.5.0.tgz", - "integrity": "sha512-W+uoSpmVkSmNOGPSsDCWVW/DDAyv+9fap9AZXBvWiQqrboJ08j2vh0tFxTD/LjwqwAd3yYSVJgm54S/1GhbdnA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-5.2.0.tgz", + "integrity": "sha512-qj2eAKF8C6PZWemVTvQA0xgQIcP1hHU6Buh7fl6BhvayWwnuxE+z417miKxeDvRWbDrupQ1oK99hfxElopJ3sQ==", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.2.0", + "@rollup/pluginutils": "^5.3.0", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0" }, "peerDependencies": { - "vite": ">=2.6.0" + "vite": ">=3.0.0" } }, "node_modules/vite-tsconfig-paths": { @@ -17171,63 +16416,32 @@ "vite": "*" } }, - "node_modules/vite/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/vitest": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", - "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", + "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.0.18", - "@vitest/mocker": "4.0.18", - "@vitest/pretty-format": "4.0.18", - "@vitest/runner": "4.0.18", - "@vitest/snapshot": "4.0.18", - "@vitest/spy": "4.0.18", - "@vitest/utils": "4.0.18", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", + "@vitest/expect": "4.1.5", + "@vitest/mocker": "4.1.5", + "@vitest/pretty-format": "4.1.5", + "@vitest/runner": "4.1.5", + "@vitest/snapshot": "4.1.5", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", - "std-env": "^3.10.0", + "std-env": "^4.0.0-rc.1", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, "bin": { @@ -17243,12 +16457,15 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.18", - "@vitest/browser-preview": "4.0.18", - "@vitest/browser-webdriverio": "4.0.18", - "@vitest/ui": "4.0.18", + "@vitest/browser-playwright": "4.1.5", + "@vitest/browser-preview": "4.1.5", + "@vitest/browser-webdriverio": "4.1.5", + "@vitest/coverage-istanbul": "4.1.5", + "@vitest/coverage-v8": "4.1.5", + "@vitest/ui": "4.1.5", "happy-dom": "*", - "jsdom": "*" + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { @@ -17269,6 +16486,12 @@ "@vitest/browser-webdriverio": { "optional": true }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, "@vitest/ui": { "optional": true }, @@ -17277,6 +16500,9 @@ }, "jsdom": { "optional": true + }, + "vite": { + "optional": false } } }, @@ -17290,29 +16516,6 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/vitest/node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", @@ -17386,9 +16589,9 @@ } }, "node_modules/web-vitals": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-5.1.0.tgz", - "integrity": "sha512-ArI3kx5jI0atlTtmV0fWU3fjpLmq/nD3Zr1iFFlJLaqa5wLBkUSzINwBPySCX/8jRyjlmy1Volw1kz1g9XE4Jg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-5.2.0.tgz", + "integrity": "sha512-i2z98bEmaCqSDiHEDu+gHl/dmR4Q+TxFmG3/13KkMO+o8UxQzCqWaDRCiLgEa41nlO4VpXSI0ASa1xWmO9sBlA==", "license": "Apache-2.0" }, "node_modules/webidl-conversions": { @@ -17402,9 +16605,9 @@ } }, "node_modules/webpack": { - "version": "5.105.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", - "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", + "version": "5.106.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.2.tgz", + "integrity": "sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==", "dev": true, "license": "MIT", "peer": true, @@ -17425,9 +16628,8 @@ "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", + "mime-db": "^1.54.0", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", @@ -17462,14 +16664,6 @@ "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/es-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -17496,6 +16690,17 @@ "node": ">=4.0" } }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/whatwg-encoding": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", @@ -17550,6 +16755,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -17674,71 +16880,6 @@ "node": ">=8" } }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -17842,9 +16983,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "dev": true, "license": "ISC", "bin": { diff --git a/apps/OpenSign/package.json b/apps/OpenSign/package.json index f63c37e0d7..a6c51a9511 100644 --- a/apps/OpenSign/package.json +++ b/apps/OpenSign/package.json @@ -3,11 +3,11 @@ "version": "2.37.0", "private": true, "dependencies": { - "@emotion/react": "^11.11.3", - "@emotion/styled": "^11.11.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", "@formkit/auto-animate": "^0.9.0", "@imgly/background-removal": "^1.7.0", - "@lottiefiles/dotlottie-react": "^0.18.4", + "@lottiefiles/dotlottie-react": "^0.19.0", "@mui/icons-material": "^5.15.10", "@mui/material": "^5.15.10", "@pdf-lib/fontkit": "^1.1.1", @@ -26,27 +26,28 @@ "@usewaypoint/block-text": "^0.0.7", "@usewaypoint/document-core": "^0.0.6", "@usewaypoint/email-builder": "^0.0.9", - "axios": "^1.13.6", + "axios": "^1.15.2", "date-fns-tz": "^3.2.0", - "dompurify": "^3.3.3", + "dompurify": "^3.4.1", "file-saver": "^2.0.5", - "highlight.js": "^11.9.0", - "i18next": "^25.8.17", + "highlight.js": "^11.11.1", + "i18next": "^26.0.8", "i18next-browser-languagedetector": "^8.2.1", - "i18next-http-backend": "^3.0.2", + "i18next-http-backend": "^3.0.6", "jszip": "^3.10.1", "juice": "^11.1.1", "jwt-decode": "^4.0.0", "moment": "^2.30.1", "parse": "^8.1.0", "pdf-lib": "^1.17.1", - "pkijs": "^3.3.3", - "prettier": "^3.8.1", + "pkijs": "^3.4.0", + "prettier": "^3.8.3", "print-js": "^1.6.0", "prismjs": "^1.30.0", + "process": "^0.11.10", "quill-html-edit-button": "^3.0.0", "radix-ui": "^1.4.3", - "react": "^19.2.4", + "react": "^19.2.5", "react-bootstrap": "^2.10.10", "react-colorful": "^5.6.1", "react-confetti": "^6.4.0", @@ -54,25 +55,24 @@ "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dnd-multi-backend": "^9.0.0", - "react-dom": "^19.2.4", + "react-dom": "^19.2.5", "react-gtm-module": "^2.0.11", - "react-i18next": "^16.5.6", + "react-i18next": "^17.0.6", "react-konva": "^19.2.3", "react-pdf": "^10.4.1", "react-quill-new": "^3.8.3", "react-redux": "^9.2.0", "react-rnd": "^10.5.3", - "react-router": "^7.13.1", + "react-router": "^7.14.2", "react-scrollbars-custom": "^4.1.1", "react-select": "^5.10.2", "react-signature-canvas": "^1.1.0-alpha.2", - "react-timezone-select": "^3.2.8", + "react-timezone-select": "^3.3.3", "react-to-print": "^3.3.0", - "react-tooltip": "^5.30.0", + "react-tooltip": "^5.30.1", "redux": "^5.0.1", "regex-parser": "^2.3.1", - "serve": "^14.2.6", - "web-vitals": "^5.1.0", + "web-vitals": "^5.2.0", "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz", "zod": "^3.22.4", "zustand": "^4.5.1" @@ -82,7 +82,7 @@ "start-dev": "vite", "dev": "vite", "preview": "vite preview", - "start": "serve -s build", + "start": "node server.cjs", "version": "curl -s https://api.github.com/repos/opensignlabs/opensign/releases/latest | grep '\"tag_name\":' | awk -F '\"' '{print $4}' > ./public/version.txt", "version-win": "powershell -Command \"Invoke-RestMethod -Uri 'https://api.github.com/repos/opensignlabs/opensign/releases/latest' | Select-Object -ExpandProperty tag_name | Out-File -FilePath ./public/version.txt\"", "build-win": "npm run version-win && vite build", @@ -116,17 +116,17 @@ }, "devDependencies": { "@babel/core": "^7.29.0", - "@babel/preset-env": "^7.29.0", + "@babel/preset-env": "^7.29.2", "@babel/preset-react": "^7.28.5", - "@babel/runtime-corejs2": "^7.28.6", + "@babel/runtime-corejs2": "^7.29.2", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/react": "^19.2.14", - "@vitejs/plugin-react": "^5.1.4", - "@vitest/ui": "^4.0.18", - "autoprefixer": "^10.4.27", - "babel-loader": "^10.0.0", + "@vitejs/plugin-react": "^6.0.1", + "@vitest/ui": "^4.1.5", + "autoprefixer": "^10.5.0", + "babel-loader": "^9.2.1", "commitizen": "^4.3.1", "concurrently": "^9.2.1", "css-loader": "^7.1.4", @@ -134,17 +134,17 @@ "eslint": "^9.39.4", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-react": "^7.37.5", - "jsdom": "^28.1.0", - "lint-staged": "^16.3.3", - "postcss": "^8.5.8", + "jsdom": "^29.0.2", + "lint-staged": "^16.4.0", + "postcss": "^8.5.12", "pretty-quick": "^4.2.2", "rollup-plugin-node-polyfills": "^0.2.1", "tailwindcss": "^3.4.19", "tmp": "^0.2.5", - "vite": "^7.3.1", - "vite-plugin-svgr": "^4.5.0", + "vite": "^8.0.10", + "vite-plugin-svgr": "^5.2.0", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.0.18" + "vitest": "^4.1.5" }, "overrides": { "tmp": "$tmp", diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index d477402eff..51feb01a1c 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -237,6 +237,8 @@ "p3": "Wenn Sie diese Option auswählen, werden die Signaturlinks gleichzeitig an alle Unterzeichner gesendet. Jeder Unterzeichner kann das Dokument nach Belieben unterzeichnen, unabhängig davon, ob andere Unterzeichner ihre Unterschriften abgeschlossen haben. Diese Methode ist schneller, erzwingt jedoch keine Reihenfolge unter den Teilnehmern.", "p4": "Wählen Sie die Option, die am besten zu den Anforderungen Ihrer Dokumentenverarbeitung passt." }, + "strict-order": "Strikte Reihenfolge erzwingen", + "strict-order-help": "Wenn aktiviert, kann kein Unterzeichner unterschreiben oder genehmigen, bis alle vorherigen Unterzeichner/Genehmiger ihre Aktion abgeschlossen haben.", "no": "Nein", "auto-reminder": "Automatische Erinnerung", "remind-once": "Einmal erinnern alle (Tage)", @@ -260,6 +262,7 @@ "signers": "Unterzeichner", "signers-help": "Beginnen Sie mit der Eingabe eines Kontaktnamens, um vorgeschlagene Unterzeichner aus Ihren gespeicherten Kontakten zu sehen, oder fügen Sie neue hinzu. Ordnen Sie die Reihenfolge der Unterzeichner, indem Sie sie in der gewünschten Reihenfolge hinzufügen. Verwenden Sie die '+'-Schaltfläche, um Unterzeichner hinzuzufügen, und 'x', um sie zu entfernen. Jeder Unterzeichner erhält eine E-Mail-Aufforderung, das Dokument in der aufgelisteten Reihenfolge zu unterzeichnen.", "bcc-help": "Beginnen Sie mit der Eingabe des Namens eines Kontakts, um Vorschläge aus Ihren gespeicherten Kontakten anzuzeigen oder neue hinzuzufügen. Verwenden Sie die Schaltfläche '+', um einen Benutzer hinzuzufügen, und das 'x', um ihn zu entfernen. Die E-Mail des ausgewählten Benutzers wird als Bcc (Blindkopie) hinzugefügt. Jeder Benutzer erhält eine E-Mail-Benachrichtigung, sobald das Dokument fertig ist.", + "cc-help": "Beginnen Sie mit der Eingabe des Namens eines Kontakts, um Vorschläge aus Ihren gespeicherten Kontakten zu sehen, oder fügen Sie neue hinzu. Verwenden Sie die Schaltfläche „+“, um einen Benutzer hinzuzufügen, und „x“, um ihn zu entfernen. Die E-Mail des ausgewählten Benutzers wird als CC (Kopie) hinzugefügt. Jeder Benutzer erhält eine E-Mail-Benachrichtigung, sobald das Dokument abgeschlossen ist.", "add-signer": "Unterzeichner hinzufügen", "contact-not-found": "Kontakt nicht gefunden", "add-yourself": "Sich selbst hinzufügen", @@ -287,7 +290,7 @@ "add-webhook": "Webhook hinzufügen", "webhook-added": "Webhook erfolgreich hinzugefügt.", "team-disabled": "Team deaktiviert", - "Team enabled": "Team aktiviert", + "team-enabled": "Team aktiviert", "are-you-sure": "Sind Sie sicher, dass Sie", "disable": "deaktivieren", "enable": "aktivieren", @@ -312,6 +315,31 @@ "user-activated": "Benutzer aktiviert.", "public": "Öffentlich", "download": "Herunterladen", + "sign-offline": "Offline unterzeichnen", + "sign-offline-instructions": "Laden Sie das Dokument herunter, unterzeichnen Sie es mit einem externen Tool und laden Sie dann die unterschriebene Kopie hier hoch. Der Dokumenteigentümer wird Ihre Einreichung prüfen und entweder genehmigen oder ablehnen.", + "sign-offline-step-1": "Das unsignierte PDF herunterladen.", + "sign-offline-step-2": "Das PDF mit Ihrem bevorzugten Tool unterzeichnen.", + "sign-offline-step-3": "Das unterschriebene PDF zur Genehmigung hochladen.", + "sign-offline-upload-hint": "Das unterschriebene PDF zur Einreichung zur Genehmigung auswählen.", + "sign-offline-submitted-title": "Zur Genehmigung eingereicht", + "sign-offline-submitted-body": "Der Dokumenteigentümer wurde per E-Mail benachrichtigt, Ihre offline unterschriebene Kopie zu prüfen.", + "offline-already-submitted-title": "Dokument offline eingereicht", + "offline-already-submitted-body": "Sie haben dieses Dokument bereits zur Offline-Signaturprüfung eingereicht. Sobald es genehmigt oder abgelehnt wurde, werden Sie benachrichtigt.", + "offline-action-approve-title": "Offline-Signatur genehmigen", + "offline-action-approve-confirm": "Genehmigen", + "offline-action-reject-title": "Offline-Signatur ablehnen", + "offline-action-reject-hint": "Optional können Sie einen Grund angeben. Der Unterzeichner wird per E-Mail benachrichtigt.", + "offline-action-reject-reason-placeholder": "Grund (optional)", + "offline-action-reject-confirm": "Ablehnung bestätigen", + "offline-action-review-title": "Offline-Signatur prüfen", + "offline-action-review-hint": "Sehen Sie sich das vom Unterzeichner hochgeladene signierte PDF an, und genehmigen oder lehnen Sie es dann ab. Keine Aktion wird durchgeführt, bis Sie bestätigen.", + "offline-action-submitted-at": "Eingereicht", + "offline-action-no-preview": "Für diese Einreichung ist keine Vorschau verfügbar.", + "offline-action-open-in-new-tab": "PDF in neuem Tab öffnen", + "offline-action-invalid-link": "Dieser Prüflink ist ungültig oder abgelaufen.", + "offline-action-success": "Aktion abgeschlossen.", + "reject": "Ablehnen", + "document": "Dokument", "view": "Ansehen", "make-template-public": "Vorlage öffentlich machen", "make-template-private": "Vorlage privat machen", @@ -405,6 +433,14 @@ "certificate": "Zertifikat", "decline": "Ablehnen", "finish": "Fertigstellen", + "approve": "Genehmigen", + "approve-mssg": " Sind Sie sicher, dass Sie das Dokument genehmigen möchten?", + "signer-role-label": "Empfängerrolle", + "signer-role-signer": "Unterzeichner", + "signer-role-viewer": "Betrachter", + "signer-role-approver": "Genehmiger", + "signer-role-hint": "Unterzeichner muss unterschreiben. Genehmiger genehmigt ohne Unterschrift. Betrachter kann nur ansehen.", + "signer-role-upgrade-msg": "Die Rollen Betrachter und Genehmiger sind nur in den kostenpflichtigen Tarifen verfügbar. Aktualisieren Sie Ihren Tarif, um diese Rollen zuzuweisen.", "done": "Fertig", "mail": "E-Mail", "sign-now": "Jetzt unterzeichnen", @@ -543,6 +579,7 @@ "sign-url": "Signatur-URL", "mails-sent": "E-Mails gesendet", "mail-not-delivered": "E-Mail nicht zugestellt", + "email-not-verified-head": "E-Mail nicht verifiziert", "document-alert": "Dokument-Warnung", "owner-subscription-expired": "Das Abonnement des Besitzers ist abgelaufen.", "subscription-expired": "Abonnement abgelaufen", @@ -618,6 +655,9 @@ "document-signed-alert-7": "Dieses Dokument ist nicht mehr verfügbar.", "document-signed-alert-8": "Das Dokument wurde bereits zum Unterzeichnen versendet.", "yet-to-sign": "Noch zu unterzeichnen", + "viewers": "Betrachter", + "viewer-no-widgets": "Betrachter erhalten eine schreibgeschützte Kopie des Dokuments und können keine Widgets zugewiesen bekommen.", + "viewer-confirm-widget-removal": "Wenn Sie diesen Empfänger auf Betrachter umstellen, werden alle ihm bereits zugewiesenen Widgets entfernt. Fortfahren?", "validation-alert-1": "Die Eingabe erfüllt nicht die Kriterien des regulären Ausdrucks.", "account-already-exists": "Konto existiert bereits!", "choose-password": "Passwort wählen", @@ -768,6 +808,13 @@ "p3": "Wenn Sie diese Option deaktivieren, können Benutzer das Dokument direkt ohne zusätzliche Schritte unterzeichnen.", "p4": "Bitte wählen Sie die Option, die am besten zu Ihren Anforderungen für die Dokumentenunterzeichnung passt." }, + "allow-offline-sign": "Offline-Signatur zulassen", + "allow-offline-sign-help": { + "p1": "Legen Sie fest, ob Unterzeichner eine Kopie dieses Dokuments einreichen dürfen, die mit einem externen Werkzeug signiert wurde, damit der Eigentümer sie prüfen kann.", + "p2": "Unterzeichner sehen die Option 'Offline unterzeichnen' und können eine extern signierte PDF zur Genehmigung hochladen.", + "p3": "Unterzeichner können nur in der App signieren. Die Option 'Offline unterzeichnen' wird ausgeblendet.", + "p4": "Diese Einstellung verwendet standardmäßig Ihre Kontoeinstellung und ist in kostenpflichtigen Tarifen verfügbar." + }, "advanced-options": "Erweiterte Optionen", "hide-advanced-options": "Erweiterte Optionen ausblenden", "download-files": "Dateien herunterladen", @@ -830,6 +877,7 @@ "delete-folder-alert-1": "Löschen nicht möglich: Der Ordner muss leer sein.", "defaultSign-alert": "{{widgetsType}} Widgets sind nicht für die automatische Signatur verfügbar.", "embed-heading": "{{appName}} Vorlagen einbetten", + "other-apps-by-opensign": "Andere Apps vom OpenSign-Team", "public-template-edit-title": "Öffentliche Vorlage bearbeiten", "public-template-edit-mssg": "Eine öffentliche Vorlage können Sie nicht direkt bearbeiten. Um Änderungen vorzunehmen, wird die Vorlage auf privat gesetzt und Sie müssen sie anschließend wieder öffentlich machen. Möchten Sie fortfahren?", "agree-p1": "Ich bestätige, dass ich die ", @@ -900,6 +948,7 @@ "p3": "Durch Auswahl dieser Option wird verhindert, dass Unterzeichner während des Unterzeichnungsprozesses Ergänzungen zum Dokument vornehmen." }, "signature-setting": "Signatur-Einstellungen", + "rotation": "Drehung", "activation-key": "Aktivierungsschlüssel", "paid-selfhost-help": "Bitte kontaktieren Sie {{appName}} für weitere Informationen unter ", "remaining-credits-selfhost-help": "Verwenden Sie Premium-Credits für API-Dokumentensignaturen, den Massenversand und die {{appName}} Integration auf Ihrer Website. Sie haben {{allowedcredits}} enthaltene Credits und {{addoncredits}} zusätzlich gekaufte Credits übrig.", @@ -928,6 +977,8 @@ "visit-below-link": "Besuchen Sie den untenstehenden Link, um mehr zu erfahren -", "storage-help": "Durch die Aktivierung von BYOC können Sie Ihren eigenen S3-Speicher verbinden, sodass Ihre Dateien vollständig unter Ihrer Kontrolle bleiben und keine externen Kopien gespeichert werden. Wenn Ihnen Datenautonomie wichtig ist, erwägen Sie ein Upgrade auf Teams, um diese Funktion freizuschalten.", "daily-quota-reached": "Sie haben Ihr tägliches Kontingent erreicht. Für Unterstützung kontaktieren Sie bitte quotas@opensignlabs.com.", + "email-not-verified-send": "Bitte verifizieren Sie Ihre E-Mail-Adresse, bevor Sie E-Mails senden. Gehen Sie zu Ihren <1>Profileinstellungen, um die E-Mail-Verifizierung abzuschließen.", + "email-not-verified-send-plain": "Bitte verifizieren Sie Ihre E-Mail-Adresse, bevor Sie E-Mails senden. Gehen Sie zu Ihren Profileinstellungen, um die E-Mail-Verifizierung abzuschließen.", "enabled-signature-type": "Aktivierte Signaturtypen", "enabled-signature-type-help": "Die Einstellung 'Aktivierte Signaturtypen' bestimmt, welche Signaturoptionen in Ihrer Organisation verfügbar sind. Wenn Sie beispielsweise die Option 'Zeichnen' deaktivieren, wird sie den Mitgliedern Ihrer Organisation im Signatur-Widget nicht angezeigt, während die anderen drei Optionen weiterhin zugänglich bleiben.", "indexing-public-profile": "Erlaube die Indexierung des öffentlichen Profils durch Suchmaschinen", @@ -955,6 +1006,7 @@ "please-provide-templateid": "Bitte geben Sie templateid an", "this-template-is-not-public": "Dieses template ist nicht öffentlich", "invalid-templateid": "Ungültige templateid", + "kiosk-no-active-role": "Diese Vorlage hat keine für die Kiosk-Signatur verfügbaren Unterzeichner- oder Genehmigerrollen.", "contact-billing-at-opensign": "Um weitere Plätze hinzuzufügen, kontaktieren Sie bitte OpenSign™ unter <1>billing@opensignlabs.com für Unterstützung.", "title-length-alert": "Der Titel darf höchstens 250 Zeichen lang sein.", "note-length-alert": "Die Notiz darf höchstens 200 Zeichen lang sein.", @@ -1303,7 +1355,7 @@ "signer-form-data-for": "Formulardaten für Unterzeichner: {{signerName}} <{{signerEmail}}>", "widget-name": "Widget-Name", "widget-responses": "Widget-Antworten", - "formdata-download-note": "Hinweis: Signaturen, Stempel, Initialen und Bilder werden nicht exportiert.", + "formdata-download-note": "Hinweis: Signaturen, Stempel, Initialen und Bilder werden nicht exportiert. Daten von Offline-Unterzeichnern sind nicht verfügbar.", "export-all-formdata-error": "Sie können die Formulardaten nicht exportieren, da die Vorlage doppelte Widget-Namen enthält. Bitte erstellen Sie eine neue Vorlage, um Formulardaten exportieren zu können.", "export-formdata-error": "Sie können die Formulardaten nicht exportieren, da das Dokument doppelte Widget-Namen enthält. Bitte erstellen Sie ein neues Dokument ohne doppelte Widget-Namen, um Formulardaten exportieren zu können.", "duplicate-widget-name-error": "Dieser Widget-Name ist bereits einem anderen Unterzeichner zugewiesen. Bitte wählen Sie einen anderen Namen.", @@ -1416,5 +1468,95 @@ "switch-to-advanced": "Zum erweiterten Modus wechseln", "switch-to-basic": "Zum Basis-Modus wechseln", "use-name-as-sender": "Profilnamen als Absender verwenden", - "use-name-as-sender-help": "Wenn aktiviert, verwendet {{appName}} Ihren Profilnamen als Absender für Signaturanfragen und Abschluss-E-Mails." -} \ No newline at end of file + "use-name-as-sender-help": "Wenn aktiviert, verwendet {{appName}} Ihren Profilnamen als Absender für Signaturanfragen und Abschluss-E-Mails.", + "acro-fields-detected": "Formularfelder erkannt", + "acro-fields-detected-msg": "Es wurden {{count}} Formularfeld(er) im hochgeladenen PDF erkannt. Möchten Sie die entsprechenden Widgets automatisch einfügen?", + "documents-count": "Anzahl der Dokumente", + "templates-count": "Anzahl der Vorlagen", + "emails-sent": "E-Mails gesendet", + "storage-used": "Speicher verwendet", + "docs-count-team-help": "Gesamtzahl der von allen Benutzern in Ihren Organisationen erstellten Dokumente.", + "docs-count-help": "Gesamtzahl der von Ihnen erstellten Dokumente.", + "templates-count-team-help": "Gesamtzahl der von allen Benutzern in Ihren Organisationen erstellten Vorlagen.", + "templates-count-help": "Gesamtzahl der von Ihnen erstellten Vorlagen.", + "emails-sent-team-help": "Gesamtzahl der in Ihren Organisationen versendeten E-Mail-Benachrichtigungen.", + "emails-sent-help": "Gesamtzahl der von Ihnen versendeten E-Mail-Benachrichtigungen.", + "storage-used-team-help": "Gesamter Speicherplatzverbrauch aller Benutzer in Ihren Organisationen.", + "storage-used-help": "Gesamter Speicherplatzverbrauch durch Sie.", + "cloud": "Cloud", + "on-premises": "On-Premises", + "plan-name-free": "OPENSIGN™ FREE", + "plan-name-professional": "OPENSIGN™ PROFESSIONAL", + "plan-name-teams": "OPENSIGN™ TEAMS", + "plan-name-enterprise": "OPENSIGN™ ENTERPRISE", + "plan-name-self-hosted": "OPENSIGN™ SELF-HOSTED", + "plan-subtitle-free": "Kostenlose unbegrenzte E-Signaturen, für immer.", + "plan-subtitle-professional": "Exklusiver Zugang zu erweiterten Funktionen.", + "plan-subtitle-scalable": "Skalierbare Funktionen mit Priority-Support.", + "subscribe": "Abonnieren", + "contact-us": "Kontaktiere uns", + "benefit-unlimited-digital-signatures": "Unbegrenzte digitale Signaturen", + "benefit-sign-docs-yourself": "Dokumente selbst unterschreiben", + "benefit-request-signatures": "Signaturen von anderen anfordern", + "benefit-unlimited-templates": "Unbegrenzte Vorlagen", + "benefit-14-field-types": "14 Feldtypen", + "benefit-automatic-e-signatures": "Automatische E-Signaturen", + "benefit-completion-certificates": "Abschlusszertifikate", + "benefit-send-in-order": "In Reihenfolge senden", + "benefit-organize-docs": "Dokumente in OpenSign™ Drive organisieren", + "benefit-document-templates": "Dokumentvorlagen", + "benefit-import-from-dropbox": "Import aus Dropbox", + "benefit-contact-book": "Kontaktbuch", + "benefit-document-expiry": "Unterstützung für Dokumentablauf", + "benefit-decline-document": "Unterstützung für Dokumentablehnung", + "benefit-email-notifications": "E-Mail-Benachrichtigungen", + "benefit-public-profiles": "Öffentliche Profile", + "benefit-and-much-more": "Und vieles mehr", + "benefit-everything-free": "Alles in OpenSign™ Free", + "benefit-field-validations": "Feldvalidierungen", + "benefit-regex-validations": "Reguläre-Ausdrucks-Validierungen", + "benefit-webhooks": "Webhooks", + "benefit-zapier": "Zapier-Integration", + "benefit-api-access": "API-Zugang", + "benefit-api-signatures-100": "bis zu 100 API-Signaturen", + "benefit-api-signatures-240": "bis zu 240 API-Signaturen", + "benefit-custom-email-templates": "Benutzerdefinierte E-Mail-Vorlagen", + "benefit-custom-smtp": "Eigenes Gmail- oder SMTP-Konto für den E-Mail-Versand verbinden", + "benefit-auto-reminders": "Automatische Erinnerungen", + "benefit-bulk-send-100": "Massenversand (bis zu 100 Dokumente)", + "benefit-bulk-send-240": "Massenversand (bis zu 240 Dokumente)", + "benefit-premium-profiles": "Premium öffentliche Profilbenutzernamen", + "benefit-email-verification": "E-Mail-basierte Verifizierung zur Bestätigung der Unterzeichneridentität erzwingen", + "benefit-embedded-signing": "Eingebettetes Signieren", + "benefit-everything-professional": "Alles in OpenSign™ Professional", + "benefit-teams-organizations": "Teams und Organisationen", + "benefit-share-templates-teams": "Vorlagen mit Teams teilen", + "benefit-share-templates-individuals": "Vorlagen mit Einzelpersonen teilen", + "benefit-byoc": "BYOC - Dokumente in Ihrem eigenen Cloud-Speicher aufbewahren", + "benefit-doc-id-removal": "DocumentId-Entfernung aus signierten Dokumenten", + "benefit-request-payments": "Zahlungen anfordern (demnächst)", + "benefit-mobile-app": "Mobile App (demnächst)", + "benefit-api-signatures-500": "bis zu 500 API-Signaturen", + "benefit-bulk-send-500": "Massenversand (bis zu 500 Dokumente)", + "benefit-all-features": "Alle Funktionen", + "benefit-custom-domain": "Benutzerdefinierte Domain", + "benefit-custom-branding": "Benutzerdefiniertes Branding", + "benefit-uptime-sla": "Uptime SLA", + "benefit-sso-support": "SSO-Unterstützung", + "benefit-priority-support": "Prioritätssupport", + "benefit-3-users-1500-credits": "Enthält 3 Benutzer und 1500 Premium-Credits", + "benefit-public-links": "Öffentliche Links", + "benefit-kiosk-mode": "Kiosk-Modus", + "benefit-bulk-send-1500": "Massenversand (bis zu 1500 Dokumente)", + "benefit-connect-gmail-smtp": "Eigenes Gmail- oder SMTP-Konto verbinden", + "benefit-analytics": "Analysen", + "benefit-bulksend-api-pro-month-help": "Dieser Plan enthält 100 Premium-Credits pro Monat, mit denen Sie Dokumente per API versenden, öffentliche Signierlinks teilen, Massen-Signaturanfragen ausführen, den Kiosk-Modus für Vor-Ort-Unterschriften nutzen oder Signaturen aus direkt auf Ihrer Website eingebetteten Dokumenten sammeln können. Jedes Mal, wenn Sie ein Dokument initiieren oder versenden, wird ein Credit verwendet — und dieses einzelne Dokument kann bis zu 10 Unterzeichner enthalten.", + "benefit-bulksend-api-pro-year-help": "Dieser Plan enthält 240 Premium-Credits pro Jahr, mit denen Sie Dokumente per API versenden, öffentliche Signierlinks teilen, Massen-Signaturanfragen ausführen, den Kiosk-Modus für Vor-Ort-Unterschriften nutzen oder Signaturen aus direkt auf Ihrer Website eingebetteten Dokumenten sammeln können. Jedes Mal, wenn Sie ein Dokument initiieren oder versenden, wird ein Credit verwendet — und dieses einzelne Dokument kann bis zu 10 Unterzeichner enthalten.", + "benefit-bulksend-api-team-month-help": "Dieser Plan enthält 100 Premium-Credits pro Monat, mit denen Sie Dokumente per API versenden, öffentliche Signierlinks teilen, Massen-Signaturanfragen ausführen, den Kiosk-Modus für Vor-Ort-Unterschriften nutzen oder Signaturen aus direkt auf Ihrer Website eingebetteten Dokumenten sammeln können. Jedes Mal, wenn Sie ein Dokument initiieren oder versenden, wird ein Credit verwendet — und dieses einzelne Dokument kann bis zu 10 Unterzeichner enthalten.", + "benefit-bulksend-api-team-year-help": "Dieser Plan enthält 500 Premium-Credits pro Jahr, mit denen Sie Dokumente per API versenden, öffentliche Signierlinks teilen, Massen-Signaturanfragen ausführen, den Kiosk-Modus für Vor-Ort-Unterschriften nutzen oder Signaturen aus direkt auf Ihrer Website eingebetteten Dokumenten sammeln können. Jedes Mal, wenn Sie ein Dokument initiieren oder versenden, wird ein Credit verwendet — und dieses einzelne Dokument kann bis zu 10 Unterzeichner enthalten.", + "failed-pdf-for-prefill-processing": "PDF für die Vorbefüllung konnte nicht geladen werden.", + "attach-all-role-to-signer": "Bitte weisen Sie dem Unterzeichner alle Rollen zu.", + "upgrade-to-edit": "Zum Bearbeiten upgraden", + "hide-live-chat-for-signers": "Live-Chat für Unterzeichner ausblenden", + "hide-live-chat-for-signers-help": "Wenn aktiviert, werden Live-Chat-Widgets für Unterzeichner auf Signierseiten ausgeblendet." +} diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 5553f6a333..e6d940f8ed 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -237,6 +237,8 @@ "p3": "Selecting this option will send the signing links to all signers simultaneously. Every signer can sign the document at their convenience, regardless of whether other signers have completed their signatures. This method is faster but does not enforce any signing order among the participants.", "p4": "Select the option that best suits the needs of your document processing." }, + "strict-order": "Enforce strict order", + "strict-order-help": "When enabled, no signer can sign or approve until every previous signer/approver has completed their action.", "no": "No", "auto-reminder": "Auto reminder", "remind-once": " Remind once in every (Days)", @@ -260,6 +262,7 @@ "signers": "Signers", "signers-help": "Begin typing a contact's name to see suggested signers from your saved contacts or add new ones. Arrange the signing order by adding signers in the desired sequence. Use the '+' button to include signers and the 'x' to remove them. Each signer will receive an email prompt to sign the document in the order listed.", "bcc-help": "Start typing a contact's name to see suggestions from your saved contacts or add new ones. Use the '+' button to add a user and the 'x' to remove them. The selected user's email will be added as a Bcc (blind carbon copy). Each user will receive an email notification once the document is completed.", + "cc-help": "Start typing a contact's name to see suggestions from your saved contacts or add new ones. Use the '+' button to add a user and the 'x' to remove them. The selected user's email will be added as a cc (carbon copy). Each user will receive an email notification once the document is completed.", "add-signer": "Add Signer", "contact-not-found": "Contact not found", "add-yourself": "Add yourself", @@ -287,7 +290,7 @@ "add-webhook": "Add webhook", "webhook-added": "Webhook added successfully.", "team-disabled": "Team disabled", - "Team enabled": "Team enabled", + "team-enabled": "Team enabled", "are-you-sure": "Are you sure you want to", "disable": "disable", "enable": "enable", @@ -312,6 +315,31 @@ "user-activated": "User activated.", "public": "Public", "download": "Download", + "sign-offline": "Sign Offline", + "sign-offline-instructions": "Download the document, sign it using any external tool, then upload the signed copy here. The document owner will review your submission and either approve or reject it.", + "sign-offline-step-1": "Download the unsigned PDF.", + "sign-offline-step-2": "Sign the PDF using your preferred tool.", + "sign-offline-step-3": "Upload the signed PDF for owner approval.", + "sign-offline-upload-hint": "Select the signed PDF to submit for approval.", + "sign-offline-submitted-title": "Submitted for approval", + "sign-offline-submitted-body": "The document owner has been notified by email to review your offline-signed copy.", + "offline-already-submitted-title": "Document submitted offline", + "offline-already-submitted-body": "You have already submitted this document for offline signature review. The document owner will be notified once it is approved or rejected.", + "offline-action-approve-title": "Approve offline signature", + "offline-action-approve-confirm": "Approve", + "offline-action-reject-title": "Reject offline signature", + "offline-action-reject-hint": "Optionally provide a reason. The signer will be notified by email.", + "offline-action-reject-reason-placeholder": "Reason (optional)", + "offline-action-reject-confirm": "Confirm rejection", + "offline-action-review-title": "Review offline signature", + "offline-action-review-hint": "Preview the signed PDF uploaded by the signer, then approve or reject it. No action is taken until you confirm.", + "offline-action-submitted-at": "Submitted", + "offline-action-no-preview": "No preview available for this submission.", + "offline-action-open-in-new-tab": "Open PDF in new tab", + "offline-action-invalid-link": "This review link is invalid or has expired.", + "offline-action-success": "Action completed.", + "reject": "Reject", + "document": "Document", "view": "View", "make-template-public": "Make template public", "make-template-private": "Make template private", @@ -405,6 +433,14 @@ "certificate": "Certificate", "decline": "Decline", "finish": "Finish", + "approve": "Approve", + "approve-mssg": " Are you sure you want to approve the document ?", + "signer-role-label": "Recipient role", + "signer-role-signer": "Signer", + "signer-role-viewer": "Viewer", + "signer-role-approver": "Approver", + "signer-role-hint": "Signer must sign. Approver approves without signing. Viewer only views.", + "signer-role-upgrade-msg": "Viewer and Approver roles are available on paid plans only. Upgrade your plan to assign these roles to recipients.", "done": "Done", "mail": "Mail", "sign-now": "Sign now", @@ -543,6 +579,7 @@ "sign-url": "Sign url", "mails-sent": "Mails Sent", "mail-not-delivered": "Mail not delivered", + "email-not-verified-head": "Email not verified", "document-alert": "Document alert", "owner-subscription-expired": "Owner's subscription has expired.", "subscription-expired": "Subscription Expired", @@ -618,6 +655,9 @@ "document-signed-alert-7": "This Document is no longer available.", "document-signed-alert-8": "The document has already been dispatched for signing.", "yet-to-sign": "Yet to sign", + "viewers": "Viewers", + "viewer-no-widgets": "Viewers receive a read-only copy of the document and cannot have widgets assigned.", + "viewer-confirm-widget-removal": "Switching this recipient to Viewer will remove all widgets already assigned to them. Continue?", "validation-alert-1": "The input does not meet the criteria set by the regular expression.", "account-already-exists": "Account already exists!", "choose-password": "Choose password", @@ -768,6 +808,13 @@ "p3": "Selecting this option will disable OTP verification, allowing users to sign the document directly without additional steps.", "p4": "Please choose the option that best suits your document signing requirements." }, + "allow-offline-sign": "Allow offline signing", + "allow-offline-sign-help": { + "p1": "Choose whether signers can submit a copy of this document signed using an external tool for owner review.", + "p2": "Signers will see a Sign Offline option and can upload an externally signed PDF for the document owner to approve.", + "p3": "Signers can only sign within the app. The Sign Offline option will be hidden.", + "p4": "This setting defaults to your account preference under Preferences and is available on paid plans." + }, "advanced-options": "Advanced options", "hide-advanced-options": "Hide advanced options", "download-files": "Download files", @@ -830,6 +877,7 @@ "delete-folder-alert-1": "Unable to delete: The folder must be empty.", "defaultSign-alert": "{{widgetsType}} widgets are not available for auto sign.", "embed-heading": "Embed {{appName}} Templates", + "other-apps-by-opensign": "Other apps by OpenSign team", "public-template-edit-title": "Edit Public Template", "public-template-edit-mssg": "You cannot edit a public template directly. To make changes, the template will be set to private, and you'll need to make it public again afterward. Do you want to continue?", "agree-p1": "I confirm that I have read and understood the ", @@ -900,6 +948,7 @@ "p3": "Selecting this option restricts signers from making any additions to the document during the signing process." }, "signature-setting": "Signature settings", + "rotation": "Rotation", "activation-key": "Activation key", "paid-selfhost-help": "Please contact to {{appName}} for more info at ", "remaining-credits-selfhost-help": "Use premium credits for API document signing, bulk sending {{appName}} integration on your website. You have {{allowedcredits}} included credits and {{addoncredits}} additional purchased credits remaining.", @@ -928,6 +977,8 @@ "visit-below-link": "Visit below link to know more -", "storage-help": "Enabling BYOC lets you connect your own S3 storage so your files remain entirely under your control—no external copies retained. If data autonomy matters to you, consider upgrading to Teams to unlock this feature.", "daily-quota-reached": "You've reached your daily quota. For assistance, please contact quotas@opensignlabs.com.", + "email-not-verified-send": "Please verify your email address before sending emails. Go to your <1>profile settings to complete email verification.", + "email-not-verified-send-plain": "Please verify your email address before sending emails. Go to your profile settings to complete email verification.", "enabled-signature-type": "Enabled Signature Types", "enabled-signature-type-help": "The 'Enabled Signature Types' setting determines which signature options are available across your organization. For example, if you disable the 'Draw' option, members of your organization will not see it in the signature widget, while the other three options will remain accessible.", "indexing-public-profile": "Allow indexing of public profile by search engines", @@ -955,6 +1006,7 @@ "please-provide-templateid": "Please provide templateid", "this-template-is-not-public": "This template is not public", "invalid-templateid": "Invalid templateid", + "kiosk-no-active-role": "This template has no signer or approver roles available for kiosk signing.", "contact-billing-at-opensign": "To add more seats, please contact OpenSign™ at <1>billing@opensignlabs.com for assistance", "title-length-alert": "Title must be at most 250 characters long.", "note-length-alert": "Note must be at most 200 characters long.", @@ -1289,6 +1341,8 @@ "disable-individual-user-smtp": "Disable individual user smtp settings", "enable-individual-user-smtp": "Enable individual user smtp settings", "user-smtp-general-help": "When disabled, users will not be able to configure their own SMTP settings. All emails will use the global SMTP configuration instead.", + "hide-live-chat-for-signers": "Hide live chat widget for signers", + "hide-live-chat-for-signers-help": "When enabled, the live chat widget will be hidden on all signing pages. A window variable 'opensign_hide_chat' is set to true, which can be used as a GTM trigger condition to prevent loading the widget for signers.", "global-smtp-settings": "Global SMTP Settings", "global-smtp-settings-help-p1": "These settings apply globally across your entire {{appName}} account. If an individual user has not configured their own email delivery settings, the system will automatically use the Global SMTP Settings defined here.", "global-smtp-settings-help-p2": "To ensure better inbox deliverability for all signature request emails, you can connect your preferred email provider. Choose one of the following options:", @@ -1303,7 +1357,7 @@ "signer-form-data-for": "Signer Form data for: {{signerName}} <{{signerEmail}}>", "widget-name": "Widget Name", "widget-responses": "Widget Responses", - "formdata-download-note": "Note: Signatures, stamps, initials and images wont be exported.", + "formdata-download-note": "Note: Signatures, stamps, initials and images wont be exported. Offline signers’ data will not be available.", "export-all-formdata-error": "You can/t export form data because the template contains duplicate widget names. Please create a fresh template to be able to export form data.", "export-formdata-error": "You can't export form data because the document contains duplicate widget names. Please create a fresh document without duplicate widget names to be able to export form data.", "duplicate-widget-name-error": "This widget name is already assigned to another signer. Please choose a different name.", @@ -1416,5 +1470,93 @@ "switch-to-advanced": "Switch to advanced", "switch-to-basic": "Switch to basic", "use-name-as-sender": "Use profile name as sender", - "use-name-as-sender-help": "When enabled, {{appName}} uses your profile name as sender for signature request and completion mail." + "use-name-as-sender-help": "When enabled, {{appName}} uses your profile name as sender for signature request and completion mail.", + "acro-fields-detected": "Form Fields Detected", + "acro-fields-detected-msg": "We detected {{count}} form field(s) in the uploaded PDF. Would you like to automatically insert corresponding widgets?", + "documents-count": "Documents count", + "templates-count": "Templates count", + "emails-sent": "Emails sent", + "storage-used": "Storage used", + "docs-count-team-help": "Total number of documents created by all users in your organizations.", + "docs-count-help": "Total number of documents created by you.", + "templates-count-team-help": "Total number of templates created by all users in your organizations.", + "templates-count-help": "Total number of templates created by you.", + "emails-sent-team-help": "Total number of email notifications sent across your organizations.", + "emails-sent-help": "Total number of email notifications sent by you.", + "storage-used-team-help": "Total storage space consumed by all users across your organizations.", + "storage-used-help": "Total storage space consumed by you.", + "cloud": "Cloud", + "on-premises": "On-premises", + "plan-name-free": "OPENSIGN™ FREE", + "plan-name-professional": "OPENSIGN™ PROFESSIONAL", + "plan-name-teams": "OPENSIGN™ TEAMS", + "plan-name-enterprise": "OPENSIGN™ ENTERPRISE", + "plan-name-self-hosted": "OPENSIGN™ SELF-HOSTED", + "plan-subtitle-free": "Free Unlimited E-signatures, Forever.", + "plan-subtitle-professional": "Exclusive Access to advanced features.", + "plan-subtitle-scalable": "Scalable Features with priority support.", + "subscribe": "Subscribe", + "contact-us": "Contact us", + "benefit-unlimited-digital-signatures": "Unlimited digital signatures", + "benefit-sign-docs-yourself": "Sign documents yourself", + "benefit-request-signatures": "Request signatures from others", + "benefit-unlimited-templates": "Unlimited templates", + "benefit-14-field-types": "14 field types", + "benefit-automatic-e-signatures": "Automatic e-signatures", + "benefit-completion-certificates": "Completion certificates", + "benefit-send-in-order": "Send in order", + "benefit-organize-docs": "Organize docs in OpenSign™ Drive", + "benefit-document-templates": "Document templates", + "benefit-import-from-dropbox": "Import from Dropbox", + "benefit-contact-book": "Contact book", + "benefit-document-expiry": "Document expiry support", + "benefit-decline-document": "Decline document support", + "benefit-email-notifications": "Email notifications", + "benefit-public-profiles": "Public profiles", + "benefit-and-much-more": "And much more", + "benefit-everything-free": "Everything in OpenSign™ free", + "benefit-field-validations": "Field validations", + "benefit-regex-validations": "Regular expression validations", + "benefit-webhooks": "Webhooks", + "benefit-zapier": "Zapier integration", + "benefit-api-access": "API Access", + "benefit-api-signatures-100": "upto 100 API signatures", + "benefit-api-signatures-240": "upto 240 API signatures", + "benefit-custom-email-templates": "Custom email templates", + "benefit-custom-smtp": "Connect your own Gmail or SMTP account for sending emails", + "benefit-auto-reminders": "Auto reminders", + "benefit-bulk-send-100": "Bulk send (upto 100 docs)", + "benefit-bulk-send-240": "Bulk send (upto 240 docs)", + "benefit-premium-profiles": "Premium Public profile usernames", + "benefit-email-verification": "Enforce email-based verification to confirm signer identity", + "benefit-embedded-signing": "Embedded signing", + "benefit-everything-professional": "Everything in OpenSign™ professional", + "benefit-teams-organizations": "Teams and Organizations", + "benefit-share-templates-teams": "Share Templates with teams", + "benefit-share-templates-individuals": "Share Templates with individuals", + "benefit-byoc": "BYOC - Store your documents in your own cloud storage", + "benefit-doc-id-removal": "DocumentId removal from signed docs", + "benefit-request-payments": "Request Payments (coming soon)", + "benefit-mobile-app": "Mobile app (coming soon)", + "benefit-api-signatures-500": "upto 500 API signatures", + "benefit-bulk-send-500": "Bulk send (upto 500 docs)", + "benefit-all-features": "All features", + "benefit-custom-domain": "Custom domain", + "benefit-custom-branding": "Custom branding", + "benefit-uptime-sla": "Uptime SLA", + "benefit-sso-support": "SSO support", + "benefit-priority-support": "Priority support", + "benefit-3-users-1500-credits": "Includes 3 users and 1500 Premium Credit", + "benefit-public-links": "Public links", + "benefit-kiosk-mode": "Kiosk Mode", + "benefit-bulk-send-1500": "Bulk send (upto 1500 docs)", + "benefit-connect-gmail-smtp": "Connect your own Gmail or SMTP", + "benefit-analytics": "Analytics", + "benefit-bulksend-api-pro-month-help": "This plan comes with 100 premium credits per month that let you send documents via API, share public signing links, run bulk signature requests, use Kiosk mode for in-person signing, or collect signatures from documents embedded directly on your website. Each time you initiate or send a document, one credit is used — and that single document can include up to 10 signers.", + "benefit-bulksend-api-pro-year-help": "This plan comes with 240 premium credits per year that let you send documents via API, share public signing links, run bulk signature requests, use Kiosk mode for in-person signing, or collect signatures from documents embedded directly on your website. Each time you initiate or send a document, one credit is used — and that single document can include up to 10 signers.", + "benefit-bulksend-api-team-month-help": "This plan comes with 100 premium credits per month that let you send documents via API, share public signing links, run bulk signature requests, use Kiosk mode for in-person signing, or collect signatures from documents embedded directly on your website. Each time you initiate or send a document, one credit is used — and that single document can include up to 10 signers.", + "benefit-bulksend-api-team-year-help": "This plan comes with 500 premium credits per year that let you send documents via API, share public signing links, run bulk signature requests, use Kiosk mode for in-person signing, or collect signatures from documents embedded directly on your website. Each time you initiate or send a document, one credit is used — and that single document can include up to 10 signers.", + "failed-pdf-for-prefill-processing": "Failed to load PDF for prefill processing.", + "attach-all-role-to-signer": "Please attach all roles to the signer.", + "upgrade-to-edit": "Upgrade to edit" } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 2d7fd544de..80a098c4cc 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -237,6 +237,8 @@ "p3": "Seleccionando esta opción se enviarán los enlaces para la firma a todos los firmantes simultáneamente. Cada firmante puede firmar el documento cuando le convenga, independientemente de si otros firmantes han completado sus firmas. Este método es más rápido, pero no impone ningún orden de firma entre los participantes.", "p4": "Selecciona la opción que mejor se adapte a las necesidades de tu tramitación de documentos." }, + "strict-order": "Forzar orden estricto", + "strict-order-help": "Cuando está habilitado, ningún firmante puede firmar o aprobar hasta que todos los firmantes/aprobadores anteriores hayan completado su acción.", "no": "No", "auto-reminder": "Recordatorio automático", "remind-once": " Recordar una vez cada (Días)", @@ -260,6 +262,7 @@ "signers": "Firmantes", "signers-help": "Empieza a escribir el nombre de un contacto para ver los firmantes sugeridos entre tus contactos guardados o añade otros nuevos. Organiza el orden de firma añadiendo firmantes en la secuencia deseada. Utiliza el botón «+» para añadir nuevos firmantes y la «X» para quitar todos. Cada firmante recibirá una solicitud por correo electrónico para que firme el documento según el orden indicado.", "bcc-help": "Empieza a escribir el nombre de un contacto para ver sugerencias de tus contactos guardados o agregar nuevos. Usa el botón '+' para añadir un usuario y el botón 'x' para eliminarlo. El correo electrónico del usuario seleccionado se añadirá como Bcc (copia oculta). Cada usuario recibirá una notificación por correo electrónico una vez que el documento esté completado.", + "cc-help": "Empieza a escribir el nombre de un contacto para ver sugerencias de tus contactos guardados o añadir nuevos. Usa el botón '+' para agregar un usuario y la 'x' para eliminarlo. El correo del usuario seleccionado se añadirá como CC (copia). Cada usuario recibirá una notificación por correo una vez que el documento se complete.", "add-signer": "Añadir firmante", "contact-not-found": "Contacto no encontrado", "add-yourself": "Añadirte a ti mismo", @@ -287,7 +290,7 @@ "add-webhook": "Agregar webhook", "webhook-added": "Webhook agregado exitosamente.", "team-disabled": "Equipo deshabilitado", - "Team enabled": "Equipo habilitado", + "team-enabled": "Equipo habilitado", "are-you-sure": "¿En definitiva quieres ", "disable": "deshabilitar", "enable": "habilitar", @@ -312,6 +315,31 @@ "user-activated": "Usuario activado.", "public": "Público", "download": "Descargar", + "sign-offline": "Firmar sin conexión", + "sign-offline-instructions": "Descargue el documento, fírmelo con una herramienta externa y luego suba la copia firmada aquí. El propietario del documento revisará su envío y lo aprobará o rechazará.", + "sign-offline-step-1": "Descargar el PDF sin firmar.", + "sign-offline-step-2": "Firmar el PDF con su herramienta preferida.", + "sign-offline-step-3": "Subir el PDF firmado para aprobación del propietario.", + "sign-offline-upload-hint": "Seleccione el PDF firmado para enviarlo para su aprobación.", + "sign-offline-submitted-title": "Enviado para aprobación", + "sign-offline-submitted-body": "El propietario del documento ha sido notificado por correo electrónico para revisar su copia firmada sin conexión.", + "offline-already-submitted-title": "Documento enviado sin conexión", + "offline-already-submitted-body": "Ya ha enviado este documento para la revisión de la firma sin conexión. Se le notificará una vez que sea aprobado o rechazado.", + "offline-action-approve-title": "Aprobar firma sin conexión", + "offline-action-approve-confirm": "Aprobar", + "offline-action-reject-title": "Rechazar firma sin conexión", + "offline-action-reject-hint": "Opcionalmente, proporcione un motivo. El firmante será notificado por correo electrónico.", + "offline-action-reject-reason-placeholder": "Motivo (opcional)", + "offline-action-reject-confirm": "Confirmar rechazo", + "offline-action-review-title": "Revisar firma sin conexión", + "offline-action-review-hint": "Previsualice el PDF firmado subido por el firmante y luego apruébelo o recházelo. No se realiza ninguna acción hasta que confirme.", + "offline-action-submitted-at": "Enviado", + "offline-action-no-preview": "No hay vista previa disponible para este envío.", + "offline-action-open-in-new-tab": "Abrir PDF en nueva pestaña", + "offline-action-invalid-link": "Este enlace de revisión no es válido o ha expirado.", + "offline-action-success": "Acción completada.", + "reject": "Rechazar", + "document": "Documento", "view": "Ver", "make-template-public": "Convertir la plantilla en pública", "make-template-private": "Convertir la plantilla en privada", @@ -405,6 +433,14 @@ "certificate": "Certificado", "decline": "Rechazar", "finish": "Finalizar", + "approve": "Aprobar", + "approve-mssg": " ¿Está seguro de que desea aprobar el documento?", + "signer-role-label": "Rol del destinatario", + "signer-role-signer": "Firmante", + "signer-role-viewer": "Visualizador", + "signer-role-approver": "Aprobador", + "signer-role-hint": "El firmante debe firmar. El aprobador aprueba sin firmar. El visualizador solo visualiza.", + "signer-role-upgrade-msg": "Los roles de Visualizador y Aprobador solo están disponibles en los planes de pago. Actualice su plan para asignar estos roles a los destinatarios.", "done": "Hecho", "mail": "Correo", "sign-now": "Firmar ahora", @@ -543,6 +579,7 @@ "sign-url": "URL de firma", "mails-sent": "Correos enviados", "mail-not-delivered": "correo no entregado", + "email-not-verified-head": "Correo no verificado", "document-alert": "Alerta de documento", "owner-subscription-expired": "La suscripción del propietario ha expirado.", "owner-doesnt-have-paid-plan": "El propietario no tiene un plan de pago.", @@ -618,6 +655,9 @@ "document-signed-alert-7": "Este documento ya no está disponible.", "document-signed-alert-8": "Este documento ya ha sido enviado para ser firmado.", "yet-to-sign": "Todavía por firmar", + "viewers": "Visualizadores", + "viewer-no-widgets": "Los visualizadores reciben una copia de solo lectura del documento y no pueden tener widgets asignados.", + "viewer-confirm-widget-removal": "Al cambiar este destinatario a Visualizador se eliminarán todos los widgets ya asignados. ¿Continuar?", "validation-alert-1": "Los datos ingresados no cumplen con los criterios establecidos por la expresión regular.", "account-already-exists": "¡La cuenta ya existe!", "choose-password": "Elegir contraseña", @@ -768,6 +808,13 @@ "p3": "Seleccionar esta opción deshabilitará la verificación con OTP, lo cual permitirá a los usuarios firmar el documento directamente sin pasos adicionales.", "p4": "Por favor, selecciona la opción que mejor se adapte a tus requisitos para la firma de documentos." }, + "allow-offline-sign": "Permitir firma sin conexión", + "allow-offline-sign-help": { + "p1": "Decide si los firmantes pueden enviar una copia de este documento firmada con una herramienta externa para que el propietario la revise.", + "p2": "Los firmantes verán una opción Firmar sin conexión y podrán subir un PDF firmado externamente para su aprobación.", + "p3": "Los firmantes solo podrán firmar dentro de la aplicación. La opción Firmar sin conexión se ocultará.", + "p4": "Esta configuración usa por defecto tu preferencia de cuenta y está disponible en planes de pago." + }, "advanced-options": "Opciones avanzadas", "hide-advanced-options": "Ocultar las opciones avanzadas", "download-files": "Descargar archivos", @@ -830,6 +877,7 @@ "delete-folder-alert-1": "No se puede eliminar: la carpeta debe estar vacía", "defaultSign-alert": "Los widgets {{widgetsType}} no están disponibles para la firma automática", "embed-heading": "Incrustar plantillas de {{appName}}", + "other-apps-by-opensign": "Otras aplicaciones del equipo de OpenSign", "public-template-edit-title": "Editar plantilla pública", "public-template-edit-mssg": "No puede editar una plantilla pública directamente. Para realizar cambios, la plantilla se configurará como privada y luego tendrás que volver a hacerla pública. ¿Quieres continuar?", "agree-p1": "Confirmo que he leído y comprendido el ", @@ -894,6 +942,7 @@ "p3": "Seleccionar esta opción restringe a los firmantes de realizar cualquier adición al documento durante el proceso de firma." }, "signature-setting": "Configuración de firmas", + "rotation": "Rotación", "signyour-self-button": "Utilice este formulario para crear plantillas reutilizables para sus documentos.", "requestsign-button": "Utilice esta opción para solicitar firmas de otras personas y de usted mismo en conjunto.", "signyour-self-description": "Utilice este formulario para firmar el documento usted mismo sin agregar otros.", @@ -928,6 +977,8 @@ "visit-below-link": "Visita el siguiente enlace para saber más -", "storage-help": "Habilitar BYOC te permite conectar tu propio almacenamiento S3 para que tus archivos permanezcan completamente bajo tu control, sin copias externas retenidas. Si la autonomía de los datos es importante para ti, considera actualizar a Teams para desbloquear esta función.", "daily-quota-reached": "Ha alcanzado su cuota diaria. Para obtener ayuda, comuníquese con quotas@opensignlabs.com.", + "email-not-verified-send": "Por favor, verifica tu dirección de correo antes de enviar correos. Ve a tu <1>configuración de perfil para completar la verificación del correo.", + "email-not-verified-send-plain": "Por favor, verifica tu dirección de correo antes de enviar correos. Ve a la configuración de tu perfil para completar la verificación del correo.", "enabled-signature-type": "Tipos de firma habilitados", "enabled-signature-type-help": "La configuración de 'Tipos de firma habilitados' determina qué opciones de firma están disponibles en su organización. Por ejemplo, si desactiva la opción 'Dibujar', los miembros de su organización no la verán en el widget de firma, mientras que las otras tres opciones seguirán siendo accesibles.", "indexing-public-profile": "Permitir la indexación del perfil público por los motores de búsqueda", @@ -955,6 +1006,7 @@ "please-provide-templateid": "Por favor, proporcione templateid", "this-template-is-not-public": "Esta template no es pública", "invalid-templateid": "templateid no válida", + "kiosk-no-active-role": "Esta plantilla no tiene roles de firmante o aprobador disponibles para la firma en modo kiosko.", "contact-billing-at-opensign": "Para agregar más asientos, comuníquese con OpenSign™ a <1>billing@opensignlabs.com para obtener ayuda.", "title-length-alert": "El título debe tener como máximo 250 caracteres.", "note-length-alert": "La nota debe tener como máximo 200 caracteres.", @@ -1303,7 +1355,7 @@ "signer-form-data-for": "Datos del formulario para el firmante: {{signerName}} <{{signerEmail}}>", "widget-name": "Nombre del widget", "widget-responses": "Respuestas del widget", - "formdata-download-note": "Nota: Las firmas, sellos, iniciales e imágenes no se exportarán.", + "formdata-download-note": "Nota: Las firmas, sellos, iniciales e imágenes no se exportarán. Los datos de los firmantes sin conexión no estarán disponibles.", "export-all-formdata-error": "No puede exportar los datos del formulario porque la plantilla contiene nombres de widgets duplicados. Cree una nueva plantilla para poder exportar los datos.", "export-formdata-error": "No puede exportar los datos del formulario porque el documento contiene nombres de widgets duplicados. Cree un documento nuevo sin nombres duplicados para poder exportar los datos.", "duplicate-widget-name-error": "Este nombre de widget ya está asignado a otro firmante. Por favor elija un nombre diferente.", @@ -1416,5 +1468,95 @@ "switch-to-advanced": "Cambiar a avanzado", "switch-to-basic": "Cambiar a básico", "use-name-as-sender": "Usar el nombre del perfil como remitente", - "use-name-as-sender-help": "Cuando está activado, {{appName}} usa el nombre de tu perfil como remitente para las solicitudes de firma y el correo de finalización." -} \ No newline at end of file + "use-name-as-sender-help": "Cuando está activado, {{appName}} usa el nombre de tu perfil como remitente para las solicitudes de firma y el correo de finalización.", + "acro-fields-detected": "Campos de formulario detectados", + "acro-fields-detected-msg": "Se detectaron {{count}} campo(s) de formulario en el PDF cargado. ¿Desea insertar automáticamente los widgets correspondientes?", + "documents-count": "Cantidad de documentos", + "templates-count": "Cantidad de plantillas", + "emails-sent": "Correos enviados", + "storage-used": "Almacenamiento usado", + "docs-count-team-help": "Número total de documentos creados por todos los usuarios en tus organizaciones.", + "docs-count-help": "Número total de documentos creados por ti.", + "templates-count-team-help": "Número total de plantillas creadas por todos los usuarios en tus organizaciones.", + "templates-count-help": "Número total de plantillas creadas por ti.", + "emails-sent-team-help": "Número total de notificaciones por correo enviadas en tus organizaciones.", + "emails-sent-help": "Número total de notificaciones por correo enviadas por ti.", + "storage-used-team-help": "Espacio total de almacenamiento consumido por todos los usuarios en tus organizaciones.", + "storage-used-help": "Espacio total de almacenamiento consumido por ti.", + "cloud": "Nube", + "on-premises": "En las instalaciones", + "plan-name-free": "OPENSIGN™ FREE", + "plan-name-professional": "OPENSIGN™ PROFESSIONAL", + "plan-name-teams": "OPENSIGN™ TEAMS", + "plan-name-enterprise": "OPENSIGN™ ENTERPRISE", + "plan-name-self-hosted": "OPENSIGN™ SELF-HOSTED", + "plan-subtitle-free": "Firmas electrónicas ilimitadas gratuitas, para siempre.", + "plan-subtitle-professional": "Acceso exclusivo a funciones avanzadas.", + "plan-subtitle-scalable": "Funciones escalables con soporte prioritario.", + "subscribe": "Suscribirse", + "contact-us": "Contáctenos", + "benefit-unlimited-digital-signatures": "Firmas digitales ilimitadas", + "benefit-sign-docs-yourself": "Firmar documentos usted mismo", + "benefit-request-signatures": "Solicitar firmas de otros", + "benefit-unlimited-templates": "Plantillas ilimitadas", + "benefit-14-field-types": "14 tipos de campo", + "benefit-automatic-e-signatures": "Firmas electrónicas automáticas", + "benefit-completion-certificates": "Certificados de finalización", + "benefit-send-in-order": "Enviar en orden", + "benefit-organize-docs": "Organizar documentos en OpenSign™ Drive", + "benefit-document-templates": "Plantillas de documentos", + "benefit-import-from-dropbox": "Importar desde Dropbox", + "benefit-contact-book": "Libreta de contactos", + "benefit-document-expiry": "Compatibilidad con vencimiento de documentos", + "benefit-decline-document": "Compatibilidad con rechazo de documentos", + "benefit-email-notifications": "Notificaciones por correo electrónico", + "benefit-public-profiles": "Perfiles públicos", + "benefit-and-much-more": "Y mucho más", + "benefit-everything-free": "Todo en OpenSign™ Free", + "benefit-field-validations": "Validaciones de campo", + "benefit-regex-validations": "Validaciones de expresiones regulares", + "benefit-webhooks": "Webhooks", + "benefit-zapier": "Integración con Zapier", + "benefit-api-access": "Acceso a API", + "benefit-api-signatures-100": "hasta 100 firmas de API", + "benefit-api-signatures-240": "hasta 240 firmas de API", + "benefit-custom-email-templates": "Plantillas de correo electrónico personalizadas", + "benefit-custom-smtp": "Conecte su propia cuenta de Gmail o SMTP para enviar correos", + "benefit-auto-reminders": "Recordatorios automáticos", + "benefit-bulk-send-100": "Envío masivo (hasta 100 documentos)", + "benefit-bulk-send-240": "Envío masivo (hasta 240 documentos)", + "benefit-premium-profiles": "Nombres de usuario de perfil público premium", + "benefit-email-verification": "Aplicar verificación basada en correo electrónico para confirmar la identidad del firmante", + "benefit-embedded-signing": "Firma incrustada", + "benefit-everything-professional": "Todo en OpenSign™ Professional", + "benefit-teams-organizations": "Equipos y Organizaciones", + "benefit-share-templates-teams": "Compartir plantillas con equipos", + "benefit-share-templates-individuals": "Compartir plantillas con individuos", + "benefit-byoc": "BYOC - Almacena tus documentos en tu propio almacenamiento en la nube", + "benefit-doc-id-removal": "Eliminación de DocumentId de documentos firmados", + "benefit-request-payments": "Solicitar pagos (próximamente)", + "benefit-mobile-app": "Aplicación móvil (próximamente)", + "benefit-api-signatures-500": "hasta 500 firmas de API", + "benefit-bulk-send-500": "Envío masivo (hasta 500 documentos)", + "benefit-all-features": "Todas las funciones", + "benefit-custom-domain": "Dominio personalizado", + "benefit-custom-branding": "Marca personalizada", + "benefit-uptime-sla": "SLA de tiempo de actividad", + "benefit-sso-support": "Soporte SSO", + "benefit-priority-support": "Soporte prioritario", + "benefit-3-users-1500-credits": "Incluye 3 usuarios y 1500 créditos premium", + "benefit-public-links": "Enlaces públicos", + "benefit-kiosk-mode": "Modo quiosco", + "benefit-bulk-send-1500": "Envío masivo (hasta 1500 documentos)", + "benefit-connect-gmail-smtp": "Conecte su propio Gmail o SMTP", + "benefit-analytics": "Análisis", + "benefit-bulksend-api-pro-month-help": "Este plan incluye 100 créditos premium al mes que te permiten enviar documentos mediante la API, compartir enlaces públicos de firma, ejecutar solicitudes de firma masiva, usar el modo Kiosco para firmas presenciales o recopilar firmas de documentos incrustados directamente en tu sitio web. Cada vez que inicias o envías un documento, se usa un crédito — y ese mismo documento puede incluir hasta 10 firmantes.", + "benefit-bulksend-api-pro-year-help": "Este plan incluye 240 créditos premium al año que te permiten enviar documentos mediante la API, compartir enlaces públicos de firma, ejecutar solicitudes de firma masiva, usar el modo Kiosco para firmas presenciales o recopilar firmas de documentos incrustados directamente en tu sitio web. Cada vez que inicias o envías un documento, se usa un crédito — y ese mismo documento puede incluir hasta 10 firmantes.", + "benefit-bulksend-api-team-month-help": "Este plan incluye 100 créditos premium al mes que te permiten enviar documentos mediante la API, compartir enlaces públicos de firma, ejecutar solicitudes de firma masiva, usar el modo Kiosco para firmas presenciales o recopilar firmas de documentos incrustados directamente en tu sitio web. Cada vez que inicias o envías un documento, se usa un crédito — y ese mismo documento puede incluir hasta 10 firmantes.", + "benefit-bulksend-api-team-year-help": "Este plan incluye 500 créditos premium al año que te permiten enviar documentos mediante la API, compartir enlaces públicos de firma, ejecutar solicitudes de firma masiva, usar el modo Kiosco para firmas presenciales o recopilar firmas de documentos incrustados directamente en tu sitio web. Cada vez que inicias o envías un documento, se usa un crédito — y ese mismo documento puede incluir hasta 10 firmantes.", + "failed-pdf-for-prefill-processing": "No se pudo cargar el PDF para el procesamiento de prellenado.", + "attach-all-role-to-signer": "Por favor, asigna todos los roles al firmante.", + "upgrade-to-edit": "Actualiza para editar", + "hide-live-chat-for-signers": "Ocultar chat en vivo para firmantes", + "hide-live-chat-for-signers-help": "Cuando está activado, los widgets de chat en vivo se ocultarán para los firmantes en las páginas de firma." +} diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index 5a228cc77b..c175a3b6b4 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -237,6 +237,8 @@ "p3": "La sélection de cette option enverra les liens de signature à tous les signataires simultanément. Chaque signataire peut signer le document à sa convenance, que d'autres signataires aient ou non complété leur signature. Cette méthode est plus rapide mais n'impose aucun ordre de signature entre les participants.", "p4": "Sélectionnez l'option qui correspond le mieux aux besoins de votre traitement de documents." }, + "strict-order": "Imposer l'ordre strict", + "strict-order-help": "Lorsqu'il est activé, aucun signataire ne peut signer ou approuver tant que tous les signataires/approbateurs précédents n'ont pas terminé leur action.", "no": "Non", "auto-reminder": "Rappel automatique", "remind-once": "Rappeler une fois tous les (jours)", @@ -260,6 +262,7 @@ "signers": "Signataires", "signers-help": "Commencez à saisir le nom d'un contact pour voir les signataires suggérés par vos contacts enregistrés ou en ajouter de nouveaux. Organisez l'ordre de signature en ajoutant des signataires dans l'ordre souhaité. Utilisez le bouton « + » pour inclure les signataires et le « x » pour les supprimer. Chaque signataire recevra un e-mail invité à signer le document dans l'ordre indiqué.", "bcc-help": "Commencez à taper le nom d'un contact pour voir les suggestions parmi vos contacts enregistrés ou en ajouter de nouveaux. Utilisez le bouton '+' pour ajouter un utilisateur et le bouton 'x' pour le supprimer. L'adresse e-mail de l'utilisateur sélectionné sera ajoutée en Bcc (copie carbone invisible). Chaque utilisateur recevra une notification par e-mail une fois le document terminé.", + "cc-help": "Commencez à saisir le nom d'un contact pour voir des suggestions à partir de vos contacts enregistrés ou en ajouter de nouveaux. Utilisez le bouton « + » pour ajouter un utilisateur et le « x » pour le supprimer. L'e-mail de l'utilisateur sélectionné sera ajouté en CC (copie carbone). Chaque utilisateur recevra une notification par e-mail une fois le document terminé.", "add-signer": "Ajouter un signataire", "contact-not-found": "Contact introuvable", "add-yourself": "Ajoutez-vous", @@ -312,6 +315,31 @@ "user-activated": "Activé par l'utilisateur.", "public": "Public", "download": "Télécharger", + "sign-offline": "Signer hors ligne", + "sign-offline-instructions": "Téléchargez le document, signez-le avec un outil externe, puis téléversez la copie signée ici. Le propriétaire du document examinera votre soumission et l'approuvera ou la rejettera.", + "sign-offline-step-1": "Télécharger le PDF non signé.", + "sign-offline-step-2": "Signer le PDF avec votre outil préféré.", + "sign-offline-step-3": "Téléverser le PDF signé pour approbation du propriétaire.", + "sign-offline-upload-hint": "Sélectionner le PDF signé pour le soumettre à l'approbation.", + "sign-offline-submitted-title": "Soumis pour approbation", + "sign-offline-submitted-body": "Le propriétaire du document a été notifié par e-mail pour examiner votre copie signée hors ligne.", + "offline-already-submitted-title": "Document soumis hors ligne", + "offline-already-submitted-body": "Vous avez déjà soumis ce document pour la vérification de la signature hors ligne. Vous serez notifié une fois qu'il sera approuvé ou rejeté.", + "offline-action-approve-title": "Approuver la signature hors ligne", + "offline-action-approve-confirm": "Approuver", + "offline-action-reject-title": "Rejeter la signature hors ligne", + "offline-action-reject-hint": "Fournissez éventuellement un motif. Le signataire sera notifié par e-mail.", + "offline-action-reject-reason-placeholder": "Motif (facultatif)", + "offline-action-reject-confirm": "Confirmer le rejet", + "offline-action-review-title": "Examiner la signature hors ligne", + "offline-action-review-hint": "Prévisualisez le PDF signé téléversé par le signataire, puis approuvez-le ou rejetez-le. Aucune action n'est prise avant confirmation.", + "offline-action-submitted-at": "Soumis", + "offline-action-no-preview": "Aucun aperçu disponible pour cette soumission.", + "offline-action-open-in-new-tab": "Ouvrir le PDF dans un nouvel onglet", + "offline-action-invalid-link": "Ce lien de révision est invalide ou a expiré.", + "offline-action-success": "Action effectuée.", + "reject": "Rejeter", + "document": "Document", "view": "voir", "make-template-public": "Rendre le modèle public", "make-template-private": "Rendre le modèle privé", @@ -405,6 +433,14 @@ "certificate": "Certificat", "decline": "refusé", "finish": "terminé", + "approve": "Approuver", + "approve-mssg": " Êtes-vous sûr de vouloir approuver le document ?", + "signer-role-label": "Rôle du destinataire", + "signer-role-signer": "Signataire", + "signer-role-viewer": "Lecteur", + "signer-role-approver": "Approbateur", + "signer-role-hint": "Le signataire doit signer. L'approbateur approuve sans signer. Le lecteur peut uniquement consulter.", + "signer-role-upgrade-msg": "Les rôles Lecteur et Approbateur sont uniquement disponibles dans les forfaits payants. Mettez à niveau votre forfait pour attribuer ces rôles aux destinataires.", "done": "Terminé", "mail": "Mail", "sign-now": "Signez maintenant", @@ -543,6 +579,7 @@ "sign-url": "Signer l'URL", "mails-sent": "Mails envoyés avec succès !", "mail-not-delivered": "Courrier non distribué", + "email-not-verified-head": "E-mail non vérifié", "document-alert": "Alerte document", "owner-subscription-expired": "L'abonnement du propriétaire a expiré.", "owner-doesnt-have-paid-plan": "Le propriétaire n'a pas de plan payant.", @@ -618,6 +655,9 @@ "document-signed-alert-7": "Ce document n'est plus disponible.", "document-signed-alert-8": "Le document a déjà été envoyé pour signature.", "yet-to-sign": "Reste à signer", + "viewers": "Lecteurs", + "viewer-no-widgets": "Les lecteurs reçoivent une copie en lecture seule du document et ne peuvent pas avoir de widgets assignés.", + "viewer-confirm-widget-removal": "Le passage de ce destinataire en Lecteur supprimera tous les widgets déjà assignés. Continuer ?", "validation-alert-1": "L'entrée ne répond pas aux critères définis par l'expression régulière.", "account-already-exists": "Le compte existe déjà!", "choose-password": "Choisissez un mot de passe", @@ -768,6 +808,13 @@ "p3": "La sélection de cette option désactivera la vérification OTP, permettant aux utilisateurs de signer le document directement sans étapes supplémentaires.", "p4": "Veuillez choisir l'option qui correspond le mieux à vos exigences en matière de signature de documents." }, + "allow-offline-sign": "Autoriser la signature hors ligne", + "allow-offline-sign-help": { + "p1": "Choisissez si les signataires peuvent soumettre une copie de ce document signée avec un outil externe pour examen par le propriétaire.", + "p2": "Les signataires verront une option Signer hors ligne et pourront téléverser un PDF signé en externe pour validation.", + "p3": "Les signataires ne peuvent signer que dans l'application. L'option Signer hors ligne sera masquée.", + "p4": "Ce paramètre prend par défaut votre préférence de compte et est disponible sur les forfaits payants." + }, "advanced-options": "Options avancées", "hide-advanced-options": "Masquer les options avancées", "download-files": "Télécharger des fichiers", @@ -777,7 +824,7 @@ "server-down": "Impossible de se connecter au serveur {{appName}}. Si vous hébergez vous-même {{appName}}, veuillez vous assurer que toutes les étapes de la documentation ont été correctement suivies. Si vous exécutez {{appName}} localement, vous y accédez peut-être via un numéro de port incorrect.", "admin-exists": "L'administrateur existe déjà. Veuillez vous connecter à l'application en utilisant les informations d'identification de l'administrateur afin de gérer les utilisateurs.", "enable-tour": "Activer la visite", - "istourenabled-otp-help": { + "istourenabled-help": { "p1": "Cela permettra une visite guidée pour les signataires, fournissant des instructions pendant le processus de signature.", "p2": "Cela désactivera la visite guidée, garantissant ainsi une expérience de signature plus rapide et ininterrompue.", "p3": "Conseil: si vos signataires connaissent {{appName}} et l'utilisent fréquemment, vous souhaiterez peut-être désactiver la visite guidée pour une expérience plus fluide. Choisissez l'option qui correspond le mieux à vos besoins en matière de signature de documents." @@ -830,6 +877,7 @@ "delete-folder-alert-1": "Impossible de supprimer : le dossier doit être vide.", "defaultSign-alert": "Les widgets {{widgetsType}} ne sont pas disponibles pour la signature automatique.", "embed-heading": "Intégrer des modèles {{appName}}", + "other-apps-by-opensign": "Autres applications par l'équipe OpenSign", "public-template-edit-title": "Modifier le modèle public", "public-template-edit-mssg": "Vous ne pouvez pas modifier directement un modèle public. Pour apporter des modifications, le modèle sera défini comme privé et vous devrez ensuite le rendre à nouveau public. Voulez-vous continuer ?", "agree-p1": "Je confirme avoir lu et compris les ", @@ -894,6 +942,7 @@ "p3": "Sélectionner cette option empêche les signataires d'apporter des ajouts au document pendant le processus de signature." }, "signature-setting": "Paramètres de signature", + "rotation": "Rotation", "change-signer": "Changer de signataire", "signyour-self-button": "Utilisez cette option pour signer le document vous-même sans en ajouter d'autres.", "requestsign-button": "Utilisez cette option pour demander les signatures des autres et de vous-même.", @@ -928,6 +977,8 @@ "visit-below-link": "Visitez le lien ci-dessous pour en savoir plus -", "storage-help": "Activer BYOC vous permet de connecter votre propre stockage S3 afin que vos fichiers restent entièrement sous votre contrôle, sans copie externe conservée. Si l'autonomie des données est importante pour vous, envisagez de passer à l'offre Teams pour débloquer cette fonctionnalité.", "daily-quota-reached": "Vous avez atteint votre quota quotidien. Pour obtenir de l'aide, veuillez contacter quotas@opensignlabs.com.", + "email-not-verified-send": "Veuillez vérifier votre adresse e-mail avant d'envoyer des e-mails. Accédez à vos <1>paramètres de profil pour terminer la vérification de l'e-mail.", + "email-not-verified-send-plain": "Veuillez vérifier votre adresse e-mail avant d'envoyer des e-mails. Accédez à vos paramètres de profil pour terminer la vérification de l'e-mail.", "enabled-signature-type": "Types de signature activés", "enabled-signature-type-help": "Le paramètre 'Types de signature activés' détermine quelles options de signature sont disponibles dans votre organisation. Par exemple, si vous désactivez l'option 'Dessiner', les membres de votre organisation ne la verront pas dans le widget de signature, tandis que les trois autres options resteront accessibles.", "indexing-public-profile": "Autoriser l'indexation du profil public par les moteurs de recherche", @@ -955,6 +1006,7 @@ "please-provide-templateid": "Veuillez fournir templateid", "this-template-is-not-public": "Ce template n'est pas public", "invalid-templateid": "templateid invalide", + "kiosk-no-active-role": "Ce modèle n'a aucun rôle de signataire ou d'approbateur disponible pour la signature en mode kiosque.", "contact-billing-at-opensign": "Pour ajouter plus de places, veuillez contacter OpenSign™ à l'adresse <1>billing@opensignlabs.com pour obtenir de l'aide.", "title-length-alert": "Le titre doit comporter au maximum 250 caractères.", "note-length-alert": "La note doit comporter au maximum 200 caractères.", @@ -1303,7 +1355,7 @@ "signer-form-data-for": "Données du formulaire pour le signataire : {{signerName}} <{{signerEmail}}>", "widget-name": "Nom du widget", "widget-responses": "Réponses du widget", - "formdata-download-note": "Remarque : Les signatures, tampons, initiales et images ne seront pas exportés.", + "formdata-download-note": "Remarque : Les signatures, tampons, initiales et images ne seront pas exportés. Les données des signataires hors ligne ne seront pas disponibles.", "export-all-formdata-error": "Vous ne pouvez pas exporter les données du formulaire car le modèle contient des noms de widgets en double. Veuillez créer un nouveau modèle pour pouvoir exporter les données.", "export-formdata-error": "Vous ne pouvez pas exporter les données du formulaire car le document contient des noms de widgets en double. Veuillez créer un nouveau document sans doublons pour pouvoir exporter les données.", "duplicate-widget-name-error": "Ce nom de widget est déjà attribué à un autre signataire. Veuillez choisir un autre nom.", @@ -1416,5 +1468,96 @@ "switch-to-advanced": "Passer en mode avancé", "switch-to-basic": "Passer en mode basique", "use-name-as-sender": "Utiliser le nom du profil comme expéditeur", - "use-name-as-sender-help": "Lorsque cette option est activée, {{appName}} utilise le nom de votre profil comme expéditeur pour les demandes de signature et l'e-mail de finalisation." -} \ No newline at end of file + "use-name-as-sender-help": "Lorsque cette option est activée, {{appName}} utilise le nom de votre profil comme expéditeur pour les demandes de signature et l'e-mail de finalisation.", + "acro-fields-detected": "Champs de formulaire détectés", + "acro-fields-detected-msg": "Nous avons détecté {{count}} champ(s) de formulaire dans le PDF téléchargé. Souhaitez-vous insérer automatiquement les widgets correspondants ?", + "documents-count": "Nombre de documents", + "templates-count": "Nombre de modèles", + "emails-sent": "E-mails envoyés", + "storage-used": "Stockage utilisé", + "docs-count-team-help": "Nombre total de documents créés par tous les utilisateurs de vos organisations.", + "docs-count-help": "Nombre total de documents que vous avez créés.", + "templates-count-team-help": "Nombre total de modèles créés par tous les utilisateurs de vos organisations.", + "templates-count-help": "Nombre total de modèles que vous avez créés.", + "emails-sent-team-help": "Nombre total de notifications e-mail envoyées dans vos organisations.", + "emails-sent-help": "Nombre total de notifications e-mail envoyées par vous.", + "storage-used-team-help": "Espace de stockage total consommé par tous les utilisateurs de vos organisations.", + "storage-used-help": "Espace de stockage total consommé par vous.", + "cloud": "Cloud", + "on-premises": "Sur site", + "plan-name-free": "OPENSIGN™ FREE", + "plan-name-professional": "OPENSIGN™ PROFESSIONAL", + "plan-name-teams": "OPENSIGN™ TEAMS", + "plan-name-enterprise": "OPENSIGN™ ENTERPRISE", + "plan-name-self-hosted": "OPENSIGN™ SELF-HOSTED", + "plan-subtitle-free": "Signatures électroniques illimitées gratuites, pour toujours.", + "plan-subtitle-professional": "Accès exclusif aux fonctionnalités avancées.", + "plan-subtitle-scalable": "Fonctionnalités évolutives avec support prioritaire.", + "subscribe": "S'abonner", + "contact-us": "Nous contacter", + "benefit-unlimited-digital-signatures": "Signatures numériques illimitées", + "benefit-sign-docs-yourself": "Signer des documents vous-même", + "benefit-request-signatures": "Demander des signatures à d'autres", + "benefit-unlimited-templates": "Modèles illimités", + "benefit-14-field-types": "14 types de champ", + "benefit-automatic-e-signatures": "Signatures électroniques automatiques", + "benefit-completion-certificates": "Certificats d'achèvement", + "benefit-send-in-order": "Envoyer dans l'ordre", + "benefit-organize-docs": "Organiser les documents dans OpenSign™ Drive", + "benefit-document-templates": "Modèles de documents", + "benefit-import-from-dropbox": "Importer depuis Dropbox", + "benefit-contact-book": "Carnet de contacts", + "benefit-document-expiry": "Prise en charge de l'expiration des documents", + "benefit-decline-document": "Prise en charge du refus de documents", + "benefit-email-notifications": "Notifications par e-mail", + "benefit-public-profiles": "Profils publics", + "benefit-and-much-more": "Et bien plus encore", + "benefit-everything-free": "Tout dans OpenSign™ Free", + "benefit-field-validations": "Validations de champ", + "benefit-regex-validations": "Validations par expression régulière", + "benefit-webhooks": "Webhooks", + "benefit-zapier": "Intégration Zapier", + "benefit-api-access": "Accès API", + "benefit-api-signatures-100": "jusqu'à 100 signatures API", + "benefit-api-signatures-240": "jusqu'à 240 signatures API", + "benefit-custom-email-templates": "Modèles d'e-mail personnalisés", + "benefit-custom-smtp": "Connectez votre propre compte Gmail ou SMTP pour envoyer des e-mails", + "benefit-auto-reminders": "Rappels automatiques", + "benefit-bulk-send-100": "Envoi en masse (jusqu'à 100 documents)", + "benefit-bulk-send-240": "Envoi en masse (jusqu'à 240 documents)", + "benefit-premium-profiles": "Noms d'utilisateur de profil public premium", + "benefit-email-verification": "Appliquer la vérification par e-mail pour confirmer l'identité du signataire", + "benefit-embedded-signing": "Signature intégrée", + "benefit-everything-professional": "Tout dans OpenSign™ Professional", + "benefit-teams-organizations": "Équipes et Organisations", + "benefit-share-templates-teams": "Partager des modèles avec des équipes", + "benefit-share-templates-individuals": "Partager des modèles avec des individus", + "benefit-byoc": "BYOC - Stockez vos documents dans votre propre stockage cloud", + "benefit-doc-id-removal": "Suppression de l'ID de document des documents signés", + "benefit-request-payments": "Demander des paiements (bientôt disponible)", + "benefit-mobile-app": "Application mobile (bientôt disponible)", + "benefit-api-signatures-500": "jusqu'à 500 signatures API", + "benefit-bulk-send-500": "Envoi en masse (jusqu'à 500 documents)", + "benefit-all-features": "Toutes les fonctionnalités", + "benefit-custom-domain": "Domaine personnalisé", + "benefit-custom-branding": "Identité visuelle personnalisée", + "benefit-uptime-sla": "SLA de disponibilité", + "benefit-sso-support": "Support SSO", + "benefit-priority-support": "Support prioritaire", + "benefit-3-users-1500-credits": "Comprend 3 utilisateurs et 1500 crédits premium", + "benefit-public-links": "Liens publics", + "benefit-kiosk-mode": "Mode kiosque", + "benefit-bulk-send-1500": "Envoi en masse (jusqu'à 1500 documents)", + "benefit-connect-gmail-smtp": "Connectez votre propre Gmail ou SMTP", + "benefit-analytics": "Analyses", + "something-went-wrong-mssg": "Une erreur s'est produite, actualiser cette page peut résoudre le problème.", + "benefit-bulksend-api-pro-month-help": "Ce forfait inclut 100 crédits premium par mois qui vous permettent d'envoyer des documents via l'API, de partager des liens publics de signature, de lancer des demandes de signature en masse, d'utiliser le mode Kiosque pour les signatures en personne ou de collecter des signatures à partir de documents intégrés directement à votre site web. À chaque fois que vous initiez ou envoyez un document, un crédit est utilisé — et ce document peut inclure jusqu'à 10 signataires.", + "benefit-bulksend-api-pro-year-help": "Ce forfait inclut 240 crédits premium par an qui vous permettent d'envoyer des documents via l'API, de partager des liens publics de signature, de lancer des demandes de signature en masse, d'utiliser le mode Kiosque pour les signatures en personne ou de collecter des signatures à partir de documents intégrés directement à votre site web. À chaque fois que vous initiez ou envoyez un document, un crédit est utilisé — et ce document peut inclure jusqu'à 10 signataires.", + "benefit-bulksend-api-team-month-help": "Ce forfait inclut 100 crédits premium par mois qui vous permettent d'envoyer des documents via l'API, de partager des liens publics de signature, de lancer des demandes de signature en masse, d'utiliser le mode Kiosque pour les signatures en personne ou de collecter des signatures à partir de documents intégrés directement à votre site web. À chaque fois que vous initiez ou envoyez un document, un crédit est utilisé — et ce document peut inclure jusqu'à 10 signataires.", + "benefit-bulksend-api-team-year-help": "Ce forfait inclut 500 crédits premium par an qui vous permettent d'envoyer des documents via l'API, de partager des liens publics de signature, de lancer des demandes de signature en masse, d'utiliser le mode Kiosque pour les signatures en personne ou de collecter des signatures à partir de documents intégrés directement à votre site web. À chaque fois que vous initiez ou envoyez un document, un crédit est utilisé — et ce document peut inclure jusqu'à 10 signataires.", + "failed-pdf-for-prefill-processing": "Impossible de charger le PDF pour le traitement du préremplissage.", + "attach-all-role-to-signer": "Veuillez attribuer tous les rôles au signataire.", + "upgrade-to-edit": "Mettre à niveau pour modifier", + "hide-live-chat-for-signers": "Masquer le chat en direct pour les signataires", + "hide-live-chat-for-signers-help": "Lorsqu'activé, les widgets de chat en direct seront masqués pour les signataires sur les pages de signature." +} diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index 987ff982e2..d4520c7017 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -237,6 +237,8 @@ "p3": "इस विकल्प का चयन करने पर हस्ताक्षर लिंक सभी हस्ताक्षरकर्ताओं को एक साथ भेजे जाएंगे। प्रत्येक हस्ताक्षरकर्ता अपनी सुविधानुसार दस्तावेज़ पर हस्ताक्षर कर सकता है, भले ही अन्य हस्ताक्षरकर्ताओं ने अपने हस्ताक्षर पूरे कर लिए हों या नहीं। यह विधि तेज़ है लेकिन प्रतिभागियों के बीच किसी भी हस्ताक्षर क्रम को लागू नहीं करती है।", "p4": "वह विकल्प चुनें जो आपके दस्तावेज़ प्रसंस्करण की आवश्यकताओं के लिए सबसे उपयुक्त हो।" }, + "strict-order": "सख्त क्रम लागू करें", + "strict-order-help": "जब सक्षम होता है, तो कोई भी हस्ताक्षरकर्ता तब तक हस्ताक्षर या अनुमोदन नहीं कर सकता जब तक कि पिछले सभी हस्ताक्षरकर्ता/अनुमोदक अपनी कार्रवाई पूरी न कर लें।", "no": "नहीं", "auto-reminder": "स्वतः अनुस्मारक", "remind-once": " प्रत्येक (दिन) में एक बार याद दिलाएं", @@ -260,6 +262,7 @@ "signers": "हस्ताक्षरकर्ता", "signers-help": "अपने सहेजे गए संपर्कों से सुझाए गए हस्ताक्षरकर्ताओं को देखने के लिए किसी संपर्क का नाम टाइप करना शुरू करें या नए जोड़ें। वांछित क्रम में हस्ताक्षरकर्ताओं को जोड़कर हस्ताक्षर क्रम की व्यवस्था करें। हस्ताक्षरकर्ताओं को शामिल करने के लिए '+' बटन और उन्हें हटाने के लिए 'x' का उपयोग करें। प्रत्येक हस्ताक्षरकर्ता को सूचीबद्ध क्रम में दस्तावेज़ पर हस्ताक्षर करने के लिए एक ईमेल संकेत प्राप्त होगा।", "bcc-help": "अपने सहेजे गए संपर्कों से सुझाव देखने के लिए किसी संपर्क का नाम टाइप करना शुरू करें या नए जोड़ें। किसी उपयोगकर्ता को जोड़ने के लिए '+' बटन और उसे हटाने के लिए 'x' का उपयोग करें। चयनित उपयोगकर्ता का ईमेल Bcc (ब्लाइंड कार्बन कॉपी) के रूप में जोड़ा जाएगा। दस्तावेज़ पूरा होने के बाद प्रत्येक उपयोगकर्ता को एक ईमेल सूचना प्राप्त होगी।", + "cc-help": "सुझाव देखने के लिए अपने सेव किए गए कॉन्टैक्ट्स में से किसी कॉन्टैक्ट का नाम टाइप करना शुरू करें या नए जोड़ें। यूज़र जोड़ने के लिए '+' बटन और हटाने के लिए 'x' का उपयोग करें। चुने गए यूज़र का ईमेल CC (कार्बन कॉपी) के रूप में जोड़ा जाएगा। दस्तावेज़ पूर्ण होने पर प्रत्येक यूज़र को एक ईमेल सूचना मिलेगी।", "add-signer": "हस्ताक्षरकर्ता जोड़ें", "contact-not-found": "संपर्क नहीं मिला", "add-yourself": "स्वयं को जोड़ें", @@ -287,7 +290,7 @@ "add-webhook": "वेबहूक जोड़ें", "webhook-added": "वेबहूक सफलतापूर्वक जोड़ा गया।", "team-disabled": "टीम अक्षम", - "Team enabled": "टीम सक्षम", + "team-enabled": "टीम सक्षम", "are-you-sure": "क्या आप वाकई चाहते हैं", "disable": "अक्षम करें", "enable": "सक्षम करें", @@ -312,6 +315,31 @@ "user-activated": "उपयोगकर्ता सक्रिय।", "public": "सार्वजनिक", "download": "डाउनलोड करें", + "sign-offline": "ऑफ़लाइन हस्ताक्षर करें", + "sign-offline-instructions": "दस्तावेज़ डाउनलोड करें, इसे किसी बाहरी टूल से हस्ताक्षरित करें, फिर यहाँ हस्ताक्षरित प्रति अपलोड करें। दस्तावेज़ का मालिक आपकी सबमिशन की समीक्षा करके उसे स्वीकृत या अस्वीकार करेगा।", + "sign-offline-step-1": "बिना हस्ताक्षर का PDF डाउनलोड करें।", + "sign-offline-step-2": "अपने पसंदीदा टूल से PDF हस्ताक्षरित करें।", + "sign-offline-step-3": "मालिक की स्वीकृति के लिए हस्ताक्षरित PDF अपलोड करें।", + "sign-offline-upload-hint": "स्वीकृति के लिए सबमिट करने हेतु हस्ताक्षरित PDF चुनें।", + "sign-offline-submitted-title": "स्वीकृति के लिए सबमिट किया गया", + "sign-offline-submitted-body": "दस्तावेज़ के मालिक को आपकी ऑफ़लाइन हस्ताक्षरित प्रति की समीक्षा करने के लिए ईमेल द्वारा सूचित किया गया है।", + "offline-already-submitted-title": "दस्तावेज़ ऑफ़लाइन सबमिट किया गया", + "offline-already-submitted-body": "आपने यह दस्तावेज़ पहले ही ऑफ़लाइन हस्ताक्षर समीक्षा के लिए सबमिट कर दिया है। स्वीकृति या अस्वीकृति होने पर आपको सूचित किया जाएगा।", + "offline-action-approve-title": "ऑफ़लाइन हस्ताक्षर स्वीकृत करें", + "offline-action-approve-confirm": "स्वीकृत करें", + "offline-action-reject-title": "ऑफ़लाइन हस्ताक्षर अस्वीकार करें", + "offline-action-reject-hint": "वैकल्पिक रूप से कारण बताएं। हस्ताक्षरकर्ता को ईमेल द्वारा सूचित किया जाएगा।", + "offline-action-reject-reason-placeholder": "कारण (वैकल्पिक)", + "offline-action-reject-confirm": "अस्वीकृति की पुष्टि करें", + "offline-action-review-title": "ऑफ़लाइन हस्ताक्षर की समीक्षा करें", + "offline-action-review-hint": "हस्ताक्षरकर्ता द्वारा अपलोड किए गए हस्ताक्षरित PDF का पूर्वावलोकन करें, फिर उसे स्वीकृत या अस्वीकार करें। पुष्टि करने तक कोई कार्रवाई नहीं की जाएगी।", + "offline-action-submitted-at": "सबमिट किया गया", + "offline-action-no-preview": "इस सबमिशन के लिए कोई पूर्वावलोकन उपलब्ध नहीं है।", + "offline-action-open-in-new-tab": "PDF नए टैब में खोलें", + "offline-action-invalid-link": "यह समीक्षा लिंक अमान्य है या समाप्त हो गई है।", + "offline-action-success": "कार्रवाई पूर्ण हुई।", + "reject": "अस्वीकार करें", + "document": "दस्तावेज़", "view": "देखें", "make-template-public": "टेम्पलेट को सार्वजनिक करें", "make-template-private": "टेम्पलेट को निजी बनाएं", @@ -405,6 +433,14 @@ "certificate": "प्रमाण पत्र", "decline": "अस्वीकार करें", "finish": "समाप्त करें", + "approve": "स्वीकृत करें", + "approve-mssg": " क्या आप वाकई दस्तावेज़ को स्वीकृत करना चाहते हैं?", + "signer-role-label": "प्राप्तकर्ता की भूमिका", + "signer-role-signer": "हस्ताक्षरकर्ता", + "signer-role-viewer": "दर्शक", + "signer-role-approver": "अनुमोदक", + "signer-role-hint": "हस्ताक्षरकर्ता को हस्ताक्षर करना होगा। अनुमोदक बिना हस्ताक्षर किए अनुमोदन करता है। दर्शक केवल देखता है।", + "signer-role-upgrade-msg": "दर्शक और अनुमोदक भूमिकाएँ केवल सशुल्क योजनाओं में उपलब्ध हैं। प्राप्तकर्ताओं को ये भूमिकाएँ सौंपने के लिए अपनी योजना अपग्रेड करें।", "done": "हो गया", "mail": "मेल", "sign-now": "अभी हस्ताक्षर करें", @@ -543,6 +579,7 @@ "sign-url": "यूआरएल पर हस्ताक्षर करें", "mails-sent": "मेल भेजे गए", "mail-not-delivered": "मेल वितरित नहीं किया गया", + "email-not-verified-head": "ईमेल सत्यापित नहीं है", "document-alert": "दस्तावेज़ चेतावनी", "owner-subscription-expired": "मालिक की सदस्यता समाप्त हो गई है।", "subscription-expired": "सदस्यता समाप्त", @@ -618,6 +655,9 @@ "document-signed-alert-7": "यह दस्तावेज़ अब उपलब्ध नहीं है।", "document-signed-alert-8": "दस्तावेज़ पर हस्ताक्षर के लिए पहले ही भेज दिया गया है।", "yet-to-sign": "अभी हस्ताक्षर करना बाकी है", + "viewers": "दर्शक", + "viewer-no-widgets": "दर्शकों को दस्तावेज़ की केवल-पढ़ने योग्य प्रति मिलती है और उन्हें विजेट असाइन नहीं किए जा सकते।", + "viewer-confirm-widget-removal": "इस प्राप्तकर्ता को दर्शक में बदलने पर उन्हें पहले से असाइन किए गए सभी विजेट हटा दिए जाएंगे। जारी रखें?", "validation-alert-1": "इनपुट नियमित अभिव्यक्ति द्वारा निर्धारित मानदंडों को पूरा नहीं करता है।", "account-already-exists": "खाता पहले से मौजूद है!", "choose-password": "पासवर्ड चुनें", @@ -768,6 +808,13 @@ "p3": "इस विकल्प का चयन करने पर ओटीपी सत्यापन अक्षम हो जाएगा, जिससे उपयोगकर्ता अतिरिक्त चरणों के बिना सीधे दस्तावेज़ पर हस्ताक्षर कर सकेंगे।", "p4": "कृपया वह विकल्प चुनें जो आपके दस्तावेज़ हस्ताक्षर आवश्यकताओं के लिए सबसे उपयुक्त हो।" }, + "allow-offline-sign": "ऑफ़लाइन हस्ताक्षर की अनुमति दें", + "allow-offline-sign-help": { + "p1": "चुनें कि क्या हस्ताक्षरकर्ता बाहरी टूल से हस्ताक्षरित इस दस्तावेज़ की एक प्रति स्वामी की समीक्षा के लिए जमा कर सकते हैं।", + "p2": "हस्ताक्षरकर्ताओं को ऑफ़लाइन हस्ताक्षर विकल्प दिखाई देगा और वे बाहरी रूप से हस्ताक्षरित PDF स्वीकृति के लिए अपलोड कर सकते हैं।", + "p3": "हस्ताक्षरकर्ता केवल एप के भीतर ही हस्ताक्षर कर सकते हैं। ऑफ़लाइन हस्ताक्षर विकल्प छिपा दिया जाएगा।", + "p4": "यह सेटिंग डिफ़ॉल्ट रूप से आपकी खाता प्राथमिकता का उपयोग करती है और भुगतान योजनाओं पर उपलब्ध है।" + }, "advanced-options": "उन्नत विकल्प", "hide-advanced-options": "उन्नत विकल्प छिपाएँ", "download-files": "फ़ाइलें डाउनलोड करें", @@ -830,6 +877,7 @@ "delete-folder-alert-1": "हटाने में असमर्थ: फ़ोल्डर खाली होना चाहिए।", "defaultSign-alert": "{{widgetsType}} विजेट स्वतः हस्ताक्षर के लिए उपलब्ध नहीं हैं।", "embed-heading": "{{appName}} टेम्पलेट एम्बेड करें", + "other-apps-by-opensign": "OpenSign टीम के अन्य ऐप्स", "public-template-edit-title": "सार्वजनिक टेम्पलेट संपादित करें", "public-template-edit-mssg": "आप सीधे सार्वजनिक टेम्पलेट संपादित नहीं कर सकते। परिवर्तन करने के लिए, टेम्पलेट को निजी पर सेट किया जाएगा, और आपको बाद में इसे फिर से सार्वजनिक करना होगा। क्या आप जारी रखना चाहते हैं?", "agree-p1": "मैं पुष्टि करता हूं कि मैंने पढ़ लिया है और समझ लिया है ", @@ -900,6 +948,7 @@ "p3": "इस विकल्प का चयन करने से हस्ताक्षरकर्ताओं को हस्ताक्षर प्रक्रिया के दौरान दस्तावेज़ में कोई भी সংযোজন करने से प्रतिबंधित किया जाता है।" }, "signature-setting": "हस्ताक्षर सेटिंग्स", + "rotation": "घुमाव", "activation-key": "सक्रियण कुंजी", "paid-selfhost-help": "अधिक जानकारी के लिए कृपया {{appName}} से संपर्क करें ", "remaining-credits-selfhost-help": "अपनी वेबसाइट पर एपीआई दस्तावेज़ हस्ताक्षर, थोक भेजने {{appName}} एकीकरण के लिए प्रीमियम क्रेडिट का उपयोग करें। आपके पास {{allowedcredits}} शामिल क्रेडिट और {{addoncredits}} अतिरिक्त खरीदे गए क्रेडिट शेष हैं।", @@ -928,6 +977,8 @@ "visit-below-link": "अधिक जानने के लिए नीचे दिए गए लिंक पर जाएं -", "storage-help": "BYOC सक्षम करने से आप अपना स्वयं का S3 संग्रहण कनेक्ट कर सकते हैं ताकि आपकी फ़ाइलें पूरी तरह से आपके नियंत्रण में रहें - कोई बाहरी प्रतियां बरकरार न रहें। यदि डेटा स्वायत्तता आपके लिए मायने रखती है, तो इस सुविधा को अनलॉक करने के लिए टीमों में अपग्रेड करने पर विचार करें।", "daily-quota-reached": "आपने अपना दैनिक कोटा पूरा कर लिया है। सहायता के लिए, कृपया quotas@opensignlabs.com पर संपर्क करें।", + "email-not-verified-send": "ईमेल भेजने से पहले कृपया अपना ईमेल पता सत्यापित करें। ईमेल सत्यापन पूरा करने के लिए अपनी <1>प्रोफ़ाइल सेटिंग्स में जाएँ।", + "email-not-verified-send-plain": "ईमेल भेजने से पहले कृपया अपना ईमेल पता सत्यापित करें। ईमेल सत्यापन पूरा करने के लिए अपनी प्रोफ़ाइल सेटिंग्स में जाएँ।", "enabled-signature-type": "सक्षम हस्ताक्षर प्रकार", "enabled-signature-type-help": "'सक्षम हस्ताक्षर प्रकार' सेटिंग यह निर्धारित करती है कि आपके संगठन में कौन से हस्ताक्षर विकल्प उपलब्ध हैं। उदाहरण के लिए, यदि आप 'ड्रा' विकल्प को अक्षम करते हैं, तो आपके संगठन के सदस्य इसे हस्ताक्षर विजेट में नहीं देख पाएंगे, जबकि अन्य तीन विकल्प पहुंच योग्य रहेंगे।", "indexing-public-profile": "खोज इंजन द्वारा सार्वजनिक प्रोफ़ाइल को अनुक्रमित करने की अनुमति दें", @@ -955,6 +1006,7 @@ "please-provide-templateid": "कृपया टेम्पलेट आईडी प्रदान करें", "this-template-is-not-public": "यह टेम्पलेट सार्वजनिक नहीं है", "invalid-templateid": "अमान्य टेम्पलेट आईडी", + "kiosk-no-active-role": "इस टेम्पलेट में कियोस्क हस्ताक्षर के लिए कोई हस्ताक्षरकर्ता या अनुमोदक भूमिका उपलब्ध नहीं है।", "contact-billing-at-opensign": "अधिक सीटें जोड़ने के लिए, कृपया सहायता के लिए <1>billing@opensignlabs.com पर OpenSign™ से संपर्क करें", "title-length-alert": "शीर्षक अधिकतम 250 वर्ण लंबा होना चाहिए।", "note-length-alert": "टिप्पणी अधिकतम 200 वर्ण लंबी होनी चाहिए।", @@ -1303,7 +1355,7 @@ "signer-form-data-for": "हस्ताक्षरकर्ता के लिए फ़ॉर्म डेटा: {{signerName}} <{{signerEmail}}>", "widget-name": "विजेट नाम", "widget-responses": "विजेट प्रतिक्रियाएँ", - "formdata-download-note": "नोट: हस्ताक्षर, स्टैम्प, प्रारंभिक अक्षर और छवियाँ निर्यात नहीं की जाएँगी।", + "formdata-download-note": "नोट: हस्ताक्षर, स्टैम्प, प्रारंभिक अक्षर और छवियाँ निर्यात नहीं की जाएँगी। ऑफ़लाइन हस्ताक्षरकर्ताओं का डेटा उपलब्ध नहीं होगा।", "export-all-formdata-error": "आप फ़ॉर्म डेटा निर्यात नहीं कर सकते क्योंकि टेम्पलेट में डुप्लिकेट विजेट नाम हैं। कृपया नया टेम्पलेट बनाएं ताकि आप फ़ॉर्म डेटा निर्यात कर सकें।", "export-formdata-error": "आप फ़ॉर्म डेटा निर्यात नहीं कर सकते क्योंकि दस्तावेज़ में डुप्लिकेट विजेट नाम हैं। कृपया नया दस्तावेज़ बनाएं जिसमें डुप्लिकेट विजेट नाम न हों।", "duplicate-widget-name-error": "यह विजेट नाम पहले से ही किसी अन्य साइनर को सौंपा गया है। कृपया कोई दूसरा नाम चुनें।", @@ -1416,5 +1468,95 @@ "switch-to-advanced": "एडवांस्ड पर स्विच करें", "switch-to-basic": "बेसिक पर स्विच करें", "use-name-as-sender": "प्रेषक के रूप में प्रोफ़ाइल नाम का उपयोग करें", - "use-name-as-sender-help": "सक्षम होने पर, {{appName}} हस्ताक्षर अनुरोध और पूर्णता ईमेल के लिए आपके प्रोफ़ाइल नाम को प्रेषक के रूप में उपयोग करता है।" -} \ No newline at end of file + "use-name-as-sender-help": "सक्षम होने पर, {{appName}} हस्ताक्षर अनुरोध और पूर्णता ईमेल के लिए आपके प्रोफ़ाइल नाम को प्रेषक के रूप में उपयोग करता है।", + "acro-fields-detected": "फॉर्म फ़ील्ड मिले", + "acro-fields-detected-msg": "अपलोड किए गए PDF में {{count}} फॉर्म फ़ील्ड पाए गए। क्या आप स्वचालित रूप से संबंधित विजेट सम्मिलित करना चाहेंगे?", + "documents-count": "दस्तावेज़ों की संख्या", + "templates-count": "टेम्पलेट्स की संख्या", + "emails-sent": "भेजे गए ईमेल", + "storage-used": "उपयोग किया गया स्टोरेज", + "docs-count-team-help": "आपकी संगठनों में सभी उपयोगकर्ताओं द्वारा बनाए गए दस्तावेज़ों की कुल संख्या।", + "docs-count-help": "आपके द्वारा बनाए गए दस्तावेज़ों की कुल संख्या।", + "templates-count-team-help": "आपकी संगठनों में सभी उपयोगकर्ताओं द्वारा बनाए गए टेम्पलेट्स की कुल संख्या।", + "templates-count-help": "आपके द्वारा बनाए गए टेम्पलेट्स की कुल संख्या।", + "emails-sent-team-help": "आपकी संगठनों में भेजी गई ईमेल सूचनाओं की कुल संख्या।", + "emails-sent-help": "आपके द्वारा भेजी गई ईमेल सूचनाओं की कुल संख्या।", + "storage-used-team-help": "आपकी संगठनों में सभी उपयोगकर्ताओं द्वारा उपयोग किया गया कुल स्टोरेज स्पेस।", + "storage-used-help": "आपके द्वारा उपयोग किया गया कुल स्टोरेज स्पेस।", + "cloud": "क्लाउड", + "on-premises": "ऑन-प्रिमाइसेस", + "plan-name-free": "OPENSIGN™ FREE", + "plan-name-professional": "OPENSIGN™ PROFESSIONAL", + "plan-name-teams": "OPENSIGN™ TEAMS", + "plan-name-enterprise": "OPENSIGN™ ENTERPRISE", + "plan-name-self-hosted": "OPENSIGN™ SELF-HOSTED", + "plan-subtitle-free": "निःशुल्क असीमित ई-हस्ताक्षर, हमेशा के लिए।", + "plan-subtitle-professional": "उन्नत सुविधाओं तक विशेष पहुँच।", + "plan-subtitle-scalable": "प्राथमिकता समर्थन के साथ स्केलेबल सुविधाएँ।", + "subscribe": "सदस्यता लें", + "contact-us": "हमसे संपर्क करें", + "benefit-unlimited-digital-signatures": "असीमित डिजिटल हस्ताक्षर", + "benefit-sign-docs-yourself": "स्वयं दस्तावेज़ पर हस्ताक्षर करें", + "benefit-request-signatures": "दूसरों से हस्ताक्षर का अनुरोध करें", + "benefit-unlimited-templates": "असीमित टेम्पलेट", + "benefit-14-field-types": "14 फ़ील्ड प्रकार", + "benefit-automatic-e-signatures": "स्वचालित ई-हस्ताक्षर", + "benefit-completion-certificates": "समापन प्रमाण पत्र", + "benefit-send-in-order": "क्रम में भेजें", + "benefit-organize-docs": "OpenSign™ Drive में दस्तावेज़ व्यवस्थित करें", + "benefit-document-templates": "दस्तावेज़ टेम्पलेट", + "benefit-import-from-dropbox": "Dropbox से आयात करें", + "benefit-contact-book": "संपर्क पुस्तक", + "benefit-document-expiry": "दस्तावेज़ समाप्ति समर्थन", + "benefit-decline-document": "दस्तावेज़ अस्वीकृति समर्थन", + "benefit-email-notifications": "ईमेल सूचनाएं", + "benefit-public-profiles": "सार्वजनिक प्रोफ़ाइल", + "benefit-and-much-more": "और बहुत कुछ", + "benefit-everything-free": "OpenSign™ Free में सब कुछ", + "benefit-field-validations": "फ़ील्ड सत्यापन", + "benefit-regex-validations": "नियमित अभिव्यक्ति सत्यापन", + "benefit-webhooks": "वेबहुक", + "benefit-zapier": "Zapier एकीकरण", + "benefit-api-access": "API एक्सेस", + "benefit-api-signatures-100": "100 तक API हस्ताक्षर", + "benefit-api-signatures-240": "240 तक API हस्ताक्षर", + "benefit-custom-email-templates": "कस्टम ईमेल टेम्पलेट", + "benefit-custom-smtp": "ईमेल भेजने के लिए अपना Gmail या SMTP खाता कनेक्ट करें", + "benefit-auto-reminders": "स्वचालित अनुस्मारक", + "benefit-bulk-send-100": "बल्क भेजें (100 दस्तावेज़ तक)", + "benefit-bulk-send-240": "बल्क भेजें (240 दस्तावेज़ तक)", + "benefit-premium-profiles": "प्रीमियम सार्वजनिक प्रोफ़ाइल उपयोगकर्ता नाम", + "benefit-email-verification": "हस्ताक्षरकर्ता की पहचान की पुष्टि के लिए ईमेल-आधारित सत्यापन लागू करें", + "benefit-embedded-signing": "एम्बेडेड हस्ताक्षर", + "benefit-everything-professional": "OpenSign™ Professional में सब कुछ", + "benefit-teams-organizations": "टीम और संगठन", + "benefit-share-templates-teams": "टीमों के साथ टेम्पलेट साझा करें", + "benefit-share-templates-individuals": "व्यक्तियों के साथ टेम्पलेट साझा करें", + "benefit-byoc": "BYOC - अपने दस्तावेज़ अपने क्लाउड स्टोरेज में संग्रहीत करें", + "benefit-doc-id-removal": "हस्ताक्षरित दस्तावेज़ों से DocumentId हटाना", + "benefit-request-payments": "भुगतान का अनुरोध (जल्द आ रहा है)", + "benefit-mobile-app": "मोबाइल ऐप (जल्द आ रहा है)", + "benefit-api-signatures-500": "500 तक API हस्ताक्षर", + "benefit-bulk-send-500": "बल्क भेजें (500 दस्तावेज़ तक)", + "benefit-all-features": "सभी सुविधाएँ", + "benefit-custom-domain": "कस्टम डोमेन", + "benefit-custom-branding": "कस्टम ब्रांडिंग", + "benefit-uptime-sla": "अपटाइम SLA", + "benefit-sso-support": "SSO समर्थन", + "benefit-priority-support": "प्राथमिकता समर्थन", + "benefit-3-users-1500-credits": "3 उपयोगकर्ता और 1500 प्रीमियम क्रेडिट शामिल हैं", + "benefit-public-links": "सार्वजनिक लिंक", + "benefit-kiosk-mode": "कियोस्क मोड", + "benefit-bulk-send-1500": "बल्क भेजें (1500 दस्तावेज़ तक)", + "benefit-connect-gmail-smtp": "अपना Gmail या SMTP कनेक्ट करें", + "benefit-analytics": "विश्लेषण", + "benefit-bulksend-api-pro-month-help": "इस प्लान में प्रति माह 100 प्रीमियम क्रेडिट मिलते हैं, जिनसे आप API के जरिए दस्तावेज़ भेज सकते हैं, पब्लिक साइनिंग लिंक शेयर कर सकते हैं, बल्क सिग्नेचर रिक्वेस्ट चला सकते हैं, इन-पर्सन साइनिंग के लिए Kiosk मोड का उपयोग कर सकते हैं, या अपनी वेबसाइट पर सीधे एम्बेड किए गए दस्तावेज़ों से सिग्नेचर एकत्र कर सकते हैं। हर बार जब आप किसी दस्तावेज़ को शुरू (initiate) करते हैं या भेजते हैं, 1 क्रेडिट उपयोग होता है — और उस एक दस्तावेज़ में अधिकतम 10 साइनर हो सकते हैं।", + "benefit-bulksend-api-pro-year-help": "इस प्लान में प्रति वर्ष 240 प्रीमियम क्रेडिट मिलते हैं, जिनसे आप API के जरिए दस्तावेज़ भेज सकते हैं, पब्लिक साइनिंग लिंक शेयर कर सकते हैं, बल्क सिग्नेचर रिक्वेस्ट चला सकते हैं, इन-पर्सन साइनिंग के लिए Kiosk मोड का उपयोग कर सकते हैं, या अपनी वेबसाइट पर सीधे एम्बेड किए गए दस्तावेज़ों से सिग्नेचर एकत्र कर सकते हैं। हर बार जब आप किसी दस्तावेज़ को शुरू (initiate) करते हैं या भेजते हैं, 1 क्रेडिट उपयोग होता है — और उस एक दस्तावेज़ में अधिकतम 10 साइनर हो सकते हैं।", + "benefit-bulksend-api-team-month-help": "इस प्लान में प्रति माह 100 प्रीमियम क्रेडिट मिलते हैं, जिनसे आप API के जरिए दस्तावेज़ भेज सकते हैं, पब्लिक साइनिंग लिंक शेयर कर सकते हैं, बल्क सिग्नेचर रिक्वेस्ट चला सकते हैं, इन-पर्सन साइनिंग के लिए Kiosk मोड का उपयोग कर सकते हैं, या अपनी वेबसाइट पर सीधे एम्बेड किए गए दस्तावेज़ों से सिग्नेचर एकत्र कर सकते हैं। हर बार जब आप किसी दस्तावेज़ को शुरू (initiate) करते हैं या भेजते हैं, 1 क्रेडिट उपयोग होता है — और उस एक दस्तावेज़ में अधिकतम 10 साइनर हो सकते हैं।", + "benefit-bulksend-api-team-year-help": "इस प्लान में प्रति वर्ष 500 प्रीमियम क्रेडिट मिलते हैं, जिनसे आप API के जरिए दस्तावेज़ भेज सकते हैं, पब्लिक साइनिंग लिंक शेयर कर सकते हैं, बल्क सिग्नेचर रिक्वेस्ट चला सकते हैं, इन-पर्सन साइनिंग के लिए Kiosk मोड का उपयोग कर सकते हैं, या अपनी वेबसाइट पर सीधे एम्बेड किए गए दस्तावेज़ों से सिग्नेचर एकत्र कर सकते हैं। हर बार जब आप किसी दस्तावेज़ को शुरू (initiate) करते हैं या भेजते हैं, 1 क्रेडिट उपयोग होता है — और उस एक दस्तावेज़ में अधिकतम 10 साइनर हो सकते हैं।", + "failed-pdf-for-prefill-processing": "प्रीफिल प्रोसेसिंग के लिए PDF लोड करने में विफल।", + "attach-all-role-to-signer": "कृपया सभी भूमिकाएँ साइनर से जोड़ें।", + "upgrade-to-edit": "एडिट करने के लिए अपग्रेड करें", + "hide-live-chat-for-signers": "साइनर के लिए लाइव चैट छुपाएं", + "hide-live-chat-for-signers-help": "सक्षम होने पर, साइनिंग पेजों पर साइनर के लिए लाइव चैट विजेट छुपाए जाएंगे।" +} diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index d8b3e26afa..1b1d3ffa7f 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -237,6 +237,8 @@ "p3": "Selezionando questa opzione, i link di firma verranno inviati a tutti i firmatari contemporaneamente. Ogni firmatario può firmare il documento a sua discrezione, indipendentemente dal fatto che altri firmatari abbiano completato le firme. Questo metodo è più veloce ma non impone un ordine di firma tra i partecipanti.", "p4": "Seleziona l'opzione che meglio si adatta alle esigenze del tuo processo documentale." }, + "strict-order": "Imponi ordine rigoroso", + "strict-order-help": "Se abilitato, nessun firmatario può firmare o approvare finché tutti i firmatari/approvatori precedenti non hanno completato la loro azione.", "no": "No", "auto-reminder": "Promemoria automatico", "remind-once": "Ricorda una volta ogni (giorni)", @@ -260,6 +262,7 @@ "signers": "Firmatari", "signers-help": "Inizia a digitare il nome di un contatto per vedere i firmatari suggeriti dai tuoi contatti salvati o aggiungerne di nuovi. Organizza l'ordine di firma aggiungendo firmatari nella sequenza desiderata. Usa il pulsante '+' per includere firmatari e 'x' per rimuoverli. Ogni firmatario riceverà una notifica via email per firmare il documento nell'ordine elencato.", "bcc-help": "it-Start it-typing it-a it-contact's it-name it-to it-see it-suggestions it-from it-your it-saved it-contacts it-or it-add it-new it-ones. it-Use it-the '+' it-button it-to it-add it-a it-user it-and it-the 'x' it-to it-remove it-them. it-The it-selected it-user's it-email it-will it-be it-added it-as it-a it-Bcc (it-blind it-carbon it-copy). it-Each it-user it-will it-receive it-an it-email it-notification it-once it-the it-document it-is it-completed.", + "cc-help": "Inizia a digitare il nome di un contatto per vedere i suggerimenti dai tuoi contatti salvati oppure aggiungerne di nuovi. Usa il pulsante '+' per aggiungere un utente e la 'x' per rimuoverlo. L'email dell'utente selezionato verrà aggiunta come CC (copia conoscenza). Ogni utente riceverà una notifica via email una volta completato il documento.", "add-signer": "Aggiungi firmatario", "contact-not-found": "Contatto non trovato", "add-yourself": "Aggiungi te stesso", @@ -287,7 +290,7 @@ "add-webhook": "Aggiungi Webhook", "webhook-added": "Webhook aggiunto con successo.", "team-disabled": "Team disabilitato", - "Team enabled": "Team abilitato", + "team-enabled": "Team abilitato", "are-you-sure": "Sei sicuro di voler", "disable": "disabilitare", "enable": "abilitare", @@ -312,6 +315,31 @@ "user-activated": "Utente attivato.", "public": "Pubblico", "download": "Scarica", + "sign-offline": "Firma offline", + "sign-offline-instructions": "Scarica il documento, firmalo con uno strumento esterno, quindi carica qui la copia firmata. Il proprietario del documento esaminerà l'invio e lo approverà o rifiuterà.", + "sign-offline-step-1": "Scarica il PDF non firmato.", + "sign-offline-step-2": "Firma il PDF con il tuo strumento preferito.", + "sign-offline-step-3": "Carica il PDF firmato per l'approvazione del proprietario.", + "sign-offline-upload-hint": "Seleziona il PDF firmato da inviare per l'approvazione.", + "sign-offline-submitted-title": "Inviato per approvazione", + "sign-offline-submitted-body": "Il proprietario del documento è stato notificato via e-mail per esaminare la copia firmata offline.", + "offline-already-submitted-title": "Documento inviato offline", + "offline-already-submitted-body": "Hai già inviato questo documento per la revisione della firma offline. Riceverai una notifica una volta approvato o rifiutato.", + "offline-action-approve-title": "Approva firma offline", + "offline-action-approve-confirm": "Approva", + "offline-action-reject-title": "Rifiuta firma offline", + "offline-action-reject-hint": "Facoltativamente, fornisci un motivo. Il firmatario verrà notificato via e-mail.", + "offline-action-reject-reason-placeholder": "Motivo (facoltativo)", + "offline-action-reject-confirm": "Conferma rifiuto", + "offline-action-review-title": "Esamina firma offline", + "offline-action-review-hint": "Visualizza in anteprima il PDF firmato caricato dal firmatario, quindi approvalo o rifiutalo. Nessuna azione viene intrapresa fino alla conferma.", + "offline-action-submitted-at": "Inviato", + "offline-action-no-preview": "Nessuna anteprima disponibile per questo invio.", + "offline-action-open-in-new-tab": "Apri PDF in una nuova scheda", + "offline-action-invalid-link": "Questo link di revisione non è valido o è scaduto.", + "offline-action-success": "Azione completata.", + "reject": "Rifiuta", + "document": "Documento", "view": "Visualizza", "make-template-public": "Rendi il modello pubblico", "make-template-private": "Rendi il modello privato", @@ -405,6 +433,14 @@ "certificate": "Certificato", "decline": "Rifiuta", "finish": "Completa", + "approve": "Approva", + "approve-mssg": " Sei sicuro di voler approvare il documento?", + "signer-role-label": "Ruolo del destinatario", + "signer-role-signer": "Firmatario", + "signer-role-viewer": "Visualizzatore", + "signer-role-approver": "Approvatore", + "signer-role-hint": "Il firmatario deve firmare. L'approvatore approva senza firmare. Il visualizzatore può solo visualizzare.", + "signer-role-upgrade-msg": "I ruoli Visualizzatore e Approvatore sono disponibili solo nei piani a pagamento. Esegui l'upgrade del tuo piano per assegnare questi ruoli ai destinatari.", "done": "Fatto", "mail": "Email", "sign-now": "Firma ora", @@ -543,6 +579,7 @@ "sign-url": "URL Firma", "mails-sent": "Mail inviate", "mail-not-delivered": "Mail non consegnata", + "email-not-verified-head": "Email non verificata", "document-alert": "Avviso Documento", "owner-subscription-expired": "L'abbonamento del proprietario è scaduto.", "owner-doesnt-have-paid-plan": "Il proprietario non ha un piano a pagamento.", @@ -618,6 +655,9 @@ "document-signed-alert-7": "Questo documento non è più disponibile.", "document-signed-alert-8": "Il documento è già stato inviato per la firma.", "yet-to-sign": "Ancora da firmare", + "viewers": "Visualizzatori", + "viewer-no-widgets": "I visualizzatori ricevono una copia in sola lettura del documento e non possono avere widget assegnati.", + "viewer-confirm-widget-removal": "Cambiando questo destinatario in Visualizzatore verranno rimossi tutti i widget già assegnati. Continuare?", "validation-alert-1": "L'input non soddisfa i criteri impostati dall'espressione regolare.", "account-already-exists": "L'account esiste già!", "choose-password": "Scegli Password", @@ -768,6 +808,13 @@ "p3": "Selezionando questa opzione, disabiliterai la verifica OTP, consentendo agli utenti di firmare il documento direttamente senza passaggi aggiuntivi.", "p4": "Scegli l'opzione che meglio si adatta alle tue esigenze di firma dei documenti." }, + "allow-offline-sign": "Consenti firma offline", + "allow-offline-sign-help": { + "p1": "Scegli se i firmatari possono inviare una copia di questo documento firmata tramite uno strumento esterno per la revisione del proprietario.", + "p2": "I firmatari vedranno l'opzione Firma offline e potranno caricare un PDF firmato esternamente per l'approvazione.", + "p3": "I firmatari possono firmare solo all'interno dell'app. L'opzione Firma offline sarà nascosta.", + "p4": "Questa impostazione utilizza come predefinita la tua preferenza account ed è disponibile sui piani a pagamento." + }, "advanced-options": "Opzioni avanzate", "hide-advanced-options": "Nascondi opzioni avanzate", "download-files": "Scarica file", @@ -830,6 +877,7 @@ "delete-folder-alert-1": "Impossibile eliminare: la cartella deve essere vuota.", "defaultSign-alert": "I widget {{widgetsType}} non sono disponibili per la firma automatica.", "embed-heading": "Incorpora modelli {{appName}}", + "other-apps-by-opensign": "Altre app del team OpenSign", "public-template-edit-title": "Modifica Modello Pubblico", "public-template-edit-mssg": "Non puoi modificare direttamente un modello pubblico. Per apportare modifiche, il modello sarà impostato come privato e dovrai renderlo pubblico di nuovo successivamente. Vuoi continuare?", "agree-p1": "Confermo di aver letto e compreso il", @@ -900,6 +948,7 @@ "p3": "Selezionando questa opzione, i firmatari non potranno apportare alcuna aggiunta al documento durante il processo di firma." }, "signature-setting": "Impostazioni Firma", + "rotation": "Rotazione", "activation-key": "Chiave di attivazione", "paid-selfhost-help": "Si prega di contattare {{appName}} per ulteriori informazioni all'indirizzo ", "remaining-credits-selfhost-help": "Utilizza i crediti premium per la firma di documenti tramite API, l'invio in massa e l'integrazione di {{appName}} sul tuo sito web. Hai {{allowedcredits}} crediti inclusi e {{addoncredits}} crediti aggiuntivi acquistati rimanenti.", @@ -928,6 +977,8 @@ "visit-below-link": "Visita il link qui sotto per saperne di più -", "storage-help": "Abilitare BYOC ti consente di collegare il tuo archivio S3 in modo che i tuoi file rimangano completamente sotto il tuo controllo, senza copie esterne conservate. Se l'autonomia dei dati è importante per te, considera l'upgrade a Teams per sbloccare questa funzionalità.", "daily-quota-reached": "Hai raggiunto la tua quota giornaliera. Per assistenza, contatta quotas@opensignlabs.com.", + "email-not-verified-send": "Verifica il tuo indirizzo email prima di inviare email. Vai alle <1>impostazioni del profilo per completare la verifica dell’email.", + "email-not-verified-send-plain": "Verifica il tuo indirizzo email prima di inviare email. Vai alle impostazioni del profilo per completare la verifica dell’email.", "enabled-signature-type": "Tipi di firma abilitati", "enabled-signature-type-help": "L'impostazione 'Tipi di firma abilitati' determina quali opzioni di firma sono disponibili nella tua organizzazione. Ad esempio, se disabiliti l'opzione 'Disegna', i membri della tua organizzazione non la vedranno nel widget della firma, mentre le altre tre opzioni resteranno accessibili.", "indexing-public-profile": "Consenti l'indicizzazione del profilo pubblico dai motori di ricerca", @@ -955,6 +1006,7 @@ "please-provide-templateid": "Si prega di fornire templateid", "this-template-is-not-public": "Questo template non è pubblico", "invalid-templateid": "templateid non valido", + "kiosk-no-active-role": "Questo modello non ha ruoli di firmatario o approvatore disponibili per la firma in modalità chiosco.", "contact-billing-at-opensign": " Per aggiungere altri posti, contattare OpenSign™ all'indirizzo <1>billing@opensignlabs.com per assistenza.", "title-length-alert": "Il titolo può contenere al massimo 250 caratteri.", "note-length-alert": "La nota può contenere al massimo 200 caratteri.", @@ -1303,7 +1355,7 @@ "signer-form-data-for": "Dati del modulo per il firmatario: {{signerName}} <{{signerEmail}}>", "widget-name": "Nome del widget", "widget-responses": "Risposte del widget", - "formdata-download-note": "Nota: Firme, timbri, iniziali e immagini non verranno esportati.", + "formdata-download-note": "Nota: Firme, timbri, iniziali e immagini non verranno esportati. I dati dei firmatari offline non saranno disponibili.", "export-all-formdata-error": "Non è possibile esportare i dati del modulo perché il modello contiene nomi di widget duplicati. Creare un nuovo modello per poter esportare i dati.", "export-formdata-error": "Non è possibile esportare i dati del modulo perché il documento contiene nomi di widget duplicati. Creare un nuovo documento senza nomi duplicati per poter esportare i dati.", "duplicate-widget-name-error": "Questo nome di widget è già assegnato a un altro firmatario. Scegli un nome diverso.", @@ -1416,5 +1468,95 @@ "switch-to-advanced": "Passa alla modalità avanzata", "switch-to-basic": "Passa alla modalità base", "use-name-as-sender": "Usa il nome del profilo come mittente", - "use-name-as-sender-help": "Quando abilitato, {{appName}} usa il nome del tuo profilo come mittente per le richieste di firma e l'email di completamento." -} \ No newline at end of file + "use-name-as-sender-help": "Quando abilitato, {{appName}} usa il nome del tuo profilo come mittente per le richieste di firma e l'email di completamento.", + "acro-fields-detected": "Campi modulo rilevati", + "acro-fields-detected-msg": "Sono stati rilevati {{count}} campo/i modulo nel PDF caricato. Vuoi inserire automaticamente i widget corrispondenti?", + "documents-count": "Numero di documenti", + "templates-count": "Numero di modelli", + "emails-sent": "Email inviate", + "storage-used": "Spazio utilizzato", + "docs-count-team-help": "Numero totale di documenti creati da tutti gli utenti nelle tue organizzazioni.", + "docs-count-help": "Numero totale di documenti creati da te.", + "templates-count-team-help": "Numero totale di modelli creati da tutti gli utenti nelle tue organizzazioni.", + "templates-count-help": "Numero totale di modelli creati da te.", + "emails-sent-team-help": "Numero totale di notifiche email inviate nelle tue organizzazioni.", + "emails-sent-help": "Numero totale di notifiche email inviate da te.", + "storage-used-team-help": "Spazio di archiviazione totale consumato da tutti gli utenti nelle tue organizzazioni.", + "storage-used-help": "Spazio di archiviazione totale consumato da te.", + "cloud": "Cloud", + "on-premises": "On-premise", + "plan-name-free": "OPENSIGN™ FREE", + "plan-name-professional": "OPENSIGN™ PROFESSIONAL", + "plan-name-teams": "OPENSIGN™ TEAMS", + "plan-name-enterprise": "OPENSIGN™ ENTERPRISE", + "plan-name-self-hosted": "OPENSIGN™ SELF-HOSTED", + "plan-subtitle-free": "Firme elettroniche illimitate gratuite, per sempre.", + "plan-subtitle-professional": "Accesso esclusivo a funzionalità avanzate.", + "plan-subtitle-scalable": "Funzionalità scalabili con supporto prioritario.", + "subscribe": "Abbonati", + "contact-us": "Contattaci", + "benefit-unlimited-digital-signatures": "Firme digitali illimitate", + "benefit-sign-docs-yourself": "Firma i documenti tu stesso", + "benefit-request-signatures": "Richiedi firme ad altri", + "benefit-unlimited-templates": "Modelli illimitati", + "benefit-14-field-types": "14 tipi di campo", + "benefit-automatic-e-signatures": "Firme elettroniche automatiche", + "benefit-completion-certificates": "Certificati di completamento", + "benefit-send-in-order": "Invia in ordine", + "benefit-organize-docs": "Organizza i documenti in OpenSign™ Drive", + "benefit-document-templates": "Modelli di documento", + "benefit-import-from-dropbox": "Importa da Dropbox", + "benefit-contact-book": "Rubrica contatti", + "benefit-document-expiry": "Supporto per la scadenza dei documenti", + "benefit-decline-document": "Supporto per il rifiuto dei documenti", + "benefit-email-notifications": "Notifiche via e-mail", + "benefit-public-profiles": "Profili pubblici", + "benefit-and-much-more": "E molto altro", + "benefit-everything-free": "Tutto in OpenSign™ Free", + "benefit-field-validations": "Validazioni dei campi", + "benefit-regex-validations": "Validazioni con espressioni regolari", + "benefit-webhooks": "Webhook", + "benefit-zapier": "Integrazione Zapier", + "benefit-api-access": "Accesso API", + "benefit-api-signatures-100": "fino a 100 firme API", + "benefit-api-signatures-240": "fino a 240 firme API", + "benefit-custom-email-templates": "Modelli e-mail personalizzati", + "benefit-custom-smtp": "Collega il tuo account Gmail o SMTP per l'invio di e-mail", + "benefit-auto-reminders": "Promemoria automatici", + "benefit-bulk-send-100": "Invio in massa (fino a 100 documenti)", + "benefit-bulk-send-240": "Invio in massa (fino a 240 documenti)", + "benefit-premium-profiles": "Nomi utente del profilo pubblico premium", + "benefit-email-verification": "Imponi la verifica via e-mail per confermare l'identità del firmatario", + "benefit-embedded-signing": "Firma incorporata", + "benefit-everything-professional": "Tutto in OpenSign™ Professional", + "benefit-teams-organizations": "Team e Organizzazioni", + "benefit-share-templates-teams": "Condividi modelli con i team", + "benefit-share-templates-individuals": "Condividi modelli con individui", + "benefit-byoc": "BYOC - Archivia i tuoi documenti nel tuo cloud storage", + "benefit-doc-id-removal": "Rimozione del DocumentId dai documenti firmati", + "benefit-request-payments": "Richiedi pagamenti (prossimamente)", + "benefit-mobile-app": "App mobile (prossimamente)", + "benefit-api-signatures-500": "fino a 500 firme API", + "benefit-bulk-send-500": "Invio in massa (fino a 500 documenti)", + "benefit-all-features": "Tutte le funzionalità", + "benefit-custom-domain": "Dominio personalizzato", + "benefit-custom-branding": "Branding personalizzato", + "benefit-uptime-sla": "SLA di disponibilità", + "benefit-sso-support": "Supporto SSO", + "benefit-priority-support": "Supporto prioritario", + "benefit-3-users-1500-credits": "Include 3 utenti e 1500 crediti premium", + "benefit-public-links": "Link pubblici", + "benefit-kiosk-mode": "Modalità chiosco", + "benefit-bulk-send-1500": "Invio in massa (fino a 1500 documenti)", + "benefit-connect-gmail-smtp": "Collega il tuo Gmail o SMTP", + "benefit-analytics": "Analisi", + "benefit-bulksend-api-pro-month-help": "Questo piano include 100 crediti premium al mese che ti permettono di inviare documenti tramite API, condividere link pubblici per la firma, eseguire richieste di firma in blocco, usare la modalità Kiosk per la firma di persona o raccogliere firme da documenti incorporati direttamente nel tuo sito web. Ogni volta che avvii o invii un documento, viene utilizzato 1 credito — e quel singolo documento può includere fino a 10 firmatari.", + "benefit-bulksend-api-pro-year-help": "Questo piano include 240 crediti premium all'anno che ti permettono di inviare documenti tramite API, condividere link pubblici per la firma, eseguire richieste di firma in blocco, usare la modalità Kiosk per la firma di persona o raccogliere firme da documenti incorporati direttamente nel tuo sito web. Ogni volta che avvii o invii un documento, viene utilizzato 1 credito — e quel singolo documento può includere fino a 10 firmatari.", + "benefit-bulksend-api-team-month-help": "Questo piano include 100 crediti premium al mese che ti permettono di inviare documenti tramite API, condividere link pubblici per la firma, eseguire richieste di firma in blocco, usare la modalità Kiosk per la firma di persona o raccogliere firme da documenti incorporati direttamente nel tuo sito web. Ogni volta che avvii o invii un documento, viene utilizzato 1 credito — e quel singolo documento può includere fino a 10 firmatari.", + "benefit-bulksend-api-team-year-help": "Questo piano include 500 crediti premium all'anno che ti permettono di inviare documenti tramite API, condividere link pubblici per la firma, eseguire richieste di firma in blocco, usare la modalità Kiosk per la firma di persona o raccogliere firme da documenti incorporati direttamente nel tuo sito web. Ogni volta che avvii o invii un documento, viene utilizzato 1 credito — e quel singolo documento può includere fino a 10 firmatari.", + "failed-pdf-for-prefill-processing": "Impossibile caricare il PDF per l'elaborazione del precompilamento.", + "attach-all-role-to-signer": "Per favore, assegna tutti i ruoli al firmatario.", + "upgrade-to-edit": "Esegui l'upgrade per modificare", + "hide-live-chat-for-signers": "Nascondi chat dal vivo per i firmatari", + "hide-live-chat-for-signers-help": "Se attivato, i widget di chat dal vivo saranno nascosti per i firmatari nelle pagine di firma." +} diff --git a/apps/OpenSign/public/locales/kr/translation.json b/apps/OpenSign/public/locales/kr/translation.json index 40306fe3ba..45b9675ed8 100644 --- a/apps/OpenSign/public/locales/kr/translation.json +++ b/apps/OpenSign/public/locales/kr/translation.json @@ -237,6 +237,8 @@ "p3": "이 옵션을 선택하면 서명 링크가 모든 서명자에게 동시에 전송됩니다. 각 서명자는 다른 서명자가 서명을 완료했는지 여부에 관계없이 편리한 시간에 문서에 서명할 수 있습니다. 이 방법은 더 빠르지만 참가자 간에 서명 순서를 강제하지 않습니다.", "p4": "문서 처리 요구에 가장 적합한 옵션을 선택하세요." }, + "strict-order": "엄격한 순서 적용", + "strict-order-help": "활성화하면 이전의 모든 서명자/승인자가 작업을 완료할 때까지 어떤 서명자도 서명하거나 승인할 수 없습니다.", "no": "아니요", "auto-reminder": "자동 알림", "remind-once": " 매 (일)마다 한 번 알림", @@ -260,6 +262,7 @@ "signers": "서명자", "signers-help": "연락처 이름을 입력하기 시작하면 저장된 연락처에서 추천 서명자가 표시되거나 새 연락처를 추가할 수 있습니다. 원하는 순서대로 서명자를 추가하여 서명 순서를 정렬하세요. '+' 버튼을 눌러 서명자를 포함시키고 'x' 버튼을 눌러 제거하세요. 각 서명자는 지정된 순서대로 문서에 서명하라는 이메일 안내를 받게 됩니다.", "bcc-help": "연락처 이름을 입력하기 시작하면 저장된 연락처에서 제안된 항목이 표시되거나 새 연락처를 추가할 수 있습니다. '+' 버튼을 사용하여 사용자를 추가하고 'x' 버튼을 사용하여 제거하세요. 선택한 사용자의 이메일은 숨은 참조(Bcc)로 추가됩니다. 문서가 완료되면 각 사용자에게 이메일 알림이 전송됩니다.", + "cc-help": "연락처 이름을 입력하기 시작하면 저장된 연락처에서 추천이 표시되며, 새 연락처를 추가할 수도 있습니다. 사용자를 추가하려면 '+' 버튼을, 제거하려면 'x'를 사용하세요. 선택한 사용자의 이메일이 CC(참조)로 추가됩니다. 문서가 완료되면 각 사용자에게 이메일 알림이 전송됩니다.", "add-signer": "서명자 추가", "contact-not-found": "연락처를 찾을 수 없습니다", "add-yourself": "본인 추가", @@ -287,7 +290,7 @@ "add-webhook": "웹훅 추가", "webhook-added": "웹훅이 성공적으로 추가되었습니다.", "team-disabled": "팀 비활성화됨", - "Team enabled": "팀 활성화됨", + "team-enabled": "팀 활성화됨", "are-you-sure": "정말로 하시겠습니까?", "disable": "비활성화", "enable": "활성화", @@ -312,6 +315,31 @@ "user-activated": "유저 활성화됨.", "public": "공개", "download": "다운로드", + "sign-offline": "오프라인 서명", + "sign-offline-instructions": "문서를 다운로드하고 외부 도구로 서명한 후 서명된 사본을 여기에 업로드하세요. 문서 소유자가 제출물을 검토하여 승인하거나 거부합니다.", + "sign-offline-step-1": "서명되지 않은 PDF를 다운로드합니다.", + "sign-offline-step-2": "선호하는 도구를 사용하여 PDF에 서명합니다.", + "sign-offline-step-3": "소유자 승인을 위해 서명된 PDF를 업로드합니다.", + "sign-offline-upload-hint": "승인을 위해 제출할 서명된 PDF를 선택하세요.", + "sign-offline-submitted-title": "승인을 위해 제출됨", + "sign-offline-submitted-body": "문서 소유자에게 오프라인 서명 사본 검토를 위한 이메일이 전송되었습니다.", + "offline-already-submitted-title": "문서가 오프라인으로 제출되었습니다", + "offline-already-submitted-body": "이 문서는 이미 오프라인 서명 검토를 위해 제출되었습니다. 승인 또는 거부되면 알림이 전송됩니다.", + "offline-action-approve-title": "오프라인 서명 승인", + "offline-action-approve-confirm": "승인", + "offline-action-reject-title": "오프라인 서명 거부", + "offline-action-reject-hint": "선택적으로 이유를 제공하세요. 서명자에게 이메일로 알림이 전송됩니다.", + "offline-action-reject-reason-placeholder": "이유 (선택 사항)", + "offline-action-reject-confirm": "거부 확인", + "offline-action-review-title": "오프라인 서명 검토", + "offline-action-review-hint": "서명자가 업로드한 서명된 PDF를 미리 보고 승인하거나 거부하세요. 확인하기 전까지는 아무런 조치가 취해지지 않습니다.", + "offline-action-submitted-at": "제출됨", + "offline-action-no-preview": "이 제출에 대한 미리 보기를 사용할 수 없습니다.", + "offline-action-open-in-new-tab": "새 탭에서 PDF 열기", + "offline-action-invalid-link": "이 검토 링크가 유효하지 않거나 만료되었습니다.", + "offline-action-success": "작업이 완료되었습니다.", + "reject": "거부", + "document": "문서", "view": "보기", "make-template-public": "템플릿 공개하기", "make-template-private": "템플릿 비공개하기", @@ -405,6 +433,14 @@ "certificate": "증명서", "decline": "거절", "finish": "완료", + "approve": "승인", + "approve-mssg": " 문서를 승인하시겠습니까?", + "signer-role-label": "수신자 역할", + "signer-role-signer": "서명자", + "signer-role-viewer": "열람자", + "signer-role-approver": "승인자", + "signer-role-hint": "서명자는 서명해야 합니다. 승인자는 서명 없이 승인합니다. 열람자는 문서만 볼 수 있습니다.", + "signer-role-upgrade-msg": "열람자 및 승인자 역할은 유료 요금제에서만 제공됩니다. 수신자에게 이러한 역할을 지정하려면 요금제를 업그레이드하세요.", "done": "완료", "mail": "메일", "sign-now": "지금 서명", @@ -543,6 +579,7 @@ "sign-url": "서명 URL", "mails-sent": "메일 전송됨", "mail-not-delivered": "메일이 전달되지 않음", + "email-not-verified-head": "이메일이 인증되지 않았습니다", "document-alert": "문서 알림", "owner-subscription-expired": "소유자의 구독이 만료되었습니다.", "subscription-expired": "구독 만료", @@ -618,6 +655,9 @@ "document-signed-alert-7": "이 문서는 더 이상 사용할 수 없습니다.", "document-signed-alert-8": "문서가 이미 서명을 위해 발송되었습니다.", "yet-to-sign": "서명 대기 중", + "viewers": "열람자", + "viewer-no-widgets": "열람자는 문서의 읽기 전용 사본을 받으며 위젯을 배정받을 수 없습니다.", + "viewer-confirm-widget-removal": "이 수신자를 열람자로 변경하면 이미 배정된 모든 위젯이 제거됩니다. 계속하시겠습니까?", "validation-alert-1": "입력이 정규식으로 설정된 기준을 충족하지 않습니다.", "account-already-exists": "계정이 이미 존재합니다!", "choose-password": "비밀번호 선택", @@ -768,6 +808,13 @@ "p3": "이 옵션을 선택하면 OTP 인증이 비활성화되어 사용자가 추가 단계 없이 직접 문서에 서명할 수 있습니다.", "p4": "문서 서명 요구 사항에 가장 적합한 옵션을 선택하세요." }, + "allow-offline-sign": "오프라인 서명 허용", + "allow-offline-sign-help": { + "p1": "서명자가 외부 도구로 서명한 문서 사본을 소유자 검토를 위해 제출할 수 있는지 선택하세요.", + "p2": "서명자에게 오프라인 서명 옵션이 표시되며 외부에서 서명된 PDF를 소유자 승인용으로 업로드할 수 있습니다.", + "p3": "서명자는 앱 내에서만 서명할 수 있으며 오프라인 서명 옵션은 숨겨집니다.", + "p4": "이 설정은 계정 기본 설정을 따르며 유료 요금제에서 사용할 수 있습니다." + }, "advanced-options": "고급 옵션", "hide-advanced-options": "고급 옵션 숨기기", "download-files": "파일 다운로드", @@ -830,6 +877,7 @@ "delete-folder-alert-1": "삭제할 수 없음: 폴더가 비어 있어야 합니다.", "defaultSign-alert": "{{widgetsType}} 위젯은 자동 서명에 사용할 수 없습니다.", "embed-heading": "{{appName}} 템플릿 포함", + "other-apps-by-opensign": "OpenSign 팀의 다른 앱", "public-template-edit-title": "공개 템플릿 편집", "public-template-edit-mssg": "공개 템플릿을 직접 편집할 수 없습니다. 변경하려면 템플릿이 비공개로 설정되며 나중에 다시 공개해야 합니다. 계속하시겠습니까?", "agree-p1": "나는 ", @@ -900,6 +948,7 @@ "p3": "이 옵션을 선택하면 서명자가 서명 과정 중에 문서에 추가 작업을 할 수 없습니다." }, "signature-setting": "서명 설정", + "rotation": "회전", "activation-key": "활성화 키", "paid-selfhost-help": "자세한 내용은 {{appName}}에 문의하세요. ", "remaining-credits-selfhost-help": "API 문서 서명, 대량 전송, 웹사이트에 {{appName}} 통합에 프리미엄 크레딧을 사용하세요. 포함된 크레딧 {{allowedcredits}}개와 추가 구매한 크레딧 {{addoncredits}}개가 남아 있습니다.", @@ -928,6 +977,8 @@ "visit-below-link": "자세한 내용은 아래 링크를 방문하세요 -", "storage-help": "BYOC를 활성화하면 자체 S3 저장소를 연결하여 파일이 외부 사본 없이 완전히 제어할 수 있습니다. 데이터 자율성이 중요하다면 팀으로 업그레이드하여 이 기능을 잠금 해제하는 것을 고려해보세요.", "daily-quota-reached": "일일 할당량에 도달했습니다. 도움이 필요하시면 quotas@opensignlabs.com으로 문의하세요.", + "email-not-verified-send": "이메일을 보내기 전에 이메일 주소를 인증해 주세요. 이메일 인증을 완료하려면 <1>프로필 설정으로 이동하세요.", + "email-not-verified-send-plain": "이메일을 보내기 전에 이메일 주소를 인증해 주세요. 이메일 인증을 완료하려면 프로필 설정으로 이동하세요.", "enabled-signature-type": "활성화된 서명 유형", "enabled-signature-type-help": "'활성화된 서명 유형' 설정은 조직 전체에서 사용할 수 있는 서명 옵션을 결정합니다. 예를 들어 '그리기' 옵션을 비활성화하면 조직 구성원은 서명 위젯에서 해당 옵션을 볼 수 없지만 다른 세 가지 옵션은 계속 사용할 수 있습니다.", "indexing-public-profile": "검색 엔진에 의한 공개 프로필 색인 허용", @@ -955,6 +1006,7 @@ "please-provide-templateid": "템플릿 ID를 입력하세요.", "this-template-is-not-public": "이 템플릿은 공개되지 않았습니다.", "invalid-templateid": "잘못된 템플릿 ID입니다.", + "kiosk-no-active-role": "이 템플릿에는 키오스크 서명에 사용할 수 있는 서명자 또는 승인자 역할이 없습니다.", "contact-billing-at-opensign": "더 많은 좌석을 추가하려면 <1>billing@opensignlabs.com으로 OpenSign™에 문의하여 도움을 받으세요.", "title-length-alert": "제목은 최대 250자여야 합니다.", "note-length-alert": "메모는 최대 200자여야 합니다.", @@ -1303,7 +1355,7 @@ "signer-form-data-for": "서명자 양식 데이터: {{signerName}} <{{signerEmail}}>", "widget-name": "위젯 이름", "widget-responses": "위젯 응답", - "formdata-download-note": "참고: 서명, 스탬프, 이니셜 및 이미지는 내보내지지 않습니다.", + "formdata-download-note": "참고: 서명, 스탬프, 이니셜 및 이미지는 내보내지지 않습니다. 오프라인 서명자의 데이터는 사용할 수 없습니다.", "export-all-formdata-error": "템플릿에 중복된 위젯 이름이 포함되어 있어 양식 데이터를 내보낼 수 없습니다. 양식 데이터를 내보내려면 새 템플릿을 만드십시오.", "export-formdata-error": "문서에 중복된 위젯 이름이 포함되어 있어 양식 데이터를 내보낼 수 없습니다. 양식 데이터를 내보내려면 중복된 위젯 이름이 없는 새 문서를 만드십시오.", "duplicate-widget-name-error": "이 위젯 이름은 이미 다른 서명자에게 할당되었습니다. 다른 이름을 선택하십시오.", @@ -1416,5 +1468,95 @@ "switch-to-advanced": "고급 모드로 전환", "switch-to-basic": "기본 모드로 전환", "use-name-as-sender": "프로필 이름을 발신자로 사용", - "use-name-as-sender-help": "활성화하면 {{appName}}에서 서명 요청 및 완료 이메일의 발신자로 프로필 이름을 사용합니다." -} \ No newline at end of file + "use-name-as-sender-help": "활성화하면 {{appName}}에서 서명 요청 및 완료 이메일의 발신자로 프로필 이름을 사용합니다.", + "acro-fields-detected": "양식 필드 감지됨", + "acro-fields-detected-msg": "업로드된 PDF에서 {{count}}개의 양식 필드가 감지되었습니다. 해당 위젯을 자동으로 삽입하시겠습니까?", + "documents-count": "문서 수", + "templates-count": "템플릿 수", + "emails-sent": "전송된 이메일", + "storage-used": "사용한 저장공간", + "docs-count-team-help": "조직 내 모든 사용자가 생성한 문서의 총 개수입니다.", + "docs-count-help": "내가 생성한 문서의 총 개수입니다.", + "templates-count-team-help": "조직 내 모든 사용자가 생성한 템플릿의 총 개수입니다.", + "templates-count-help": "내가 생성한 템플릿의 총 개수입니다.", + "emails-sent-team-help": "조직 전체에서 전송된 이메일 알림의 총 개수입니다.", + "emails-sent-help": "내가 전송한 이메일 알림의 총 개수입니다.", + "storage-used-team-help": "조직 전체의 모든 사용자가 사용한 총 저장공간입니다.", + "storage-used-help": "내가 사용한 총 저장공간입니다.", + "cloud": "클라우드", + "on-premises": "온프레미스", + "plan-name-free": "OPENSIGN™ FREE", + "plan-name-professional": "OPENSIGN™ PROFESSIONAL", + "plan-name-teams": "OPENSIGN™ TEAMS", + "plan-name-enterprise": "OPENSIGN™ ENTERPRISE", + "plan-name-self-hosted": "OPENSIGN™ SELF-HOSTED", + "plan-subtitle-free": "무료 무제한 전자 서명, 영원히.", + "plan-subtitle-professional": "고급 기능에 대한 독점 액세스.", + "plan-subtitle-scalable": "우선 지원을 제공하는 확장 가능한 기능.", + "subscribe": "구독", + "contact-us": "문의하기", + "benefit-unlimited-digital-signatures": "무제한 디지털 서명", + "benefit-sign-docs-yourself": "직접 문서에 서명", + "benefit-request-signatures": "타인에게 서명 요청", + "benefit-unlimited-templates": "무제한 템플릿", + "benefit-14-field-types": "14가지 필드 유형", + "benefit-automatic-e-signatures": "자동 전자 서명", + "benefit-completion-certificates": "완료 인증서", + "benefit-send-in-order": "순서대로 전송", + "benefit-organize-docs": "OpenSign™ Drive에서 문서 정리", + "benefit-document-templates": "문서 템플릿", + "benefit-import-from-dropbox": "Dropbox에서 가져오기", + "benefit-contact-book": "연락처 목록", + "benefit-document-expiry": "문서 만료 지원", + "benefit-decline-document": "문서 거절 지원", + "benefit-email-notifications": "이메일 알림", + "benefit-public-profiles": "공개 프로필", + "benefit-and-much-more": "그 외 더 많은 기능", + "benefit-everything-free": "OpenSign™ Free의 모든 기능", + "benefit-field-validations": "필드 유효성 검사", + "benefit-regex-validations": "정규식 유효성 검사", + "benefit-webhooks": "웹훅", + "benefit-zapier": "Zapier 통합", + "benefit-api-access": "API 액세스", + "benefit-api-signatures-100": "최대 100개 API 서명", + "benefit-api-signatures-240": "최대 240개 API 서명", + "benefit-custom-email-templates": "맞춤형 이메일 템플릿", + "benefit-custom-smtp": "이메일 발송을 위한 Gmail 또는 SMTP 계정 연결", + "benefit-auto-reminders": "자동 알림", + "benefit-bulk-send-100": "일괄 전송 (최대 100개 문서)", + "benefit-bulk-send-240": "일괄 전송 (최대 240개 문서)", + "benefit-premium-profiles": "프리미엄 공개 프로필 사용자 이름", + "benefit-email-verification": "서명자 신원 확인을 위한 이메일 인증 적용", + "benefit-embedded-signing": "임베디드 서명", + "benefit-everything-professional": "OpenSign™ Professional의 모든 기능", + "benefit-teams-organizations": "팀 및 조직", + "benefit-share-templates-teams": "팀과 템플릿 공유", + "benefit-share-templates-individuals": "개인과 템플릿 공유", + "benefit-byoc": "BYOC - 자체 클라우드 스토리지에 문서 저장", + "benefit-doc-id-removal": "서명된 문서에서 DocumentId 제거", + "benefit-request-payments": "결제 요청 (출시 예정)", + "benefit-mobile-app": "모바일 앱 (출시 예정)", + "benefit-api-signatures-500": "최대 500개 API 서명", + "benefit-bulk-send-500": "일괄 전송 (최대 500개 문서)", + "benefit-all-features": "모든 기능", + "benefit-custom-domain": "사용자 지정 도메인", + "benefit-custom-branding": "사용자 지정 브랜딩", + "benefit-uptime-sla": "가동 시간 SLA", + "benefit-sso-support": "SSO 지원", + "benefit-priority-support": "우선 지원", + "benefit-3-users-1500-credits": "3명의 사용자와 1500 프리미엄 크레딧 포함", + "benefit-public-links": "공개 링크", + "benefit-kiosk-mode": "키오스크 모드", + "benefit-bulk-send-1500": "일괄 전송 (최대 1500개 문서)", + "benefit-connect-gmail-smtp": "Gmail 또는 SMTP 연결", + "benefit-analytics": "분석", + "benefit-bulksend-api-pro-month-help": "이 플랜에는 월 100개의 프리미엄 크레딧이 포함되어 API로 문서를 전송하고, 공개 서명 링크를 공유하고, 대량 서명 요청을 실행하고, 대면 서명을 위한 Kiosk 모드를 사용하거나, 웹사이트에 직접 임베드된 문서에서 서명을 수집할 수 있습니다. 문서를 시작하거나 전송할 때마다 크레딧 1개가 사용되며 — 해당 문서 1건에는 최대 10명의 서명자를 포함할 수 있습니다.", + "benefit-bulksend-api-pro-year-help": "이 플랜에는 연 240개의 프리미엄 크레딧이 포함되어 API로 문서를 전송하고, 공개 서명 링크를 공유하고, 대량 서명 요청을 실행하고, 대면 서명을 위한 Kiosk 모드를 사용하거나, 웹사이트에 직접 임베드된 문서에서 서명을 수집할 수 있습니다. 문서를 시작하거나 전송할 때마다 크레딧 1개가 사용되며 — 해당 문서 1건에는 최대 10명의 서명자를 포함할 수 있습니다.", + "benefit-bulksend-api-team-month-help": "이 플랜에는 월 100개의 프리미엄 크레딧이 포함되어 API로 문서를 전송하고, 공개 서명 링크를 공유하고, 대량 서명 요청을 실행하고, 대면 서명을 위한 Kiosk 모드를 사용하거나, 웹사이트에 직접 임베드된 문서에서 서명을 수집할 수 있습니다. 문서를 시작하거나 전송할 때마다 크레딧 1개가 사용되며 — 해당 문서 1건에는 최대 10명의 서명자를 포함할 수 있습니다.", + "benefit-bulksend-api-team-year-help": "이 플랜에는 연 500개의 프리미엄 크레딧이 포함되어 API로 문서를 전송하고, 공개 서명 링크를 공유하고, 대량 서명 요청을 실행하고, 대면 서명을 위한 Kiosk 모드를 사용하거나, 웹사이트에 직접 임베드된 문서에서 서명을 수집할 수 있습니다. 문서를 시작하거나 전송할 때마다 크레딧 1개가 사용되며 — 해당 문서 1건에는 최대 10명의 서명자를 포함할 수 있습니다.", + "failed-pdf-for-prefill-processing": "프리필 처리를 위해 PDF를 불러오지 못했습니다.", + "attach-all-role-to-signer": "서명자에게 모든 역할을 연결해 주세요.", + "upgrade-to-edit": "편집하려면 업그레이드하세요", + "hide-live-chat-for-signers": "서명자에게 라이브 채팅 숨기기", + "hide-live-chat-for-signers-help": "활성화하면 서명 페이지에서 서명자에게 라이브 채팅 위젯이 숨겨집니다." +} diff --git a/apps/OpenSign/public/serve.json b/apps/OpenSign/public/serve.json new file mode 100644 index 0000000000..18ccfb7891 --- /dev/null +++ b/apps/OpenSign/public/serve.json @@ -0,0 +1,5 @@ +{ + "rewrites": [ + { "source": "/:path((?!\\.well-known/).*)", "destination": "/index.html" } + ] +} diff --git a/apps/OpenSign/public/version.txt b/apps/OpenSign/public/version.txt index 45ad538d99..a4e5cbaa1e 100644 Binary files a/apps/OpenSign/public/version.txt and b/apps/OpenSign/public/version.txt differ diff --git a/apps/OpenSign/server.cjs b/apps/OpenSign/server.cjs new file mode 100644 index 0000000000..e4798af508 --- /dev/null +++ b/apps/OpenSign/server.cjs @@ -0,0 +1,169 @@ +#!/usr/bin/env node +/* eslint-env node */ +/* eslint-disable no-console */ +// Tiny static file server for the production build. +// - Serves real files from ./build (including dotfile dirs like .well-known) +// - Falls back to /index.html only when the requested path does not exist +// (SPA client-side routing). +const http = require("node:http"); +const fs = require("node:fs"); +const path = require("node:path"); + +const root = path.join(__dirname, "build"); +const port = Number(process.env.PORT) || 3000; +const host = process.env.HOST || "0.0.0.0"; + +const mime = { + ".html": "text/html; charset=utf-8", + ".js": "application/javascript; charset=utf-8", + ".mjs": "application/javascript; charset=utf-8", + ".css": "text/css; charset=utf-8", + ".json": "application/json; charset=utf-8", + ".map": "application/json; charset=utf-8", + ".svg": "image/svg+xml", + ".png": "image/png", + ".jpg": "image/jpeg", + ".jpeg": "image/jpeg", + ".gif": "image/gif", + ".ico": "image/x-icon", + ".webp": "image/webp", + ".woff": "font/woff", + ".woff2": "font/woff2", + ".ttf": "font/ttf", + ".otf": "font/otf", + ".txt": "text/plain; charset=utf-8", + ".pdf": "application/pdf", + ".csv": "text/csv; charset=utf-8", + ".wasm": "application/wasm", + ".xml": "application/xml; charset=utf-8" +}; + +function contentType(filePath) { + // Files under /.well-known/ are JSON by convention (WebAuthn, apple-app-site-association, etc.) + // and are extensionless, so explicitly set application/json there. + const rel = path.relative(root, filePath).split(path.sep).join("/"); + if (rel.startsWith(".well-known/")) { + return "application/json; charset=utf-8"; + } + return mime[path.extname(filePath).toLowerCase()] || "application/octet-stream"; +} + +function applyWellKnownCors(req, res, filePath) { + const rel = path.relative(root, filePath).split(path.sep).join("/"); + if (!rel.startsWith(".well-known/")) return; + // .well-known/* must be readable cross-origin (e.g. WebAuthn related-origins + // requests come from any RP host). Echo the request origin when present so + // credentialed fetches still work; otherwise allow all. + const origin = req.headers.origin; + res.setHeader("Access-Control-Allow-Origin", origin || "*"); + res.setHeader("Vary", "Origin"); + res.setHeader("Access-Control-Allow-Methods", "GET, HEAD, OPTIONS"); + res.setHeader("Access-Control-Allow-Headers", "Content-Type"); +} + +function safeJoin(reqPath) { + let decoded; + try { + decoded = decodeURIComponent(reqPath.split("?")[0].split("#")[0]); + } catch { + return null; + } + const resolved = path.normalize(path.join(root, decoded)); + if (resolved !== root && !resolved.startsWith(root + path.sep)) return null; + return resolved; +} + +function cacheControl(filePath) { + const ext = path.extname(filePath).toLowerCase(); + const relativePath = path.relative(root, filePath); + const isBuildAsset = + relativePath === "assets" || + relativePath.startsWith(`assets${path.sep}`); + + if (ext === ".html" || ext === "") { + return "no-cache"; + } + + return isBuildAsset + ? "public, max-age=31536000, immutable" + : "no-cache"; +} + +function streamFile(req, res, filePath, stats) { + const headers = { + "Content-Type": contentType(filePath), + "Content-Length": stats.size, + "Last-Modified": stats.mtime.toUTCString(), + "Cache-Control": cacheControl(filePath) + }; + applyWellKnownCors(req, res, filePath); + if (req.method === "HEAD") { + res.writeHead(200, headers); + return res.end(); + } + const stream = fs.createReadStream(filePath); + stream.on("error", () => { + if (!res.headersSent) { + res.writeHead(500, { "Content-Type": "text/plain" }); + return res.end("Internal Server Error"); + } + res.destroy(); + }); + res.on("close", () => { + if (!stream.destroyed) stream.destroy(); + }); + res.on("error", () => { + if (!stream.destroyed) stream.destroy(); + }); + res.writeHead(200, headers); + stream.pipe(res); +} + +function sendIndex(req, res) { + const indexPath = path.join(root, "index.html"); + fs.stat(indexPath, (err, stats) => { + if (err || !stats.isFile()) { + res.writeHead(500, { "Content-Type": "text/plain" }); + return res.end("index.html not found"); + } + streamFile(req, res, indexPath, stats); + }); +} + +const server = http.createServer((req, res) => { + if (req.method === "OPTIONS") { + const filePath = safeJoin(req.url || "/"); + if (filePath) applyWellKnownCors(req, res, filePath); + res.writeHead(204); + return res.end(); + } + if (req.method !== "GET" && req.method !== "HEAD") { + res.writeHead(405, { Allow: "GET, HEAD, OPTIONS" }); + return res.end(); + } + const reqUrl = req.url || "/"; + const filePath = safeJoin(reqUrl); + if (!filePath) { + res.writeHead(400); + return res.end("Bad Request"); + } + + fs.stat(filePath, (err, stats) => { + if (!err && stats.isFile()) { + return streamFile(req, res, filePath, stats); + } + if (!err && stats.isDirectory()) { + const indexInDir = path.join(filePath, "index.html"); + return fs.stat(indexInDir, (e, s) => { + if (!e && s.isFile()) return streamFile(req, res, indexInDir, s); + return sendIndex(req, res); + }); + } + // No file at this path → SPA fallback to index.html + sendIndex(req, res); + }); +}); + +server.listen(port, host, () => { + console.log(`Serving ${root} on http://${host}:${port}`); +}); diff --git a/apps/OpenSign/src/components/Header.jsx b/apps/OpenSign/src/components/Header.jsx index b9532d7497..3be825c694 100644 --- a/apps/OpenSign/src/components/Header.jsx +++ b/apps/OpenSign/src/components/Header.jsx @@ -159,7 +159,7 @@ const Header = ({ isConsole, setIsLoggingOut }) => {
- +
{width >= 768 && (
{ const checkSignatureAndRoles = (placeholders = []) => { const filtered = placeholders.filter((x) => x?.Role !== "prefill"); + // Viewer/approver roles do not require a signature widget; only + // signer-role placeholders must have one. const isSignExist = - filtered?.length > 0 && - filtered.every((p) => - p?.placeHolder?.some((h) => - h?.pos?.some((x) => x?.type === "signature") - ) - ); + filtered?.length > 0 && filtered.every((p) => hasSignatureWidget(p)); setIsSignatureExist(isSignExist); setIsVacantRoles(filtered?.some((x) => !x.signerObjId)); }; diff --git a/apps/OpenSign/src/components/pdf/AddRoleModal.jsx b/apps/OpenSign/src/components/pdf/AddRoleModal.jsx index 652e89dbd0..c34e26ba3f 100644 --- a/apps/OpenSign/src/components/pdf/AddRoleModal.jsx +++ b/apps/OpenSign/src/components/pdf/AddRoleModal.jsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useState } from "react"; import ModalUi from "../../primitives/ModalUi"; import { useTranslation } from "react-i18next"; diff --git a/apps/OpenSign/src/components/pdf/CanvasGuidelines.jsx b/apps/OpenSign/src/components/pdf/CanvasGuidelines.jsx new file mode 100644 index 0000000000..de1cd2c426 --- /dev/null +++ b/apps/OpenSign/src/components/pdf/CanvasGuidelines.jsx @@ -0,0 +1,52 @@ +import { useGuidelinesContext } from "../../context/GuidelinesContext"; + +/** + * Canvas-level guidelines that live inside the main scroll container (not + * inside any individual page div). This allows the guideline lines to span + * across page boundaries seamlessly when dragging a widget from the side + * panel onto the document. + */ +const CanvasGuidelines = () => { + const { canvasGuideRefs } = useGuidelinesContext(); + + return ( + <> + {/* Horizontal guidelines */} + {/* top guide */} +
{ + canvasGuideRefs.current.top = el; + }} + className="absolute pointer-events-none z-[1000] left-0 w-full border-t-[1px] border-dashed border-[#3b82f6]" + style={{ top: 0, display: "none" }} + /> + {/* bottom guide */} +
{ + canvasGuideRefs.current.bottom = el; + }} + className="absolute pointer-events-none z-[1000] left-0 w-full border-t-[1px] border-dashed border-[#3b82f6]" + style={{ top: 0, display: "none" }} + /> + {/* Vertical guidelines */} + {/* left guide */} +
{ + canvasGuideRefs.current.left = el; + }} + className="absolute pointer-events-none z-[1000] top-0 h-full border-l-[1px] border-dashed border-[#3b82f6]" + style={{ left: 0, display: "none" }} + /> + {/* right guide */} +
{ + canvasGuideRefs.current.right = el; + }} + className="absolute pointer-events-none z-[1000] top-0 h-full border-l-[1px] border-dashed border-[#3b82f6]" + style={{ left: 0, display: "none" }} + /> + + ); +}; + +export default CanvasGuidelines; diff --git a/apps/OpenSign/src/components/pdf/DragGridLinesLayer.js b/apps/OpenSign/src/components/pdf/DragGridLinesLayer.js index ddcb447076..4f12c1f36a 100644 --- a/apps/OpenSign/src/components/pdf/DragGridLinesLayer.js +++ b/apps/OpenSign/src/components/pdf/DragGridLinesLayer.js @@ -1,77 +1,93 @@ import { useDragLayer } from "react-dnd"; -import { defaultWidthHeight } from "../../constant/Utils"; +import { defaultWidthHeight, getContainerScale } from "../../constant/Utils"; import { useEffect, useRef } from "react"; function DragGuideLinesLayer(props) { - const { showGuidelines } = props; + const { showCanvasGuidelines, canvasContainerRef } = props; const prevDragState = useRef({ isDragging: false, x: 0, y: 0 }); - const { isDraggingWidget, offset, itemType } = useDragLayer((monitor) => ({ - isDraggingWidget: monitor.isDragging(), - offset: monitor.getClientOffset(), - itemType: monitor.getItem() - })); + + const { isDraggingWidget, sourceOffset, itemType } = useDragLayer( + (monitor) => ({ + isDraggingWidget: monitor.isDragging(), + // Use getSourceClientOffset - this gives the top-left position of the + // drag source, which exactly matches WidgetsDragPreview's position. + sourceOffset: monitor.getSourceClientOffset(), + itemType: monitor.getItem() + }) + ); + useEffect(() => { // Hide guidelines when dragging stops if (!isDraggingWidget) { - showGuidelines(false); + showCanvasGuidelines(false); return; } - if (!offset) return; - //getting container by id - const container = document.getElementById("container"); - if (!container) return; - if (itemType?.text) { - // Calculate the position of the dragged element relative to the container - // Get the container's bounding rectangle (position and size in the viewport) - const containerRect = container.getBoundingClientRect(); - - // Compute the X and Y coordinates of the dragged item inside the container - // by subtracting the container's top-left offset from the current drag offset - const x = offset.x - containerRect.left; - const y = offset.y - containerRect.top; + if (!sourceOffset || !itemType?.text) return; - // Check if there’s any change in the dragging state or the dragged element’s position - // Compare the current drag state with the previously stored one - const hasStateChanged = - prevDragState.current.isDragging !== isDraggingWidget || // Drag started or stopped - prevDragState.current.x !== x || // X position changed - prevDragState.current.y !== y; // Y position changed + // Get the canvas container to calculate position relative to the full + // document canvas (which spans all pages). + const canvasContainer = canvasContainerRef?.current; + if (!canvasContainer) return; - if (hasStateChanged) { - // Update the previous drag state with the latest values - prevDragState.current = { isDragging: isDraggingWidget, x, y }; - if (isDraggingWidget) { - // Adjust the current drag coordinates relative to the initial widgets button position - const getXPosition = props?.signBtnPosition?.[0] - ? x - props.signBtnPosition[0].xPos - : x; - const getYPosition = props?.signBtnPosition?.[0] - ? y - props.signBtnPosition[0].yPos - : y; + const scale = props.scale || 1; // ✅ get scale + const containerRect = canvasContainer.getBoundingClientRect(); - // Get the default width and height of the dragged checkbox/radio widget type - const el = document.getElementById("checkbox&radio-preview"); - let rect; - if (el) { - rect = el.getBoundingClientRect(); - } - const widget = { - type: itemType?.text, - width: defaultWidthHeight(itemType?.text).width, - height: defaultWidthHeight(itemType?.text).height - }; + // ✅ Divide by scale so guidelines live in the same coordinate space + // as the absolute-positioned CanvasGuidelines divs inside the scaled canvas. + // Without this, at 1.5x zoom a viewport pixel maps to 1/1.5 canvas pixels, + // so the guideline lines appear further right/down than the drag preview. + const x = (sourceOffset.x - containerRect.left) / scale; + const y = (sourceOffset.y - containerRect.top) / scale; - const getWidth = - rect?.width || props?.posWidth(widget, props?.isSignYourself); - const getHeight = - rect?.height || props?.posHeight(widget, props?.isSignYourself); + // Check if there's any change in position + const hasStateChanged = + prevDragState.current.isDragging !== isDraggingWidget || + prevDragState.current.x !== x || + prevDragState.current.y !== y; - // Display the alignment guidelines based on the current drag position and widget size - showGuidelines(true, getXPosition, getYPosition, getWidth, getHeight); - } + if (hasStateChanged) { + prevDragState.current = { isDragging: isDraggingWidget, x, y }; + // Get the default width and height of the dragged checkbox/radio widget type + const el = document.getElementById("checkbox&radio-preview"); + let rect; + if (el) { + rect = el.getBoundingClientRect(); } + const containerScale = getContainerScale( + props.pdfOriginalWH, + props.pageNumber, + props.containerWH + ); + const height = + defaultWidthHeight(itemType?.text)?.height * containerScale; + const width = defaultWidthHeight(itemType?.text)?.width * containerScale; + const widget = { + type: itemType?.text, + Width: width / (containerScale * props?.scale), + Height: height / (containerScale * props?.scale) + }; + + // ✅ rect dimensions also need to be divided by scale because + // getBoundingClientRect() returns scaled (viewport) pixel sizes, + // but posWidth/posHeight return unscaled canvas sizes. + const getWidth = rect?.width + ? rect.width / scale + : props?.posWidth(widget); + const getHeight = rect?.height + ? rect.height / scale + : props?.posHeight(widget); + + // Display the alignment guidelines based on the current drag position and widget size + + showCanvasGuidelines(true, x, y, getWidth, getHeight); } - }, [isDraggingWidget, offset, itemType, showGuidelines]); + }, [ + isDraggingWidget, + sourceOffset, + itemType, + showCanvasGuidelines, + props.scale + ]); } export default DragGuideLinesLayer; diff --git a/apps/OpenSign/src/components/pdf/EditTemplate.jsx b/apps/OpenSign/src/components/pdf/EditTemplate.jsx index 95c14dcc0e..62c03898f5 100644 --- a/apps/OpenSign/src/components/pdf/EditTemplate.jsx +++ b/apps/OpenSign/src/components/pdf/EditTemplate.jsx @@ -39,6 +39,8 @@ const EditTemplate = ({ Note: template?.Note || "", Description: template?.Description || "", SendinOrder: template?.SendinOrder ? `${template?.SendinOrder}` : "false", + SendInOrderStrict: + template?.SendInOrderStrict === true ? "true" : "false", AutomaticReminders: template?.AutomaticReminders || false, RemindOnceInEvery: template?.RemindOnceInEvery || 5, IsEnableOTP: template?.IsEnableOTP ? `${template?.IsEnableOTP}` : "false", @@ -50,6 +52,7 @@ const EditTemplate = ({ ? template?.NotifyOnSignatures : false, Bcc: template?.Bcc, + Cc: template?.Cc, RedirectUrl: template?.RedirectUrl || "", AllowModifications: template?.AllowModifications || false, TimeToCompleteDays: template?.TimeToCompleteDays || 15, @@ -190,6 +193,8 @@ const EditTemplate = ({ SaveFileSize(buffer.length, pdfUrl, tenantId, userId); } const isChecked = formData.SendinOrder === "true" ? true : false; + const isStrictOrder = + isChecked && formData.SendInOrderStrict === "true"; const isTourEnabled = formData?.IsTourEnabled === "false" ? false : true; const AutoReminder = formData?.AutomaticReminders || false; const IsEnableOTP = formData.IsEnableOTP === "true" ? true : false; @@ -212,6 +217,7 @@ const EditTemplate = ({ ...formData, ...(pdfUrl ? { URL: pdfUrl } : {}), SendinOrder: isChecked, + SendInOrderStrict: isStrictOrder, IsEnableOTP: IsEnableOTP, IsTourEnabled: isTourEnabled, AllowModifications: allowModify, @@ -238,6 +244,18 @@ const EditTemplate = ({ } }; + const handleCc = (data) => { + if (data && data.length > 0) { + const trimEmail = data.map((item) => ({ + objectId: item?.value, + Name: item?.label, + Email: item?.email + })); + setIsUpdate(true); + setFormData((prev) => ({ ...prev, Cc: trimEmail })); + } + }; + const handleEditTemplateClose = () => { if (isUpdate) { setShowConfirm(true); @@ -411,6 +429,28 @@ const EditTemplate = ({
{t("no")}
+ {formData.SendinOrder === "true" && ( +
+ + setFormData({ + ...formData, + SendInOrderStrict: e.target.checked ? "true" : "false" + }) + } + /> + + {t("strict-order")} + +
+ )}
+
+ +
{ +import { useGuidelinesContext } from "../../context/GuidelinesContext"; + +const Guidelines = ({ pageNumber }) => { + const { guideRefs } = useGuidelinesContext(); + return ( <> {/* Horizontal guidelines */} - {/* top guide */}{" "} + {/* top guide */}
{ + if (!guideRefs.current[pageNumber]) + guideRefs.current[pageNumber] = {}; + guideRefs.current[pageNumber].top = el; + }} className="absolute pointer-events-none z-[1000] left-0 w-full border-t-[1px] border-dashed border-[#3b82f6]" - style={{ top: y1 }} + style={{ top: 0, display: "none" }} /> {/* bottom guide */}
{ + if (!guideRefs.current[pageNumber]) + guideRefs.current[pageNumber] = {}; + guideRefs.current[pageNumber].bottom = el; + }} className="absolute pointer-events-none z-[1000] left-0 w-full border-t-[1px] border-dashed border-[#3b82f6]" - style={{ top: y2 }} + style={{ top: 0, display: "none" }} /> {/* Vertical guidelines */} {/* left guide */}
{ + if (!guideRefs.current[pageNumber]) + guideRefs.current[pageNumber] = {}; + guideRefs.current[pageNumber].left = el; + }} className="absolute pointer-events-none z-[1000] top-0 h-full border-l-[1px] border-dashed border-[#3b82f6]" - style={{ left: x1 }} + style={{ left: 0, display: "none" }} /> {/* right guide */}
{ + if (!guideRefs.current[pageNumber]) + guideRefs.current[pageNumber] = {}; + guideRefs.current[pageNumber].right = el; + }} className="absolute pointer-events-none z-[1000] top-0 h-full border-l-[1px] border-dashed border-[#3b82f6]" - style={{ left: x2 }} + style={{ left: 0, display: "none" }} /> ); diff --git a/apps/OpenSign/src/components/pdf/PdfHeader.jsx b/apps/OpenSign/src/components/pdf/PdfHeader.jsx index caef19c6e4..2e722e48e0 100644 --- a/apps/OpenSign/src/components/pdf/PdfHeader.jsx +++ b/apps/OpenSign/src/components/pdf/PdfHeader.jsx @@ -29,6 +29,8 @@ function Header(props) { const [isReorderModal, setIsReorderModal] = useState(false); const mergePdfInputRef = useRef(null); const enabledBackBtn = props?.disabledBackBtn === true ? false : true; + const isViewerSigner = false; + const finishLabel = t("finish"); //function for show decline alert const handleDeclinePdfAlert = async () => { if (props?.handleDecline) { @@ -293,7 +295,7 @@ function Header(props) { */} {props?.currentSigner && (
- {props?.decline && ( + {props?.decline && !isViewerSigner && (
handleDeclinePdfAlert()} className="text-[red] border-none font-[650] text-[14px] mr-2" @@ -318,13 +320,15 @@ function Header(props) { : t("send")}
) : ( -
props?.embedWidgetsData()} - className="border-none font-[650] text-[14px] op-link op-link-primary no-underline" - > - {t("finish")} -
+ !isViewerSigner && ( +
props?.embedWidgetsData()} + className="border-none font-[650] text-[14px] op-link op-link-primary no-underline" + > + {finishLabel} +
+ ) )} {t("download")} )} - {!props?.isSelfSign && ( + {!props?.isSelfSign && !isViewerSigner && ( )} - + {!isViewerSigner && ( + + )} )}
@@ -681,7 +687,7 @@ function Header(props) { className="op-btn op-btn-primary op-btn-sm mr-[3px]" onClick={() => props?.embedWidgetsData()} > - {t("finish")} + {finishLabel}
)} diff --git a/apps/OpenSign/src/components/pdf/PdfTools.jsx b/apps/OpenSign/src/components/pdf/PdfTools.jsx index 7434d6891b..1cfdee3906 100644 --- a/apps/OpenSign/src/components/pdf/PdfTools.jsx +++ b/apps/OpenSign/src/components/pdf/PdfTools.jsx @@ -4,7 +4,6 @@ import { base64ToArrayBuffer, decryptPdf, deletePdfPage, - flattenPdf, getFileAsArrayBuffer, handleRemoveWidgets, reorderPdfPages @@ -13,6 +12,10 @@ import ModalUi from "../../primitives/ModalUi"; import { PDFDocument } from "pdf-lib"; import { maxFileSize } from "../../constant/const"; import PageReorderModal from "./PageReorderModal"; +import { + clearAcroFields, + isPdfPasswordProtected +} from "../../utils/acroFieldExtractor"; function PdfTools(props) { const { t } = useTranslation(); @@ -45,7 +48,7 @@ function PdfTools(props) { } } } catch (e) { - console.log("error in delete pdf page", e); + console.error("Delete pdf page error", e); } }; @@ -77,15 +80,16 @@ function PdfTools(props) { return; } try { - let uploadedPdfBytes = await file.arrayBuffer(); + let uploadedPdfBytes = await getFileAsArrayBuffer(file); try { - uploadedPdfBytes = await flattenPdf(uploadedPdfBytes); - } catch (err) { - if (err?.message?.includes("is encrypted")) { + await isPdfPasswordProtected(uploadedPdfBytes); + uploadedPdfBytes = await clearAcroFields(uploadedPdfBytes); // best effort cleanup to prevent stale data + } catch (error) { + if (error?.message?.includes("is encrypted")) { try { const pdfFile = await decryptPdf(file, ""); const pdfArrayBuffer = await getFileAsArrayBuffer(pdfFile); - uploadedPdfBytes = await flattenPdf(pdfArrayBuffer); + uploadedPdfBytes = await clearAcroFields(pdfArrayBuffer); } catch (err) { if (err?.response?.status === 401) { const password = prompt( @@ -95,22 +99,27 @@ function PdfTools(props) { try { const pdfFile = await decryptPdf(file, password); const pdfArrayBuffer = await getFileAsArrayBuffer(pdfFile); - uploadedPdfBytes = await flattenPdf(pdfArrayBuffer); + uploadedPdfBytes = await clearAcroFields(pdfArrayBuffer); // Upload the file to Parse Server } catch (err) { console.error("Incorrect password or decryption failed", err); alert(t("incorrect-password-or-decryption-failed")); + return; } } else { alert(t("provide-password")); + return; } } else { - console.log("Err ", err); + console.error("Decryption error ", error); alert(t("error-uploading-pdf")); + return; } } } else { + console.error("File upload error ", error); alert(t("error-uploading-pdf")); + return; } } const uploadedPdfDoc = await PDFDocument.load(uploadedPdfBytes, { @@ -156,7 +165,7 @@ function PdfTools(props) { props.setPageNumber(1); } } catch (e) { - console.log("error in reorder pdf pages", e); + console.error("Reorder PDF pages error", e); } setIsReorderModal(false); }; diff --git a/apps/OpenSign/src/components/pdf/Placeholder.jsx b/apps/OpenSign/src/components/pdf/Placeholder.jsx index 039329962a..88094d0042 100644 --- a/apps/OpenSign/src/components/pdf/Placeholder.jsx +++ b/apps/OpenSign/src/components/pdf/Placeholder.jsx @@ -34,6 +34,22 @@ import DatePicker from "react-datepicker"; import DateWidgetModal from "../../primitives/DateWidgetModal"; import { dateFormat } from "../../utils"; +/** + * Custom input UI for DatePicker + * - Declaring custom input outside resolve issue of the component recreates the input component identity on each state update, which can break re-open behavior after first use + */ +const DatePickerCustomInput = forwardRef(({ value, onClick }, ref) => ( +
+ {value} + +
+)); +DatePickerCustomInput.displayName = "DatePickerCustomInput"; + function Placeholder(props) { const { t } = useTranslation(); const dispatch = useDispatch(); @@ -55,7 +71,11 @@ function Placeholder(props) { const [isToday, setIsToday] = useState( props.pos?.options?.response === "today" ? true : false ); - const [selectedFormatIndex, setselectedFormatIndex] = useState(0); + const selectedFormatIndex = dateFormatList?.findIndex( + (item) => + item.format === selectDate?.format || + item?.format === props.pos?.options?.validation?.format + ); const isSelfSign = props.isSignYourself || props.isSelfSign; const startDate = props?.pos?.options?.response @@ -66,7 +86,7 @@ function Placeholder(props) { : ""; useEffect(() => { const getPdfPageWidth = props.pdfOriginalWH.find( - (data) => data.pageNumber === props.pageNumber + (data) => data.pageNumber === props.widgetPageNum ); setContainerScale(props.containerWH.width / getPdfPageWidth.width); // eslint-disable-next-line react-hooks/exhaustive-deps @@ -175,13 +195,6 @@ function Placeholder(props) { updateDate.push(dateObj); }); setDateFormatList(updateDate); - setselectedFormatIndex( - updateDate?.findIndex( - (item) => - item.format === selectDate?.format || - item?.format === props.pos?.options?.validation?.format - ) - ); }; useEffect(() => { @@ -202,7 +215,11 @@ function Placeholder(props) { props?.data?.Role !== "prefill" && props.data?.Id === props.uniqueId ) { - props.setCurrWidgetsDetails && props.setCurrWidgetsDetails(props.pos); + props.setCurrWidgetsDetails && + props.setCurrWidgetsDetails({ + ...props.pos, + pageNumber: props.widgetPageNum + }); if (props?.ispublicTemplate) { props.handleUserDetails(); } else { @@ -214,19 +231,24 @@ function Placeholder(props) { const updateZindex = handleHeighlightWidget( getCurrentSignerPos, props.pos.key, - props.pageNumber + props.widgetPageNum ); const updatesignerPos = props.xyPosition.map((x) => x.Id === props.uniqueId ? { ...x, placeHolder: updateZindex } : x ); props.setXyPosition(updatesignerPos); } + props?.closeWidgetTour?.(); dispatch(setIsShowModal({ [props.pos.key]: true })); } } //placeholder, template flow else if (props.isPlaceholder && !props.isDragging) { - props.setCurrWidgetsDetails && props.setCurrWidgetsDetails(props.pos); + props.setCurrWidgetsDetails && + props.setCurrWidgetsDetails({ + ...props.pos, + pageNumber: props.widgetPageNum + }); if (props?.data?.Role !== "prefill") { //this condition is used open signers attach modal but it should only open when widgets already selected if (props?.currWidgetsDetails?.key === props.pos?.key) { @@ -235,6 +257,8 @@ function Placeholder(props) { props.setUniqueId && props.setUniqueId(props.data.Id); props?.setRoleName(""); } else if (props?.data?.Role === "prefill") { + props?.handleClosePrefillTour?.(); + props?.closeWidgetTour?.(); dispatch(setIsShowModal({ [props.pos.key]: true })); props.setUniqueId(props?.data?.Id); props?.setRoleName("prefill"); @@ -286,7 +310,10 @@ function Placeholder(props) { ) { props.setUniqueId(props?.data?.Id); } - props.setCurrWidgetsDetails(props.pos); + props?.setCurrWidgetsDetails?.({ + ...props.pos, + pageNumber: props.widgetPageNum + }); }; //function to set required state value onclick on widget's copy icon const handleCopyPlaceholder = (e) => { @@ -307,7 +334,10 @@ function Placeholder(props) { props.setUniqueId(props?.data?.Id); } props.setIsPageCopy(true); - props.setCurrWidgetsDetails(props.pos); + props?.setCurrWidgetsDetails?.({ + ...props.pos, + pageNumber: props.widgetPageNum + }); }; const setCellCount = (key, newCount) => { @@ -319,7 +349,7 @@ function Placeholder(props) { if (filterSignerPos.length > 0) { const getPlaceHolder = filterSignerPos[0].placeHolder; const updatedPlaceHolder = getPlaceHolder.map((ph) => { - if (ph.pageNumber !== props.pageNumber) return ph; + if (ph.pageNumber !== props.widgetPageNum) return ph; const newPos = ph.pos.map((p) => p.key === key ? { ...p, options: { ...p.options, cellCount: newCount } } @@ -453,12 +483,18 @@ function Placeholder(props) { e.stopPropagation()} onClick={(e) => { - props.setCurrWidgetsDetails(props.pos); + props?.setCurrWidgetsDetails?.({ + ...props.pos, + pageNumber: props.widgetPageNum + }); setIsDateModal(!isDateModal); e.stopPropagation(); setClickonWidget(props.pos); if (props.data) { - props.setCurrWidgetsDetails(props.pos); + props?.setCurrWidgetsDetails?.({ + ...props.pos, + pageNumber: props.widgetPageNum + }); props.setUniqueId(props.data.Id); const checkIndex = props.xyPosition.findIndex( (data) => data.Id === props.data.Id @@ -467,11 +503,17 @@ function Placeholder(props) { } }} onTouchEnd={(e) => { - props.setCurrWidgetsDetails(props.pos); + props?.setCurrWidgetsDetails?.({ + ...props.pos, + pageNumber: props.widgetPageNum + }); e.stopPropagation(); setIsDateModal(!isDateModal); if (props.data) { - props.setCurrWidgetsDetails(props.pos); + props?.setCurrWidgetsDetails?.({ + ...props.pos, + pageNumber: props.widgetPageNum + }); props.setUniqueId(props.data.Id); const checkIndex = props.xyPosition.findIndex( (data) => data.Id === props.data.Id @@ -502,11 +544,19 @@ function Placeholder(props) { showGuidelines(false); //condition for template and placeholder flow if (props.data) { - props.handleDeleteWidget(props.pos.key, props.data.Id); + props.handleDeleteWidget( + props.pos.key, + props.data.Id, + props.widgetPageNum + ); } //condition for signyour-self flow else { - props.handleDeleteWidget(props.pos.key); + props.handleDeleteWidget( + props.pos.key, + null, + props.widgetPageNum + ); } }} //for mobile and tablet touch event @@ -515,11 +565,19 @@ function Placeholder(props) { showGuidelines(false); //condition for template and placeholder flow if (props.data) { - props.handleDeleteWidget(props.pos.key, props.data?.Id); + props.handleDeleteWidget( + props.pos.key, + props.data?.Id, + props.widgetPageNum + ); } //condition for signyour-self flow else { - props.handleDeleteWidget(props.pos.key); + props.handleDeleteWidget( + props.pos.key, + null, + props.widgetPageNum + ); } }} > @@ -527,29 +585,18 @@ function Placeholder(props) { ) ); }; - const xPos = (pos, signYourself) => { + const xPos = (pos) => { const containerScale = getContainerScale( props.pdfOriginalWH, props.pageNumber, props.containerWH ); const resizePos = pos.xPosition; - if (signYourself) { - return resizePos * containerScale * props.scale; - } else { - //checking both condition mobile and desktop view - if (pos.isMobile && pos.scale) { - if (props.scale > 1) { - return resizePos * pos.scale * containerScale * props.scale; - } else { - return resizePos * pos.scale * containerScale; - } - } else { - return resizePos * containerScale * props.scale; - } - } + + return resizePos * containerScale; // ✅ desktop: account for Page scale }; - const yPos = (pos, signYourself) => { + + const yPos = (pos) => { const containerScale = getContainerScale( props.pdfOriginalWH, props.pageNumber, @@ -557,29 +604,17 @@ function Placeholder(props) { ); const resizePos = pos.yPosition; - if (signYourself) { - return resizePos * containerScale * props.scale; - } else { - //checking both condition mobile and desktop view - if (pos.isMobile && pos.scale) { - if (props.scale > 1) { - return resizePos * pos.scale * containerScale * props.scale; - } else { - return resizePos * pos.scale * containerScale; - } - } else { - return resizePos * containerScale * props.scale; - } - } + return resizePos * containerScale; // ✅ desktop fix }; + // function to calculate font size const calculateFont = (size, isMinHeight) => { const containerScale = getContainerScale( props.pdfOriginalWH, - props.pageNumber, + props.widgetPageNum, props.containerWH ); - const fontSize = (size || 12) * containerScale * props.scale; + const fontSize = (size || 12) * containerScale; // isMinHeight to set text box minimum height if (isMinHeight) { return fontSize * 1.5 + "px"; @@ -624,18 +659,6 @@ function Placeholder(props) { } }; - const ExampleCustomInput = forwardRef(({ value, onClick }, ref) => ( -
- {value} - -
- )); - ExampleCustomInput.displayName = "ExampleCustomInput"; - const handleChangeFormat = (e) => { const selectedIndex = e.target.value; e.stopPropagation(); @@ -693,20 +716,27 @@ function Placeholder(props) { {props.pos?.options?.response && props.pos.key !== props?.currWidgetsDetails?.key && props.pos.type === textWidget ? ( - + ) : ( { @@ -833,19 +875,19 @@ function Placeholder(props) { position.x, position.y, ref.offsetWidth, - ref.offsetHeight + ref.offsetHeight, + props.widgetPageNum ); }} onResizeStop={(e, direction, ref) => { setTimeout(() => props?.setIsResize?.(false), 50); - props?.handleSignYourselfImageResize?.( + props?.handleWidgetResize?.( ref, props.pos.key, props.xyPosition, props.setXyPosition, props.index, containerScale, - props.scale, props.data && props.data.Id, props.isResize ); @@ -859,12 +901,13 @@ function Placeholder(props) { event, dragElement, props.data?.Id, - props.pos?.key + props.pos?.key, + props.widgetPageNum ); }} position={{ - x: xPos(props.pos, props.isSignYourself), - y: yPos(props.pos, props.isSignYourself) + x: xPos(props.pos), + y: yPos(props.pos) }} disableDragging={handleDragging()} > @@ -916,8 +959,8 @@ function Placeholder(props) {
@@ -1056,7 +1100,7 @@ function Placeholder(props) { selectDate?.format )} popperPlacement="top-end" - customInput={} + customInput={} onChange={(date) => { setIsToday(false); const isDateChange = true; diff --git a/apps/OpenSign/src/components/pdf/PlaceholderCopy.jsx b/apps/OpenSign/src/components/pdf/PlaceholderCopy.jsx index c13daead38..381db13246 100644 --- a/apps/OpenSign/src/components/pdf/PlaceholderCopy.jsx +++ b/apps/OpenSign/src/components/pdf/PlaceholderCopy.jsx @@ -71,8 +71,8 @@ function PlaceholderCopy(props) { newPageNumber !== props.pageNumber ) { // Fallback widget dimensions (in case not defined) - const widgetHeight = newPlaceholder?.height || 60; - const widgetWidth = newPlaceholder?.width || 150; + const widgetHeight = newPlaceholder?.Height || 60; + const widgetWidth = newPlaceholder?.Width || 150; //Calculate scaling ratio between source and target page const heightRatio = targetPageHeight / sourcePageHeight; @@ -281,13 +281,11 @@ function PlaceholderCopy(props) { const filteredOld = oldPlaceholders.filter( (page) => page.pageNumber < start || page.pageNumber > end ); - return { ...signersData, placeHolder: [...filteredOld, ...newPlaceholderPosition] }; }); - // No mutation props.setXyPosition(updatedSignerPlaceholder); } diff --git a/apps/OpenSign/src/components/pdf/PlaceholderType.jsx b/apps/OpenSign/src/components/pdf/PlaceholderType.jsx index 707c11204f..92d0706148 100644 --- a/apps/OpenSign/src/components/pdf/PlaceholderType.jsx +++ b/apps/OpenSign/src/components/pdf/PlaceholderType.jsx @@ -45,8 +45,11 @@ function PlaceholderType(props) { (props.pos.options?.isReadOnly || props.data?.signerObjId !== props.signerObjId); // prefer the latest response value over any default value - const widgetData = - props.pos?.options?.response ?? props.pos?.options?.defaultValue ?? ""; + //props?.isPrefillModal is used to handle in create template flow when user use use-template button + //then prefill details should not be reflect on pdf document it should only show in modal + const widgetData = !props?.isPrefillModal + ? (props.pos?.options?.response ?? props.pos?.options?.defaultValue ?? "") + : ""; const [widgetValue, setwidgetValue] = useState(); const [selectedCheckbox, setSelectedCheckbox] = useState([]); const [imgUrl, setImgUrl] = useState(""); @@ -64,13 +67,15 @@ function PlaceholderType(props) { height: "100%" }; useEffect(() => { - if (type !== "date") { - if (type && type === "checkbox") { - setSelectedCheckbox(response || defaultData || []); - } - else { - // keep displayed value in sync with the stored response - setwidgetValue(widgetData); + if (!props?.isPrefillModal) { + if (type !== "date") { + if (type && type === "checkbox") { + setSelectedCheckbox(response || defaultData || []); + } + else { + // keep displayed value in sync with the stored response + setwidgetValue(widgetData); + } } } // eslint-disable-next-line react-hooks/exhaustive-deps @@ -94,10 +99,24 @@ function PlaceholderType(props) { )); ExampleCustomInput.displayName = "ExampleCustomInput"; + // Extract string label from a radio/checkbox value entry which may be + // either a plain string or an object like { name: string, checked: boolean } + const getRadioLabel = (data) => { + if (typeof data === "string") return data; + if (data && typeof data === "object" && data.name != null) + return String(data.name); + return ""; + }; + const handleRadioCheck = (data) => { - const defaultData = - widgetValue?.trim() || props.pos?.options?.defaultValue?.trim() || ""; - return defaultData === data?.trim(); + if (!props?.isPrefillModal) { + const defaultData = widgetValue + ? widgetValue?.trim() + : props.pos?.options?.defaultValue + ? props.pos?.options?.defaultValue?.trim() + : ""; + return defaultData === data?.trim(); + } }; //function is used to get prefill image's signedUrl after expired useEffect(() => { @@ -117,7 +136,9 @@ function PlaceholderType(props) { setImgUrl(props.pos.SignUrl); } }; - loadImage(); + if (!props?.isPrefillModal) { + loadImage(); + } }, [props.pos.SignUrl]); const formatWidgetName = () => { @@ -176,12 +197,25 @@ function PlaceholderType(props) { }, [props?.startDate, props?.selectDate?.format]); switch (type) { - case "signature": + case "signature": { + const sigRotation = props.pos.options?.rotation; + const sigIsSwapped = [90, 270].includes(sigRotation); + const sigImgStyle = sigRotation + ? sigIsSwapped && + props.pos.signatureType === "type" && + props.pos.Width && + props.pos.Height + ? { + transform: `rotate(${sigRotation}deg) scaleX(${props.pos.Width / props.pos.Height}) scaleY(${props.pos.Height / props.pos.Width})` + } + : { transform: `rotate(${sigRotation}deg)` } + : undefined; return props.pos.SignUrl ? ( signature ) : ( @@ -191,15 +225,19 @@ function PlaceholderType(props) { style={{ fontSize: props.pos ? props.calculateFontsize(props.pos) - : "11px" + : "11px", + ...(sigRotation + ? { transform: `rotate(${sigRotation}deg)` } + : {}) }} - className="font-medium" + className={`${sigIsSwapped ? "whitespace-nowrap" : ""} font-medium`} > {formatWidgetName()}
)}
); + } case "stamp": return props.pos.SignUrl ? ( 0 ? true : false; + const checkboxSize = parseFloat(fontSize); + // Scaled gaps + const checkboxGapX = `${checkboxSize * 0.8}px`; // was gap-x-2 (fixed 8px) + const checkboxGapY = `${checkboxSize * 0.4}px`; // was gap-y-[3px] (fixed 3px) + const checkBoxWrapperClass = `flex items-start whitespace-pre-wrap ${ checkBoxLayout === "horizontal" - ? `flex-row flex-wrap lg:py-[1.6px] ${isMultipleCheckbox ? "gap-x-2" : ""}` - : `flex-col ${isMultipleCheckbox ? "gap-y-[3px]" : ""}` - }`; // Using gap-y-1 for consistency, adjust if needed + ? `flex-row flex-wrap lg:py-[1.6px]` + : `flex-col` + }`; return (
{props.pos.options?.values?.map((data, ind) => (
); - case "initials": + case "initials": { + const iniRotation = props.pos.options?.rotation; + const iniIsSwapped = [90, 270].includes(iniRotation); + const iniImgStyle = iniRotation + ? iniIsSwapped && + props.pos.signatureType === "type" && + props.pos.Width && + props.pos.Height + ? { + transform: `rotate(${iniRotation}deg) scaleX(${props.pos.Width / props.pos.Height}) scaleY(${props.pos.Height / props.pos.Width})` + } + : { transform: `rotate(${iniRotation}deg)` } + : undefined; return props.pos.SignUrl ? ( initials ) : ( @@ -342,7 +421,11 @@ function PlaceholderType(props) { style={{ fontSize: props.pos ? props.calculateFontsize(props.pos) - : "11px" + : "11px", + ...(iniRotation + ? { transform: `rotate(${iniRotation}deg)` } + : {}), + ...(iniIsSwapped ? { whiteSpace: "nowrap" } : {}) }} className="font-medium text-center" > @@ -351,6 +434,7 @@ function PlaceholderType(props) { )}
); + } case "name": return iswidgetEnable ? (