@ory/elements-react 1.0.0-next.31 → 1.0.0-next.33

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/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ ## 1.0.0-next.33 (2025-03-07)
2
+
3
+ ### 🚀 Features
4
+
5
+ - add password toggle to input ([#378](https://github.com/ory/elements/pull/378))
6
+
7
+ ### 🩹 Fixes
8
+
9
+ - validation message regression ([#380](https://github.com/ory/elements/pull/380))
10
+
11
+ ### ❤️ Thank You
12
+
13
+ - Jonas Hungershausen
14
+ - Pierre Caillaud @pcaillaudm
15
+
16
+ ## 1.0.0-next.32 (2025-03-06)
17
+
18
+ ### 🚀 Features
19
+
20
+ - use method selector in 2fa login ([#377](https://github.com/ory/elements/pull/377))
21
+
22
+ ### ❤️ Thank You
23
+
24
+ - Pierre Caillaud @pcaillaudm
25
+
1
26
  ## 1.0.0-next.31 (2025-03-06)
2
27
 
3
28
  ### 🚀 Features
package/DEVELOPMENT.md CHANGED
@@ -90,7 +90,5 @@ have to revert the `package.json` and `package-lock.json` files.
90
90
  Usage:
91
91
 
92
92
  ```bash
93
- ./scripts/release.sh <project> <tag>
94
-
95
93
  ./scripts/release.sh @ory/elements-react pr
96
94
  ```
package/dist/index.d.mts CHANGED
@@ -38,6 +38,10 @@ type OryNodeCaptchaProps = {
38
38
  type OryCardAuthMethodListItemProps = {
39
39
  onClick: () => void;
40
40
  group: string;
41
+ title?: {
42
+ id: string;
43
+ values?: Record<string, string>;
44
+ };
41
45
  };
42
46
  type OryNodeImageProps = {
43
47
  attributes: UiNodeImageAttributes;
@@ -360,7 +364,7 @@ type OryFlowComponentOverrides = DeepPartialTwoLevels<OryFlowComponents>;
360
364
  type OryFormProps = PropsWithChildren<{
361
365
  onAfterSubmit?: (method: string | number | boolean | undefined) => void;
362
366
  }>;
363
- declare function OryForm({ children, onAfterSubmit }: OryFormProps): string | react_jsx_runtime.JSX.Element;
367
+ declare function OryForm({ children, onAfterSubmit }: OryFormProps): react_jsx_runtime.JSX.Element;
364
368
 
365
369
  declare function useComponents(): OryFlowComponents;
366
370
  declare function useNodeSorter(): (a: UiNode, b: UiNode, ctx: {
package/dist/index.d.ts CHANGED
@@ -38,6 +38,10 @@ type OryNodeCaptchaProps = {
38
38
  type OryCardAuthMethodListItemProps = {
39
39
  onClick: () => void;
40
40
  group: string;
41
+ title?: {
42
+ id: string;
43
+ values?: Record<string, string>;
44
+ };
41
45
  };
42
46
  type OryNodeImageProps = {
43
47
  attributes: UiNodeImageAttributes;
@@ -360,7 +364,7 @@ type OryFlowComponentOverrides = DeepPartialTwoLevels<OryFlowComponents>;
360
364
  type OryFormProps = PropsWithChildren<{
361
365
  onAfterSubmit?: (method: string | number | boolean | undefined) => void;
362
366
  }>;
363
- declare function OryForm({ children, onAfterSubmit }: OryFormProps): string | react_jsx_runtime.JSX.Element;
367
+ declare function OryForm({ children, onAfterSubmit }: OryFormProps): react_jsx_runtime.JSX.Element;
364
368
 
365
369
  declare function useComponents(): OryFlowComponents;
366
370
  declare function useNodeSorter(): (a: UiNode, b: UiNode, ctx: {
package/dist/index.js CHANGED
@@ -93,12 +93,12 @@ function OryComponentProvider({
93
93
  }
94
94
  );
95
95
  }
96
- function isChoosingMethod(uiNodes) {
97
- return uiNodes.some(
96
+ function isChoosingMethod(flow) {
97
+ return flow.flow.ui.nodes.some(
98
98
  (node) => "name" in node.attributes && node.attributes.name === "screen" && "value" in node.attributes && node.attributes.value === "previous"
99
- ) || uiNodes.some(
99
+ ) || flow.flow.ui.nodes.some(
100
100
  (node) => node.group === clientFetch.UiNodeGroupEnum.IdentifierFirst && "name" in node.attributes && node.attributes.name === "identifier" && node.attributes.type === "hidden"
101
- );
101
+ ) || flow.flowType === clientFetch.FlowType.Login && flow.flow.requested_aal === "aal2";
102
102
  }
103
103
  function filterOidcOut(nodes) {
104
104
  return nodes.filter((node) => node.group !== clientFetch.UiNodeGroupEnum.Oidc);
@@ -210,6 +210,9 @@ function useNodesGroups(nodes) {
210
210
  entries
211
211
  };
212
212
  }
213
+ var findNode = (nodes, opt) => nodes.find((n) => {
214
+ return n.attributes.node_type === opt.node_type && (opt.group instanceof RegExp ? n.group.match(opt.group) : n.group === opt.group) && (opt.name && n.attributes.node_type === "input" ? opt.name instanceof RegExp ? n.attributes.name.match(opt.name) : n.attributes.name === opt.name : !opt.name);
215
+ });
213
216
 
214
217
  // src/context/form-state.ts
215
218
  function findMethodWithMessage(nodes) {
@@ -233,7 +236,7 @@ function parseStateFromFlow(flow) {
233
236
  return { current: "method_active", method: methodWithMessage.group };
234
237
  } else if (flow.flow.active && !["default", "identifier_first", "oidc"].includes(flow.flow.active)) {
235
238
  return { current: "method_active", method: flow.flow.active };
236
- } else if (isChoosingMethod(flow.flow.ui.nodes)) {
239
+ } else if (isChoosingMethod(flow)) {
237
240
  const authMethods = nodesToAuthMethodGroups(flow.flow.ui.nodes);
238
241
  if (authMethods.length === 1 && authMethods[0] !== "code") {
239
242
  return { current: "method_active", method: authMethods[0] };
@@ -825,10 +828,10 @@ function useOryFormSubmit(onAfterSubmit) {
825
828
  return onSubmit;
826
829
  }
827
830
  function OryForm({ children, onAfterSubmit }) {
828
- var _a;
829
831
  const { Form } = useComponents();
830
832
  const flowContainer = useOryFlow();
831
833
  const methods = reactHookForm.useFormContext();
834
+ const { Message } = useComponents();
832
835
  const intl = reactIntl.useIntl();
833
836
  const onSubmit = useOryFormSubmit(onAfterSubmit);
834
837
  const hasMethods = flowContainer.flow.ui.nodes.some((node) => {
@@ -843,11 +846,22 @@ function OryForm({ children, onAfterSubmit }) {
843
846
  }
844
847
  return false;
845
848
  });
846
- if (!hasMethods && ((_a = flowContainer.flow.ui.messages) != null ? _a : []).length === 0) {
847
- return intl.formatMessage({
848
- id: `identities.messages.${5000002}`,
849
- defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
850
- });
849
+ if (!hasMethods) {
850
+ const m = {
851
+ id: 5000002,
852
+ text: intl.formatMessage({
853
+ id: `identities.messages.${5000002}`,
854
+ defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
855
+ }),
856
+ type: "error"
857
+ };
858
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
859
+ /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: m }, m.id) }),
860
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
861
+ ] });
862
+ }
863
+ if (flowContainer.flowType === clientFetch.FlowType.Login && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
864
+ methods.setValue("method", "code");
851
865
  }
852
866
  return /* @__PURE__ */ jsxRuntime.jsx(
853
867
  Form.Root,
@@ -859,7 +873,15 @@ function OryForm({ children, onAfterSubmit }) {
859
873
  }
860
874
  );
861
875
  }
862
- var messageIdsToHide = [1040009, 1060003, 1080003, 1010014, 1040005, 1010016];
876
+ var messageIdsToHide = [
877
+ 1040009,
878
+ 1060003,
879
+ 1080003,
880
+ 1010004,
881
+ 1010014,
882
+ 1040005,
883
+ 1010016
884
+ ];
863
885
  function OryCardValidationMessages({ ...props }) {
864
886
  var _a;
865
887
  const { flow } = useOryFlow();
@@ -1032,28 +1054,47 @@ function isUINodeGroupEnum(method) {
1032
1054
  return Object.values(clientFetch.UiNodeGroupEnum).includes(method);
1033
1055
  }
1034
1056
  function OryTwoStepCard() {
1035
- const {
1036
- flow: { ui },
1037
- flowType,
1038
- formState,
1039
- dispatchFormState
1040
- } = useOryFlow();
1057
+ var _a, _b, _c, _d;
1041
1058
  const { Form, Card } = useComponents();
1059
+ const { flow, flowType, formState, dispatchFormState } = useOryFlow();
1060
+ const { ui } = flow;
1042
1061
  const nodeSorter = useNodeSorter();
1043
1062
  const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
1044
1063
  const uniqueGroups = useNodesGroups(ui.nodes);
1045
- const options = Object.values(clientFetch.UiNodeGroupEnum).filter((group) => {
1046
- var _a;
1047
- return (_a = uniqueGroups.groups[group]) == null ? void 0 : _a.length;
1048
- }).filter(
1049
- (group) => ![
1050
- clientFetch.UiNodeGroupEnum.Oidc,
1051
- clientFetch.UiNodeGroupEnum.Default,
1052
- clientFetch.UiNodeGroupEnum.IdentifierFirst,
1053
- clientFetch.UiNodeGroupEnum.Profile,
1054
- clientFetch.UiNodeGroupEnum.Captcha
1055
- ].includes(group)
1064
+ const options = Object.fromEntries(
1065
+ Object.values(clientFetch.UiNodeGroupEnum).filter((group) => {
1066
+ var _a2;
1067
+ return (_a2 = uniqueGroups.groups[group]) == null ? void 0 : _a2.length;
1068
+ }).filter(
1069
+ (group) => ![
1070
+ clientFetch.UiNodeGroupEnum.Oidc,
1071
+ clientFetch.UiNodeGroupEnum.Default,
1072
+ clientFetch.UiNodeGroupEnum.IdentifierFirst,
1073
+ clientFetch.UiNodeGroupEnum.Profile,
1074
+ clientFetch.UiNodeGroupEnum.Captcha
1075
+ ].includes(group)
1076
+ ).map((g) => [g, {}])
1056
1077
  );
1078
+ if (clientFetch.UiNodeGroupEnum.Code in options) {
1079
+ let identifier = (_b = (_a = findNode(ui.nodes, {
1080
+ group: "identifier_first",
1081
+ node_type: "input",
1082
+ name: "identifier"
1083
+ })) == null ? void 0 : _a.attributes) == null ? void 0 : _b.value;
1084
+ identifier || (identifier = (_d = (_c = findNode(ui.nodes, {
1085
+ group: "code",
1086
+ node_type: "input",
1087
+ name: "address"
1088
+ })) == null ? void 0 : _c.attributes) == null ? void 0 : _d.value);
1089
+ if (identifier) {
1090
+ options[clientFetch.UiNodeGroupEnum.Code] = {
1091
+ title: {
1092
+ id: "identities.messages.1010023",
1093
+ values: { address: identifier }
1094
+ }
1095
+ };
1096
+ }
1097
+ }
1057
1098
  const nonOidcNodes = filterOidcOut(ui.nodes);
1058
1099
  const finalNodes = formState.current === "method_active" ? getFinalNodes(uniqueGroups.groups, formState.method) : [];
1059
1100
  const handleAfterFormSubmit = (method) => {
@@ -1106,21 +1147,26 @@ function OryTwoStepCard() {
1106
1147
  }
1107
1148
  function AuthMethodList({ options, setSelectedGroup }) {
1108
1149
  const { Card } = useComponents();
1109
- const { setValue } = reactHookForm.useFormContext();
1110
- const handleClick = (group) => {
1150
+ const { setValue, getValues } = reactHookForm.useFormContext();
1151
+ const handleClick = (group, options2) => {
1152
+ var _a, _b, _c, _d;
1111
1153
  if (isGroupImmediateSubmit(group)) {
1154
+ if (group === "code" && !getValues("identifier") && ((_b = (_a = options2 == null ? void 0 : options2.title) == null ? void 0 : _a.values) == null ? void 0 : _b.address)) {
1155
+ setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
1156
+ }
1112
1157
  setValue("method", group);
1113
1158
  } else {
1114
1159
  setSelectedGroup(group);
1115
1160
  }
1116
1161
  };
1117
- return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
1162
+ return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsxRuntime.jsx(
1118
1163
  Card.AuthMethodListItem,
1119
1164
  {
1120
- group: option,
1121
- onClick: () => handleClick(option)
1165
+ group,
1166
+ title: options2.title,
1167
+ onClick: () => handleClick(group, options2)
1122
1168
  },
1123
- option
1169
+ group
1124
1170
  )) });
1125
1171
  }
1126
1172
  function OryFormGroups({ groups }) {
@@ -1718,9 +1764,9 @@ var en_default = {
1718
1764
  "identities.messages.1010005": "Verify",
1719
1765
  "identities.messages.1010006": "Authentication code",
1720
1766
  "identities.messages.1010007": "Backup recovery code",
1721
- "identities.messages.1010008": "Sign in with hardware key",
1722
- "identities.messages.1010009": "Use Authenticator",
1723
- "identities.messages.1010010": "Use backup recovery code",
1767
+ "identities.messages.1010008": "Continue with hardware key",
1768
+ "identities.messages.1010009": "Continue",
1769
+ "identities.messages.1010010": "Continue",
1724
1770
  "identities.messages.1010011": "Sign in with hardware key",
1725
1771
  "identities.messages.1010012": "Prepare your WebAuthn device (e.g. security key, biometrics scanner, ...) and press continue.",
1726
1772
  "identities.messages.1010013": "Continue",
@@ -1857,9 +1903,17 @@ var en_default = {
1857
1903
  "login.subtitle-oauth2": "To authenticate {clientName}",
1858
1904
  "login.title": "Sign in",
1859
1905
  "login.subtitle": "Sign in with {parts}",
1860
- "login.title-aal2": "Two-Factor Authentication",
1906
+ "login.title-aal2": "Second factor authentication",
1907
+ "login.subtitle-aal2": "Choose a way to complete your second factor authentication",
1908
+ "login.code.subtitle": "A verification code will be sent by email",
1909
+ "login.webauthn.subtitle": "Please prepare your WebAuthN device",
1910
+ "login.totp.subtitle": "Please enter the code generated by your Authenticator App",
1911
+ "login.lookup_secret.subtitle": "Please enter one of your 8-digit backup recovery codes",
1861
1912
  "login.title-refresh": "Reauthenticate",
1862
1913
  "login.subtitle-refresh": "Confirm your identity with {parts}",
1914
+ "login.2fa.go-back": "Something isn't working?",
1915
+ "login.2fa.go-back.link": "Go back",
1916
+ "login.2fa.method.go-back": "Choose another method",
1863
1917
  "logout.accept-button": "Yes",
1864
1918
  "logout.reject-button": "No",
1865
1919
  "logout.title": "Do you wish to log out?",
@@ -1908,10 +1962,14 @@ var en_default = {
1908
1962
  "two-step.password.description": "Enter your password associated with your account",
1909
1963
  "two-step.code.title": "Email code",
1910
1964
  "two-step.code.description": "A verification code will be sent to your email",
1911
- "two-step.webauthn.title": "Security Key",
1965
+ "two-step.webauthn.title": "Security key",
1912
1966
  "two-step.webauthn.description": "Use your security key to authenticate",
1913
1967
  "two-step.passkey.title": "Passkey (recommended)",
1914
1968
  "two-step.passkey.description": "Use your device's for fingerprint or face recognition",
1969
+ "two-step.totp.title": "Use your Authenticator App (TOTP)",
1970
+ "two-step.totp.description": "Use a 6-digit one-time code from your authenticator app",
1971
+ "two-step.lookup_secret.title": "Backup recovery code",
1972
+ "two-step.lookup_secret.description": "Use up one of your 8-digit backup codes to authenticate",
1915
1973
  "identities.messages.1010020": "",
1916
1974
  "input.placeholder": "Enter your {placeholder}",
1917
1975
  "card.header.parts.oidc": "a social provider",
@@ -1971,9 +2029,9 @@ var de_default = {
1971
2029
  "identities.messages.1010005": "Verifizieren",
1972
2030
  "identities.messages.1010006": "Authentifizierungscode",
1973
2031
  "identities.messages.1010007": "Backup-Wiederherstellungscode",
1974
- "identities.messages.1010008": "Sicherheitsschl\xFCssel verwenden",
1975
- "identities.messages.1010009": "Authentifizierungs-App verwenden",
1976
- "identities.messages.1010010": "Backup-Wiederherstellungscode verwenden",
2032
+ "identities.messages.1010008": "Mit Sicherheitsschl\xFCssel fortfahren",
2033
+ "identities.messages.1010009": "Weiter",
2034
+ "identities.messages.1010010": "Weiter",
1977
2035
  "identities.messages.1010011": "Mit Sicherheitsschl\xFCssel fortfahren",
1978
2036
  "identities.messages.1010012": "Bereiten Sie Ihr WebAuthn-Ger\xE4t vor (z. B. Sicherheitsschl\xFCssel, biometrischer Scanner, ...) und dr\xFCcken Sie auf Weiter.",
1979
2037
  "identities.messages.1010013": "Weiter",
@@ -2089,8 +2147,16 @@ var de_default = {
2089
2147
  "login.registration-label": "Sie haben noch kein Konto?",
2090
2148
  "login.subtitle-oauth2": "Zur Authentifizierung bei {clientName}",
2091
2149
  "login.title": "Anmelden",
2092
- "login.title-aal2": "Zwei-Faktor-Authentifizierung",
2150
+ "login.title-aal2": "Zweitfaktor-Authentifizierung",
2151
+ "login.subtitle-aal2": "W\xE4hlen Sie eine Methode zur Best\xE4tigung Ihrer Zwei-Faktor-Authentifizierung",
2152
+ "login.code.subtitle": "Ein Best\xE4tigungscode wird per E-Mail gesendet",
2153
+ "login.webauthn.subtitle": "Bitte bereiten Sie Ihr WebAuthN-Ger\xE4t vor",
2154
+ "login.totp.subtitle": "Bitte geben Sie den Code aus Ihrer Authenticator-App ein",
2155
+ "login.lookup_secret.subtitle": "Bitte geben Sie einen Ihrer 8-stelligen Backup-Wiederherstellungscodes ein",
2093
2156
  "login.title-refresh": "Best\xE4tigen Sie, dass Sie es sind",
2157
+ "login.2fa.go-back": "Funktioniert etwas nicht?",
2158
+ "login.2fa.go-back.link": "Zur\xFCck",
2159
+ "login.2fa.method.go-back": "Eine andere Methode w\xE4hlen",
2094
2160
  "logout.accept-button": "Ja",
2095
2161
  "logout.reject-button": "Nein",
2096
2162
  "logout.title": "M\xF6chten Sie sich abmelden?",
@@ -2111,8 +2177,12 @@ var de_default = {
2111
2177
  "two-step.passkey.title": "Passwort (empfohlen)",
2112
2178
  "two-step.password.description": "Geben Sie Ihr Passwort ein, das mit Ihrem Konto verkn\xFCpft ist",
2113
2179
  "two-step.password.title": "Passwort",
2114
- "two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
2115
2180
  "two-step.webauthn.title": "Sicherheitsschl\xFCssel",
2181
+ "two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
2182
+ "two-step.totp.title": "Verwenden Sie Ihre Authenticator-App (TOTP)",
2183
+ "two-step.totp.description": "Verwenden Sie einen 6-stelligen Einmal-Code aus Ihrer Authenticator-App",
2184
+ "two-step.lookup_secret.title": "Backup-Wiederherstellungscode",
2185
+ "two-step.lookup_secret.description": "Verwenden Sie einen Ihrer 8-stelligen Backup-Codes, um sich zu authentifizieren",
2116
2186
  "identities.messages.1070014": "Login- und Link-Zugangsdaten",
2117
2187
  "identities.messages.1070015": "Bitte schlie\xDFen Sie die Captcha-Challenge ab, um fortzufahren.",
2118
2188
  "identities.messages.4000038": "Die Captcha-\xDCberpr\xFCfung ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
@@ -2224,9 +2294,9 @@ var es_default = {
2224
2294
  "identities.messages.1010005": "Verificar",
2225
2295
  "identities.messages.1010006": "C\xF3digo de autenticaci\xF3n",
2226
2296
  "identities.messages.1010007": "C\xF3digo de recuperaci\xF3n de respaldo",
2227
- "identities.messages.1010008": "Usar llave de seguridad",
2228
- "identities.messages.1010009": "Usar Autenticador",
2229
- "identities.messages.1010010": "Usar c\xF3digo de recuperaci\xF3n de respaldo",
2297
+ "identities.messages.1010008": "Continuar con la llave de hardware",
2298
+ "identities.messages.1010009": "Continuar",
2299
+ "identities.messages.1010010": "Continuar",
2230
2300
  "identities.messages.1010011": "Continuar con llave de seguridad",
2231
2301
  "identities.messages.1010012": "Prepare su dispositivo WebAuthn (por ejemplo, llave de seguridad, esc\xE1ner biom\xE9trico, ...) y presione continuar.",
2232
2302
  "identities.messages.1010013": "Continuar",
@@ -2342,8 +2412,16 @@ var es_default = {
2342
2412
  "login.registration-label": "\xBFNo tiene una cuenta?",
2343
2413
  "login.subtitle-oauth2": "Para autenticar a {clientName}",
2344
2414
  "login.title": "Iniciar sesi\xF3n",
2345
- "login.title-aal2": "Autenticaci\xF3n de Dos Factores",
2415
+ "login.title-aal2": "Autenticaci\xF3n de dos factores",
2416
+ "login.subtitle-aal2": "Elija una forma de completar su autenticaci\xF3n de segundo factor",
2417
+ "login.code.subtitle": "Se enviar\xE1 un c\xF3digo de verificaci\xF3n por correo electr\xF3nico",
2418
+ "login.webauthn.subtitle": "Por favor, prepare su dispositivo WebAuthN",
2419
+ "login.totp.subtitle": "Ingrese el c\xF3digo generado por su aplicaci\xF3n de autenticaci\xF3n",
2420
+ "login.lookup_secret.subtitle": "Ingrese uno de sus c\xF3digos de recuperaci\xF3n de respaldo de 8 d\xEDgitos",
2346
2421
  "login.title-refresh": "Confirme que es usted",
2422
+ "login.2fa.go-back": "\xBFAlgo no funciona?",
2423
+ "login.2fa.go-back.link": "Volver",
2424
+ "login.2fa.method.go-back": "Elegir otro m\xE9todo",
2347
2425
  "logout.accept-button": "S\xED",
2348
2426
  "logout.reject-button": "No",
2349
2427
  "logout.title": "\xBFDesea cerrar sesi\xF3n?",
@@ -2375,8 +2453,12 @@ var es_default = {
2375
2453
  "two-step.passkey.title": "Clave de acceso (recomendada)",
2376
2454
  "two-step.password.description": "Ingrese la contrase\xF1a asociada con su cuenta",
2377
2455
  "two-step.password.title": "Contrase\xF1a",
2378
- "two-step.webauthn.description": "Utiliza tu llave de seguridad para autenticarte",
2379
2456
  "two-step.webauthn.title": "Clave de Seguridad",
2457
+ "two-step.webauthn.description": "Utilice su llave de seguridad para autenticase",
2458
+ "two-step.totp.title": "Utilice su aplicaci\xF3n de autenticaci\xF3n (TOTP)",
2459
+ "two-step.totp.description": "Utilice un c\xF3digo de un solo uso de 6 d\xEDgitos de su aplicaci\xF3n de autenticaci\xF3n",
2460
+ "two-step.lookup_secret.title": "C\xF3digo de recuperaci\xF3n de respaldo",
2461
+ "two-step.lookup_secret.description": "Utilice uno de sus c\xF3digos de respaldo de 8 d\xEDgitos para autenticarse",
2380
2462
  "identities.messages.1010016": "",
2381
2463
  "identities.messages.1010017": "",
2382
2464
  "identities.messages.1010018": "",
@@ -2477,9 +2559,9 @@ var fr_default = {
2477
2559
  "identities.messages.1010005": "V\xE9rifier",
2478
2560
  "identities.messages.1010006": "Code d'authentification",
2479
2561
  "identities.messages.1010007": "Code de r\xE9cup\xE9ration de secours",
2480
- "identities.messages.1010008": "Utiliser une cl\xE9 de s\xE9curit\xE9",
2481
- "identities.messages.1010009": "Utiliser un authentificateur",
2482
- "identities.messages.1010010": "Utiliser un code de r\xE9cup\xE9ration de secours",
2562
+ "identities.messages.1010008": "Continuer avec la cl\xE9 mat\xE9rielle",
2563
+ "identities.messages.1010009": "Continuer",
2564
+ "identities.messages.1010010": "Continuer",
2483
2565
  "identities.messages.1010011": "Continuer avec la cl\xE9 de s\xE9curit\xE9",
2484
2566
  "identities.messages.1010012": "Pr\xE9parez votre appareil WebAuthn (par exemple, une cl\xE9 de s\xE9curit\xE9, un scanner biom\xE9trique, ...) et appuyez sur Continuer.",
2485
2567
  "identities.messages.1010013": "Continuer",
@@ -2596,7 +2678,15 @@ var fr_default = {
2596
2678
  "login.subtitle-oauth2": "Pour vous authentifier sur {clientName}",
2597
2679
  "login.title": "Se connecter",
2598
2680
  "login.title-aal2": "Authentification \xE0 deux facteurs",
2681
+ "login.subtitle-aal2": "Choisissez une m\xE9thode pour compl\xE9ter votre authentification \xE0 deux facteurs",
2682
+ "login.code.subtitle": "Un code de v\xE9rification sera envoy\xE9 par e-mail",
2683
+ "login.webauthn.subtitle": "Veuillez pr\xE9parer votre dispositif WebAuthN",
2684
+ "login.totp.subtitle": "Veuillez saisir le code g\xE9n\xE9r\xE9 par votre application d'authentification",
2685
+ "login.lookup_secret.subtitle": "Veuillez saisir l'un de vos codes de r\xE9cup\xE9ration de secours \xE0 8 chiffres",
2599
2686
  "login.title-refresh": "Confirmez que c'est bien vous",
2687
+ "login.2fa.go-back": "Quelque chose ne fonctionne pas ?",
2688
+ "login.2fa.go-back.link": "Retour",
2689
+ "login.2fa.method.go-back": "Choisir une autre m\xE9thode",
2600
2690
  "logout.accept-button": "Oui",
2601
2691
  "logout.reject-button": "Non",
2602
2692
  "logout.title": "Souhaitez-vous vous d\xE9connecter ?",
@@ -2628,8 +2718,12 @@ var fr_default = {
2628
2718
  "two-step.passkey.title": "Cl\xE9 de passe (recommand\xE9e)",
2629
2719
  "two-step.password.description": "Entrez votre mot de passe associ\xE9 \xE0 votre compte",
2630
2720
  "two-step.password.title": "Mot de passe",
2631
- "two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
2632
2721
  "two-step.webauthn.title": "Cl\xE9 de S\xE9curit\xE9",
2722
+ "two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
2723
+ "two-step.totp.title": "Utilisez votre application d'authentification (TOTP)",
2724
+ "two-step.totp.description": "Utilisez un code \xE0 usage unique \xE0 6 chiffres provenant de votre application d'authentification",
2725
+ "two-step.lookup_secret.title": "Code de r\xE9cup\xE9ration de secours",
2726
+ "two-step.lookup_secret.description": "Utilisez l'un de vos codes de secours \xE0 8 chiffres pour vous authentifier",
2633
2727
  "identities.messages.1010023": "",
2634
2728
  "identities.messages.1070015": "",
2635
2729
  "identities.messages.4000038": "",
@@ -2730,9 +2824,9 @@ var nl_default = {
2730
2824
  "identities.messages.1010005": "Verifi\xEBren",
2731
2825
  "identities.messages.1010006": "Verificatiecode",
2732
2826
  "identities.messages.1010007": "Back-up herstelcode",
2733
- "identities.messages.1010008": "Beveiligingssleutel gebruiken",
2734
- "identities.messages.1010009": "Authenticator gebruiken",
2735
- "identities.messages.1010010": "Back-up herstelcode gebruiken",
2827
+ "identities.messages.1010008": "Ga verder met hardware-sleutel",
2828
+ "identities.messages.1010009": "Doorgaan",
2829
+ "identities.messages.1010010": "Doorgaan",
2736
2830
  "identities.messages.1010011": "Doorgaan met beveiligingssleutel",
2737
2831
  "identities.messages.1010012": "Bereid uw WebAuthn-apparaat voor (bijv. beveiligingssleutel, biometrische scanner, ...) en druk op doorgaan.",
2738
2832
  "identities.messages.1010013": "Doorgaan",
@@ -2848,8 +2942,16 @@ var nl_default = {
2848
2942
  "login.registration-label": "Heb je nog geen account?",
2849
2943
  "login.subtitle-oauth2": "Om te authenticeren bij {clientName}",
2850
2944
  "login.title": "Inloggen",
2851
- "login.title-aal2": "Twee-Factor Authenticatie",
2945
+ "login.title-aal2": "Tweefactorauthenticatie",
2946
+ "login.subtitle-aal2": "Kies een manier om uw tweefactorauthenticatie te voltooien",
2947
+ "login.code.subtitle": "Er wordt een verificatiecode per e-mail verzonden",
2948
+ "login.webauthn.subtitle": "Bereid uw WebAuthN-apparaat voor",
2949
+ "login.totp.subtitle": "Voer de code in die door uw Authenticator-app is gegenereerd",
2950
+ "login.lookup_secret.subtitle": "Voer een van uw 8-cijferige back-up herstelcodes in",
2852
2951
  "login.title-refresh": "Bevestig dat jij het bent",
2952
+ "login.2fa.go-back": "Werkt er iets niet?",
2953
+ "login.2fa.go-back.link": "Ga terug",
2954
+ "login.2fa.method.go-back": "Kies een andere methode",
2853
2955
  "logout.accept-button": "Ja",
2854
2956
  "logout.reject-button": "Nee",
2855
2957
  "logout.title": "Wil je uitloggen?",
@@ -2881,8 +2983,12 @@ var nl_default = {
2881
2983
  "two-step.passkey.title": "Toegangscode (aanbevolen)",
2882
2984
  "two-step.password.description": "Voer uw wachtwoord in dat is gekoppeld aan uw account",
2883
2985
  "two-step.password.title": "Wachtwoord",
2884
- "two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
2885
2986
  "two-step.webauthn.title": "Beveiligingssleutel",
2987
+ "two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
2988
+ "two-step.totp.title": "Gebruik uw Authenticator-app (TOTP)",
2989
+ "two-step.totp.description": "Gebruik een 6-cijferige eenmalige code van uw authenticator-app",
2990
+ "two-step.lookup_secret.title": "Herstelcode",
2991
+ "two-step.lookup_secret.description": "Gebruik een van uw 8-cijferige back-upcodes om te authenticeren",
2886
2992
  "identities.messages.1010023": "",
2887
2993
  "identities.messages.1070014": "",
2888
2994
  "identities.messages.1070015": "",
@@ -2983,9 +3089,9 @@ var pl_default = {
2983
3089
  "identities.messages.1010005": "Zweryifkuj",
2984
3090
  "identities.messages.1010006": "Kod autentykacyjny",
2985
3091
  "identities.messages.1010007": "Zapasowe kody odzyskiwania",
2986
- "identities.messages.1010008": "U\u017Cyj klucza bezpiecze\u0144stwa",
2987
- "identities.messages.1010009": "U\u017Cyj Autentykatora",
2988
- "identities.messages.1010010": "U\u017Cyj zapasowych kod\xF3w odzyskiwania",
3092
+ "identities.messages.1010008": "Kontynuuj z kluczem sprz\u0119towym",
3093
+ "identities.messages.1010009": "Kontynuuj",
3094
+ "identities.messages.1010010": "Kontynuuj",
2989
3095
  "identities.messages.1010011": "Kontynuuj za pomoc\u0105 klucza bezpiecze\u0144stwa",
2990
3096
  "identities.messages.1010012": "Przygotuj swoje urz\u0105dzenie WebAuthn (np. klucz bezpiecze\u0144stwa, czytnik biometryczny, ...) a nast\u0119pnie kliknij kontynuuj.",
2991
3097
  "identities.messages.1010013": "Kontynuuj",
@@ -3101,8 +3207,16 @@ var pl_default = {
3101
3207
  "login.registration-label": "Nie posiadasz konta?",
3102
3208
  "login.subtitle-oauth2": "Do autentykacji {clientName}",
3103
3209
  "login.title": "Zaloguj si\u0119",
3104
- "login.title-aal2": "Autentykacja Dwu-Etapowa",
3210
+ "login.title-aal2": "Uwierzytelnianie dwusk\u0142adnikowe",
3211
+ "login.subtitle-aal2": "Wybierz spos\xF3b, aby zako\u0144czy\u0107 uwierzytelnianie dwusk\u0142adnikowe",
3212
+ "login.code.subtitle": "Kod weryfikacyjny zostanie wys\u0142any e-mailem",
3213
+ "login.webauthn.subtitle": "Prosz\u0119 przygotowa\u0107 urz\u0105dzenie WebAuthN",
3214
+ "login.totp.subtitle": "Prosz\u0119 wprowadzi\u0107 kod wygenerowany przez Twoj\u0105 aplikacj\u0119 uwierzytelniaj\u0105c\u0105",
3215
+ "login.lookup_secret.subtitle": "Prosz\u0119 wprowadzi\u0107 jeden z Twoich 8-cyfrowych kod\xF3w odzyskiwania zapasowego",
3105
3216
  "login.title-refresh": "Potwierd\u017A \u017Ce to Ty",
3217
+ "login.2fa.go-back": "Co\u015B nie dzia\u0142a?",
3218
+ "login.2fa.go-back.link": "Wr\xF3\u0107",
3219
+ "login.2fa.method.go-back": "Wybierz inn\u0105 metod\u0119",
3106
3220
  "logout.accept-button": "Tak",
3107
3221
  "logout.reject-button": "Nie",
3108
3222
  "logout.title": "Czy chcesz si\u0119 wylogowa\u0107?",
@@ -3134,8 +3248,12 @@ var pl_default = {
3134
3248
  "two-step.passkey.title": "Klucz dost\u0119pu (zalecany)",
3135
3249
  "two-step.password.description": "Wprowad\u017A has\u0142o powi\u0105zane z twoim kontem",
3136
3250
  "two-step.password.title": "Has\u0142o",
3137
- "two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
3138
3251
  "two-step.webauthn.title": "Klucz bezpiecze\u0144stwa",
3252
+ "two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
3253
+ "two-step.totp.title": "U\u017Cyj swojej aplikacji uwierzytelniaj\u0105cej (TOTP)",
3254
+ "two-step.totp.description": "U\u017Cyj 6-cyfrowego jednorazowego kodu z Twojej aplikacji uwierzytelniaj\u0105cej",
3255
+ "two-step.lookup_secret.title": "Kod odzyskiwania zapasowego",
3256
+ "two-step.lookup_secret.description": "U\u017Cyj jednego z Twoich 8-cyfrowych kod\xF3w zapasowych, aby si\u0119 uwierzytelni\u0107",
3139
3257
  "identities.messages.1010016": "",
3140
3258
  "identities.messages.1010017": "",
3141
3259
  "identities.messages.1010018": "",
@@ -3236,9 +3354,9 @@ var pt_default = {
3236
3354
  "identities.messages.1010005": "Verificar",
3237
3355
  "identities.messages.1010006": "C\xF3digo de Autentica\xE7\xE3o",
3238
3356
  "identities.messages.1010007": "C\xF3digo de Recupera\xE7\xE3o de Backup",
3239
- "identities.messages.1010008": "Usar chave de seguran\xE7a",
3240
- "identities.messages.1010009": "Usar o Autenticador",
3241
- "identities.messages.1010010": "Usar c\xF3digo de recupera\xE7\xE3o de backup",
3357
+ "identities.messages.1010008": "Continuar com chave de hardware",
3358
+ "identities.messages.1010009": "Continuar",
3359
+ "identities.messages.1010010": "Continuar",
3242
3360
  "identities.messages.1010011": "Continuar com a chave de seguran\xE7a",
3243
3361
  "identities.messages.1010012": "Prepare o seu dispositivo WebAuthn (por exemplo, chave de seguran\xE7a, scanner biom\xE9trico, ...) e pressione continuar.",
3244
3362
  "identities.messages.1010013": "Continuar",
@@ -3354,8 +3472,16 @@ var pt_default = {
3354
3472
  "login.registration-label": "N\xE3o tem uma conta?",
3355
3473
  "login.subtitle-oauth2": "Para autenticar {clientName}",
3356
3474
  "login.title": "Entrar",
3357
- "login.title-aal2": "Autentica\xE7\xE3o de Dois Fatores",
3475
+ "login.title-aal2": "Autentica\xE7\xE3o de dois fatores",
3476
+ "login.subtitle-aal2": "Escolha uma forma de completar sua autentica\xE7\xE3o de segundo fator",
3477
+ "login.code.subtitle": "Um c\xF3digo de verifica\xE7\xE3o ser\xE1 enviado por e-mail",
3478
+ "login.webauthn.subtitle": "Por favor, prepare seu dispositivo WebAuthN",
3479
+ "login.totp.subtitle": "Digite o c\xF3digo gerado pelo seu aplicativo autenticador",
3480
+ "login.lookup_secret.subtitle": "Digite um dos seus c\xF3digos de recupera\xE7\xE3o de 8 d\xEDgitos",
3358
3481
  "login.title-refresh": "Confirme que \xE9 voc\xEA",
3482
+ "login.2fa.go-back": "Algo n\xE3o est\xE1 funcionando?",
3483
+ "login.2fa.go-back.link": "Voltar",
3484
+ "login.2fa.method.go-back": "Escolher outro m\xE9todo",
3359
3485
  "logout.accept-button": "Sim",
3360
3486
  "logout.reject-button": "N\xE3o",
3361
3487
  "logout.title": "Deseja sair?",
@@ -3387,8 +3513,12 @@ var pt_default = {
3387
3513
  "two-step.passkey.title": "Chave de acesso (recomendado)",
3388
3514
  "two-step.password.description": "Insira a sua senha associada \xE0 sua conta",
3389
3515
  "two-step.password.title": "Senha",
3390
- "two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
3391
3516
  "two-step.webauthn.title": "Chave de Seguran\xE7a",
3517
+ "two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
3518
+ "two-step.totp.title": "Use seu aplicativo autenticador (TOTP)",
3519
+ "two-step.totp.description": "Use um c\xF3digo \xFAnico de 6 d\xEDgitos do seu aplicativo autenticador",
3520
+ "two-step.lookup_secret.title": "C\xF3digo de recupera\xE7\xE3o de backup",
3521
+ "two-step.lookup_secret.description": "Use um dos seus c\xF3digos de backup de 8 d\xEDgitos para autenticar",
3392
3522
  "identities.messages.1010016": "",
3393
3523
  "identities.messages.1010017": "",
3394
3524
  "identities.messages.1010018": "",
@@ -3489,9 +3619,9 @@ var sv_default = {
3489
3619
  "identities.messages.1010005": "Verifiera",
3490
3620
  "identities.messages.1010006": "Autentiseringskod",
3491
3621
  "identities.messages.1010007": "\xC5terst\xE4llningskod f\xF6r backup",
3492
- "identities.messages.1010008": "Anv\xE4nd s\xE4kerhetsnyckel",
3493
- "identities.messages.1010009": "Anv\xE4nd autentiserings-app",
3494
- "identities.messages.1010010": "Anv\xE4nd reserv\xE5terst\xE4llningskod",
3622
+ "identities.messages.1010008": "Forts\xE4tt med s\xE4kerhetsnyckel",
3623
+ "identities.messages.1010009": "Forts\xE4tt",
3624
+ "identities.messages.1010010": "Forts\xE4tt",
3495
3625
  "identities.messages.1010011": "Forts\xE4tt med s\xE4kerhetsnyckel",
3496
3626
  "identities.messages.1010012": "F\xF6rbered din WebAuthn-enhet (t.ex. s\xE4kerhetsnyckel, biometriska skanner, ...) och tryck p\xE5 forts\xE4tt.",
3497
3627
  "identities.messages.1010013": "Forts\xE4tt",
@@ -3626,7 +3756,15 @@ var sv_default = {
3626
3756
  "login.subtitle-oauth2": "Att autentisera {clientName}",
3627
3757
  "login.title": "Logga in",
3628
3758
  "login.title-aal2": "Tv\xE5faktorsautentisering",
3759
+ "login.subtitle-aal2": "V\xE4lj ett s\xE4tt att slutf\xF6ra din tv\xE5faktorsautentisering",
3760
+ "login.code.subtitle": "En verifieringskod kommer att skickas via e-post",
3761
+ "login.webauthn.subtitle": "F\xF6rbered din WebAuthN-enhet",
3762
+ "login.totp.subtitle": "Ange koden som genererats av din autentiseringsapp",
3763
+ "login.lookup_secret.subtitle": "Ange en av dina 8-siffriga \xE5terst\xE4llningskoder",
3629
3764
  "login.title-refresh": "Bekr\xE4fta att det \xE4r du",
3765
+ "login.2fa.go-back": "N\xE5got fungerar inte?",
3766
+ "login.2fa.go-back.link": "G\xE5 tillbaka",
3767
+ "login.2fa.method.go-back": "V\xE4lj en annan metod",
3630
3768
  "logout.accept-button": "Ja",
3631
3769
  "logout.reject-button": "Nej",
3632
3770
  "logout.title": "Vill du logga ut?",
@@ -3658,8 +3796,12 @@ var sv_default = {
3658
3796
  "two-step.passkey.title": "Passerkod (rekommenderad)",
3659
3797
  "two-step.password.description": "Ange ditt l\xF6senord kopplat till ditt konto",
3660
3798
  "two-step.password.title": "L\xF6senord",
3661
- "two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
3662
3799
  "two-step.webauthn.title": "S\xE4kerhetsnyckel",
3800
+ "two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
3801
+ "two-step.totp.title": "Anv\xE4nd din autentiseringsapp (TOTP)",
3802
+ "two-step.totp.description": "Anv\xE4nd en 6-siffrig eng\xE5ngskod fr\xE5n din autentiseringsapp",
3803
+ "two-step.lookup_secret.title": "Reserv\xE5terst\xE4llningskod",
3804
+ "two-step.lookup_secret.description": "Anv\xE4nd en av dina 8-siffriga reservkoder f\xF6r att autentisera",
3663
3805
  "identities.messages.4000037": "Detta konto finns inte eller har ingen inloggningsmetod konfigurerad.",
3664
3806
  "identities.messages.4000038": "Captcha-verifiering misslyckades, f\xF6rs\xF6k igen.",
3665
3807
  "identities.messages.1010020": "",