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