diff --git a/apps/OpenSign/package-lock.json b/apps/OpenSign/package-lock.json index db904d0d3a..cf882c1383 100644 --- a/apps/OpenSign/package-lock.json +++ b/apps/OpenSign/package-lock.json @@ -12,7 +12,6 @@ "@lottiefiles/dotlottie-react": "^0.13.2", "@pdf-lib/fontkit": "^1.1.1", "@radix-ui/themes": "^3.1.6", - "@react-pdf/renderer": "^4.3.0", "@reduxjs/toolkit": "^2.5.1", "axios": "^1.8.4", "css-minimizer-webpack-plugin": "^7.0.2", @@ -6107,174 +6106,6 @@ "resolved": "https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-4.0.2.tgz", "integrity": "sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==" }, - "node_modules/@react-pdf/fns": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-3.1.2.tgz", - "integrity": "sha512-qTKGUf0iAMGg2+OsUcp9ffKnKi41RukM/zYIWMDJ4hRVYSr89Q7e3wSDW/Koqx3ea3Uy/z3h2y3wPX6Bdfxk6g==", - "license": "MIT" - }, - "node_modules/@react-pdf/font": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-4.0.2.tgz", - "integrity": "sha512-/dAWu7Y2RD1RxarDZ9SkYPHgBYOhmcDnet4W/qN/m8k+A2Hr3ja54GymSR7GGxWBtxjKtNauVKrTa9LS1n8WUw==", - "license": "MIT", - "dependencies": { - "@react-pdf/pdfkit": "^4.0.3", - "@react-pdf/types": "^2.9.0", - "fontkit": "^2.0.2", - "is-url": "^1.2.4" - } - }, - "node_modules/@react-pdf/image": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-3.0.3.tgz", - "integrity": "sha512-lvP5ryzYM3wpbO9bvqLZYwEr5XBDX9jcaRICvtnoRqdJOo7PRrMnmB4MMScyb+Xw10mGeIubZAAomNAG5ONQZQ==", - "license": "MIT", - "dependencies": { - "@react-pdf/png-js": "^3.0.0", - "jay-peg": "^1.1.1" - } - }, - "node_modules/@react-pdf/layout": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-4.4.0.tgz", - "integrity": "sha512-Aq+Cc6JYausWLoks2FvHe3PwK9cTuvksB2uJ0AnkKJEUtQbvCq8eCRb1bjbbwIji9OzFRTTzZij7LzkpKHjIeA==", - "license": "MIT", - "dependencies": { - "@react-pdf/fns": "3.1.2", - "@react-pdf/image": "^3.0.3", - "@react-pdf/primitives": "^4.1.1", - "@react-pdf/stylesheet": "^6.1.0", - "@react-pdf/textkit": "^6.0.0", - "@react-pdf/types": "^2.9.0", - "emoji-regex": "^10.3.0", - "queue": "^6.0.1", - "yoga-layout": "^3.2.1" - } - }, - "node_modules/@react-pdf/pdfkit": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@react-pdf/pdfkit/-/pdfkit-4.0.3.tgz", - "integrity": "sha512-k+Lsuq8vTwWsCqTp+CCB4+2N+sOTFrzwGA7aw3H9ix/PDWR9QksbmNg0YkzGbLAPI6CeawmiLHcf4trZ5ecLPQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.13", - "@react-pdf/png-js": "^3.0.0", - "browserify-zlib": "^0.2.0", - "crypto-js": "^4.2.0", - "fontkit": "^2.0.2", - "jay-peg": "^1.1.1", - "linebreak": "^1.1.0", - "vite-compatible-readable-stream": "^3.6.1" - } - }, - "node_modules/@react-pdf/png-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-3.0.0.tgz", - "integrity": "sha512-eSJnEItZ37WPt6Qv5pncQDxLJRK15eaRwPT+gZoujP548CodenOVp49GST8XJvKMFt9YqIBzGBV/j9AgrOQzVA==", - "license": "MIT", - "dependencies": { - "browserify-zlib": "^0.2.0" - } - }, - "node_modules/@react-pdf/primitives": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-4.1.1.tgz", - "integrity": "sha512-IuhxYls1luJb7NUWy6q5avb1XrNaVj9bTNI40U9qGRuS6n7Hje/8H8Qi99Z9UKFV74bBP3DOf3L1wV2qZVgVrQ==", - "license": "MIT" - }, - "node_modules/@react-pdf/reconciler": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@react-pdf/reconciler/-/reconciler-1.1.4.tgz", - "integrity": "sha512-oTQDiR/t4Z/Guxac88IavpU2UgN7eR0RMI9DRKvKnvPz2DUasGjXfChAdMqDNmJJxxV26mMy9xQOUV2UU5/okg==", - "license": "MIT", - "dependencies": { - "object-assign": "^4.1.1", - "scheduler": "0.25.0-rc-603e6108-20241029" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@react-pdf/render": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-4.3.0.tgz", - "integrity": "sha512-MdWfWaqO6d7SZD75TZ2z5L35V+cHpyA43YNRlJNG0RJ7/MeVGDQv12y/BXOJgonZKkeEGdzM3EpAt9/g4E22WA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.13", - "@react-pdf/fns": "3.1.2", - "@react-pdf/primitives": "^4.1.1", - "@react-pdf/textkit": "^6.0.0", - "@react-pdf/types": "^2.9.0", - "abs-svg-path": "^0.1.1", - "color-string": "^1.9.1", - "normalize-svg-path": "^1.1.0", - "parse-svg-path": "^0.1.2", - "svg-arc-to-cubic-bezier": "^3.2.0" - } - }, - "node_modules/@react-pdf/renderer": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-4.3.0.tgz", - "integrity": "sha512-28gpA69fU9ZQrDzmd5xMJa1bDf8t0PT3ApUKBl2PUpoE/x4JlvCB5X66nMXrfFrgF2EZrA72zWQAkvbg7TE8zw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.13", - "@react-pdf/fns": "3.1.2", - "@react-pdf/font": "^4.0.2", - "@react-pdf/layout": "^4.4.0", - "@react-pdf/pdfkit": "^4.0.3", - "@react-pdf/primitives": "^4.1.1", - "@react-pdf/reconciler": "^1.1.4", - "@react-pdf/render": "^4.3.0", - "@react-pdf/types": "^2.9.0", - "events": "^3.3.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "queue": "^6.0.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@react-pdf/stylesheet": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-6.1.0.tgz", - "integrity": "sha512-BGZ2sYNUp38VJUegjva/jsri3iiRGnVNjWI+G9dTwAvLNOmwFvSJzqaCsEnqQ/DW5mrTBk/577FhDY7pv6AidA==", - "license": "MIT", - "dependencies": { - "@react-pdf/fns": "3.1.2", - "@react-pdf/types": "^2.9.0", - "color-string": "^1.9.1", - "hsl-to-hex": "^1.0.0", - "media-engine": "^1.0.3", - "postcss-value-parser": "^4.1.0" - } - }, - "node_modules/@react-pdf/textkit": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-6.0.0.tgz", - "integrity": "sha512-fDt19KWaJRK/n2AaFoVm31hgGmpygmTV7LsHGJNGZkgzXcFyLsx+XUl63DTDPH3iqxj3xUX128t104GtOz8tTw==", - "license": "MIT", - "dependencies": { - "@react-pdf/fns": "3.1.2", - "bidi-js": "^1.0.2", - "hyphen": "^1.6.4", - "unicode-properties": "^1.4.1" - } - }, - "node_modules/@react-pdf/types": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.9.0.tgz", - "integrity": "sha512-ckj80vZLlvl9oYrQ4tovEaqKWP3O06Eb1D48/jQWbdwz1Yh7Y9v1cEmwlP8ET+a1Whp8xfdM0xduMexkuPANCQ==", - "license": "MIT", - "dependencies": { - "@react-pdf/font": "^4.0.2", - "@react-pdf/primitives": "^4.1.1", - "@react-pdf/stylesheet": "^6.1.0" - } - }, "node_modules/@reduxjs/toolkit": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.1.tgz", @@ -7534,12 +7365,6 @@ "optional": true, "peer": true }, - "node_modules/abs-svg-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", - "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==", - "license": "MIT" - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -8429,6 +8254,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "devOptional": true, "funding": [ { "type": "github", @@ -8464,15 +8290,6 @@ "node": ">= 8.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==", - "license": "MIT", - "dependencies": { - "require-from-string": "^2.0.2" - } - }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -8727,29 +8544,11 @@ "node": ">=8" } }, - "node_modules/brotli": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", - "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", - "license": "MIT", - "dependencies": { - "base64-js": "^1.1.2" - } - }, "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "license": "MIT", - "dependencies": { - "pako": "~1.0.5" - } - }, "node_modules/browserslist": { "version": "4.24.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", @@ -9455,15 +9254,6 @@ "node": ">=12" } }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -9535,16 +9325,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -9952,7 +9732,8 @@ "node_modules/crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "optional": true }, "node_modules/crypto-random-string": { "version": "2.0.0", @@ -11062,12 +10843,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/dfa": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", - "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", - "license": "MIT" - }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -11360,7 +11135,8 @@ "node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", @@ -12689,23 +12465,6 @@ } } }, - "node_modules/fontkit": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", - "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", - "license": "MIT", - "dependencies": { - "@swc/helpers": "^0.5.12", - "brotli": "^1.3.2", - "clone": "^2.1.2", - "dfa": "^1.2.0", - "fast-deep-equal": "^3.1.3", - "restructure": "^3.0.0", - "tiny-inflate": "^1.0.3", - "unicode-properties": "^1.4.0", - "unicode-trie": "^2.0.0" - } - }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -13559,21 +13318,6 @@ "wbuf": "^1.1.0" } }, - "node_modules/hsl-to-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-to-hex/-/hsl-to-hex-1.0.0.tgz", - "integrity": "sha512-K6GVpucS5wFf44X0h2bLVRDsycgJmf9FF2elg+CrqD8GcFU8c6vYhgXn8NjUkFCwj+xDFb70qgLbTUm6sxwPmA==", - "license": "MIT", - "dependencies": { - "hsl-to-rgb-for-reals": "^1.1.0" - } - }, - "node_modules/hsl-to-rgb-for-reals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/hsl-to-rgb-for-reals/-/hsl-to-rgb-for-reals-1.1.1.tgz", - "integrity": "sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==", - "license": "ISC" - }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -13790,12 +13534,6 @@ "node": ">=16.17.0" } }, - "node_modules/hyphen": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/hyphen/-/hyphen-1.10.6.tgz", - "integrity": "sha512-fXHXcGFTXOvZTSkPJuGOQf5Lv5T/R2itiiCVPg9LxAje5D00O0pP83yJShFq5V89Ly//Gt6acj7z8pbBr34stw==", - "license": "ISC" - }, "node_modules/i18next": { "version": "23.16.8", "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", @@ -14717,12 +14455,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "license": "MIT" - }, "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -15043,15 +14775,6 @@ "node": ">=8" } }, - "node_modules/jay-peg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jay-peg/-/jay-peg-1.1.1.tgz", - "integrity": "sha512-D62KEuBxz/ip2gQKOEhk/mx14o7eiFRaU+VNNSP4MOiIkwb/D6B3G1Mfas7C/Fit8EsSV2/IWjZElx/Gs6A4ww==", - "license": "MIT", - "dependencies": { - "restructure": "^3.0.0" - } - }, "node_modules/jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", @@ -17517,25 +17240,6 @@ "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/linebreak": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", - "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", - "license": "MIT", - "dependencies": { - "base64-js": "0.0.8", - "unicode-trie": "^2.0.0" - } - }, - "node_modules/linebreak/node_modules/base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -18150,12 +17854,6 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" }, - "node_modules/media-engine": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/media-engine/-/media-engine-1.0.3.tgz", - "integrity": "sha512-aa5tG6sDoK+k70B9iEX1NeyfT8ObCKhNDs6lJVpwF6r8vhUfuKMslIcirq6HIUYuuUYLefcEQOn9bSBOvawtwg==", - "license": "MIT" - }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -18624,15 +18322,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-svg-path": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", - "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", - "license": "MIT", - "dependencies": { - "svg-arc-to-cubic-bezier": "^3.0.0" - } - }, "node_modules/normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", @@ -19193,12 +18882,6 @@ "node": ">=0.10.0" } }, - "node_modules/parse-svg-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", - "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==", - "license": "MIT" - }, "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -21186,15 +20869,6 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "license": "MIT", - "dependencies": { - "inherits": "~2.0.3" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -24284,12 +23958,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/restructure": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", - "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", - "license": "MIT" - }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -24549,12 +24217,6 @@ "node": ">=10" } }, - "node_modules/scheduler": { - "version": "0.25.0-rc-603e6108-20241029", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0-rc-603e6108-20241029.tgz", - "integrity": "sha512-pFwF6H1XrSdYYNLfOcGlM28/j8CGLu8IvdrxqhjWULe2bPcKiKW4CV+OWqR/9fT52mywx65l7ysNkjLKBda7eA==", - "license": "MIT" - }, "node_modules/schema-utils": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", @@ -25060,21 +24722,6 @@ "simple-concat": "^1.0.0" } }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "license": "MIT" - }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -25871,12 +25518,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-arc-to-cubic-bezier": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", - "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==", - "license": "ISC" - }, "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", @@ -26307,12 +25948,6 @@ "resolved": "https://registry.npmjs.org/timezone-soft/-/timezone-soft-1.5.2.tgz", "integrity": "sha512-BUr+CfBfeWXJwFAuEzPO9uF+v6sy3pL5SKLkDg4vdEhsyXgbBnpFoBCW8oEKSNTqNq9YHbVOjNb31xE7WyGmrA==" }, - "node_modules/tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", - "license": "MIT" - }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -26699,16 +26334,6 @@ "node": ">=4" } }, - "node_modules/unicode-properties": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", - "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.0", - "unicode-trie": "^2.0.0" - } - }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", @@ -26717,22 +26342,6 @@ "node": ">=4" } }, - "node_modules/unicode-trie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", - "license": "MIT", - "dependencies": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - }, - "node_modules/unicode-trie/node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", - "license": "MIT" - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -26987,20 +26596,6 @@ "node": ">= 0.8" } }, - "node_modules/vite-compatible-readable-stream": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/vite-compatible-readable-stream/-/vite-compatible-readable-stream-3.6.1.tgz", - "integrity": "sha512-t20zYkrSf868+j/p31cRIGN28Phrjm3nRSLR2fyc2tiWi4cZGVdv68yNlwnIINTkMTmPoMiSlc0OadaO7DXZaQ==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", @@ -28136,12 +27731,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yoga-layout": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/yoga-layout/-/yoga-layout-3.2.1.tgz", - "integrity": "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==", - "license": "MIT" - }, "node_modules/zoom-level": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/zoom-level/-/zoom-level-2.5.0.tgz", diff --git a/apps/OpenSign/package.json b/apps/OpenSign/package.json index e746345a93..c0ec28cd42 100644 --- a/apps/OpenSign/package.json +++ b/apps/OpenSign/package.json @@ -7,7 +7,6 @@ "@lottiefiles/dotlottie-react": "^0.13.2", "@pdf-lib/fontkit": "^1.1.1", "@radix-ui/themes": "^3.1.6", - "@react-pdf/renderer": "^4.3.0", "@reduxjs/toolkit": "^2.5.1", "axios": "^1.8.4", "css-minimizer-webpack-plugin": "^7.0.2", diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index 1f32e39afd..019dbd7ed0 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -151,7 +151,8 @@ "extend-expiry-date": "Ablaufdatum verlängern", "Duplicate Template": "Vorlage duplizieren", "Duplicate": "Duplikat", - "daily-mail-quota": "Tägliches E-Mail-Kontingent" + "daily-mail-quota": "Tägliches E-Mail-Kontingent", + "Save as template": "Als Vorlage speichern" }, "report-heading": { "Sr.No": "Nr.", @@ -308,7 +309,7 @@ "revoke-document": "Dokument widerrufen", "revoke-document-alert": "Sind Sie sicher, dass Sie dieses Dokument widerrufen möchten?", "resend-mail": "E-Mail erneut senden", - "resend-mail-help": "Sie können folgende Variablen verwenden, die durch ihre tatsächlichen Werte ersetzt werden: {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}.", + "resend-mail-help": "Sie können folgende Variablen verwenden, die durch ihre tatsächlichen Werte ersetzt werden: {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}, {{note}}.", "subject": "Betreff", "body": "Inhalt", "add-contact": "Kontakt hinzufügen", @@ -522,7 +523,7 @@ "correct-password": "Bitte korrektes Passwort angeben", "decrypting-pdf": "PDF wird entschlüsselt, bitte warten...", "invalid-otp": "Ungültiger OTP", - "user-not-found": "Benutzer nicht gefunden!", + "user-not-found": "Benutzer nicht gefunden", "enter-otp-alert": "Bitte OTP eingeben!", "get-verification-code": "Verifizierungscode erhalten", "get-verification-code-2": "Sie erhalten einen Verifizierungscode per E-Mail", @@ -858,10 +859,19 @@ "indexing-public-profile": "Erlaube die Indexierung des öffentlichen Profils durch Suchmaschinen", "user-created-successfully": "Benutzer erfolgreich erstellt.", "only-15-reminder-allowed": "Sie können bis zu 15 automatische Erinnerungen festlegen. Wenn zum Beispiel 'TimeToComplete' auf 15 Tage und 'RemindOnceInEvery' auf 1 Tag eingestellt ist, erreichen Sie das maximale Limit von 15 Erinnerungen. Passen Sie Ihre Einstellungen entsprechend an.", - "rate-your-experience": "👋 Bitte bewerten Sie Ihre Erfahrung mit Opensign", + "rate-your-experience": "Wie war Ihre Erfahrung mit {{appName}}?", "thanks-for-feedback": "Danke für Ihr Feedback 🙏", "share-your-feedback": "Teilen Sie Ihr Feedback", "share-your-review": "Teilen Sie Ihre Bewertung", "date-format": "Datumsformat", - "document-deleted": "Das Dokument wurde gelöscht oder Sie haben keinen Zugriff. Bitte kontaktieren Sie den Absender." + "document-deleted": "Das Dokument wurde gelöscht oder Sie haben keinen Zugriff. Bitte kontaktieren Sie den Absender.", + "save-as-template-?": "Sind Sie sicher, dass Sie dieses Dokument als Vorlage speichern möchten?", + "go-to-manage-templates": "Zu 'Vorlagen verwalten' gehen", + "template-created": "Vorlage erstellt", + "how-would-you-like-to-proceed?": "Wie möchten Sie fortfahren?", + "failed-to-load-refresh-page": "Fehler beim Laden des Dokuments. Bitte versuchen Sie, diese Seite zu aktualisieren.", + "document-has-been-signed": "Das Dokument wurde erfolgreich unterschrieben!", + "document-has-been-signed-by-you": "Das Dokument wurde erfolgreich von Ihnen unterschrieben!", + "participant-completed-signing": "Alle Teilnehmer haben den Signaturprozess abgeschlossen.", + "you-will-receive-email-shortly": "✅ Das war's! Sie erhalten in Kürze eine Bestätigungs-E-Mail." } diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index fe851284e1..1140b25b98 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -151,7 +151,8 @@ "extend-expiry-date": "Extend expiry date", "Duplicate Template": "Duplicate template", "Duplicate": "Duplicate", - "daily-mail-quota": "Daily Email Quota" + "daily-mail-quota": "Daily Email Quota", + "Save as template": "Save as template" }, "report-heading": { "Sr.No": "Sr.No", @@ -308,7 +309,7 @@ "revoke-document": "Revoke document", "revoke-document-alert": "Are you sure you want to revoke this document?", "resend-mail": "Resend mail", - "resend-mail-help": "You can use following variables which will get replaced with their actual values:- {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}.", + "resend-mail-help": "You can use following variables which will get replaced with their actual values:- {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}, {{note}}.", "subject": "Subject", "body": "Body", "add-contact": "Add contact", @@ -522,7 +523,7 @@ "correct-password": "Please provide correct password", "decrypting-pdf": " Decrypting pdf please wait...", "invalid-otp": "Invalid otp", - "user-not-found": "User not found!", + "user-not-found": "User not found", "enter-otp-alert": "Please enter OTP!", "get-verification-code": "Get verification code", "get-verification-code-2": "You will get a verification code via Email", @@ -858,10 +859,19 @@ "indexing-public-profile": "Allow indexing of public profile by search engines", "user-created-successfully": "user created successfully.", "only-15-reminder-allowed": "You can set up to 15 automatic reminders. For example, if 'TimeToComplete' is 15 days and 'RemindOnceInEvery' is 1 day, you'll reach the maximum limit of 15 reminders. Adjust your settings accordingly.", - "rate-your-experience": "👋 Please rate your experience with Opensign", + "rate-your-experience": "How was your experience with {{appName}}?", "thanks-for-feedback": "Thanks for your feedback 🙏", "share-your-feedback": "Share your feedback", "share-your-review": "Share your review", "date-format": "Date format", - "document-deleted": "The document has been deleted or you don't have access. Please contact the sender." + "document-deleted": "The document has been deleted or you don't have access. Please contact the sender.", + "save-as-template-?": "Are you sure you want to save this document as template?", + "go-to-manage-templates": "go to 'Manage templates'", + "template-created": "Template Created", + "how-would-you-like-to-proceed?": "How would you like to proceed?", + "failed-to-load-refresh-page": "Failed to load the document. Please try refreshing this page.", + "document-has-been-signed": "The document has been signed successfully!", + "document-has-been-signed-by-you": "The document has been successfully signed by you!", + "participant-completed-signing": "All participants have completed the signing process.", + "you-will-receive-email-shortly": "✅ That's it! You'll receive a confirmation email shortly." } diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 3c3c8b3b1c..93cd2bcfef 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -151,7 +151,8 @@ "extend-expiry-date": "Date d'expiration", "Duplicate Template": "Plantilla duplicada", "Duplicate": "Duplicada", - "daily-mail-quota": "Cuota diaria de correos electrónicos" + "daily-mail-quota": "Cuota diaria de correos electrónicos", + "Save as template": "Guardar como plantilla" }, "report-heading": { "Sr.No": "Nº", @@ -309,7 +310,7 @@ "revoke-document": "Revocar documento", "revoke-document-alert": "¿En definitiva quieres revocar este documento?", "resend-mail": "Reenviar correo", - "resend-mail-help": "Puedes usar las siguientes variables que serán reemplazadas por sus valores reales:- {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}.", + "resend-mail-help": "Puedes usar las siguientes variables que serán reemplazadas por sus valores reales:- {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}, {{note}}.", "subject": "Asunto", "body": "Cuerpo", "add-contact": "Agregar contacto", @@ -522,7 +523,7 @@ "correct-password": "Por favor, proporciona la contraseña correcta", "decrypting-pdf": " Desencriptando PDF, por favor, espera...", "invalid-otp": "OTP inválido", - "user-not-found": "¡Usuario no encontrado!", + "user-not-found": "Usuario no encontrado", "enter-otp-alert": "¡Por favor, ingresa el OTP!", "get-verification-code": "Obtener código de verificación", "get-verification-code-2": "Obtendrás un código de verificación por correo", @@ -858,10 +859,19 @@ "indexing-public-profile": "Permitir la indexación del perfil público por los motores de búsqueda", "user-created-successfully": "Usuario creado con éxito.", "only-15-reminder-allowed": "Puede configurar hasta 15 recordatorios automáticos. Por ejemplo, si 'TimeToComplete' es de 15 días y 'RemindOnceInEvery' es de 1 día, alcanzará el límite máximo de 15 recordatorios. Ajuste su configuración en consecuencia.", - "rate-your-experience": "👋 Por favor, califique su experiencia con Opensign", + "rate-your-experience": "¿Cómo fue su experiencia con {{appName}}?", "thanks-for-feedback": "Gracias por su comentario 🙏", "share-your-feedback": "Comparta sus comentarios", "share-your-review": "Comparta su reseña", "date-format": "Formato de fecha", - "document-deleted": "El documento ha sido eliminado o no tiene acceso. Por favor, contacte al remitente." + "document-deleted": "El documento ha sido eliminado o no tiene acceso. Por favor, contacte al remitente.", + "save-as-template-?": "¿Está seguro de que desea guardar este documento como plantilla?", + "go-to-manage-templates": "Ir a 'Gestionar plantillas'", + "template-created": "Plantilla creada", + "how-would-you-like-to-proceed?": "¿Cómo le gustaría proceder?", + "failed-to-load-refresh-page": "Error al cargar el documento. Intente actualizar esta página.", + "document-has-been-signed": "¡El documento ha sido firmado con éxito!", + "document-has-been-signed-by-you": "¡El documento ha sido firmado con éxito por usted!", + "participant-completed-signing": "Todos los participantes han completado el proceso de firma.", + "you-will-receive-email-shortly": "✅ ¡Eso es todo! Recibirá un correo de confirmación en breve." } diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index c12464d501..54ef4ab4b1 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -172,7 +172,8 @@ "extend-expiry-date": "Prolonger la date d'expiration", "Duplicate Template": "dupliquer le modèle", "Duplicate": "Double", - "daily-mail-quota": "Quota d'e-mails quotidien" + "daily-mail-quota": "Quota d'e-mails quotidien", + "Save as template": "Enregistrer comme modèle" }, "report-help": { "Draft Documents": "Il s'agit de documents que vous avez commencés mais que vous n'avez pas finalisés pour envoi.", @@ -308,7 +309,7 @@ "revoke-document": "Révoquer le document", "revoke-document-alert": "Êtes-vous sûr de vouloir révoquer ce document ?", "resend-mail": "Renvoyer le courrier", - "resend-mail-help": "Vous pouvez utiliser les variables suivantes qui seront remplacées par leurs valeurs réelles : - {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email} }, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}.", + "resend-mail-help": "Vous pouvez utiliser les variables suivantes qui seront remplacées par leurs valeurs réelles : - {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email} }, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}, {{note}}.", "subject": "Sujet", "body": "Corps", "add-contact": "Ajouter le contact", @@ -522,7 +523,7 @@ "correct-password": "Veuillez fournir un mot de passe correct", "decrypting-pdf": "Décryptage du pdf, veuillez patienter...", "invalid-otp": "OTP invalide", - "user-not-found": "Utilisateur non trouvé!", + "user-not-found": "Utilisateur non trouvé", "enter-otp-alert": "Veuillez saisir OTP !", "get-verification-code": "Obtenir le code de vérification", "get-verification-code-2": "Vous recevrez un code de vérification par e-mail", @@ -858,10 +859,19 @@ "indexing-public-profile": "Autoriser l'indexation du profil public par les moteurs de recherche", "user-created-successfully": "Utilisateur créé avec succès.", "only-15-reminder-allowed": "Vous pouvez définir jusqu'à 15 rappels automatiques. Par exemple, si 'TimeToComplete' est de 15 jours et 'RemindOnceInEvery' est de 1 jour, vous atteindrez la limite maximale de 15 rappels. Ajustez vos paramètres en conséquence.", - "rate-your-experience": "👋 Veuillez évaluer votre expérience avec Opensign", + "rate-your-experience": "Comment s'est passée votre expérience avec {{appName}} ?", "thanks-for-feedback": "Merci pour votre retour 🙏", "share-your-feedback": "Partagez votre avis", "share-your-review": "Partagez votre avis", "date-format": "Format de date", - "document-deleted": "Le document a été supprimé ou vous n'y avez pas accès. Veuillez contacter l'expéditeur." + "document-deleted": "Le document a été supprimé ou vous n'y avez pas accès. Veuillez contacter l'expéditeur.", + "save-as-template-?": "Êtes-vous sûr de vouloir enregistrer ce document comme modèle ?", + "go-to-manage-templates": "Aller à 'Gérer les modèles'", + "template-created": "Modèle créé", + "how-would-you-like-to-proceed?": "Comment souhaitez-vous procéder ?", + "failed-to-load-refresh-page": "Échec du chargement du document. Veuillez essayer d'actualiser cette page.", + "document-has-been-signed": "Le document a été signé avec succès !", + "document-has-been-signed-by-you": "Le document a été signé avec succès par vous !", + "participant-completed-signing": "Tous les participants ont terminé le processus de signature.", + "you-will-receive-email-shortly": "✅ Voilà, c'est fait ! Vous recevrez un e-mail de confirmation sous peu." } diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index 5e6be06139..4e124db7e9 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -151,7 +151,8 @@ "extend-expiry-date": "Estendi data di scadenza", "Duplicate Template": "Duplica modello", "Duplicate": "Duplica", - "daily-mail-quota": "Quota e-mail giornaliera" + "daily-mail-quota": "Quota e-mail giornaliera", + "Save as template": "Salva come modello" }, "report-heading": { "Sr.No": "Nr.", @@ -308,7 +309,7 @@ "revoke-document": "Revoca documento", "revoke-document-alert": "Sei sicuro di voler revocare questo documento?", "resend-mail": "Reinvia email", - "resend-mail-help": "Puoi usare le seguenti variabili che verranno sostituite con i loro valori effettivi: {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}.", + "resend-mail-help": "Puoi usare le seguenti variabili che verranno sostituite con i loro valori effettivi: {{document_title}}, {{sender_name}}, {{sender_mail}}, {{sender_phone}}, {{receiver_name}}, {{receiver_email}}, {{receiver_phone}}, {{expiry_date}}, {{company_name}}, {{signing_url}}, {{note}}.", "subject": "Oggetto", "body": "Corpo del messaggio", "add-contact": "Aggiungi contatto", @@ -522,7 +523,7 @@ "correct-password": "Fornisci la password corretta", "decrypting-pdf": "Decrittazione PDF, attendi...", "invalid-otp": "OTP non valido", - "user-not-found": "Utente non trovato!", + "user-not-found": "Utente non trovato", "enter-otp-alert": "Inserisci l'OTP!", "get-verification-code": "Ottieni codice di verifica", "get-verification-code-2": "Riceverai un codice di verifica tramite Email", @@ -858,10 +859,19 @@ "indexing-public-profile": "Consenti l'indicizzazione del profilo pubblico dai motori di ricerca", "user-created-successfully": "Utente creato con successo.", "only-15-reminder-allowed": "Puoi impostare fino a 15 promemoria automatici. Ad esempio, se 'TimeToComplete' è di 15 giorni e 'RemindOnceInEvery' è di 1 giorno, raggiungerai il limite massimo di 15 promemoria. Regola le tue impostazioni di conseguenza.", - "rate-your-experience": "👋 Valuta la tua esperienza con Opensign", + "rate-your-experience": "Com'è stata la sua esperienza con {{appName}}?", "thanks-for-feedback": "Grazie per il tuo feedback 🙏", "share-your-feedback": "Condividi il tuo feedback", "share-your-review": "Condividi la tua recensione", "date-format": "Formato data", - "document-deleted": "Il documento è stato eliminato o non hai accesso. Si prega di contattare il mittente." + "document-deleted": "Il documento è stato eliminato o non hai accesso. Si prega di contattare il mittente.", + "save-as-template-?": "Sei sicuro di voler salvare questo documento come modello?", + "go-to-manage-templates": "Vai a 'Gestisci modelli'", + "template-created": "Modello creato", + "how-would-you-like-to-proceed?": "Come desideri procedere?", + "failed-to-load-refresh-page": "Impossibile caricare il documento. Prova ad aggiornare questa pagina.", + "document-has-been-signed": "Il documento è stato firmato con successo!", + "document-has-been-signed-by-you": "Il documento è stato firmato con successo da lei!", + "participant-completed-signing": "Tutti i partecipanti hanno completato il processo di firma.", + "you-will-receive-email-shortly": "✅ È tutto! Riceverà a breve un'e-mail di conferma." } diff --git a/apps/OpenSign/src/components/RenderDebugPdf.js b/apps/OpenSign/src/components/RenderDebugPdf.js index f33935e4ae..f9915ea07b 100644 --- a/apps/OpenSign/src/components/RenderDebugPdf.js +++ b/apps/OpenSign/src/components/RenderDebugPdf.js @@ -1,7 +1,9 @@ import React from "react"; import { Document, Page } from "react-pdf"; import { Stage, Layer, Rect, Text } from "react-konva"; +import { useTranslation } from "react-i18next"; const RenderDebugPdf = (props) => { + const { t } = useTranslation(); return (
{t("failed-to-load-refresh-page")}
} onLoadSuccess={props.pageDetails} ref={props.pdfRef} file={props.pdfUrl} diff --git a/apps/OpenSign/src/components/pdf/AddRoleModal.js b/apps/OpenSign/src/components/pdf/AddRoleModal.js index 5edfd2e0e1..6696306dd7 100644 --- a/apps/OpenSign/src/components/pdf/AddRoleModal.js +++ b/apps/OpenSign/src/components/pdf/AddRoleModal.js @@ -17,8 +17,8 @@ const AddRoleModal = (props) => { onChange={(e) => props.setRoleName(e.target.value)} placeholder={ props.signersdata.length > 0 - ? "User " + (props.signersdata.length + 1) - : "User 1" + ? "Role " + (props.signersdata.length + 1) + : "Role 1" } className="op-input op-input-bordered op-input-sm focus:outline-none hover:border-base-content w-full text-xs mt-1" /> diff --git a/apps/OpenSign/src/components/pdf/Certificate.js b/apps/OpenSign/src/components/pdf/Certificate.js deleted file mode 100644 index 2051c26cd0..0000000000 --- a/apps/OpenSign/src/components/pdf/Certificate.js +++ /dev/null @@ -1,276 +0,0 @@ -import React, { useEffect, useState } from "react"; -import opensignLogo from "../../assets/images/logo.png"; -import { - Page, - Text, - View, - Document, - StyleSheet, - Image -} from "@react-pdf/renderer"; - -function Certificate({ pdfData }) { - const [isMultiSigners, setIsMultiSigners] = useState(); - const [multiSigner, setMultiSigners] = useState([]); - const [isLoad, setIsLoad] = useState(false); - - useEffect(() => { - handleSignerData(); - // eslint-disable-next-line - }, []); - - const handleSignerData = () => { - const checkSigners = pdfData.filter((data) => data.Signers); - if (checkSigners && checkSigners.length > 0) { - setIsMultiSigners(true); - - const checkSignSigners = - pdfData[0].AuditTrail && - pdfData[0].AuditTrail.length > 0 && - pdfData[0].AuditTrail.filter((data) => data.Activity === "Signed"); - - setMultiSigners(checkSignSigners); - } else { - setIsMultiSigners(false); - } - setIsLoad(true); - }; - - const styles = StyleSheet.create({ - page: { - borderRadius: "5px", - padding: "10px", - backgroundColor: "white" - }, - section1: { - border: "1px solid rgb(177, 174, 174)", - padding: "20px" - }, - textStyle: { - fontWeight: "bold", - fontSize: "11px", - marginBottom: "10px" - }, - textStyle2: { - fontWeight: "600", - fontSize: "11px", - marginBottom: "10px", - color: "gray" - }, - image: { - width: "71px", - height: "17px" - } - }); - - const generatedDate = () => { - const newDate = new Date(); - const utcTime = newDate.toUTCString(); - - return ( -This is an automated email from " + diff --git a/apps/OpenSign/src/constant/const.js b/apps/OpenSign/src/constant/const.js index 30ed762975..f6b6198b78 100644 --- a/apps/OpenSign/src/constant/const.js +++ b/apps/OpenSign/src/constant/const.js @@ -4,3 +4,4 @@ export const documentCls = "contracts_Document"; export const themeColor = "#47a3ad"; export const iconColor = "#686968"; export const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; +export const maxFileSize = 10; // 10MB diff --git a/apps/OpenSign/src/json/ReportJson.js b/apps/OpenSign/src/json/ReportJson.js index f27819bd06..ac9990ef72 100644 --- a/apps/OpenSign/src/json/ReportJson.js +++ b/apps/OpenSign/src/json/ReportJson.js @@ -1,4 +1,3 @@ - export default function reportJson(id) { // console.log("json ", json); const head = ["Title", "Note", "Folder", "File", "Owner", "Signers"]; @@ -29,6 +28,25 @@ export default function reportJson(id) { btnIcon: "fa-light fa-trash", redirectUrl: "", action: "delete" + }, + { + btnId: "22534", + hoverLabel: "option", + btnColor: "", + restrictBtn: true, + textColor: "black", + btnIcon: "fa-light fa-ellipsis-vertical fa-lg", + action: "option", + subaction: [ + { + btnId: "1630", + btnLabel: "Save as template", + hoverLabel: "Save as template", + btnIcon: "fa-light fa-envelope", + redirectUrl: "", + action: "saveastemplate" + } + ] } ], helpMsg: @@ -107,6 +125,14 @@ export default function reportJson(id) { redirectUrl: "", action: "revoke" }, + { + btnId: "0630", + btnLabel: "Save as template", + hoverLabel: "Save as template", + btnIcon: "fa-light fa-envelope", + redirectUrl: "", + action: "saveastemplate" + }, { btnId: "1488", btnLabel: "Delete", @@ -143,6 +169,25 @@ export default function reportJson(id) { restrictBtn: true, redirectUrl: "", action: "delete" + }, + { + btnId: "33534", + hoverLabel: "option", + btnColor: "", + restrictBtn: true, + textColor: "black", + btnIcon: "fa-light fa-ellipsis-vertical fa-lg", + action: "option", + subaction: [ + { + btnId: "0930", + btnLabel: "Save as template", + hoverLabel: "Save as template", + btnIcon: "fa-light fa-envelope", + redirectUrl: "", + action: "saveastemplate" + } + ] } ], helpMsg: @@ -169,6 +214,25 @@ export default function reportJson(id) { btnIcon: "fa-light fa-trash", redirectUrl: "", action: "delete" + }, + { + btnId: "44534", + hoverLabel: "option", + btnColor: "", + restrictBtn: true, + textColor: "black", + btnIcon: "fa-light fa-ellipsis-vertical fa-lg", + action: "option", + subaction: [ + { + btnId: "0940", + btnLabel: "Save as template", + hoverLabel: "Save as template", + btnIcon: "fa-light fa-envelope", + redirectUrl: "", + action: "saveastemplate" + } + ] } ], helpMsg: @@ -212,6 +276,14 @@ export default function reportJson(id) { btnIcon: "fa-light fa-hourglass-end", redirectUrl: "", action: "extendexpiry" + }, + { + btnId: "5530", + btnLabel: "Save as template", + hoverLabel: "Save as template", + btnIcon: "fa-light fa-envelope", + redirectUrl: "", + action: "saveastemplate" } ] } @@ -273,6 +345,14 @@ export default function reportJson(id) { redirectUrl: "", action: "revoke" }, + { + btnId: "7730", + btnLabel: "Save as template", + hoverLabel: "Save as template", + btnIcon: "fa-light fa-envelope", + redirectUrl: "", + action: "saveastemplate" + }, { btnId: "2000", btnLabel: "Delete", @@ -323,6 +403,25 @@ export default function reportJson(id) { btnIcon: "fa-light fa-trash", redirectUrl: "", action: "delete" + }, + { + btnId: "55534", + hoverLabel: "option", + btnColor: "", + restrictBtn: true, + textColor: "black", + btnIcon: "fa-light fa-ellipsis-vertical fa-lg", + action: "option", + subaction: [ + { + btnId: "6630", + btnLabel: "Save as template", + hoverLabel: "Save as template", + btnIcon: "fa-light fa-envelope", + redirectUrl: "", + action: "saveastemplate" + } + ] } ] }; diff --git a/apps/OpenSign/src/layout/HomeLayout.js b/apps/OpenSign/src/layout/HomeLayout.js index eb1b03eb83..9297aa9583 100644 --- a/apps/OpenSign/src/layout/HomeLayout.js +++ b/apps/OpenSign/src/layout/HomeLayout.js @@ -15,8 +15,7 @@ import { showHeader } from "../redux/reducers/showHeader"; import { useTranslation } from "react-i18next"; const HomeLayout = () => { - const appName = - "OpenSign™"; + const appName = "OpenSign™"; const { t, i18n } = useTranslation(); const navigate = useNavigate(); const location = useLocation(); @@ -54,8 +53,8 @@ const HomeLayout = () => { }); if (user) { localStorage.setItem("profileImg", user.get("ProfilePic") || ""); - setIsUserValid(true); - setIsLoader(false); + setIsUserValid(true); + setIsLoader(false); } else { setIsUserValid(false); } @@ -72,7 +71,7 @@ const HomeLayout = () => { //function to use save data in cookies storage const saveCookies = () => { const main_Domain = window.location.origin; - const domainName = window.location.hostname; //app.opensignlabs.com + const domainName = window.location.hostname; // Find the index of the first dot in the string const indexOfFirstDot = domainName.indexOf("."); // Remove the first dot and get the substring starting from the next character diff --git a/apps/OpenSign/src/pages/DocSuccessPage.js b/apps/OpenSign/src/pages/DocSuccessPage.js index a957f86552..e394d411db 100644 --- a/apps/OpenSign/src/pages/DocSuccessPage.js +++ b/apps/OpenSign/src/pages/DocSuccessPage.js @@ -1,5 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; +import Confetti from "react-confetti"; // Import the confetti library import { getBase64FromUrl, handleDownloadCertificate, @@ -10,19 +11,25 @@ import ModalUi from "../primitives/ModalUi"; import Loader from "../primitives/Loader"; import DownloadPdfZip from "../primitives/DownloadPdfZip"; import Title from "../components/Title"; +import CheckCircle from "../primitives/CheckCircle"; const DocSuccessPage = () => { + const { t } = useTranslation(); const signed = window.location?.search?.includes("docid"); const sent = window.location?.search?.includes("message"); const [isDownloading, setIsDownloading] = useState(false); const [isDownloadModal, setIsDownloadModal] = useState(false); const [pdfDetails, setPdfDetails] = useState([]); const [pdfBase64Url, setPdfBase64Url] = useState(""); - const { t } = useTranslation(); + const [showConfetti, setShowConfetti] = useState(true); // State to control confetti useEffect(() => { initialsetup(); + // Stop confetti after 5 seconds + const timer = setTimeout(() => setShowConfetti(false), 5000); + return () => clearTimeout(timer); }, []); + const initialsetup = async () => { const search = window.location.search.split("?")[1]; if (search) { @@ -44,6 +51,7 @@ const DocSuccessPage = () => { } } }; + const handleDownload = () => { if (pdfDetails?.[0]?.IsCompleted) { setIsDownloadModal(true); @@ -51,50 +59,79 @@ const DocSuccessPage = () => { handleDownloadPdf(pdfDetails, setIsDownloading, pdfBase64Url); } }; + return ( -
- {pdfDetails?.[0]?.IsCompleted - ? t("document-signed-alert-4") - : t("document-signed-alert")} -
-+ {t("participant-completed-signing")} +
+ )} ++ {t("you-will-receive-email-shortly")} +
+{t("generate-certificate-alert")}
) : ( @@ -129,11 +166,11 @@ const DocSuccessPage = () => { isDocId={true} pdfBase64={pdfBase64Url} /> -