@ory/elements-react 0.0.0-pr.6b3fe62 → 0.0.0-pr.75b46aac
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 +113 -0
- package/README.md +253 -4
- package/dist/index.d.mts +85 -48
- package/dist/index.d.ts +85 -48
- package/dist/index.js +594 -395
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +595 -398
- package/dist/index.mjs.map +1 -1
- package/dist/theme/default/index.css +12 -6
- package/dist/theme/default/index.css.map +1 -1
- package/dist/theme/default/index.js +3532 -3277
- package/dist/theme/default/index.js.map +1 -1
- package/dist/theme/default/index.mjs +3576 -3309
- package/dist/theme/default/index.mjs.map +1 -1
- package/package.json +7 -6
- package/tsconfig.json +2 -1
package/dist/index.js
CHANGED
|
@@ -50,13 +50,18 @@ var defaultNodeOrder = [
|
|
|
50
50
|
];
|
|
51
51
|
function defaultNodeSorter(a, b) {
|
|
52
52
|
var _a, _b;
|
|
53
|
+
const aIsCaptcha = a.group === "captcha";
|
|
54
|
+
const bIsCaptcha = b.group === "captcha";
|
|
55
|
+
const aIsSubmit = clientFetch.isUiNodeInputAttributes(a.attributes) && a.attributes.type === "submit";
|
|
56
|
+
const bIsSubmit = clientFetch.isUiNodeInputAttributes(b.attributes) && b.attributes.type === "submit";
|
|
57
|
+
if (aIsCaptcha && bIsSubmit) {
|
|
58
|
+
return -1;
|
|
59
|
+
}
|
|
60
|
+
if (bIsCaptcha && aIsSubmit) {
|
|
61
|
+
return 1;
|
|
62
|
+
}
|
|
53
63
|
const aGroupWeight = (_a = defaultNodeOrder.indexOf(a.group)) != null ? _a : 999;
|
|
54
64
|
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
|
-
}
|
|
60
65
|
return aGroupWeight - bGroupWeight;
|
|
61
66
|
}
|
|
62
67
|
var defaultGroupOrder = [
|
|
@@ -94,28 +99,10 @@ function OryComponentProvider({
|
|
|
94
99
|
}
|
|
95
100
|
);
|
|
96
101
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
(node) => node.group === clientFetch.UiNodeGroupEnum.IdentifierFirst && "name" in node.attributes && node.attributes.name === "identifier" && node.attributes.type === "hidden"
|
|
102
|
-
) || flow.flowType === clientFetch.FlowType.Login && flow.flow.requested_aal === "aal2";
|
|
103
|
-
}
|
|
104
|
-
function removeSsoNodes(nodes) {
|
|
105
|
-
return nodes.filter(
|
|
106
|
-
(node) => !(node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml)
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
function getFinalNodes(uniqueGroups, selectedGroup) {
|
|
110
|
-
var _a, _b, _c, _d;
|
|
111
|
-
const selectedNodes = selectedGroup ? (_a = uniqueGroups[selectedGroup]) != null ? _a : [] : [];
|
|
112
|
-
return [
|
|
113
|
-
...(_b = uniqueGroups == null ? void 0 : uniqueGroups.identifier_first) != null ? _b : [],
|
|
114
|
-
...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : [],
|
|
115
|
-
...(_d = uniqueGroups == null ? void 0 : uniqueGroups.captcha) != null ? _d : []
|
|
116
|
-
].flat().filter(
|
|
117
|
-
(node) => "type" in node.attributes && node.attributes.type === "hidden"
|
|
118
|
-
).concat(selectedNodes);
|
|
102
|
+
|
|
103
|
+
// src/theme/default/utils/form.ts
|
|
104
|
+
function isGroupImmediateSubmit(group) {
|
|
105
|
+
return group === "code";
|
|
119
106
|
}
|
|
120
107
|
function triggerToWindowCall(trigger) {
|
|
121
108
|
if (!trigger) {
|
|
@@ -192,21 +179,29 @@ function nodesToAuthMethodGroups(nodes, excludeAuthMethods = []) {
|
|
|
192
179
|
function useNodesGroups(nodes, { omit } = {}) {
|
|
193
180
|
const groupSorter = useGroupSorter();
|
|
194
181
|
const groups = react.useMemo(() => {
|
|
195
|
-
var _a;
|
|
182
|
+
var _a, _b;
|
|
196
183
|
const groups2 = {};
|
|
184
|
+
const groupRetained = {};
|
|
197
185
|
for (const node of nodes) {
|
|
186
|
+
const groupNodes = (_a = groups2[node.group]) != null ? _a : [];
|
|
187
|
+
groupNodes.push(node);
|
|
188
|
+
groups2[node.group] = groupNodes;
|
|
198
189
|
if ((omit == null ? void 0 : omit.includes("script")) && clientFetch.isUiNodeScriptAttributes(node.attributes)) {
|
|
199
190
|
continue;
|
|
200
191
|
}
|
|
201
192
|
if ((omit == null ? void 0 : omit.includes("input_hidden")) && clientFetch.isUiNodeInputAttributes(node.attributes) && node.attributes.type === "hidden") {
|
|
202
193
|
continue;
|
|
203
194
|
}
|
|
204
|
-
|
|
205
|
-
groupNodes.push(node);
|
|
206
|
-
groups2[node.group] = groupNodes;
|
|
195
|
+
groupRetained[node.group] = ((_b = groupRetained[node.group]) != null ? _b : 0) + 1;
|
|
207
196
|
}
|
|
208
|
-
|
|
209
|
-
|
|
197
|
+
const finalGroups = {};
|
|
198
|
+
for (const [group, count] of Object.entries(groupRetained)) {
|
|
199
|
+
if (count > 0) {
|
|
200
|
+
finalGroups[group] = groups2[group];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return finalGroups;
|
|
204
|
+
}, [nodes, omit]);
|
|
210
205
|
const entries = react.useMemo(
|
|
211
206
|
() => Object.entries(groups).sort(([a], [b]) => groupSorter(a, b)),
|
|
212
207
|
[groups, groupSorter]
|
|
@@ -219,6 +214,93 @@ function useNodesGroups(nodes, { omit } = {}) {
|
|
|
219
214
|
var findNode = (nodes, opt) => nodes.find((n) => {
|
|
220
215
|
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);
|
|
221
216
|
});
|
|
217
|
+
function useFunctionalNodes(nodes) {
|
|
218
|
+
return nodes.filter(
|
|
219
|
+
({ group }) => [
|
|
220
|
+
clientFetch.UiNodeGroupEnum.Default,
|
|
221
|
+
clientFetch.UiNodeGroupEnum.IdentifierFirst,
|
|
222
|
+
clientFetch.UiNodeGroupEnum.Profile,
|
|
223
|
+
clientFetch.UiNodeGroupEnum.Captcha
|
|
224
|
+
].includes(group)
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
function isUiNodeGroupEnum(method) {
|
|
228
|
+
return Object.values(clientFetch.UiNodeGroupEnum).includes(method);
|
|
229
|
+
}
|
|
230
|
+
function isSingleSignOnNode(node) {
|
|
231
|
+
return node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml;
|
|
232
|
+
}
|
|
233
|
+
function hasSingleSignOnNodes(nodes) {
|
|
234
|
+
return nodes.some(isSingleSignOnNode);
|
|
235
|
+
}
|
|
236
|
+
function withoutSingleSignOnNodes(nodes) {
|
|
237
|
+
return nodes.filter((node) => !isSingleSignOnNode(node));
|
|
238
|
+
}
|
|
239
|
+
function isNodeVisible(node) {
|
|
240
|
+
if (clientFetch.isUiNodeScriptAttributes(node.attributes)) {
|
|
241
|
+
return false;
|
|
242
|
+
} else if (clientFetch.isUiNodeInputAttributes(node.attributes)) {
|
|
243
|
+
if (node.attributes.type === "hidden") {
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
249
|
+
function useNodeGroupsWithVisibleNodes(nodes) {
|
|
250
|
+
return react.useMemo(() => {
|
|
251
|
+
var _a, _b;
|
|
252
|
+
const groups = {};
|
|
253
|
+
const groupRetained = {};
|
|
254
|
+
for (const node of nodes) {
|
|
255
|
+
const groupNodes = (_a = groups[node.group]) != null ? _a : [];
|
|
256
|
+
const groupCount = (_b = groupRetained[node.group]) != null ? _b : 0;
|
|
257
|
+
groupNodes.push(node);
|
|
258
|
+
groups[node.group] = groupNodes;
|
|
259
|
+
if (!isNodeVisible(node)) {
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
groupRetained[node.group] = groupCount + 1;
|
|
263
|
+
}
|
|
264
|
+
const finalGroups = {};
|
|
265
|
+
for (const [group, count] of Object.entries(groupRetained)) {
|
|
266
|
+
if (count > 0) {
|
|
267
|
+
finalGroups[group] = groups[group];
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return finalGroups;
|
|
271
|
+
}, [nodes]);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
// src/components/card/two-step/utils.ts
|
|
275
|
+
function isChoosingMethod(flow) {
|
|
276
|
+
return flow.flow.ui.nodes.some(
|
|
277
|
+
(node) => "name" in node.attributes && node.attributes.name === "screen" && "value" in node.attributes && node.attributes.value === "previous"
|
|
278
|
+
) || flow.flow.ui.nodes.some(
|
|
279
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.IdentifierFirst && "name" in node.attributes && node.attributes.name === "identifier" && node.attributes.type === "hidden"
|
|
280
|
+
) || flow.flowType === clientFetch.FlowType.Login && flow.flow.requested_aal === "aal2";
|
|
281
|
+
}
|
|
282
|
+
function getFinalNodes(uniqueGroups, selectedGroup) {
|
|
283
|
+
var _a, _b, _c, _d;
|
|
284
|
+
const selectedNodes = selectedGroup ? (_a = uniqueGroups[selectedGroup]) != null ? _a : [] : [];
|
|
285
|
+
return [
|
|
286
|
+
...(_b = uniqueGroups == null ? void 0 : uniqueGroups.identifier_first) != null ? _b : [],
|
|
287
|
+
...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : [],
|
|
288
|
+
...(_d = uniqueGroups == null ? void 0 : uniqueGroups.captcha) != null ? _d : []
|
|
289
|
+
].flat().filter(
|
|
290
|
+
(node) => "type" in node.attributes && node.attributes.type === "hidden"
|
|
291
|
+
).concat(selectedNodes);
|
|
292
|
+
}
|
|
293
|
+
var handleAfterFormSubmit = (dispatchFormState) => (method) => {
|
|
294
|
+
if (typeof method !== "string" || !isUiNodeGroupEnum(method)) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
if (isGroupImmediateSubmit(method)) {
|
|
298
|
+
dispatchFormState({
|
|
299
|
+
type: "action_select_method",
|
|
300
|
+
method
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
};
|
|
222
304
|
|
|
223
305
|
// src/context/form-state.ts
|
|
224
306
|
function findMethodWithMessage(nodes) {
|
|
@@ -288,6 +370,11 @@ function useFormStateReducer(flow) {
|
|
|
288
370
|
setSelectedMethod(action2.method);
|
|
289
371
|
return { current: "method_active", method: action2.method };
|
|
290
372
|
}
|
|
373
|
+
case "action_method_selector": {
|
|
374
|
+
return {
|
|
375
|
+
current: "select_method"
|
|
376
|
+
};
|
|
377
|
+
}
|
|
291
378
|
}
|
|
292
379
|
return state;
|
|
293
380
|
};
|
|
@@ -326,6 +413,110 @@ function OryFlowProvider({
|
|
|
326
413
|
}
|
|
327
414
|
);
|
|
328
415
|
}
|
|
416
|
+
|
|
417
|
+
// src/client/config.ts
|
|
418
|
+
function isProduction() {
|
|
419
|
+
var _a, _b;
|
|
420
|
+
return ["production", "prod"].indexOf(
|
|
421
|
+
(_b = (_a = process.env.VERCEL_ENV) != null ? _a : process.env.NODE_ENV) != null ? _b : ""
|
|
422
|
+
) > -1;
|
|
423
|
+
}
|
|
424
|
+
function frontendClient(sdkUrl, opts = {}) {
|
|
425
|
+
const config = new clientFetch.Configuration({
|
|
426
|
+
...opts,
|
|
427
|
+
basePath: sdkUrl,
|
|
428
|
+
credentials: "include",
|
|
429
|
+
headers: {
|
|
430
|
+
Accept: "application/json",
|
|
431
|
+
...opts.headers
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
return new clientFetch.FrontendApi(config);
|
|
435
|
+
}
|
|
436
|
+
var defaultProject = {
|
|
437
|
+
name: "Ory",
|
|
438
|
+
registration_enabled: true,
|
|
439
|
+
verification_enabled: true,
|
|
440
|
+
recovery_enabled: true,
|
|
441
|
+
recovery_ui_url: "/ui/recovery",
|
|
442
|
+
registration_ui_url: "/ui/registration",
|
|
443
|
+
verification_ui_url: "/ui/verification",
|
|
444
|
+
login_ui_url: "/ui/login",
|
|
445
|
+
settings_ui_url: "/ui/settings",
|
|
446
|
+
default_redirect_url: "/ui/welcome",
|
|
447
|
+
error_ui_url: "/ui/error",
|
|
448
|
+
default_locale: "en",
|
|
449
|
+
locale_behavior: "force_default"
|
|
450
|
+
};
|
|
451
|
+
function useOryConfiguration() {
|
|
452
|
+
const configCtx = react.useContext(OryConfigurationContext);
|
|
453
|
+
return {
|
|
454
|
+
sdk: {
|
|
455
|
+
...configCtx.sdk,
|
|
456
|
+
frontend: frontendClient(configCtx.sdk.url, configCtx.sdk.options)
|
|
457
|
+
},
|
|
458
|
+
project: {
|
|
459
|
+
...configCtx.project
|
|
460
|
+
}
|
|
461
|
+
};
|
|
462
|
+
}
|
|
463
|
+
var OryConfigurationContext = react.createContext({
|
|
464
|
+
sdk: computeSdkConfig({}),
|
|
465
|
+
project: defaultProject
|
|
466
|
+
});
|
|
467
|
+
function OryConfigurationProvider({
|
|
468
|
+
children,
|
|
469
|
+
sdk: initialConfig,
|
|
470
|
+
project
|
|
471
|
+
}) {
|
|
472
|
+
const configRef = react.useRef({
|
|
473
|
+
sdk: computeSdkConfig(initialConfig),
|
|
474
|
+
project: {
|
|
475
|
+
...defaultProject,
|
|
476
|
+
...project
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryConfigurationContext.Provider, { value: configRef.current, children });
|
|
480
|
+
}
|
|
481
|
+
function computeSdkConfig(config) {
|
|
482
|
+
if ((config == null ? void 0 : config.url) && typeof config.url === "string") {
|
|
483
|
+
console.debug("Using sdk url from config");
|
|
484
|
+
return {
|
|
485
|
+
url: config.url.replace(/\/$/, ""),
|
|
486
|
+
options: config.options || {}
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
return {
|
|
490
|
+
url: getSDKUrl(),
|
|
491
|
+
options: (config == null ? void 0 : config.options) || {}
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
function getSDKUrl() {
|
|
495
|
+
var _a;
|
|
496
|
+
if (typeof process !== "undefined" && process.versions && process.versions.node) {
|
|
497
|
+
if (isProduction()) {
|
|
498
|
+
const sdkUrl = (_a = process.env["NEXT_PUBLIC_ORY_SDK_URL"]) != null ? _a : process.env["ORY_SDK_URL"];
|
|
499
|
+
if (!sdkUrl) {
|
|
500
|
+
throw new Error(
|
|
501
|
+
"Unable to determine SDK URL. Please set NEXT_PUBLIC_ORY_SDK_URL and/or ORY_SDK_URL in production environments."
|
|
502
|
+
);
|
|
503
|
+
}
|
|
504
|
+
return sdkUrl.replace(/\/$/, "");
|
|
505
|
+
} else {
|
|
506
|
+
if (process.env["__NEXT_PRIVATE_ORIGIN"]) {
|
|
507
|
+
return process.env["__NEXT_PRIVATE_ORIGIN"].replace(/\/$/, "");
|
|
508
|
+
} else if (process.env["VERCEL_URL"]) {
|
|
509
|
+
return `https://${process.env["VERCEL_URL"]}`.replace(/\/$/, "");
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
if (typeof window !== "undefined") {
|
|
514
|
+
return window.location.origin;
|
|
515
|
+
}
|
|
516
|
+
throw new Error(
|
|
517
|
+
"Unable to determine SDK URL. Please set NEXT_PUBLIC_ORY_SDK_URL and/or ORY_SDK_URL or supply the sdk.url parameter in the Ory configuration."
|
|
518
|
+
);
|
|
519
|
+
}
|
|
329
520
|
function mergeTranslations(customTranslations) {
|
|
330
521
|
return Object.keys(customTranslations).reduce((acc, key) => {
|
|
331
522
|
acc[key] = { ...OryLocales[key], ...customTranslations[key] };
|
|
@@ -355,17 +546,18 @@ var IntlProvider = ({
|
|
|
355
546
|
function OryProvider({
|
|
356
547
|
children,
|
|
357
548
|
components: Components,
|
|
549
|
+
config,
|
|
358
550
|
...oryFlowProps
|
|
359
551
|
}) {
|
|
360
552
|
var _a, _b, _c;
|
|
361
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
553
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryConfigurationProvider, { sdk: config.sdk, project: config.project, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
362
554
|
IntlProvider,
|
|
363
555
|
{
|
|
364
|
-
locale: (_b = (_a =
|
|
365
|
-
customTranslations: (_c =
|
|
556
|
+
locale: (_b = (_a = config.intl) == null ? void 0 : _a.locale) != null ? _b : "en",
|
|
557
|
+
customTranslations: (_c = config.intl) == null ? void 0 : _c.customTranslations,
|
|
366
558
|
children: /* @__PURE__ */ jsxRuntime.jsx(OryFlowProvider, { ...oryFlowProps, children: /* @__PURE__ */ jsxRuntime.jsx(OryComponentProvider, { components: Components, children }) })
|
|
367
559
|
}
|
|
368
|
-
);
|
|
560
|
+
) });
|
|
369
561
|
}
|
|
370
562
|
function OryCardHeader() {
|
|
371
563
|
const { Card } = useComponents();
|
|
@@ -485,22 +677,6 @@ function OryCardContent({ children }) {
|
|
|
485
677
|
return /* @__PURE__ */ jsxRuntime.jsx(Card.Content, { children });
|
|
486
678
|
}
|
|
487
679
|
|
|
488
|
-
// src/theme/default/utils/form.ts
|
|
489
|
-
function isGroupImmediateSubmit(group) {
|
|
490
|
-
return group === "code";
|
|
491
|
-
}
|
|
492
|
-
function frontendClient(sdkUrl, opts = {}) {
|
|
493
|
-
const config = new clientFetch.Configuration({
|
|
494
|
-
...opts,
|
|
495
|
-
basePath: sdkUrl,
|
|
496
|
-
headers: {
|
|
497
|
-
Accept: "application/json",
|
|
498
|
-
...opts.headers
|
|
499
|
-
}
|
|
500
|
-
});
|
|
501
|
-
return new clientFetch.FrontendApi(config);
|
|
502
|
-
}
|
|
503
|
-
|
|
504
680
|
// src/util/internal.ts
|
|
505
681
|
function replaceWindowFlowId(flow) {
|
|
506
682
|
const url = new URL(window.location.href);
|
|
@@ -509,7 +685,7 @@ function replaceWindowFlowId(flow) {
|
|
|
509
685
|
}
|
|
510
686
|
|
|
511
687
|
// src/util/onSubmitLogin.ts
|
|
512
|
-
async function onSubmitLogin({
|
|
688
|
+
async function onSubmitLogin({ flow }, config, {
|
|
513
689
|
setFlowContainer,
|
|
514
690
|
body,
|
|
515
691
|
onRedirect
|
|
@@ -538,7 +714,6 @@ async function onSubmitLogin({ config, flow }, {
|
|
|
538
714
|
},
|
|
539
715
|
onValidationError: (body2) => {
|
|
540
716
|
setFlowContainer({
|
|
541
|
-
config,
|
|
542
717
|
flow: body2,
|
|
543
718
|
flowType: clientFetch.FlowType.Login
|
|
544
719
|
});
|
|
@@ -547,18 +722,12 @@ async function onSubmitLogin({ config, flow }, {
|
|
|
547
722
|
})
|
|
548
723
|
);
|
|
549
724
|
}
|
|
550
|
-
async function onSubmitRecovery({
|
|
725
|
+
async function onSubmitRecovery({ flow }, config, {
|
|
551
726
|
setFlowContainer,
|
|
552
727
|
body,
|
|
553
728
|
onRedirect
|
|
554
729
|
}) {
|
|
555
|
-
|
|
556
|
-
if (!config.sdk.url) {
|
|
557
|
-
throw new Error(
|
|
558
|
-
`Please supply your Ory Network SDK url to the Ory Elements configuration.`
|
|
559
|
-
);
|
|
560
|
-
}
|
|
561
|
-
await frontendClient(config.sdk.url, (_a = config.sdk.options) != null ? _a : {}).updateRecoveryFlowRaw({
|
|
730
|
+
await config.sdk.frontend.updateRecoveryFlowRaw({
|
|
562
731
|
flow: flow.id,
|
|
563
732
|
updateRecoveryFlowBody: body
|
|
564
733
|
}).then(async (res) => {
|
|
@@ -571,8 +740,7 @@ async function onSubmitRecovery({ config, flow }, {
|
|
|
571
740
|
}
|
|
572
741
|
setFlowContainer({
|
|
573
742
|
flow: flow2,
|
|
574
|
-
flowType: clientFetch.FlowType.Recovery
|
|
575
|
-
config
|
|
743
|
+
flowType: clientFetch.FlowType.Recovery
|
|
576
744
|
});
|
|
577
745
|
}).catch(
|
|
578
746
|
clientFetch.handleFlowError({
|
|
@@ -590,8 +758,7 @@ async function onSubmitRecovery({ config, flow }, {
|
|
|
590
758
|
} else {
|
|
591
759
|
setFlowContainer({
|
|
592
760
|
flow: body2,
|
|
593
|
-
flowType: clientFetch.FlowType.Recovery
|
|
594
|
-
config
|
|
761
|
+
flowType: clientFetch.FlowType.Recovery
|
|
595
762
|
});
|
|
596
763
|
}
|
|
597
764
|
},
|
|
@@ -612,19 +779,12 @@ function handleContinueWithRecoveryUIError(error, config, onRedirect) {
|
|
|
612
779
|
}
|
|
613
780
|
onRedirect(clientFetch.recoveryUrl(config), true);
|
|
614
781
|
}
|
|
615
|
-
async function onSubmitRegistration({
|
|
782
|
+
async function onSubmitRegistration({ flow }, config, {
|
|
616
783
|
setFlowContainer,
|
|
617
784
|
body,
|
|
618
785
|
onRedirect
|
|
619
786
|
}) {
|
|
620
|
-
|
|
621
|
-
if (!config.sdk.url) {
|
|
622
|
-
throw new Error(
|
|
623
|
-
`Please supply your Ory Network SDK url to the Ory Elements configuration.`
|
|
624
|
-
);
|
|
625
|
-
}
|
|
626
|
-
const client = frontendClient(config.sdk.url, (_a = config.sdk.options) != null ? _a : {});
|
|
627
|
-
await client.updateRegistrationFlowRaw({
|
|
787
|
+
await config.sdk.frontend.updateRegistrationFlowRaw({
|
|
628
788
|
flow: flow.id,
|
|
629
789
|
updateRegistrationFlowBody: body
|
|
630
790
|
}).then(async (res) => {
|
|
@@ -648,27 +808,19 @@ async function onSubmitRegistration({ config, flow }, {
|
|
|
648
808
|
onValidationError: (body2) => {
|
|
649
809
|
setFlowContainer({
|
|
650
810
|
flow: body2,
|
|
651
|
-
flowType: clientFetch.FlowType.Registration
|
|
652
|
-
config
|
|
811
|
+
flowType: clientFetch.FlowType.Registration
|
|
653
812
|
});
|
|
654
813
|
},
|
|
655
814
|
onRedirect
|
|
656
815
|
})
|
|
657
816
|
);
|
|
658
817
|
}
|
|
659
|
-
async function onSubmitSettings({
|
|
818
|
+
async function onSubmitSettings({ flow }, config, {
|
|
660
819
|
setFlowContainer,
|
|
661
820
|
body,
|
|
662
821
|
onRedirect
|
|
663
822
|
}) {
|
|
664
|
-
|
|
665
|
-
if (!config.sdk.url) {
|
|
666
|
-
throw new Error(
|
|
667
|
-
`Please supply your Ory Network SDK url to the Ory Elements configuration.`
|
|
668
|
-
);
|
|
669
|
-
}
|
|
670
|
-
const client = frontendClient(config.sdk.url, (_a = config.sdk.options) != null ? _a : {});
|
|
671
|
-
await client.updateSettingsFlowRaw({
|
|
823
|
+
await config.sdk.frontend.updateSettingsFlowRaw({
|
|
672
824
|
flow: flow.id,
|
|
673
825
|
updateSettingsFlowBody: body
|
|
674
826
|
}).then(async (res) => {
|
|
@@ -681,8 +833,7 @@ async function onSubmitSettings({ config, flow }, {
|
|
|
681
833
|
}
|
|
682
834
|
setFlowContainer({
|
|
683
835
|
flow: body2,
|
|
684
|
-
flowType: clientFetch.FlowType.Settings
|
|
685
|
-
config
|
|
836
|
+
flowType: clientFetch.FlowType.Settings
|
|
686
837
|
});
|
|
687
838
|
}).catch(
|
|
688
839
|
clientFetch.handleFlowError({
|
|
@@ -696,8 +847,7 @@ async function onSubmitSettings({ config, flow }, {
|
|
|
696
847
|
onValidationError: (body2) => {
|
|
697
848
|
setFlowContainer({
|
|
698
849
|
flow: body2,
|
|
699
|
-
flowType: clientFetch.FlowType.Settings
|
|
700
|
-
config
|
|
850
|
+
flowType: clientFetch.FlowType.Settings
|
|
701
851
|
});
|
|
702
852
|
},
|
|
703
853
|
onRedirect
|
|
@@ -714,25 +864,18 @@ async function onSubmitSettings({ config, flow }, {
|
|
|
714
864
|
}
|
|
715
865
|
});
|
|
716
866
|
}
|
|
717
|
-
async function onSubmitVerification({
|
|
867
|
+
async function onSubmitVerification({ flow }, config, {
|
|
718
868
|
setFlowContainer,
|
|
719
869
|
body,
|
|
720
870
|
onRedirect
|
|
721
871
|
}) {
|
|
722
|
-
|
|
723
|
-
if (!config.sdk.url) {
|
|
724
|
-
throw new Error(
|
|
725
|
-
`Please supply your Ory Network SDK URL to the Ory Elements configuration.`
|
|
726
|
-
);
|
|
727
|
-
}
|
|
728
|
-
await frontendClient(config.sdk.url, (_a = config.sdk.options) != null ? _a : {}).updateVerificationFlowRaw({
|
|
872
|
+
await config.sdk.frontend.updateVerificationFlowRaw({
|
|
729
873
|
flow: flow.id,
|
|
730
874
|
updateVerificationFlowBody: body
|
|
731
875
|
}).then(
|
|
732
876
|
async (res) => setFlowContainer({
|
|
733
877
|
flow: await res.value(),
|
|
734
|
-
flowType: clientFetch.FlowType.Verification
|
|
735
|
-
config
|
|
878
|
+
flowType: clientFetch.FlowType.Verification
|
|
736
879
|
})
|
|
737
880
|
).catch(
|
|
738
881
|
clientFetch.handleFlowError({
|
|
@@ -746,8 +889,7 @@ async function onSubmitVerification({ config, flow }, {
|
|
|
746
889
|
onValidationError: (body2) => {
|
|
747
890
|
setFlowContainer({
|
|
748
891
|
flow: body2,
|
|
749
|
-
flowType: clientFetch.FlowType.Verification
|
|
750
|
-
config
|
|
892
|
+
flowType: clientFetch.FlowType.Verification
|
|
751
893
|
});
|
|
752
894
|
},
|
|
753
895
|
onRedirect
|
|
@@ -760,6 +902,7 @@ var supportsSelectAccountPrompt = ["google", "github"];
|
|
|
760
902
|
function useOryFormSubmit(onAfterSubmit) {
|
|
761
903
|
const flowContainer = useOryFlow();
|
|
762
904
|
const methods = reactHookForm.useFormContext();
|
|
905
|
+
const config = useOryConfiguration();
|
|
763
906
|
const handleSuccess = (flow) => {
|
|
764
907
|
flowContainer.setFlowContainer(flow);
|
|
765
908
|
methods.reset(computeDefaultValues(flow.flow.ui.nodes));
|
|
@@ -776,7 +919,7 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
776
919
|
if (submitData.method === "code" && data.code) {
|
|
777
920
|
submitData.resend = "";
|
|
778
921
|
}
|
|
779
|
-
await onSubmitLogin(flowContainer, {
|
|
922
|
+
await onSubmitLogin(flowContainer, config, {
|
|
780
923
|
onRedirect,
|
|
781
924
|
setFlowContainer: handleSuccess,
|
|
782
925
|
body: submitData
|
|
@@ -790,7 +933,7 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
790
933
|
if (submitData.method === "code" && submitData.code) {
|
|
791
934
|
submitData.resend = "";
|
|
792
935
|
}
|
|
793
|
-
await onSubmitRegistration(flowContainer, {
|
|
936
|
+
await onSubmitRegistration(flowContainer, config, {
|
|
794
937
|
onRedirect,
|
|
795
938
|
setFlowContainer: handleSuccess,
|
|
796
939
|
body: submitData
|
|
@@ -798,7 +941,7 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
798
941
|
break;
|
|
799
942
|
}
|
|
800
943
|
case clientFetch.FlowType.Verification:
|
|
801
|
-
await onSubmitVerification(flowContainer, {
|
|
944
|
+
await onSubmitVerification(flowContainer, config, {
|
|
802
945
|
onRedirect,
|
|
803
946
|
setFlowContainer: handleSuccess,
|
|
804
947
|
body: data
|
|
@@ -811,7 +954,7 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
811
954
|
if (data.code) {
|
|
812
955
|
submitData.email = "";
|
|
813
956
|
}
|
|
814
|
-
await onSubmitRecovery(flowContainer, {
|
|
957
|
+
await onSubmitRecovery(flowContainer, config, {
|
|
815
958
|
onRedirect,
|
|
816
959
|
setFlowContainer: handleSuccess,
|
|
817
960
|
body: submitData
|
|
@@ -839,7 +982,7 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
839
982
|
if ("passkey_remove" in submitData) {
|
|
840
983
|
submitData.method = "passkey";
|
|
841
984
|
}
|
|
842
|
-
await onSubmitSettings(flowContainer, {
|
|
985
|
+
await onSubmitSettings(flowContainer, config, {
|
|
843
986
|
onRedirect,
|
|
844
987
|
setFlowContainer: handleSuccess,
|
|
845
988
|
body: submitData
|
|
@@ -886,6 +1029,9 @@ function OryForm({
|
|
|
886
1029
|
const onSubmit = useOryFormSubmit(onAfterSubmit);
|
|
887
1030
|
const hasMethods = flowContainer.flow.ui.nodes.some((node) => {
|
|
888
1031
|
if (clientFetch.isUiNodeInputAttributes(node.attributes)) {
|
|
1032
|
+
if (node.attributes.type === "hidden") {
|
|
1033
|
+
return false;
|
|
1034
|
+
}
|
|
889
1035
|
return node.attributes.name !== "csrf_token";
|
|
890
1036
|
} else if (clientFetch.isUiNodeAnchorAttributes(node.attributes)) {
|
|
891
1037
|
return true;
|
|
@@ -905,12 +1051,9 @@ function OryForm({
|
|
|
905
1051
|
}),
|
|
906
1052
|
type: "error"
|
|
907
1053
|
};
|
|
908
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
909
|
-
/* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: m }, m.id) }),
|
|
910
|
-
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
911
|
-
] });
|
|
1054
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": dataTestId, children: /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: m }, m.id) }) });
|
|
912
1055
|
}
|
|
913
|
-
if (flowContainer.flowType === clientFetch.FlowType.Login && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
|
|
1056
|
+
if ((flowContainer.flowType === clientFetch.FlowType.Login || flowContainer.flowType === clientFetch.FlowType.Registration) && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
|
|
914
1057
|
methods.setValue("method", "code");
|
|
915
1058
|
}
|
|
916
1059
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -964,10 +1107,7 @@ var NodeInput = ({
|
|
|
964
1107
|
const isResendNode = ((_a = node.meta.label) == null ? void 0 : _a.id) === 1070008;
|
|
965
1108
|
const isScreenSelectionNode = "name" in node.attributes && node.attributes.name === "screen";
|
|
966
1109
|
const setFormValue = () => {
|
|
967
|
-
if (isResendNode || isScreenSelectionNode || node.group === clientFetch.UiNodeGroupEnum.Oauth2Consent) {
|
|
968
|
-
return;
|
|
969
|
-
}
|
|
970
|
-
if (attrs.value !== void 0) {
|
|
1110
|
+
if (attrs.value && !(isResendNode || isScreenSelectionNode || node.group === clientFetch.UiNodeGroupEnum.Oauth2Consent)) {
|
|
971
1111
|
setValue(attrs.name, attrs.value);
|
|
972
1112
|
}
|
|
973
1113
|
};
|
|
@@ -1111,7 +1251,7 @@ function OryFormOidcButtons() {
|
|
|
1111
1251
|
if (filteredNodes.length === 0) {
|
|
1112
1252
|
return null;
|
|
1113
1253
|
}
|
|
1114
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Form.OidcRoot, { nodes: filteredNodes, children: filteredNodes.map((node
|
|
1254
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Form.OidcRoot, { nodes: filteredNodes, children: filteredNodes.map((node) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1115
1255
|
Node2.OidcButton,
|
|
1116
1256
|
{
|
|
1117
1257
|
node,
|
|
@@ -1124,7 +1264,7 @@ function OryFormOidcButtons() {
|
|
|
1124
1264
|
setValue("method", node.group);
|
|
1125
1265
|
}
|
|
1126
1266
|
},
|
|
1127
|
-
|
|
1267
|
+
clientFetch.getNodeId(node)
|
|
1128
1268
|
)) });
|
|
1129
1269
|
}
|
|
1130
1270
|
function OryFormSocialButtonsForm() {
|
|
@@ -1139,24 +1279,104 @@ function OryFormSocialButtonsForm() {
|
|
|
1139
1279
|
}
|
|
1140
1280
|
return /* @__PURE__ */ jsxRuntime.jsx(OryFormProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(OryForm, { "data-testid": `ory/form/methods/oidc-saml`, children: /* @__PURE__ */ jsxRuntime.jsx(OryFormOidcButtons, {}) }) });
|
|
1141
1281
|
}
|
|
1142
|
-
function
|
|
1143
|
-
|
|
1282
|
+
function OryTwoStepCardStateMethodActive({
|
|
1283
|
+
formState
|
|
1284
|
+
}) {
|
|
1285
|
+
const { Form } = useComponents();
|
|
1286
|
+
const { flow, flowType, dispatchFormState } = useOryFlow();
|
|
1287
|
+
const { ui } = flow;
|
|
1288
|
+
const nodeSorter = useNodeSorter();
|
|
1289
|
+
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1290
|
+
const groupsToShow = useNodeGroupsWithVisibleNodes(ui.nodes);
|
|
1291
|
+
const finalNodes = getFinalNodes(groupsToShow, formState.method);
|
|
1292
|
+
const selectedMethodIsSocial = formState.method === clientFetch.UiNodeGroupEnum.Oidc || formState.method === clientFetch.UiNodeGroupEnum.Saml;
|
|
1293
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1294
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1295
|
+
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1296
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1297
|
+
selectedMethodIsSocial && /* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1298
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1299
|
+
OryForm,
|
|
1300
|
+
{
|
|
1301
|
+
"data-testid": `ory/form/methods/local`,
|
|
1302
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1303
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1304
|
+
ui.nodes.filter(
|
|
1305
|
+
(n) => clientFetch.isUiNodeScriptAttributes(n.attributes) || n.group === clientFetch.UiNodeGroupEnum.Default || n.group === clientFetch.UiNodeGroupEnum.Profile
|
|
1306
|
+
).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)),
|
|
1307
|
+
finalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1308
|
+
] })
|
|
1309
|
+
}
|
|
1310
|
+
)
|
|
1311
|
+
] }),
|
|
1312
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1313
|
+
] });
|
|
1144
1314
|
}
|
|
1145
|
-
function
|
|
1146
|
-
var _a, _b, _c, _d;
|
|
1315
|
+
function OryTwoStepCardStateProvideIdentifier() {
|
|
1147
1316
|
const { Form, Card } = useComponents();
|
|
1148
|
-
const {
|
|
1149
|
-
const { ui } = flow;
|
|
1317
|
+
const { flowType, flow, dispatchFormState } = useOryFlow();
|
|
1150
1318
|
const nodeSorter = useNodeSorter();
|
|
1151
1319
|
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1152
|
-
const
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
const
|
|
1320
|
+
const nonSsoNodes = withoutSingleSignOnNodes(flow.ui.nodes).sort(sortNodes);
|
|
1321
|
+
const hasSso = flow.ui.nodes.filter(isNodeVisible).some(
|
|
1322
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
|
|
1323
|
+
);
|
|
1324
|
+
const showSsoDivider = hasSso && nonSsoNodes.some(isNodeVisible);
|
|
1325
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1326
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1327
|
+
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1328
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1329
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1330
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1331
|
+
OryForm,
|
|
1332
|
+
{
|
|
1333
|
+
"data-testid": `ory/form/methods/local`,
|
|
1334
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1335
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1336
|
+
showSsoDivider && /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1337
|
+
nonSsoNodes.map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1338
|
+
] })
|
|
1339
|
+
}
|
|
1340
|
+
)
|
|
1341
|
+
] }),
|
|
1342
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1343
|
+
] });
|
|
1344
|
+
}
|
|
1345
|
+
function AuthMethodList({
|
|
1346
|
+
options,
|
|
1347
|
+
setSelectedGroup
|
|
1348
|
+
}) {
|
|
1349
|
+
const { Card } = useComponents();
|
|
1350
|
+
const { setValue, getValues } = reactHookForm.useFormContext();
|
|
1351
|
+
if (Object.entries(options).length === 0) {
|
|
1352
|
+
return null;
|
|
1353
|
+
}
|
|
1354
|
+
const handleClick = (group, options2) => {
|
|
1355
|
+
var _a, _b, _c, _d;
|
|
1356
|
+
if (isGroupImmediateSubmit(group)) {
|
|
1357
|
+
if (group === "code" && !getValues("identifier") && ((_b = (_a = options2 == null ? void 0 : options2.title) == null ? void 0 : _a.values) == null ? void 0 : _b.address)) {
|
|
1358
|
+
setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
|
|
1359
|
+
}
|
|
1360
|
+
setValue("method", group);
|
|
1361
|
+
} else {
|
|
1362
|
+
setSelectedGroup(group);
|
|
1363
|
+
}
|
|
1364
|
+
};
|
|
1365
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1366
|
+
Card.AuthMethodListItem,
|
|
1367
|
+
{
|
|
1368
|
+
group,
|
|
1369
|
+
title: options2.title,
|
|
1370
|
+
onClick: () => handleClick(group, options2)
|
|
1371
|
+
},
|
|
1372
|
+
group
|
|
1373
|
+
)) });
|
|
1374
|
+
}
|
|
1375
|
+
function toAuthMethodPickerOptions(visibleGroups) {
|
|
1376
|
+
return Object.fromEntries(
|
|
1157
1377
|
Object.values(clientFetch.UiNodeGroupEnum).filter((group) => {
|
|
1158
|
-
var
|
|
1159
|
-
return (
|
|
1378
|
+
var _a;
|
|
1379
|
+
return (_a = visibleGroups[group]) == null ? void 0 : _a.length;
|
|
1160
1380
|
}).filter(
|
|
1161
1381
|
(group) => ![
|
|
1162
1382
|
clientFetch.UiNodeGroupEnum.Oidc,
|
|
@@ -1168,16 +1388,18 @@ function OryTwoStepCard() {
|
|
|
1168
1388
|
].includes(group)
|
|
1169
1389
|
).map((g) => [g, {}])
|
|
1170
1390
|
);
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
);
|
|
1391
|
+
}
|
|
1392
|
+
function OryTwoStepCardStateSelectMethod() {
|
|
1393
|
+
var _a, _b, _c, _d;
|
|
1394
|
+
const { Form, Card, Message } = useComponents();
|
|
1395
|
+
const { flow, flowType, dispatchFormState } = useOryFlow();
|
|
1396
|
+
const { ui } = flow;
|
|
1397
|
+
const intl = reactIntl.useIntl();
|
|
1398
|
+
const nodeSorter = useNodeSorter();
|
|
1399
|
+
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1400
|
+
const visibleGroups = useNodeGroupsWithVisibleNodes(ui.nodes);
|
|
1401
|
+
const authMethodBlocks = toAuthMethodPickerOptions(visibleGroups);
|
|
1402
|
+
const authMethodAdditionalNodes = useFunctionalNodes(ui.nodes);
|
|
1181
1403
|
if (clientFetch.UiNodeGroupEnum.Code in authMethodBlocks) {
|
|
1182
1404
|
let identifier = (_b = (_a = findNode(ui.nodes, {
|
|
1183
1405
|
group: "identifier_first",
|
|
@@ -1198,99 +1420,58 @@ function OryTwoStepCard() {
|
|
|
1198
1420
|
};
|
|
1199
1421
|
}
|
|
1200
1422
|
}
|
|
1201
|
-
const
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
dispatchFormState({
|
|
1209
|
-
type: "action_select_method",
|
|
1210
|
-
method
|
|
1211
|
-
});
|
|
1212
|
-
}
|
|
1423
|
+
const noMethods = {
|
|
1424
|
+
id: 5000002,
|
|
1425
|
+
text: intl.formatMessage({
|
|
1426
|
+
id: `identities.messages.5000002`,
|
|
1427
|
+
defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
|
|
1428
|
+
}),
|
|
1429
|
+
type: "error"
|
|
1213
1430
|
};
|
|
1214
|
-
const hasSso = ui.nodes.some(
|
|
1215
|
-
(node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
|
|
1216
|
-
);
|
|
1217
|
-
const showSso = !(formState.current === "method_active" && !(formState.method === clientFetch.UiNodeGroupEnum.Oidc || formState.method === clientFetch.UiNodeGroupEnum.Saml));
|
|
1218
|
-
const showSsoDivider = hasSso && nonSsoNodes.filter((n) => {
|
|
1219
|
-
if (clientFetch.isUiNodeInputAttributes(n.attributes)) {
|
|
1220
|
-
return n.attributes.type !== clientFetch.UiNodeInputAttributesTypeEnum.Hidden;
|
|
1221
|
-
} else if (clientFetch.isUiNodeScriptAttributes(n.attributes)) {
|
|
1222
|
-
return false;
|
|
1223
|
-
}
|
|
1224
|
-
return true;
|
|
1225
|
-
}).length > 0;
|
|
1226
1431
|
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1227
1432
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1228
1433
|
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1229
1434
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1230
|
-
|
|
1231
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1435
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1436
|
+
Object.entries(authMethodBlocks).length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1232
1437
|
OryForm,
|
|
1233
1438
|
{
|
|
1234
1439
|
"data-testid": `ory/form/methods/local`,
|
|
1235
|
-
onAfterSubmit: handleAfterFormSubmit,
|
|
1236
|
-
children: [
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
})
|
|
1251
|
-
}
|
|
1252
|
-
),
|
|
1253
|
-
authMethodAdditionalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1254
|
-
] }),
|
|
1255
|
-
formState.current === "method_active" && /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1256
|
-
ui.nodes.filter(
|
|
1257
|
-
(n) => clientFetch.isUiNodeScriptAttributes(n.attributes) || n.group === clientFetch.UiNodeGroupEnum.Captcha
|
|
1258
|
-
).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)),
|
|
1259
|
-
finalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1260
|
-
] }),
|
|
1261
|
-
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1262
|
-
]
|
|
1440
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1441
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1442
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1443
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1444
|
+
AuthMethodList,
|
|
1445
|
+
{
|
|
1446
|
+
options: authMethodBlocks,
|
|
1447
|
+
setSelectedGroup: (group) => dispatchFormState({
|
|
1448
|
+
type: "action_select_method",
|
|
1449
|
+
method: group
|
|
1450
|
+
})
|
|
1451
|
+
}
|
|
1452
|
+
),
|
|
1453
|
+
authMethodAdditionalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1454
|
+
] })
|
|
1263
1455
|
}
|
|
1264
|
-
)
|
|
1265
|
-
] })
|
|
1456
|
+
) : !hasSingleSignOnNodes(ui.nodes) && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": `ory/form/methods/local`, children: /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: noMethods }, noMethods.id) }) })
|
|
1457
|
+
] }),
|
|
1458
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1266
1459
|
] });
|
|
1267
1460
|
}
|
|
1268
|
-
function
|
|
1269
|
-
const {
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1461
|
+
function OryTwoStepCard() {
|
|
1462
|
+
const { formState } = useOryFlow();
|
|
1463
|
+
switch (formState.current) {
|
|
1464
|
+
case "provide_identifier":
|
|
1465
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateProvideIdentifier, {});
|
|
1466
|
+
case "select_method":
|
|
1467
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateSelectMethod, {});
|
|
1468
|
+
case "method_active":
|
|
1469
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateMethodActive, { formState });
|
|
1273
1470
|
}
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
|
|
1279
|
-
}
|
|
1280
|
-
setValue("method", group);
|
|
1281
|
-
} else {
|
|
1282
|
-
setSelectedGroup(group);
|
|
1283
|
-
}
|
|
1284
|
-
};
|
|
1285
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1286
|
-
Card.AuthMethodListItem,
|
|
1287
|
-
{
|
|
1288
|
-
group,
|
|
1289
|
-
title: options2.title,
|
|
1290
|
-
onClick: () => handleClick(group, options2)
|
|
1291
|
-
},
|
|
1292
|
-
group
|
|
1293
|
-
)) });
|
|
1471
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1472
|
+
"unknown form state: ",
|
|
1473
|
+
formState.current
|
|
1474
|
+
] });
|
|
1294
1475
|
}
|
|
1295
1476
|
function OryFormGroups({ groups }) {
|
|
1296
1477
|
const {
|
|
@@ -1300,8 +1481,8 @@ function OryFormGroups({ groups }) {
|
|
|
1300
1481
|
const { flowType } = useOryFlow();
|
|
1301
1482
|
const { Form } = useComponents();
|
|
1302
1483
|
const nodes = ui.nodes.filter((node) => groups.indexOf(node.group) > -1).sort((a, b) => nodeSorter(a, b, { flowType }));
|
|
1303
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: nodes.map((node
|
|
1304
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Node, { node },
|
|
1484
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: nodes.map((node) => {
|
|
1485
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node));
|
|
1305
1486
|
}) });
|
|
1306
1487
|
}
|
|
1307
1488
|
function OryFormSection({
|
|
@@ -1337,7 +1518,7 @@ function OryConsentCard() {
|
|
|
1337
1518
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1338
1519
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(OryForm, { children: [
|
|
1339
1520
|
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1340
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: flow.flow.ui.nodes.map((node
|
|
1521
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: flow.flow.ui.nodes.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))) }),
|
|
1341
1522
|
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1342
1523
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1343
1524
|
] }) })
|
|
@@ -1708,7 +1889,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1708
1889
|
"data-testid": "ory/screen/settings/group/totp",
|
|
1709
1890
|
children: [
|
|
1710
1891
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsTotp, { nodes: (_a = groupedNodes.groups.totp) != null ? _a : [] }),
|
|
1711
|
-
(_b = groupedNodes.groups.default) == null ? void 0 : _b.map((node
|
|
1892
|
+
(_b = groupedNodes.groups.default) == null ? void 0 : _b.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1712
1893
|
]
|
|
1713
1894
|
}
|
|
1714
1895
|
);
|
|
@@ -1726,7 +1907,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1726
1907
|
nodes: (_c = groupedNodes.groups.lookup_secret) != null ? _c : []
|
|
1727
1908
|
}
|
|
1728
1909
|
),
|
|
1729
|
-
(_d = groupedNodes.groups.default) == null ? void 0 : _d.map((node
|
|
1910
|
+
(_d = groupedNodes.groups.default) == null ? void 0 : _d.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1730
1911
|
]
|
|
1731
1912
|
}
|
|
1732
1913
|
);
|
|
@@ -1739,7 +1920,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1739
1920
|
"data-testid": "ory/screen/settings/group/oidc",
|
|
1740
1921
|
children: [
|
|
1741
1922
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsOidc, { nodes: (_e = groupedNodes.groups.oidc) != null ? _e : [] }),
|
|
1742
|
-
(_f = groupedNodes.groups.default) == null ? void 0 : _f.map((node
|
|
1923
|
+
(_f = groupedNodes.groups.default) == null ? void 0 : _f.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1743
1924
|
]
|
|
1744
1925
|
}
|
|
1745
1926
|
);
|
|
@@ -1752,7 +1933,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1752
1933
|
"data-testid": "ory/screen/settings/group/webauthn",
|
|
1753
1934
|
children: [
|
|
1754
1935
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsWebauthn, { nodes: (_g = groupedNodes.groups.webauthn) != null ? _g : [] }),
|
|
1755
|
-
(_h = groupedNodes.groups.default) == null ? void 0 : _h.map((node
|
|
1936
|
+
(_h = groupedNodes.groups.default) == null ? void 0 : _h.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1756
1937
|
]
|
|
1757
1938
|
}
|
|
1758
1939
|
);
|
|
@@ -1765,7 +1946,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1765
1946
|
"data-testid": "ory/screen/settings/group/passkey",
|
|
1766
1947
|
children: [
|
|
1767
1948
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsPasskey, { nodes: (_i = groupedNodes.groups.passkey) != null ? _i : [] }),
|
|
1768
|
-
(_j = groupedNodes.groups.default) == null ? void 0 : _j.map((node
|
|
1949
|
+
(_j = groupedNodes.groups.default) == null ? void 0 : _j.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1769
1950
|
]
|
|
1770
1951
|
}
|
|
1771
1952
|
);
|
|
@@ -1786,16 +1967,16 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1786
1967
|
id: `settings.${group}.description`
|
|
1787
1968
|
}),
|
|
1788
1969
|
children: [
|
|
1789
|
-
(_k = groupedNodes.groups.default) == null ? void 0 : _k.map((node
|
|
1970
|
+
(_k = groupedNodes.groups.default) == null ? void 0 : _k.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))),
|
|
1790
1971
|
nodes.filter(
|
|
1791
1972
|
(node) => "type" in node.attributes && node.attributes.type !== "submit"
|
|
1792
|
-
).map((node
|
|
1973
|
+
).map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1793
1974
|
]
|
|
1794
1975
|
}
|
|
1795
1976
|
),
|
|
1796
1977
|
/* @__PURE__ */ jsxRuntime.jsx(Card.SettingsSectionFooter, { children: nodes.filter(
|
|
1797
1978
|
(node) => "type" in node.attributes && node.attributes.type === "submit"
|
|
1798
|
-
).map((node
|
|
1979
|
+
).map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))) })
|
|
1799
1980
|
]
|
|
1800
1981
|
}
|
|
1801
1982
|
);
|
|
@@ -1809,7 +1990,7 @@ function OrySettingsCard() {
|
|
|
1809
1990
|
const scriptNodes = onlyScriptNodes(flow.ui.nodes);
|
|
1810
1991
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1811
1992
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1812
|
-
scriptNodes.map((n) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node: n })),
|
|
1993
|
+
scriptNodes.map((n) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node: n }, clientFetch.getNodeId(n))),
|
|
1813
1994
|
uniqueGroups.entries.map(([group, nodes]) => {
|
|
1814
1995
|
if (group === clientFetch.UiNodeGroupEnum.Default) {
|
|
1815
1996
|
return null;
|
|
@@ -2116,9 +2297,11 @@ var en_default = {
|
|
|
2116
2297
|
"card.header.parts.oidc": "a social provider",
|
|
2117
2298
|
"card.header.parts.password.registration": "your {identifierLabel} and a password",
|
|
2118
2299
|
"card.header.parts.password.login": "your {identifierLabel} and password",
|
|
2119
|
-
"card.header.parts.code": "a code sent to
|
|
2300
|
+
"card.header.parts.code": "a code sent to you",
|
|
2120
2301
|
"card.header.parts.passkey": "a Passkey",
|
|
2121
2302
|
"card.header.parts.webauthn": "a security key",
|
|
2303
|
+
"card.header.parts.totp": "your authenticator app",
|
|
2304
|
+
"card.header.parts.lookup_secret": "a backup recovery code",
|
|
2122
2305
|
"card.header.parts.identifier-first": "your {identifierLabel}",
|
|
2123
2306
|
"card.header.description.login": "Sign in with {identifierLabel}",
|
|
2124
2307
|
"card.header.description.registration": "Sign up with {identifierLabel}",
|
|
@@ -2351,28 +2534,30 @@ var de_default = {
|
|
|
2351
2534
|
"login.cancel-label": "Nicht das richtige Konto?",
|
|
2352
2535
|
"identities.messages.1010023": "Code an {address} senden",
|
|
2353
2536
|
"identities.messages.1010016": "Sie haben versucht, sich mit \u201E{duplicateIdentifier}\u201C anzumelden, aber diese E-Mail-Adresse wird bereits von einem anderen Konto verwendet. \nMelden Sie sich mit einer der folgenden Optionen bei Ihrem Konto an, um Ihr Konto \u201E{duplicateIdentifier}\u201C bei \u201E{provider}\u201C als weitere Anmeldem\xF6glichkeit hinzuzuf\xFCgen.",
|
|
2354
|
-
"identities.messages.1010017": "",
|
|
2355
|
-
"identities.messages.1010018": "",
|
|
2356
|
-
"identities.messages.1010019": "",
|
|
2537
|
+
"identities.messages.1010017": "Anmelden und verbinden",
|
|
2538
|
+
"identities.messages.1010018": "Mit {provider} best\xE4tigen",
|
|
2539
|
+
"identities.messages.1010019": "Code senden um fortzufahren",
|
|
2357
2540
|
"identities.messages.1010020": "",
|
|
2358
|
-
"identities.messages.1010021": "",
|
|
2359
|
-
"identities.messages.1010022": "",
|
|
2360
|
-
"identities.messages.1040007": "",
|
|
2361
|
-
"identities.messages.1040008": "",
|
|
2362
|
-
"identities.messages.1040009": "",
|
|
2541
|
+
"identities.messages.1010021": "Mit Paskey anmelden",
|
|
2542
|
+
"identities.messages.1010022": "Mit Passwort anmelden",
|
|
2543
|
+
"identities.messages.1040007": "Mit Passkey registrieren",
|
|
2544
|
+
"identities.messages.1040008": "Zur\xFCck",
|
|
2545
|
+
"identities.messages.1040009": "Bitte w\xE4hlen Sie eine Authentifizierungsmethode, um fortzufahren.",
|
|
2363
2546
|
"identities.messages.1050019": "Passkey hinzuf\xFCgen",
|
|
2364
|
-
"identities.messages.1050020": "",
|
|
2365
|
-
"identities.messages.4000037": "",
|
|
2366
|
-
"identities.messages.4010009": "",
|
|
2367
|
-
"identities.messages.4010010": "",
|
|
2547
|
+
"identities.messages.1050020": 'Passkey "{display_name}" entfernen',
|
|
2548
|
+
"identities.messages.4000037": "F\xFCr die eingegebenen Daten existiert kein Account",
|
|
2549
|
+
"identities.messages.4010009": "Die Authentifizierungsmethode stimmt nicht mit der vorherigen Authentifizierungsmethode \xFCberein. Bitte versuchen Sie es erneut.",
|
|
2550
|
+
"identities.messages.4010010": "Die eingegebene Adresse stimmt nicht mit der Adresse \xFCberein, die Sie bei der Registrierung angegeben haben. Bitte versuchen Sie es erneut.",
|
|
2368
2551
|
"input.placeholder": "{placeholder} eingeben",
|
|
2369
|
-
"card.header.parts.code": "
|
|
2552
|
+
"card.header.parts.code": "ein an Sie gesendeter Code",
|
|
2370
2553
|
"card.header.parts.identifier-first": "Ihr {identifierLabel}",
|
|
2371
2554
|
"card.header.parts.oidc": "ein sozialer Anbieter",
|
|
2372
2555
|
"card.header.parts.passkey": "ein Passkey",
|
|
2373
2556
|
"card.header.parts.password.login": "Ihrer {identifierLabel} und Ihrem Passwort",
|
|
2374
2557
|
"card.header.parts.password.registration": "Ihrer {identifierLabel} und einem Passwort",
|
|
2375
2558
|
"card.header.parts.webauthn": "ein Sicherheitsschl\xFCssel",
|
|
2559
|
+
"card.header.parts.totp": "deine Authentifikator-App",
|
|
2560
|
+
"card.header.parts.lookup_secret": "ein Backup-Wiederherstellungscode",
|
|
2376
2561
|
"recovery.subtitle": "Geben Sie die mit Ihrem Konto verkn\xFCpfte E-Mail-Adresse ein, um einen einmaligen Zugangscode zu erhalten",
|
|
2377
2562
|
"verification.subtitle": "Geben Sie die mit Ihrem Konto verkn\xFCpfte E-Mail-Adresse ein, um es zu best\xE4tigen",
|
|
2378
2563
|
"card.header.description.login": "Melden Sie sich mit {identifierLabel} an",
|
|
@@ -2465,7 +2650,6 @@ var es_default = {
|
|
|
2465
2650
|
"error.back-button": "Regresar",
|
|
2466
2651
|
"error.description": "Ocurri\xF3 un error con el siguiente mensaje:",
|
|
2467
2652
|
"error.support-email-link": "Si el problema persiste, por favor contacte a <a>{contactSupportEmail}</a>",
|
|
2468
|
-
"error.title": "",
|
|
2469
2653
|
"error.title-internal-server-error": "Error Interno del Servidor",
|
|
2470
2654
|
"error.title-not-found": "404 - P\xE1gina no encontrada",
|
|
2471
2655
|
"identities.messages.1010001": "Iniciar sesi\xF3n",
|
|
@@ -2640,45 +2824,6 @@ var es_default = {
|
|
|
2640
2824
|
"two-step.totp.description": "Utilice un c\xF3digo de un solo uso de 6 d\xEDgitos de su aplicaci\xF3n de autenticaci\xF3n",
|
|
2641
2825
|
"two-step.lookup_secret.title": "C\xF3digo de recuperaci\xF3n de respaldo",
|
|
2642
2826
|
"two-step.lookup_secret.description": "Utilice uno de sus c\xF3digos de respaldo de 8 d\xEDgitos para autenticarse",
|
|
2643
|
-
"identities.messages.1010016": "",
|
|
2644
|
-
"identities.messages.1010017": "",
|
|
2645
|
-
"identities.messages.1010018": "",
|
|
2646
|
-
"identities.messages.1010019": "",
|
|
2647
|
-
"identities.messages.1010020": "",
|
|
2648
|
-
"identities.messages.1010021": "",
|
|
2649
|
-
"identities.messages.1010022": "",
|
|
2650
|
-
"identities.messages.1010023": "",
|
|
2651
|
-
"identities.messages.1040007": "",
|
|
2652
|
-
"identities.messages.1040008": "",
|
|
2653
|
-
"identities.messages.1040009": "",
|
|
2654
|
-
"identities.messages.1050019": "",
|
|
2655
|
-
"identities.messages.1050020": "",
|
|
2656
|
-
"identities.messages.1070014": "",
|
|
2657
|
-
"identities.messages.1070015": "",
|
|
2658
|
-
"identities.messages.4000037": "",
|
|
2659
|
-
"identities.messages.4000038": "",
|
|
2660
|
-
"identities.messages.4010009": "",
|
|
2661
|
-
"identities.messages.4010010": "",
|
|
2662
|
-
"login.cancel-button": "",
|
|
2663
|
-
"login.cancel-label": "",
|
|
2664
|
-
"input.placeholder": "",
|
|
2665
|
-
"card.header.description.login": "",
|
|
2666
|
-
"card.header.description.registration": "",
|
|
2667
|
-
"card.header.parts.code": "",
|
|
2668
|
-
"card.header.parts.identifier-first": "",
|
|
2669
|
-
"card.header.parts.oidc": "",
|
|
2670
|
-
"card.header.parts.passkey": "",
|
|
2671
|
-
"card.header.parts.password.login": "",
|
|
2672
|
-
"card.header.parts.password.registration": "",
|
|
2673
|
-
"card.header.parts.webauthn": "",
|
|
2674
|
-
"forms.label.forgot-password": "",
|
|
2675
|
-
"login.subtitle": "",
|
|
2676
|
-
"login.subtitle-refresh": "",
|
|
2677
|
-
"misc.or": "",
|
|
2678
|
-
"recovery.subtitle": "",
|
|
2679
|
-
"registration.subtitle": "",
|
|
2680
|
-
"settings.subtitle": "",
|
|
2681
|
-
"verification.subtitle": "",
|
|
2682
2827
|
"settings.totp.info.linked": "Actualmente tienes una aplicaci\xF3n de autenticaci\xF3n conectada.",
|
|
2683
2828
|
"settings.totp.info.not-linked": "Para habilitar, escanea el c\xF3digo QR con tu autenticador e ingresa el c\xF3digo.",
|
|
2684
2829
|
"settings.totp.title": "Aplicaci\xF3n Autenticadora",
|
|
@@ -2696,25 +2841,6 @@ var es_default = {
|
|
|
2696
2841
|
"settings.profile.title": "Configuraci\xF3n de Perfil",
|
|
2697
2842
|
"settings.webauthn.description": "Administra la configuraci\xF3n de tu token de hardware",
|
|
2698
2843
|
"settings.webauthn.title": "Gestionar Tokens de Hardware",
|
|
2699
|
-
"settings.oidc.info": "",
|
|
2700
|
-
"settings.passkey.info": "",
|
|
2701
|
-
"settings.title-lookup-secret": "",
|
|
2702
|
-
"settings.title-navigation": "",
|
|
2703
|
-
"settings.title-oidc": "",
|
|
2704
|
-
"settings.title-passkey": "",
|
|
2705
|
-
"settings.title-password": "",
|
|
2706
|
-
"settings.title-profile": "",
|
|
2707
|
-
"settings.title-totp": "",
|
|
2708
|
-
"settings.title-webauthn": "",
|
|
2709
|
-
"settings.webauthn.info": "",
|
|
2710
|
-
"card.footer.select-another-method": "",
|
|
2711
|
-
"account-linking.title": "",
|
|
2712
|
-
"property.code": "",
|
|
2713
|
-
"property.email": "",
|
|
2714
|
-
"property.identifier": "",
|
|
2715
|
-
"property.password": "",
|
|
2716
|
-
"property.phone": "",
|
|
2717
|
-
"property.username": "",
|
|
2718
2844
|
"consent.title": "Autorizar {party}",
|
|
2719
2845
|
"consent.subtitle": "Una aplicaci\xF3n de terceros quiere acceder a la informaci\xF3n asociada a su cuenta {identifier}.",
|
|
2720
2846
|
"consent.scope.openid.title": "Identidad",
|
|
@@ -2729,12 +2855,73 @@ var es_default = {
|
|
|
2729
2855
|
"consent.scope.address.description": "Acceda a su direcci\xF3n postal.",
|
|
2730
2856
|
"consent.scope.phone.title": "N\xFAmero de tel\xE9fono",
|
|
2731
2857
|
"consent.scope.phone.description": "Recupere su n\xFAmero de tel\xE9fono y su estado de verificaci\xF3n.",
|
|
2732
|
-
"error.
|
|
2733
|
-
"
|
|
2734
|
-
"
|
|
2735
|
-
"
|
|
2736
|
-
"
|
|
2737
|
-
"
|
|
2858
|
+
"error.title": "Ocurri\xF3 un error",
|
|
2859
|
+
"identities.messages.1010016": 'Intentaste iniciar sesi\xF3n con "{duplicateIdentifier}", pero ese correo electr\xF3nico ya est\xE1 en uso por otra cuenta. Inicia sesi\xF3n en tu cuenta con una de las opciones a continuaci\xF3n para agregar tu cuenta "{duplicateIdentifier}" en "{provider}" como otra forma de iniciar sesi\xF3n.',
|
|
2860
|
+
"identities.messages.1010017": "Iniciar sesi\xF3n y vincular",
|
|
2861
|
+
"identities.messages.1010018": "Confirmar con {provider}",
|
|
2862
|
+
"identities.messages.1010019": "Solicitar c\xF3digo para continuar",
|
|
2863
|
+
"identities.messages.1010021": "Iniciar sesi\xF3n con clave de acceso",
|
|
2864
|
+
"identities.messages.1010022": "Iniciar sesi\xF3n con contrase\xF1a",
|
|
2865
|
+
"identities.messages.1010023": "Enviar c\xF3digo a {address}",
|
|
2866
|
+
"identities.messages.1040007": "Registrarse con clave de acceso",
|
|
2867
|
+
"identities.messages.1040008": "Atr\xE1s",
|
|
2868
|
+
"identities.messages.1040009": "Por favor, elige una credencial para autenticarte.",
|
|
2869
|
+
"identities.messages.1050019": "Agregar clave de acceso",
|
|
2870
|
+
"identities.messages.1070014": "Iniciar sesi\xF3n y vincular credencial",
|
|
2871
|
+
"identities.messages.1070015": "Por favor, completa el desaf\xEDo captcha para continuar.",
|
|
2872
|
+
"identities.messages.4000037": "Esta cuenta no existe o no tiene ning\xFAn m\xE9todo de inicio de sesi\xF3n configurado.",
|
|
2873
|
+
"identities.messages.4000038": "Fall\xF3 la verificaci\xF3n de Captcha, por favor intenta de nuevo.",
|
|
2874
|
+
"identities.messages.4010009": "Las credenciales vinculadas no coinciden.",
|
|
2875
|
+
"identities.messages.4010010": "La direcci\xF3n que ingresaste no coincide con ninguna direcci\xF3n conocida en la cuenta actual.",
|
|
2876
|
+
"login.cancel-button": "Cancelar",
|
|
2877
|
+
"login.cancel-label": "\xBFNo es la cuenta correcta?",
|
|
2878
|
+
"login.subtitle": "Iniciar sesi\xF3n con {parts}",
|
|
2879
|
+
"login.subtitle-refresh": "Confirma tu identidad con {parts}",
|
|
2880
|
+
"recovery.subtitle": "Ingresa la direcci\xF3n de correo electr\xF3nico asociada con tu cuenta para recibir un c\xF3digo de acceso \xFAnico",
|
|
2881
|
+
"registration.subtitle": "Registrarse con {parts}",
|
|
2882
|
+
"settings.subtitle": "Actualiza la configuraci\xF3n de tu cuenta",
|
|
2883
|
+
"settings.title-lookup-secret": "Administrar c\xF3digos de recuperaci\xF3n de respaldo 2FA",
|
|
2884
|
+
"settings.title-navigation": "Configuraci\xF3n de la cuenta",
|
|
2885
|
+
"settings.title-oidc": "Inicio de sesi\xF3n social",
|
|
2886
|
+
"settings.title-password": "Cambiar contrase\xF1a",
|
|
2887
|
+
"settings.title-profile": "Configuraci\xF3n del perfil",
|
|
2888
|
+
"settings.title-totp": "Administrar la aplicaci\xF3n de autenticaci\xF3n 2FA TOTP",
|
|
2889
|
+
"settings.title-webauthn": "Administrar tokens de hardware",
|
|
2890
|
+
"settings.title-passkey": "Administrar claves de acceso",
|
|
2891
|
+
"verification.subtitle": "Ingresa la direcci\xF3n de correo electr\xF3nico asociada con tu cuenta para verificarla",
|
|
2892
|
+
"input.placeholder": "Ingresa tu {placeholder}",
|
|
2893
|
+
"card.header.parts.oidc": "un proveedor social",
|
|
2894
|
+
"card.header.parts.password.registration": "tu {identifierLabel} y una contrase\xF1a",
|
|
2895
|
+
"card.header.parts.password.login": "tu {identifierLabel} y contrase\xF1a",
|
|
2896
|
+
"card.header.parts.code": "un c\xF3digo enviado a tu correo electr\xF3nico",
|
|
2897
|
+
"card.header.parts.passkey": "una clave de acceso",
|
|
2898
|
+
"card.header.parts.webauthn": "una clave de seguridad",
|
|
2899
|
+
"card.header.parts.totp": "su aplicaci\xF3n de autenticaci\xF3n",
|
|
2900
|
+
"card.header.parts.lookup_secret": "un c\xF3digo de recuperaci\xF3n de copia de seguridad",
|
|
2901
|
+
"card.header.parts.identifier-first": "tu {identifierLabel}",
|
|
2902
|
+
"card.header.description.login": "Iniciar sesi\xF3n con {identifierLabel}",
|
|
2903
|
+
"card.header.description.registration": "Registrarse con {identifierLabel}",
|
|
2904
|
+
"misc.or": "o",
|
|
2905
|
+
"forms.label.forgot-password": "\xBFOlvidaste tu contrase\xF1a?",
|
|
2906
|
+
"settings.oidc.info": "Las cuentas conectadas de estos proveedores se pueden utilizar para iniciar sesi\xF3n en tu cuenta",
|
|
2907
|
+
"settings.webauthn.info": "Los tokens de hardware se utilizan para la autenticaci\xF3n de segundo factor o como primer factor con las claves de acceso",
|
|
2908
|
+
"settings.passkey.info": "Administra la configuraci\xF3n de tus claves de acceso",
|
|
2909
|
+
"card.footer.select-another-method": "Seleccionar otro m\xE9todo",
|
|
2910
|
+
"account-linking.title": "Vincular cuenta",
|
|
2911
|
+
"property.password": "contrase\xF1a",
|
|
2912
|
+
"property.email": "correo electr\xF3nico",
|
|
2913
|
+
"property.phone": "tel\xE9fono",
|
|
2914
|
+
"property.username": "nombre de usuario",
|
|
2915
|
+
"property.identifier": "identificador",
|
|
2916
|
+
"property.code": "c\xF3digo",
|
|
2917
|
+
"error.title.what-happened": "\xBFQu\xE9 pas\xF3?",
|
|
2918
|
+
"error.title.what-can-i-do": "\xBFQu\xE9 puedo hacer?",
|
|
2919
|
+
"error.instructions": "Por favor, int\xE9ntalo de nuevo en unos minutos o contacta al operador del sitio web.",
|
|
2920
|
+
"error.footer.text": "Al informar este error, incluye la siguiente informaci\xF3n:",
|
|
2921
|
+
"error.footer.copy": "Copiar",
|
|
2922
|
+
"error.action.go-back": "Regresar",
|
|
2923
|
+
"identities.messages.1010020": "",
|
|
2924
|
+
"identities.messages.1050020": 'Eliminar passkey "{display_name}"'
|
|
2738
2925
|
};
|
|
2739
2926
|
|
|
2740
2927
|
// src/locales/fr.json
|
|
@@ -2925,81 +3112,10 @@ var fr_default = {
|
|
|
2925
3112
|
"two-step.totp.description": "Utilisez un code \xE0 usage unique \xE0 6 chiffres provenant de votre application d'authentification",
|
|
2926
3113
|
"two-step.lookup_secret.title": "Code de r\xE9cup\xE9ration de secours",
|
|
2927
3114
|
"two-step.lookup_secret.description": "Utilisez l'un de vos codes de secours \xE0 8 chiffres pour vous authentifier",
|
|
2928
|
-
"identities.messages.1010023": "",
|
|
2929
|
-
"identities.messages.1070015": "",
|
|
2930
|
-
"identities.messages.4000038": "",
|
|
2931
|
-
"login.cancel-button": "",
|
|
2932
|
-
"login.cancel-label": "",
|
|
2933
|
-
"identities.messages.1010016": "",
|
|
2934
|
-
"identities.messages.1010017": "",
|
|
2935
|
-
"identities.messages.1010018": "",
|
|
2936
|
-
"identities.messages.1010019": "",
|
|
2937
|
-
"identities.messages.1010020": "",
|
|
2938
|
-
"identities.messages.1010021": "",
|
|
2939
|
-
"identities.messages.1010022": "",
|
|
2940
|
-
"identities.messages.1040007": "",
|
|
2941
|
-
"identities.messages.1040008": "",
|
|
2942
|
-
"identities.messages.1040009": "",
|
|
2943
|
-
"identities.messages.1050019": "",
|
|
2944
|
-
"identities.messages.1050020": "",
|
|
2945
|
-
"identities.messages.1070014": "",
|
|
2946
|
-
"identities.messages.4000037": "",
|
|
2947
|
-
"identities.messages.4010009": "",
|
|
2948
|
-
"identities.messages.4010010": "",
|
|
2949
|
-
"input.placeholder": "",
|
|
2950
|
-
"card.header.description.login": "",
|
|
2951
|
-
"card.header.description.registration": "",
|
|
2952
|
-
"card.header.parts.code": "",
|
|
2953
|
-
"card.header.parts.identifier-first": "",
|
|
2954
|
-
"card.header.parts.oidc": "",
|
|
2955
|
-
"card.header.parts.passkey": "",
|
|
2956
|
-
"card.header.parts.password.login": "",
|
|
2957
|
-
"card.header.parts.password.registration": "",
|
|
2958
|
-
"card.header.parts.webauthn": "",
|
|
2959
|
-
"forms.label.forgot-password": "",
|
|
2960
|
-
"login.subtitle": "",
|
|
2961
|
-
"login.subtitle-refresh": "",
|
|
2962
|
-
"misc.or": "",
|
|
2963
|
-
"recovery.subtitle": "",
|
|
2964
|
-
"registration.subtitle": "",
|
|
2965
|
-
"settings.subtitle": "",
|
|
2966
|
-
"verification.subtitle": "",
|
|
2967
3115
|
"settings.totp.info.linked": "Vous avez actuellement une application d'authentification connect\xE9e.",
|
|
2968
3116
|
"settings.totp.info.not-linked": "Pour activer, scannez le QR code avec votre authentificateur et entrez le code.",
|
|
2969
3117
|
"settings.totp.title": "Application d'authentification",
|
|
2970
3118
|
"settings.totp.description": "Ajoutez une application d'authentification TOTP \xE0 votre compte pour am\xE9liorer la s\xE9curit\xE9 de votre compte. Les applications d'authentification populaires sont LastPass et Google Authenticator.",
|
|
2971
|
-
"settings.lookup_secret.description": "",
|
|
2972
|
-
"settings.lookup_secret.title": "",
|
|
2973
|
-
"settings.navigation.title": "",
|
|
2974
|
-
"settings.oidc.description": "",
|
|
2975
|
-
"settings.oidc.info": "",
|
|
2976
|
-
"settings.oidc.title": "",
|
|
2977
|
-
"settings.passkey.description": "",
|
|
2978
|
-
"settings.passkey.info": "",
|
|
2979
|
-
"settings.passkey.title": "",
|
|
2980
|
-
"settings.password.description": "",
|
|
2981
|
-
"settings.password.title": "",
|
|
2982
|
-
"settings.profile.description": "",
|
|
2983
|
-
"settings.profile.title": "",
|
|
2984
|
-
"settings.title-lookup-secret": "",
|
|
2985
|
-
"settings.title-navigation": "",
|
|
2986
|
-
"settings.title-oidc": "",
|
|
2987
|
-
"settings.title-passkey": "",
|
|
2988
|
-
"settings.title-password": "",
|
|
2989
|
-
"settings.title-profile": "",
|
|
2990
|
-
"settings.title-totp": "",
|
|
2991
|
-
"settings.title-webauthn": "",
|
|
2992
|
-
"settings.webauthn.description": "",
|
|
2993
|
-
"settings.webauthn.info": "",
|
|
2994
|
-
"settings.webauthn.title": "",
|
|
2995
|
-
"card.footer.select-another-method": "",
|
|
2996
|
-
"account-linking.title": "",
|
|
2997
|
-
"property.code": "",
|
|
2998
|
-
"property.email": "",
|
|
2999
|
-
"property.identifier": "",
|
|
3000
|
-
"property.password": "",
|
|
3001
|
-
"property.phone": "",
|
|
3002
|
-
"property.username": "",
|
|
3003
3119
|
"consent.title": "Autoriser {party}",
|
|
3004
3120
|
"consent.subtitle": "Une application tierce souhaite acc\xE9der aux informations associ\xE9es \xE0 votre compte {identifier}.",
|
|
3005
3121
|
"consent.scope.openid.title": "Identit\xE9",
|
|
@@ -3014,12 +3130,85 @@ var fr_default = {
|
|
|
3014
3130
|
"consent.scope.address.description": "Acc\xE8de \xE0 votre adresse postale.",
|
|
3015
3131
|
"consent.scope.phone.title": "Num\xE9ro de t\xE9l\xE9phone",
|
|
3016
3132
|
"consent.scope.phone.description": "R\xE9cup\xE8re votre num\xE9ro de t\xE9l\xE9phone et son statut de v\xE9rification.",
|
|
3017
|
-
"
|
|
3018
|
-
"
|
|
3019
|
-
"
|
|
3020
|
-
"
|
|
3021
|
-
"
|
|
3022
|
-
"
|
|
3133
|
+
"identities.messages.1010016": "Vous avez essay\xE9 de vous connecter avec \xAB {duplicateIdentifier} \xBB, mais cet e-mail est d\xE9j\xE0 utilis\xE9 par un autre compte. Connectez-vous \xE0 votre compte avec l'une des options ci-dessous pour ajouter votre compte \xAB {duplicateIdentifier} \xBB sur \xAB {provider} \xBB comme autre moyen de vous connecter.",
|
|
3134
|
+
"identities.messages.1010017": "Se connecter et lier",
|
|
3135
|
+
"identities.messages.1010018": "Confirmer avec {provider}",
|
|
3136
|
+
"identities.messages.1010019": "Demander un code pour continuer",
|
|
3137
|
+
"identities.messages.1010021": "Se connecter avec une cl\xE9 d'acc\xE8s",
|
|
3138
|
+
"identities.messages.1010022": "Se connecter avec un mot de passe",
|
|
3139
|
+
"identities.messages.1010023": "Envoyer le code \xE0 {address}",
|
|
3140
|
+
"identities.messages.1040007": "S'inscrire avec une cl\xE9 d'acc\xE8s",
|
|
3141
|
+
"identities.messages.1040008": "Retour",
|
|
3142
|
+
"identities.messages.1040009": "Veuillez choisir une identification pour vous authentifier.",
|
|
3143
|
+
"identities.messages.1050019": "Ajouter une cl\xE9 d'acc\xE8s",
|
|
3144
|
+
"identities.messages.1050020": "Supprimer la cl\xE9 d'acc\xE8s \xAB {display_name} \xBB",
|
|
3145
|
+
"identities.messages.1070014": "Se connecter et lier l'identification",
|
|
3146
|
+
"identities.messages.1070015": "Veuillez compl\xE9ter le d\xE9fi captcha pour continuer.",
|
|
3147
|
+
"identities.messages.4000037": "Ce compte n'existe pas ou n'a aucune m\xE9thode de connexion configur\xE9e.",
|
|
3148
|
+
"identities.messages.4000038": "La v\xE9rification Captcha a \xE9chou\xE9, veuillez r\xE9essayer.",
|
|
3149
|
+
"identities.messages.4010009": "Les identifications li\xE9es ne correspondent pas.",
|
|
3150
|
+
"identities.messages.4010010": "L'adresse que vous avez saisie ne correspond \xE0 aucune adresse connue dans le compte actuel.",
|
|
3151
|
+
"login.cancel-button": "Annuler",
|
|
3152
|
+
"login.cancel-label": "Ce n'est pas le bon compte\xA0?",
|
|
3153
|
+
"login.subtitle": "Se connecter avec {parts}",
|
|
3154
|
+
"login.subtitle-refresh": "Confirmez votre identit\xE9 avec {parts}",
|
|
3155
|
+
"recovery.subtitle": "Saisissez l'adresse e-mail associ\xE9e \xE0 votre compte pour recevoir un code d'acc\xE8s unique",
|
|
3156
|
+
"registration.subtitle": "S'inscrire avec {parts}",
|
|
3157
|
+
"settings.subtitle": "Mettre \xE0 jour les param\xE8tres de votre compte",
|
|
3158
|
+
"settings.title-lookup-secret": "G\xE9rer les codes de r\xE9cup\xE9ration de sauvegarde 2FA",
|
|
3159
|
+
"settings.title-navigation": "Param\xE8tres du compte",
|
|
3160
|
+
"settings.title-oidc": "Connexion via les r\xE9seaux sociaux",
|
|
3161
|
+
"settings.title-password": "Changer le mot de passe",
|
|
3162
|
+
"settings.title-profile": "Param\xE8tres du profil",
|
|
3163
|
+
"settings.title-totp": "G\xE9rer l'application d'authentification 2FA TOTP",
|
|
3164
|
+
"settings.title-webauthn": "G\xE9rer les jetons mat\xE9riels",
|
|
3165
|
+
"settings.title-passkey": "G\xE9rer les cl\xE9s d'acc\xE8s",
|
|
3166
|
+
"settings.navigation.title": "Param\xE8tres du compte",
|
|
3167
|
+
"settings.password.title": "Changer le mot de passe",
|
|
3168
|
+
"settings.password.description": "Modifier votre mot de passe",
|
|
3169
|
+
"settings.profile.title": "Param\xE8tres du profil",
|
|
3170
|
+
"settings.profile.description": "Mettre \xE0 jour les informations de votre profil",
|
|
3171
|
+
"settings.webauthn.title": "G\xE9rer les jetons mat\xE9riels",
|
|
3172
|
+
"settings.webauthn.description": "G\xE9rer les param\xE8tres de votre jeton mat\xE9riel",
|
|
3173
|
+
"verification.subtitle": "Saisissez l'adresse e-mail associ\xE9e \xE0 votre compte pour la v\xE9rifier",
|
|
3174
|
+
"input.placeholder": "Saisissez votre {placeholder}",
|
|
3175
|
+
"card.header.parts.oidc": "un fournisseur de r\xE9seaux sociaux",
|
|
3176
|
+
"card.header.parts.password.registration": "votre {identifierLabel} et un mot de passe",
|
|
3177
|
+
"card.header.parts.password.login": "votre {identifierLabel} et votre mot de passe",
|
|
3178
|
+
"card.header.parts.passkey": "une cl\xE9 d'acc\xE8s",
|
|
3179
|
+
"card.header.parts.webauthn": "une cl\xE9 de s\xE9curit\xE9",
|
|
3180
|
+
"card.header.parts.identifier-first": "votre {identifierLabel}",
|
|
3181
|
+
"card.header.parts.code": "un code qui vous a \xE9t\xE9 envoy\xE9",
|
|
3182
|
+
"card.header.parts.totp": "votre application d'authentification",
|
|
3183
|
+
"card.header.parts.lookup_secret": "un code de r\xE9cup\xE9ration de secours",
|
|
3184
|
+
"card.header.description.login": "Se connecter avec {identifierLabel}",
|
|
3185
|
+
"card.header.description.registration": "S'inscrire avec {identifierLabel}",
|
|
3186
|
+
"misc.or": "ou",
|
|
3187
|
+
"forms.label.forgot-password": "Mot de passe oubli\xE9?",
|
|
3188
|
+
"settings.lookup_secret.title": "Codes de r\xE9cup\xE9ration de sauvegarde (second facteur)",
|
|
3189
|
+
"settings.lookup_secret.description": "Les codes de r\xE9cup\xE9ration sont une sauvegarde s\xE9curis\xE9e pour l'authentification \xE0 deux facteurs (2FA), vous permettant de retrouver l'acc\xE8s \xE0 votre compte si vous perdez votre appareil 2FA.",
|
|
3190
|
+
"settings.oidc.title": "Comptes connect\xE9s",
|
|
3191
|
+
"settings.oidc.description": "Connectez un fournisseur de connexion sociale \xE0 votre compte.",
|
|
3192
|
+
"settings.oidc.info": "Les comptes connect\xE9s de ces fournisseurs peuvent \xEAtre utilis\xE9s pour vous connecter \xE0 votre compte",
|
|
3193
|
+
"settings.webauthn.info": "Les jetons mat\xE9riels sont utilis\xE9s pour l'authentification \xE0 deux facteurs ou comme premier facteur avec les cl\xE9s d'acc\xE8s",
|
|
3194
|
+
"settings.passkey.title": "G\xE9rer les cl\xE9s d'acc\xE8s",
|
|
3195
|
+
"settings.passkey.description": "G\xE9rer les param\xE8tres de vos cl\xE9s d'acc\xE8s",
|
|
3196
|
+
"settings.passkey.info": "G\xE9rer les param\xE8tres de vos cl\xE9s d'acc\xE8s",
|
|
3197
|
+
"card.footer.select-another-method": "S\xE9lectionner une autre m\xE9thode",
|
|
3198
|
+
"account-linking.title": "Lier le compte",
|
|
3199
|
+
"property.password": "mot de passe",
|
|
3200
|
+
"property.email": "e-mail",
|
|
3201
|
+
"property.phone": "t\xE9l\xE9phone",
|
|
3202
|
+
"property.username": "nom d'utilisateur",
|
|
3203
|
+
"property.identifier": "identifiant",
|
|
3204
|
+
"property.code": "code",
|
|
3205
|
+
"error.title.what-happened": "Que s'est-il pass\xE9?",
|
|
3206
|
+
"error.title.what-can-i-do": "Que puis-je faire?",
|
|
3207
|
+
"error.instructions": "Veuillez r\xE9essayer dans quelques minutes ou contacter l'op\xE9rateur du site Web.",
|
|
3208
|
+
"error.footer.text": "Lorsque vous signalez cette erreur, veuillez inclure les informations suivantes:",
|
|
3209
|
+
"error.footer.copy": "Copier",
|
|
3210
|
+
"error.action.go-back": "Retour",
|
|
3211
|
+
"identities.messages.1010020": ""
|
|
3023
3212
|
};
|
|
3024
3213
|
|
|
3025
3214
|
// src/locales/nl.json
|
|
@@ -3234,7 +3423,9 @@ var nl_default = {
|
|
|
3234
3423
|
"input.placeholder": "",
|
|
3235
3424
|
"card.header.description.login": "",
|
|
3236
3425
|
"card.header.description.registration": "",
|
|
3237
|
-
"card.header.parts.code": "",
|
|
3426
|
+
"card.header.parts.code": "een code die naar je is verzonden",
|
|
3427
|
+
"card.header.parts.totp": "je authenticator-app",
|
|
3428
|
+
"card.header.parts.lookup_secret": "een backup herstelcode",
|
|
3238
3429
|
"card.header.parts.identifier-first": "",
|
|
3239
3430
|
"card.header.parts.oidc": "",
|
|
3240
3431
|
"card.header.parts.passkey": "",
|
|
@@ -3519,13 +3710,15 @@ var pl_default = {
|
|
|
3519
3710
|
"input.placeholder": "",
|
|
3520
3711
|
"card.header.description.login": "",
|
|
3521
3712
|
"card.header.description.registration": "",
|
|
3522
|
-
"card.header.parts.code": "",
|
|
3523
3713
|
"card.header.parts.identifier-first": "",
|
|
3524
3714
|
"card.header.parts.oidc": "",
|
|
3525
3715
|
"card.header.parts.passkey": "",
|
|
3526
3716
|
"card.header.parts.password.login": "",
|
|
3527
3717
|
"card.header.parts.password.registration": "",
|
|
3528
3718
|
"card.header.parts.webauthn": "",
|
|
3719
|
+
"card.header.parts.code": "kod wys\u0142any do Ciebie",
|
|
3720
|
+
"card.header.parts.totp": "Twoja aplikacja uwierzytelniaj\u0105ca",
|
|
3721
|
+
"card.header.parts.lookup_secret": "kod odzyskiwania kopii zapasowej",
|
|
3529
3722
|
"forms.label.forgot-password": "",
|
|
3530
3723
|
"login.subtitle": "",
|
|
3531
3724
|
"login.subtitle-refresh": "",
|
|
@@ -3804,7 +3997,9 @@ var pt_default = {
|
|
|
3804
3997
|
"input.placeholder": "",
|
|
3805
3998
|
"card.header.description.login": "",
|
|
3806
3999
|
"card.header.description.registration": "",
|
|
3807
|
-
"card.header.parts.code": "",
|
|
4000
|
+
"card.header.parts.code": "um c\xF3digo enviado para voc\xEA",
|
|
4001
|
+
"card.header.parts.totp": "seu aplicativo autenticador",
|
|
4002
|
+
"card.header.parts.lookup_secret": "um c\xF3digo de recupera\xE7\xE3o de backup",
|
|
3808
4003
|
"card.header.parts.identifier-first": "",
|
|
3809
4004
|
"card.header.parts.oidc": "",
|
|
3810
4005
|
"card.header.parts.passkey": "",
|
|
@@ -4089,7 +4284,9 @@ var sv_default = {
|
|
|
4089
4284
|
"input.placeholder": "Ange din {placeholder}",
|
|
4090
4285
|
"card.header.description.login": "Logga in med {identifierLabel}",
|
|
4091
4286
|
"card.header.description.registration": "Registrera dig med {identifierLabel}",
|
|
4092
|
-
"card.header.parts.code": "en kod skickad till
|
|
4287
|
+
"card.header.parts.code": "en kod skickad till dig",
|
|
4288
|
+
"card.header.parts.totp": "din autentiseringsapp",
|
|
4289
|
+
"card.header.parts.lookup_secret": "en s\xE4kerhetskopieringskod",
|
|
4093
4290
|
"card.header.parts.identifier-first": "din {identifierLabel}",
|
|
4094
4291
|
"card.header.parts.oidc": "en social leverant\xF6r",
|
|
4095
4292
|
"card.header.parts.passkey": "en Passkey",
|
|
@@ -4180,6 +4377,7 @@ exports.OryCardContent = OryCardContent;
|
|
|
4180
4377
|
exports.OryCardFooter = OryCardFooter;
|
|
4181
4378
|
exports.OryCardHeader = OryCardHeader;
|
|
4182
4379
|
exports.OryCardValidationMessages = OryCardValidationMessages;
|
|
4380
|
+
exports.OryConfigurationProvider = OryConfigurationProvider;
|
|
4183
4381
|
exports.OryConsentCard = OryConsentCard;
|
|
4184
4382
|
exports.OryForm = OryForm;
|
|
4185
4383
|
exports.OryFormGroupDivider = OryFormGroupDivider;
|
|
@@ -4195,6 +4393,7 @@ exports.messageTestId = messageTestId;
|
|
|
4195
4393
|
exports.uiTextToFormattedMessage = uiTextToFormattedMessage;
|
|
4196
4394
|
exports.useComponents = useComponents;
|
|
4197
4395
|
exports.useNodeSorter = useNodeSorter;
|
|
4396
|
+
exports.useOryConfiguration = useOryConfiguration;
|
|
4198
4397
|
exports.useOryFlow = useOryFlow;
|
|
4199
4398
|
//# sourceMappingURL=index.js.map
|
|
4200
4399
|
//# sourceMappingURL=index.js.map
|