@ory/elements-react 0.0.0-pr.e3d2b7e1 → 0.0.0-pr.f3c2f07

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.
Files changed (183) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/DEVELOPMENT.md +19 -4
  3. package/babel.config.js +10 -0
  4. package/dist/client/frontendClient.d.mts +5 -2
  5. package/dist/client/frontendClient.d.ts +5 -2
  6. package/dist/client/frontendClient.js +25 -2
  7. package/dist/client/frontendClient.js.map +1 -1
  8. package/dist/client/frontendClient.mjs +25 -2
  9. package/dist/client/frontendClient.mjs.map +1 -1
  10. package/dist/index.d.mts +46 -5
  11. package/dist/index.d.ts +46 -5
  12. package/dist/index.js +540 -115
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.mjs +540 -116
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/theme/default/index.css +171 -118
  17. package/dist/theme/default/index.css.map +1 -1
  18. package/dist/theme/default/index.d.mts +30 -4
  19. package/dist/theme/default/index.d.ts +30 -4
  20. package/dist/theme/default/index.js +3842 -567
  21. package/dist/theme/default/index.js.map +1 -1
  22. package/dist/theme/default/index.mjs +3862 -521
  23. package/dist/theme/default/index.mjs.map +1 -1
  24. package/package.json +9 -3
  25. package/tsconfig.json +1 -1
  26. package/.storybook/global.css +0 -7
  27. package/.storybook/main.ts +0 -50
  28. package/.storybook/preview-head.html +0 -15
  29. package/.storybook/preview.tsx +0 -68
  30. package/.storybook/public/InterVariable.woff2 +0 -0
  31. package/.storybook/public/inter.css +0 -8
  32. package/.stub-responses/login/1fa/all-methods/initial-form.json +0 -245
  33. package/.stub-responses/login/1fa/all-methods/missing-email.json +0 -263
  34. package/.stub-responses/login/1fa/all-methods/wrong-credentials.json +0 -252
  35. package/.stub-responses/login/1fa/code/code-input.json +0 -135
  36. package/.stub-responses/login/1fa/code/initial-form.json +0 -173
  37. package/.stub-responses/login/1fa/code/invalid-account.json +0 -182
  38. package/.stub-responses/login/1fa/code/missing-email.json +0 -182
  39. package/.stub-responses/login/1fa/code/wrong-credentials.json +0 -124
  40. package/.stub-responses/login/1fa/none/initial-form.json +0 -33
  41. package/.stub-responses/login/1fa/oidc/credential-select-password.json +0 -120
  42. package/.stub-responses/login/1fa/oidc/credential-select.json +0 -81
  43. package/.stub-responses/login/1fa/oidc/initial-form.json +0 -279
  44. package/.stub-responses/login/1fa/passkey/initial-form.json +0 -122
  45. package/.stub-responses/login/1fa/password/initial-form.json +0 -154
  46. package/.stub-responses/login/1fa/password/missing-email.json +0 -172
  47. package/.stub-responses/login/1fa/password/wrong-credentials.json +0 -163
  48. package/.stub-responses/login/1fa/webauthn/initial-form.json +0 -76
  49. package/.stub-responses/login/1fa/webauthn/invalid-account.json +0 -83
  50. package/.stub-responses/login/1fa/webauthn/show-trigger.json +0 -105
  51. package/.stub-responses/recovery/disabled/initial-form.json +0 -9
  52. package/.stub-responses/recovery/none/initial-form.json +0 -9
  53. package/.stub-responses/registration/one-step/all-methods/initial-form.json +0 -334
  54. package/.stub-responses/registration/one-step/all-methods/missing-fields.json +0 -343
  55. package/.stub-responses/registration/one-step/disabled/initial-form.json +0 -10
  56. package/.stub-responses/registration/one-step/none/initial-form.json +0 -14
  57. package/.stub-responses/registration/one-step/oidc/initial-form.json +0 -338
  58. package/.stub-responses/registration/one-step/passkey/initial-form.json +0 -177
  59. package/.stub-responses/registration/one-step/password/initial-form.json +0 -154
  60. package/.stub-responses/registration/one-step/password/missing-fields.json +0 -172
  61. package/.stub-responses/registration/one-step/password/second-step.json +0 -164
  62. package/.stub-responses/registration/one-step/webauthn/initial-form.json +0 -185
  63. package/.stub-responses/registration/two-step/all-methods/enter-password.json +0 -242
  64. package/.stub-responses/registration/two-step/all-methods/initial-form.json +0 -180
  65. package/.stub-responses/registration/two-step/all-methods/missing-fields.json +0 -189
  66. package/.stub-responses/registration/two-step/all-methods/password-validation-error.json +0 -244
  67. package/.stub-responses/registration/two-step/password/enter-password.json +0 -108
  68. package/.stub-responses/registration/two-step/password/initial-form.json +0 -134
  69. package/.stub-responses/registration/two-step/password/missing-fields.json +0 -143
  70. package/.stub-responses/registration/two-step/password/password-validation-error.json +0 -110
  71. package/.stub-responses/settings/all-methods/change-password.json +0 -381
  72. package/.stub-responses/settings/all-methods/change-trait.json +0 -377
  73. package/.stub-responses/settings/all-methods/initial-form.json +0 -368
  74. package/.stub-responses/settings/oidc/with-provider.json +0 -229
  75. package/.stub-responses/settings/passkey/initial-form.json +0 -256
  76. package/.stub-responses/settings/webauthn/initial-form.json +0 -263
  77. package/.stub-responses/verification/disabled/initial-form.json +0 -9
  78. package/.stub-responses/verification/none/initial-form.json +0 -9
  79. package/dist/theme/default/tailwind/defaults.d.mts +0 -737
  80. package/dist/theme/default/tailwind/defaults.d.ts +0 -737
  81. package/stories/components/login/1fa/all.stories.ts +0 -46
  82. package/stories/components/login/1fa/code.stories.ts +0 -64
  83. package/stories/components/login/1fa/custom.stories.tsx +0 -74
  84. package/stories/components/login/1fa/none.stories.tsx +0 -28
  85. package/stories/components/login/1fa/oidc.stories.tsx +0 -140
  86. package/stories/components/login/1fa/passkey.stories.ts +0 -28
  87. package/stories/components/login/1fa/password.stories.ts +0 -46
  88. package/stories/components/login/1fa/webauthn.stories.ts +0 -46
  89. package/stories/components/registration/one-step/all-methods.stories.ts +0 -37
  90. package/stories/components/registration/one-step/password.stories.ts +0 -37
  91. package/stories/components/registration/one-step/webauthn.stories.ts +0 -28
  92. package/stories/components/registration/two-step/all-methods.stories.ts +0 -55
  93. package/stories/components/registration/two-step/password.stories.ts +0 -55
  94. package/stories/components/settings/all.stories.ts +0 -46
  95. package/stories/components/settings/oidc.stories.ts +0 -28
  96. package/stories/components/settings/passkey.stories.ts +0 -28
  97. package/stories/components/settings/webauthn.stories.ts +0 -28
  98. package/stories/pages/error.tsx +0 -29
  99. package/stories/utils.ts +0 -20
  100. package/storybook-static/InterVariable.woff2 +0 -0
  101. package/storybook-static/assets/Color-ERTF36HU-BdkKyVuV.js +0 -1
  102. package/storybook-static/assets/DocsRenderer-CFRXHY34-YqKt61zP.js +0 -595
  103. package/storybook-static/assets/all-methods.stories-B-rqPBX2.js +0 -11
  104. package/storybook-static/assets/all-methods.stories-CmMlhzsx.js +0 -21
  105. package/storybook-static/assets/all.stories-CtQ0yCQi.js +0 -16
  106. package/storybook-static/assets/all.stories-DgIVCzcZ.js +0 -16
  107. package/storybook-static/assets/chunk-H6MOWX77-DTQOW814.js +0 -1
  108. package/storybook-static/assets/code.stories-BbEryDcA.js +0 -26
  109. package/storybook-static/assets/custom.stories-DH2zHar9.js +0 -6
  110. package/storybook-static/assets/entry-preview-CcFGVifh.js +0 -10
  111. package/storybook-static/assets/entry-preview-docs-CyY-8bLe.js +0 -54
  112. package/storybook-static/assets/iframe-C5GAfuxh.js +0 -2
  113. package/storybook-static/assets/index-BVoBHvaS.js +0 -8
  114. package/storybook-static/assets/index-CfOt2XX2.js +0 -24
  115. package/storybook-static/assets/index-DPRSEdy-.js +0 -1
  116. package/storybook-static/assets/index-DrFu-skq.js +0 -6
  117. package/storybook-static/assets/index-FeUjBnvO.js +0 -1
  118. package/storybook-static/assets/index-uubelm5h.js +0 -9
  119. package/storybook-static/assets/initial-form-DWp_1F-f.js +0 -1
  120. package/storybook-static/assets/jsx-runtime-QvZ8i92b.js +0 -9
  121. package/storybook-static/assets/none.stories-TAeRhzd5.js +0 -6
  122. package/storybook-static/assets/oidc.stories-CniWBy7t.js +0 -58
  123. package/storybook-static/assets/oidc.stories-jhWzAyoQ.js +0 -6
  124. package/storybook-static/assets/passkey.stories-CBtjoVSN.js +0 -6
  125. package/storybook-static/assets/passkey.stories-CQU2Xw_t.js +0 -6
  126. package/storybook-static/assets/password.stories-0s6cDl0o.js +0 -11
  127. package/storybook-static/assets/password.stories-B2Wtckz_.js +0 -16
  128. package/storybook-static/assets/password.stories-DX0gkWjH.js +0 -21
  129. package/storybook-static/assets/preview-BBWR9nbA.js +0 -1
  130. package/storybook-static/assets/preview-BPAmP-pY.js +0 -2
  131. package/storybook-static/assets/preview-BWzBA1C2.js +0 -396
  132. package/storybook-static/assets/preview-BXtF2ySE.js +0 -234
  133. package/storybook-static/assets/preview-Cur_8nCX.css +0 -1
  134. package/storybook-static/assets/preview-D77C14du.js +0 -34
  135. package/storybook-static/assets/preview-DCjDUH0w.js +0 -27
  136. package/storybook-static/assets/preview-DFmD0pui.js +0 -1
  137. package/storybook-static/assets/preview-DGUiP6tS.js +0 -7
  138. package/storybook-static/assets/preview-aVwhiz9X.js +0 -1
  139. package/storybook-static/assets/react-18-CtsMCmcS.js +0 -1
  140. package/storybook-static/assets/settings-BqEFC2-V.css +0 -1
  141. package/storybook-static/assets/settings-Bx4osEmB.js +0 -2304
  142. package/storybook-static/assets/webauthn.stories-BzodmV0c.js +0 -6
  143. package/storybook-static/assets/webauthn.stories-DglGm7Ys.js +0 -6
  144. package/storybook-static/assets/webauthn.stories-G9E76Wjj.js +0 -16
  145. package/storybook-static/favicon.svg +0 -1
  146. package/storybook-static/iframe.html +0 -654
  147. package/storybook-static/index.html +0 -173
  148. package/storybook-static/index.json +0 -1
  149. package/storybook-static/inter.css +0 -8
  150. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  151. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  152. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  153. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  154. package/storybook-static/preview-stats.json +0 -2344
  155. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +0 -3
  156. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
  157. package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +0 -12
  158. package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
  159. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +0 -394
  160. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +0 -0
  161. package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +0 -3
  162. package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
  163. package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +0 -3
  164. package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
  165. package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +0 -3
  166. package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
  167. package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +0 -3
  168. package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
  169. package/storybook-static/sb-addons/interactions-8/manager-bundle.js +0 -211
  170. package/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt +0 -0
  171. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +0 -3
  172. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js.LEGAL.txt +0 -0
  173. package/storybook-static/sb-common-assets/favicon.svg +0 -1
  174. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  175. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  176. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  177. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  178. package/storybook-static/sb-manager/globals-module-info.js +0 -1006
  179. package/storybook-static/sb-manager/globals-runtime.js +0 -54400
  180. package/storybook-static/sb-manager/globals.js +0 -48
  181. package/storybook-static/sb-manager/runtime.js +0 -12089
  182. package/storybook-static/sb-preview/globals.js +0 -33
  183. package/storybook-static/sb-preview/runtime.js +0 -9498
