Skip to content
Merged

v2.37.0 #2130

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17,956 changes: 17,956 additions & 0 deletions apps/OpenSign/package-lock.json

Large diffs are not rendered by default.

67 changes: 44 additions & 23 deletions apps/OpenSign/package.json
Original file line number Diff line number Diff line change
@@ -1,34 +1,53 @@
{
"name": "open_sign",
"version": "2.35.0",
"version": "2.37.0",
"private": true,
"dependencies": {
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"@formkit/auto-animate": "^0.9.0",
"@imgly/background-removal": "^1.7.0",
"@lottiefiles/dotlottie-react": "^0.17.13",
"@lottiefiles/dotlottie-react": "^0.18.3",
"@mui/icons-material": "^5.15.10",
"@mui/material": "^5.15.10",
"@pdf-lib/fontkit": "^1.1.1",
"@radix-ui/themes": "^3.3.0",
"@reactour/tour": "^3.8.0",
"@reduxjs/toolkit": "^2.11.2",
"axios": "^1.13.4",
"body-scroll-lock": "^4.0.0-beta.0",
"@usewaypoint/block-avatar": "^0.0.3",
"@usewaypoint/block-button": "^0.0.3",
"@usewaypoint/block-columns-container": "^0.0.3",
"@usewaypoint/block-container": "^0.0.2",
"@usewaypoint/block-divider": "^0.0.4",
"@usewaypoint/block-heading": "^0.0.3",
"@usewaypoint/block-html": "^0.0.3",
"@usewaypoint/block-image": "^0.0.5",
"@usewaypoint/block-spacer": "^0.0.3",
"@usewaypoint/block-text": "^0.0.7",
"@usewaypoint/document-core": "^0.0.6",
"@usewaypoint/email-builder": "^0.0.9",
"axios": "^1.13.5",
"date-fns-tz": "^3.2.0",
"dompurify": "^3.3.1",
"file-saver": "^2.0.5",
"i18next": "^25.8.0",
"i18next-browser-languagedetector": "^8.2.0",
"highlight.js": "^11.9.0",
"i18next": "^25.8.13",
"i18next-browser-languagedetector": "^8.2.1",
"i18next-http-backend": "^3.0.2",
"jszip": "^3.10.1",
"juice": "^11.1.1",
"jwt-decode": "^4.0.0",
"moment": "^2.30.1",
"parse": "^8.0.3",
"parse": "^8.1.0",
"pdf-lib": "^1.17.1",
"pkijs": "^3.3.3",
"prettier": "^3.8.1",
"print-js": "^1.6.0",
"prismjs": "^1.30.0",
"quill-html-edit-button": "^3.0.0",
"radix-ui": "^1.4.3",
"react": "^19.2.4",
"react-bootstrap": "^2.10.10",
"react-colorful": "^5.6.1",
"react-confetti": "^6.4.0",
"react-datepicker": "^9.1.0",
"react-dnd": "^16.0.1",
Expand All @@ -37,23 +56,24 @@
"react-dom": "^19.2.4",
"react-gtm-module": "^2.0.11",
"react-i18next": "^16.5.4",
"react-konva": "^19.2.1",
"react-pdf": "^10.2.0",
"react-quill-new": "^3.8.3",
"react-konva": "^19.2.2",
"react-pdf": "^10.4.1",
"react-redux": "^9.2.0",
"react-rnd": "^10.5.2",
"react-router": "^7.13.0",
"react-router": "^7.13.1",
"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-to-print": "^3.2.0",
"react-to-print": "^3.3.0",
"react-tooltip": "^5.30.0",
"redux": "^5.0.1",
"regex-parser": "^2.3.1",
"serve": "^14.2.5",
"web-vitals": "^5.1.0",
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
"zod": "^3.22.4",
"zustand": "^4.5.1"
},
"scripts": {
"build": "npm run version && NODE_OPTIONS=\"--max-old-space-size=8192\" vite build",
Expand Down Expand Up @@ -100,33 +120,34 @@
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/react": "^19.2.10",
"@vitejs/plugin-react": "^5.1.3",
"@types/react": "^19.2.14",
"@vitejs/plugin-react": "^5.1.4",
"@vitest/ui": "^4.0.18",
"autoprefixer": "^10.4.24",
"autoprefixer": "^10.4.27",
"babel-loader": "^10.0.0",
"commitizen": "^4.3.1",
"concurrently": "^9.2.1",
"css-loader": "^7.1.3",
"css-loader": "^7.1.4",
"daisyui": "^4.12.24",
"eslint": "^9.39.2",
"eslint": "^9.39.3",
"eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-react": "^7.37.5",
"jsdom": "^28.0.0",
"jsdom": "^28.1.0",
"lint-staged": "^16.2.7",
"postcss": "^8.5.6",
"prettier": "^3.8.1",
"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-tsconfig-paths": "^6.0.5",
"vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.0.18"
},
"overrides": {
"tmp": "$tmp"
"tmp": "$tmp",
"react": "$react",
"react-dom": "$react-dom"
},
"engines": {
"node": "18 || 20 || 22"
Expand Down
82 changes: 59 additions & 23 deletions apps/OpenSign/public/locales/de/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"password-length": "Das Passwort sollte 8 Zeichen lang sein",
"password-case": "Das Passwort sollte einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl enthalten",
"password-special-char": "Das Passwort sollte ein Sonderzeichen enthalten",
"agreee": "Ich stimme den",
"agree": "Ich stimme den",
"term": "Nutzungsbedingungen zu",
"subscribe-to-opensign": "Abonnieren Sie den OpenSign-Newsletter",
"register": "Registrieren",
Expand Down Expand Up @@ -241,7 +241,6 @@
"auto-reminder": "Automatische Erinnerung",
"remind-once": "Einmal erinnern alle (Tage)",
"next": "Weiter",
"select-folder": "Ordner auswählen",
"OpenSign-drive": "{{appName}} Drive",
"drive-document-status": {
"Completed": "Abgeschlossen",
Expand Down Expand Up @@ -296,7 +295,7 @@
"edit-team": "Team bearbeiten",
"name-of-team": "Name des Teams",
"prev": "Zurück",
"no-data-avaliable": "Keine Daten verfügbar",
"no-data-available": "Keine Daten verfügbar",
"add-team": "Team hinzufügen",
"page-not-found": "Seite nicht gefunden",
"users-from-teams": "Benutzer aus Teams",
Expand All @@ -307,7 +306,7 @@
"delete-user": "Benutzer löschen",
"delete": "Löschen",
"add-user": "Benutzer hinzufügen",
"password-generateed": "Das Passwort wird nur einmal generiert; stellen Sie sicher, dass Sie es kopieren.",
"password-generated": "Das Passwort wird nur einmal generiert; stellen Sie sicher, dass Sie es kopieren.",
"Team status": "Teamstatus",
"user-deactivated": "Benutzer deaktiviert.",
"user-activated": "Benutzer aktiviert.",
Expand Down Expand Up @@ -337,7 +336,7 @@
"quick-send-alert-1": "Alle Rollen in diesem Dokument sind derzeit mit Kontakten verknüpft. Um Kopien dieser Vorlage schnell an mehrere Unterzeichner zu senden, stellen Sie sicher, dass mindestens eine Rolle keinem Kontakt zugeordnet ist.",
"quick-send-alert-2": "Bitte stellen Sie sicher, dass für alle Empfänger mindestens ein Signatur-Widget hinzugefügt wurde.",
"quick-send-alert-3": "Bitte fügen Sie diesem template mindestens eine Rolle hinzu.",
"quick-send-alert-4": "Limit für {{flow}} erreicht.",
"quick-send-alert-4": "{{flow}} unterstützt bis zu {{count}} Unterzeichner pro Batch. Teilen Sie Ihre Liste auf und versuchen Sie es erneut.",
"copy-link": "Link kopieren",
"copy": "Kopieren",
"revoke-document": "Dokument widerrufen",
Expand Down Expand Up @@ -438,13 +437,15 @@
"reset-password-alert-1": "Ein Link zum Zurücksetzen des Passworts wurde an Ihre E-Mail-Adresse gesendet.",
"reset-password-alert-2": "Bitte richten Sie den E-Mail-Adapter ein.",
"reset-password-alert-3": "Setzen Sie Ihr Passwort zurück",
"faild-animation": "Animation konnte nicht geladen werden",
"failed-animation": "Animation konnte nicht geladen werden",
"apply": "Anwenden",
"select-columns": "Spalten auswählen",
"copy-type": {
"All pages": "Alle Seiten",
"All pages but last": "Alle Seiten außer der letzten",
"All pages but first": "Alle Seiten außer der ersten",
"Next to current widget": "Neben dem aktuellen Widget"
"Next to current widget": "Neben dem aktuellen Widget",
"Page range": "Seitenbereich"
},
"options": "Optionen",
"minimum-check": "Minimale Anzahl",
Expand Down Expand Up @@ -626,7 +627,7 @@
"date": "Datum",
"report-not-found": "Bericht nicht gefunden",
"please-wait": "Bitte warten",
"select-foler": "Ordner auswählen",
"select-folder": "Ordner auswählen",
"generated-on": "Erstellt am",
"text-field": "Textfeld",
"font-size": "Schriftgröße",
Expand Down Expand Up @@ -685,13 +686,13 @@
"public-template": "Dieses Video zeigt Ihnen, wie Sie Ihr personalisiertes öffentliches Profil einrichten, z. B. 'https://opensign.me/Ihr-Benutzername'. Sie lernen auch, wie Sie Ihren Slogan anpassen und Ihre Vorlagen für öffentliche Signaturen verfügbar machen.",
"allowModify-widgets": "Sie können jedes dieser Felder per Drag & Drop in das Dokument ziehen, zusätzlich zu den Feldern, die der Dokumentersteller bereits für Sie festgelegt hat."
},
"enter-email-plaholder": "E-Mail-Adresse hinzufügen und Enter drücken",
"enter-email-placeholder": "E-Mail-Adresse hinzufügen und Enter drücken",
"success-email-alert": "E-Mail erfolgreich gesendet!",
"expired-doc-title": "Abgelaufenes Dokument",
"expired-on-mssg": "Dieses Dokument ist am {{expiredDate}} abgelaufen und nicht mehr verfügbar zum Unterzeichnen.",
"signature-validate-alert": "Bitte bestätigen Sie, dass Sie mindestens {{minRequiredCount}} Kontrollkästchen ausgewählt haben.",
"signature-validate-alert-2": "Stellen Sie sicher, dass dieses Feld korrekt ausgefüllt ist und alle Anforderungen erfüllt.",
"remaing-users": "Verbleibende Benutzer",
"remaining-users": "Verbleibende Benutzer",
"Role": "Rolle",
"additional-users": "Bitte kaufen Sie zusätzliche Benutzer hinzu.",
"Quantity-of-users": "Anzahl der Benutzer",
Expand All @@ -713,7 +714,7 @@
"rotate-left": "Nach links drehen",
"rotate-alert-mssg": "Alle Widgets auf dieser Seite gehen verloren. Sind Sie sicher, dass Sie fortfahren möchten?",
"templateid": "Vorlagen-ID",
"bulk-send-subcription-alert": "Bitte upgraden Sie auf den Professional- oder Team-Plan, um den Massenversand zu nutzen.",
"bulk-send-subscription-alert": "Bitte upgraden Sie auf den Professional- oder Team-Plan, um den Massenversand zu nutzen.",
"generate-test-token": "Test-Token generieren",
"regenerate-test-token": "Test-Token neu generieren",
"help-test-token": "Dieses Token kann verwendet werden, um die APIs unter https://sandbox.opensignlabs.com/api/v1 zu testen und unbegrenzt Dokumente zu signieren. Beachten Sie, dass die Sandbox-API Ihre Dokumente mit selbstsignierten Zertifikaten signiert, die möglicherweise von Adobe nicht als gültig erkannt werden. Nach Abschluss Ihrer Tests können Sie auf einen unserer kostenpflichtigen Pläne upgraden, um ein Produktionstoken zu generieren.",
Expand All @@ -733,8 +734,9 @@
"copied-code": "KOPIERT",
"Installation": "Installation",
"Usage": "Nutzung",
"insufficient-credits": "Nicht genügend Signatur-Credits",
"insufficient-credits-mssg": "Der Besitzer dieses Dokuments verfügt derzeit nicht über die notwendigen OpenSign-Credits, damit Sie unterzeichnen können. Bitte wenden Sie sich an den Besitzer, wenn Sie weitere Informationen benötigen.",
"insufficient-credits": "Unzureichende Signaturguthaben. Bitte kontaktieren Sie {{ownerEmail}}",
"insufficient-credits-title": "Nicht genügend Signatur-Credits",
"insufficient-credits-mssg": "Der Besitzer dieses Dokuments verfügt derzeit nicht über die notwendigen {{appName}}-Credits, damit Sie unterzeichnen können. Bitte wenden Sie sich an den Besitzer, wenn Sie weitere Informationen benötigen.",
"angular-npm-mssg-1": "Um OpenSign in Ihr Angular-Projekt zu integrieren, führen Sie einfach den folgenden Befehl aus:",
"quota-mail-info-head": "Monatliches E-Mail-Limit",
"quota-mail-info": "Um die Servicequalität aufrechtzuerhalten und Spam zu verhindern, erlaubt OpenSign bis zu 15 E-Mails pro Monat im kostenlosen Plan. Upgraden Sie jetzt für unbegrenzten E-Mail-Versand.",
Expand Down Expand Up @@ -866,7 +868,6 @@
"js-snippet-msg-1": "Die TemplateId erhalten Sie von der",
"js-snippet-msg-2": "Vorlagen verwalten",
"js-snippet-msg-3": "Seite.",
"agrrement-alert": "Um fortzufahren, müssen Sie der Offenlegung über elektronische Aufzeichnungen und Unterschriften zustimmen.",
"webhook-already-exists": "Die URL existiert bereits! Bitte versuchen Sie eine andere.",
"webhook-must-be-secure": "Die Webhook-URL muss sicher sein und https:// verwenden.",
"provide-test-token": "Bitte generieren Sie einen API-Test-Token.",
Expand Down Expand Up @@ -1030,7 +1031,7 @@
},
"signer-already-present": "Unterzeichner bereits vorhanden",
"kiosk-sign": "Kiosk-Unterschrift",
"dont-have-access-to-template": "Das template wurde gelöscht oder Sie haben keinen Zugriff. Bitte kontaktieren Sie den Absender.",
"do-not-have-access-to-template": "Das template wurde gelöscht oder Sie haben keinen Zugriff. Bitte kontaktieren Sie den Absender.",
"kiosk-info": "Kiosk Modus ermöglicht es Ihnen, persönliche Unterschriften schnell und effizient zu erfassen. Ideal für Messen, Veranstaltungen oder Laufkundschaft, bei denen alle Unterzeichner physisch anwesend sind. ",
"learn-more": "Mehr erfahren",
"finish-mssg": "Sind Sie sicher, dass Sie das Dokument abschließen möchten?",
Expand Down Expand Up @@ -1086,8 +1087,6 @@
"search-contacts": "Kontakte durchsuchen…",
"edit-draft": "Entwurf bearbeiten",
"add-role-alert": "Bitte fügen Sie mindestens eine Rolle hinzu",
"invalid-email-found": "Ungültige E-Mail gefunden: {{email}}",
"duplicate-email-found": "Doppelte E-Mail gefunden: {{email}}",
"vertical": "Vertikal",
"horizontal": "Horizontal",
"billing": "Abrechnung",
Expand All @@ -1101,7 +1100,7 @@
"access-denied": "Zugriff verweigert",
"upgrade": "Upgrade",
"do-not-access-app": "Sie haben keinen Zugriff auf diese Anwendung.",
"dont-have-access": "Sie haben keinen Zugriff.",
"do-not-have-access": "Sie haben keinen Zugriff.",
"valid-email-alert": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
"otp-not-validate": "OTP ist ungültig.",
"domain-not-allowed": "Diese Domain ist nicht erlaubt",
Expand All @@ -1118,10 +1117,12 @@
"branding-help": "Branding ermöglicht White-Labeling für Ihre App",
"custom-sub-domain": "Benutzerdefinierte Subdomain",
"app-name": "App Name",
"provide-domain-name": "Geben Sie Ihren Domainnamen an",
"provide-domain-name": "Es sind nur Subdomains erlaubt (z. B. app.deinedomain.com). Primär-/Root-Domains wie deinedomain.com werden nicht unterstützt.",
"provide-app-name-help": "Geben Sie einen eindeutigen App-Namen an. Er wird als Ihr Markenname in der Anwendung sowie in allen E-Mails angezeigt, überall dort, wo das Branding angewendet wird.",
"upload-app-logo": "Laden Sie ein Logo im .png-, .jpg- oder .svg-Format hoch. Empfohlene Größe: {{size}} Pixel (Seitenverhältnis 5:2) für beste Anzeigequalität.",
"upload-app-favicon": "Laden Sie ein quadratisches Favicon-Bild (.ico, .png oder .svg) hoch. Empfohlene Größe: {{size}} Pixel für beste Browserkompatibilität.",
"provide-app-name": "Geben Sie Ihren App-Namen an",
"logo": "Logo",
"upload-app-logo": "Laden Sie Ihr App-Logo hoch",
"prefill-unfilled-widget": "Die folgenden Pflichtfelder dürfen nicht leer sein: {{emptyWidget}}. Bitte füllen Sie diese aus, um fortzufahren.",
"Dashboard": "Armaturenbrett",
"Analytics": "Analytik",
Expand Down Expand Up @@ -1345,8 +1346,8 @@
"file-selected": "Datei ausgewählt",
"bulk-send-csv-helper": "Verwenden Sie Header für Unterzeichnerrollen (Rollen-E-Mail/Name/Telefon) und Vorabfüllwerte (Vorabfüllung: Feldname). Erforderliche Vorabfüllfelder müssen ausgefüllt sein.",
"bulk-send-csv-helper-note": "Hinweis: Für Vorabfüllfelder vom Typ Datum in der CSV muss der Wert in folgendem Format angegeben werden: {{value}} (Beispiel: {{example}}).",
"bulk-send-csv-summary": "{{total}} Zeilen importiert. {{invalid}} ungültige Zeilen wurden übersprungen.",
"bulk-send-csv-missing-headers": "Erforderliche CSV-Header fehlen. Rollen: {{roles}}. Vorabfüllung: {{prefill}}.",
"bulk-send-csv-summary": "{{total}} Zeilen aus der CSV importiert.",
"bulk-send-csv-missing-headers": "Erforderliche CSV-Header fehlen. Rollen: {{roles}}.",
"bulk-send-no-records": "Bitte fügen Sie vor dem Senden mindestens einen Empfänger hinzu.",
"csv-only-support": "Es werden nur CSV-Dateien unterstützt.",
"csv-no-records": "Keine Datensätze in der CSV gefunden.",
Expand All @@ -1360,5 +1361,40 @@
"enter-daily-email-quota": "Tägliches E-Mail-Kontingent eingeben",
"enter-custom-regular-expression": "Benutzerdefinierten regulären Ausdruck eingeben",
"enter-value": "{{value}} eingeben",
"are-you-sure-want-to-send-document": "Sind Sie sicher, dass Sie das Dokument senden möchten?"
"are-you-sure-want-to-send-document": "Sind Sie sicher, dass Sie das Dokument senden möchten?",
"favicon": "Favicon",
"delete-two-factor-authentication": "Sind Sie sicher, dass Sie die Zwei-Faktor-Authentifizierung löschen möchten?",
"paste-html-here": "HTML hier einfügen",
"open-email-builder": "Sie können eine E-Mail-Vorlage mit der <1>E-Mail-Builder</1>-Plattform erstellen und den HTML-Code kopieren.",
"contact-saved": "Kontakt erfolgreich gespeichert.",
"remove-limit-of-user": "Sind Sie sicher, dass Sie das Limit dieses Benutzers aufheben möchten? Der Benutzer kann dann alle in Ihrer Organisation verfügbaren Premium-Credits nutzen, die unter allen Benutzern geteilt werden.",
"current-expiry-date": "Aktuelles Ablaufdatum",
"reminder-error": "„Einmal alle (Tage) erinnern“ darf die „Zeit zur Fertigstellung (Tage)“ nicht überschreiten.",
"showing-to-of-records": "Zeige {{record}} bis {{recordPerPage}} von {{totalRows}} Einträgen",
"records-per-page": "Einträge pro Seite",
"email-not-found-in-row": "E-Mail in Zeile {{row}} nicht gefunden.",
"invalid-email-found-in-row": "Ungültige E-Mail in Zeile {{row}} gefunden: {{email}}",
"duplicate-email-found-in-row": "Doppelte E-Mail in Zeile {{row}} gefunden: {{email}}",
"prefill": "Vorabfüllung",
"recipients-&-data": "Empfänger & Daten",
"response": "Antwort",
"prefill-tab-help": "Dies sind die gemeinsamen Vorlagenfelder, die auf alle Dokumente in diesem Massenversand angewendet werden.",
"recipient-tab-help-p1": "Im nächsten Schritt werden Sie:",
"recipient-tab-help-p2": "Eine CSV mit Empfängerdetails hochladen oder",
"recipient-tab-help-p3": "Empfängerinformationen manuell eingeben",
"recipient-tab-help-p4": "Jeder Empfänger erhält sein eigenes Dokument, das aus dieser Vorlage generiert wird.",
"response-tab-help": "Überprüfen Sie Ihre Antworten.",
"summary": "Zusammenfassung",
"prefill-fields": "Vorabfüllfelder",
"documents": "Dokumente",
"message": "Nachricht",
"formula-help-p1": "Erfassen Sie numerische Eingaben und führen Sie dynamische Berechnungen mit Formeln durch.",
"example": "Beispiel",
"formula-help-p2": "Um eine Summe in number-3 anzuzeigen, verwenden Sie {{number-1}} + {{number-2}}.",
"formula-help-p3": "Um einen Wert in number-4 zu berechnen, verwenden Sie ({{number-1}} * {{number-2}}) / {{number-3}}.",
"formula-help-p4": "Jedes Zahlen-Widget muss einen eindeutigen Namen haben (z. B. number-1), da Formeln auf diesen Bezeichnern basieren.",
"note-consume-premium-credits": "Hinweis: Diese Funktion verbraucht Premium-Credits.",
"note-consume-premium-credits-on-document-send": "Hinweis: Diese Funktion verbraucht Premium-Credits. Sie werden jedes Mal verbraucht, wenn ein Dokument versendet wird – unabhängig davon, ob es unterschrieben wird oder nicht.",
"webhook-authentication-help": "{{appName}} sichert jeden Webhook, indem eine HMAC-SHA256-Signatur mit Ihrem Webhook-Sicherheitsschlüssel und dem unveränderten Request-Payload generiert wird. Diese Signatur wird im Header x-webhook-signature gesendet. Ihr Server muss dieselbe Signatur mit dem empfangenen Payload und Ihrem geheimen Schlüssel generieren. Stimmen beide Signaturen überein, ist die Webhook-Anfrage authentisch und wurde nicht verändert.",
"invalid-widget-found-in-row": "Ungültiger Wert in Zeile {{row}} für Widget {{widget}} erkannt."
}
Loading