@ory/elements-react 0.0.0-pr.7af5f16 → 0.0.0-pr.7dfcd715
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 +74 -0
- package/README.md +253 -4
- package/dist/index.d.mts +58 -25
- package/dist/index.d.ts +58 -25
- package/dist/index.js +443 -319
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +444 -320
- 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 +3366 -3202
- package/dist/theme/default/index.js.map +1 -1
- package/dist/theme/default/index.mjs +3409 -3242
- package/dist/theme/default/index.mjs.map +1 -1
- package/package.json +6 -5
- 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) {
|
|
@@ -227,6 +214,93 @@ function useNodesGroups(nodes, { omit } = {}) {
|
|
|
227
214
|
var findNode = (nodes, opt) => nodes.find((n) => {
|
|
228
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);
|
|
229
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
|
+
};
|
|
230
304
|
|
|
231
305
|
// src/context/form-state.ts
|
|
232
306
|
function findMethodWithMessage(nodes) {
|
|
@@ -492,15 +566,11 @@ function OryCardContent({ children }) {
|
|
|
492
566
|
const { Card } = useComponents();
|
|
493
567
|
return /* @__PURE__ */ jsxRuntime.jsx(Card.Content, { children });
|
|
494
568
|
}
|
|
495
|
-
|
|
496
|
-
// src/theme/default/utils/form.ts
|
|
497
|
-
function isGroupImmediateSubmit(group) {
|
|
498
|
-
return group === "code";
|
|
499
|
-
}
|
|
500
569
|
function frontendClient(sdkUrl, opts = {}) {
|
|
501
570
|
const config = new clientFetch.Configuration({
|
|
502
571
|
...opts,
|
|
503
572
|
basePath: sdkUrl,
|
|
573
|
+
credentials: "include",
|
|
504
574
|
headers: {
|
|
505
575
|
Accept: "application/json",
|
|
506
576
|
...opts.headers
|
|
@@ -894,6 +964,9 @@ function OryForm({
|
|
|
894
964
|
const onSubmit = useOryFormSubmit(onAfterSubmit);
|
|
895
965
|
const hasMethods = flowContainer.flow.ui.nodes.some((node) => {
|
|
896
966
|
if (clientFetch.isUiNodeInputAttributes(node.attributes)) {
|
|
967
|
+
if (node.attributes.type === "hidden") {
|
|
968
|
+
return false;
|
|
969
|
+
}
|
|
897
970
|
return node.attributes.name !== "csrf_token";
|
|
898
971
|
} else if (clientFetch.isUiNodeAnchorAttributes(node.attributes)) {
|
|
899
972
|
return true;
|
|
@@ -913,12 +986,9 @@ function OryForm({
|
|
|
913
986
|
}),
|
|
914
987
|
type: "error"
|
|
915
988
|
};
|
|
916
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
917
|
-
/* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: m }, m.id) }),
|
|
918
|
-
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
919
|
-
] });
|
|
989
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": dataTestId, children: /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: m }, m.id) }) });
|
|
920
990
|
}
|
|
921
|
-
if (flowContainer.flowType === clientFetch.FlowType.Login && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
|
|
991
|
+
if ((flowContainer.flowType === clientFetch.FlowType.Login || flowContainer.flowType === clientFetch.FlowType.Registration) && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
|
|
922
992
|
methods.setValue("method", "code");
|
|
923
993
|
}
|
|
924
994
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -972,10 +1042,7 @@ var NodeInput = ({
|
|
|
972
1042
|
const isResendNode = ((_a = node.meta.label) == null ? void 0 : _a.id) === 1070008;
|
|
973
1043
|
const isScreenSelectionNode = "name" in node.attributes && node.attributes.name === "screen";
|
|
974
1044
|
const setFormValue = () => {
|
|
975
|
-
if (isResendNode || isScreenSelectionNode || node.group === clientFetch.UiNodeGroupEnum.Oauth2Consent) {
|
|
976
|
-
return;
|
|
977
|
-
}
|
|
978
|
-
if (attrs.value !== void 0) {
|
|
1045
|
+
if (attrs.value && !(isResendNode || isScreenSelectionNode || node.group === clientFetch.UiNodeGroupEnum.Oauth2Consent)) {
|
|
979
1046
|
setValue(attrs.name, attrs.value);
|
|
980
1047
|
}
|
|
981
1048
|
};
|
|
@@ -1119,7 +1186,7 @@ function OryFormOidcButtons() {
|
|
|
1119
1186
|
if (filteredNodes.length === 0) {
|
|
1120
1187
|
return null;
|
|
1121
1188
|
}
|
|
1122
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Form.OidcRoot, { nodes: filteredNodes, children: filteredNodes.map((node
|
|
1189
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Form.OidcRoot, { nodes: filteredNodes, children: filteredNodes.map((node) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1123
1190
|
Node2.OidcButton,
|
|
1124
1191
|
{
|
|
1125
1192
|
node,
|
|
@@ -1132,7 +1199,7 @@ function OryFormOidcButtons() {
|
|
|
1132
1199
|
setValue("method", node.group);
|
|
1133
1200
|
}
|
|
1134
1201
|
},
|
|
1135
|
-
|
|
1202
|
+
clientFetch.getNodeId(node)
|
|
1136
1203
|
)) });
|
|
1137
1204
|
}
|
|
1138
1205
|
function OryFormSocialButtonsForm() {
|
|
@@ -1147,24 +1214,104 @@ function OryFormSocialButtonsForm() {
|
|
|
1147
1214
|
}
|
|
1148
1215
|
return /* @__PURE__ */ jsxRuntime.jsx(OryFormProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(OryForm, { "data-testid": `ory/form/methods/oidc-saml`, children: /* @__PURE__ */ jsxRuntime.jsx(OryFormOidcButtons, {}) }) });
|
|
1149
1216
|
}
|
|
1150
|
-
function
|
|
1151
|
-
|
|
1217
|
+
function OryTwoStepCardStateMethodActive({
|
|
1218
|
+
formState
|
|
1219
|
+
}) {
|
|
1220
|
+
const { Form } = useComponents();
|
|
1221
|
+
const { flow, flowType, dispatchFormState } = useOryFlow();
|
|
1222
|
+
const { ui } = flow;
|
|
1223
|
+
const nodeSorter = useNodeSorter();
|
|
1224
|
+
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1225
|
+
const groupsToShow = useNodeGroupsWithVisibleNodes(ui.nodes);
|
|
1226
|
+
const finalNodes = getFinalNodes(groupsToShow, formState.method);
|
|
1227
|
+
const selectedMethodIsSocial = formState.method === clientFetch.UiNodeGroupEnum.Oidc || formState.method === clientFetch.UiNodeGroupEnum.Saml;
|
|
1228
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1229
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1230
|
+
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1231
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1232
|
+
selectedMethodIsSocial && /* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1233
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1234
|
+
OryForm,
|
|
1235
|
+
{
|
|
1236
|
+
"data-testid": `ory/form/methods/local`,
|
|
1237
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1238
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1239
|
+
ui.nodes.filter(
|
|
1240
|
+
(n) => clientFetch.isUiNodeScriptAttributes(n.attributes) || n.group === clientFetch.UiNodeGroupEnum.Default || n.group === clientFetch.UiNodeGroupEnum.Profile
|
|
1241
|
+
).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)),
|
|
1242
|
+
finalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1243
|
+
] })
|
|
1244
|
+
}
|
|
1245
|
+
)
|
|
1246
|
+
] }),
|
|
1247
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1248
|
+
] });
|
|
1152
1249
|
}
|
|
1153
|
-
function
|
|
1154
|
-
var _a, _b, _c, _d;
|
|
1250
|
+
function OryTwoStepCardStateProvideIdentifier() {
|
|
1155
1251
|
const { Form, Card } = useComponents();
|
|
1156
|
-
const {
|
|
1157
|
-
const { ui } = flow;
|
|
1252
|
+
const { flowType, flow, dispatchFormState } = useOryFlow();
|
|
1158
1253
|
const nodeSorter = useNodeSorter();
|
|
1159
1254
|
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1160
|
-
const
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
const
|
|
1255
|
+
const nonSsoNodes = withoutSingleSignOnNodes(flow.ui.nodes).sort(sortNodes);
|
|
1256
|
+
const hasSso = flow.ui.nodes.filter(isNodeVisible).some(
|
|
1257
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
|
|
1258
|
+
);
|
|
1259
|
+
const showSsoDivider = hasSso && nonSsoNodes.some(isNodeVisible);
|
|
1260
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1261
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1262
|
+
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1263
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1264
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1265
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1266
|
+
OryForm,
|
|
1267
|
+
{
|
|
1268
|
+
"data-testid": `ory/form/methods/local`,
|
|
1269
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1270
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1271
|
+
showSsoDivider && /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1272
|
+
nonSsoNodes.map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1273
|
+
] })
|
|
1274
|
+
}
|
|
1275
|
+
)
|
|
1276
|
+
] }),
|
|
1277
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1278
|
+
] });
|
|
1279
|
+
}
|
|
1280
|
+
function AuthMethodList({
|
|
1281
|
+
options,
|
|
1282
|
+
setSelectedGroup
|
|
1283
|
+
}) {
|
|
1284
|
+
const { Card } = useComponents();
|
|
1285
|
+
const { setValue, getValues } = reactHookForm.useFormContext();
|
|
1286
|
+
if (Object.entries(options).length === 0) {
|
|
1287
|
+
return null;
|
|
1288
|
+
}
|
|
1289
|
+
const handleClick = (group, options2) => {
|
|
1290
|
+
var _a, _b, _c, _d;
|
|
1291
|
+
if (isGroupImmediateSubmit(group)) {
|
|
1292
|
+
if (group === "code" && !getValues("identifier") && ((_b = (_a = options2 == null ? void 0 : options2.title) == null ? void 0 : _a.values) == null ? void 0 : _b.address)) {
|
|
1293
|
+
setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
|
|
1294
|
+
}
|
|
1295
|
+
setValue("method", group);
|
|
1296
|
+
} else {
|
|
1297
|
+
setSelectedGroup(group);
|
|
1298
|
+
}
|
|
1299
|
+
};
|
|
1300
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1301
|
+
Card.AuthMethodListItem,
|
|
1302
|
+
{
|
|
1303
|
+
group,
|
|
1304
|
+
title: options2.title,
|
|
1305
|
+
onClick: () => handleClick(group, options2)
|
|
1306
|
+
},
|
|
1307
|
+
group
|
|
1308
|
+
)) });
|
|
1309
|
+
}
|
|
1310
|
+
function toAuthMethodPickerOptions(visibleGroups) {
|
|
1311
|
+
return Object.fromEntries(
|
|
1165
1312
|
Object.values(clientFetch.UiNodeGroupEnum).filter((group) => {
|
|
1166
|
-
var
|
|
1167
|
-
return (
|
|
1313
|
+
var _a;
|
|
1314
|
+
return (_a = visibleGroups[group]) == null ? void 0 : _a.length;
|
|
1168
1315
|
}).filter(
|
|
1169
1316
|
(group) => ![
|
|
1170
1317
|
clientFetch.UiNodeGroupEnum.Oidc,
|
|
@@ -1176,16 +1323,18 @@ function OryTwoStepCard() {
|
|
|
1176
1323
|
].includes(group)
|
|
1177
1324
|
).map((g) => [g, {}])
|
|
1178
1325
|
);
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
);
|
|
1326
|
+
}
|
|
1327
|
+
function OryTwoStepCardStateSelectMethod() {
|
|
1328
|
+
var _a, _b, _c, _d;
|
|
1329
|
+
const { Form, Card, Message } = useComponents();
|
|
1330
|
+
const { flow, flowType, dispatchFormState } = useOryFlow();
|
|
1331
|
+
const { ui } = flow;
|
|
1332
|
+
const intl = reactIntl.useIntl();
|
|
1333
|
+
const nodeSorter = useNodeSorter();
|
|
1334
|
+
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1335
|
+
const visibleGroups = useNodeGroupsWithVisibleNodes(ui.nodes);
|
|
1336
|
+
const authMethodBlocks = toAuthMethodPickerOptions(visibleGroups);
|
|
1337
|
+
const authMethodAdditionalNodes = useFunctionalNodes(ui.nodes);
|
|
1189
1338
|
if (clientFetch.UiNodeGroupEnum.Code in authMethodBlocks) {
|
|
1190
1339
|
let identifier = (_b = (_a = findNode(ui.nodes, {
|
|
1191
1340
|
group: "identifier_first",
|
|
@@ -1206,99 +1355,58 @@ function OryTwoStepCard() {
|
|
|
1206
1355
|
};
|
|
1207
1356
|
}
|
|
1208
1357
|
}
|
|
1209
|
-
const
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
}
|
|
1215
|
-
|
|
1216
|
-
dispatchFormState({
|
|
1217
|
-
type: "action_select_method",
|
|
1218
|
-
method
|
|
1219
|
-
});
|
|
1220
|
-
}
|
|
1358
|
+
const noMethods = {
|
|
1359
|
+
id: 5000002,
|
|
1360
|
+
text: intl.formatMessage({
|
|
1361
|
+
id: `identities.messages.5000002`,
|
|
1362
|
+
defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
|
|
1363
|
+
}),
|
|
1364
|
+
type: "error"
|
|
1221
1365
|
};
|
|
1222
|
-
const hasSso = ui.nodes.some(
|
|
1223
|
-
(node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
|
|
1224
|
-
);
|
|
1225
|
-
const showSso = !(formState.current === "method_active" && !(formState.method === clientFetch.UiNodeGroupEnum.Oidc || formState.method === clientFetch.UiNodeGroupEnum.Saml));
|
|
1226
|
-
const showSsoDivider = hasSso && nonSsoNodes.filter((n) => {
|
|
1227
|
-
if (clientFetch.isUiNodeInputAttributes(n.attributes)) {
|
|
1228
|
-
return n.attributes.type !== clientFetch.UiNodeInputAttributesTypeEnum.Hidden;
|
|
1229
|
-
} else if (clientFetch.isUiNodeScriptAttributes(n.attributes)) {
|
|
1230
|
-
return false;
|
|
1231
|
-
}
|
|
1232
|
-
return true;
|
|
1233
|
-
}).length > 0;
|
|
1234
1366
|
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1235
1367
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1236
1368
|
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1237
1369
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1238
|
-
|
|
1239
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1370
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1371
|
+
Object.entries(authMethodBlocks).length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1240
1372
|
OryForm,
|
|
1241
1373
|
{
|
|
1242
1374
|
"data-testid": `ory/form/methods/local`,
|
|
1243
|
-
onAfterSubmit: handleAfterFormSubmit,
|
|
1244
|
-
children: [
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
})
|
|
1259
|
-
}
|
|
1260
|
-
),
|
|
1261
|
-
authMethodAdditionalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1262
|
-
] }),
|
|
1263
|
-
formState.current === "method_active" && finalNodes.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1264
|
-
ui.nodes.filter(
|
|
1265
|
-
(n) => clientFetch.isUiNodeScriptAttributes(n.attributes) || n.group === clientFetch.UiNodeGroupEnum.Captcha || n.group === clientFetch.UiNodeGroupEnum.Default || n.group === clientFetch.UiNodeGroupEnum.Profile
|
|
1266
|
-
).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)),
|
|
1267
|
-
finalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1268
|
-
] }),
|
|
1269
|
-
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1270
|
-
]
|
|
1375
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1376
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1377
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1378
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1379
|
+
AuthMethodList,
|
|
1380
|
+
{
|
|
1381
|
+
options: authMethodBlocks,
|
|
1382
|
+
setSelectedGroup: (group) => dispatchFormState({
|
|
1383
|
+
type: "action_select_method",
|
|
1384
|
+
method: group
|
|
1385
|
+
})
|
|
1386
|
+
}
|
|
1387
|
+
),
|
|
1388
|
+
authMethodAdditionalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1389
|
+
] })
|
|
1271
1390
|
}
|
|
1272
|
-
)
|
|
1273
|
-
] })
|
|
1391
|
+
) : !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) }) })
|
|
1392
|
+
] }),
|
|
1393
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1274
1394
|
] });
|
|
1275
1395
|
}
|
|
1276
|
-
function
|
|
1277
|
-
const {
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1396
|
+
function OryTwoStepCard() {
|
|
1397
|
+
const { formState } = useOryFlow();
|
|
1398
|
+
switch (formState.current) {
|
|
1399
|
+
case "provide_identifier":
|
|
1400
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateProvideIdentifier, {});
|
|
1401
|
+
case "select_method":
|
|
1402
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateSelectMethod, {});
|
|
1403
|
+
case "method_active":
|
|
1404
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateMethodActive, { formState });
|
|
1281
1405
|
}
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
|
|
1287
|
-
}
|
|
1288
|
-
setValue("method", group);
|
|
1289
|
-
} else {
|
|
1290
|
-
setSelectedGroup(group);
|
|
1291
|
-
}
|
|
1292
|
-
};
|
|
1293
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1294
|
-
Card.AuthMethodListItem,
|
|
1295
|
-
{
|
|
1296
|
-
group,
|
|
1297
|
-
title: options2.title,
|
|
1298
|
-
onClick: () => handleClick(group, options2)
|
|
1299
|
-
},
|
|
1300
|
-
group
|
|
1301
|
-
)) });
|
|
1406
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1407
|
+
"unknown form state: ",
|
|
1408
|
+
formState.current
|
|
1409
|
+
] });
|
|
1302
1410
|
}
|
|
1303
1411
|
function OryFormGroups({ groups }) {
|
|
1304
1412
|
const {
|
|
@@ -1308,8 +1416,8 @@ function OryFormGroups({ groups }) {
|
|
|
1308
1416
|
const { flowType } = useOryFlow();
|
|
1309
1417
|
const { Form } = useComponents();
|
|
1310
1418
|
const nodes = ui.nodes.filter((node) => groups.indexOf(node.group) > -1).sort((a, b) => nodeSorter(a, b, { flowType }));
|
|
1311
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: nodes.map((node
|
|
1312
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Node, { node },
|
|
1419
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: nodes.map((node) => {
|
|
1420
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node));
|
|
1313
1421
|
}) });
|
|
1314
1422
|
}
|
|
1315
1423
|
function OryFormSection({
|
|
@@ -1345,7 +1453,7 @@ function OryConsentCard() {
|
|
|
1345
1453
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1346
1454
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(OryForm, { children: [
|
|
1347
1455
|
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1348
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: flow.flow.ui.nodes.map((node
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: flow.flow.ui.nodes.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))) }),
|
|
1349
1457
|
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1350
1458
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1351
1459
|
] }) })
|
|
@@ -1716,7 +1824,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1716
1824
|
"data-testid": "ory/screen/settings/group/totp",
|
|
1717
1825
|
children: [
|
|
1718
1826
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsTotp, { nodes: (_a = groupedNodes.groups.totp) != null ? _a : [] }),
|
|
1719
|
-
(_b = groupedNodes.groups.default) == null ? void 0 : _b.map((node
|
|
1827
|
+
(_b = groupedNodes.groups.default) == null ? void 0 : _b.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1720
1828
|
]
|
|
1721
1829
|
}
|
|
1722
1830
|
);
|
|
@@ -1734,7 +1842,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1734
1842
|
nodes: (_c = groupedNodes.groups.lookup_secret) != null ? _c : []
|
|
1735
1843
|
}
|
|
1736
1844
|
),
|
|
1737
|
-
(_d = groupedNodes.groups.default) == null ? void 0 : _d.map((node
|
|
1845
|
+
(_d = groupedNodes.groups.default) == null ? void 0 : _d.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1738
1846
|
]
|
|
1739
1847
|
}
|
|
1740
1848
|
);
|
|
@@ -1747,7 +1855,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1747
1855
|
"data-testid": "ory/screen/settings/group/oidc",
|
|
1748
1856
|
children: [
|
|
1749
1857
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsOidc, { nodes: (_e = groupedNodes.groups.oidc) != null ? _e : [] }),
|
|
1750
|
-
(_f = groupedNodes.groups.default) == null ? void 0 : _f.map((node
|
|
1858
|
+
(_f = groupedNodes.groups.default) == null ? void 0 : _f.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1751
1859
|
]
|
|
1752
1860
|
}
|
|
1753
1861
|
);
|
|
@@ -1760,7 +1868,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1760
1868
|
"data-testid": "ory/screen/settings/group/webauthn",
|
|
1761
1869
|
children: [
|
|
1762
1870
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsWebauthn, { nodes: (_g = groupedNodes.groups.webauthn) != null ? _g : [] }),
|
|
1763
|
-
(_h = groupedNodes.groups.default) == null ? void 0 : _h.map((node
|
|
1871
|
+
(_h = groupedNodes.groups.default) == null ? void 0 : _h.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1764
1872
|
]
|
|
1765
1873
|
}
|
|
1766
1874
|
);
|
|
@@ -1773,7 +1881,7 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1773
1881
|
"data-testid": "ory/screen/settings/group/passkey",
|
|
1774
1882
|
children: [
|
|
1775
1883
|
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsPasskey, { nodes: (_i = groupedNodes.groups.passkey) != null ? _i : [] }),
|
|
1776
|
-
(_j = groupedNodes.groups.default) == null ? void 0 : _j.map((node
|
|
1884
|
+
(_j = groupedNodes.groups.default) == null ? void 0 : _j.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1777
1885
|
]
|
|
1778
1886
|
}
|
|
1779
1887
|
);
|
|
@@ -1794,16 +1902,16 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1794
1902
|
id: `settings.${group}.description`
|
|
1795
1903
|
}),
|
|
1796
1904
|
children: [
|
|
1797
|
-
(_k = groupedNodes.groups.default) == null ? void 0 : _k.map((node
|
|
1905
|
+
(_k = groupedNodes.groups.default) == null ? void 0 : _k.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))),
|
|
1798
1906
|
nodes.filter(
|
|
1799
1907
|
(node) => "type" in node.attributes && node.attributes.type !== "submit"
|
|
1800
|
-
).map((node
|
|
1908
|
+
).map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1801
1909
|
]
|
|
1802
1910
|
}
|
|
1803
1911
|
),
|
|
1804
1912
|
/* @__PURE__ */ jsxRuntime.jsx(Card.SettingsSectionFooter, { children: nodes.filter(
|
|
1805
1913
|
(node) => "type" in node.attributes && node.attributes.type === "submit"
|
|
1806
|
-
).map((node
|
|
1914
|
+
).map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))) })
|
|
1807
1915
|
]
|
|
1808
1916
|
}
|
|
1809
1917
|
);
|
|
@@ -1817,7 +1925,7 @@ function OrySettingsCard() {
|
|
|
1817
1925
|
const scriptNodes = onlyScriptNodes(flow.ui.nodes);
|
|
1818
1926
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1819
1927
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1820
|
-
scriptNodes.map((n) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node: n })),
|
|
1928
|
+
scriptNodes.map((n) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node: n }, clientFetch.getNodeId(n))),
|
|
1821
1929
|
uniqueGroups.entries.map(([group, nodes]) => {
|
|
1822
1930
|
if (group === clientFetch.UiNodeGroupEnum.Default) {
|
|
1823
1931
|
return null;
|
|
@@ -2124,9 +2232,11 @@ var en_default = {
|
|
|
2124
2232
|
"card.header.parts.oidc": "a social provider",
|
|
2125
2233
|
"card.header.parts.password.registration": "your {identifierLabel} and a password",
|
|
2126
2234
|
"card.header.parts.password.login": "your {identifierLabel} and password",
|
|
2127
|
-
"card.header.parts.code": "a code sent to
|
|
2235
|
+
"card.header.parts.code": "a code sent to you",
|
|
2128
2236
|
"card.header.parts.passkey": "a Passkey",
|
|
2129
2237
|
"card.header.parts.webauthn": "a security key",
|
|
2238
|
+
"card.header.parts.totp": "your authenticator app",
|
|
2239
|
+
"card.header.parts.lookup_secret": "a backup recovery code",
|
|
2130
2240
|
"card.header.parts.identifier-first": "your {identifierLabel}",
|
|
2131
2241
|
"card.header.description.login": "Sign in with {identifierLabel}",
|
|
2132
2242
|
"card.header.description.registration": "Sign up with {identifierLabel}",
|
|
@@ -2359,28 +2469,30 @@ var de_default = {
|
|
|
2359
2469
|
"login.cancel-label": "Nicht das richtige Konto?",
|
|
2360
2470
|
"identities.messages.1010023": "Code an {address} senden",
|
|
2361
2471
|
"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.",
|
|
2362
|
-
"identities.messages.1010017": "",
|
|
2363
|
-
"identities.messages.1010018": "",
|
|
2364
|
-
"identities.messages.1010019": "",
|
|
2472
|
+
"identities.messages.1010017": "Anmelden und verbinden",
|
|
2473
|
+
"identities.messages.1010018": "Mit {provider} best\xE4tigen",
|
|
2474
|
+
"identities.messages.1010019": "Code senden um fortzufahren",
|
|
2365
2475
|
"identities.messages.1010020": "",
|
|
2366
|
-
"identities.messages.1010021": "",
|
|
2367
|
-
"identities.messages.1010022": "",
|
|
2368
|
-
"identities.messages.1040007": "",
|
|
2369
|
-
"identities.messages.1040008": "",
|
|
2370
|
-
"identities.messages.1040009": "",
|
|
2476
|
+
"identities.messages.1010021": "Mit Paskey anmelden",
|
|
2477
|
+
"identities.messages.1010022": "Mit Passwort anmelden",
|
|
2478
|
+
"identities.messages.1040007": "Mit Passkey registrieren",
|
|
2479
|
+
"identities.messages.1040008": "Zur\xFCck",
|
|
2480
|
+
"identities.messages.1040009": "Bitte w\xE4hlen Sie eine Authentifizierungsmethode, um fortzufahren.",
|
|
2371
2481
|
"identities.messages.1050019": "Passkey hinzuf\xFCgen",
|
|
2372
|
-
"identities.messages.1050020": "",
|
|
2373
|
-
"identities.messages.4000037": "",
|
|
2374
|
-
"identities.messages.4010009": "",
|
|
2375
|
-
"identities.messages.4010010": "",
|
|
2482
|
+
"identities.messages.1050020": 'Passkey "{display_name}" entfernen',
|
|
2483
|
+
"identities.messages.4000037": "F\xFCr die eingegebenen Daten existiert kein Account",
|
|
2484
|
+
"identities.messages.4010009": "Die Authentifizierungsmethode stimmt nicht mit der vorherigen Authentifizierungsmethode \xFCberein. Bitte versuchen Sie es erneut.",
|
|
2485
|
+
"identities.messages.4010010": "Die eingegebene Adresse stimmt nicht mit der Adresse \xFCberein, die Sie bei der Registrierung angegeben haben. Bitte versuchen Sie es erneut.",
|
|
2376
2486
|
"input.placeholder": "{placeholder} eingeben",
|
|
2377
|
-
"card.header.parts.code": "
|
|
2487
|
+
"card.header.parts.code": "ein an Sie gesendeter Code",
|
|
2378
2488
|
"card.header.parts.identifier-first": "Ihr {identifierLabel}",
|
|
2379
2489
|
"card.header.parts.oidc": "ein sozialer Anbieter",
|
|
2380
2490
|
"card.header.parts.passkey": "ein Passkey",
|
|
2381
2491
|
"card.header.parts.password.login": "Ihrer {identifierLabel} und Ihrem Passwort",
|
|
2382
2492
|
"card.header.parts.password.registration": "Ihrer {identifierLabel} und einem Passwort",
|
|
2383
2493
|
"card.header.parts.webauthn": "ein Sicherheitsschl\xFCssel",
|
|
2494
|
+
"card.header.parts.totp": "deine Authentifikator-App",
|
|
2495
|
+
"card.header.parts.lookup_secret": "ein Backup-Wiederherstellungscode",
|
|
2384
2496
|
"recovery.subtitle": "Geben Sie die mit Ihrem Konto verkn\xFCpfte E-Mail-Adresse ein, um einen einmaligen Zugangscode zu erhalten",
|
|
2385
2497
|
"verification.subtitle": "Geben Sie die mit Ihrem Konto verkn\xFCpfte E-Mail-Adresse ein, um es zu best\xE4tigen",
|
|
2386
2498
|
"card.header.description.login": "Melden Sie sich mit {identifierLabel} an",
|
|
@@ -2473,7 +2585,6 @@ var es_default = {
|
|
|
2473
2585
|
"error.back-button": "Regresar",
|
|
2474
2586
|
"error.description": "Ocurri\xF3 un error con el siguiente mensaje:",
|
|
2475
2587
|
"error.support-email-link": "Si el problema persiste, por favor contacte a <a>{contactSupportEmail}</a>",
|
|
2476
|
-
"error.title": "",
|
|
2477
2588
|
"error.title-internal-server-error": "Error Interno del Servidor",
|
|
2478
2589
|
"error.title-not-found": "404 - P\xE1gina no encontrada",
|
|
2479
2590
|
"identities.messages.1010001": "Iniciar sesi\xF3n",
|
|
@@ -2648,45 +2759,6 @@ var es_default = {
|
|
|
2648
2759
|
"two-step.totp.description": "Utilice un c\xF3digo de un solo uso de 6 d\xEDgitos de su aplicaci\xF3n de autenticaci\xF3n",
|
|
2649
2760
|
"two-step.lookup_secret.title": "C\xF3digo de recuperaci\xF3n de respaldo",
|
|
2650
2761
|
"two-step.lookup_secret.description": "Utilice uno de sus c\xF3digos de respaldo de 8 d\xEDgitos para autenticarse",
|
|
2651
|
-
"identities.messages.1010016": "",
|
|
2652
|
-
"identities.messages.1010017": "",
|
|
2653
|
-
"identities.messages.1010018": "",
|
|
2654
|
-
"identities.messages.1010019": "",
|
|
2655
|
-
"identities.messages.1010020": "",
|
|
2656
|
-
"identities.messages.1010021": "",
|
|
2657
|
-
"identities.messages.1010022": "",
|
|
2658
|
-
"identities.messages.1010023": "",
|
|
2659
|
-
"identities.messages.1040007": "",
|
|
2660
|
-
"identities.messages.1040008": "",
|
|
2661
|
-
"identities.messages.1040009": "",
|
|
2662
|
-
"identities.messages.1050019": "",
|
|
2663
|
-
"identities.messages.1050020": "",
|
|
2664
|
-
"identities.messages.1070014": "",
|
|
2665
|
-
"identities.messages.1070015": "",
|
|
2666
|
-
"identities.messages.4000037": "",
|
|
2667
|
-
"identities.messages.4000038": "",
|
|
2668
|
-
"identities.messages.4010009": "",
|
|
2669
|
-
"identities.messages.4010010": "",
|
|
2670
|
-
"login.cancel-button": "",
|
|
2671
|
-
"login.cancel-label": "",
|
|
2672
|
-
"input.placeholder": "",
|
|
2673
|
-
"card.header.description.login": "",
|
|
2674
|
-
"card.header.description.registration": "",
|
|
2675
|
-
"card.header.parts.code": "",
|
|
2676
|
-
"card.header.parts.identifier-first": "",
|
|
2677
|
-
"card.header.parts.oidc": "",
|
|
2678
|
-
"card.header.parts.passkey": "",
|
|
2679
|
-
"card.header.parts.password.login": "",
|
|
2680
|
-
"card.header.parts.password.registration": "",
|
|
2681
|
-
"card.header.parts.webauthn": "",
|
|
2682
|
-
"forms.label.forgot-password": "",
|
|
2683
|
-
"login.subtitle": "",
|
|
2684
|
-
"login.subtitle-refresh": "",
|
|
2685
|
-
"misc.or": "",
|
|
2686
|
-
"recovery.subtitle": "",
|
|
2687
|
-
"registration.subtitle": "",
|
|
2688
|
-
"settings.subtitle": "",
|
|
2689
|
-
"verification.subtitle": "",
|
|
2690
2762
|
"settings.totp.info.linked": "Actualmente tienes una aplicaci\xF3n de autenticaci\xF3n conectada.",
|
|
2691
2763
|
"settings.totp.info.not-linked": "Para habilitar, escanea el c\xF3digo QR con tu autenticador e ingresa el c\xF3digo.",
|
|
2692
2764
|
"settings.totp.title": "Aplicaci\xF3n Autenticadora",
|
|
@@ -2704,25 +2776,6 @@ var es_default = {
|
|
|
2704
2776
|
"settings.profile.title": "Configuraci\xF3n de Perfil",
|
|
2705
2777
|
"settings.webauthn.description": "Administra la configuraci\xF3n de tu token de hardware",
|
|
2706
2778
|
"settings.webauthn.title": "Gestionar Tokens de Hardware",
|
|
2707
|
-
"settings.oidc.info": "",
|
|
2708
|
-
"settings.passkey.info": "",
|
|
2709
|
-
"settings.title-lookup-secret": "",
|
|
2710
|
-
"settings.title-navigation": "",
|
|
2711
|
-
"settings.title-oidc": "",
|
|
2712
|
-
"settings.title-passkey": "",
|
|
2713
|
-
"settings.title-password": "",
|
|
2714
|
-
"settings.title-profile": "",
|
|
2715
|
-
"settings.title-totp": "",
|
|
2716
|
-
"settings.title-webauthn": "",
|
|
2717
|
-
"settings.webauthn.info": "",
|
|
2718
|
-
"card.footer.select-another-method": "",
|
|
2719
|
-
"account-linking.title": "",
|
|
2720
|
-
"property.code": "",
|
|
2721
|
-
"property.email": "",
|
|
2722
|
-
"property.identifier": "",
|
|
2723
|
-
"property.password": "",
|
|
2724
|
-
"property.phone": "",
|
|
2725
|
-
"property.username": "",
|
|
2726
2779
|
"consent.title": "Autorizar {party}",
|
|
2727
2780
|
"consent.subtitle": "Una aplicaci\xF3n de terceros quiere acceder a la informaci\xF3n asociada a su cuenta {identifier}.",
|
|
2728
2781
|
"consent.scope.openid.title": "Identidad",
|
|
@@ -2737,12 +2790,73 @@ var es_default = {
|
|
|
2737
2790
|
"consent.scope.address.description": "Acceda a su direcci\xF3n postal.",
|
|
2738
2791
|
"consent.scope.phone.title": "N\xFAmero de tel\xE9fono",
|
|
2739
2792
|
"consent.scope.phone.description": "Recupere su n\xFAmero de tel\xE9fono y su estado de verificaci\xF3n.",
|
|
2740
|
-
"error.
|
|
2741
|
-
"
|
|
2742
|
-
"
|
|
2743
|
-
"
|
|
2744
|
-
"
|
|
2745
|
-
"
|
|
2793
|
+
"error.title": "Ocurri\xF3 un error",
|
|
2794
|
+
"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.',
|
|
2795
|
+
"identities.messages.1010017": "Iniciar sesi\xF3n y vincular",
|
|
2796
|
+
"identities.messages.1010018": "Confirmar con {provider}",
|
|
2797
|
+
"identities.messages.1010019": "Solicitar c\xF3digo para continuar",
|
|
2798
|
+
"identities.messages.1010021": "Iniciar sesi\xF3n con clave de acceso",
|
|
2799
|
+
"identities.messages.1010022": "Iniciar sesi\xF3n con contrase\xF1a",
|
|
2800
|
+
"identities.messages.1010023": "Enviar c\xF3digo a {address}",
|
|
2801
|
+
"identities.messages.1040007": "Registrarse con clave de acceso",
|
|
2802
|
+
"identities.messages.1040008": "Atr\xE1s",
|
|
2803
|
+
"identities.messages.1040009": "Por favor, elige una credencial para autenticarte.",
|
|
2804
|
+
"identities.messages.1050019": "Agregar clave de acceso",
|
|
2805
|
+
"identities.messages.1070014": "Iniciar sesi\xF3n y vincular credencial",
|
|
2806
|
+
"identities.messages.1070015": "Por favor, completa el desaf\xEDo captcha para continuar.",
|
|
2807
|
+
"identities.messages.4000037": "Esta cuenta no existe o no tiene ning\xFAn m\xE9todo de inicio de sesi\xF3n configurado.",
|
|
2808
|
+
"identities.messages.4000038": "Fall\xF3 la verificaci\xF3n de Captcha, por favor intenta de nuevo.",
|
|
2809
|
+
"identities.messages.4010009": "Las credenciales vinculadas no coinciden.",
|
|
2810
|
+
"identities.messages.4010010": "La direcci\xF3n que ingresaste no coincide con ninguna direcci\xF3n conocida en la cuenta actual.",
|
|
2811
|
+
"login.cancel-button": "Cancelar",
|
|
2812
|
+
"login.cancel-label": "\xBFNo es la cuenta correcta?",
|
|
2813
|
+
"login.subtitle": "Iniciar sesi\xF3n con {parts}",
|
|
2814
|
+
"login.subtitle-refresh": "Confirma tu identidad con {parts}",
|
|
2815
|
+
"recovery.subtitle": "Ingresa la direcci\xF3n de correo electr\xF3nico asociada con tu cuenta para recibir un c\xF3digo de acceso \xFAnico",
|
|
2816
|
+
"registration.subtitle": "Registrarse con {parts}",
|
|
2817
|
+
"settings.subtitle": "Actualiza la configuraci\xF3n de tu cuenta",
|
|
2818
|
+
"settings.title-lookup-secret": "Administrar c\xF3digos de recuperaci\xF3n de respaldo 2FA",
|
|
2819
|
+
"settings.title-navigation": "Configuraci\xF3n de la cuenta",
|
|
2820
|
+
"settings.title-oidc": "Inicio de sesi\xF3n social",
|
|
2821
|
+
"settings.title-password": "Cambiar contrase\xF1a",
|
|
2822
|
+
"settings.title-profile": "Configuraci\xF3n del perfil",
|
|
2823
|
+
"settings.title-totp": "Administrar la aplicaci\xF3n de autenticaci\xF3n 2FA TOTP",
|
|
2824
|
+
"settings.title-webauthn": "Administrar tokens de hardware",
|
|
2825
|
+
"settings.title-passkey": "Administrar claves de acceso",
|
|
2826
|
+
"verification.subtitle": "Ingresa la direcci\xF3n de correo electr\xF3nico asociada con tu cuenta para verificarla",
|
|
2827
|
+
"input.placeholder": "Ingresa tu {placeholder}",
|
|
2828
|
+
"card.header.parts.oidc": "un proveedor social",
|
|
2829
|
+
"card.header.parts.password.registration": "tu {identifierLabel} y una contrase\xF1a",
|
|
2830
|
+
"card.header.parts.password.login": "tu {identifierLabel} y contrase\xF1a",
|
|
2831
|
+
"card.header.parts.code": "un c\xF3digo enviado a tu correo electr\xF3nico",
|
|
2832
|
+
"card.header.parts.passkey": "una clave de acceso",
|
|
2833
|
+
"card.header.parts.webauthn": "una clave de seguridad",
|
|
2834
|
+
"card.header.parts.totp": "su aplicaci\xF3n de autenticaci\xF3n",
|
|
2835
|
+
"card.header.parts.lookup_secret": "un c\xF3digo de recuperaci\xF3n de copia de seguridad",
|
|
2836
|
+
"card.header.parts.identifier-first": "tu {identifierLabel}",
|
|
2837
|
+
"card.header.description.login": "Iniciar sesi\xF3n con {identifierLabel}",
|
|
2838
|
+
"card.header.description.registration": "Registrarse con {identifierLabel}",
|
|
2839
|
+
"misc.or": "o",
|
|
2840
|
+
"forms.label.forgot-password": "\xBFOlvidaste tu contrase\xF1a?",
|
|
2841
|
+
"settings.oidc.info": "Las cuentas conectadas de estos proveedores se pueden utilizar para iniciar sesi\xF3n en tu cuenta",
|
|
2842
|
+
"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",
|
|
2843
|
+
"settings.passkey.info": "Administra la configuraci\xF3n de tus claves de acceso",
|
|
2844
|
+
"card.footer.select-another-method": "Seleccionar otro m\xE9todo",
|
|
2845
|
+
"account-linking.title": "Vincular cuenta",
|
|
2846
|
+
"property.password": "contrase\xF1a",
|
|
2847
|
+
"property.email": "correo electr\xF3nico",
|
|
2848
|
+
"property.phone": "tel\xE9fono",
|
|
2849
|
+
"property.username": "nombre de usuario",
|
|
2850
|
+
"property.identifier": "identificador",
|
|
2851
|
+
"property.code": "c\xF3digo",
|
|
2852
|
+
"error.title.what-happened": "\xBFQu\xE9 pas\xF3?",
|
|
2853
|
+
"error.title.what-can-i-do": "\xBFQu\xE9 puedo hacer?",
|
|
2854
|
+
"error.instructions": "Por favor, int\xE9ntalo de nuevo en unos minutos o contacta al operador del sitio web.",
|
|
2855
|
+
"error.footer.text": "Al informar este error, incluye la siguiente informaci\xF3n:",
|
|
2856
|
+
"error.footer.copy": "Copiar",
|
|
2857
|
+
"error.action.go-back": "Regresar",
|
|
2858
|
+
"identities.messages.1010020": "",
|
|
2859
|
+
"identities.messages.1050020": 'Eliminar passkey "{display_name}"'
|
|
2746
2860
|
};
|
|
2747
2861
|
|
|
2748
2862
|
// src/locales/fr.json
|
|
@@ -2933,81 +3047,10 @@ var fr_default = {
|
|
|
2933
3047
|
"two-step.totp.description": "Utilisez un code \xE0 usage unique \xE0 6 chiffres provenant de votre application d'authentification",
|
|
2934
3048
|
"two-step.lookup_secret.title": "Code de r\xE9cup\xE9ration de secours",
|
|
2935
3049
|
"two-step.lookup_secret.description": "Utilisez l'un de vos codes de secours \xE0 8 chiffres pour vous authentifier",
|
|
2936
|
-
"identities.messages.1010023": "",
|
|
2937
|
-
"identities.messages.1070015": "",
|
|
2938
|
-
"identities.messages.4000038": "",
|
|
2939
|
-
"login.cancel-button": "",
|
|
2940
|
-
"login.cancel-label": "",
|
|
2941
|
-
"identities.messages.1010016": "",
|
|
2942
|
-
"identities.messages.1010017": "",
|
|
2943
|
-
"identities.messages.1010018": "",
|
|
2944
|
-
"identities.messages.1010019": "",
|
|
2945
|
-
"identities.messages.1010020": "",
|
|
2946
|
-
"identities.messages.1010021": "",
|
|
2947
|
-
"identities.messages.1010022": "",
|
|
2948
|
-
"identities.messages.1040007": "",
|
|
2949
|
-
"identities.messages.1040008": "",
|
|
2950
|
-
"identities.messages.1040009": "",
|
|
2951
|
-
"identities.messages.1050019": "",
|
|
2952
|
-
"identities.messages.1050020": "",
|
|
2953
|
-
"identities.messages.1070014": "",
|
|
2954
|
-
"identities.messages.4000037": "",
|
|
2955
|
-
"identities.messages.4010009": "",
|
|
2956
|
-
"identities.messages.4010010": "",
|
|
2957
|
-
"input.placeholder": "",
|
|
2958
|
-
"card.header.description.login": "",
|
|
2959
|
-
"card.header.description.registration": "",
|
|
2960
|
-
"card.header.parts.code": "",
|
|
2961
|
-
"card.header.parts.identifier-first": "",
|
|
2962
|
-
"card.header.parts.oidc": "",
|
|
2963
|
-
"card.header.parts.passkey": "",
|
|
2964
|
-
"card.header.parts.password.login": "",
|
|
2965
|
-
"card.header.parts.password.registration": "",
|
|
2966
|
-
"card.header.parts.webauthn": "",
|
|
2967
|
-
"forms.label.forgot-password": "",
|
|
2968
|
-
"login.subtitle": "",
|
|
2969
|
-
"login.subtitle-refresh": "",
|
|
2970
|
-
"misc.or": "",
|
|
2971
|
-
"recovery.subtitle": "",
|
|
2972
|
-
"registration.subtitle": "",
|
|
2973
|
-
"settings.subtitle": "",
|
|
2974
|
-
"verification.subtitle": "",
|
|
2975
3050
|
"settings.totp.info.linked": "Vous avez actuellement une application d'authentification connect\xE9e.",
|
|
2976
3051
|
"settings.totp.info.not-linked": "Pour activer, scannez le QR code avec votre authentificateur et entrez le code.",
|
|
2977
3052
|
"settings.totp.title": "Application d'authentification",
|
|
2978
3053
|
"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.",
|
|
2979
|
-
"settings.lookup_secret.description": "",
|
|
2980
|
-
"settings.lookup_secret.title": "",
|
|
2981
|
-
"settings.navigation.title": "",
|
|
2982
|
-
"settings.oidc.description": "",
|
|
2983
|
-
"settings.oidc.info": "",
|
|
2984
|
-
"settings.oidc.title": "",
|
|
2985
|
-
"settings.passkey.description": "",
|
|
2986
|
-
"settings.passkey.info": "",
|
|
2987
|
-
"settings.passkey.title": "",
|
|
2988
|
-
"settings.password.description": "",
|
|
2989
|
-
"settings.password.title": "",
|
|
2990
|
-
"settings.profile.description": "",
|
|
2991
|
-
"settings.profile.title": "",
|
|
2992
|
-
"settings.title-lookup-secret": "",
|
|
2993
|
-
"settings.title-navigation": "",
|
|
2994
|
-
"settings.title-oidc": "",
|
|
2995
|
-
"settings.title-passkey": "",
|
|
2996
|
-
"settings.title-password": "",
|
|
2997
|
-
"settings.title-profile": "",
|
|
2998
|
-
"settings.title-totp": "",
|
|
2999
|
-
"settings.title-webauthn": "",
|
|
3000
|
-
"settings.webauthn.description": "",
|
|
3001
|
-
"settings.webauthn.info": "",
|
|
3002
|
-
"settings.webauthn.title": "",
|
|
3003
|
-
"card.footer.select-another-method": "",
|
|
3004
|
-
"account-linking.title": "",
|
|
3005
|
-
"property.code": "",
|
|
3006
|
-
"property.email": "",
|
|
3007
|
-
"property.identifier": "",
|
|
3008
|
-
"property.password": "",
|
|
3009
|
-
"property.phone": "",
|
|
3010
|
-
"property.username": "",
|
|
3011
3054
|
"consent.title": "Autoriser {party}",
|
|
3012
3055
|
"consent.subtitle": "Une application tierce souhaite acc\xE9der aux informations associ\xE9es \xE0 votre compte {identifier}.",
|
|
3013
3056
|
"consent.scope.openid.title": "Identit\xE9",
|
|
@@ -3022,12 +3065,85 @@ var fr_default = {
|
|
|
3022
3065
|
"consent.scope.address.description": "Acc\xE8de \xE0 votre adresse postale.",
|
|
3023
3066
|
"consent.scope.phone.title": "Num\xE9ro de t\xE9l\xE9phone",
|
|
3024
3067
|
"consent.scope.phone.description": "R\xE9cup\xE8re votre num\xE9ro de t\xE9l\xE9phone et son statut de v\xE9rification.",
|
|
3025
|
-
"
|
|
3026
|
-
"
|
|
3027
|
-
"
|
|
3028
|
-
"
|
|
3029
|
-
"
|
|
3030
|
-
"
|
|
3068
|
+
"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.",
|
|
3069
|
+
"identities.messages.1010017": "Se connecter et lier",
|
|
3070
|
+
"identities.messages.1010018": "Confirmer avec {provider}",
|
|
3071
|
+
"identities.messages.1010019": "Demander un code pour continuer",
|
|
3072
|
+
"identities.messages.1010021": "Se connecter avec une cl\xE9 d'acc\xE8s",
|
|
3073
|
+
"identities.messages.1010022": "Se connecter avec un mot de passe",
|
|
3074
|
+
"identities.messages.1010023": "Envoyer le code \xE0 {address}",
|
|
3075
|
+
"identities.messages.1040007": "S'inscrire avec une cl\xE9 d'acc\xE8s",
|
|
3076
|
+
"identities.messages.1040008": "Retour",
|
|
3077
|
+
"identities.messages.1040009": "Veuillez choisir une identification pour vous authentifier.",
|
|
3078
|
+
"identities.messages.1050019": "Ajouter une cl\xE9 d'acc\xE8s",
|
|
3079
|
+
"identities.messages.1050020": "Supprimer la cl\xE9 d'acc\xE8s \xAB {display_name} \xBB",
|
|
3080
|
+
"identities.messages.1070014": "Se connecter et lier l'identification",
|
|
3081
|
+
"identities.messages.1070015": "Veuillez compl\xE9ter le d\xE9fi captcha pour continuer.",
|
|
3082
|
+
"identities.messages.4000037": "Ce compte n'existe pas ou n'a aucune m\xE9thode de connexion configur\xE9e.",
|
|
3083
|
+
"identities.messages.4000038": "La v\xE9rification Captcha a \xE9chou\xE9, veuillez r\xE9essayer.",
|
|
3084
|
+
"identities.messages.4010009": "Les identifications li\xE9es ne correspondent pas.",
|
|
3085
|
+
"identities.messages.4010010": "L'adresse que vous avez saisie ne correspond \xE0 aucune adresse connue dans le compte actuel.",
|
|
3086
|
+
"login.cancel-button": "Annuler",
|
|
3087
|
+
"login.cancel-label": "Ce n'est pas le bon compte\xA0?",
|
|
3088
|
+
"login.subtitle": "Se connecter avec {parts}",
|
|
3089
|
+
"login.subtitle-refresh": "Confirmez votre identit\xE9 avec {parts}",
|
|
3090
|
+
"recovery.subtitle": "Saisissez l'adresse e-mail associ\xE9e \xE0 votre compte pour recevoir un code d'acc\xE8s unique",
|
|
3091
|
+
"registration.subtitle": "S'inscrire avec {parts}",
|
|
3092
|
+
"settings.subtitle": "Mettre \xE0 jour les param\xE8tres de votre compte",
|
|
3093
|
+
"settings.title-lookup-secret": "G\xE9rer les codes de r\xE9cup\xE9ration de sauvegarde 2FA",
|
|
3094
|
+
"settings.title-navigation": "Param\xE8tres du compte",
|
|
3095
|
+
"settings.title-oidc": "Connexion via les r\xE9seaux sociaux",
|
|
3096
|
+
"settings.title-password": "Changer le mot de passe",
|
|
3097
|
+
"settings.title-profile": "Param\xE8tres du profil",
|
|
3098
|
+
"settings.title-totp": "G\xE9rer l'application d'authentification 2FA TOTP",
|
|
3099
|
+
"settings.title-webauthn": "G\xE9rer les jetons mat\xE9riels",
|
|
3100
|
+
"settings.title-passkey": "G\xE9rer les cl\xE9s d'acc\xE8s",
|
|
3101
|
+
"settings.navigation.title": "Param\xE8tres du compte",
|
|
3102
|
+
"settings.password.title": "Changer le mot de passe",
|
|
3103
|
+
"settings.password.description": "Modifier votre mot de passe",
|
|
3104
|
+
"settings.profile.title": "Param\xE8tres du profil",
|
|
3105
|
+
"settings.profile.description": "Mettre \xE0 jour les informations de votre profil",
|
|
3106
|
+
"settings.webauthn.title": "G\xE9rer les jetons mat\xE9riels",
|
|
3107
|
+
"settings.webauthn.description": "G\xE9rer les param\xE8tres de votre jeton mat\xE9riel",
|
|
3108
|
+
"verification.subtitle": "Saisissez l'adresse e-mail associ\xE9e \xE0 votre compte pour la v\xE9rifier",
|
|
3109
|
+
"input.placeholder": "Saisissez votre {placeholder}",
|
|
3110
|
+
"card.header.parts.oidc": "un fournisseur de r\xE9seaux sociaux",
|
|
3111
|
+
"card.header.parts.password.registration": "votre {identifierLabel} et un mot de passe",
|
|
3112
|
+
"card.header.parts.password.login": "votre {identifierLabel} et votre mot de passe",
|
|
3113
|
+
"card.header.parts.passkey": "une cl\xE9 d'acc\xE8s",
|
|
3114
|
+
"card.header.parts.webauthn": "une cl\xE9 de s\xE9curit\xE9",
|
|
3115
|
+
"card.header.parts.identifier-first": "votre {identifierLabel}",
|
|
3116
|
+
"card.header.parts.code": "un code qui vous a \xE9t\xE9 envoy\xE9",
|
|
3117
|
+
"card.header.parts.totp": "votre application d'authentification",
|
|
3118
|
+
"card.header.parts.lookup_secret": "un code de r\xE9cup\xE9ration de secours",
|
|
3119
|
+
"card.header.description.login": "Se connecter avec {identifierLabel}",
|
|
3120
|
+
"card.header.description.registration": "S'inscrire avec {identifierLabel}",
|
|
3121
|
+
"misc.or": "ou",
|
|
3122
|
+
"forms.label.forgot-password": "Mot de passe oubli\xE9?",
|
|
3123
|
+
"settings.lookup_secret.title": "Codes de r\xE9cup\xE9ration de sauvegarde (second facteur)",
|
|
3124
|
+
"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.",
|
|
3125
|
+
"settings.oidc.title": "Comptes connect\xE9s",
|
|
3126
|
+
"settings.oidc.description": "Connectez un fournisseur de connexion sociale \xE0 votre compte.",
|
|
3127
|
+
"settings.oidc.info": "Les comptes connect\xE9s de ces fournisseurs peuvent \xEAtre utilis\xE9s pour vous connecter \xE0 votre compte",
|
|
3128
|
+
"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",
|
|
3129
|
+
"settings.passkey.title": "G\xE9rer les cl\xE9s d'acc\xE8s",
|
|
3130
|
+
"settings.passkey.description": "G\xE9rer les param\xE8tres de vos cl\xE9s d'acc\xE8s",
|
|
3131
|
+
"settings.passkey.info": "G\xE9rer les param\xE8tres de vos cl\xE9s d'acc\xE8s",
|
|
3132
|
+
"card.footer.select-another-method": "S\xE9lectionner une autre m\xE9thode",
|
|
3133
|
+
"account-linking.title": "Lier le compte",
|
|
3134
|
+
"property.password": "mot de passe",
|
|
3135
|
+
"property.email": "e-mail",
|
|
3136
|
+
"property.phone": "t\xE9l\xE9phone",
|
|
3137
|
+
"property.username": "nom d'utilisateur",
|
|
3138
|
+
"property.identifier": "identifiant",
|
|
3139
|
+
"property.code": "code",
|
|
3140
|
+
"error.title.what-happened": "Que s'est-il pass\xE9?",
|
|
3141
|
+
"error.title.what-can-i-do": "Que puis-je faire?",
|
|
3142
|
+
"error.instructions": "Veuillez r\xE9essayer dans quelques minutes ou contacter l'op\xE9rateur du site Web.",
|
|
3143
|
+
"error.footer.text": "Lorsque vous signalez cette erreur, veuillez inclure les informations suivantes:",
|
|
3144
|
+
"error.footer.copy": "Copier",
|
|
3145
|
+
"error.action.go-back": "Retour",
|
|
3146
|
+
"identities.messages.1010020": ""
|
|
3031
3147
|
};
|
|
3032
3148
|
|
|
3033
3149
|
// src/locales/nl.json
|
|
@@ -3242,7 +3358,9 @@ var nl_default = {
|
|
|
3242
3358
|
"input.placeholder": "",
|
|
3243
3359
|
"card.header.description.login": "",
|
|
3244
3360
|
"card.header.description.registration": "",
|
|
3245
|
-
"card.header.parts.code": "",
|
|
3361
|
+
"card.header.parts.code": "een code die naar je is verzonden",
|
|
3362
|
+
"card.header.parts.totp": "je authenticator-app",
|
|
3363
|
+
"card.header.parts.lookup_secret": "een backup herstelcode",
|
|
3246
3364
|
"card.header.parts.identifier-first": "",
|
|
3247
3365
|
"card.header.parts.oidc": "",
|
|
3248
3366
|
"card.header.parts.passkey": "",
|
|
@@ -3527,13 +3645,15 @@ var pl_default = {
|
|
|
3527
3645
|
"input.placeholder": "",
|
|
3528
3646
|
"card.header.description.login": "",
|
|
3529
3647
|
"card.header.description.registration": "",
|
|
3530
|
-
"card.header.parts.code": "",
|
|
3531
3648
|
"card.header.parts.identifier-first": "",
|
|
3532
3649
|
"card.header.parts.oidc": "",
|
|
3533
3650
|
"card.header.parts.passkey": "",
|
|
3534
3651
|
"card.header.parts.password.login": "",
|
|
3535
3652
|
"card.header.parts.password.registration": "",
|
|
3536
3653
|
"card.header.parts.webauthn": "",
|
|
3654
|
+
"card.header.parts.code": "kod wys\u0142any do Ciebie",
|
|
3655
|
+
"card.header.parts.totp": "Twoja aplikacja uwierzytelniaj\u0105ca",
|
|
3656
|
+
"card.header.parts.lookup_secret": "kod odzyskiwania kopii zapasowej",
|
|
3537
3657
|
"forms.label.forgot-password": "",
|
|
3538
3658
|
"login.subtitle": "",
|
|
3539
3659
|
"login.subtitle-refresh": "",
|
|
@@ -3812,7 +3932,9 @@ var pt_default = {
|
|
|
3812
3932
|
"input.placeholder": "",
|
|
3813
3933
|
"card.header.description.login": "",
|
|
3814
3934
|
"card.header.description.registration": "",
|
|
3815
|
-
"card.header.parts.code": "",
|
|
3935
|
+
"card.header.parts.code": "um c\xF3digo enviado para voc\xEA",
|
|
3936
|
+
"card.header.parts.totp": "seu aplicativo autenticador",
|
|
3937
|
+
"card.header.parts.lookup_secret": "um c\xF3digo de recupera\xE7\xE3o de backup",
|
|
3816
3938
|
"card.header.parts.identifier-first": "",
|
|
3817
3939
|
"card.header.parts.oidc": "",
|
|
3818
3940
|
"card.header.parts.passkey": "",
|
|
@@ -4097,7 +4219,9 @@ var sv_default = {
|
|
|
4097
4219
|
"input.placeholder": "Ange din {placeholder}",
|
|
4098
4220
|
"card.header.description.login": "Logga in med {identifierLabel}",
|
|
4099
4221
|
"card.header.description.registration": "Registrera dig med {identifierLabel}",
|
|
4100
|
-
"card.header.parts.code": "en kod skickad till
|
|
4222
|
+
"card.header.parts.code": "en kod skickad till dig",
|
|
4223
|
+
"card.header.parts.totp": "din autentiseringsapp",
|
|
4224
|
+
"card.header.parts.lookup_secret": "en s\xE4kerhetskopieringskod",
|
|
4101
4225
|
"card.header.parts.identifier-first": "din {identifierLabel}",
|
|
4102
4226
|
"card.header.parts.oidc": "en social leverant\xF6r",
|
|
4103
4227
|
"card.header.parts.passkey": "en Passkey",
|