package/dist/index.js CHANGED
@@ -36,10 +36,14 @@ function useGroupSorter() {
36
36
  }
37
37
  var defaultNodeOrder = [
38
38
  "oidc",
39
+ "saml",
39
40
  "identifier_first",
40
41
  "default",
41
42
  "profile",
42
43
  "password",
44
+ // CAPTCHA is below password because otherwise the password input field
45
+ // would be above the captcha. Somehow, we sort the password sign up button somewhere else to be always at the bottom.
46
+ "captcha",
43
47
  "passkey",
44
48
  "code",
45
49
  "webauthn"
@@ -48,6 +52,11 @@ function defaultNodeSorter(a, b) {
48
52
  var _a, _b;
49
53
  const aGroupWeight = (_a = defaultNodeOrder.indexOf(a.group)) != null ? _a : 999;
50
54
  const bGroupWeight = (_b = defaultNodeOrder.indexOf(b.group)) != null ? _b : 999;
55
+ if (b.group === "captcha" && clientFetch.isUiNodeInputAttributes(a.attributes) && a.attributes.type === "submit") {
56
+ return aGroupWeight - (bGroupWeight - 2);
57
+ } else if (a.group === "captcha" && clientFetch.isUiNodeInputAttributes(b.attributes) && b.attributes.type === "submit") {
58
+ return aGroupWeight - 2 - bGroupWeight;
59
+ }
51
60
  return aGroupWeight - bGroupWeight;
52
61
  }
53
62
  var defaultGroupOrder = [
@@ -85,22 +94,25 @@ function OryComponentProvider({
85
94
  }
86
95
  );
87
96
  }
88
- function isChoosingMethod(uiNodes) {
89
- return uiNodes.some(
97
+ function isChoosingMethod(flow) {
98
+ return flow.flow.ui.nodes.some(
90
99
  (node) => "name" in node.attributes && node.attributes.name === "screen" && "value" in node.attributes && node.attributes.value === "previous"
91
- ) || uiNodes.some(
100
+ ) || flow.flow.ui.nodes.some(
92
101
  (node) => node.group === clientFetch.UiNodeGroupEnum.IdentifierFirst && "name" in node.attributes && node.attributes.name === "identifier" && node.attributes.type === "hidden"
93
- );
102
+ ) || flow.flowType === clientFetch.FlowType.Login && flow.flow.requested_aal === "aal2";
94
103
  }
95
- function filterOidcOut(nodes) {
96
- return nodes.filter((node) => node.group !== clientFetch.UiNodeGroupEnum.Oidc);
104
+ function removeSsoNodes(nodes) {
105
+ return nodes.filter(
106
+ (node) => !(node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml)
107
+ );
97
108
  }
98
109
  function getFinalNodes(uniqueGroups, selectedGroup) {
99
- var _a, _b, _c;
110
+ var _a, _b, _c, _d;
100
111
  const selectedNodes = selectedGroup ? (_a = uniqueGroups[selectedGroup]) != null ? _a : [] : [];
101
112
  return [
102
113
  ...(_b = uniqueGroups == null ? void 0 : uniqueGroups.identifier_first) != null ? _b : [],
103
- ...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : []
114
+ ...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : [],
115
+ ...(_d = uniqueGroups == null ? void 0 : uniqueGroups.captcha) != null ? _d : []
104
116
  ].flat().filter(
105
117
  (node) => "type" in node.attributes && node.attributes.type === "hidden"
106
118
  ).concat(selectedNodes);
@@ -172,6 +184,7 @@ function nodesToAuthMethodGroups(nodes, excludeAuthMethods = []) {
172
184
  clientFetch.UiNodeGroupEnum.Default,
173
185
  clientFetch.UiNodeGroupEnum.IdentifierFirst,
174
186
  clientFetch.UiNodeGroupEnum.Profile,
187
+ clientFetch.UiNodeGroupEnum.Captcha,
175
188
  ...excludeAuthMethods
176
189
  ].includes(group)
177
190
  );
@@ -200,6 +213,9 @@ function useNodesGroups(nodes) {
200
213
  entries
201
214
  };
202
215
  }
216
+ var findNode = (nodes, opt) => nodes.find((n) => {
217
+ 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);
218
+ });
203
219
 
204
220
  // src/context/form-state.ts
205
221
  function findMethodWithMessage(nodes) {
@@ -221,9 +237,11 @@ function parseStateFromFlow(flow) {
221
237
  return { current: "method_active", method: "code" };
222
238
  } else if (methodWithMessage) {
223
239
  return { current: "method_active", method: methodWithMessage.group };
224
- } else if (flow.flow.active && !["default", "identifier_first", "oidc"].includes(flow.flow.active)) {
240
+ } else if (flow.flow.active && !["default", "identifier_first", "oidc", "saml"].includes(
241
+ flow.flow.active
242
+ )) {
225
243
  return { current: "method_active", method: flow.flow.active };
226
- } else if (isChoosingMethod(flow.flow.ui.nodes)) {
244
+ } else if (isChoosingMethod(flow)) {
227
245
  const authMethods = nodesToAuthMethodGroups(flow.flow.ui.nodes);
228
246
  if (authMethods.length === 1 && authMethods[0] !== "code") {
229
247
  return { current: "method_active", method: authMethods[0] };
@@ -245,23 +263,32 @@ function parseStateFromFlow(flow) {
245
263
  break;
246
264
  case clientFetch.FlowType.Settings:
247
265
  return { current: "settings" };
266
+ case clientFetch.FlowType.OAuth2Consent:
267
+ return { current: "method_active", method: "oauth2_consent" };
248
268
  }
249
269
  console.warn(
250
270
  `[Ory/Elements React] Encountered an unknown form state on ${flow.flowType} flow with ID ${flow.flow.id}`
251
271
  );
252
272
  throw new Error("Unknown form state");
253
273
  }
254
- function formStateReducer(state, action) {
255
- switch (action.type) {
256
- case "action_flow_update":
257
- return parseStateFromFlow(action.flow);
258
- case "action_select_method":
259
- return { current: "method_active", method: action.method };
260
- }
261
- return state;
262
- }
263
274
  function useFormStateReducer(flow) {
264
- return react.useReducer(formStateReducer, parseStateFromFlow(flow));
275
+ const action = parseStateFromFlow(flow);
276
+ const [selectedMethod, setSelectedMethod] = react.useState();
277
+ const formStateReducer = (state, action2) => {
278
+ switch (action2.type) {
279
+ case "action_flow_update": {
280
+ if (selectedMethod)
281
+ return { current: "method_active", method: selectedMethod };
282
+ return parseStateFromFlow(action2.flow);
283
+ }
284
+ case "action_select_method": {
285
+ setSelectedMethod(action2.method);
286
+ return { current: "method_active", method: action2.method };
287
+ }
288
+ }
289
+ return state;
290
+ };
291
+ return react.useReducer(formStateReducer, action);
265
292
  }
266
293
  function useOryFlow() {
267
294
  const ctx = react.useContext(OryFlowContext);
@@ -351,6 +378,22 @@ function computeDefaultValues(nodes) {
351
378
  if (attrs.name === "method" || attrs.type === "submit" || typeof attrs.value === "undefined") {
352
379
  return acc;
353
380
  }
381
+ if (attrs.name.startsWith("grant_scope")) {
382
+ const scope = attrs.value;
383
+ if (Array.isArray(acc.grant_scope)) {
384
+ return {
385
+ ...acc,
386
+ // We want to have all scopes accepted by default, so that the user has to actively uncheck them.
387
+ grant_scope: [...acc.grant_scope, scope]
388
+ };
389
+ } else if (!acc.grant_scope) {
390
+ return {
391
+ ...acc,
392
+ grant_scope: [scope]
393
+ };
394
+ }
395
+ return acc;
396
+ }
354
397
  return unrollTrait(
355
398
  {
356
399
  name: attrs.name,
@@ -782,7 +825,7 @@ function useOryFormSubmit(onAfterSubmit) {
782
825
  if ("lookup_secret_confirm" in submitData || "lookup_secret_reveal" in submitData || "lookup_secret_regenerate" in submitData || "lookup_secret_disable" in submitData) {
783
826
  submitData.method = "lookup_secret";
784
827
  }
785
- if (submitData.method === "oidc" && submitData.link && supportsSelectAccountPrompt.includes(submitData.link)) {
828
+ if (submitData.method === clientFetch.UiNodeGroupEnum.Oidc && submitData.link && supportsSelectAccountPrompt.includes(submitData.link)) {
786
829
  submitData.upstream_parameters = {
787
830
  prompt: "select_account"
788
831
  };
@@ -800,6 +843,19 @@ function useOryFormSubmit(onAfterSubmit) {
800
843
  });
801
844
  break;
802
845
  }
846
+ case clientFetch.FlowType.OAuth2Consent: {
847
+ const response = await fetch(flowContainer.flow.ui.action, {
848
+ method: "POST",
849
+ body: JSON.stringify(data),
850
+ headers: {
851
+ "Content-Type": "application/json"
852
+ }
853
+ });
854
+ const oauth2Success = await response.json();
855
+ if (oauth2Success.redirect_to && typeof oauth2Success.redirect_to === "string") {
856
+ onRedirect(oauth2Success.redirect_to);
857
+ }
858
+ }
803
859
  }
804
860
  if ("password" in data) {
805
861
  methods.setValue("password", "");
@@ -815,10 +871,10 @@ function useOryFormSubmit(onAfterSubmit) {
815
871
  return onSubmit;
816
872
  }
817
873
  function OryForm({ children, onAfterSubmit }) {
818
- var _a;
819
874
  const { Form } = useComponents();
820
875
  const flowContainer = useOryFlow();
821
876
  const methods = reactHookForm.useFormContext();
877
+ const { Message } = useComponents();
822
878
  const intl = reactIntl.useIntl();
823
879
  const onSubmit = useOryFormSubmit(onAfterSubmit);
824
880
  const hasMethods = flowContainer.flow.ui.nodes.some((node) => {
@@ -833,11 +889,22 @@ function OryForm({ children, onAfterSubmit }) {
833
889
  }
834
890
  return false;
835
891
  });
836
- if (!hasMethods && ((_a = flowContainer.flow.ui.messages) != null ? _a : []).length === 0) {
837
- return intl.formatMessage({
838
- id: `identities.messages.${5000002}`,
839
- defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
840
- });
892
+ if (!hasMethods) {
893
+ const m = {
894
+ id: 5000002,
895
+ text: intl.formatMessage({
896
+ id: `identities.messages.${5000002}`,
897
+ defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
898
+ }),
899
+ type: "error"
900
+ };
901
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
902
+ /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: m }, m.id) }),
903
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
904
+ ] });
905
+ }
906
+ if (flowContainer.flowType === clientFetch.FlowType.Login && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
907
+ methods.setValue("method", "code");
841
908
  }
842
909
  return /* @__PURE__ */ jsxRuntime.jsx(
843
910
  Form.Root,
@@ -849,7 +916,15 @@ function OryForm({ children, onAfterSubmit }) {
849
916
  }
850
917
  );
851
918
  }
852
- var messageIdsToHide = [1040009, 1060003, 1080003, 1010014, 1040005, 1010016];
919
+ var messageIdsToHide = [
920
+ 1040009,
921
+ 1060003,
922
+ 1080003,
923
+ 1010004,
924
+ 1010014,
925
+ 1040005,
926
+ 1010016
927
+ ];
853
928
  function OryCardValidationMessages({ ...props }) {
854
929
  var _a;
855
930
  const { flow } = useOryFlow();
@@ -868,7 +943,7 @@ var NodeInput = ({
868
943
  }) => {
869
944
  var _a;
870
945
  const { Node: Node2 } = useComponents();
871
- const { setValue } = reactHookForm.useFormContext();
946
+ const { setValue, watch } = reactHookForm.useFormContext();
872
947
  const {
873
948
  onloadTrigger,
874
949
  onclickTrigger,
@@ -881,7 +956,10 @@ var NodeInput = ({
881
956
  const isResendNode = ((_a = node.meta.label) == null ? void 0 : _a.id) === 1070008;
882
957
  const isScreenSelectionNode = "name" in node.attributes && node.attributes.name === "screen";
883
958
  const setFormValue = () => {
884
- if (attrs.value && !(isResendNode || isScreenSelectionNode)) {
959
+ if (isResendNode || isScreenSelectionNode || node.group === "oauth2_consent") {
960
+ return;
961
+ }
962
+ if (attrs.value !== void 0) {
885
963
  setValue(attrs.name, attrs.value);
886
964
  }
887
965
  };
@@ -904,8 +982,21 @@ var NodeInput = ({
904
982
  triggerToWindowCall(onclickTrigger);
905
983
  }
906
984
  };
907
- const isSocial = (attrs.name === "provider" || attrs.name === "link") && node.group === "oidc";
985
+ const isSocial = (attrs.name === "provider" || attrs.name === "link") && (node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml);
908
986
  const isPinCodeInput = attrs.name === "code" && node.group === "code" || attrs.name === "totp_code" && node.group === "totp";
987
+ const handleScopeChange = (checked) => {
988
+ const scopes = watch("grant_scope");
989
+ if (Array.isArray(scopes)) {
990
+ if (checked) {
991
+ setValue("grant_scope", Array.from(/* @__PURE__ */ new Set([...scopes, attrs.value])));
992
+ } else {
993
+ setValue(
994
+ "grant_scope",
995
+ scopes.filter((scope) => scope !== attrs.value)
996
+ );
997
+ }
998
+ }
999
+ };
909
1000
  switch (attributes.type) {
910
1001
  case clientFetch.UiNodeInputAttributesTypeEnum.Submit:
911
1002
  case clientFetch.UiNodeInputAttributesTypeEnum.Button:
@@ -915,6 +1006,9 @@ var NodeInput = ({
915
1006
  if (isResendNode || isScreenSelectionNode) {
916
1007
  return null;
917
1008
  }
1009
+ if (node.group === "oauth2_consent") {
1010
+ return null;
1011
+ }
918
1012
  return /* @__PURE__ */ jsxRuntime.jsx(
919
1013
  Node2.Label,
920
1014
  {
@@ -926,6 +1020,21 @@ var NodeInput = ({
926
1020
  case clientFetch.UiNodeInputAttributesTypeEnum.DatetimeLocal:
927
1021
  throw new Error("Not implemented");
928
1022
  case clientFetch.UiNodeInputAttributesTypeEnum.Checkbox:
1023
+ if (node.group === "oauth2_consent" && node.attributes.node_type === "input") {
1024
+ switch (node.attributes.name) {
1025
+ case "grant_scope":
1026
+ return /* @__PURE__ */ jsxRuntime.jsx(
1027
+ Node2.ConsentScopeCheckbox,
1028
+ {
1029
+ attributes: attrs,
1030
+ node,
1031
+ onCheckedChange: handleScopeChange
1032
+ }
1033
+ );
1034
+ default:
1035
+ return null;
1036
+ }
1037
+ }
929
1038
  return /* @__PURE__ */ jsxRuntime.jsx(
930
1039
  Node2.Label,
931
1040
  {
@@ -952,6 +1061,9 @@ var NodeInput = ({
952
1061
  };
953
1062
  var Node = ({ node, onClick }) => {
954
1063
  const { Node: Node2 } = useComponents();
1064
+ if (node.group === clientFetch.UiNodeGroupEnum.Captcha) {
1065
+ return /* @__PURE__ */ jsxRuntime.jsx(Node2.Captcha, { node });
1066
+ }
955
1067
  if (clientFetch.isUiNodeImageAttributes(node.attributes)) {
956
1068
  return /* @__PURE__ */ jsxRuntime.jsx(Node2.Image, { node, attributes: node.attributes });
957
1069
  } else if (clientFetch.isUiNodeTextAttributes(node.attributes)) {
@@ -984,7 +1096,9 @@ function OryFormOidcButtons() {
984
1096
  flow: { ui }
985
1097
  } = useOryFlow();
986
1098
  const { setValue } = reactHookForm.useFormContext();
987
- const filteredNodes = ui.nodes.filter((node) => node.group === "oidc");
1099
+ const filteredNodes = ui.nodes.filter(
1100
+ (node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
1101
+ );
988
1102
  const { Form, Node: Node2 } = useComponents();
989
1103
  if (filteredNodes.length === 0) {
990
1104
  return null;
@@ -999,7 +1113,7 @@ function OryFormOidcButtons() {
999
1113
  "provider",
1000
1114
  node.attributes.value
1001
1115
  );
1002
- setValue("method", "oidc");
1116
+ setValue("method", node.group);
1003
1117
  }
1004
1118
  },
1005
1119
  k
@@ -1009,7 +1123,9 @@ function OryFormSocialButtonsForm() {
1009
1123
  const {
1010
1124
  flow: { ui }
1011
1125
  } = useOryFlow();
1012
- const filteredNodes = ui.nodes.filter((node) => node.group === "oidc");
1126
+ const filteredNodes = ui.nodes.filter(
1127
+ (node) => node.group === clientFetch.UiNodeGroupEnum.Saml || node.group === clientFetch.UiNodeGroupEnum.Oidc
1128
+ );
1013
1129
  if (filteredNodes.length === 0) {
1014
1130
  return null;
1015
1131
  }
@@ -1019,28 +1135,49 @@ function isUINodeGroupEnum(method) {
1019
1135
  return Object.values(clientFetch.UiNodeGroupEnum).includes(method);
1020
1136
  }
1021
1137
  function OryTwoStepCard() {
1022
- const {
1023
- flow: { ui },
1024
- flowType,
1025
- formState,
1026
- dispatchFormState
1027
- } = useOryFlow();
1138
+ var _a, _b, _c, _d;
1028
1139
  const { Form, Card } = useComponents();
1140
+ const { flow, flowType, formState, dispatchFormState } = useOryFlow();
1141
+ const { ui } = flow;
1029
1142
  const nodeSorter = useNodeSorter();
1030
1143
  const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
1031
1144
  const uniqueGroups = useNodesGroups(ui.nodes);
1032
- const options = Object.values(clientFetch.UiNodeGroupEnum).filter((group) => {
1033
- var _a;
1034
- return (_a = uniqueGroups.groups[group]) == null ? void 0 : _a.length;
1035
- }).filter(
1036
- (group) => ![
1037
- clientFetch.UiNodeGroupEnum.Oidc,
1038
- clientFetch.UiNodeGroupEnum.Default,
1039
- clientFetch.UiNodeGroupEnum.IdentifierFirst,
1040
- clientFetch.UiNodeGroupEnum.Profile
1041
- ].includes(group)
1145
+ const options = Object.fromEntries(
1146
+ Object.values(clientFetch.UiNodeGroupEnum).filter((group) => {
1147
+ var _a2;
1148
+ return (_a2 = uniqueGroups.groups[group]) == null ? void 0 : _a2.length;
1149
+ }).filter(
1150
+ (group) => ![
1151
+ clientFetch.UiNodeGroupEnum.Oidc,
1152
+ clientFetch.UiNodeGroupEnum.Saml,
1153
+ clientFetch.UiNodeGroupEnum.Default,
1154
+ clientFetch.UiNodeGroupEnum.IdentifierFirst,
1155
+ clientFetch.UiNodeGroupEnum.Profile,
1156
+ clientFetch.UiNodeGroupEnum.Captcha
1157
+ ].includes(group)
1158
+ ).map((g) => [g, {}])
1042
1159
  );
1043
- const nonOidcNodes = filterOidcOut(ui.nodes);
1160
+ if (clientFetch.UiNodeGroupEnum.Code in options) {
1161
+ let identifier = (_b = (_a = findNode(ui.nodes, {
1162
+ group: "identifier_first",
1163
+ node_type: "input",
1164
+ name: "identifier"
1165
+ })) == null ? void 0 : _a.attributes) == null ? void 0 : _b.value;
1166
+ identifier || (identifier = (_d = (_c = findNode(ui.nodes, {
1167
+ group: "code",
1168
+ node_type: "input",
1169
+ name: "address"
1170
+ })) == null ? void 0 : _c.attributes) == null ? void 0 : _d.value);
1171
+ if (identifier) {
1172
+ options[clientFetch.UiNodeGroupEnum.Code] = {
1173
+ title: {
1174
+ id: "identities.messages.1010023",
1175
+ values: { address: identifier }
1176
+ }
1177
+ };
1178
+ }
1179
+ }
1180
+ const nonSsoNodes = removeSsoNodes(ui.nodes);
1044
1181
  const finalNodes = formState.current === "method_active" ? getFinalNodes(uniqueGroups.groups, formState.method) : [];
1045
1182
  const handleAfterFormSubmit = (method) => {
1046
1183
  if (typeof method !== "string" || !isUINodeGroupEnum(method)) {
@@ -1053,18 +1190,28 @@ function OryTwoStepCard() {
1053
1190
  });
1054
1191
  }
1055
1192
  };
1056
- const hasOidc = ui.nodes.some((node) => node.group === clientFetch.UiNodeGroupEnum.Oidc);
1057
- const showOidc = !(formState.current === "method_active" && formState.method !== "oidc");
1193
+ const hasSso = ui.nodes.some(
1194
+ (node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
1195
+ );
1196
+ const showSso = !(formState.current === "method_active" && !(formState.method === clientFetch.UiNodeGroupEnum.Oidc || formState.method === clientFetch.UiNodeGroupEnum.Saml));
1197
+ const showSsoDivider = hasSso && nonSsoNodes.filter((n) => {
1198
+ if (clientFetch.isUiNodeInputAttributes(n.attributes)) {
1199
+ return n.attributes.type !== clientFetch.UiNodeInputAttributesTypeEnum.Hidden;
1200
+ } else if (clientFetch.isUiNodeScriptAttributes(n.attributes)) {
1201
+ return false;
1202
+ }
1203
+ return true;
1204
+ }).length > 0;
1058
1205
  return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
1059
1206
  /* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
1060
1207
  /* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
1061
1208
  /* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
1062
- showOidc && /* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
1209
+ showSso && /* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
1063
1210
  /* @__PURE__ */ jsxRuntime.jsxs(OryForm, { onAfterSubmit: handleAfterFormSubmit, children: [
1064
1211
  /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
1065
1212
  formState.current === "provide_identifier" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1066
- hasOidc && /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
1067
- nonOidcNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
1213
+ showSsoDivider && /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
1214
+ nonSsoNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
1068
1215
  ] }),
1069
1216
  formState.current === "select_method" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1070
1217
  /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
@@ -1077,7 +1224,8 @@ function OryTwoStepCard() {
1077
1224
  method: group
1078
1225
  })
1079
1226
  }
1080
- )
1227
+ ),
1228
+ ui.nodes.filter((n) => n.group === clientFetch.UiNodeGroupEnum.Captcha).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
1081
1229
  ] }),
1082
1230
  formState.current === "method_active" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1083
1231
  ui.nodes.filter((n) => n.type === "script").map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)),
@@ -1091,22 +1239,27 @@ function OryTwoStepCard() {
1091
1239
  }
1092
1240
  function AuthMethodList({ options, setSelectedGroup }) {
1093
1241
  const { Card } = useComponents();
1094
- const { setValue } = reactHookForm.useFormContext();
1095
- const handleClick = (group) => {
1242
+ const { setValue, getValues } = reactHookForm.useFormContext();
1243
+ const handleClick = (group, options2) => {
1244
+ var _a, _b, _c, _d;
1096
1245
  if (isGroupImmediateSubmit(group)) {
1246
+ if (group === "code" && !getValues("identifier") && ((_b = (_a = options2 == null ? void 0 : options2.title) == null ? void 0 : _a.values) == null ? void 0 : _b.address)) {
1247
+ setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
1248
+ }
1097
1249
  setValue("method", group);
1098
1250
  } else {
1099
1251
  setSelectedGroup(group);
1100
1252
  }
1101
1253
  };
1102
- return options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
1254
+ return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsxRuntime.jsx(
1103
1255
  Card.AuthMethodListItem,
1104
1256
  {
1105
- group: option,
1106
- onClick: () => handleClick(option)
1257
+ group,
1258
+ title: options2.title,
1259
+ onClick: () => handleClick(group, options2)
1107
1260
  },
1108
- option
1109
- ));
1261
+ group
1262
+ )) });
1110
1263
  }
1111
1264
  function OryFormGroups({ groups }) {
1112
1265
  const {
@@ -1146,14 +1299,29 @@ function OryFormSectionInner({
1146
1299
  }
1147
1300
  );
1148
1301
  }
1302
+ function OryConsentCard() {
1303
+ const { Form, Card } = useComponents();
1304
+ const flow = useOryFlow();
1305
+ return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
1306
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
1307
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(OryForm, { children: [
1308
+ /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
1309
+ /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: flow.flow.ui.nodes.map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)) }),
1310
+ /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
1311
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
1312
+ ] }) })
1313
+ ] });
1314
+ }
1149
1315
  function OryFormGroupDivider() {
1150
1316
  const { Card } = useComponents();
1151
1317
  const {
1152
1318
  flow: { ui }
1153
1319
  } = useOryFlow();
1154
- const filteredNodes = ui.nodes.filter((node) => node.group === "oidc");
1320
+ const filteredNodes = ui.nodes.filter(
1321
+ (node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
1322
+ );
1155
1323
  const otherNodes = ui.nodes.filter(
1156
- (node) => node.group !== "oidc" && node.group !== "default"
1324
+ (node) => !(node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml) && node.group !== "default"
1157
1325
  );
1158
1326
  if (filteredNodes.length > 0 && otherNodes.length > 0) {
1159
1327
  return /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {});
@@ -1179,7 +1347,7 @@ function OrySettingsOidc({ nodes }) {
1179
1347
  onClick: () => {
1180
1348
  if (node.attributes.node_type === "input") {
1181
1349
  setValue("link", node.attributes.value);
1182
- setValue("method", "oidc");
1350
+ setValue("method", node.group);
1183
1351
  }
1184
1352
  }
1185
1353
  }));
@@ -1188,7 +1356,7 @@ function OrySettingsOidc({ nodes }) {
1188
1356
  onClick: () => {
1189
1357
  if (node.attributes.node_type === "input") {
1190
1358
  setValue("unlink", node.attributes.value);
1191
- setValue("method", "oidc");
1359
+ setValue("method", node.group);
1192
1360
  }
1193
1361
  }
1194
1362
  }));
