react-cheminfo 0.70.0 → 0.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -2
- package/lib/about/core/providers.d.ts +6 -0
- package/lib/about/core/providers.d.ts.map +1 -1
- package/lib/about/core/providers.js +7 -0
- package/lib/about/core/providers.js.map +1 -1
- package/lib/about/ui/AboutProvidedBy.js +34 -0
- package/lib/about/ui/AboutProvidedBy.js.map +1 -1
- package/lib/download/core/figurePng.d.ts +14 -0
- package/lib/download/core/figurePng.d.ts.map +1 -1
- package/lib/download/core/figurePng.js +21 -6
- package/lib/download/core/figurePng.js.map +1 -1
- package/lib/download/core/svgToPng.d.ts.map +1 -1
- package/lib/download/core/svgToPng.js +4 -2
- package/lib/download/core/svgToPng.js.map +1 -1
- package/lib/format/core/relativeTime.d.ts +8 -3
- package/lib/format/core/relativeTime.d.ts.map +1 -1
- package/lib/format/core/relativeTime.js +19 -7
- package/lib/format/core/relativeTime.js.map +1 -1
- package/lib/host/core/connectHost.d.ts +25 -34
- package/lib/host/core/connectHost.d.ts.map +1 -1
- package/lib/host/core/connectHost.js +43 -89
- package/lib/host/core/connectHost.js.map +1 -1
- package/lib/host/core/hostOutputs.d.ts +58 -0
- package/lib/host/core/hostOutputs.d.ts.map +1 -0
- package/lib/host/core/hostOutputs.js +151 -0
- package/lib/host/core/hostOutputs.js.map +1 -0
- package/lib/host/core/index.d.ts +9 -3
- package/lib/host/core/index.d.ts.map +1 -1
- package/lib/host/core/index.js +4 -1
- package/lib/host/core/index.js.map +1 -1
- package/lib/host/core/irKinds.d.ts +124 -0
- package/lib/host/core/irKinds.d.ts.map +1 -0
- package/lib/host/core/irKinds.js +46 -0
- package/lib/host/core/irKinds.js.map +1 -0
- package/lib/host/core/kinds.d.ts +13 -5
- package/lib/host/core/kinds.d.ts.map +1 -1
- package/lib/host/core/kinds.js +11 -5
- package/lib/host/core/kinds.js.map +1 -1
- package/lib/host/core/protocol.d.ts +50 -7
- package/lib/host/core/protocol.d.ts.map +1 -1
- package/lib/host/core/protocol.js +10 -6
- package/lib/host/core/protocol.js.map +1 -1
- package/lib/host/core/selectInputs.d.ts +37 -0
- package/lib/host/core/selectInputs.d.ts.map +1 -0
- package/lib/host/core/selectInputs.js +110 -0
- package/lib/host/core/selectInputs.js.map +1 -0
- package/lib/host/testing/sciPeaks.d.ts +31 -0
- package/lib/host/testing/sciPeaks.d.ts.map +1 -1
- package/lib/host/testing/sciPeaks.js +73 -0
- package/lib/host/testing/sciPeaks.js.map +1 -1
- package/lib/host/testing/standInHost.d.ts +9 -1
- package/lib/host/testing/standInHost.d.ts.map +1 -1
- package/lib/host/testing/standInHost.js +19 -1
- package/lib/host/testing/standInHost.js.map +1 -1
- package/lib/host/ui/useHostConnection.d.ts +13 -5
- package/lib/host/ui/useHostConnection.d.ts.map +1 -1
- package/lib/host/ui/useHostConnection.js +4 -3
- package/lib/host/ui/useHostConnection.js.map +1 -1
- package/lib/host-testing.d.ts +2 -2
- package/lib/host-testing.d.ts.map +1 -1
- package/lib/host-testing.js +2 -2
- package/lib/host-testing.js.map +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
- package/lib/ir/core/handPicking.d.ts +58 -0
- package/lib/ir/core/handPicking.d.ts.map +1 -0
- package/lib/ir/core/handPicking.js +130 -0
- package/lib/ir/core/handPicking.js.map +1 -0
- package/lib/ir/core/index.d.ts +3 -0
- package/lib/ir/core/index.d.ts.map +1 -1
- package/lib/ir/core/index.js +3 -0
- package/lib/ir/core/index.js.map +1 -1
- package/lib/ir/core/irBandState.d.ts +57 -0
- package/lib/ir/core/irBandState.d.ts.map +1 -0
- package/lib/ir/core/irBandState.js +119 -0
- package/lib/ir/core/irBandState.js.map +1 -0
- package/lib/ir/core/irCommands.d.ts +11 -0
- package/lib/ir/core/irCommands.d.ts.map +1 -1
- package/lib/ir/core/irCommands.js +6 -0
- package/lib/ir/core/irCommands.js.map +1 -1
- package/lib/ir/core/irPeaks.d.ts +28 -0
- package/lib/ir/core/irPeaks.d.ts.map +1 -0
- package/lib/ir/core/irPeaks.js +66 -0
- package/lib/ir/core/irPeaks.js.map +1 -0
- package/lib/ir/core/irReducer.d.ts +8 -0
- package/lib/ir/core/irReducer.d.ts.map +1 -1
- package/lib/ir/core/irReducer.js +15 -32
- package/lib/ir/core/irReducer.js.map +1 -1
- package/lib/ir/core/irSpectrum.d.ts +15 -0
- package/lib/ir/core/irSpectrum.d.ts.map +1 -1
- package/lib/ir/core/irSpectrum.js.map +1 -1
- package/lib/ir/core/irState.d.ts +9 -6
- package/lib/ir/core/irState.d.ts.map +1 -1
- package/lib/ir/core/irState.js +10 -6
- package/lib/ir/core/irState.js.map +1 -1
- package/lib/ir/core/pickBands.d.ts +14 -0
- package/lib/ir/core/pickBands.d.ts.map +1 -1
- package/lib/ir/core/pickBands.js +39 -33
- package/lib/ir/core/pickBands.js.map +1 -1
- package/lib/ir/core/ramanBands.d.ts +9 -1
- package/lib/ir/core/ramanBands.d.ts.map +1 -1
- package/lib/ir/core/ramanBands.js +2 -2
- package/lib/ir/core/ramanBands.js.map +1 -1
- package/lib/ir/core/spectrumBands.d.ts +46 -0
- package/lib/ir/core/spectrumBands.d.ts.map +1 -0
- package/lib/ir/core/spectrumBands.js +98 -0
- package/lib/ir/core/spectrumBands.js.map +1 -0
- package/lib/ir/ui/BandRow.d.ts +5 -0
- package/lib/ir/ui/BandRow.d.ts.map +1 -1
- package/lib/ir/ui/BandRow.js +4 -3
- package/lib/ir/ui/BandRow.js.map +1 -1
- package/lib/ir/ui/BandsPanel.d.ts +5 -0
- package/lib/ir/ui/BandsPanel.d.ts.map +1 -1
- package/lib/ir/ui/BandsPanel.js +36 -16
- package/lib/ir/ui/BandsPanel.js.map +1 -1
- package/lib/ir/ui/BandsToolbar.d.ts +9 -0
- package/lib/ir/ui/BandsToolbar.d.ts.map +1 -0
- package/lib/ir/ui/BandsToolbar.js +61 -0
- package/lib/ir/ui/BandsToolbar.js.map +1 -0
- package/lib/ir/ui/IrCanvas.d.ts +2 -1
- package/lib/ir/ui/IrCanvas.d.ts.map +1 -1
- package/lib/ir/ui/IrCanvas.js +19 -5
- package/lib/ir/ui/IrCanvas.js.map +1 -1
- package/lib/ir/ui/IrChart.d.ts.map +1 -1
- package/lib/ir/ui/IrChart.js +8 -1
- package/lib/ir/ui/IrChart.js.map +1 -1
- package/lib/ir/ui/IrDocumentationDialog.js +1 -1
- package/lib/ir/ui/IrDocumentationDialog.js.map +1 -1
- package/lib/ir/ui/IrEditor.d.ts +4 -2
- package/lib/ir/ui/IrEditor.d.ts.map +1 -1
- package/lib/ir/ui/IrEditor.js.map +1 -1
- package/lib/ir/ui/IrShell.d.ts.map +1 -1
- package/lib/ir/ui/IrShell.js +6 -0
- package/lib/ir/ui/IrShell.js.map +1 -1
- package/lib/ir/ui/IrStatusBar.d.ts.map +1 -1
- package/lib/ir/ui/IrStatusBar.js +1 -1
- package/lib/ir/ui/IrStatusBar.js.map +1 -1
- package/lib/ir/ui/IrToolbar.d.ts +4 -3
- package/lib/ir/ui/IrToolbar.d.ts.map +1 -1
- package/lib/ir/ui/IrToolbar.js +5 -4
- package/lib/ir/ui/IrToolbar.js.map +1 -1
- package/lib/ir/ui/VibrationalEditor.d.ts +2 -1
- package/lib/ir/ui/VibrationalEditor.d.ts.map +1 -1
- package/lib/ir/ui/VibrationalEditor.js.map +1 -1
- package/lib/ir/ui/irActions.d.ts +5 -0
- package/lib/ir/ui/irActions.d.ts.map +1 -1
- package/lib/ir/ui/irActions.js +6 -0
- package/lib/ir/ui/irActions.js.map +1 -1
- package/lib/ir/ui/irChartProps.d.ts +4 -1
- package/lib/ir/ui/irChartProps.d.ts.map +1 -1
- package/lib/ir/ui/useIrEditor.d.ts +5 -11
- package/lib/ir/ui/useIrEditor.d.ts.map +1 -1
- package/lib/ir/ui/useIrEditor.js +17 -18
- package/lib/ir/ui/useIrEditor.js.map +1 -1
- package/lib/locales/de.json +63 -0
- package/lib/locales/en.json +63 -0
- package/lib/locales/es.json +63 -0
- package/lib/locales/fr.json +63 -0
- package/lib/locales/it.json +63 -0
- package/lib/slides/ui/slideSanitizeSchema.d.ts +3 -2
- package/lib/slides/ui/slideSanitizeSchema.d.ts.map +1 -1
- package/lib/slides/ui/slideSanitizeSchema.js +82 -2
- package/lib/slides/ui/slideSanitizeSchema.js.map +1 -1
- package/package.json +1 -1
- package/src/about/core/providers.ts +7 -0
- package/src/about/ui/AboutProvidedBy.tsx +49 -0
- package/src/download/core/figurePng.ts +21 -8
- package/src/download/core/svgToPng.ts +3 -4
- package/src/format/core/relativeTime.ts +29 -7
- package/src/host/core/connectHost.ts +77 -120
- package/src/host/core/hostOutputs.ts +197 -0
- package/src/host/core/index.ts +13 -7
- package/src/host/core/irKinds.ts +92 -0
- package/src/host/core/kinds.ts +16 -6
- package/src/host/core/protocol.ts +50 -8
- package/src/host/core/selectInputs.ts +145 -0
- package/src/host/testing/sciPeaks.ts +140 -0
- package/src/host/testing/standInHost.ts +30 -5
- package/src/host/ui/useHostConnection.ts +17 -8
- package/src/host-testing.ts +4 -0
- package/src/ir/core/handPicking.ts +154 -0
- package/src/ir/core/index.ts +14 -0
- package/src/ir/core/irBandState.ts +155 -0
- package/src/ir/core/irCommands.ts +7 -0
- package/src/ir/core/irPeaks.ts +79 -0
- package/src/ir/core/irReducer.ts +27 -34
- package/src/ir/core/irSpectrum.ts +16 -0
- package/src/ir/core/irState.ts +15 -8
- package/src/ir/core/pickBands.ts +46 -39
- package/src/ir/core/ramanBands.ts +2 -2
- package/src/ir/core/spectrumBands.ts +113 -0
- package/src/ir/ui/BandRow.tsx +20 -2
- package/src/ir/ui/BandsPanel.tsx +46 -88
- package/src/ir/ui/BandsToolbar.tsx +152 -0
- package/src/ir/ui/IrCanvas.tsx +22 -11
- package/src/ir/ui/IrChart.tsx +10 -1
- package/src/ir/ui/IrDocumentationDialog.tsx +7 -0
- package/src/ir/ui/IrEditor.tsx +4 -2
- package/src/ir/ui/IrShell.tsx +5 -0
- package/src/ir/ui/IrStatusBar.tsx +4 -1
- package/src/ir/ui/IrToolbar.tsx +14 -5
- package/src/ir/ui/VibrationalEditor.tsx +2 -1
- package/src/ir/ui/irActions.ts +11 -0
- package/src/ir/ui/irChartProps.ts +4 -1
- package/src/ir/ui/useIrEditor.ts +21 -21
- package/src/locales/de.json +63 -0
- package/src/locales/en.json +63 -0
- package/src/locales/es.json +63 -0
- package/src/locales/fr.json +63 -0
- package/src/locales/it.json +63 -0
- package/src/slides/ui/slideSanitizeSchema.ts +86 -2
- package/styles/chrome.css +7 -0
- package/styles/slides.css +47 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIrEditor.js","sourceRoot":"","sources":["../../../src/ir/ui/useIrEditor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useIrEditor.js","sourceRoot":"","sources":["../../../src/ir/ui/useIrEditor.ts"],"names":[],"mappings":"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"}
|
package/lib/locales/de.json
CHANGED
|
@@ -8,6 +8,69 @@
|
|
|
8
8
|
"account.signIn": "Anmelden",
|
|
9
9
|
"account.signOut": "Abmelden",
|
|
10
10
|
"account.signedInAs": "Angemeldet als {name}",
|
|
11
|
+
"account.username": "Benutzername",
|
|
12
|
+
"account.password": "Passwort",
|
|
13
|
+
"account.role": "Rolle",
|
|
14
|
+
"account.role.read": "Lesen",
|
|
15
|
+
"account.role.write": "Lesen und Schreiben",
|
|
16
|
+
"account.role.admin": "Administrator",
|
|
17
|
+
"account.you": "Sie",
|
|
18
|
+
"account.envManaged": "in .env festgelegt",
|
|
19
|
+
"account.envManagedTitle": "ADMIN_USERNAME und ADMIN_PASSWORD in der .env des Servers legen dieses Konto fest, es wird dort geändert.",
|
|
20
|
+
"account.accounts": "Konten",
|
|
21
|
+
"account.accountsNote": "Lesen sieht die Daten, Lesen und Schreiben ändert sie auch, und Administrator verwaltet zudem diese Konten.",
|
|
22
|
+
"account.column.added": "Hinzugefügt",
|
|
23
|
+
"account.column.lastSignIn": "Letzte Anmeldung",
|
|
24
|
+
"account.column.passwordChanged": "Passwort geändert",
|
|
25
|
+
"account.column.actions": "Ändern",
|
|
26
|
+
"account.never": "nie",
|
|
27
|
+
"account.add": "Konto hinzufügen",
|
|
28
|
+
"account.addSubmit": "Das Konto hinzufügen",
|
|
29
|
+
"account.added": "{username} kann sich jetzt anmelden.",
|
|
30
|
+
"account.usernameHelp": "Buchstaben, Ziffern, Punkte, Bindestriche und Unterstriche.",
|
|
31
|
+
"account.setPassword": "Passwort setzen",
|
|
32
|
+
"account.setPasswordTitle": "Das Passwort von {username} setzen",
|
|
33
|
+
"account.setPasswordNote": "{username} wird überall abgemeldet und meldet sich ab jetzt mit diesem Passwort an.",
|
|
34
|
+
"account.setPasswordSubmit": "Das Passwort setzen",
|
|
35
|
+
"account.roleOf": "Rolle von {username}",
|
|
36
|
+
"account.changePassword": "Ihr Passwort ändern",
|
|
37
|
+
"account.currentPassword": "Aktuelles Passwort",
|
|
38
|
+
"account.newPassword": "Neues Passwort",
|
|
39
|
+
"account.repeatPassword": "Neues Passwort, noch einmal",
|
|
40
|
+
"account.passwordsDiffer": "Die beiden neuen Passwörter unterscheiden sich.",
|
|
41
|
+
"account.passwordChanged": "Ihr Passwort ist geändert. Andere Browser, die mit Ihrem Konto angemeldet waren, sind abgemeldet.",
|
|
42
|
+
"account.ownEnvManaged": "Die .env des Servers legt Ihr Konto fest: Ändern Sie ADMIN_PASSWORD dort und starten Sie den Server neu.",
|
|
43
|
+
"account.remove": "Entfernen",
|
|
44
|
+
"account.removeQuestion": "{username} entfernen? Das Konto kann sich dann nicht mehr anmelden.",
|
|
45
|
+
"account.needsWrite": "Diese Seite ändert die Daten, und {username} darf sie nur lesen.",
|
|
46
|
+
"account.needsAdmin": "Diese Seite ist für Administratoren, und {username} ist keiner.",
|
|
47
|
+
"account.switchAccount": "Mit einem anderen Konto anmelden",
|
|
48
|
+
"account.unreachable": "Der Server ist nicht erreichbar. Versuchen Sie es gleich noch einmal.",
|
|
49
|
+
"account.refusal.wrongCredentials": "Falscher Benutzername oder falsches Passwort.",
|
|
50
|
+
"account.refusal.tooManyAttempts": "Zu viele Anmeldeversuche von hier. Versuchen Sie es in 15 Minuten wieder.",
|
|
51
|
+
"account.refusal.signInElsewhere": "Die Anmeldung geschieht auf den Seiten dieser Website.",
|
|
52
|
+
"account.refusal.signOutElsewhere": "Die Abmeldung geschieht auf den Seiten dieser Website.",
|
|
53
|
+
"account.refusal.changeElsewhere": "Änderungen geschehen von den Seiten dieser Website aus.",
|
|
54
|
+
"account.refusal.signInRequired": "Dies ist für die Konten dieser Website: Melden Sie sich an.",
|
|
55
|
+
"account.refusal.sessionEnded": "Die Sitzung ist zu Ende: Melden Sie sich erneut an.",
|
|
56
|
+
"account.refusal.wrongToken": "Das ist nicht das ADMIN_TOKEN dieses Servers.",
|
|
57
|
+
"account.refusal.noAdminToken": "Auf diesem Server ist kein ADMIN_TOKEN gesetzt: Melden Sie sich stattdessen an.",
|
|
58
|
+
"account.refusal.roleTooLow": "Ihr Konto darf das nicht: Fragen Sie einen Administrator.",
|
|
59
|
+
"account.refusal.usernameLength": "Ein Benutzername hat {min} bis {max} Zeichen.",
|
|
60
|
+
"account.refusal.usernameCharacters": "Ein Benutzername enthält Buchstaben, Ziffern, Punkte, Bindestriche und Unterstriche und beginnt mit einem Buchstaben oder einer Ziffer.",
|
|
61
|
+
"account.refusal.usernameTaken": "Dieser Benutzername ist vergeben.",
|
|
62
|
+
"account.refusal.passwordEmpty": "Ein Passwort darf nicht leer sein.",
|
|
63
|
+
"account.refusal.passwordTooLong": "Ein Passwort hat höchstens {max} Zeichen.",
|
|
64
|
+
"account.refusal.noSuchAccount": "Dieses Konto gibt es nicht mehr.",
|
|
65
|
+
"account.refusal.nothingToChange": "Senden Sie ein neues Passwort, eine neue Rolle oder beides.",
|
|
66
|
+
"account.refusal.useChangePassword": "Ändern Sie Ihr eigenes Passwort mit POST /password, das nach dem aktuellen fragt.",
|
|
67
|
+
"account.refusal.ownRole": "Sie können Ihre eigene Rolle nicht ändern.",
|
|
68
|
+
"account.refusal.removeYourself": "Sie können das Konto, das Sie verwenden, nicht entfernen.",
|
|
69
|
+
"account.refusal.lastAdmin": "Der letzte Administrator kann weder entfernt noch herabgestuft werden.",
|
|
70
|
+
"account.refusal.envManaged": "Die .env des Servers legt dieses Konto fest, es wird dort geändert.",
|
|
71
|
+
"account.refusal.tokenCannotChangePassword": "Ein Passwort ändert das angemeldete Konto, nicht das ADMIN_TOKEN.",
|
|
72
|
+
"account.refusal.wrongCurrentPassword": "Das aktuelle Passwort ist nicht dieses.",
|
|
73
|
+
"account.refusal.accountRemoved": "Das angemeldete Konto wurde entfernt.",
|
|
11
74
|
"ecosystem.tools": "Werkzeuge",
|
|
12
75
|
"ecosystem.menuHeading": "Unsere Werkzeuge, alle im Browser",
|
|
13
76
|
"ecosystem.otherTools": "Unsere weiteren Werkzeuge",
|
package/lib/locales/en.json
CHANGED
|
@@ -8,6 +8,69 @@
|
|
|
8
8
|
"account.signIn": "Sign in",
|
|
9
9
|
"account.signOut": "Sign out",
|
|
10
10
|
"account.signedInAs": "Signed in as {name}",
|
|
11
|
+
"account.username": "Username",
|
|
12
|
+
"account.password": "Password",
|
|
13
|
+
"account.role": "Role",
|
|
14
|
+
"account.role.read": "Read",
|
|
15
|
+
"account.role.write": "Read and write",
|
|
16
|
+
"account.role.admin": "Administrator",
|
|
17
|
+
"account.you": "you",
|
|
18
|
+
"account.envManaged": "defined in .env",
|
|
19
|
+
"account.envManagedTitle": "ADMIN_USERNAME and ADMIN_PASSWORD in the server's .env define this account, so it is changed there.",
|
|
20
|
+
"account.accounts": "Accounts",
|
|
21
|
+
"account.accountsNote": "Read sees the data, Read and write also changes it, and Administrator also manages these accounts.",
|
|
22
|
+
"account.column.added": "Added",
|
|
23
|
+
"account.column.lastSignIn": "Last sign-in",
|
|
24
|
+
"account.column.passwordChanged": "Password changed",
|
|
25
|
+
"account.column.actions": "Change",
|
|
26
|
+
"account.never": "never",
|
|
27
|
+
"account.add": "Add an account",
|
|
28
|
+
"account.addSubmit": "Add the account",
|
|
29
|
+
"account.added": "{username} can sign in now.",
|
|
30
|
+
"account.usernameHelp": "Letters, digits, dots, dashes and underscores.",
|
|
31
|
+
"account.setPassword": "Set password",
|
|
32
|
+
"account.setPasswordTitle": "Set the password of {username}",
|
|
33
|
+
"account.setPasswordNote": "{username} is signed out everywhere, and signs in with this password from now on.",
|
|
34
|
+
"account.setPasswordSubmit": "Set the password",
|
|
35
|
+
"account.roleOf": "Role of {username}",
|
|
36
|
+
"account.changePassword": "Change your password",
|
|
37
|
+
"account.currentPassword": "Current password",
|
|
38
|
+
"account.newPassword": "New password",
|
|
39
|
+
"account.repeatPassword": "New password, again",
|
|
40
|
+
"account.passwordsDiffer": "The two new passwords differ.",
|
|
41
|
+
"account.passwordChanged": "Your password is changed. Other browsers signed in as you are signed out.",
|
|
42
|
+
"account.ownEnvManaged": "The server's .env defines your account: change ADMIN_PASSWORD there, then restart the server.",
|
|
43
|
+
"account.remove": "Remove",
|
|
44
|
+
"account.removeQuestion": "Remove {username}? It can no longer sign in.",
|
|
45
|
+
"account.needsWrite": "This page changes the data, and {username} can only read it.",
|
|
46
|
+
"account.needsAdmin": "This page is for administrators, and {username} is not one.",
|
|
47
|
+
"account.switchAccount": "Sign in as somebody else",
|
|
48
|
+
"account.unreachable": "The server cannot be reached. Try again in a moment.",
|
|
49
|
+
"account.refusal.wrongCredentials": "Wrong username or password.",
|
|
50
|
+
"account.refusal.tooManyAttempts": "Too many sign-ins from here. Try again in 15 minutes.",
|
|
51
|
+
"account.refusal.signInElsewhere": "Signing in happens on this site's own pages.",
|
|
52
|
+
"account.refusal.signOutElsewhere": "Signing out happens on this site's own pages.",
|
|
53
|
+
"account.refusal.changeElsewhere": "Changes are made from this site's own pages.",
|
|
54
|
+
"account.refusal.signInRequired": "This is for the accounts of this site: sign in.",
|
|
55
|
+
"account.refusal.sessionEnded": "The session has ended: sign in again.",
|
|
56
|
+
"account.refusal.wrongToken": "That is not the ADMIN_TOKEN of this server.",
|
|
57
|
+
"account.refusal.noAdminToken": "No ADMIN_TOKEN is set on this server: sign in instead.",
|
|
58
|
+
"account.refusal.roleTooLow": "Your account cannot do this: ask an administrator.",
|
|
59
|
+
"account.refusal.usernameLength": "A username has {min} to {max} characters.",
|
|
60
|
+
"account.refusal.usernameCharacters": "A username holds letters, digits, dots, dashes and underscores, and starts with a letter or a digit.",
|
|
61
|
+
"account.refusal.usernameTaken": "That username is taken.",
|
|
62
|
+
"account.refusal.passwordEmpty": "A password cannot be empty.",
|
|
63
|
+
"account.refusal.passwordTooLong": "A password has at most {max} characters.",
|
|
64
|
+
"account.refusal.noSuchAccount": "That account no longer exists.",
|
|
65
|
+
"account.refusal.nothingToChange": "Send a new password, a new role, or both.",
|
|
66
|
+
"account.refusal.useChangePassword": "Change your own password with POST /password, which asks for the current one.",
|
|
67
|
+
"account.refusal.ownRole": "You cannot change your own role.",
|
|
68
|
+
"account.refusal.removeYourself": "You cannot remove the account you are using.",
|
|
69
|
+
"account.refusal.lastAdmin": "The last administrator can be neither removed nor demoted.",
|
|
70
|
+
"account.refusal.envManaged": "The server's .env defines this account, so it is changed there.",
|
|
71
|
+
"account.refusal.tokenCannotChangePassword": "A password is changed by the account signed in, not with the ADMIN_TOKEN.",
|
|
72
|
+
"account.refusal.wrongCurrentPassword": "The current password is not that one.",
|
|
73
|
+
"account.refusal.accountRemoved": "The account signed in was removed.",
|
|
11
74
|
"ecosystem.tools": "Tools",
|
|
12
75
|
"ecosystem.menuHeading": "Our tools, all in the browser",
|
|
13
76
|
"ecosystem.otherTools": "Our other tools",
|
package/lib/locales/es.json
CHANGED
|
@@ -8,6 +8,69 @@
|
|
|
8
8
|
"account.signIn": "Iniciar sesión",
|
|
9
9
|
"account.signOut": "Cerrar sesión",
|
|
10
10
|
"account.signedInAs": "Sesión iniciada como {name}",
|
|
11
|
+
"account.username": "Nombre de usuario",
|
|
12
|
+
"account.password": "Contraseña",
|
|
13
|
+
"account.role": "Rol",
|
|
14
|
+
"account.role.read": "Lectura",
|
|
15
|
+
"account.role.write": "Lectura y escritura",
|
|
16
|
+
"account.role.admin": "Administrador",
|
|
17
|
+
"account.you": "usted",
|
|
18
|
+
"account.envManaged": "definida en .env",
|
|
19
|
+
"account.envManagedTitle": "ADMIN_USERNAME y ADMIN_PASSWORD, en el .env del servidor, definen esta cuenta, que se cambia allí.",
|
|
20
|
+
"account.accounts": "Cuentas",
|
|
21
|
+
"account.accountsNote": "Lectura ve los datos, Lectura y escritura también los cambia, y Administrador también gestiona estas cuentas.",
|
|
22
|
+
"account.column.added": "Añadida",
|
|
23
|
+
"account.column.lastSignIn": "Último inicio de sesión",
|
|
24
|
+
"account.column.passwordChanged": "Contraseña cambiada",
|
|
25
|
+
"account.column.actions": "Cambiar",
|
|
26
|
+
"account.never": "nunca",
|
|
27
|
+
"account.add": "Añadir una cuenta",
|
|
28
|
+
"account.addSubmit": "Añadir la cuenta",
|
|
29
|
+
"account.added": "{username} ya puede iniciar sesión.",
|
|
30
|
+
"account.usernameHelp": "Letras, cifras, puntos, guiones y guiones bajos.",
|
|
31
|
+
"account.setPassword": "Fijar contraseña",
|
|
32
|
+
"account.setPasswordTitle": "Fijar la contraseña de {username}",
|
|
33
|
+
"account.setPasswordNote": "{username} queda desconectado en todas partes, e inicia sesión con esta contraseña a partir de ahora.",
|
|
34
|
+
"account.setPasswordSubmit": "Fijar la contraseña",
|
|
35
|
+
"account.roleOf": "Rol de {username}",
|
|
36
|
+
"account.changePassword": "Cambiar su contraseña",
|
|
37
|
+
"account.currentPassword": "Contraseña actual",
|
|
38
|
+
"account.newPassword": "Nueva contraseña",
|
|
39
|
+
"account.repeatPassword": "Nueva contraseña, otra vez",
|
|
40
|
+
"account.passwordsDiffer": "Las dos contraseñas nuevas no coinciden.",
|
|
41
|
+
"account.passwordChanged": "Su contraseña ha cambiado. Los demás navegadores con su sesión quedan desconectados.",
|
|
42
|
+
"account.ownEnvManaged": "El .env del servidor define su cuenta: cambie ADMIN_PASSWORD allí y reinicie el servidor.",
|
|
43
|
+
"account.remove": "Eliminar",
|
|
44
|
+
"account.removeQuestion": "¿Eliminar {username}? Ya no podrá iniciar sesión.",
|
|
45
|
+
"account.needsWrite": "Esta página cambia los datos, y {username} solo puede leerlos.",
|
|
46
|
+
"account.needsAdmin": "Esta página es para administradores, y {username} no lo es.",
|
|
47
|
+
"account.switchAccount": "Iniciar sesión con otra cuenta",
|
|
48
|
+
"account.unreachable": "No se puede contactar con el servidor. Inténtelo de nuevo en un momento.",
|
|
49
|
+
"account.refusal.wrongCredentials": "Nombre de usuario o contraseña incorrectos.",
|
|
50
|
+
"account.refusal.tooManyAttempts": "Demasiados intentos de inicio de sesión desde aquí. Inténtelo de nuevo dentro de 15 minutos.",
|
|
51
|
+
"account.refusal.signInElsewhere": "El inicio de sesión se hace desde las páginas de este sitio.",
|
|
52
|
+
"account.refusal.signOutElsewhere": "El cierre de sesión se hace desde las páginas de este sitio.",
|
|
53
|
+
"account.refusal.changeElsewhere": "Los cambios se hacen desde las páginas de este sitio.",
|
|
54
|
+
"account.refusal.signInRequired": "Esto es para las cuentas de este sitio: inicie sesión.",
|
|
55
|
+
"account.refusal.sessionEnded": "La sesión ha terminado: vuelva a iniciar sesión.",
|
|
56
|
+
"account.refusal.wrongToken": "Ese no es el ADMIN_TOKEN de este servidor.",
|
|
57
|
+
"account.refusal.noAdminToken": "Este servidor no tiene ningún ADMIN_TOKEN: inicie sesión en su lugar.",
|
|
58
|
+
"account.refusal.roleTooLow": "Su cuenta no puede hacer esto: pídaselo a un administrador.",
|
|
59
|
+
"account.refusal.usernameLength": "Un nombre de usuario tiene de {min} a {max} caracteres.",
|
|
60
|
+
"account.refusal.usernameCharacters": "Un nombre de usuario contiene letras, cifras, puntos, guiones y guiones bajos, y empieza por una letra o una cifra.",
|
|
61
|
+
"account.refusal.usernameTaken": "Ese nombre de usuario ya existe.",
|
|
62
|
+
"account.refusal.passwordEmpty": "Una contraseña no puede estar vacía.",
|
|
63
|
+
"account.refusal.passwordTooLong": "Una contraseña tiene como máximo {max} caracteres.",
|
|
64
|
+
"account.refusal.noSuchAccount": "Esa cuenta ya no existe.",
|
|
65
|
+
"account.refusal.nothingToChange": "Envíe una contraseña nueva, un rol nuevo, o ambos.",
|
|
66
|
+
"account.refusal.useChangePassword": "Cambie su propia contraseña con POST /password, que pide la actual.",
|
|
67
|
+
"account.refusal.ownRole": "No puede cambiar su propio rol.",
|
|
68
|
+
"account.refusal.removeYourself": "No puede eliminar la cuenta que está usando.",
|
|
69
|
+
"account.refusal.lastAdmin": "El último administrador no puede eliminarse ni degradarse.",
|
|
70
|
+
"account.refusal.envManaged": "El .env del servidor define esta cuenta, que se cambia allí.",
|
|
71
|
+
"account.refusal.tokenCannotChangePassword": "Una contraseña la cambia la cuenta con la sesión iniciada, no el ADMIN_TOKEN.",
|
|
72
|
+
"account.refusal.wrongCurrentPassword": "La contraseña actual no es esa.",
|
|
73
|
+
"account.refusal.accountRemoved": "La cuenta con la sesión iniciada fue eliminada.",
|
|
11
74
|
"ecosystem.tools": "Herramientas",
|
|
12
75
|
"ecosystem.menuHeading": "Nuestras herramientas, todas en el navegador",
|
|
13
76
|
"ecosystem.otherTools": "Nuestras otras herramientas",
|
package/lib/locales/fr.json
CHANGED
|
@@ -8,6 +8,69 @@
|
|
|
8
8
|
"account.signIn": "Se connecter",
|
|
9
9
|
"account.signOut": "Se déconnecter",
|
|
10
10
|
"account.signedInAs": "Connecté comme {name}",
|
|
11
|
+
"account.username": "Nom d'utilisateur",
|
|
12
|
+
"account.password": "Mot de passe",
|
|
13
|
+
"account.role": "Rôle",
|
|
14
|
+
"account.role.read": "Lecture",
|
|
15
|
+
"account.role.write": "Lecture et écriture",
|
|
16
|
+
"account.role.admin": "Administrateur",
|
|
17
|
+
"account.you": "vous",
|
|
18
|
+
"account.envManaged": "défini dans .env",
|
|
19
|
+
"account.envManagedTitle": "ADMIN_USERNAME et ADMIN_PASSWORD, dans le .env du serveur, définissent ce compte : il se modifie là.",
|
|
20
|
+
"account.accounts": "Comptes",
|
|
21
|
+
"account.accountsNote": "Lecture consulte les données, Lecture et écriture les modifie aussi, et Administrateur gère aussi ces comptes.",
|
|
22
|
+
"account.column.added": "Ajouté",
|
|
23
|
+
"account.column.lastSignIn": "Dernière connexion",
|
|
24
|
+
"account.column.passwordChanged": "Mot de passe changé",
|
|
25
|
+
"account.column.actions": "Modifier",
|
|
26
|
+
"account.never": "jamais",
|
|
27
|
+
"account.add": "Ajouter un compte",
|
|
28
|
+
"account.addSubmit": "Ajouter le compte",
|
|
29
|
+
"account.added": "{username} peut se connecter dès maintenant.",
|
|
30
|
+
"account.usernameHelp": "Lettres, chiffres, points, tirets et soulignés.",
|
|
31
|
+
"account.setPassword": "Définir le mot de passe",
|
|
32
|
+
"account.setPasswordTitle": "Définir le mot de passe de {username}",
|
|
33
|
+
"account.setPasswordNote": "{username} est déconnecté partout, et se connecte désormais avec ce mot de passe.",
|
|
34
|
+
"account.setPasswordSubmit": "Définir le mot de passe",
|
|
35
|
+
"account.roleOf": "Rôle de {username}",
|
|
36
|
+
"account.changePassword": "Changer votre mot de passe",
|
|
37
|
+
"account.currentPassword": "Mot de passe actuel",
|
|
38
|
+
"account.newPassword": "Nouveau mot de passe",
|
|
39
|
+
"account.repeatPassword": "Nouveau mot de passe, à nouveau",
|
|
40
|
+
"account.passwordsDiffer": "Les deux nouveaux mots de passe diffèrent.",
|
|
41
|
+
"account.passwordChanged": "Votre mot de passe est changé. Les autres navigateurs connectés avec votre compte sont déconnectés.",
|
|
42
|
+
"account.ownEnvManaged": "Le .env du serveur définit votre compte : changez ADMIN_PASSWORD là, puis redémarrez le serveur.",
|
|
43
|
+
"account.remove": "Supprimer",
|
|
44
|
+
"account.removeQuestion": "Supprimer {username} ? Ce compte ne pourra plus se connecter.",
|
|
45
|
+
"account.needsWrite": "Cette page modifie les données, et {username} peut seulement les lire.",
|
|
46
|
+
"account.needsAdmin": "Cette page est réservée aux administrateurs, et {username} n'en est pas un.",
|
|
47
|
+
"account.switchAccount": "Se connecter avec un autre compte",
|
|
48
|
+
"account.unreachable": "Le serveur est injoignable. Réessayez dans un instant.",
|
|
49
|
+
"account.refusal.wrongCredentials": "Nom d'utilisateur ou mot de passe incorrect.",
|
|
50
|
+
"account.refusal.tooManyAttempts": "Trop de tentatives de connexion depuis ici. Réessayez dans 15 minutes.",
|
|
51
|
+
"account.refusal.signInElsewhere": "La connexion se fait depuis les pages de ce site.",
|
|
52
|
+
"account.refusal.signOutElsewhere": "La déconnexion se fait depuis les pages de ce site.",
|
|
53
|
+
"account.refusal.changeElsewhere": "Les modifications se font depuis les pages de ce site.",
|
|
54
|
+
"account.refusal.signInRequired": "Ceci est réservé aux comptes de ce site : connectez-vous.",
|
|
55
|
+
"account.refusal.sessionEnded": "La session a pris fin : reconnectez-vous.",
|
|
56
|
+
"account.refusal.wrongToken": "Ce n'est pas l'ADMIN_TOKEN de ce serveur.",
|
|
57
|
+
"account.refusal.noAdminToken": "Aucun ADMIN_TOKEN n'est défini sur ce serveur : connectez-vous plutôt.",
|
|
58
|
+
"account.refusal.roleTooLow": "Votre compte ne peut pas faire ceci : demandez à un administrateur.",
|
|
59
|
+
"account.refusal.usernameLength": "Un nom d'utilisateur compte de {min} à {max} caractères.",
|
|
60
|
+
"account.refusal.usernameCharacters": "Un nom d'utilisateur contient des lettres, des chiffres, des points, des tirets et des soulignés, et commence par une lettre ou un chiffre.",
|
|
61
|
+
"account.refusal.usernameTaken": "Ce nom d'utilisateur est déjà pris.",
|
|
62
|
+
"account.refusal.passwordEmpty": "Un mot de passe ne peut pas être vide.",
|
|
63
|
+
"account.refusal.passwordTooLong": "Un mot de passe compte au plus {max} caractères.",
|
|
64
|
+
"account.refusal.noSuchAccount": "Ce compte n'existe plus.",
|
|
65
|
+
"account.refusal.nothingToChange": "Envoyez un nouveau mot de passe, un nouveau rôle, ou les deux.",
|
|
66
|
+
"account.refusal.useChangePassword": "Changez votre propre mot de passe avec POST /password, qui demande le mot de passe actuel.",
|
|
67
|
+
"account.refusal.ownRole": "Vous ne pouvez pas changer votre propre rôle.",
|
|
68
|
+
"account.refusal.removeYourself": "Vous ne pouvez pas supprimer le compte que vous utilisez.",
|
|
69
|
+
"account.refusal.lastAdmin": "Le dernier administrateur ne peut être ni supprimé ni rétrogradé.",
|
|
70
|
+
"account.refusal.envManaged": "Le .env du serveur définit ce compte : il se modifie là.",
|
|
71
|
+
"account.refusal.tokenCannotChangePassword": "Un mot de passe se change depuis le compte connecté, pas avec l'ADMIN_TOKEN.",
|
|
72
|
+
"account.refusal.wrongCurrentPassword": "Le mot de passe actuel n'est pas celui-là.",
|
|
73
|
+
"account.refusal.accountRemoved": "Le compte connecté a été supprimé.",
|
|
11
74
|
"ecosystem.tools": "Outils",
|
|
12
75
|
"ecosystem.menuHeading": "Nos outils, tous dans le navigateur",
|
|
13
76
|
"ecosystem.otherTools": "Nos autres outils",
|
package/lib/locales/it.json
CHANGED
|
@@ -8,6 +8,69 @@
|
|
|
8
8
|
"account.signIn": "Accedi",
|
|
9
9
|
"account.signOut": "Esci",
|
|
10
10
|
"account.signedInAs": "Accesso effettuato come {name}",
|
|
11
|
+
"account.username": "Nome utente",
|
|
12
|
+
"account.password": "Password",
|
|
13
|
+
"account.role": "Ruolo",
|
|
14
|
+
"account.role.read": "Lettura",
|
|
15
|
+
"account.role.write": "Lettura e scrittura",
|
|
16
|
+
"account.role.admin": "Amministratore",
|
|
17
|
+
"account.you": "tu",
|
|
18
|
+
"account.envManaged": "definito in .env",
|
|
19
|
+
"account.envManagedTitle": "ADMIN_USERNAME e ADMIN_PASSWORD, nel .env del server, definiscono questo account, che si cambia lì.",
|
|
20
|
+
"account.accounts": "Account",
|
|
21
|
+
"account.accountsNote": "Lettura vede i dati, Lettura e scrittura li modifica anche, e Amministratore gestisce anche questi account.",
|
|
22
|
+
"account.column.added": "Aggiunto",
|
|
23
|
+
"account.column.lastSignIn": "Ultimo accesso",
|
|
24
|
+
"account.column.passwordChanged": "Password cambiata",
|
|
25
|
+
"account.column.actions": "Modifica",
|
|
26
|
+
"account.never": "mai",
|
|
27
|
+
"account.add": "Aggiungi un account",
|
|
28
|
+
"account.addSubmit": "Aggiungi l'account",
|
|
29
|
+
"account.added": "{username} può accedere da ora.",
|
|
30
|
+
"account.usernameHelp": "Lettere, cifre, punti, trattini e trattini bassi.",
|
|
31
|
+
"account.setPassword": "Imposta password",
|
|
32
|
+
"account.setPasswordTitle": "Imposta la password di {username}",
|
|
33
|
+
"account.setPasswordNote": "{username} viene disconnesso ovunque, e d'ora in poi accede con questa password.",
|
|
34
|
+
"account.setPasswordSubmit": "Imposta la password",
|
|
35
|
+
"account.roleOf": "Ruolo di {username}",
|
|
36
|
+
"account.changePassword": "Cambia la tua password",
|
|
37
|
+
"account.currentPassword": "Password attuale",
|
|
38
|
+
"account.newPassword": "Nuova password",
|
|
39
|
+
"account.repeatPassword": "Nuova password, di nuovo",
|
|
40
|
+
"account.passwordsDiffer": "Le due nuove password sono diverse.",
|
|
41
|
+
"account.passwordChanged": "La tua password è cambiata. Gli altri browser connessi con il tuo account sono disconnessi.",
|
|
42
|
+
"account.ownEnvManaged": "Il .env del server definisce il tuo account: cambia ADMIN_PASSWORD lì, poi riavvia il server.",
|
|
43
|
+
"account.remove": "Rimuovi",
|
|
44
|
+
"account.removeQuestion": "Rimuovere {username}? Non potrà più accedere.",
|
|
45
|
+
"account.needsWrite": "Questa pagina modifica i dati, e {username} può solo leggerli.",
|
|
46
|
+
"account.needsAdmin": "Questa pagina è per gli amministratori, e {username} non lo è.",
|
|
47
|
+
"account.switchAccount": "Accedi con un altro account",
|
|
48
|
+
"account.unreachable": "Il server non è raggiungibile. Riprova tra un momento.",
|
|
49
|
+
"account.refusal.wrongCredentials": "Nome utente o password errati.",
|
|
50
|
+
"account.refusal.tooManyAttempts": "Troppi tentativi di accesso da qui. Riprova tra 15 minuti.",
|
|
51
|
+
"account.refusal.signInElsewhere": "L'accesso avviene dalle pagine di questo sito.",
|
|
52
|
+
"account.refusal.signOutElsewhere": "L'uscita avviene dalle pagine di questo sito.",
|
|
53
|
+
"account.refusal.changeElsewhere": "Le modifiche si fanno dalle pagine di questo sito.",
|
|
54
|
+
"account.refusal.signInRequired": "Questo è per gli account di questo sito: accedi.",
|
|
55
|
+
"account.refusal.sessionEnded": "La sessione è terminata: accedi di nuovo.",
|
|
56
|
+
"account.refusal.wrongToken": "Questo non è l'ADMIN_TOKEN di questo server.",
|
|
57
|
+
"account.refusal.noAdminToken": "Su questo server non è impostato alcun ADMIN_TOKEN: accedi invece.",
|
|
58
|
+
"account.refusal.roleTooLow": "Il tuo account non può farlo: chiedi a un amministratore.",
|
|
59
|
+
"account.refusal.usernameLength": "Un nome utente ha da {min} a {max} caratteri.",
|
|
60
|
+
"account.refusal.usernameCharacters": "Un nome utente contiene lettere, cifre, punti, trattini e trattini bassi, e inizia con una lettera o una cifra.",
|
|
61
|
+
"account.refusal.usernameTaken": "Questo nome utente è già preso.",
|
|
62
|
+
"account.refusal.passwordEmpty": "Una password non può essere vuota.",
|
|
63
|
+
"account.refusal.passwordTooLong": "Una password ha al massimo {max} caratteri.",
|
|
64
|
+
"account.refusal.noSuchAccount": "Questo account non esiste più.",
|
|
65
|
+
"account.refusal.nothingToChange": "Invia una nuova password, un nuovo ruolo, o entrambi.",
|
|
66
|
+
"account.refusal.useChangePassword": "Cambia la tua password con POST /password, che chiede quella attuale.",
|
|
67
|
+
"account.refusal.ownRole": "Non puoi cambiare il tuo ruolo.",
|
|
68
|
+
"account.refusal.removeYourself": "Non puoi rimuovere l'account che stai usando.",
|
|
69
|
+
"account.refusal.lastAdmin": "L'ultimo amministratore non può essere né rimosso né declassato.",
|
|
70
|
+
"account.refusal.envManaged": "Il .env del server definisce questo account, che si cambia lì.",
|
|
71
|
+
"account.refusal.tokenCannotChangePassword": "Una password la cambia l'account connesso, non l'ADMIN_TOKEN.",
|
|
72
|
+
"account.refusal.wrongCurrentPassword": "La password attuale non è questa.",
|
|
73
|
+
"account.refusal.accountRemoved": "L'account connesso è stato rimosso.",
|
|
11
74
|
"ecosystem.tools": "Strumenti",
|
|
12
75
|
"ecosystem.menuHeading": "I nostri strumenti, tutti nel browser",
|
|
13
76
|
"ecosystem.otherTools": "I nostri altri strumenti",
|
|
@@ -4,8 +4,9 @@ import type { Options as SanitizeSchema } from 'rehype-sanitize';
|
|
|
4
4
|
*
|
|
5
5
|
* GitHub's schema, which already strips scripts, event handlers and every URL
|
|
6
6
|
* that is not http, https or relative, plus what decks legitimately use beyond
|
|
7
|
-
* it: figures, the class a site styles a block with,
|
|
8
|
-
*
|
|
7
|
+
* it: figures, the class a site styles a block with, frames, and formulas
|
|
8
|
+
* written in MathML, which the browser draws natively. Which frame may actually
|
|
9
|
+
* be drawn is decided by `isFamilyFrameSource` when it renders.
|
|
9
10
|
*/
|
|
10
11
|
export declare const SLIDE_SANITIZE_SCHEMA: SanitizeSchema;
|
|
11
12
|
//# sourceMappingURL=slideSanitizeSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slideSanitizeSchema.d.ts","sourceRoot":"","sources":["../../../src/slides/ui/slideSanitizeSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"slideSanitizeSchema.d.ts","sourceRoot":"","sources":["../../../src/slides/ui/slideSanitizeSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAuEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAmBnC,CAAC"}
|
|
@@ -1,11 +1,77 @@
|
|
|
1
1
|
import { defaultSchema } from 'rehype-sanitize';
|
|
2
|
+
/**
|
|
3
|
+
* The MathML Core elements a formula is written with. `annotation-xml`, which
|
|
4
|
+
* may carry HTML, and the legacy `maction` are left out.
|
|
5
|
+
*/
|
|
6
|
+
const MATHML_ELEMENTS = [
|
|
7
|
+
'math',
|
|
8
|
+
'merror',
|
|
9
|
+
'mfrac',
|
|
10
|
+
'mi',
|
|
11
|
+
'mmultiscripts',
|
|
12
|
+
'mn',
|
|
13
|
+
'mo',
|
|
14
|
+
'mover',
|
|
15
|
+
'mpadded',
|
|
16
|
+
'mphantom',
|
|
17
|
+
'mprescripts',
|
|
18
|
+
'mroot',
|
|
19
|
+
'mrow',
|
|
20
|
+
'ms',
|
|
21
|
+
'mspace',
|
|
22
|
+
'msqrt',
|
|
23
|
+
'mstyle',
|
|
24
|
+
'msub',
|
|
25
|
+
'msubsup',
|
|
26
|
+
'msup',
|
|
27
|
+
'mtable',
|
|
28
|
+
'mtd',
|
|
29
|
+
'mtext',
|
|
30
|
+
'mtr',
|
|
31
|
+
'munder',
|
|
32
|
+
'munderover',
|
|
33
|
+
'semantics',
|
|
34
|
+
'annotation',
|
|
35
|
+
];
|
|
36
|
+
/**
|
|
37
|
+
* What every MathML element may carry, colours aside: a formula takes the
|
|
38
|
+
* slide's ink, as everything else on it does.
|
|
39
|
+
*/
|
|
40
|
+
const MATHML_GLOBAL = ['dir', 'displaystyle', 'mathvariant', 'scriptlevel'];
|
|
41
|
+
/** The attributes particular to one MathML element, by hast property name. */
|
|
42
|
+
const MATHML_ATTRIBUTES = {
|
|
43
|
+
math: [...MATHML_GLOBAL, 'display', 'alttext'],
|
|
44
|
+
mo: [
|
|
45
|
+
...MATHML_GLOBAL,
|
|
46
|
+
'form',
|
|
47
|
+
'fence',
|
|
48
|
+
'separator',
|
|
49
|
+
'lspace',
|
|
50
|
+
'rspace',
|
|
51
|
+
'stretchy',
|
|
52
|
+
'symmetric',
|
|
53
|
+
'maxsize',
|
|
54
|
+
'minsize',
|
|
55
|
+
'largeop',
|
|
56
|
+
'movablelimits',
|
|
57
|
+
],
|
|
58
|
+
mfrac: [...MATHML_GLOBAL, 'linethickness'],
|
|
59
|
+
mspace: [...MATHML_GLOBAL, 'width', 'height', 'depth'],
|
|
60
|
+
mpadded: [...MATHML_GLOBAL, 'width', 'height', 'depth', 'lspace', 'voffset'],
|
|
61
|
+
mover: [...MATHML_GLOBAL, 'accent'],
|
|
62
|
+
munder: [...MATHML_GLOBAL, 'accentunder'],
|
|
63
|
+
munderover: [...MATHML_GLOBAL, 'accent', 'accentunder'],
|
|
64
|
+
mtd: [...MATHML_GLOBAL, 'columnspan', 'rowSpan'],
|
|
65
|
+
annotation: ['encoding'],
|
|
66
|
+
};
|
|
2
67
|
/**
|
|
3
68
|
* What survives of the raw HTML a deck writes.
|
|
4
69
|
*
|
|
5
70
|
* GitHub's schema, which already strips scripts, event handlers and every URL
|
|
6
71
|
* that is not http, https or relative, plus what decks legitimately use beyond
|
|
7
|
-
* it: figures, the class a site styles a block with,
|
|
8
|
-
*
|
|
72
|
+
* it: figures, the class a site styles a block with, frames, and formulas
|
|
73
|
+
* written in MathML, which the browser draws natively. Which frame may actually
|
|
74
|
+
* be drawn is decided by `isFamilyFrameSource` when it renders.
|
|
9
75
|
*/
|
|
10
76
|
export const SLIDE_SANITIZE_SCHEMA = {
|
|
11
77
|
...defaultSchema,
|
|
@@ -18,11 +84,25 @@ export const SLIDE_SANITIZE_SCHEMA = {
|
|
|
18
84
|
'mark',
|
|
19
85
|
'small',
|
|
20
86
|
'u',
|
|
87
|
+
...MATHML_ELEMENTS,
|
|
21
88
|
],
|
|
22
89
|
attributes: {
|
|
23
90
|
...defaultSchema.attributes,
|
|
91
|
+
...mathmlAttributes(),
|
|
24
92
|
iframe: ['src', 'allowFullScreen'],
|
|
25
93
|
'*': [...(defaultSchema.attributes?.['*'] ?? []), 'className'],
|
|
26
94
|
},
|
|
27
95
|
};
|
|
96
|
+
/**
|
|
97
|
+
* The attributes of every MathML element, those of its own and the global
|
|
98
|
+
* ones.
|
|
99
|
+
* @returns The attribute lists, by element.
|
|
100
|
+
*/
|
|
101
|
+
function mathmlAttributes() {
|
|
102
|
+
const attributes = {};
|
|
103
|
+
for (const element of MATHML_ELEMENTS) {
|
|
104
|
+
attributes[element] = MATHML_ATTRIBUTES[element] ?? MATHML_GLOBAL;
|
|
105
|
+
}
|
|
106
|
+
return attributes;
|
|
107
|
+
}
|
|
28
108
|
//# sourceMappingURL=slideSanitizeSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slideSanitizeSchema.js","sourceRoot":"","sources":["../../../src/slides/ui/slideSanitizeSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"slideSanitizeSchema.js","sourceRoot":"","sources":["../../../src/slides/ui/slideSanitizeSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,eAAe;IACf,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,SAAS;IACT,UAAU;IACV,aAAa;IACb,OAAO;IACP,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;IACP,KAAK;IACL,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,YAAY;CACb,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,iBAAiB,GAA6B;IAClD,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC;IAC9C,EAAE,EAAE;QACF,GAAG,aAAa;QAChB,MAAM;QACN,OAAO;QACP,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,WAAW;QACX,SAAS;QACT,SAAS;QACT,SAAS;QACT,eAAe;KAChB;IACD,KAAK,EAAE,CAAC,GAAG,aAAa,EAAE,eAAe,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;IACtD,OAAO,EAAE,CAAC,GAAG,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC5E,KAAK,EAAE,CAAC,GAAG,aAAa,EAAE,QAAQ,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,aAAa,EAAE,aAAa,CAAC;IACzC,UAAU,EAAE,CAAC,GAAG,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC;IACvD,GAAG,EAAE,CAAC,GAAG,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC;IAChD,UAAU,EAAE,CAAC,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,GAAG,aAAa;IAChB,QAAQ,EAAE;QACR,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;QACjC,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,OAAO;QACP,GAAG;QACH,GAAG,eAAe;KACnB;IACD,UAAU,EAAE;QACV,GAAG,aAAa,CAAC,UAAU;QAC3B,GAAG,gBAAgB,EAAE;QACrB,MAAM,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC;QAClC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC;KAC/D;CACF,CAAC;AAEF;;;;GAIG;AACH,SAAS,gBAAgB;IACvB,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,UAAU,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC;IACpE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-cheminfo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.71.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React components, hooks and framework-free helpers shared by the cheminfo sites: site chrome, citations, sharing, routing, pedagogy, charts, and the structure, orbital and 3D molecule viewers",
|
|
6
6
|
"author": "Luc Patiny",
|
|
@@ -42,4 +42,11 @@ export const PROVIDERS = [
|
|
|
42
42
|
href: 'https://www.epfl.ch',
|
|
43
43
|
location: 'Lausanne, Switzerland',
|
|
44
44
|
},
|
|
45
|
+
{
|
|
46
|
+
id: 'unil-esc',
|
|
47
|
+
name: 'ESC',
|
|
48
|
+
fullName: 'École des sciences criminelles, Université de Lausanne',
|
|
49
|
+
href: 'https://www.unil.ch/esc/',
|
|
50
|
+
location: 'Lausanne, Switzerland',
|
|
51
|
+
},
|
|
45
52
|
] as const satisfies readonly ProviderEntry[];
|
|
@@ -88,11 +88,30 @@ function ProviderLogo(props: { provider: ProviderEntry }): ReactElement {
|
|
|
88
88
|
switch (provider.id) {
|
|
89
89
|
case 'epfl':
|
|
90
90
|
return <EpflLogo label={label} />;
|
|
91
|
+
case 'unil-esc':
|
|
92
|
+
return <UnilEscLockup label={label} />;
|
|
91
93
|
default:
|
|
92
94
|
return <span>{provider.name}</span>;
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
|
|
98
|
+
// The school's name set in type beside its university's, in the black the
|
|
99
|
+
// university writes its name in: no drawing of its emblem is kept here, and a
|
|
100
|
+
// name nobody can misread credits it better than a guess at one.
|
|
101
|
+
function UnilEscLockup(props: { label: string }): ReactElement {
|
|
102
|
+
return (
|
|
103
|
+
<span role="img" aria-label={props.label} style={UNIL_LOCKUP_STYLE}>
|
|
104
|
+
<span style={UNIL_NAME_STYLE}>UNIL</span>
|
|
105
|
+
<span style={UNIL_RULE_STYLE} />
|
|
106
|
+
<span style={UNIL_SCHOOL_STYLE}>
|
|
107
|
+
École des
|
|
108
|
+
<br />
|
|
109
|
+
sciences criminelles
|
|
110
|
+
</span>
|
|
111
|
+
</span>
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
96
115
|
function EpflLogo(props: { label: string }): ReactElement {
|
|
97
116
|
return (
|
|
98
117
|
<svg
|
|
@@ -173,3 +192,33 @@ const ROLES_STYLE = {
|
|
|
173
192
|
paddingLeft: 20,
|
|
174
193
|
borderTop: '1px solid var(--border)',
|
|
175
194
|
} as const satisfies CSSProperties;
|
|
195
|
+
|
|
196
|
+
const UNIL_LOCKUP_STYLE = {
|
|
197
|
+
display: 'flex',
|
|
198
|
+
alignItems: 'center',
|
|
199
|
+
gap: 8,
|
|
200
|
+
height: 31,
|
|
201
|
+
// The institution's own colour, not a family token: the tile is white on
|
|
202
|
+
// every theme.
|
|
203
|
+
color: 'black',
|
|
204
|
+
} as const satisfies CSSProperties;
|
|
205
|
+
|
|
206
|
+
const UNIL_NAME_STYLE = {
|
|
207
|
+
fontSize: 24,
|
|
208
|
+
fontWeight: 800,
|
|
209
|
+
letterSpacing: '0.02em',
|
|
210
|
+
lineHeight: 1,
|
|
211
|
+
} as const satisfies CSSProperties;
|
|
212
|
+
|
|
213
|
+
const UNIL_RULE_STYLE = {
|
|
214
|
+
alignSelf: 'stretch',
|
|
215
|
+
width: 1,
|
|
216
|
+
background: 'black',
|
|
217
|
+
} as const satisfies CSSProperties;
|
|
218
|
+
|
|
219
|
+
const UNIL_SCHOOL_STYLE = {
|
|
220
|
+
fontSize: 10.5,
|
|
221
|
+
fontWeight: 600,
|
|
222
|
+
lineHeight: 1.15,
|
|
223
|
+
whiteSpace: 'nowrap',
|
|
224
|
+
} as const satisfies CSSProperties;
|