@plumile/backoffice-react 0.1.88 → 0.1.90
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/lib/esm/{AcceptInvitationScreen-dnOvRx4Z.js → AcceptInvitationScreen-DLc4aovr.js} +8 -7
- package/lib/esm/AcceptInvitationScreen-DLc4aovr.js.map +1 -0
- package/lib/esm/{AuthPanel-DiHejPoq.js → AuthPanel-BaIRFGbX.js} +2 -2
- package/lib/esm/{AuthPanel-DiHejPoq.js.map → AuthPanel-BaIRFGbX.js.map} +1 -1
- package/lib/esm/{BackofficeAcceptInvitationPage-CGht2ka0.js → BackofficeAcceptInvitationPage-D0dZnrV7.js} +4 -4
- package/lib/esm/{BackofficeAcceptInvitationPage-CGht2ka0.js.map → BackofficeAcceptInvitationPage-D0dZnrV7.js.map} +1 -1
- package/lib/esm/{BackofficeDashboardPage-h1OWb_rV.js → BackofficeDashboardPage-YWvoQODn.js} +33 -33
- package/lib/esm/{BackofficeDashboardPage-h1OWb_rV.js.map → BackofficeDashboardPage-YWvoQODn.js.map} +1 -1
- package/lib/esm/{BackofficeDetailPayload-iVx66o_6.js → BackofficeDetailPayload-P61MDRLE.js} +2 -2
- package/lib/esm/{BackofficeDetailPayload-iVx66o_6.js.map → BackofficeDetailPayload-P61MDRLE.js.map} +1 -1
- package/lib/esm/{BackofficeEntityActionFormDialog-V4QXnvpy.js → BackofficeEntityActionFormDialog-BgRTJ_JS.js} +3 -4
- package/lib/esm/{BackofficeEntityActionFormDialog-V4QXnvpy.js.map → BackofficeEntityActionFormDialog-BgRTJ_JS.js.map} +1 -1
- package/lib/esm/{BackofficeEntityDetailPage-CIyGKwVP.js → BackofficeEntityDetailPage-DPFXbJxC.js} +34 -34
- package/lib/esm/{BackofficeEntityDetailPage-CIyGKwVP.js.map → BackofficeEntityDetailPage-DPFXbJxC.js.map} +1 -1
- package/lib/esm/{BackofficeEntityListPage-DmZozSNk.js → BackofficeEntityListPage-C8Ucmc_E.js} +3 -4
- package/lib/esm/{BackofficeEntityListPage-DmZozSNk.js.map → BackofficeEntityListPage-C8Ucmc_E.js.map} +1 -1
- package/lib/esm/{useBackofficeReactTranslation-WfXU8kCf.js → BackofficeErrorBoundary-BwRVSDHU.js} +3 -9
- package/lib/esm/BackofficeErrorBoundary-BwRVSDHU.js.map +1 -0
- package/lib/esm/{BackofficeLayoutPage-DtFDn_nU.js → BackofficeLayoutPage-j3VUX3Tu.js} +35 -35
- package/lib/esm/{BackofficeLayoutPage-DtFDn_nU.js.map → BackofficeLayoutPage-j3VUX3Tu.js.map} +1 -1
- package/lib/esm/{BackofficeLoginPage-BvOPqbKO.js → BackofficeLoginPage-DgdIWTeu.js} +5 -5
- package/lib/esm/{BackofficeLoginPage-BvOPqbKO.js.map → BackofficeLoginPage-DgdIWTeu.js.map} +1 -1
- package/lib/esm/{BackofficePasswordResetCompletePage-ZLhghfhC.js → BackofficePasswordResetCompletePage-CF_0t3Nq.js} +4 -5
- package/lib/esm/BackofficePasswordResetCompletePage-CF_0t3Nq.js.map +1 -0
- package/lib/esm/{BackofficePasswordResetRequestPage-BLNHQD79.js → BackofficePasswordResetRequestPage-BJOrQXcy.js} +4 -4
- package/lib/esm/BackofficePasswordResetRequestPage-BJOrQXcy.js.map +1 -0
- package/lib/esm/{BackofficeVerifyEmailPage-BSTtLXdx.js → BackofficeVerifyEmailPage-C81LlsNM.js} +4 -5
- package/lib/esm/BackofficeVerifyEmailPage-C81LlsNM.js.map +1 -0
- package/lib/esm/{EntityFilterValue-B5ZGHO_u.js → EntityFilterValue-BWUdPBwp.js} +10 -9
- package/lib/esm/{EntityFilterValue-B5ZGHO_u.js.map → EntityFilterValue-BWUdPBwp.js.map} +1 -1
- package/lib/esm/{EntityIdPickerDialog-DbTnDU4v.js → EntityIdPickerDialog-Yhmr-WsV.js} +9 -9
- package/lib/esm/{EntityIdPickerDialog-DbTnDU4v.js.map → EntityIdPickerDialog-Yhmr-WsV.js.map} +1 -1
- package/lib/esm/{LazyBackofficeEntityActionFormDialog-BE3wVfU6.js → LazyBackofficeEntityActionFormDialog-DVPQyWlr.js} +8 -7
- package/lib/esm/{LazyBackofficeEntityActionFormDialog-BE3wVfU6.js.map → LazyBackofficeEntityActionFormDialog-DVPQyWlr.js.map} +1 -1
- package/lib/esm/{PasswordResetCompleteScreen-B0P_tZg2.js → PasswordResetCompleteScreen-Cgg96DPo.js} +6 -5
- package/lib/esm/PasswordResetCompleteScreen-Cgg96DPo.js.map +1 -0
- package/lib/esm/{PasswordResetRequestScreen-p9s0dblR.js → PasswordResetRequestScreen-I1nFvGLd.js} +6 -5
- package/lib/esm/PasswordResetRequestScreen-I1nFvGLd.js.map +1 -0
- package/lib/esm/{VerifyEmailScreen--9lxOGlW.js → VerifyEmailScreen-Br5KyHjg.js} +7 -6
- package/lib/esm/VerifyEmailScreen-Br5KyHjg.js.map +1 -0
- package/lib/esm/backoffice-react.js +843 -1012
- package/lib/esm/backoffice-react.js.map +1 -1
- package/lib/esm/loginPage.css-B7Io_DuU.js +6 -0
- package/lib/esm/loginPage.css-B7Io_DuU.js.map +1 -0
- package/lib/esm/{synchronizeAuthStatusQuery-By_lNCnP.js → synchronizeAuthStatusQuery-1juorUEX.js} +47 -46
- package/lib/esm/synchronizeAuthStatusQuery-1juorUEX.js.map +1 -0
- package/lib/esm/{useAuth-OVPPa9bO.js → useAuth-BdSNpGqe.js} +43 -42
- package/lib/esm/useAuth-BdSNpGqe.js.map +1 -0
- package/lib/esm/{useBackofficeAuth-BvEoEqnB.js → useBackofficeAuth-C16Euw2X.js} +3 -3
- package/lib/esm/{useBackofficeAuth-BvEoEqnB.js.map → useBackofficeAuth-C16Euw2X.js.map} +1 -1
- package/lib/esm/{useBackofficeLazyValue-Dnii1_dE.js → useBackofficeLazyValue-Bh_13h8A.js} +2 -2
- package/lib/esm/{useBackofficeLazyValue-Dnii1_dE.js.map → useBackofficeLazyValue-Bh_13h8A.js.map} +1 -1
- package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js +18 -0
- package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js.map +1 -0
- package/lib/types/i18n/resources.d.ts +211 -409
- package/lib/types/i18n/resources.d.ts.map +1 -1
- package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
- package/package.json +7 -5
- package/lib/esm/AcceptInvitationScreen-dnOvRx4Z.js.map +0 -1
- package/lib/esm/BackofficeConfigContext-R0t1owTI.js +0 -12
- package/lib/esm/BackofficeConfigContext-R0t1owTI.js.map +0 -1
- package/lib/esm/BackofficePasswordResetCompletePage-ZLhghfhC.js.map +0 -1
- package/lib/esm/BackofficePasswordResetRequestPage-BLNHQD79.js.map +0 -1
- package/lib/esm/BackofficeVerifyEmailPage-BSTtLXdx.js.map +0 -1
- package/lib/esm/PasswordResetCompleteScreen-B0P_tZg2.js.map +0 -1
- package/lib/esm/PasswordResetRequestScreen-p9s0dblR.js.map +0 -1
- package/lib/esm/VerifyEmailScreen--9lxOGlW.js.map +0 -1
- package/lib/esm/loginPage.css-CBJ1Ozm5.js +0 -12
- package/lib/esm/loginPage.css-CBJ1Ozm5.js.map +0 -1
- package/lib/esm/synchronizeAuthStatusQuery-By_lNCnP.js.map +0 -1
- package/lib/esm/useAuth-OVPPa9bO.js.map +0 -1
- package/lib/esm/useBackofficeReactTranslation-WfXU8kCf.js.map +0 -1
- package/lib/types/i18n/useSharedTranslation.d.ts +0 -3
- package/lib/types/i18n/useSharedTranslation.d.ts.map +0 -1
|
@@ -1,44 +1,43 @@
|
|
|
1
1
|
import { i as e, n as t, r as n, t as r } from "./environment-BXoBq_6e.js";
|
|
2
2
|
import { t as i } from "./useRelayEnvironment-vQ86aW-n.js";
|
|
3
|
-
import { n as a,
|
|
4
|
-
import { i as
|
|
5
|
-
import { f as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { t as
|
|
9
|
-
import { t as
|
|
10
|
-
import { t as
|
|
11
|
-
import { t as
|
|
12
|
-
import { n as
|
|
13
|
-
import { i as x,
|
|
14
|
-
import { i as
|
|
15
|
-
import { a as ae, i as oe, r as se, t as ce } from "./BackofficeDetailPayload-iVx66o_6.js";
|
|
3
|
+
import { n as a, r as o, t as s } from "./useBackofficeReactTranslation-Btt58EIo.js";
|
|
4
|
+
import { i as c, t as l } from "./sidebarUtils-CuwJ_3mD.js";
|
|
5
|
+
import { a as u, i as d, n as f, r as p, t as m } from "./useAuth-BdSNpGqe.js";
|
|
6
|
+
import { n as h, t as g } from "./synchronizeAuthStatusQuery-1juorUEX.js";
|
|
7
|
+
import { t as _ } from "./AcceptInvitationScreen-DLc4aovr.js";
|
|
8
|
+
import { t as v } from "./PasswordResetCompleteScreen-Cgg96DPo.js";
|
|
9
|
+
import { t as y } from "./PasswordResetRequestScreen-I1nFvGLd.js";
|
|
10
|
+
import { t as ee } from "./VerifyEmailScreen-Br5KyHjg.js";
|
|
11
|
+
import { t as te } from "./BackofficeErrorBoundary-BwRVSDHU.js";
|
|
12
|
+
import { i as b, n as ne, t as re } from "./EntityFilterValue-BWUdPBwp.js";
|
|
13
|
+
import { i as x, t as ie } from "./EntityIdPickerDialog-Yhmr-WsV.js";
|
|
14
|
+
import { a as ae, i as oe, r as se, t as ce } from "./BackofficeDetailPayload-P61MDRLE.js";
|
|
16
15
|
import { t as le } from "./useBackofficeListUrlState-D4fx5O7u.js";
|
|
17
16
|
import { i as ue, n as de, r as fe, t as pe } from "./mutationResult-CcQMY13J.js";
|
|
18
17
|
import { t as me } from "./pageResolution-hAQA5C6S.js";
|
|
19
18
|
import { n as he, t as ge } from "./BackofficeRightPageLayout-DZQvIHnj.js";
|
|
20
|
-
import { StrictMode as _e, useCallback as
|
|
21
|
-
import { createInstance as
|
|
22
|
-
import { I18nextProvider as
|
|
23
|
-
import { HttpRedirect as
|
|
24
|
-
import { BackofficeTabs as
|
|
25
|
-
import
|
|
19
|
+
import { StrictMode as _e, useCallback as S, useContext as ve, useEffect as C, useMemo as w, useRef as T, useState as E } from "react";
|
|
20
|
+
import { createInstance as ye } from "i18next";
|
|
21
|
+
import { I18nextProvider as be, initReactI18next as xe, useTranslation as Se } from "react-i18next";
|
|
22
|
+
import { HttpRedirect as Ce, Link as we, RouterRenderer as Te, RoutingContext as Ee, createRouter as De, getResourcePage as D, r as Oe } from "@plumile/router";
|
|
23
|
+
import { BackofficeTabs as ke, DetailPageTemplate as Ae, SidebarSearchSvg as je, Spinner as Me, ThemeProvider as Ne, cx as Pe } from "@plumile/ui";
|
|
24
|
+
import Fe from "i18next-browser-languagedetector";
|
|
26
25
|
import * as O from "react-relay";
|
|
27
26
|
import { jsx as k, jsxs as A } from "react/jsx-runtime";
|
|
28
|
-
import { BACKOFFICE_LIST_DEFAULTS as
|
|
27
|
+
import { BACKOFFICE_LIST_DEFAULTS as Ie } from "@plumile/backoffice-core/constants.js";
|
|
29
28
|
import { resolveBackofficeLoadedFacetModule as j } from "@plumile/backoffice-core/resolve.js";
|
|
30
|
-
import { buildBackofficeFallbackListHref as
|
|
31
|
-
import { setWhereValue as
|
|
29
|
+
import { buildBackofficeFallbackListHref as Le, buildBackofficeListLink as M } from "@plumile/backoffice-core/state/buildListHref.js";
|
|
30
|
+
import { setWhereValue as Re } from "@plumile/backoffice-core/filters/where.js";
|
|
32
31
|
//#region src/i18n/createI18nInstance.ts
|
|
33
|
-
var
|
|
32
|
+
var ze = { maximumFractionDigits: 2 }, Be = {
|
|
34
33
|
style: "currency",
|
|
35
34
|
currency: "USD",
|
|
36
35
|
maximumFractionDigits: 2
|
|
37
|
-
},
|
|
36
|
+
}, Ve = { dateStyle: "medium" }, He = {
|
|
38
37
|
dateStyle: "medium",
|
|
39
38
|
timeStyle: "short"
|
|
40
|
-
},
|
|
41
|
-
function
|
|
39
|
+
}, Ue = { style: "percent" };
|
|
40
|
+
function We(e) {
|
|
42
41
|
return Array.isArray(e) ? e[0] : e;
|
|
43
42
|
}
|
|
44
43
|
function N(e) {
|
|
@@ -54,19 +53,19 @@ function N(e) {
|
|
|
54
53
|
}
|
|
55
54
|
function P(e, t, n) {
|
|
56
55
|
if (t == null) return N(e);
|
|
57
|
-
let r =
|
|
58
|
-
if (t === "number" && typeof e == "number") return new Intl.NumberFormat(r,
|
|
59
|
-
if (t === "currency" && typeof e == "number") return new Intl.NumberFormat(r,
|
|
60
|
-
if (t === "percent" && typeof e == "number") return new Intl.NumberFormat(r,
|
|
56
|
+
let r = We(n);
|
|
57
|
+
if (t === "number" && typeof e == "number") return new Intl.NumberFormat(r, ze).format(e);
|
|
58
|
+
if (t === "currency" && typeof e == "number") return new Intl.NumberFormat(r, Be).format(e);
|
|
59
|
+
if (t === "percent" && typeof e == "number") return new Intl.NumberFormat(r, Ue).format(e);
|
|
61
60
|
if ((t === "date" || t === "datetime") && e != null) {
|
|
62
61
|
let n;
|
|
63
|
-
if (n = e instanceof Date ? e : typeof e == "string" || typeof e == "number" ? new Date(e) : new Date(N(e)), !Number.isNaN(n.getTime())) return t === "date" ? new Intl.DateTimeFormat(r,
|
|
62
|
+
if (n = e instanceof Date ? e : typeof e == "string" || typeof e == "number" ? new Date(e) : new Date(N(e)), !Number.isNaN(n.getTime())) return t === "date" ? new Intl.DateTimeFormat(r, Ve).format(n) : new Intl.DateTimeFormat(r, He).format(n);
|
|
64
63
|
}
|
|
65
64
|
return N(e);
|
|
66
65
|
}
|
|
67
66
|
async function F(e) {
|
|
68
|
-
let { resources: t, lng: n, fallbackLng: r = "en", initOptions: i = {}, instance: a =
|
|
69
|
-
o && a.use(
|
|
67
|
+
let { resources: t, lng: n, fallbackLng: r = "en", initOptions: i = {}, instance: a = ye(), useLanguageDetector: o = !1, detection: s } = e, { interpolation: c, ...l } = i;
|
|
68
|
+
o && a.use(Fe), a.use(xe);
|
|
70
69
|
try {
|
|
71
70
|
let e = {
|
|
72
71
|
...l,
|
|
@@ -87,14 +86,14 @@ async function F(e) {
|
|
|
87
86
|
}
|
|
88
87
|
//#endregion
|
|
89
88
|
//#region src/i18n/mergeResourceLanguages.ts
|
|
90
|
-
var I = (e) => typeof e == "object" && !!e && !Array.isArray(e),
|
|
91
|
-
function
|
|
89
|
+
var I = (e) => typeof e == "object" && !!e && !Array.isArray(e), Ge = (e) => I(e) ? e : {};
|
|
90
|
+
function Ke(...e) {
|
|
92
91
|
let t = {};
|
|
93
92
|
return e.forEach((e) => {
|
|
94
93
|
Object.entries(e).forEach(([e, n]) => {
|
|
95
94
|
let r = t[e];
|
|
96
95
|
if (I(r) && I(n)) {
|
|
97
|
-
t[e] =
|
|
96
|
+
t[e] = Ke(Ge(r), Ge(n));
|
|
98
97
|
return;
|
|
99
98
|
}
|
|
100
99
|
t[e] = n;
|
|
@@ -104,912 +103,746 @@ function L(...e) {
|
|
|
104
103
|
//#endregion
|
|
105
104
|
//#region src/i18n/resources.ts
|
|
106
105
|
var qe = {
|
|
107
|
-
en: {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
view: "View"
|
|
106
|
+
en: { backofficeReact: {
|
|
107
|
+
actions: {
|
|
108
|
+
form: {
|
|
109
|
+
cancel: "Cancel",
|
|
110
|
+
errors: {
|
|
111
|
+
invalidJson: "{{label}} must be valid JSON.",
|
|
112
|
+
invalidJsonArray: "{{label}} must be a valid JSON array.",
|
|
113
|
+
invalidJsonObject: "{{label}} must be a valid JSON object.",
|
|
114
|
+
invalidNumber: "{{label}} must be a valid number.",
|
|
115
|
+
invalidPayload: "The submitted payload is invalid.",
|
|
116
|
+
required: "{{label}} is required."
|
|
117
|
+
}
|
|
122
118
|
},
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
view: "View"
|
|
120
|
+
},
|
|
121
|
+
auth: {
|
|
122
|
+
acceptInvitation: {
|
|
123
|
+
actions: { backToLogin: "Back to login" },
|
|
124
|
+
errors: {
|
|
125
125
|
alreadyAccepted: "This invitation has already been accepted.",
|
|
126
|
-
default: "Unable to accept
|
|
126
|
+
default: "Unable to accept invitation.",
|
|
127
127
|
emailMismatch: "This invitation was sent to a different email address.",
|
|
128
|
-
expired: "
|
|
129
|
-
invalidToken: "
|
|
128
|
+
expired: "Invitation link has expired.",
|
|
129
|
+
invalidToken: "Invitation link is invalid.",
|
|
130
|
+
missingToken: "Invitation link is missing or invalid.",
|
|
130
131
|
passwordMismatch: "Password and confirmation do not match.",
|
|
131
132
|
passwordPolicyViolation: "Your password does not meet policy requirements.",
|
|
132
|
-
rateLimited: "Too many attempts. Please
|
|
133
|
-
} },
|
|
134
|
-
loginFlow: { errors: {
|
|
135
|
-
accountLocked: "Your account is locked.",
|
|
136
|
-
invalidCredentials: "Invalid email or password.",
|
|
137
|
-
invalidEmail: "Please enter a valid email address.",
|
|
138
|
-
rateLimited: "Too many attempts. Please wait and try again.",
|
|
139
|
-
tryAgain: "Something went wrong. Please try again."
|
|
140
|
-
} },
|
|
141
|
-
mfa: { errors: {
|
|
142
|
-
expired: "Your verification challenge has expired.",
|
|
143
|
-
invalidChallenge: "Your verification challenge is invalid.",
|
|
144
|
-
invalidCode: "The verification code is invalid.",
|
|
145
|
-
tooManyAttempts: "Too many invalid codes. Please try again later.",
|
|
146
|
-
verificationFailed: "Unable to verify the code. Please try again."
|
|
147
|
-
} },
|
|
148
|
-
passkey: { errors: {
|
|
149
|
-
challengeExpired: "Your passkey challenge has expired.",
|
|
150
|
-
failed: "Passkey authentication failed. Please try again.",
|
|
151
|
-
invalidAssertion: "The passkey response is invalid.",
|
|
152
|
-
invalidChallenge: "The passkey challenge is invalid.",
|
|
153
|
-
invalidEmail: "Please enter a valid email address.",
|
|
154
|
-
notAvailable: "Passkeys are not available on this device.",
|
|
155
|
-
notFound: "No passkey found for this account."
|
|
156
|
-
} },
|
|
157
|
-
passwordResetComplete: { errors: {
|
|
158
|
-
expired: "This reset link has expired.",
|
|
159
|
-
invalid: "This reset link is invalid.",
|
|
160
|
-
policyViolation: "Your new password does not meet policy requirements."
|
|
161
|
-
} },
|
|
162
|
-
passwordResetRequest: { errors: {
|
|
163
|
-
invalidEmail: "Please enter a valid email address.",
|
|
164
|
-
rateLimited: "Too many requests. Please wait and try again.",
|
|
165
|
-
startFailed: "Unable to start password reset. Please try again."
|
|
166
|
-
} },
|
|
167
|
-
verifyEmail: { errors: {
|
|
168
|
-
alreadyVerified: "This email address is already verified.",
|
|
169
|
-
expired: "This verification link has expired.",
|
|
170
|
-
invalid: "This verification link is invalid."
|
|
171
|
-
} }
|
|
172
|
-
},
|
|
173
|
-
common: {
|
|
174
|
-
actions: {
|
|
175
|
-
change: "Change",
|
|
176
|
-
clear: "Clear",
|
|
177
|
-
close: "Close",
|
|
178
|
-
copied: "Copied",
|
|
179
|
-
copy: "Copy",
|
|
180
|
-
pick: "Pick",
|
|
181
|
-
retry: "Retry"
|
|
133
|
+
rateLimited: "Too many attempts. Please try again later."
|
|
182
134
|
},
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
detail: { notFound: "Not found" },
|
|
199
|
-
emptyState: {
|
|
200
|
-
listEmpty: {
|
|
201
|
-
description: "There are no records to display.",
|
|
202
|
-
title: "No results"
|
|
203
|
-
},
|
|
204
|
-
listEmptyFiltered: {
|
|
205
|
-
actions: { reset: "Reset filters" },
|
|
206
|
-
description: "No results match the current filters."
|
|
207
|
-
}
|
|
135
|
+
form: {
|
|
136
|
+
confirmLabel: "Confirm password",
|
|
137
|
+
confirmPlaceholder: "Confirm your password",
|
|
138
|
+
passwordLabel: "Password",
|
|
139
|
+
passwordPlaceholder: "Create a password",
|
|
140
|
+
submit: "Accept invitation"
|
|
141
|
+
},
|
|
142
|
+
mfaSubtitle: "Enter the verification code to continue.",
|
|
143
|
+
mfaTitle: "Verify your identity",
|
|
144
|
+
status: {
|
|
145
|
+
success: "Invitation accepted.",
|
|
146
|
+
workingButton: "Working..."
|
|
147
|
+
},
|
|
148
|
+
subtitle: "Create your account to join.",
|
|
149
|
+
title: "Accept invitation"
|
|
208
150
|
},
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
boolean: {
|
|
216
|
-
no: "No",
|
|
217
|
-
yes: "Yes"
|
|
218
|
-
},
|
|
219
|
-
placeholders: {
|
|
220
|
-
search: "Search {{label}}",
|
|
221
|
-
unresolved: "Unresolved ID"
|
|
222
|
-
},
|
|
223
|
-
sections: { default: "Filters" }
|
|
151
|
+
emailCapture: {
|
|
152
|
+
continue: "Continue",
|
|
153
|
+
description: "Enter your work email to continue.",
|
|
154
|
+
emailLabel: "Work email",
|
|
155
|
+
emailPlaceholder: "you@company.com",
|
|
156
|
+
forgotPassword: "Forgot your password?"
|
|
224
157
|
},
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
default: {
|
|
235
|
-
default: "Default",
|
|
236
|
-
notDefault: "Not default"
|
|
237
|
-
},
|
|
238
|
-
deployedProduction: {
|
|
239
|
-
deployed: "Deployed",
|
|
240
|
-
notDeployed: "Not deployed"
|
|
241
|
-
},
|
|
242
|
-
enabled: {
|
|
243
|
-
disabled: "Disabled",
|
|
244
|
-
enabled: "Enabled"
|
|
245
|
-
},
|
|
246
|
-
encrypted: {
|
|
247
|
-
encrypted: "Encrypted",
|
|
248
|
-
notEncrypted: "Not encrypted"
|
|
158
|
+
loginFlow: {
|
|
159
|
+
errors: {
|
|
160
|
+
accountLocked: "Too many attempts. Try again later.",
|
|
161
|
+
emailRequired: "Enter an email address to continue.",
|
|
162
|
+
invalidCredentials: "Email or password is incorrect.",
|
|
163
|
+
invalidEmail: "Enter a valid email address.",
|
|
164
|
+
passkeyUnavailable: "Passkeys are not available.",
|
|
165
|
+
rateLimited: "Too many attempts. Please try again later.",
|
|
166
|
+
tryAgain: "Something went wrong. Please try again."
|
|
249
167
|
},
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
168
|
+
methods: { title: "Choose a sign-in method" },
|
|
169
|
+
passkey: {
|
|
170
|
+
description: "Use the passkey associated with {{email}}.",
|
|
171
|
+
title: "Use a passkey"
|
|
253
172
|
},
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
173
|
+
subtitle: {
|
|
174
|
+
default: "Choose a sign-in method to continue.",
|
|
175
|
+
mfa: "Enter the verification code to continue."
|
|
257
176
|
},
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
177
|
+
title: {
|
|
178
|
+
default: "Sign in",
|
|
179
|
+
mfa: "Two-factor authentication"
|
|
261
180
|
}
|
|
262
181
|
},
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
182
|
+
methodChooser: {
|
|
183
|
+
actions: { back: "Back" },
|
|
184
|
+
locked: "Too many attempts. Try again later.",
|
|
185
|
+
lockedWithTime: "Too many attempts. Try again at {{time}}.",
|
|
186
|
+
methods: {
|
|
187
|
+
other: "{{method}}",
|
|
188
|
+
passkey: "Passkey",
|
|
189
|
+
password: "Password"
|
|
190
|
+
},
|
|
191
|
+
prompt: "Choose how to sign in for <strong>{{email}}</strong>."
|
|
267
192
|
},
|
|
268
|
-
|
|
193
|
+
mfa: {
|
|
269
194
|
actions: {
|
|
270
|
-
|
|
271
|
-
|
|
195
|
+
back: "Back",
|
|
196
|
+
submit: "Verify"
|
|
272
197
|
},
|
|
273
198
|
errors: {
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
more: "More results available"
|
|
281
|
-
},
|
|
282
|
-
showing: "Showing {{shown, number}} of {{total, number}}"
|
|
283
|
-
},
|
|
284
|
-
picker: {
|
|
285
|
-
errors: { loadFailed: "Failed to load." },
|
|
286
|
-
searchPlaceholder: { default: "Search..." },
|
|
287
|
-
searchRequired: "Enter an ID to search.",
|
|
288
|
-
title: "Select an ID",
|
|
289
|
-
unavailable: "Picker not available for {{entity}}."
|
|
290
|
-
},
|
|
291
|
-
relations: {
|
|
292
|
-
labelWithCount_one: "{{label}} ({{count}})",
|
|
293
|
-
labelWithCount_other: "{{label}} ({{count}})",
|
|
294
|
-
menu: { label: "Relations" },
|
|
295
|
-
viewList: "View list"
|
|
296
|
-
},
|
|
297
|
-
sidebar: {
|
|
298
|
-
actions: {
|
|
299
|
-
pin: "Pin",
|
|
300
|
-
reorder: "Reorder",
|
|
301
|
-
unpin: "Unpin"
|
|
199
|
+
expired: "Verification session expired. Please try again.",
|
|
200
|
+
invalidChallenge: "Verification session is invalid. Restart the login.",
|
|
201
|
+
invalidCode: "Invalid code. Try again.",
|
|
202
|
+
shortCode: "Enter the 6-digit code.",
|
|
203
|
+
tooManyAttempts: "Too many attempts. Try again later.",
|
|
204
|
+
verificationFailed: "Verification failed. Try again."
|
|
302
205
|
},
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
menuAriaLabel: "Open profile menu",
|
|
307
|
-
title: "Profile",
|
|
308
|
-
unknownUser: "Unknown user"
|
|
206
|
+
form: {
|
|
207
|
+
label: "Verification code",
|
|
208
|
+
placeholder: "123456"
|
|
309
209
|
},
|
|
310
|
-
|
|
311
|
-
|
|
210
|
+
helper: {
|
|
211
|
+
default: "Enter the 6-digit code from your authenticator.",
|
|
212
|
+
withEmail: "Enter the 6-digit code sent to {{email}}."
|
|
213
|
+
}
|
|
312
214
|
},
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
215
|
+
oidc: { buttons: {
|
|
216
|
+
apple: "Continue with Apple",
|
|
217
|
+
generic: "Continue with single sign-on",
|
|
218
|
+
google: "Continue with Google"
|
|
219
|
+
} },
|
|
220
|
+
passkey: {
|
|
221
|
+
actions: {
|
|
222
|
+
showMethods: "Use another method",
|
|
223
|
+
submit: "Continue with passkey",
|
|
224
|
+
submitting: "Waiting for passkey..."
|
|
317
225
|
},
|
|
318
226
|
errors: {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
227
|
+
challengeExpired: "Passkey request expired. Try again.",
|
|
228
|
+
emailRequired: "Enter your email to continue.",
|
|
229
|
+
failed: "Passkey sign-in failed.",
|
|
230
|
+
invalidAssertion: "Passkey response is invalid. Try again.",
|
|
231
|
+
invalidChallenge: "Passkey request is invalid. Try again.",
|
|
232
|
+
invalidEmail: "Enter a valid email address.",
|
|
233
|
+
locked: "Too many attempts. Try again later.",
|
|
234
|
+
lockedWithTime: "Too many attempts. Try again at {{time}}.",
|
|
235
|
+
notAvailable: "Passkeys are not available on this device.",
|
|
236
|
+
notFound: "No passkey found for this account."
|
|
325
237
|
},
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
run: "Run"
|
|
330
|
-
},
|
|
331
|
-
inputJsonLabel: "Input JSON"
|
|
238
|
+
form: {
|
|
239
|
+
emailLabel: "Email",
|
|
240
|
+
emailPlaceholder: "you@company.com"
|
|
332
241
|
},
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
242
|
+
helper: "Use a passkey instead of your password."
|
|
243
|
+
},
|
|
244
|
+
passwordLogin: {
|
|
245
|
+
forgotPassword: "Forgot your password?",
|
|
246
|
+
title: "Sign in"
|
|
247
|
+
},
|
|
248
|
+
passwordResetComplete: {
|
|
249
|
+
errors: {
|
|
250
|
+
expired: "This reset link has expired.",
|
|
251
|
+
invalid: "Reset link is invalid or expired.",
|
|
252
|
+
minLength: "Password must be at least {{minLength}} characters.",
|
|
253
|
+
mismatch: "Passwords do not match.",
|
|
254
|
+
missingToken: "Reset link is missing or invalid.",
|
|
255
|
+
policyViolation: "Your new password does not meet policy requirements."
|
|
342
256
|
},
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
},
|
|
368
|
-
form: {
|
|
369
|
-
confirmLabel: "Confirm password",
|
|
370
|
-
confirmPlaceholder: "Confirm your password",
|
|
371
|
-
passwordLabel: "Password",
|
|
372
|
-
passwordPlaceholder: "Create a password",
|
|
373
|
-
submit: "Accept invitation"
|
|
374
|
-
},
|
|
375
|
-
mfaSubtitle: "Enter the verification code to continue.",
|
|
376
|
-
mfaTitle: "Verify your identity",
|
|
377
|
-
status: {
|
|
378
|
-
success: "Invitation accepted.",
|
|
379
|
-
workingButton: "Working..."
|
|
380
|
-
},
|
|
381
|
-
subtitle: "Create your account to join.",
|
|
382
|
-
title: "Accept invitation"
|
|
257
|
+
form: {
|
|
258
|
+
confirmLabel: "Confirm password",
|
|
259
|
+
confirmPlaceholder: "Re-enter your password",
|
|
260
|
+
description: "Enter a new password for your account.",
|
|
261
|
+
passwordLabel: "Password",
|
|
262
|
+
passwordPlaceholder: "Enter a new password",
|
|
263
|
+
submit: "Update password",
|
|
264
|
+
title: "New password"
|
|
265
|
+
},
|
|
266
|
+
subtitle: "Choose a strong password to secure your account.",
|
|
267
|
+
success: {
|
|
268
|
+
action: "Back to login",
|
|
269
|
+
description: "Your password has been changed.",
|
|
270
|
+
helper: "You can now sign in with your new password.",
|
|
271
|
+
title: "Password updated"
|
|
272
|
+
},
|
|
273
|
+
title: "Set a new password"
|
|
274
|
+
},
|
|
275
|
+
passwordResetRequest: {
|
|
276
|
+
errors: {
|
|
277
|
+
emailRequired: "Enter an email address.",
|
|
278
|
+
invalidEmail: "Please enter a valid email address.",
|
|
279
|
+
rateLimited: "Too many requests. Please wait and try again.",
|
|
280
|
+
startFailed: "Unable to start password reset."
|
|
383
281
|
},
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
emailLabel: "Work email",
|
|
282
|
+
form: {
|
|
283
|
+
description: "Enter the email for your account.",
|
|
284
|
+
emailLabel: "Email",
|
|
388
285
|
emailPlaceholder: "you@company.com",
|
|
389
|
-
|
|
390
|
-
},
|
|
391
|
-
loginFlow: {
|
|
392
|
-
errors: {
|
|
393
|
-
accountLocked: "Too many attempts. Try again later.",
|
|
394
|
-
emailRequired: "Enter an email address to continue.",
|
|
395
|
-
invalidCredentials: "Email or password is incorrect.",
|
|
396
|
-
invalidEmail: "Enter a valid email address.",
|
|
397
|
-
passkeyUnavailable: "Passkeys are not available.",
|
|
398
|
-
rateLimited: "Too many attempts. Please try again later.",
|
|
399
|
-
tryAgain: "Something went wrong. Please try again."
|
|
400
|
-
},
|
|
401
|
-
methods: { title: "Choose a sign-in method" },
|
|
402
|
-
passkey: {
|
|
403
|
-
description: "Use the passkey associated with {{email}}.",
|
|
404
|
-
title: "Use a passkey"
|
|
405
|
-
},
|
|
406
|
-
subtitle: {
|
|
407
|
-
default: "Choose a sign-in method to continue.",
|
|
408
|
-
mfa: "Enter the verification code to continue."
|
|
409
|
-
},
|
|
410
|
-
title: {
|
|
411
|
-
default: "Sign in",
|
|
412
|
-
mfa: "Two-factor authentication"
|
|
413
|
-
}
|
|
414
|
-
},
|
|
415
|
-
methodChooser: {
|
|
416
|
-
actions: { back: "Back" },
|
|
417
|
-
locked: "Too many attempts. Try again later.",
|
|
418
|
-
lockedWithTime: "Too many attempts. Try again at {{time}}.",
|
|
419
|
-
methods: {
|
|
420
|
-
other: "{{method}}",
|
|
421
|
-
passkey: "Passkey",
|
|
422
|
-
password: "Password"
|
|
423
|
-
},
|
|
424
|
-
prompt: "Choose how to sign in for <strong>{{email}}</strong>."
|
|
425
|
-
},
|
|
426
|
-
mfa: {
|
|
427
|
-
actions: {
|
|
428
|
-
back: "Back",
|
|
429
|
-
submit: "Verify"
|
|
430
|
-
},
|
|
431
|
-
errors: {
|
|
432
|
-
expired: "Verification session expired. Please try again.",
|
|
433
|
-
invalidChallenge: "Verification session is invalid. Restart the login.",
|
|
434
|
-
invalidCode: "Invalid code. Try again.",
|
|
435
|
-
shortCode: "Enter the 6-digit code.",
|
|
436
|
-
tooManyAttempts: "Too many attempts. Try again later.",
|
|
437
|
-
verificationFailed: "Verification failed. Try again."
|
|
438
|
-
},
|
|
439
|
-
form: {
|
|
440
|
-
label: "Verification code",
|
|
441
|
-
placeholder: "123456"
|
|
442
|
-
},
|
|
443
|
-
helper: {
|
|
444
|
-
default: "Enter the 6-digit code from your authenticator.",
|
|
445
|
-
withEmail: "Enter the 6-digit code sent to {{email}}."
|
|
446
|
-
}
|
|
286
|
+
submit: "Send reset link"
|
|
447
287
|
},
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
passkey: {
|
|
454
|
-
actions: {
|
|
455
|
-
showMethods: "Use another method",
|
|
456
|
-
submit: "Continue with passkey",
|
|
457
|
-
submitting: "Waiting for passkey..."
|
|
458
|
-
},
|
|
459
|
-
errors: {
|
|
460
|
-
challengeExpired: "Passkey request expired. Try again.",
|
|
461
|
-
emailRequired: "Enter your email to continue.",
|
|
462
|
-
failed: "Passkey sign-in failed.",
|
|
463
|
-
invalidAssertion: "Passkey response is invalid. Try again.",
|
|
464
|
-
invalidChallenge: "Passkey request is invalid. Try again.",
|
|
465
|
-
invalidEmail: "Enter a valid email address.",
|
|
466
|
-
locked: "Too many attempts. Try again later.",
|
|
467
|
-
lockedWithTime: "Too many attempts. Try again at {{time}}.",
|
|
468
|
-
notAvailable: "Passkeys are not available on this device.",
|
|
469
|
-
notFound: "No passkey found for this account."
|
|
470
|
-
},
|
|
471
|
-
form: {
|
|
472
|
-
emailLabel: "Email",
|
|
473
|
-
emailPlaceholder: "you@company.com"
|
|
474
|
-
},
|
|
475
|
-
helper: "Use a passkey instead of your password."
|
|
288
|
+
sent: {
|
|
289
|
+
action: "Send another email",
|
|
290
|
+
description: "We sent a reset link to {{email}}.",
|
|
291
|
+
helper: "If you don't see it, check spam or try again.",
|
|
292
|
+
title: "Check your email"
|
|
476
293
|
},
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
294
|
+
title: "Reset your password"
|
|
295
|
+
},
|
|
296
|
+
verifyEmail: {
|
|
297
|
+
actions: {
|
|
298
|
+
continue: "Continue",
|
|
299
|
+
return: "Back to login"
|
|
480
300
|
},
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
missingToken: "Reset link is missing or invalid."
|
|
487
|
-
},
|
|
488
|
-
form: {
|
|
489
|
-
confirmLabel: "Confirm password",
|
|
490
|
-
confirmPlaceholder: "Re-enter your password",
|
|
491
|
-
description: "Enter a new password for your account.",
|
|
492
|
-
passwordLabel: "Password",
|
|
493
|
-
passwordPlaceholder: "Enter a new password",
|
|
494
|
-
submit: "Update password",
|
|
495
|
-
title: "New password"
|
|
496
|
-
},
|
|
497
|
-
subtitle: "Choose a strong password to secure your account.",
|
|
498
|
-
success: {
|
|
499
|
-
action: "Back to login",
|
|
500
|
-
description: "Your password has been changed.",
|
|
501
|
-
helper: "You can now sign in with your new password.",
|
|
502
|
-
title: "Password updated"
|
|
503
|
-
},
|
|
504
|
-
title: "Set a new password"
|
|
301
|
+
errors: {
|
|
302
|
+
alreadyVerified: "This email address is already verified.",
|
|
303
|
+
expired: "This verification link has expired.",
|
|
304
|
+
invalid: "Verification link is invalid or expired.",
|
|
305
|
+
missingToken: "Verification link is missing or invalid."
|
|
505
306
|
},
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
},
|
|
511
|
-
form: {
|
|
512
|
-
description: "Enter the email for your account.",
|
|
513
|
-
emailLabel: "Email",
|
|
514
|
-
emailPlaceholder: "you@company.com",
|
|
515
|
-
submit: "Send reset link"
|
|
516
|
-
},
|
|
517
|
-
sent: {
|
|
518
|
-
action: "Send another email",
|
|
519
|
-
description: "We sent a reset link to {{email}}.",
|
|
520
|
-
helper: "If you don't see it, check spam or try again.",
|
|
521
|
-
title: "Check your email"
|
|
522
|
-
},
|
|
523
|
-
title: "Reset your password"
|
|
307
|
+
status: {
|
|
308
|
+
success: "Email verified. You can continue.",
|
|
309
|
+
verifying: "Verifying...",
|
|
310
|
+
verifyingButton: "Verifying"
|
|
524
311
|
},
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
},
|
|
539
|
-
subtitle: "Confirm your email address to continue.",
|
|
540
|
-
title: "Verify your email"
|
|
541
|
-
}
|
|
312
|
+
subtitle: "Confirm your email address to continue.",
|
|
313
|
+
title: "Verify your email"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
common: {
|
|
317
|
+
actions: {
|
|
318
|
+
change: "Change",
|
|
319
|
+
clear: "Clear",
|
|
320
|
+
close: "Close",
|
|
321
|
+
copied: "Copied",
|
|
322
|
+
copy: "Copy",
|
|
323
|
+
pick: "Pick",
|
|
324
|
+
retry: "Retry"
|
|
542
325
|
},
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
fr: {
|
|
552
|
-
backofficeReact: {
|
|
326
|
+
boolean: {
|
|
327
|
+
no: "No",
|
|
328
|
+
yes: "Yes"
|
|
329
|
+
},
|
|
330
|
+
loading: "Loading...",
|
|
331
|
+
notAvailable: "N/A"
|
|
332
|
+
},
|
|
333
|
+
dashboard: {
|
|
553
334
|
actions: {
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
335
|
+
openList: "Open list",
|
|
336
|
+
openTool: "Open tool"
|
|
337
|
+
},
|
|
338
|
+
subtitle: "Overview of the Work context.",
|
|
339
|
+
title: "Dashboard"
|
|
340
|
+
},
|
|
341
|
+
detail: { notFound: "Not found" },
|
|
342
|
+
emptyState: {
|
|
343
|
+
listEmpty: {
|
|
344
|
+
description: "There are no records to display.",
|
|
345
|
+
title: "No results"
|
|
346
|
+
},
|
|
347
|
+
listEmptyFiltered: {
|
|
348
|
+
actions: { reset: "Reset filters" },
|
|
349
|
+
description: "No results match the current filters."
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
filters: {
|
|
353
|
+
actions: { filterBy: "Filter by {{label}}" },
|
|
354
|
+
all: "All {{label}}",
|
|
355
|
+
allFilters: "All filters",
|
|
356
|
+
allFiltersWithCount_one: "All filters ({{count}})",
|
|
357
|
+
allFiltersWithCount_other: "All filters ({{count}})",
|
|
358
|
+
boolean: {
|
|
359
|
+
no: "No",
|
|
360
|
+
yes: "Yes"
|
|
361
|
+
},
|
|
362
|
+
placeholders: {
|
|
363
|
+
search: "Search {{label}}",
|
|
364
|
+
unresolved: "Unresolved ID"
|
|
365
|
+
},
|
|
366
|
+
sections: { default: "Filters" }
|
|
367
|
+
},
|
|
368
|
+
flags: {
|
|
369
|
+
agentManaged: {
|
|
370
|
+
agentManaged: "Agent managed",
|
|
371
|
+
userManaged: "User managed"
|
|
372
|
+
},
|
|
373
|
+
capability: {
|
|
374
|
+
allowed: "Allowed",
|
|
375
|
+
denied: "Denied"
|
|
376
|
+
},
|
|
377
|
+
default: {
|
|
378
|
+
default: "Default",
|
|
379
|
+
notDefault: "Not default"
|
|
380
|
+
},
|
|
381
|
+
deployedProduction: {
|
|
382
|
+
deployed: "Deployed",
|
|
383
|
+
notDeployed: "Not deployed"
|
|
384
|
+
},
|
|
385
|
+
enabled: {
|
|
386
|
+
disabled: "Disabled",
|
|
387
|
+
enabled: "Enabled"
|
|
388
|
+
},
|
|
389
|
+
encrypted: {
|
|
390
|
+
encrypted: "Encrypted",
|
|
391
|
+
notEncrypted: "Not encrypted"
|
|
392
|
+
},
|
|
393
|
+
failure: {
|
|
394
|
+
failed: "Failed",
|
|
395
|
+
ok: "OK"
|
|
396
|
+
},
|
|
397
|
+
forced: {
|
|
398
|
+
forced: "Forced",
|
|
399
|
+
normal: "Normal"
|
|
400
|
+
},
|
|
401
|
+
locked: {
|
|
402
|
+
locked: "Locked",
|
|
403
|
+
unlocked: "Unlocked"
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
format: {
|
|
407
|
+
currency: "{{value, currency}}",
|
|
408
|
+
number: "{{value, number}}",
|
|
409
|
+
percent: "{{value, percent}}"
|
|
410
|
+
},
|
|
411
|
+
history: "",
|
|
412
|
+
list: {
|
|
413
|
+
actions: {
|
|
414
|
+
refresh: "Refresh",
|
|
415
|
+
retry: "Retry"
|
|
416
|
+
},
|
|
417
|
+
errors: {
|
|
418
|
+
tableFailed: "The table failed to load.",
|
|
419
|
+
title: "Table error"
|
|
420
|
+
},
|
|
421
|
+
loadMore: {
|
|
422
|
+
end: "End of results",
|
|
423
|
+
loading: "Loading more…",
|
|
424
|
+
more: "More results available"
|
|
425
|
+
},
|
|
426
|
+
showing: "Showing {{shown, number}} of {{total, number}}",
|
|
427
|
+
title: ""
|
|
428
|
+
},
|
|
429
|
+
overview: "",
|
|
430
|
+
picker: {
|
|
431
|
+
errors: { loadFailed: "Failed to load." },
|
|
432
|
+
searchPlaceholder: { default: "Search..." },
|
|
433
|
+
searchRequired: "Enter an ID to search.",
|
|
434
|
+
title: "Select an ID",
|
|
435
|
+
unavailable: "Picker not available for {{entity}}."
|
|
436
|
+
},
|
|
437
|
+
relations: {
|
|
438
|
+
labelWithCount_one: "{{label}} ({{count}})",
|
|
439
|
+
labelWithCount_other: "{{label}} ({{count}})",
|
|
440
|
+
menu: { label: "Relations" },
|
|
441
|
+
viewList: "View list"
|
|
442
|
+
},
|
|
443
|
+
review: { status: {
|
|
444
|
+
approved: "Approved",
|
|
445
|
+
changesRequested: "Changes requested",
|
|
446
|
+
pending: "Pending",
|
|
447
|
+
unknown: "Unknown"
|
|
448
|
+
} },
|
|
449
|
+
sidebar: {
|
|
450
|
+
actions: {
|
|
451
|
+
pin: "Pin",
|
|
452
|
+
reorder: "Reorder",
|
|
453
|
+
unpin: "Unpin"
|
|
454
|
+
},
|
|
455
|
+
items: { dashboard: "Dashboard" },
|
|
456
|
+
profile: {
|
|
457
|
+
actions: { signOut: "Sign out" },
|
|
458
|
+
menuAriaLabel: "Open profile menu",
|
|
459
|
+
title: "Profile",
|
|
460
|
+
unknownUser: "Unknown user"
|
|
461
|
+
},
|
|
462
|
+
search: { placeholder: "Search…" },
|
|
463
|
+
sections: { pinned: "Pinned" }
|
|
464
|
+
},
|
|
465
|
+
tools: { output: "Output" }
|
|
466
|
+
} },
|
|
467
|
+
fr: { backofficeReact: {
|
|
468
|
+
actions: {
|
|
469
|
+
form: {
|
|
470
|
+
cancel: "Annuler",
|
|
471
|
+
errors: {
|
|
472
|
+
invalidJson: "{{label}} doit être un JSON valide.",
|
|
473
|
+
invalidJsonArray: "{{label}} doit être un tableau JSON valide.",
|
|
474
|
+
invalidJsonObject: "{{label}} doit être un objet JSON valide.",
|
|
475
|
+
invalidNumber: "{{label}} doit être un nombre valide.",
|
|
476
|
+
invalidPayload: "La charge utile soumise est invalide.",
|
|
477
|
+
required: "{{label}} est requis."
|
|
478
|
+
}
|
|
566
479
|
},
|
|
567
|
-
|
|
568
|
-
|
|
480
|
+
view: "Voir"
|
|
481
|
+
},
|
|
482
|
+
auth: {
|
|
483
|
+
acceptInvitation: {
|
|
484
|
+
actions: { backToLogin: "Retour à la connexion" },
|
|
485
|
+
errors: {
|
|
569
486
|
alreadyAccepted: "Cette invitation a déjà été acceptée.",
|
|
570
|
-
default: "Impossible d'accepter
|
|
487
|
+
default: "Impossible d'accepter l'invitation.",
|
|
571
488
|
emailMismatch: "Cette invitation a été envoyée à une autre adresse email.",
|
|
572
|
-
expired: "
|
|
573
|
-
invalidToken: "
|
|
489
|
+
expired: "Le lien d'invitation a expiré.",
|
|
490
|
+
invalidToken: "Le lien d'invitation est invalide.",
|
|
491
|
+
missingToken: "Le lien d'invitation est manquant ou invalide.",
|
|
574
492
|
passwordMismatch: "Le mot de passe et sa confirmation ne correspondent pas.",
|
|
575
493
|
passwordPolicyViolation: "Votre mot de passe ne respecte pas la politique de sécurité.",
|
|
576
|
-
rateLimited: "Trop de tentatives. Veuillez
|
|
577
|
-
} },
|
|
578
|
-
loginFlow: { errors: {
|
|
579
|
-
accountLocked: "Votre compte est verrouillé.",
|
|
580
|
-
invalidCredentials: "Email ou mot de passe invalide.",
|
|
581
|
-
invalidEmail: "Veuillez saisir une adresse email valide.",
|
|
582
|
-
rateLimited: "Trop de tentatives. Veuillez patienter puis réessayer.",
|
|
583
|
-
tryAgain: "Une erreur est survenue. Veuillez réessayer."
|
|
584
|
-
} },
|
|
585
|
-
mfa: { errors: {
|
|
586
|
-
expired: "Votre challenge de vérification a expiré.",
|
|
587
|
-
invalidChallenge: "Votre challenge de vérification est invalide.",
|
|
588
|
-
invalidCode: "Le code de vérification est invalide.",
|
|
589
|
-
tooManyAttempts: "Trop de codes invalides. Veuillez réessayer plus tard.",
|
|
590
|
-
verificationFailed: "Impossible de vérifier le code. Veuillez réessayer."
|
|
591
|
-
} },
|
|
592
|
-
passkey: { errors: {
|
|
593
|
-
challengeExpired: "Votre challenge passkey a expiré.",
|
|
594
|
-
failed: "L'authentification passkey a échoué. Veuillez réessayer.",
|
|
595
|
-
invalidAssertion: "La réponse passkey est invalide.",
|
|
596
|
-
invalidChallenge: "Le challenge passkey est invalide.",
|
|
597
|
-
invalidEmail: "Veuillez saisir une adresse email valide.",
|
|
598
|
-
notAvailable: "Les passkeys ne sont pas disponibles sur cet appareil.",
|
|
599
|
-
notFound: "Aucune passkey trouvée pour ce compte."
|
|
600
|
-
} },
|
|
601
|
-
passwordResetComplete: { errors: {
|
|
602
|
-
expired: "Ce lien de réinitialisation a expiré.",
|
|
603
|
-
invalid: "Ce lien de réinitialisation est invalide.",
|
|
604
|
-
policyViolation: "Votre nouveau mot de passe ne respecte pas la politique de sécurité."
|
|
605
|
-
} },
|
|
606
|
-
passwordResetRequest: { errors: {
|
|
607
|
-
invalidEmail: "Veuillez saisir une adresse email valide.",
|
|
608
|
-
rateLimited: "Trop de demandes. Veuillez patienter puis réessayer.",
|
|
609
|
-
startFailed: "Impossible de démarrer la réinitialisation du mot de passe. Veuillez réessayer."
|
|
610
|
-
} },
|
|
611
|
-
verifyEmail: { errors: {
|
|
612
|
-
alreadyVerified: "Cette adresse email est déjà vérifiée.",
|
|
613
|
-
expired: "Ce lien de vérification a expiré.",
|
|
614
|
-
invalid: "Ce lien de vérification est invalide."
|
|
615
|
-
} }
|
|
616
|
-
},
|
|
617
|
-
common: {
|
|
618
|
-
actions: {
|
|
619
|
-
change: "Modifier",
|
|
620
|
-
clear: "Effacer",
|
|
621
|
-
close: "Fermer",
|
|
622
|
-
copied: "Copié",
|
|
623
|
-
copy: "Copier",
|
|
624
|
-
pick: "Choisir",
|
|
625
|
-
retry: "Réessayer"
|
|
626
|
-
},
|
|
627
|
-
boolean: {
|
|
628
|
-
no: "Non",
|
|
629
|
-
yes: "Oui"
|
|
630
|
-
},
|
|
631
|
-
loading: "Chargement...",
|
|
632
|
-
notAvailable: "N/D"
|
|
633
|
-
},
|
|
634
|
-
dashboard: {
|
|
635
|
-
actions: {
|
|
636
|
-
openList: "Ouvrir la liste",
|
|
637
|
-
openTool: "Ouvrir l'outil"
|
|
638
|
-
},
|
|
639
|
-
subtitle: "Vue d'ensemble du contexte Work.",
|
|
640
|
-
title: "Tableau de bord"
|
|
641
|
-
},
|
|
642
|
-
detail: { notFound: "Introuvable" },
|
|
643
|
-
emptyState: {
|
|
644
|
-
listEmpty: {
|
|
645
|
-
description: "Aucun enregistrement à afficher.",
|
|
646
|
-
title: "Aucun résultat"
|
|
494
|
+
rateLimited: "Trop de tentatives. Veuillez réessayer plus tard."
|
|
647
495
|
},
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
496
|
+
form: {
|
|
497
|
+
confirmLabel: "Confirmer le mot de passe",
|
|
498
|
+
confirmPlaceholder: "Confirmez votre mot de passe",
|
|
499
|
+
passwordLabel: "Mot de passe",
|
|
500
|
+
passwordPlaceholder: "Créez un mot de passe",
|
|
501
|
+
submit: "Accepter l'invitation"
|
|
502
|
+
},
|
|
503
|
+
mfaSubtitle: "Entrez le code de vérification pour continuer.",
|
|
504
|
+
mfaTitle: "Vérifiez votre identité",
|
|
505
|
+
status: {
|
|
506
|
+
success: "Invitation acceptée.",
|
|
507
|
+
workingButton: "Traitement..."
|
|
508
|
+
},
|
|
509
|
+
subtitle: "Créez votre compte pour rejoindre.",
|
|
510
|
+
title: "Accepter l'invitation"
|
|
652
511
|
},
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
allFiltersWithCount_other: "Tous les filtres ({{count}})",
|
|
660
|
-
boolean: {
|
|
661
|
-
no: "Non",
|
|
662
|
-
yes: "Oui"
|
|
663
|
-
},
|
|
664
|
-
placeholders: {
|
|
665
|
-
search: "Rechercher {{label}}",
|
|
666
|
-
unresolved: "ID introuvable"
|
|
667
|
-
},
|
|
668
|
-
sections: { default: "Filtres" }
|
|
512
|
+
emailCapture: {
|
|
513
|
+
continue: "Continuer",
|
|
514
|
+
description: "Entrez votre email professionnel pour continuer.",
|
|
515
|
+
emailLabel: "Email professionnel",
|
|
516
|
+
emailPlaceholder: "vous@entreprise.com",
|
|
517
|
+
forgotPassword: "Mot de passe oublié ?"
|
|
669
518
|
},
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
default: {
|
|
680
|
-
default: "Par défaut",
|
|
681
|
-
notDefault: "Non par défaut"
|
|
682
|
-
},
|
|
683
|
-
deployedProduction: {
|
|
684
|
-
deployed: "Déployé",
|
|
685
|
-
notDeployed: "Non déployé"
|
|
686
|
-
},
|
|
687
|
-
enabled: {
|
|
688
|
-
disabled: "Désactivé",
|
|
689
|
-
enabled: "Activé"
|
|
690
|
-
},
|
|
691
|
-
encrypted: {
|
|
692
|
-
encrypted: "Chiffré",
|
|
693
|
-
notEncrypted: "Non chiffré"
|
|
519
|
+
loginFlow: {
|
|
520
|
+
errors: {
|
|
521
|
+
accountLocked: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
522
|
+
emailRequired: "Entrez une adresse email pour continuer.",
|
|
523
|
+
invalidCredentials: "Email ou mot de passe incorrect.",
|
|
524
|
+
invalidEmail: "Entrez une adresse email valide.",
|
|
525
|
+
passkeyUnavailable: "Les passkeys ne sont pas disponibles.",
|
|
526
|
+
rateLimited: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
527
|
+
tryAgain: "Une erreur est survenue. Veuillez réessayer."
|
|
694
528
|
},
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
529
|
+
methods: { title: "Choisissez une méthode de connexion" },
|
|
530
|
+
passkey: {
|
|
531
|
+
description: "Utilisez la passkey associée à {{email}}.",
|
|
532
|
+
title: "Utiliser une passkey"
|
|
698
533
|
},
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
534
|
+
subtitle: {
|
|
535
|
+
default: "Choisissez une méthode de connexion pour continuer.",
|
|
536
|
+
mfa: "Entrez le code de vérification pour continuer."
|
|
702
537
|
},
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
538
|
+
title: {
|
|
539
|
+
default: "Se connecter",
|
|
540
|
+
mfa: "Authentification à deux facteurs"
|
|
706
541
|
}
|
|
707
542
|
},
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
543
|
+
methodChooser: {
|
|
544
|
+
actions: { back: "Retour" },
|
|
545
|
+
locked: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
546
|
+
lockedWithTime: "Trop de tentatives. Veuillez réessayer à {{time}}.",
|
|
547
|
+
methods: {
|
|
548
|
+
other: "{{method}}",
|
|
549
|
+
passkey: "Passkey",
|
|
550
|
+
password: "Mot de passe"
|
|
551
|
+
},
|
|
552
|
+
prompt: "Choisissez comment vous connecter pour <strong>{{email}}</strong>."
|
|
712
553
|
},
|
|
713
|
-
|
|
554
|
+
mfa: {
|
|
714
555
|
actions: {
|
|
715
|
-
|
|
716
|
-
|
|
556
|
+
back: "Retour",
|
|
557
|
+
submit: "Vérifier"
|
|
717
558
|
},
|
|
718
559
|
errors: {
|
|
719
|
-
|
|
720
|
-
|
|
560
|
+
expired: "La session de vérification a expiré. Réessayez.",
|
|
561
|
+
invalidChallenge: "La session de vérification est invalide. Reprenez la connexion.",
|
|
562
|
+
invalidCode: "Code invalide. Réessayez.",
|
|
563
|
+
shortCode: "Entrez le code à 6 chiffres.",
|
|
564
|
+
tooManyAttempts: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
565
|
+
verificationFailed: "La vérification a échoué. Réessayez."
|
|
721
566
|
},
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
more: "Plus de résultats disponibles"
|
|
726
|
-
},
|
|
727
|
-
showing: "Affichage de {{shown, number}} sur {{total, number}}"
|
|
728
|
-
},
|
|
729
|
-
picker: {
|
|
730
|
-
errors: { loadFailed: "Échec du chargement." },
|
|
731
|
-
searchPlaceholder: { default: "Rechercher..." },
|
|
732
|
-
searchRequired: "Saisissez un ID pour rechercher.",
|
|
733
|
-
title: "Sélectionner un ID",
|
|
734
|
-
unavailable: "Sélecteur indisponible pour {{entity}}."
|
|
735
|
-
},
|
|
736
|
-
relations: {
|
|
737
|
-
labelWithCount_one: "{{label}} ({{count}})",
|
|
738
|
-
labelWithCount_many: "{{label}} ({{count}})",
|
|
739
|
-
labelWithCount_other: "{{label}} ({{count}})",
|
|
740
|
-
menu: { label: "Relations" },
|
|
741
|
-
viewList: "Voir la liste"
|
|
742
|
-
},
|
|
743
|
-
sidebar: {
|
|
744
|
-
actions: {
|
|
745
|
-
pin: "Épingler",
|
|
746
|
-
reorder: "Réordonner",
|
|
747
|
-
unpin: "Désépingler"
|
|
748
|
-
},
|
|
749
|
-
items: { dashboard: "Tableau de bord" },
|
|
750
|
-
profile: {
|
|
751
|
-
actions: { signOut: "Se déconnecter" },
|
|
752
|
-
menuAriaLabel: "Ouvrir le menu profil",
|
|
753
|
-
title: "Profil",
|
|
754
|
-
unknownUser: "Utilisateur inconnu"
|
|
567
|
+
form: {
|
|
568
|
+
label: "Code de vérification",
|
|
569
|
+
placeholder: "123456"
|
|
755
570
|
},
|
|
756
|
-
|
|
757
|
-
|
|
571
|
+
helper: {
|
|
572
|
+
default: "Entrez le code à 6 chiffres de votre authentificateur.",
|
|
573
|
+
withEmail: "Entrez le code à 6 chiffres envoyé à {{email}}."
|
|
574
|
+
}
|
|
758
575
|
},
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
576
|
+
oidc: { buttons: {
|
|
577
|
+
apple: "Continuer avec Apple",
|
|
578
|
+
generic: "Continuer avec un SSO",
|
|
579
|
+
google: "Continuer avec Google"
|
|
580
|
+
} },
|
|
581
|
+
passkey: {
|
|
582
|
+
actions: {
|
|
583
|
+
showMethods: "Utiliser une autre méthode",
|
|
584
|
+
submit: "Continuer avec la passkey",
|
|
585
|
+
submitting: "En attente de la passkey..."
|
|
763
586
|
},
|
|
764
587
|
errors: {
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
588
|
+
challengeExpired: "La demande de passkey a expiré. Réessayez.",
|
|
589
|
+
emailRequired: "Entrez votre email pour continuer.",
|
|
590
|
+
failed: "Échec de la connexion par passkey.",
|
|
591
|
+
invalidAssertion: "La réponse de passkey est invalide. Réessayez.",
|
|
592
|
+
invalidChallenge: "La demande de passkey est invalide. Réessayez.",
|
|
593
|
+
invalidEmail: "Entrez une adresse email valide.",
|
|
594
|
+
locked: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
595
|
+
lockedWithTime: "Trop de tentatives. Veuillez réessayer à {{time}}.",
|
|
596
|
+
notAvailable: "Les passkeys ne sont pas disponibles sur cet appareil.",
|
|
597
|
+
notFound: "Aucune passkey n'est associée à ce compte."
|
|
771
598
|
},
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
run: "Exécuter"
|
|
776
|
-
},
|
|
777
|
-
inputJsonLabel: "JSON d'entrée"
|
|
599
|
+
form: {
|
|
600
|
+
emailLabel: "Email",
|
|
601
|
+
emailPlaceholder: "vous@entreprise.com"
|
|
778
602
|
},
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
603
|
+
helper: "Utilisez une passkey à la place de votre mot de passe."
|
|
604
|
+
},
|
|
605
|
+
passwordLogin: {
|
|
606
|
+
forgotPassword: "Mot de passe oublié ?",
|
|
607
|
+
title: "Se connecter"
|
|
608
|
+
},
|
|
609
|
+
passwordResetComplete: {
|
|
610
|
+
errors: {
|
|
611
|
+
expired: "Ce lien de réinitialisation a expiré.",
|
|
612
|
+
invalid: "Le lien de réinitialisation est invalide ou expiré.",
|
|
613
|
+
minLength: "Le mot de passe doit contenir au moins {{minLength}} caractères.",
|
|
614
|
+
mismatch: "Les mots de passe ne correspondent pas.",
|
|
615
|
+
missingToken: "Le lien de réinitialisation est manquant ou invalide.",
|
|
616
|
+
policyViolation: "Votre nouveau mot de passe ne respecte pas la politique de sécurité."
|
|
788
617
|
},
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
},
|
|
814
|
-
form: {
|
|
815
|
-
confirmLabel: "Confirmer le mot de passe",
|
|
816
|
-
confirmPlaceholder: "Confirmez votre mot de passe",
|
|
817
|
-
passwordLabel: "Mot de passe",
|
|
818
|
-
passwordPlaceholder: "Créez un mot de passe",
|
|
819
|
-
submit: "Accepter l'invitation"
|
|
820
|
-
},
|
|
821
|
-
mfaSubtitle: "Entrez le code de vérification pour continuer.",
|
|
822
|
-
mfaTitle: "Vérifiez votre identité",
|
|
823
|
-
status: {
|
|
824
|
-
success: "Invitation acceptée.",
|
|
825
|
-
workingButton: "Traitement..."
|
|
826
|
-
},
|
|
827
|
-
subtitle: "Créez votre compte pour rejoindre.",
|
|
828
|
-
title: "Accepter l'invitation"
|
|
618
|
+
form: {
|
|
619
|
+
confirmLabel: "Confirmer le mot de passe",
|
|
620
|
+
confirmPlaceholder: "Saisissez à nouveau votre mot de passe",
|
|
621
|
+
description: "Entrez un nouveau mot de passe pour votre compte.",
|
|
622
|
+
passwordLabel: "Mot de passe",
|
|
623
|
+
passwordPlaceholder: "Entrez un nouveau mot de passe",
|
|
624
|
+
submit: "Mettre à jour le mot de passe",
|
|
625
|
+
title: "Nouveau mot de passe"
|
|
626
|
+
},
|
|
627
|
+
subtitle: "Choisissez un mot de passe robuste pour sécuriser votre compte.",
|
|
628
|
+
success: {
|
|
629
|
+
action: "Retour à la connexion",
|
|
630
|
+
description: "Votre mot de passe a été modifié.",
|
|
631
|
+
helper: "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.",
|
|
632
|
+
title: "Mot de passe mis à jour"
|
|
633
|
+
},
|
|
634
|
+
title: "Définir un nouveau mot de passe"
|
|
635
|
+
},
|
|
636
|
+
passwordResetRequest: {
|
|
637
|
+
errors: {
|
|
638
|
+
emailRequired: "Entrez une adresse email.",
|
|
639
|
+
invalidEmail: "Veuillez saisir une adresse email valide.",
|
|
640
|
+
rateLimited: "Trop de demandes. Veuillez patienter puis réessayer.",
|
|
641
|
+
startFailed: "Impossible de démarrer la réinitialisation."
|
|
829
642
|
},
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
emailLabel: "Email professionnel",
|
|
643
|
+
form: {
|
|
644
|
+
description: "Entrez l'email de votre compte.",
|
|
645
|
+
emailLabel: "Email",
|
|
834
646
|
emailPlaceholder: "vous@entreprise.com",
|
|
835
|
-
|
|
836
|
-
},
|
|
837
|
-
loginFlow: {
|
|
838
|
-
errors: {
|
|
839
|
-
accountLocked: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
840
|
-
emailRequired: "Entrez une adresse email pour continuer.",
|
|
841
|
-
invalidCredentials: "Email ou mot de passe incorrect.",
|
|
842
|
-
invalidEmail: "Entrez une adresse email valide.",
|
|
843
|
-
passkeyUnavailable: "Les passkeys ne sont pas disponibles.",
|
|
844
|
-
rateLimited: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
845
|
-
tryAgain: "Une erreur est survenue. Veuillez réessayer."
|
|
846
|
-
},
|
|
847
|
-
methods: { title: "Choisissez une méthode de connexion" },
|
|
848
|
-
passkey: {
|
|
849
|
-
description: "Utilisez la passkey associée à {{email}}.",
|
|
850
|
-
title: "Utiliser une passkey"
|
|
851
|
-
},
|
|
852
|
-
subtitle: {
|
|
853
|
-
default: "Choisissez une méthode de connexion pour continuer.",
|
|
854
|
-
mfa: "Entrez le code de vérification pour continuer."
|
|
855
|
-
},
|
|
856
|
-
title: {
|
|
857
|
-
default: "Se connecter",
|
|
858
|
-
mfa: "Authentification à deux facteurs"
|
|
859
|
-
}
|
|
860
|
-
},
|
|
861
|
-
methodChooser: {
|
|
862
|
-
actions: { back: "Retour" },
|
|
863
|
-
locked: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
864
|
-
lockedWithTime: "Trop de tentatives. Veuillez réessayer à {{time}}.",
|
|
865
|
-
methods: {
|
|
866
|
-
other: "{{method}}",
|
|
867
|
-
passkey: "Passkey",
|
|
868
|
-
password: "Mot de passe"
|
|
869
|
-
},
|
|
870
|
-
prompt: "Choisissez comment vous connecter pour <strong>{{email}}</strong>."
|
|
871
|
-
},
|
|
872
|
-
mfa: {
|
|
873
|
-
actions: {
|
|
874
|
-
back: "Retour",
|
|
875
|
-
submit: "Vérifier"
|
|
876
|
-
},
|
|
877
|
-
errors: {
|
|
878
|
-
expired: "La session de vérification a expiré. Réessayez.",
|
|
879
|
-
invalidChallenge: "La session de vérification est invalide. Reprenez la connexion.",
|
|
880
|
-
invalidCode: "Code invalide. Réessayez.",
|
|
881
|
-
shortCode: "Entrez le code à 6 chiffres.",
|
|
882
|
-
tooManyAttempts: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
883
|
-
verificationFailed: "La vérification a échoué. Réessayez."
|
|
884
|
-
},
|
|
885
|
-
form: {
|
|
886
|
-
label: "Code de vérification",
|
|
887
|
-
placeholder: "123456"
|
|
888
|
-
},
|
|
889
|
-
helper: {
|
|
890
|
-
default: "Entrez le code à 6 chiffres de votre authentificateur.",
|
|
891
|
-
withEmail: "Entrez le code à 6 chiffres envoyé à {{email}}."
|
|
892
|
-
}
|
|
647
|
+
submit: "Envoyer le lien de réinitialisation"
|
|
893
648
|
},
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
passkey: {
|
|
900
|
-
actions: {
|
|
901
|
-
showMethods: "Utiliser une autre méthode",
|
|
902
|
-
submit: "Continuer avec la passkey",
|
|
903
|
-
submitting: "En attente de la passkey..."
|
|
904
|
-
},
|
|
905
|
-
errors: {
|
|
906
|
-
challengeExpired: "La demande de passkey a expiré. Réessayez.",
|
|
907
|
-
emailRequired: "Entrez votre email pour continuer.",
|
|
908
|
-
failed: "Échec de la connexion par passkey.",
|
|
909
|
-
invalidAssertion: "La réponse de passkey est invalide. Réessayez.",
|
|
910
|
-
invalidChallenge: "La demande de passkey est invalide. Réessayez.",
|
|
911
|
-
invalidEmail: "Entrez une adresse email valide.",
|
|
912
|
-
locked: "Trop de tentatives. Veuillez réessayer plus tard.",
|
|
913
|
-
lockedWithTime: "Trop de tentatives. Veuillez réessayer à {{time}}.",
|
|
914
|
-
notAvailable: "Les passkeys ne sont pas disponibles sur cet appareil.",
|
|
915
|
-
notFound: "Aucune passkey n'est associée à ce compte."
|
|
916
|
-
},
|
|
917
|
-
form: {
|
|
918
|
-
emailLabel: "Email",
|
|
919
|
-
emailPlaceholder: "vous@entreprise.com"
|
|
920
|
-
},
|
|
921
|
-
helper: "Utilisez une passkey à la place de votre mot de passe."
|
|
649
|
+
sent: {
|
|
650
|
+
action: "Envoyer un autre email",
|
|
651
|
+
description: "Nous avons envoyé un lien de réinitialisation à {{email}}.",
|
|
652
|
+
helper: "Si vous ne le voyez pas, vérifiez les spams ou réessayez.",
|
|
653
|
+
title: "Vérifiez votre email"
|
|
922
654
|
},
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
655
|
+
title: "Réinitialiser votre mot de passe"
|
|
656
|
+
},
|
|
657
|
+
verifyEmail: {
|
|
658
|
+
actions: {
|
|
659
|
+
continue: "Continuer",
|
|
660
|
+
return: "Retour à la connexion"
|
|
926
661
|
},
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
missingToken: "Le lien de réinitialisation est manquant ou invalide."
|
|
933
|
-
},
|
|
934
|
-
form: {
|
|
935
|
-
confirmLabel: "Confirmer le mot de passe",
|
|
936
|
-
confirmPlaceholder: "Saisissez à nouveau votre mot de passe",
|
|
937
|
-
description: "Entrez un nouveau mot de passe pour votre compte.",
|
|
938
|
-
passwordLabel: "Mot de passe",
|
|
939
|
-
passwordPlaceholder: "Entrez un nouveau mot de passe",
|
|
940
|
-
submit: "Mettre à jour le mot de passe",
|
|
941
|
-
title: "Nouveau mot de passe"
|
|
942
|
-
},
|
|
943
|
-
subtitle: "Choisissez un mot de passe robuste pour sécuriser votre compte.",
|
|
944
|
-
success: {
|
|
945
|
-
action: "Retour à la connexion",
|
|
946
|
-
description: "Votre mot de passe a été modifié.",
|
|
947
|
-
helper: "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.",
|
|
948
|
-
title: "Mot de passe mis à jour"
|
|
949
|
-
},
|
|
950
|
-
title: "Définir un nouveau mot de passe"
|
|
662
|
+
errors: {
|
|
663
|
+
alreadyVerified: "Cette adresse email est déjà vérifiée.",
|
|
664
|
+
expired: "Ce lien de vérification a expiré.",
|
|
665
|
+
invalid: "Le lien de vérification est invalide ou expiré.",
|
|
666
|
+
missingToken: "Le lien de vérification est manquant ou invalide."
|
|
951
667
|
},
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
},
|
|
957
|
-
form: {
|
|
958
|
-
description: "Entrez l'email de votre compte.",
|
|
959
|
-
emailLabel: "Email",
|
|
960
|
-
emailPlaceholder: "vous@entreprise.com",
|
|
961
|
-
submit: "Envoyer le lien de réinitialisation"
|
|
962
|
-
},
|
|
963
|
-
sent: {
|
|
964
|
-
action: "Envoyer un autre email",
|
|
965
|
-
description: "Nous avons envoyé un lien de réinitialisation à {{email}}.",
|
|
966
|
-
helper: "Si vous ne le voyez pas, vérifiez les spams ou réessayez.",
|
|
967
|
-
title: "Vérifiez votre email"
|
|
968
|
-
},
|
|
969
|
-
title: "Réinitialiser votre mot de passe"
|
|
668
|
+
status: {
|
|
669
|
+
success: "Email vérifié. Vous pouvez continuer.",
|
|
670
|
+
verifying: "Vérification...",
|
|
671
|
+
verifyingButton: "Vérification"
|
|
970
672
|
},
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
},
|
|
985
|
-
subtitle: "Confirmez votre adresse email pour continuer.",
|
|
986
|
-
title: "Vérifier votre email"
|
|
987
|
-
}
|
|
673
|
+
subtitle: "Confirmez votre adresse email pour continuer.",
|
|
674
|
+
title: "Vérifier votre email"
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
common: {
|
|
678
|
+
actions: {
|
|
679
|
+
change: "Modifier",
|
|
680
|
+
clear: "Effacer",
|
|
681
|
+
close: "Fermer",
|
|
682
|
+
copied: "Copié",
|
|
683
|
+
copy: "Copier",
|
|
684
|
+
pick: "Choisir",
|
|
685
|
+
retry: "Réessayer"
|
|
988
686
|
},
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
}
|
|
996
|
-
|
|
687
|
+
boolean: {
|
|
688
|
+
no: "Non",
|
|
689
|
+
yes: "Oui"
|
|
690
|
+
},
|
|
691
|
+
loading: "Chargement...",
|
|
692
|
+
notAvailable: "N/D"
|
|
693
|
+
},
|
|
694
|
+
dashboard: {
|
|
695
|
+
actions: {
|
|
696
|
+
openList: "Ouvrir la liste",
|
|
697
|
+
openTool: "Ouvrir l'outil"
|
|
698
|
+
},
|
|
699
|
+
subtitle: "Vue d'ensemble du contexte Work.",
|
|
700
|
+
title: "Tableau de bord"
|
|
701
|
+
},
|
|
702
|
+
detail: { notFound: "Introuvable" },
|
|
703
|
+
emptyState: {
|
|
704
|
+
listEmpty: {
|
|
705
|
+
description: "Aucun enregistrement à afficher.",
|
|
706
|
+
title: "Aucun résultat"
|
|
707
|
+
},
|
|
708
|
+
listEmptyFiltered: {
|
|
709
|
+
actions: { reset: "Réinitialiser les filtres" },
|
|
710
|
+
description: "Aucun résultat ne correspond aux filtres actuels."
|
|
711
|
+
}
|
|
712
|
+
},
|
|
713
|
+
filters: {
|
|
714
|
+
actions: { filterBy: "Filtrer par {{label}}" },
|
|
715
|
+
all: "Tous {{label}}",
|
|
716
|
+
allFilters: "Tous les filtres",
|
|
717
|
+
allFiltersWithCount_one: "Tous les filtres ({{count}})",
|
|
718
|
+
allFiltersWithCount_many: "Tous les filtres ({{count}})",
|
|
719
|
+
allFiltersWithCount_other: "Tous les filtres ({{count}})",
|
|
720
|
+
boolean: {
|
|
721
|
+
no: "Non",
|
|
722
|
+
yes: "Oui"
|
|
723
|
+
},
|
|
724
|
+
placeholders: {
|
|
725
|
+
search: "Rechercher {{label}}",
|
|
726
|
+
unresolved: "ID introuvable"
|
|
727
|
+
},
|
|
728
|
+
sections: { default: "Filtres" }
|
|
729
|
+
},
|
|
730
|
+
flags: {
|
|
731
|
+
agentManaged: {
|
|
732
|
+
agentManaged: "Géré par un agent",
|
|
733
|
+
userManaged: "Géré par un utilisateur"
|
|
734
|
+
},
|
|
735
|
+
capability: {
|
|
736
|
+
allowed: "Autorisé",
|
|
737
|
+
denied: "Refusé"
|
|
738
|
+
},
|
|
739
|
+
default: {
|
|
740
|
+
default: "Par défaut",
|
|
741
|
+
notDefault: "Non par défaut"
|
|
742
|
+
},
|
|
743
|
+
deployedProduction: {
|
|
744
|
+
deployed: "Déployé",
|
|
745
|
+
notDeployed: "Non déployé"
|
|
746
|
+
},
|
|
747
|
+
enabled: {
|
|
748
|
+
disabled: "Désactivé",
|
|
749
|
+
enabled: "Activé"
|
|
750
|
+
},
|
|
751
|
+
encrypted: {
|
|
752
|
+
encrypted: "Chiffré",
|
|
753
|
+
notEncrypted: "Non chiffré"
|
|
754
|
+
},
|
|
755
|
+
failure: {
|
|
756
|
+
failed: "Échoué",
|
|
757
|
+
ok: "OK"
|
|
758
|
+
},
|
|
759
|
+
forced: {
|
|
760
|
+
forced: "Forcé",
|
|
761
|
+
normal: "Normal"
|
|
762
|
+
},
|
|
763
|
+
locked: {
|
|
764
|
+
locked: "Verrouillé",
|
|
765
|
+
unlocked: "Déverrouillé"
|
|
766
|
+
}
|
|
767
|
+
},
|
|
768
|
+
format: {
|
|
769
|
+
currency: "{{value, currency}}",
|
|
770
|
+
number: "{{value, number}}",
|
|
771
|
+
percent: "{{value, percent}}"
|
|
772
|
+
},
|
|
773
|
+
history: "",
|
|
774
|
+
list: {
|
|
775
|
+
actions: {
|
|
776
|
+
refresh: "Actualiser",
|
|
777
|
+
retry: "Réessayer"
|
|
778
|
+
},
|
|
779
|
+
errors: {
|
|
780
|
+
tableFailed: "Le tableau n'a pas pu se charger.",
|
|
781
|
+
title: "Erreur du tableau"
|
|
782
|
+
},
|
|
783
|
+
loadMore: {
|
|
784
|
+
end: "Fin des résultats",
|
|
785
|
+
loading: "Chargement…",
|
|
786
|
+
more: "Plus de résultats disponibles"
|
|
787
|
+
},
|
|
788
|
+
showing: "Affichage de {{shown, number}} sur {{total, number}}",
|
|
789
|
+
title: ""
|
|
790
|
+
},
|
|
791
|
+
overview: "",
|
|
792
|
+
picker: {
|
|
793
|
+
errors: { loadFailed: "Échec du chargement." },
|
|
794
|
+
searchPlaceholder: { default: "Rechercher..." },
|
|
795
|
+
searchRequired: "Saisissez un ID pour rechercher.",
|
|
796
|
+
title: "Sélectionner un ID",
|
|
797
|
+
unavailable: "Sélecteur indisponible pour {{entity}}."
|
|
798
|
+
},
|
|
799
|
+
relations: {
|
|
800
|
+
labelWithCount_one: "{{label}} ({{count}})",
|
|
801
|
+
labelWithCount_many: "{{label}} ({{count}})",
|
|
802
|
+
labelWithCount_other: "{{label}} ({{count}})",
|
|
803
|
+
menu: { label: "Relations" },
|
|
804
|
+
viewList: "Voir la liste"
|
|
805
|
+
},
|
|
806
|
+
review: { status: {
|
|
807
|
+
approved: "Approuvé",
|
|
808
|
+
changesRequested: "Modifications demandées",
|
|
809
|
+
pending: "En attente",
|
|
810
|
+
unknown: "Inconnu"
|
|
811
|
+
} },
|
|
812
|
+
sidebar: {
|
|
813
|
+
actions: {
|
|
814
|
+
pin: "Épingler",
|
|
815
|
+
reorder: "Réordonner",
|
|
816
|
+
unpin: "Désépingler"
|
|
817
|
+
},
|
|
818
|
+
items: { dashboard: "Tableau de bord" },
|
|
819
|
+
profile: {
|
|
820
|
+
actions: { signOut: "Se déconnecter" },
|
|
821
|
+
menuAriaLabel: "Ouvrir le menu profil",
|
|
822
|
+
title: "Profil",
|
|
823
|
+
unknownUser: "Utilisateur inconnu"
|
|
824
|
+
},
|
|
825
|
+
search: { placeholder: "Rechercher..." },
|
|
826
|
+
sections: { pinned: "Épinglés" }
|
|
827
|
+
},
|
|
828
|
+
tools: { output: "Résultat" }
|
|
829
|
+
} }
|
|
997
830
|
}, { RelayEnvironmentProvider: Je } = O, Ye = ({ children: e }) => /* @__PURE__ */ k(Je, {
|
|
998
831
|
environment: t(),
|
|
999
832
|
children: e
|
|
1000
|
-
}), { loadQuery:
|
|
833
|
+
}), { loadQuery: L, usePreloadedQuery: Xe } = O, Ze = D("WrapperPage", async () => ({ default: (await import("@plumile/ui")).WrapperPage })), Qe = D("BackofficeLayoutPage", async () => import("./BackofficeLayoutPage-j3VUX3Tu.js")), $e = D("BackofficeEntityListPage", async () => import("./BackofficeEntityListPage-C8Ucmc_E.js")), et = D("BackofficeEntityDetailPage", async () => import("./BackofficeEntityDetailPage-DPFXbJxC.js")), tt = D("BackofficeEntityDetailLayoutPage", async () => import("./BackofficeEntityDetailLayoutPage-DXjRqvcZ.js")), nt = D("BackofficeEntityDetailUnknownPageRedirect", async () => import("./BackofficeEntityDetailUnknownPageRedirect-DRWTeox-.js")), rt = D("BackofficeDashboardPage", async () => import("./BackofficeDashboardPage-YWvoQODn.js")), it = D("BackofficeLoginPage", async () => import("./BackofficeLoginPage-DgdIWTeu.js")), at = D("BackofficePasswordResetRequestPage", async () => import("./BackofficePasswordResetRequestPage-BJOrQXcy.js")), ot = D("BackofficePasswordResetCompletePage", async () => import("./BackofficePasswordResetCompletePage-CF_0t3Nq.js")), st = D("BackofficeVerifyEmailPage", async () => import("./BackofficeVerifyEmailPage-C81LlsNM.js")), ct = D("BackofficeAcceptInvitationPage", async () => import("./BackofficeAcceptInvitationPage-D0dZnrV7.js")), lt = (e) => {
|
|
1001
834
|
let t = e.trim();
|
|
1002
835
|
return t === "" || t === "/" ? "" : t.replace(/^\/+|\/+$/g, "");
|
|
1003
|
-
},
|
|
836
|
+
}, R = (e) => {
|
|
1004
837
|
let t = e.trim();
|
|
1005
838
|
return t === "" ? "/" : `/${t}`.replace(/\/+/g, "/");
|
|
1006
839
|
}, z = (e, t) => {
|
|
1007
840
|
let n = t.replace(/^\/+|\/+$/g, "");
|
|
1008
841
|
return e === "" ? n : n === "" ? e : `${e}/${n}`;
|
|
1009
|
-
},
|
|
1010
|
-
let n =
|
|
842
|
+
}, ut = (e, t) => R(z(e, t)), dt = (e, t) => {
|
|
843
|
+
let n = R(e), r = t === "" ? "" : `/${t}`;
|
|
1011
844
|
return r !== "" && n.startsWith(r) ? n.slice(r.length).replace(/^\/+/, "") : n.replace(/^\/+/, "");
|
|
1012
|
-
},
|
|
845
|
+
}, ft = (e, t) => {
|
|
1013
846
|
if (e?.routes == null) return null;
|
|
1014
847
|
for (let n = e.routes.length - 1; n >= 0; --n) {
|
|
1015
848
|
let r = e.routes[n];
|
|
@@ -1019,7 +852,7 @@ var qe = {
|
|
|
1019
852
|
}
|
|
1020
853
|
}
|
|
1021
854
|
return null;
|
|
1022
|
-
},
|
|
855
|
+
}, pt = (e) => {
|
|
1023
856
|
let t = new URLSearchParams();
|
|
1024
857
|
return Object.entries(e).forEach(([e, n]) => {
|
|
1025
858
|
if (n != null) {
|
|
@@ -1032,17 +865,17 @@ var qe = {
|
|
|
1032
865
|
t.set(e, String(n));
|
|
1033
866
|
}
|
|
1034
867
|
}), t;
|
|
1035
|
-
}, B =
|
|
1036
|
-
function
|
|
1037
|
-
let { basePath: t, entityManifest: n, entityRegistry: r, sidebar: i, auth: a, dashboard: o } = e,
|
|
868
|
+
}, B = Oe;
|
|
869
|
+
function mt(e) {
|
|
870
|
+
let { basePath: t, entityManifest: n, entityRegistry: r, sidebar: i, auth: a, dashboard: o } = e, s = lt(t), u = z(s, "login"), d = z(s, "login/reset"), f = z(s, "login/reset/complete"), p = z(s, "verify-email"), m = z(s, "accept-invitation"), h = ut(s, "login"), g = l(c(n, i)), _ = /* @__PURE__ */ new Map();
|
|
1038
871
|
g.forEach((e, t) => {
|
|
1039
872
|
_.set(t, e.groupId);
|
|
1040
873
|
});
|
|
1041
874
|
let v = /* @__PURE__ */ new WeakMap(), y = i?.permissionsQuery, ee = async ({ context: e }) => {
|
|
1042
875
|
let t = await a.session.load();
|
|
1043
876
|
return {
|
|
1044
|
-
permissionsQuery: y == null ? null :
|
|
1045
|
-
authStatusQuery: t.authStatusQuery == null ? null :
|
|
877
|
+
permissionsQuery: y == null ? null : L(e.relayEnvironment, y, {}),
|
|
878
|
+
authStatusQuery: t.authStatusQuery == null ? null : L(e.relayEnvironment, t.authStatusQuery, {}, { fetchPolicy: "network-only" })
|
|
1046
879
|
};
|
|
1047
880
|
}, te = B({
|
|
1048
881
|
path: "",
|
|
@@ -1050,7 +883,7 @@ function ht(e) {
|
|
|
1050
883
|
prepare: async () => (o == null || await o.load(), null),
|
|
1051
884
|
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ k(e, {})
|
|
1052
885
|
}), b = Object.values(n).filter((e) => e.kind === "list-detail").map((e) => {
|
|
1053
|
-
let t = e.routes.list, n =
|
|
886
|
+
let t = e.routes.list, n = dt(t, s), i = [];
|
|
1054
887
|
if (e.hasList) {
|
|
1055
888
|
let t = B({
|
|
1056
889
|
path: "",
|
|
@@ -1058,12 +891,12 @@ function ht(e) {
|
|
|
1058
891
|
prepare: async ({ context: t, query: n }) => {
|
|
1059
892
|
let { config: i } = await r.loadListEntity(e.id), { list: a, listUrlCodec: o, listDefaults: s } = i;
|
|
1060
893
|
if (o == null || s == null) throw Error(`Backoffice entity ${e.id} does not expose a list configuration.`);
|
|
1061
|
-
let c =
|
|
894
|
+
let c = pt(n), l = o.parse(c), { pageSize: u } = Ie, d = {
|
|
1062
895
|
where: l.where,
|
|
1063
896
|
sort: l.sort ?? s.sort,
|
|
1064
897
|
count: u,
|
|
1065
898
|
cursor: null
|
|
1066
|
-
}, f = a.buildVariables == null ? d : a.buildVariables(d), p =
|
|
899
|
+
}, f = a.buildVariables == null ? d : a.buildVariables(d), p = L(t.relayEnvironment, a.query, f);
|
|
1067
900
|
return {
|
|
1068
901
|
entityId: e.id,
|
|
1069
902
|
entityManifest: e,
|
|
@@ -1087,7 +920,7 @@ function ht(e) {
|
|
|
1087
920
|
path: ":id",
|
|
1088
921
|
resourcePage: tt,
|
|
1089
922
|
prepare: async ({ context: t, variables: n }) => {
|
|
1090
|
-
let { config: i } = await r.loadDetailLayoutEntity(e.id), a = String(n.id ?? ""), o = i.layoutPage.buildVariables == null ? { variables: { id: a } } : i.layoutPage.buildVariables({ id: a }), s =
|
|
923
|
+
let { config: i } = await r.loadDetailLayoutEntity(e.id), a = String(n.id ?? ""), o = i.layoutPage.buildVariables == null ? { variables: { id: a } } : i.layoutPage.buildVariables({ id: a }), s = L(t.relayEnvironment, i.layoutPage.query, o.variables);
|
|
1091
924
|
return {
|
|
1092
925
|
entityId: e.id,
|
|
1093
926
|
entityManifest: e,
|
|
@@ -1117,14 +950,14 @@ function ht(e) {
|
|
|
1117
950
|
render: ({ prepared: e }) => {
|
|
1118
951
|
let t = e.redirectTo ?? null;
|
|
1119
952
|
if (t == null) return null;
|
|
1120
|
-
throw new
|
|
953
|
+
throw new Ce(t);
|
|
1121
954
|
}
|
|
1122
955
|
}),
|
|
1123
956
|
...(e.detailPages ?? []).map((t) => B({
|
|
1124
957
|
path: t.pathSegment,
|
|
1125
958
|
resourcePage: et,
|
|
1126
959
|
prepare: async ({ context: n, variables: i }) => {
|
|
1127
|
-
let a = String(i.id ?? ""), o = await r.loadDetailPageEntity(e.id, t.id), s = o.config.page.buildVariables == null ? { variables: { id: a } } : o.config.page.buildVariables({ id: a }), c =
|
|
960
|
+
let a = String(i.id ?? ""), o = await r.loadDetailPageEntity(e.id, t.id), s = o.config.page.buildVariables == null ? { variables: { id: a } } : o.config.page.buildVariables({ id: a }), c = L(n.relayEnvironment, o.config.page.query, s.variables);
|
|
1128
961
|
return {
|
|
1129
962
|
entityId: e.id,
|
|
1130
963
|
entityManifest: e,
|
|
@@ -1176,9 +1009,9 @@ function ht(e) {
|
|
|
1176
1009
|
children: i,
|
|
1177
1010
|
resourcePage: Ze
|
|
1178
1011
|
});
|
|
1179
|
-
}),
|
|
1012
|
+
}), ne = Object.values(n).filter((e) => e.kind === "tool").map((t) => {
|
|
1180
1013
|
let n = B({
|
|
1181
|
-
path:
|
|
1014
|
+
path: dt(t.routes.list, s),
|
|
1182
1015
|
resourcePage: e.toolsOperationPage ?? null,
|
|
1183
1016
|
prepare: async () => {
|
|
1184
1017
|
let e = await r.loadToolEntity(t.id);
|
|
@@ -1199,17 +1032,17 @@ function ht(e) {
|
|
|
1199
1032
|
}
|
|
1200
1033
|
});
|
|
1201
1034
|
return v.set(n, t.id), n;
|
|
1202
|
-
}),
|
|
1203
|
-
path:
|
|
1035
|
+
}), re = B({
|
|
1036
|
+
path: s,
|
|
1204
1037
|
resourcePage: Qe,
|
|
1205
1038
|
prepare: ee,
|
|
1206
1039
|
render: ({ children: e, prepared: t, route: n, Component: r }) => {
|
|
1207
1040
|
if (r == null) return null;
|
|
1208
|
-
let o = t, s =
|
|
1041
|
+
let o = t, s = ft(n, v), c = s == null ? null : _.get(s) ?? null, l = null, u = a.session.get()?.authStatusQuery ?? null;
|
|
1209
1042
|
if (u != null && o?.authStatusQuery != null) {
|
|
1210
1043
|
l = Xe(u, o.authStatusQuery);
|
|
1211
1044
|
let { isLoggedIn: e } = l;
|
|
1212
|
-
if (!e) throw new
|
|
1045
|
+
if (!e) throw new Ce(h);
|
|
1213
1046
|
}
|
|
1214
1047
|
return /* @__PURE__ */ k(r, {
|
|
1215
1048
|
permissionsQuery: i?.permissionsQuery,
|
|
@@ -1222,15 +1055,15 @@ function ht(e) {
|
|
|
1222
1055
|
children: [
|
|
1223
1056
|
te,
|
|
1224
1057
|
...b,
|
|
1225
|
-
...
|
|
1058
|
+
...ne
|
|
1226
1059
|
]
|
|
1227
|
-
}),
|
|
1060
|
+
}), x = [
|
|
1228
1061
|
B({
|
|
1229
1062
|
path: u,
|
|
1230
1063
|
resourcePage: it,
|
|
1231
1064
|
prepare: async ({ context: e }) => {
|
|
1232
1065
|
let t = await a.login.load();
|
|
1233
|
-
return { query:
|
|
1066
|
+
return { query: L(e.relayEnvironment, t.loginQuery, {}) };
|
|
1234
1067
|
},
|
|
1235
1068
|
render: ({ prepared: e, Component: t }) => t == null ? null : /* @__PURE__ */ k(t, { prepared: e })
|
|
1236
1069
|
}),
|
|
@@ -1253,38 +1086,38 @@ function ht(e) {
|
|
|
1253
1086
|
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ k(e, {})
|
|
1254
1087
|
})
|
|
1255
1088
|
];
|
|
1256
|
-
return (a.hasAcceptInvitation === !0 || a.acceptInvitation != null) &&
|
|
1089
|
+
return (a.hasAcceptInvitation === !0 || a.acceptInvitation != null) && x.push(B({
|
|
1257
1090
|
path: m,
|
|
1258
1091
|
resourcePage: ct,
|
|
1259
1092
|
prepare: async () => (await a.acceptInvitation?.load(), null),
|
|
1260
1093
|
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ k(e, {})
|
|
1261
|
-
})),
|
|
1094
|
+
})), x.push(re), x;
|
|
1262
1095
|
}
|
|
1263
1096
|
//#endregion
|
|
1264
1097
|
//#region src/components/backoffice/routing/backofficeRouteFallback.css.ts
|
|
1265
|
-
var
|
|
1266
|
-
let { t: e, i18n: t } =
|
|
1098
|
+
var ht = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop txvbqbv43 txvbqbva1", gt = "txvbqbva3", _t = () => {
|
|
1099
|
+
let { t: e, i18n: t } = Se("backofficeReact", { useSuspense: !1 }), n = "Loading...";
|
|
1267
1100
|
return t.isInitialized && (n = e("common.loading")), /* @__PURE__ */ A("div", {
|
|
1268
|
-
className:
|
|
1101
|
+
className: ht,
|
|
1269
1102
|
role: "status",
|
|
1270
1103
|
"aria-live": "polite",
|
|
1271
1104
|
"aria-busy": "true",
|
|
1272
|
-
children: [/* @__PURE__ */ k(
|
|
1273
|
-
className:
|
|
1105
|
+
children: [/* @__PURE__ */ k(Me, { size: 28 }), /* @__PURE__ */ k("div", {
|
|
1106
|
+
className: gt,
|
|
1274
1107
|
children: n
|
|
1275
1108
|
})]
|
|
1276
1109
|
});
|
|
1277
|
-
},
|
|
1278
|
-
className:
|
|
1110
|
+
}, vt = "_11exksg1 txvbqbv45 txvbqbptp txvbqbt7y txvbqbdqg txvbqbl7g txvbqb2k txvbqbu7g txvbqbuwp", yt = "_11exksg2 txvbqbcgg txvbqbuog", bt = () => /* @__PURE__ */ k("div", {
|
|
1111
|
+
className: vt,
|
|
1279
1112
|
"aria-hidden": "true",
|
|
1280
|
-
children: /* @__PURE__ */ k("div", { className:
|
|
1281
|
-
}),
|
|
1113
|
+
children: /* @__PURE__ */ k("div", { className: yt })
|
|
1114
|
+
}), xt = "cache-first", V = "detail-page", H = "detail-layout", U = "list", W = "picker", G = "tool", K = (e) => e.kind === "list-detail", St = (e) => e.kind === "tool", q = (e, t, n) => t === V ? `${e}:${t}:${n ?? ""}` : `${e}:${t}`, Ct = (e) => e instanceof Error ? e : Error(String(e)), J = (e) => e?.status !== "loaded" || e.module == null ? null : e.module, Y = (e, t) => {
|
|
1282
1115
|
let n = e[t];
|
|
1283
1116
|
if (n == null) throw Error(`Unknown backoffice entity: ${t}`);
|
|
1284
1117
|
return n;
|
|
1285
|
-
},
|
|
1118
|
+
}, wt = (e, t) => {
|
|
1286
1119
|
let n = /* @__PURE__ */ new Map(), r = (t) => e[t] ?? null, i = async (e, t, r) => {
|
|
1287
|
-
if ((t?.mode ??
|
|
1120
|
+
if ((t?.mode ?? xt) === "cache-first") {
|
|
1288
1121
|
let t = J(n.get(e));
|
|
1289
1122
|
if (t != null) return t;
|
|
1290
1123
|
let r = n.get(e);
|
|
@@ -1294,7 +1127,7 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1294
1127
|
status: "loaded",
|
|
1295
1128
|
module: t
|
|
1296
1129
|
}), t)).catch((t) => {
|
|
1297
|
-
let r =
|
|
1130
|
+
let r = Ct(t);
|
|
1298
1131
|
throw n.set(e, {
|
|
1299
1132
|
status: "error",
|
|
1300
1133
|
error: r
|
|
@@ -1354,7 +1187,7 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1354
1187
|
},
|
|
1355
1188
|
loadToolEntity: async (n, r) => {
|
|
1356
1189
|
let a = Y(e, n);
|
|
1357
|
-
if (!
|
|
1190
|
+
if (!St(a)) throw Error(`Backoffice entity ${n} does not expose a tool facet.`);
|
|
1358
1191
|
return i(q(n, G), r, async () => {
|
|
1359
1192
|
let e = j(a, await a.facets.tool(), t);
|
|
1360
1193
|
if (e.kind !== G) throw Error(`Backoffice entity ${n} did not resolve to a tool facet.`);
|
|
@@ -1365,15 +1198,15 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1365
1198
|
}, X = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWith("/") ? e.slice(0, -1) : e : `/${e}`, Z = (e, t) => {
|
|
1366
1199
|
let n = X(t), r = X(e);
|
|
1367
1200
|
return r === "/" || n === r || n.startsWith(`${r}/`) ? n : n === "/" ? r : `${r}${n}`;
|
|
1368
|
-
},
|
|
1201
|
+
}, Tt = (e, t) => Object.fromEntries(Object.entries(e).map(([e, n]) => [e, {
|
|
1369
1202
|
...n,
|
|
1370
1203
|
routes: {
|
|
1371
1204
|
list: Z(t, n.routes.list),
|
|
1372
1205
|
detail: (e) => Z(t, n.routes.detail(e)),
|
|
1373
1206
|
detailPage: (e, r) => Z(t, n.routes.detailPage(e, r))
|
|
1374
1207
|
}
|
|
1375
|
-
}])), Q = (e) => typeof e == "object" && !Array.isArray(e) ? e : {},
|
|
1376
|
-
let n = i(), r =
|
|
1208
|
+
}])), Q = (e) => typeof e == "object" && !Array.isArray(e) ? e : {}, Et = ({ routes: e, instrumentations: t }) => {
|
|
1209
|
+
let n = i(), r = w(() => ({ relayEnvironment: n }), [n]), a = w(() => De(e, {
|
|
1377
1210
|
context: r,
|
|
1378
1211
|
instrumentations: t
|
|
1379
1212
|
}), [
|
|
@@ -1381,52 +1214,50 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1381
1214
|
e,
|
|
1382
1215
|
r
|
|
1383
1216
|
]);
|
|
1384
|
-
return
|
|
1217
|
+
return C(() => () => {
|
|
1385
1218
|
a.cleanup();
|
|
1386
|
-
}, [a]), /* @__PURE__ */ k(
|
|
1219
|
+
}, [a]), /* @__PURE__ */ k(Ee.Provider, {
|
|
1387
1220
|
value: a.context,
|
|
1388
|
-
children: /* @__PURE__ */ k(
|
|
1221
|
+
children: /* @__PURE__ */ k(Te, {
|
|
1389
1222
|
enableTransition: !0,
|
|
1390
|
-
fallback: /* @__PURE__ */ k(
|
|
1391
|
-
pending: /* @__PURE__ */ k(
|
|
1223
|
+
fallback: /* @__PURE__ */ k(_t, {}),
|
|
1224
|
+
pending: /* @__PURE__ */ k(bt, {})
|
|
1392
1225
|
})
|
|
1393
1226
|
});
|
|
1394
|
-
},
|
|
1395
|
-
let t = X(e.basePath ?? "/"), n =
|
|
1396
|
-
|
|
1227
|
+
}, Dt = (e) => {
|
|
1228
|
+
let t = X(e.basePath ?? "/"), n = w(() => Tt(e.entityManifest, t), [t, e.entityManifest]), i = w(() => wt(n, { basePath: t }), [t, n]), o = e.graphql;
|
|
1229
|
+
C(() => {
|
|
1397
1230
|
r({
|
|
1398
|
-
httpUrl:
|
|
1399
|
-
wsUrl:
|
|
1400
|
-
getDataId:
|
|
1401
|
-
logEvents:
|
|
1402
|
-
getAuthHeaders:
|
|
1231
|
+
httpUrl: o.httpUrl ?? o.endpoint,
|
|
1232
|
+
wsUrl: o.wsUrl ?? o.wsEndpoint,
|
|
1233
|
+
getDataId: o.getDataId,
|
|
1234
|
+
logEvents: o.logEvents,
|
|
1235
|
+
getAuthHeaders: o.getAuthHeaders
|
|
1403
1236
|
});
|
|
1404
1237
|
}, [
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1238
|
+
o.endpoint,
|
|
1239
|
+
o.getAuthHeaders,
|
|
1240
|
+
o.getDataId,
|
|
1241
|
+
o.httpUrl,
|
|
1242
|
+
o.logEvents,
|
|
1243
|
+
o.wsEndpoint,
|
|
1244
|
+
o.wsUrl
|
|
1412
1245
|
]);
|
|
1413
|
-
let s =
|
|
1246
|
+
let s = w(() => {
|
|
1414
1247
|
let t = e.i18n?.resources ?? {}, n = qe, r = new Set([...Object.keys(n), ...Object.keys(t)]), i = {};
|
|
1415
1248
|
return r.forEach((e) => {
|
|
1416
1249
|
let r = Q(n[e]), a = Q(t[e]);
|
|
1417
1250
|
i[e] = {
|
|
1418
1251
|
...r,
|
|
1419
1252
|
...a,
|
|
1420
|
-
backofficeReact:
|
|
1421
|
-
shared: L(Q(r.shared), Q(a.shared))
|
|
1253
|
+
backofficeReact: Ke(Q(r.backofficeReact), Q(a.backofficeReact))
|
|
1422
1254
|
};
|
|
1423
1255
|
}), i;
|
|
1424
|
-
}, [e.i18n?.resources]), c =
|
|
1425
|
-
return
|
|
1256
|
+
}, [e.i18n?.resources]), c = w(() => e.i18n?.instance ?? ye(), [e.i18n?.instance]);
|
|
1257
|
+
return C(() => {
|
|
1426
1258
|
let t = e.i18n?.initOptions ?? {}, n = t.defaultNS ?? "translations", r = t.ns ?? [
|
|
1427
1259
|
"backofficeReact",
|
|
1428
1260
|
"translations",
|
|
1429
|
-
"shared",
|
|
1430
1261
|
"ui"
|
|
1431
1262
|
];
|
|
1432
1263
|
F({
|
|
@@ -1450,10 +1281,10 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1450
1281
|
e.i18n?.fallbackLng,
|
|
1451
1282
|
e.i18n?.lng,
|
|
1452
1283
|
e.i18n?.useLanguageDetector
|
|
1453
|
-
]), /* @__PURE__ */ k(_e, { children: /* @__PURE__ */ k(
|
|
1284
|
+
]), /* @__PURE__ */ k(_e, { children: /* @__PURE__ */ k(be, {
|
|
1454
1285
|
i18n: c,
|
|
1455
|
-
children: /* @__PURE__ */ k(
|
|
1456
|
-
value:
|
|
1286
|
+
children: /* @__PURE__ */ k(Ne, { children: /* @__PURE__ */ k(Ye, { children: /* @__PURE__ */ k(a, {
|
|
1287
|
+
value: w(() => ({
|
|
1457
1288
|
basePath: t,
|
|
1458
1289
|
entities: n,
|
|
1459
1290
|
entityManifest: n,
|
|
@@ -1473,8 +1304,8 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1473
1304
|
e.graphql,
|
|
1474
1305
|
e.sidebar
|
|
1475
1306
|
]),
|
|
1476
|
-
children: /* @__PURE__ */ k(
|
|
1477
|
-
routes:
|
|
1307
|
+
children: /* @__PURE__ */ k(Et, {
|
|
1308
|
+
routes: w(() => mt({
|
|
1478
1309
|
basePath: t,
|
|
1479
1310
|
entityManifest: n,
|
|
1480
1311
|
entityRegistry: i,
|
|
@@ -1495,7 +1326,7 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1495
1326
|
})
|
|
1496
1327
|
}) }) })
|
|
1497
1328
|
}) });
|
|
1498
|
-
},
|
|
1329
|
+
}, Ot = (e) => {
|
|
1499
1330
|
let t = null, n = null;
|
|
1500
1331
|
return {
|
|
1501
1332
|
get: () => t,
|
|
@@ -1503,15 +1334,15 @@ var gt = "txvbqb9ip txvbqbai7 txvbqbcp txvbqbdoy txvbqbk5p txvbqbu7g txvbqbaop t
|
|
|
1503
1334
|
n = null;
|
|
1504
1335
|
}), n)
|
|
1505
1336
|
};
|
|
1506
|
-
},
|
|
1337
|
+
}, kt = (e, t) => {
|
|
1507
1338
|
let n = e ?? [], r = t ?? [];
|
|
1508
1339
|
return n.length === r.length ? n.every((e, t) => e === r[t]) : !1;
|
|
1509
1340
|
};
|
|
1510
1341
|
function $(e, t, n) {
|
|
1511
1342
|
let { filters: r } = e.list;
|
|
1512
|
-
return r.find((e) => String(e.whereKey ?? e.id) === t &&
|
|
1343
|
+
return r.find((e) => String(e.whereKey ?? e.id) === t && kt(e.path, n)) ?? null;
|
|
1513
1344
|
}
|
|
1514
|
-
function
|
|
1345
|
+
function At(e, t, n) {
|
|
1515
1346
|
let r = $(e, t);
|
|
1516
1347
|
if (r != null) return r;
|
|
1517
1348
|
let { [t]: i } = n ?? {};
|
|
@@ -1521,67 +1352,67 @@ function jt(e, t, n) {
|
|
|
1521
1352
|
}
|
|
1522
1353
|
return $(e, `${t}Contains`) ?? null;
|
|
1523
1354
|
}
|
|
1524
|
-
function
|
|
1355
|
+
function jt(e, t) {
|
|
1525
1356
|
return t == null ? !1 : e.kind === "boolean" ? typeof t == "boolean" : e.kind === "entityId" ? typeof t == "string" && t.trim() !== "" : typeof t == "number" ? String(t).trim() !== "" : typeof t == "string" ? t.trim() !== "" : !1;
|
|
1526
1357
|
}
|
|
1527
1358
|
//#endregion
|
|
1528
1359
|
//#region src/components/backoffice/filters/backofficeFilterAction.css.ts
|
|
1529
|
-
var
|
|
1530
|
-
let { t } =
|
|
1531
|
-
if (
|
|
1532
|
-
let
|
|
1533
|
-
if (
|
|
1534
|
-
let
|
|
1360
|
+
var Mt = "hwnq700 txvbqb9jg txvbqbcp txvbqbdoy txvbqbtxp txvbqbc6p txvbqblag txvbqb1qy txvbqb1cp txvbqb1qg txvbqbf7 txvbqbv0t txvbqbva1 txvbqbv txvbqb3b txvbqb78 txvbqb6w txvbqb7k", Nt = "txvbqbtx7 txvbqbc67", Pt = (e, t) => e(t), Ft = (e) => {
|
|
1361
|
+
let { t } = Se(), { t: n } = s(), { filterColumnAliases: r } = o(), { whereKey: i, value: a, path: c, label: l, listConfig: u } = e, d = b(), f = null;
|
|
1362
|
+
if (u == null ? d != null && (f = d.config) : f = u, f == null) return null;
|
|
1363
|
+
let p = $(f, i, c);
|
|
1364
|
+
if (p == null && c == null && (p = At(f, i, r)), p == null || !jt(p, a)) return null;
|
|
1365
|
+
let m = Pt(p.label, t), h = l ?? n("filters.actions.filterBy", { label: m }), g = /* @__PURE__ */ k(je, {
|
|
1535
1366
|
width: 14,
|
|
1536
1367
|
height: 14,
|
|
1537
|
-
className:
|
|
1368
|
+
className: Nt,
|
|
1538
1369
|
"aria-hidden": "true"
|
|
1539
1370
|
});
|
|
1540
|
-
if (
|
|
1371
|
+
if (d != null) return /* @__PURE__ */ k("button", {
|
|
1541
1372
|
type: "button",
|
|
1542
|
-
className:
|
|
1543
|
-
title:
|
|
1544
|
-
"aria-label":
|
|
1373
|
+
className: Mt,
|
|
1374
|
+
title: h,
|
|
1375
|
+
"aria-label": h,
|
|
1545
1376
|
onClick: () => {
|
|
1546
|
-
|
|
1377
|
+
d.applyFilter(i, a, c);
|
|
1547
1378
|
},
|
|
1548
|
-
children:
|
|
1379
|
+
children: g
|
|
1549
1380
|
});
|
|
1550
|
-
let
|
|
1551
|
-
return /* @__PURE__ */ k(
|
|
1552
|
-
to: M(
|
|
1553
|
-
className:
|
|
1554
|
-
children:
|
|
1381
|
+
let _ = Re(f.listDefaults?.where ?? f.list.defaultState?.where ?? null, i, a, c);
|
|
1382
|
+
return /* @__PURE__ */ k(we, {
|
|
1383
|
+
to: M(f, { where: _ }),
|
|
1384
|
+
className: Mt,
|
|
1385
|
+
children: g
|
|
1555
1386
|
});
|
|
1556
|
-
},
|
|
1387
|
+
}, It = "txvbqb9ip txvbqbai7 txvbqbap7", Lt = "txvbqb9ip txvbqbai7 txvbqbaop", Rt = "txvbqb9iy txvbqbbwy txvbqbap7 txvbqbcg", zt = "txvbqb9ip txvbqbai7 txvbqbap7", Bt = "txvbqb9ip txvbqbai7 txvbqbap7", Vt = ({ summary: e, aside: t, children: n, className: r }) => {
|
|
1557
1388
|
let i = null;
|
|
1558
1389
|
e != null && (i = /* @__PURE__ */ k("div", {
|
|
1559
|
-
className:
|
|
1390
|
+
className: Lt,
|
|
1560
1391
|
children: e
|
|
1561
1392
|
}));
|
|
1562
1393
|
let a = null;
|
|
1563
1394
|
t != null && (a = /* @__PURE__ */ k("aside", {
|
|
1564
|
-
className:
|
|
1395
|
+
className: Bt,
|
|
1565
1396
|
children: t
|
|
1566
1397
|
}));
|
|
1567
1398
|
let o = null;
|
|
1568
1399
|
return (n != null || a != null) && (o = /* @__PURE__ */ k("div", {
|
|
1569
|
-
className:
|
|
1400
|
+
className: zt,
|
|
1570
1401
|
children: n
|
|
1571
1402
|
})), /* @__PURE__ */ A("div", {
|
|
1572
|
-
className:
|
|
1403
|
+
className: Pe(It, r),
|
|
1573
1404
|
children: [i, /* @__PURE__ */ A("div", {
|
|
1574
|
-
className:
|
|
1405
|
+
className: Rt,
|
|
1575
1406
|
children: [o, a]
|
|
1576
1407
|
})]
|
|
1577
1408
|
});
|
|
1578
|
-
},
|
|
1579
|
-
let { entities: r, entityRegistry: i } =
|
|
1409
|
+
}, Ht = "txvbqbv9z txvbqb3d txvbqbvwr", Ut = ({ count: e, entity: t, where: n }) => {
|
|
1410
|
+
let { entities: r, entityRegistry: i } = o(), a = ve(Ee), s = 0;
|
|
1580
1411
|
typeof e == "number" && Number.isFinite(e) && (s = e);
|
|
1581
1412
|
let c = r[t];
|
|
1582
1413
|
if (c == null) return /* @__PURE__ */ k("span", { children: s });
|
|
1583
1414
|
let l = i.getLoadedListEntity(t), u;
|
|
1584
|
-
u = l == null ?
|
|
1415
|
+
u = l == null ? Le(c.routes.list, n) : M(l.config, { where: n });
|
|
1585
1416
|
let d = async (e) => {
|
|
1586
1417
|
let r = M((await i.loadListEntity(t)).config, { where: n }), a = "";
|
|
1587
1418
|
r.search !== "" && (a = `?${r.search}`), e.push({
|
|
@@ -1590,13 +1421,13 @@ var Nt = "hwnq700 txvbqb9jg txvbqbcp txvbqbdoy txvbqbtxp txvbqbc6p txvbqblag txv
|
|
|
1590
1421
|
hash: ""
|
|
1591
1422
|
});
|
|
1592
1423
|
};
|
|
1593
|
-
return /* @__PURE__ */ k(
|
|
1424
|
+
return /* @__PURE__ */ k(we, {
|
|
1594
1425
|
to: u,
|
|
1595
|
-
className:
|
|
1426
|
+
className: Ht,
|
|
1596
1427
|
onClick: (e) => {
|
|
1597
|
-
if (l != null ||
|
|
1428
|
+
if (l != null || a == null || e.defaultPrevented || e.button !== 0 || e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;
|
|
1598
1429
|
e.preventDefault();
|
|
1599
|
-
let { history: t } =
|
|
1430
|
+
let { history: t } = a;
|
|
1600
1431
|
d(t).catch(() => {
|
|
1601
1432
|
if (typeof u == "string") {
|
|
1602
1433
|
let e = new URL(u, window.location.origin);
|
|
@@ -1617,47 +1448,47 @@ var Nt = "hwnq700 txvbqb9jg txvbqbcp txvbqbdoy txvbqbtxp txvbqbc6p txvbqblag txv
|
|
|
1617
1448
|
},
|
|
1618
1449
|
children: s
|
|
1619
1450
|
});
|
|
1620
|
-
},
|
|
1451
|
+
}, Wt = "txvbqb9ip", Gt = "txvbqb9ip txvbqbai7 txvbqbaop", Kt = ({ headerNode: e, tabs: t, activeId: n, children: r }) => {
|
|
1621
1452
|
let i = null;
|
|
1622
|
-
return t != null && t.length > 1 && n != null && (i = /* @__PURE__ */ k(
|
|
1453
|
+
return t != null && t.length > 1 && n != null && (i = /* @__PURE__ */ k(ke, {
|
|
1623
1454
|
items: t,
|
|
1624
1455
|
activeId: n,
|
|
1625
1456
|
onChange: () => {},
|
|
1626
|
-
className:
|
|
1627
|
-
})), /* @__PURE__ */ k(
|
|
1457
|
+
className: Wt
|
|
1458
|
+
})), /* @__PURE__ */ k(Ae, {
|
|
1628
1459
|
headerNode: e,
|
|
1629
1460
|
tabsNode: i,
|
|
1630
1461
|
children: /* @__PURE__ */ k("div", {
|
|
1631
|
-
className:
|
|
1462
|
+
className: Gt,
|
|
1632
1463
|
children: r
|
|
1633
1464
|
})
|
|
1634
1465
|
});
|
|
1635
|
-
},
|
|
1636
|
-
className:
|
|
1466
|
+
}, qt = "txvbqb9jg txvbqbcp txvbqbany txvbqbajy", Jt = ({ children: e, className: t }) => /* @__PURE__ */ k("span", {
|
|
1467
|
+
className: Pe(qt, t),
|
|
1637
1468
|
children: e
|
|
1638
|
-
}),
|
|
1639
|
-
function
|
|
1469
|
+
}), Yt = [];
|
|
1470
|
+
function Xt() {
|
|
1640
1471
|
return Reflect.get(O, "default") ?? O;
|
|
1641
1472
|
}
|
|
1642
|
-
var
|
|
1643
|
-
function
|
|
1644
|
-
let n =
|
|
1473
|
+
var Zt = Xt();
|
|
1474
|
+
function Qt(e, t) {
|
|
1475
|
+
let n = Zt.useRelayEnvironment(), [r, i] = E(null), { enabled: a = !0, deps: o = Yt, getVariables: s } = t, c = S(() => {
|
|
1645
1476
|
try {
|
|
1646
1477
|
return s == null ? e.variables : s();
|
|
1647
1478
|
} catch {
|
|
1648
1479
|
return null;
|
|
1649
1480
|
}
|
|
1650
|
-
}, [e.variables, s]), l =
|
|
1481
|
+
}, [e.variables, s]), l = w(() => c(), [c]), u = w(() => {
|
|
1651
1482
|
if (l == null) return null;
|
|
1652
1483
|
try {
|
|
1653
1484
|
return JSON.stringify(l);
|
|
1654
1485
|
} catch {
|
|
1655
1486
|
return null;
|
|
1656
1487
|
}
|
|
1657
|
-
}, [l]), d = !!a, f = d && l != null, p =
|
|
1658
|
-
return
|
|
1488
|
+
}, [l]), d = !!a, f = d && l != null, p = T(null);
|
|
1489
|
+
return C(() => {
|
|
1659
1490
|
let t = null, r = c();
|
|
1660
|
-
return d && r != null && (i(null), t =
|
|
1491
|
+
return d && r != null && (i(null), t = Zt.requestSubscription(n, {
|
|
1661
1492
|
subscription: e.subscription,
|
|
1662
1493
|
variables: r,
|
|
1663
1494
|
cacheConfig: e.cacheConfig,
|
|
@@ -1688,26 +1519,26 @@ function $t(e, t) {
|
|
|
1688
1519
|
}
|
|
1689
1520
|
//#endregion
|
|
1690
1521
|
//#region src/hooks/useCopyToClipboard.ts
|
|
1691
|
-
var
|
|
1692
|
-
function
|
|
1522
|
+
var $t = "copy-to-clipboard-fallback";
|
|
1523
|
+
function en(e) {
|
|
1693
1524
|
if (typeof document > "u") return;
|
|
1694
|
-
let t = document.getElementById(
|
|
1695
|
-
t ?? (t = document.createElement("textarea"), t.id =
|
|
1525
|
+
let t = document.getElementById($t);
|
|
1526
|
+
t ?? (t = document.createElement("textarea"), t.id = $t, t.setAttribute("readonly", ""), t.style.position = "absolute", t.style.left = "-9999px", t.style.top = "0", t.style.opacity = "0", document.body.appendChild(t)), t.value = e, t.select(), document.execCommand("copy");
|
|
1696
1527
|
}
|
|
1697
|
-
function
|
|
1698
|
-
let [t, n] = E(null), r =
|
|
1699
|
-
return
|
|
1528
|
+
function tn(e = 2e3) {
|
|
1529
|
+
let [t, n] = E(null), r = T(null);
|
|
1530
|
+
return C(() => () => {
|
|
1700
1531
|
r.current != null && window.clearTimeout(r.current);
|
|
1701
1532
|
}, []), {
|
|
1702
1533
|
copiedKey: t,
|
|
1703
|
-
copy:
|
|
1534
|
+
copy: S(async (t, i) => {
|
|
1704
1535
|
let a = !1, o;
|
|
1705
1536
|
if (typeof navigator < "u" && (o = navigator.clipboard), o != null) try {
|
|
1706
1537
|
await o.writeText(t), a = !0;
|
|
1707
1538
|
} catch {
|
|
1708
1539
|
a = !1;
|
|
1709
1540
|
}
|
|
1710
|
-
return a ||= (
|
|
1541
|
+
return a ||= (en(t), !0), i != null && (n(i), r.current != null && window.clearTimeout(r.current), r.current = window.setTimeout(() => {
|
|
1711
1542
|
n(null), r.current = null;
|
|
1712
1543
|
}, e)), a;
|
|
1713
1544
|
}, [e])
|
|
@@ -1715,27 +1546,27 @@ function nn(e = 2e3) {
|
|
|
1715
1546
|
}
|
|
1716
1547
|
//#endregion
|
|
1717
1548
|
//#region src/hooks/useRefetchNeededReload.ts
|
|
1718
|
-
function
|
|
1549
|
+
function nn(e) {
|
|
1719
1550
|
let [t, n] = E(null);
|
|
1720
|
-
return
|
|
1551
|
+
return C(() => {
|
|
1721
1552
|
n(null);
|
|
1722
1553
|
}, [e]), {
|
|
1723
1554
|
reason: t,
|
|
1724
|
-
onRefetchNeeded:
|
|
1555
|
+
onRefetchNeeded: S((e) => {
|
|
1725
1556
|
n(e ?? "UNKNOWN");
|
|
1726
1557
|
}, []),
|
|
1727
|
-
reload:
|
|
1558
|
+
reload: S(() => {
|
|
1728
1559
|
window.location.reload();
|
|
1729
1560
|
}, []),
|
|
1730
|
-
clear:
|
|
1561
|
+
clear: S(() => {
|
|
1731
1562
|
n(null);
|
|
1732
1563
|
}, [])
|
|
1733
1564
|
};
|
|
1734
1565
|
}
|
|
1735
1566
|
//#endregion
|
|
1736
1567
|
//#region src/i18n/useReviewStatusLabel.ts
|
|
1737
|
-
function
|
|
1738
|
-
let { t: e } =
|
|
1568
|
+
function rn() {
|
|
1569
|
+
let { t: e } = s();
|
|
1739
1570
|
function t(t) {
|
|
1740
1571
|
if (t == null) return e("review.status.unknown");
|
|
1741
1572
|
switch (t) {
|
|
@@ -1749,7 +1580,7 @@ function an() {
|
|
|
1749
1580
|
}
|
|
1750
1581
|
//#endregion
|
|
1751
1582
|
//#region src/modules/base64.ts
|
|
1752
|
-
function
|
|
1583
|
+
function an(e) {
|
|
1753
1584
|
if (typeof e != "string") throw TypeError("encodeUtf8ToBase64 expects a string input.");
|
|
1754
1585
|
if (typeof globalThis.btoa == "function") {
|
|
1755
1586
|
let t = encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, (e, t) => String.fromCharCode(Number.parseInt(t, 16)));
|
|
@@ -1757,7 +1588,7 @@ function on(e) {
|
|
|
1757
1588
|
}
|
|
1758
1589
|
throw Error("No base64 encoder is available in this environment.");
|
|
1759
1590
|
}
|
|
1760
|
-
function
|
|
1591
|
+
function on(e) {
|
|
1761
1592
|
if (typeof e != "string") throw TypeError("decodeBase64ToUtf8 expects a string input.");
|
|
1762
1593
|
if (typeof globalThis.atob == "function") {
|
|
1763
1594
|
let t = globalThis.atob(e), n = Array.from(t, (e) => `%${e.charCodeAt(0).toString(16).padStart(2, "0")}`).join("");
|
|
@@ -1767,33 +1598,33 @@ function sn(e) {
|
|
|
1767
1598
|
}
|
|
1768
1599
|
//#endregion
|
|
1769
1600
|
//#region src/modules/formatFileSize.ts
|
|
1770
|
-
var
|
|
1601
|
+
var sn = [
|
|
1771
1602
|
"B",
|
|
1772
1603
|
"KB",
|
|
1773
1604
|
"MB",
|
|
1774
1605
|
"GB",
|
|
1775
1606
|
"TB"
|
|
1776
|
-
],
|
|
1607
|
+
], cn = 1024, ln = (e, t) => {
|
|
1777
1608
|
if (t === "B") return Math.round(e).toString();
|
|
1778
1609
|
let n = 1;
|
|
1779
1610
|
return e >= 10 && (n = 0), e.toFixed(n);
|
|
1780
1611
|
};
|
|
1781
|
-
function
|
|
1612
|
+
function un(e) {
|
|
1782
1613
|
let t = e;
|
|
1783
1614
|
Number.isFinite(e) || (t = 0);
|
|
1784
1615
|
let n = t < 0, r = Math.abs(t), i = 0;
|
|
1785
|
-
for (; r >=
|
|
1786
|
-
let a =
|
|
1616
|
+
for (; r >= cn && i < sn.length - 1;) r /= cn, i += 1;
|
|
1617
|
+
let a = sn[i] ?? "B", o = r;
|
|
1787
1618
|
return n && (o = -r), {
|
|
1788
1619
|
value: o,
|
|
1789
1620
|
unit: a,
|
|
1790
|
-
displayValue:
|
|
1621
|
+
displayValue: ln(o, a)
|
|
1791
1622
|
};
|
|
1792
1623
|
}
|
|
1793
1624
|
//#endregion
|
|
1794
1625
|
//#region src/relay/createInlineReader.ts
|
|
1795
|
-
var { readInlineData:
|
|
1626
|
+
var { readInlineData: dn } = O, fn = (e) => (t) => dn(e, t), pn = (e) => e;
|
|
1796
1627
|
//#endregion
|
|
1797
|
-
export { _ as AcceptInvitationScreen, ae as BackofficeDetailBadgeRow, oe as BackofficeDetailField, ce as BackofficeDetailPayload, se as BackofficeDetailSection, te as BackofficeErrorBoundary,
|
|
1628
|
+
export { _ as AcceptInvitationScreen, ae as BackofficeDetailBadgeRow, oe as BackofficeDetailField, ce as BackofficeDetailPayload, se as BackofficeDetailSection, te as BackofficeErrorBoundary, Ft as BackofficeFilterAction, Jt as BackofficeInlineFilterRow, Vt as BackofficeOverviewLayout, Dt as BackofficeProvider, Ut as BackofficeRelatedCountLink, ge as BackofficeRightPageLayout, Kt as BackofficeTabbedDetailShell, re as EntityFilterValue, ne as EntityFilterValueText, x as EntityIdFilterField, ie as EntityIdPickerDialog, h as LoginFlow, v as PasswordResetCompleteScreen, y as PasswordResetRequestScreen, Ye as RelayProvider, ee as VerifyEmailScreen, qe as backofficeReactI18nResources, f as base64UrlToBuffer, p as bufferToBase64Url, he as buildDataTableColumns, r as configureRelayEnvironment, Ot as createBackofficeLazyValue, F as createI18nInstance, fn as createInlineDataReader, m as createUseAuth, on as decodeBase64ToUtf8, an as encodeUtf8ToBase64, un as formatFileSize, t as getEnvironment, n as getNetwork, pn as identityView, d as mapWebAuthnRegistrationError, u as parseSignCount, pe as requireField, de as requireLinkedRecordId, e as resetRelayStore, fe as resolveAgentStartOutcome, ue as resolveMutationOutcome, me as resolveVisibleDetailPages, g as synchronizeAuthStatusQuery, o as useBackofficeConfig, le as useBackofficeListUrlState, Qt as useConditionalSubscription, tn as useCopyToClipboard, nn as useRefetchNeededReload, rn as useReviewStatusLabel };
|
|
1798
1629
|
|
|
1799
1630
|
//# sourceMappingURL=backoffice-react.js.map
|