@@ -1703,9 +1871,9 @@ var en_default = {
1703
1871
  "identities.messages.1010005": "Verify",
1704
1872
  "identities.messages.1010006": "Authentication code",
1705
1873
  "identities.messages.1010007": "Backup recovery code",
1706
- "identities.messages.1010008": "Sign in with hardware key",
1707
- "identities.messages.1010009": "Use Authenticator",
1708
- "identities.messages.1010010": "Use backup recovery code",
1874
+ "identities.messages.1010008": "Continue with hardware key",
1875
+ "identities.messages.1010009": "Continue",
1876
+ "identities.messages.1010010": "Continue",
1709
1877
  "identities.messages.1010011": "Sign in with hardware key",
1710
1878
  "identities.messages.1010012": "Prepare your WebAuthn device (e.g. security key, biometrics scanner, ...) and press continue.",
1711
1879
  "identities.messages.1010013": "Continue",
@@ -1842,9 +2010,17 @@ var en_default = {
1842
2010
  "login.subtitle-oauth2": "To authenticate {clientName}",
1843
2011
  "login.title": "Sign in",
1844
2012
  "login.subtitle": "Sign in with {parts}",
1845
- "login.title-aal2": "Two-Factor Authentication",
2013
+ "login.title-aal2": "Second factor authentication",
2014
+ "login.subtitle-aal2": "Choose a way to complete your second factor authentication",
2015
+ "login.code.subtitle": "A verification code will be sent by email",
2016
+ "login.webauthn.subtitle": "Please prepare your WebAuthN device",
2017
+ "login.totp.subtitle": "Please enter the code generated by your Authenticator App",
2018
+ "login.lookup_secret.subtitle": "Please enter one of your 8-digit backup recovery codes",
1846
2019
  "login.title-refresh": "Reauthenticate",
1847
2020
  "login.subtitle-refresh": "Confirm your identity with {parts}",
2021
+ "login.2fa.go-back": "Something isn't working?",
2022
+ "login.2fa.go-back.link": "Go back",
2023
+ "login.2fa.method.go-back": "Choose another method",
1848
2024
  "logout.accept-button": "Yes",
1849
2025
  "logout.reject-button": "No",
1850
2026
  "logout.title": "Do you wish to log out?",
@@ -1893,10 +2069,14 @@ var en_default = {
1893
2069
  "two-step.password.description": "Enter your password associated with your account",
1894
2070
  "two-step.code.title": "Email code",
1895
2071
  "two-step.code.description": "A verification code will be sent to your email",
1896
- "two-step.webauthn.title": "Security Key",
2072
+ "two-step.webauthn.title": "Security key",
1897
2073
  "two-step.webauthn.description": "Use your security key to authenticate",
1898
2074
  "two-step.passkey.title": "Passkey (recommended)",
1899
2075
  "two-step.passkey.description": "Use your device's for fingerprint or face recognition",
2076
+ "two-step.totp.title": "Use your Authenticator App (TOTP)",
2077
+ "two-step.totp.description": "Use a 6-digit one-time code from your authenticator app",
2078
+ "two-step.lookup_secret.title": "Backup recovery code",
2079
+ "two-step.lookup_secret.description": "Use up one of your 8-digit backup codes to authenticate",
1900
2080
  "identities.messages.1010020": "",
1901
2081
  "input.placeholder": "Enter your {placeholder}",
1902
2082
  "card.header.parts.oidc": "a social provider",
@@ -1930,7 +2110,27 @@ var en_default = {
1930
2110
  "property.phone": "phone",
1931
2111
  "property.username": "username",
1932
2112
  "property.identifier": "identifier",
1933
- "property.code": "code"
2113
+ "property.code": "code",
2114
+ "consent.title": "Authorize {party}",
2115
+ "consent.subtitle": "A third party application wants to access information associated with your account {identifier}.",
2116
+ "consent.scope.openid.title": "Public Data",
2117
+ "consent.scope.openid.description": "This application will be able to identify you and read public information about you.",
2118
+ "consent.scope.offline_access.title": "Offline Access",
2119
+ "consent.scope.offline_access.description": "This application will be able to identify you and read personal information about you.",
2120
+ "consent.scope.profile.title": "Profile",
2121
+ "consent.scope.profile.description": "This application will be able to access your profile information, including your name, profile picture, and other basic details.",
2122
+ "consent.scope.email.title": "Email Address",
2123
+ "consent.scope.email.description": "This application will be able to access your email address.",
2124
+ "consent.scope.address.title": "Address",
2125
+ "consent.scope.address.description": "This application will be able to access your physical address information.",
2126
+ "consent.scope.phone.title": "Phone",
2127
+ "consent.scope.phone.description": "This application will be able to access your phone number.",
2128
+ "error.title.what-happened": "What happened?",
2129
+ "error.title.what-can-i-do": "What can I do?",
2130
+ "error.instructions": "Please try again in a few minutes or contact the website operator.",
2131
+ "error.footer.text": "When reporting this error, please include the following information:",
2132
+ "error.footer.copy": "Copy",
2133
+ "error.action.go-back": "Go back"
1934
2134
  };
1935
2135
 
1936
2136
  // src/locales/de.json
@@ -1956,9 +2156,9 @@ var de_default = {
1956
2156
  "identities.messages.1010005": "Verifizieren",
1957
2157
  "identities.messages.1010006": "Authentifizierungscode",
1958
2158
  "identities.messages.1010007": "Backup-Wiederherstellungscode",
1959
- "identities.messages.1010008": "Sicherheitsschl\xFCssel verwenden",
1960
- "identities.messages.1010009": "Authentifizierungs-App verwenden",
1961
- "identities.messages.1010010": "Backup-Wiederherstellungscode verwenden",
2159
+ "identities.messages.1010008": "Mit Sicherheitsschl\xFCssel fortfahren",
2160
+ "identities.messages.1010009": "Weiter",
2161
+ "identities.messages.1010010": "Weiter",
1962
2162
  "identities.messages.1010011": "Mit Sicherheitsschl\xFCssel fortfahren",
1963
2163
  "identities.messages.1010012": "Bereiten Sie Ihr WebAuthn-Ger\xE4t vor (z. B. Sicherheitsschl\xFCssel, biometrischer Scanner, ...) und dr\xFCcken Sie auf Weiter.",
1964
2164
  "identities.messages.1010013": "Weiter",
@@ -2074,8 +2274,16 @@ var de_default = {
2074
2274
  "login.registration-label": "Sie haben noch kein Konto?",
2075
2275
  "login.subtitle-oauth2": "Zur Authentifizierung bei {clientName}",
2076
2276
  "login.title": "Anmelden",
2077
- "login.title-aal2": "Zwei-Faktor-Authentifizierung",
2277
+ "login.title-aal2": "Zweitfaktor-Authentifizierung",
2278
+ "login.subtitle-aal2": "W\xE4hlen Sie eine Methode zur Best\xE4tigung Ihrer Zwei-Faktor-Authentifizierung",
2279
+ "login.code.subtitle": "Ein Best\xE4tigungscode wird per E-Mail gesendet",
2280
+ "login.webauthn.subtitle": "Bitte bereiten Sie Ihr WebAuthN-Ger\xE4t vor",
2281
+ "login.totp.subtitle": "Bitte geben Sie den Code aus Ihrer Authenticator-App ein",
2282
+ "login.lookup_secret.subtitle": "Bitte geben Sie einen Ihrer 8-stelligen Backup-Wiederherstellungscodes ein",
2078
2283
  "login.title-refresh": "Best\xE4tigen Sie, dass Sie es sind",
2284
+ "login.2fa.go-back": "Funktioniert etwas nicht?",
2285
+ "login.2fa.go-back.link": "Zur\xFCck",
2286
+ "login.2fa.method.go-back": "Eine andere Methode w\xE4hlen",
2079
2287
  "logout.accept-button": "Ja",
2080
2288
  "logout.reject-button": "Nein",
2081
2289
  "logout.title": "M\xF6chten Sie sich abmelden?",
@@ -2096,8 +2304,12 @@ var de_default = {
2096
2304
  "two-step.passkey.title": "Passwort (empfohlen)",
2097
2305
  "two-step.password.description": "Geben Sie Ihr Passwort ein, das mit Ihrem Konto verkn\xFCpft ist",
2098
2306
  "two-step.password.title": "Passwort",
2099
- "two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
2100
2307
  "two-step.webauthn.title": "Sicherheitsschl\xFCssel",
2308
+ "two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
2309
+ "two-step.totp.title": "Verwenden Sie Ihre Authenticator-App (TOTP)",
2310
+ "two-step.totp.description": "Verwenden Sie einen 6-stelligen Einmal-Code aus Ihrer Authenticator-App",
2311
+ "two-step.lookup_secret.title": "Backup-Wiederherstellungscode",
2312
+ "two-step.lookup_secret.description": "Verwenden Sie einen Ihrer 8-stelligen Backup-Codes, um sich zu authentifizieren",
2101
2313
  "identities.messages.1070014": "Login- und Link-Zugangsdaten",
2102
2314
  "identities.messages.1070015": "Bitte schlie\xDFen Sie die Captcha-Challenge ab, um fortzufahren.",
2103
2315
  "identities.messages.4000038": "Die Captcha-\xDCberpr\xFCfung ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
@@ -2183,7 +2395,27 @@ var de_default = {
2183
2395
  "property.password": "Passwort",
2184
2396
  "property.phone": "Telefon",
2185
2397
  "property.code": "Code",
2186
- "property.username": "Benutzername"
2398
+ "property.username": "Benutzername",
2399
+ "consent.title": "",
2400
+ "consent.subtitle": "",
2401
+ "consent.scope.openid.title": "",
2402
+ "consent.scope.openid.description": "",
2403
+ "consent.scope.offline_access.title": "",
2404
+ "consent.scope.offline_access.description": "",
2405
+ "consent.scope.profile.title": "",
2406
+ "consent.scope.profile.description": "",
2407
+ "consent.scope.email.title": "",
2408
+ "consent.scope.email.description": "",
2409
+ "consent.scope.address.title": "",
2410
+ "consent.scope.address.description": "",
2411
+ "consent.scope.phone.title": "",
2412
+ "consent.scope.phone.description": "",
2413
+ "error.title.what-happened": "Was ist passiert?",
2414
+ "error.footer.copy": "Kopieren",
2415
+ "error.footer.text": "Bitte f\xFCgen Sie bei der Meldung dieses Fehlers die folgenden Informationen hinzu:",
2416
+ "error.instructions": "Bitte versuchen Sie es in wenigen Minuten erneut oder wenden Sie sich an den Website-Betreiber.",
2417
+ "error.title.what-can-i-do": "Was kann ich tun?",
2418
+ "error.action.go-back": "Zur\xFCck"
2187
2419
  };
2188
2420
 
2189
2421
  // src/locales/es.json
@@ -2199,7 +2431,7 @@ var es_default = {
2199
2431
  "error.back-button": "Regresar",
2200
2432
  "error.description": "Ocurri\xF3 un error con el siguiente mensaje:",
2201
2433
  "error.support-email-link": "Si el problema persiste, por favor contacte a <a>{contactSupportEmail}</a>",
2202
- "error.title": "Ocurri\xF3 un error",
2434
+ "error.title": "",
2203
2435
  "error.title-internal-server-error": "Error Interno del Servidor",
2204
2436
  "error.title-not-found": "404 - P\xE1gina no encontrada",
2205
2437
  "identities.messages.1010001": "Iniciar sesi\xF3n",
@@ -2209,9 +2441,9 @@ var es_default = {
2209
2441
  "identities.messages.1010005": "Verificar",
2210
2442
  "identities.messages.1010006": "C\xF3digo de autenticaci\xF3n",
2211
2443
  "identities.messages.1010007": "C\xF3digo de recuperaci\xF3n de respaldo",
2212
- "identities.messages.1010008": "Usar llave de seguridad",
2213
- "identities.messages.1010009": "Usar Autenticador",
2214
- "identities.messages.1010010": "Usar c\xF3digo de recuperaci\xF3n de respaldo",
2444
+ "identities.messages.1010008": "Continuar con la llave de hardware",
2445
+ "identities.messages.1010009": "Continuar",
2446
+ "identities.messages.1010010": "Continuar",
2215
2447
  "identities.messages.1010011": "Continuar con llave de seguridad",
2216
2448
  "identities.messages.1010012": "Prepare su dispositivo WebAuthn (por ejemplo, llave de seguridad, esc\xE1ner biom\xE9trico, ...) y presione continuar.",
2217
2449
  "identities.messages.1010013": "Continuar",
@@ -2327,8 +2559,16 @@ var es_default = {
2327
2559
  "login.registration-label": "\xBFNo tiene una cuenta?",
2328
2560
  "login.subtitle-oauth2": "Para autenticar a {clientName}",
2329
2561
  "login.title": "Iniciar sesi\xF3n",
2330
- "login.title-aal2": "Autenticaci\xF3n de Dos Factores",
2562
+ "login.title-aal2": "Autenticaci\xF3n de dos factores",
2563
+ "login.subtitle-aal2": "Elija una forma de completar su autenticaci\xF3n de segundo factor",
2564
+ "login.code.subtitle": "Se enviar\xE1 un c\xF3digo de verificaci\xF3n por correo electr\xF3nico",
2565
+ "login.webauthn.subtitle": "Por favor, prepare su dispositivo WebAuthN",
2566
+ "login.totp.subtitle": "Ingrese el c\xF3digo generado por su aplicaci\xF3n de autenticaci\xF3n",
2567
+ "login.lookup_secret.subtitle": "Ingrese uno de sus c\xF3digos de recuperaci\xF3n de respaldo de 8 d\xEDgitos",
2331
2568
  "login.title-refresh": "Confirme que es usted",
2569
+ "login.2fa.go-back": "\xBFAlgo no funciona?",
2570
+ "login.2fa.go-back.link": "Volver",
2571
+ "login.2fa.method.go-back": "Elegir otro m\xE9todo",
2332
2572
  "logout.accept-button": "S\xED",
2333
2573
  "logout.reject-button": "No",
2334
2574
  "logout.title": "\xBFDesea cerrar sesi\xF3n?",
@@ -2360,8 +2600,12 @@ var es_default = {
2360
2600
  "two-step.passkey.title": "Clave de acceso (recomendada)",
2361
2601
  "two-step.password.description": "Ingrese la contrase\xF1a asociada con su cuenta",
2362
2602
  "two-step.password.title": "Contrase\xF1a",
2363
- "two-step.webauthn.description": "Utiliza tu llave de seguridad para autenticarte",
2364
2603
  "two-step.webauthn.title": "Clave de Seguridad",
2604
+ "two-step.webauthn.description": "Utilice su llave de seguridad para autenticase",
2605
+ "two-step.totp.title": "Utilice su aplicaci\xF3n de autenticaci\xF3n (TOTP)",
2606
+ "two-step.totp.description": "Utilice un c\xF3digo de un solo uso de 6 d\xEDgitos de su aplicaci\xF3n de autenticaci\xF3n",
2607
+ "two-step.lookup_secret.title": "C\xF3digo de recuperaci\xF3n de respaldo",
2608
+ "two-step.lookup_secret.description": "Utilice uno de sus c\xF3digos de respaldo de 8 d\xEDgitos para autenticarse",
2365
2609
  "identities.messages.1010016": "",
2366
2610
  "identities.messages.1010017": "",
2367
2611
  "identities.messages.1010018": "",
@@ -2436,7 +2680,27 @@ var es_default = {
2436
2680
  "property.identifier": "",
2437
2681
  "property.password": "",
2438
2682
  "property.phone": "",
2439
- "property.username": ""
2683
+ "property.username": "",
2684
+ "consent.title": "",
2685
+ "consent.subtitle": "",
2686
+ "consent.scope.openid.title": "",
2687
+ "consent.scope.openid.description": "",
2688
+ "consent.scope.offline_access.title": "",
2689
+ "consent.scope.offline_access.description": "",
2690
+ "consent.scope.profile.title": "",
2691
+ "consent.scope.profile.description": "",
2692
+ "consent.scope.email.title": "",
2693
+ "consent.scope.email.description": "",
2694
+ "consent.scope.address.title": "",
2695
+ "consent.scope.address.description": "",
2696
+ "consent.scope.phone.title": "",
2697
+ "consent.scope.phone.description": "",
2698
+ "error.action.go-back": "",
2699
+ "error.footer.copy": "",
2700
+ "error.footer.text": "",
2701
+ "error.instructions": "",
2702
+ "error.title.what-can-i-do": "",
2703
+ "error.title.what-happened": ""
2440
2704
  };
2441
2705
 
2442
2706
  // src/locales/fr.json
@@ -2462,9 +2726,9 @@ var fr_default = {
2462
2726
  "identities.messages.1010005": "V\xE9rifier",
2463
2727
  "identities.messages.1010006": "Code d'authentification",
2464
2728
  "identities.messages.1010007": "Code de r\xE9cup\xE9ration de secours",
2465
- "identities.messages.1010008": "Utiliser une cl\xE9 de s\xE9curit\xE9",
2466
- "identities.messages.1010009": "Utiliser un authentificateur",
2467
- "identities.messages.1010010": "Utiliser un code de r\xE9cup\xE9ration de secours",
2729
+ "identities.messages.1010008": "Continuer avec la cl\xE9 mat\xE9rielle",
2730
+ "identities.messages.1010009": "Continuer",
2731
+ "identities.messages.1010010": "Continuer",
2468
2732
  "identities.messages.1010011": "Continuer avec la cl\xE9 de s\xE9curit\xE9",
2469
2733
  "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.",
2470
2734
  "identities.messages.1010013": "Continuer",
@@ -2581,7 +2845,15 @@ var fr_default = {
2581
2845
  "login.subtitle-oauth2": "Pour vous authentifier sur {clientName}",
2582
2846
  "login.title": "Se connecter",
2583
2847
  "login.title-aal2": "Authentification \xE0 deux facteurs",
2848
+ "login.subtitle-aal2": "Choisissez une m\xE9thode pour compl\xE9ter votre authentification \xE0 deux facteurs",
2849
+ "login.code.subtitle": "Un code de v\xE9rification sera envoy\xE9 par e-mail",
2850
+ "login.webauthn.subtitle": "Veuillez pr\xE9parer votre dispositif WebAuthN",
2851
+ "login.totp.subtitle": "Veuillez saisir le code g\xE9n\xE9r\xE9 par votre application d'authentification",
2852
+ "login.lookup_secret.subtitle": "Veuillez saisir l'un de vos codes de r\xE9cup\xE9ration de secours \xE0 8 chiffres",
2584
2853
  "login.title-refresh": "Confirmez que c'est bien vous",
2854
+ "login.2fa.go-back": "Quelque chose ne fonctionne pas ?",
2855
+ "login.2fa.go-back.link": "Retour",
2856
+ "login.2fa.method.go-back": "Choisir une autre m\xE9thode",
2585
2857
  "logout.accept-button": "Oui",
2586
2858
  "logout.reject-button": "Non",
2587
2859
  "logout.title": "Souhaitez-vous vous d\xE9connecter ?",
@@ -2613,8 +2885,12 @@ var fr_default = {
2613
2885
  "two-step.passkey.title": "Cl\xE9 de passe (recommand\xE9e)",
2614
2886
  "two-step.password.description": "Entrez votre mot de passe associ\xE9 \xE0 votre compte",
2615
2887
  "two-step.password.title": "Mot de passe",
2616
- "two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
2617
2888
  "two-step.webauthn.title": "Cl\xE9 de S\xE9curit\xE9",
2889
+ "two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
2890
+ "two-step.totp.title": "Utilisez votre application d'authentification (TOTP)",
2891
+ "two-step.totp.description": "Utilisez un code \xE0 usage unique \xE0 6 chiffres provenant de votre application d'authentification",
2892
+ "two-step.lookup_secret.title": "Code de r\xE9cup\xE9ration de secours",
2893
+ "two-step.lookup_secret.description": "Utilisez l'un de vos codes de secours \xE0 8 chiffres pour vous authentifier",
2618
2894
  "identities.messages.1010023": "",
2619
2895
  "identities.messages.1070015": "",
2620
2896
  "identities.messages.4000038": "",
@@ -2689,7 +2965,27 @@ var fr_default = {
2689
2965
  "property.identifier": "",
2690
2966
  "property.password": "",
2691
2967
  "property.phone": "",
2692
- "property.username": ""
2968
+ "property.username": "",
2969
+ "consent.title": "",
2970
+ "consent.subtitle": "",
2971
+ "consent.scope.openid.title": "",
2972
+ "consent.scope.openid.description": "",
2973
+ "consent.scope.offline_access.title": "",
2974
+ "consent.scope.offline_access.description": "",
2975
+ "consent.scope.profile.title": "",
2976
+ "consent.scope.profile.description": "",
2977
+ "consent.scope.email.title": "",
2978
+ "consent.scope.email.description": "",
2979
+ "consent.scope.address.title": "",
2980
+ "consent.scope.address.description": "",
2981
+ "consent.scope.phone.title": "",
2982
+ "consent.scope.phone.description": "",
2983
+ "error.action.go-back": "",
2984
+ "error.footer.copy": "",
2985
+ "error.footer.text": "",
2986
+ "error.title.what-can-i-do": "",
2987
+ "error.title.what-happened": "",
2988
+ "error.instructions": ""
2693
2989
  };
2694
2990
 
2695
2991
  // src/locales/nl.json
@@ -2715,9 +3011,9 @@ var nl_default = {
2715
3011
  "identities.messages.1010005": "Verifi\xEBren",
2716
3012
  "identities.messages.1010006": "Verificatiecode",
2717
3013
  "identities.messages.1010007": "Back-up herstelcode",
2718
- "identities.messages.1010008": "Beveiligingssleutel gebruiken",
2719
- "identities.messages.1010009": "Authenticator gebruiken",
2720
- "identities.messages.1010010": "Back-up herstelcode gebruiken",
3014
+ "identities.messages.1010008": "Ga verder met hardware-sleutel",
3015
+ "identities.messages.1010009": "Doorgaan",
3016
+ "identities.messages.1010010": "Doorgaan",
2721
3017
  "identities.messages.1010011": "Doorgaan met beveiligingssleutel",
2722
3018
  "identities.messages.1010012": "Bereid uw WebAuthn-apparaat voor (bijv. beveiligingssleutel, biometrische scanner, ...) en druk op doorgaan.",
2723
3019
  "identities.messages.1010013": "Doorgaan",
@@ -2833,8 +3129,16 @@ var nl_default = {
2833
3129
  "login.registration-label": "Heb je nog geen account?",
2834
3130
  "login.subtitle-oauth2": "Om te authenticeren bij {clientName}",
2835
3131
  "login.title": "Inloggen",
2836
- "login.title-aal2": "Twee-Factor Authenticatie",
3132
+ "login.title-aal2": "Tweefactorauthenticatie",
3133
+ "login.subtitle-aal2": "Kies een manier om uw tweefactorauthenticatie te voltooien",
3134
+ "login.code.subtitle": "Er wordt een verificatiecode per e-mail verzonden",
3135
+ "login.webauthn.subtitle": "Bereid uw WebAuthN-apparaat voor",
3136
+ "login.totp.subtitle": "Voer de code in die door uw Authenticator-app is gegenereerd",
3137
+ "login.lookup_secret.subtitle": "Voer een van uw 8-cijferige back-up herstelcodes in",
2837
3138
  "login.title-refresh": "Bevestig dat jij het bent",
3139
+ "login.2fa.go-back": "Werkt er iets niet?",
3140
+ "login.2fa.go-back.link": "Ga terug",
3141
+ "login.2fa.method.go-back": "Kies een andere methode",
2838
3142
  "logout.accept-button": "Ja",
2839
3143
  "logout.reject-button": "Nee",
2840
3144
  "logout.title": "Wil je uitloggen?",
@@ -2866,8 +3170,12 @@ var nl_default = {
2866
3170
  "two-step.passkey.title": "Toegangscode (aanbevolen)",
2867
3171
  "two-step.password.description": "Voer uw wachtwoord in dat is gekoppeld aan uw account",
2868
3172
  "two-step.password.title": "Wachtwoord",
2869
- "two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
2870
3173
  "two-step.webauthn.title": "Beveiligingssleutel",
3174
+ "two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
3175
+ "two-step.totp.title": "Gebruik uw Authenticator-app (TOTP)",
3176
+ "two-step.totp.description": "Gebruik een 6-cijferige eenmalige code van uw authenticator-app",
3177
+ "two-step.lookup_secret.title": "Herstelcode",
3178
+ "two-step.lookup_secret.description": "Gebruik een van uw 8-cijferige back-upcodes om te authenticeren",
2871
3179
  "identities.messages.1010023": "",
2872
3180
  "identities.messages.1070014": "",
2873
3181
  "identities.messages.1070015": "",
@@ -2942,7 +3250,27 @@ var nl_default = {
2942
3250
  "property.identifier": "",
2943
3251
  "property.password": "",
2944
3252
  "property.phone": "",
2945
- "property.username": ""
3253
+ "property.username": "",
3254
+ "consent.title": "",
3255
+ "consent.subtitle": "",
3256
+ "consent.scope.openid.title": "",
3257
+ "consent.scope.openid.description": "",
3258
+ "consent.scope.offline_access.title": "",
3259
+ "consent.scope.offline_access.description": "",
3260
+ "consent.scope.profile.title": "",
3261
+ "consent.scope.profile.description": "",
3262
+ "consent.scope.email.title": "",
3263
+ "consent.scope.email.description": "",
3264
+ "consent.scope.address.title": "",
3265
+ "consent.scope.address.description": "",
3266
+ "consent.scope.phone.title": "",
3267
+ "consent.scope.phone.description": "",
3268
+ "error.action.go-back": "",
3269
+ "error.footer.copy": "",
3270
+ "error.footer.text": "",
3271
+ "error.title.what-can-i-do": "",
3272
+ "error.title.what-happened": "",
3273
+ "error.instructions": ""
2946
3274
  };
2947
3275
 
2948
3276
  // src/locales/pl.json
@@ -2968,9 +3296,9 @@ var pl_default = {
2968
3296
  "identities.messages.1010005": "Zweryifkuj",
2969
3297
  "identities.messages.1010006": "Kod autentykacyjny",
2970
3298
  "identities.messages.1010007": "Zapasowe kody odzyskiwania",
2971
- "identities.messages.1010008": "U\u017Cyj klucza bezpiecze\u0144stwa",
2972
- "identities.messages.1010009": "U\u017Cyj Autentykatora",
2973
- "identities.messages.1010010": "U\u017Cyj zapasowych kod\xF3w odzyskiwania",
3299
+ "identities.messages.1010008": "Kontynuuj z kluczem sprz\u0119towym",
3300
+ "identities.messages.1010009": "Kontynuuj",
3301
+ "identities.messages.1010010": "Kontynuuj",
2974
3302
  "identities.messages.1010011": "Kontynuuj za pomoc\u0105 klucza bezpiecze\u0144stwa",
2975
3303
  "identities.messages.1010012": "Przygotuj swoje urz\u0105dzenie WebAuthn (np. klucz bezpiecze\u0144stwa, czytnik biometryczny, ...) a nast\u0119pnie kliknij kontynuuj.",
2976
3304
  "identities.messages.1010013": "Kontynuuj",
@@ -3086,8 +3414,16 @@ var pl_default = {
3086
3414
  "login.registration-label": "Nie posiadasz konta?",
3087
3415
  "login.subtitle-oauth2": "Do autentykacji {clientName}",
3088
3416
  "login.title": "Zaloguj si\u0119",
3089
- "login.title-aal2": "Autentykacja Dwu-Etapowa",
3417
+ "login.title-aal2": "Uwierzytelnianie dwusk\u0142adnikowe",
3418
+ "login.subtitle-aal2": "Wybierz spos\xF3b, aby zako\u0144czy\u0107 uwierzytelnianie dwusk\u0142adnikowe",
3419
+ "login.code.subtitle": "Kod weryfikacyjny zostanie wys\u0142any e-mailem",
3420
+ "login.webauthn.subtitle": "Prosz\u0119 przygotowa\u0107 urz\u0105dzenie WebAuthN",
3421
+ "login.totp.subtitle": "Prosz\u0119 wprowadzi\u0107 kod wygenerowany przez Twoj\u0105 aplikacj\u0119 uwierzytelniaj\u0105c\u0105",
3422
+ "login.lookup_secret.subtitle": "Prosz\u0119 wprowadzi\u0107 jeden z Twoich 8-cyfrowych kod\xF3w odzyskiwania zapasowego",
3090
3423
  "login.title-refresh": "Potwierd\u017A \u017Ce to Ty",
3424
+ "login.2fa.go-back": "Co\u015B nie dzia\u0142a?",
3425
+ "login.2fa.go-back.link": "Wr\xF3\u0107",
3426
+ "login.2fa.method.go-back": "Wybierz inn\u0105 metod\u0119",
3091
3427
  "logout.accept-button": "Tak",
3092
3428
  "logout.reject-button": "Nie",
3093
3429
  "logout.title": "Czy chcesz si\u0119 wylogowa\u0107?",
@@ -3119,8 +3455,12 @@ var pl_default = {
3119
3455
  "two-step.passkey.title": "Klucz dost\u0119pu (zalecany)",
3120
3456
  "two-step.password.description": "Wprowad\u017A has\u0142o powi\u0105zane z twoim kontem",
3121
3457
  "two-step.password.title": "Has\u0142o",
3122
- "two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
3123
3458
  "two-step.webauthn.title": "Klucz bezpiecze\u0144stwa",
3459
+ "two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
3460
+ "two-step.totp.title": "U\u017Cyj swojej aplikacji uwierzytelniaj\u0105cej (TOTP)",
3461
+ "two-step.totp.description": "U\u017Cyj 6-cyfrowego jednorazowego kodu z Twojej aplikacji uwierzytelniaj\u0105cej",
3462
+ "two-step.lookup_secret.title": "Kod odzyskiwania zapasowego",
3463
+ "two-step.lookup_secret.description": "U\u017Cyj jednego z Twoich 8-cyfrowych kod\xF3w zapasowych, aby si\u0119 uwierzytelni\u0107",
3124
3464
  "identities.messages.1010016": "",
3125
3465
  "identities.messages.1010017": "",
3126
3466
  "identities.messages.1010018": "",
@@ -3195,7 +3535,27 @@ var pl_default = {
3195
3535
  "property.password": "",
3196
3536
  "property.phone": "",
3197
3537
  "property.username": "",
3198
- "property.identifier": ""
3538
+ "property.identifier": "",
3539
+ "consent.title": "",
3540
+ "consent.subtitle": "",
3541
+ "consent.scope.openid.title": "",
3542
+ "consent.scope.openid.description": "",
3543
+ "consent.scope.offline_access.title": "",
3544
+ "consent.scope.offline_access.description": "",
3545
+ "consent.scope.profile.title": "",
3546
+ "consent.scope.profile.description": "",
3547
+ "consent.scope.email.title": "",
3548
+ "consent.scope.email.description": "",
3549
+ "consent.scope.address.title": "",
3550
+ "consent.scope.address.description": "",
3551
+ "consent.scope.phone.title": "",
3552
+ "consent.scope.phone.description": "",
3553
+ "error.action.go-back": "",
3554
+ "error.footer.copy": "",
3555
+ "error.footer.text": "",
3556
+ "error.title.what-can-i-do": "",
3557
+ "error.title.what-happened": "",
3558
+ "error.instructions": ""
3199
3559
  };
3200
3560
 
3201
3561
  // src/locales/pt.json
@@ -3221,9 +3581,9 @@ var pt_default = {
3221
3581
  "identities.messages.1010005": "Verificar",
3222
3582
  "identities.messages.1010006": "C\xF3digo de Autentica\xE7\xE3o",
3223
3583
  "identities.messages.1010007": "C\xF3digo de Recupera\xE7\xE3o de Backup",
3224
- "identities.messages.1010008": "Usar chave de seguran\xE7a",
3225
- "identities.messages.1010009": "Usar o Autenticador",
3226
- "identities.messages.1010010": "Usar c\xF3digo de recupera\xE7\xE3o de backup",
3584
+ "identities.messages.1010008": "Continuar com chave de hardware",
3585
+ "identities.messages.1010009": "Continuar",
3586
+ "identities.messages.1010010": "Continuar",
3227
3587
  "identities.messages.1010011": "Continuar com a chave de seguran\xE7a",
3228
3588
  "identities.messages.1010012": "Prepare o seu dispositivo WebAuthn (por exemplo, chave de seguran\xE7a, scanner biom\xE9trico, ...) e pressione continuar.",
3229
3589
  "identities.messages.1010013": "Continuar",
@@ -3339,8 +3699,16 @@ var pt_default = {
3339
3699
  "login.registration-label": "N\xE3o tem uma conta?",
3340
3700
  "login.subtitle-oauth2": "Para autenticar {clientName}",
3341
3701
  "login.title": "Entrar",
3342
- "login.title-aal2": "Autentica\xE7\xE3o de Dois Fatores",
3702
+ "login.title-aal2": "Autentica\xE7\xE3o de dois fatores",
3703
+ "login.subtitle-aal2": "Escolha uma forma de completar sua autentica\xE7\xE3o de segundo fator",
3704
+ "login.code.subtitle": "Um c\xF3digo de verifica\xE7\xE3o ser\xE1 enviado por e-mail",
3705
+ "login.webauthn.subtitle": "Por favor, prepare seu dispositivo WebAuthN",
3706
+ "login.totp.subtitle": "Digite o c\xF3digo gerado pelo seu aplicativo autenticador",
3707
+ "login.lookup_secret.subtitle": "Digite um dos seus c\xF3digos de recupera\xE7\xE3o de 8 d\xEDgitos",
3343
3708
  "login.title-refresh": "Confirme que \xE9 voc\xEA",
3709
+ "login.2fa.go-back": "Algo n\xE3o est\xE1 funcionando?",
3710
+ "login.2fa.go-back.link": "Voltar",
3711
+ "login.2fa.method.go-back": "Escolher outro m\xE9todo",
3344
3712
  "logout.accept-button": "Sim",
3345
3713
  "logout.reject-button": "N\xE3o",
3346
3714
  "logout.title": "Deseja sair?",
@@ -3372,8 +3740,12 @@ var pt_default = {
3372
3740
  "two-step.passkey.title": "Chave de acesso (recomendado)",
3373
3741
  "two-step.password.description": "Insira a sua senha associada \xE0 sua conta",
3374
3742
  "two-step.password.title": "Senha",
3375
- "two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
3376
3743
  "two-step.webauthn.title": "Chave de Seguran\xE7a",
3744
+ "two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
3745
+ "two-step.totp.title": "Use seu aplicativo autenticador (TOTP)",
3746
+ "two-step.totp.description": "Use um c\xF3digo \xFAnico de 6 d\xEDgitos do seu aplicativo autenticador",
3747
+ "two-step.lookup_secret.title": "C\xF3digo de recupera\xE7\xE3o de backup",
3748
+ "two-step.lookup_secret.description": "Use um dos seus c\xF3digos de backup de 8 d\xEDgitos para autenticar",
3377
3749
  "identities.messages.1010016": "",
3378
3750
  "identities.messages.1010017": "",
3379
3751
  "identities.messages.1010018": "",
@@ -3448,7 +3820,27 @@ var pt_default = {
3448
3820
  "property.identifier": "",
3449
3821
  "property.password": "",
3450
3822
  "property.phone": "",
3451
- "property.username": ""
3823
+ "property.username": "",
3824
+ "consent.title": "",
3825
+ "consent.subtitle": "",
3826
+ "consent.scope.openid.title": "",
3827
+ "consent.scope.openid.description": "",
3828
+ "consent.scope.offline_access.title": "",
3829
+ "consent.scope.offline_access.description": "",
3830
+ "consent.scope.profile.title": "",
3831
+ "consent.scope.profile.description": "",
3832
+ "consent.scope.email.title": "",
3833
+ "consent.scope.email.description": "",
3834
+ "consent.scope.address.title": "",
3835
+ "consent.scope.address.description": "",
3836
+ "consent.scope.phone.title": "",
3837
+ "consent.scope.phone.description": "",
3838
+ "error.action.go-back": "",
3839
+ "error.footer.copy": "",
3840
+ "error.footer.text": "",
3841
+ "error.title.what-can-i-do": "",
3842
+ "error.title.what-happened": "",
3843
+ "error.instructions": ""
3452
3844
  };
3453
3845
 
3454
3846
  // src/locales/sv.json
@@ -3474,9 +3866,9 @@ var sv_default = {
3474
3866
  "identities.messages.1010005": "Verifiera",
3475
3867
  "identities.messages.1010006": "Autentiseringskod",
3476
3868
  "identities.messages.1010007": "\xC5terst\xE4llningskod f\xF6r backup",
3477
- "identities.messages.1010008": "Anv\xE4nd s\xE4kerhetsnyckel",
3478
- "identities.messages.1010009": "Anv\xE4nd autentiserings-app",
3479
- "identities.messages.1010010": "Anv\xE4nd reserv\xE5terst\xE4llningskod",
3869
+ "identities.messages.1010008": "Forts\xE4tt med s\xE4kerhetsnyckel",
3870
+ "identities.messages.1010009": "Forts\xE4tt",
3871
+ "identities.messages.1010010": "Forts\xE4tt",
3480
3872
  "identities.messages.1010011": "Forts\xE4tt med s\xE4kerhetsnyckel",
3481
3873
  "identities.messages.1010012": "F\xF6rbered din WebAuthn-enhet (t.ex. s\xE4kerhetsnyckel, biometriska skanner, ...) och tryck p\xE5 forts\xE4tt.",
3482
3874
  "identities.messages.1010013": "Forts\xE4tt",
@@ -3611,7 +4003,15 @@ var sv_default = {
3611
4003
  "login.subtitle-oauth2": "Att autentisera {clientName}",
3612
4004
  "login.title": "Logga in",
3613
4005
  "login.title-aal2": "Tv\xE5faktorsautentisering",
4006
+ "login.subtitle-aal2": "V\xE4lj ett s\xE4tt att slutf\xF6ra din tv\xE5faktorsautentisering",
4007
+ "login.code.subtitle": "En verifieringskod kommer att skickas via e-post",
4008
+ "login.webauthn.subtitle": "F\xF6rbered din WebAuthN-enhet",
4009
+ "login.totp.subtitle": "Ange koden som genererats av din autentiseringsapp",
4010
+ "login.lookup_secret.subtitle": "Ange en av dina 8-siffriga \xE5terst\xE4llningskoder",
3614
4011
  "login.title-refresh": "Bekr\xE4fta att det \xE4r du",
4012
+ "login.2fa.go-back": "N\xE5got fungerar inte?",
4013
+ "login.2fa.go-back.link": "G\xE5 tillbaka",
4014
+ "login.2fa.method.go-back": "V\xE4lj en annan metod",
3615
4015
  "logout.accept-button": "Ja",
3616
4016
  "logout.reject-button": "Nej",
3617
4017
  "logout.title": "Vill du logga ut?",
@@ -3643,8 +4043,12 @@ var sv_default = {
3643
4043
  "two-step.passkey.title": "Passerkod (rekommenderad)",
3644
4044
  "two-step.password.description": "Ange ditt l\xF6senord kopplat till ditt konto",
3645
4045
  "two-step.password.title": "L\xF6senord",
3646
- "two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
3647
4046
  "two-step.webauthn.title": "S\xE4kerhetsnyckel",
4047
+ "two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
4048
+ "two-step.totp.title": "Anv\xE4nd din autentiseringsapp (TOTP)",
4049
+ "two-step.totp.description": "Anv\xE4nd en 6-siffrig eng\xE5ngskod fr\xE5n din autentiseringsapp",
4050
+ "two-step.lookup_secret.title": "Reserv\xE5terst\xE4llningskod",
4051
+ "two-step.lookup_secret.description": "Anv\xE4nd en av dina 8-siffriga reservkoder f\xF6r att autentisera",
3648
4052
  "identities.messages.4000037": "Detta konto finns inte eller har ingen inloggningsmetod konfigurerad.",
3649
4053
  "identities.messages.4000038": "Captcha-verifiering misslyckades, f\xF6rs\xF6k igen.",
3650
4054
  "identities.messages.1010020": "",
@@ -3701,7 +4105,27 @@ var sv_default = {
3701
4105
  "property.phone": "telefon",
3702
4106
  "property.username": "anv\xE4ndarnamn",
3703
4107
  "property.identifier": "identifier",
3704
- "property.code": "kod"
4108
+ "property.code": "kod",
4109
+ "consent.title": "",
4110
+ "consent.subtitle": "",
4111
+ "consent.scope.openid.title": "",
4112
+ "consent.scope.openid.description": "",
4113
+ "consent.scope.offline_access.title": "",
4114
+ "consent.scope.offline_access.description": "",
4115
+ "consent.scope.profile.title": "",
4116
+ "consent.scope.profile.description": "",
4117
+ "consent.scope.email.title": "",
4118
+ "consent.scope.email.description": "",
4119
+ "consent.scope.address.title": "",
4120
+ "consent.scope.address.description": "",
4121
+ "consent.scope.phone.title": "",
4122
+ "consent.scope.phone.description": "",
4123
+ "error.action.go-back": "",
4124
+ "error.footer.copy": "",
4125
+ "error.footer.text": "",
4126
+ "error.title.what-can-i-do": "",
4127
+ "error.title.what-happened": "",
4128
+ "error.instructions": ""
3705
4129
  };
3706
4130
 
3707
4131
  // src/locales/index.ts
@@ -3722,6 +4146,7 @@ exports.OryCardContent = OryCardContent;
3722
4146
  exports.OryCardFooter = OryCardFooter;
3723
4147
  exports.OryCardHeader = OryCardHeader;
3724
4148
  exports.OryCardValidationMessages = OryCardValidationMessages;
4149
+ exports.OryConsentCard = OryConsentCard;
3725
4150
  exports.OryForm = OryForm;
3726
4151
  exports.OryFormGroupDivider = OryFormGroupDivider;
3727
4152
  exports.OryFormGroups = OryFormGroups;