@plumile/backoffice-react 0.1.69 → 0.1.72
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/i18n/locales/en/shared.js +0 -6
- package/lib/esm/i18n/locales/en/shared.js.map +1 -1
- package/lib/esm/i18n/locales/fr/shared.js +0 -6
- package/lib/esm/i18n/locales/fr/shared.js.map +1 -1
- package/lib/esm/index.js +9 -15
- package/lib/esm/provider/BackofficeProvider.js +3 -1
- package/lib/esm/provider/BackofficeProvider.js.map +1 -1
- package/lib/esm/router/createBackofficeRoutes.js +67 -67
- package/lib/esm/router/createBackofficeRoutes.js.map +1 -1
- package/lib/esm/style.css +1 -1
- package/lib/types/i18n/resources.d.ts +0 -12
- package/lib/types/i18n/resources.d.ts.map +1 -1
- package/lib/types/index.d.ts +0 -6
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
- package/lib/types/provider/types.d.ts +2 -1
- package/lib/types/provider/types.d.ts.map +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
- package/package.json +5 -5
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +0 -40
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +0 -48
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +0 -58
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js +0 -81
- package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js +0 -16
- package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js +0 -56
- package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js +0 -20
- package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js +0 -56
- package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js.map +0 -1
- package/lib/esm/hooks/useBackofficeToolsUrlParams.js +0 -15
- package/lib/esm/hooks/useBackofficeToolsUrlParams.js.map +0 -1
- package/lib/esm/i18n/useSharedEnumLabels.js +0 -22
- package/lib/esm/i18n/useSharedEnumLabels.js.map +0 -1
- package/lib/esm/modules/access/viewerPermissionsPolicy.js +0 -17
- package/lib/esm/modules/access/viewerPermissionsPolicy.js.map +0 -1
- package/lib/esm/modules/billing/usageChartMappers.js +0 -49
- package/lib/esm/modules/billing/usageChartMappers.js.map +0 -1
- package/lib/esm/modules/merge/taskMergeRun.js +0 -67
- package/lib/esm/modules/merge/taskMergeRun.js.map +0 -1
- package/lib/esm/modules/projectIngestionStatus.js +0 -25
- package/lib/esm/modules/projectIngestionStatus.js.map +0 -1
- package/lib/esm/pages/BackofficeToolsOperationPage.js +0 -464
- package/lib/esm/pages/BackofficeToolsOperationPage.js.map +0 -1
- package/lib/esm/subscriptions/conversationStream.js +0 -38
- package/lib/esm/subscriptions/conversationStream.js.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +0 -11
- package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +0 -15
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts +0 -13
- package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts +0 -14
- package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +0 -7
- package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +0 -8
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +0 -6
- package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts +0 -13
- package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts.map +0 -1
- package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts +0 -8
- package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts.map +0 -1
- package/lib/types/i18n/useSharedEnumLabels.d.ts +0 -6
- package/lib/types/i18n/useSharedEnumLabels.d.ts.map +0 -1
- package/lib/types/modules/access/viewerPermissionsPolicy.d.ts +0 -38
- package/lib/types/modules/access/viewerPermissionsPolicy.d.ts.map +0 -1
- package/lib/types/modules/billing/usageChartMappers.d.ts +0 -26
- package/lib/types/modules/billing/usageChartMappers.d.ts.map +0 -1
- package/lib/types/modules/merge/taskMergeRun.d.ts +0 -48
- package/lib/types/modules/merge/taskMergeRun.d.ts.map +0 -1
- package/lib/types/modules/projectIngestionStatus.d.ts +0 -9
- package/lib/types/modules/projectIngestionStatus.d.ts.map +0 -1
- package/lib/types/pages/BackofficeToolsOperationPage.d.ts +0 -9
- package/lib/types/pages/BackofficeToolsOperationPage.d.ts.map +0 -1
- package/lib/types/subscriptions/conversationStream.d.ts +0 -12
- package/lib/types/subscriptions/conversationStream.d.ts.map +0 -1
|
@@ -188,12 +188,6 @@ var e = {
|
|
|
188
188
|
title: "Verify your email"
|
|
189
189
|
}
|
|
190
190
|
},
|
|
191
|
-
projectIngestionStatus: {
|
|
192
|
-
failed: "Failed",
|
|
193
|
-
idle: "Idle",
|
|
194
|
-
running: "Running",
|
|
195
|
-
unknown: "Unknown"
|
|
196
|
-
},
|
|
197
191
|
review: { status: {
|
|
198
192
|
approved: "Approved",
|
|
199
193
|
changesRequested: "Changes requested",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","names":[],"sources":["../../../../../src/i18n/locales/en/shared.json"],"sourcesContent":["{\n \"auth\": {\n \"acceptInvitation\": {\n \"actions\": {\n \"backToLogin\": \"Back to login\"\n },\n \"errors\": {\n \"alreadyAccepted\": \"This invitation has already been accepted.\",\n \"default\": \"Unable to accept invitation.\",\n \"emailMismatch\": \"This invitation was sent to a different email address.\",\n \"expired\": \"Invitation link has expired.\",\n \"invalidToken\": \"Invitation link is invalid.\",\n \"missingToken\": \"Invitation link is missing or invalid.\",\n \"passwordMismatch\": \"Password and confirmation do not match.\",\n \"passwordPolicyViolation\": \"Your password does not meet policy requirements.\",\n \"rateLimited\": \"Too many attempts. Please try again later.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirm password\",\n \"confirmPlaceholder\": \"Confirm your password\",\n \"passwordLabel\": \"Password\",\n \"passwordPlaceholder\": \"Create a password\",\n \"submit\": \"Accept invitation\"\n },\n \"mfaSubtitle\": \"Enter the verification code to continue.\",\n \"mfaTitle\": \"Verify your identity\",\n \"status\": {\n \"success\": \"Invitation accepted.\",\n \"workingButton\": \"Working...\"\n },\n \"subtitle\": \"Create your account to join.\",\n \"title\": \"Accept invitation\"\n },\n \"emailCapture\": {\n \"continue\": \"Continue\",\n \"description\": \"Enter your work email to continue.\",\n \"emailLabel\": \"Work email\",\n \"emailPlaceholder\": \"you@company.com\",\n \"forgotPassword\": \"Forgot your password?\"\n },\n \"loginFlow\": {\n \"errors\": {\n \"accountLocked\": \"Too many attempts. Try again later.\",\n \"emailRequired\": \"Enter an email address to continue.\",\n \"invalidCredentials\": \"Email or password is incorrect.\",\n \"invalidEmail\": \"Enter a valid email address.\",\n \"passkeyUnavailable\": \"Passkeys are not available.\",\n \"rateLimited\": \"Too many attempts. Please try again later.\",\n \"tryAgain\": \"Something went wrong. Please try again.\"\n },\n \"methods\": {\n \"title\": \"Choose a sign-in method\"\n },\n \"passkey\": {\n \"description\": \"Use the passkey associated with {{email}}.\",\n \"title\": \"Use a passkey\"\n },\n \"subtitle\": {\n \"default\": \"Choose a sign-in method to continue.\",\n \"mfa\": \"Enter the verification code to continue.\"\n },\n \"title\": {\n \"default\": \"Sign in\",\n \"mfa\": \"Two-factor authentication\"\n }\n },\n \"methodChooser\": {\n \"actions\": {\n \"back\": \"Back\"\n },\n \"locked\": \"Too many attempts. Try again later.\",\n \"lockedWithTime\": \"Too many attempts. Try again at {{time}}.\",\n \"methods\": {\n \"other\": \"{{method}}\",\n \"passkey\": \"Passkey\",\n \"password\": \"Password\"\n },\n \"prompt\": \"Choose how to sign in for <strong>{{email}}</strong>.\"\n },\n \"mfa\": {\n \"actions\": {\n \"back\": \"Back\",\n \"submit\": \"Verify\"\n },\n \"errors\": {\n \"expired\": \"Verification session expired. Please try again.\",\n \"invalidChallenge\": \"Verification session is invalid. Restart the login.\",\n \"invalidCode\": \"Invalid code. Try again.\",\n \"shortCode\": \"Enter the 6-digit code.\",\n \"tooManyAttempts\": \"Too many attempts. Try again later.\",\n \"verificationFailed\": \"Verification failed. Try again.\"\n },\n \"form\": {\n \"label\": \"Verification code\",\n \"placeholder\": \"123456\"\n },\n \"helper\": {\n \"default\": \"Enter the 6-digit code from your authenticator.\",\n \"withEmail\": \"Enter the 6-digit code sent to {{email}}.\"\n }\n },\n \"oidc\": {\n \"buttons\": {\n \"apple\": \"Continue with Apple\",\n \"generic\": \"Continue with single sign-on\",\n \"google\": \"Continue with Google\"\n }\n },\n \"passkey\": {\n \"actions\": {\n \"showMethods\": \"Use another method\",\n \"submit\": \"Continue with passkey\",\n \"submitting\": \"Waiting for passkey...\"\n },\n \"errors\": {\n \"challengeExpired\": \"Passkey request expired. Try again.\",\n \"emailRequired\": \"Enter your email to continue.\",\n \"failed\": \"Passkey sign-in failed.\",\n \"invalidAssertion\": \"Passkey response is invalid. Try again.\",\n \"invalidChallenge\": \"Passkey request is invalid. Try again.\",\n \"invalidEmail\": \"Enter a valid email address.\",\n \"locked\": \"Too many attempts. Try again later.\",\n \"lockedWithTime\": \"Too many attempts. Try again at {{time}}.\",\n \"notAvailable\": \"Passkeys are not available on this device.\",\n \"notFound\": \"No passkey found for this account.\"\n },\n \"form\": {\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"you@company.com\"\n },\n \"helper\": \"Use a passkey instead of your password.\"\n },\n \"passwordLogin\": {\n \"forgotPassword\": \"Forgot your password?\",\n \"title\": \"Sign in\"\n },\n \"passwordResetComplete\": {\n \"errors\": {\n \"invalid\": \"Reset link is invalid or expired.\",\n \"minLength\": \"Password must be at least {{minLength}} characters.\",\n \"mismatch\": \"Passwords do not match.\",\n \"missingToken\": \"Reset link is missing or invalid.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirm password\",\n \"confirmPlaceholder\": \"Re-enter your password\",\n \"description\": \"Enter a new password for your account.\",\n \"passwordLabel\": \"Password\",\n \"passwordPlaceholder\": \"Enter a new password\",\n \"submit\": \"Update password\",\n \"title\": \"New password\"\n },\n \"subtitle\": \"Choose a strong password to secure your account.\",\n \"success\": {\n \"action\": \"Back to login\",\n \"description\": \"Your password has been changed.\",\n \"helper\": \"You can now sign in with your new password.\",\n \"title\": \"Password updated\"\n },\n \"title\": \"Set a new password\"\n },\n \"passwordResetRequest\": {\n \"errors\": {\n \"emailRequired\": \"Enter an email address.\",\n \"startFailed\": \"Unable to start password reset.\"\n },\n \"form\": {\n \"description\": \"Enter the email for your account.\",\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"you@company.com\",\n \"submit\": \"Send reset link\"\n },\n \"sent\": {\n \"action\": \"Send another email\",\n \"description\": \"We sent a reset link to {{email}}.\",\n \"helper\": \"If you don't see it, check spam or try again.\",\n \"title\": \"Check your email\"\n },\n \"title\": \"Reset your password\"\n },\n \"verifyEmail\": {\n \"actions\": {\n \"continue\": \"Continue\",\n \"return\": \"Back to login\"\n },\n \"errors\": {\n \"invalid\": \"Verification link is invalid or expired.\",\n \"missingToken\": \"Verification link is missing or invalid.\"\n },\n \"status\": {\n \"success\": \"Email verified. You can continue.\",\n \"verifying\": \"Verifying...\",\n \"verifyingButton\": \"Verifying\"\n },\n \"subtitle\": \"Confirm your email address to continue.\",\n \"title\": \"Verify your email\"\n }\n },\n \"
|
|
1
|
+
{"version":3,"file":"shared.js","names":[],"sources":["../../../../../src/i18n/locales/en/shared.json"],"sourcesContent":["{\n \"auth\": {\n \"acceptInvitation\": {\n \"actions\": {\n \"backToLogin\": \"Back to login\"\n },\n \"errors\": {\n \"alreadyAccepted\": \"This invitation has already been accepted.\",\n \"default\": \"Unable to accept invitation.\",\n \"emailMismatch\": \"This invitation was sent to a different email address.\",\n \"expired\": \"Invitation link has expired.\",\n \"invalidToken\": \"Invitation link is invalid.\",\n \"missingToken\": \"Invitation link is missing or invalid.\",\n \"passwordMismatch\": \"Password and confirmation do not match.\",\n \"passwordPolicyViolation\": \"Your password does not meet policy requirements.\",\n \"rateLimited\": \"Too many attempts. Please try again later.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirm password\",\n \"confirmPlaceholder\": \"Confirm your password\",\n \"passwordLabel\": \"Password\",\n \"passwordPlaceholder\": \"Create a password\",\n \"submit\": \"Accept invitation\"\n },\n \"mfaSubtitle\": \"Enter the verification code to continue.\",\n \"mfaTitle\": \"Verify your identity\",\n \"status\": {\n \"success\": \"Invitation accepted.\",\n \"workingButton\": \"Working...\"\n },\n \"subtitle\": \"Create your account to join.\",\n \"title\": \"Accept invitation\"\n },\n \"emailCapture\": {\n \"continue\": \"Continue\",\n \"description\": \"Enter your work email to continue.\",\n \"emailLabel\": \"Work email\",\n \"emailPlaceholder\": \"you@company.com\",\n \"forgotPassword\": \"Forgot your password?\"\n },\n \"loginFlow\": {\n \"errors\": {\n \"accountLocked\": \"Too many attempts. Try again later.\",\n \"emailRequired\": \"Enter an email address to continue.\",\n \"invalidCredentials\": \"Email or password is incorrect.\",\n \"invalidEmail\": \"Enter a valid email address.\",\n \"passkeyUnavailable\": \"Passkeys are not available.\",\n \"rateLimited\": \"Too many attempts. Please try again later.\",\n \"tryAgain\": \"Something went wrong. Please try again.\"\n },\n \"methods\": {\n \"title\": \"Choose a sign-in method\"\n },\n \"passkey\": {\n \"description\": \"Use the passkey associated with {{email}}.\",\n \"title\": \"Use a passkey\"\n },\n \"subtitle\": {\n \"default\": \"Choose a sign-in method to continue.\",\n \"mfa\": \"Enter the verification code to continue.\"\n },\n \"title\": {\n \"default\": \"Sign in\",\n \"mfa\": \"Two-factor authentication\"\n }\n },\n \"methodChooser\": {\n \"actions\": {\n \"back\": \"Back\"\n },\n \"locked\": \"Too many attempts. Try again later.\",\n \"lockedWithTime\": \"Too many attempts. Try again at {{time}}.\",\n \"methods\": {\n \"other\": \"{{method}}\",\n \"passkey\": \"Passkey\",\n \"password\": \"Password\"\n },\n \"prompt\": \"Choose how to sign in for <strong>{{email}}</strong>.\"\n },\n \"mfa\": {\n \"actions\": {\n \"back\": \"Back\",\n \"submit\": \"Verify\"\n },\n \"errors\": {\n \"expired\": \"Verification session expired. Please try again.\",\n \"invalidChallenge\": \"Verification session is invalid. Restart the login.\",\n \"invalidCode\": \"Invalid code. Try again.\",\n \"shortCode\": \"Enter the 6-digit code.\",\n \"tooManyAttempts\": \"Too many attempts. Try again later.\",\n \"verificationFailed\": \"Verification failed. Try again.\"\n },\n \"form\": {\n \"label\": \"Verification code\",\n \"placeholder\": \"123456\"\n },\n \"helper\": {\n \"default\": \"Enter the 6-digit code from your authenticator.\",\n \"withEmail\": \"Enter the 6-digit code sent to {{email}}.\"\n }\n },\n \"oidc\": {\n \"buttons\": {\n \"apple\": \"Continue with Apple\",\n \"generic\": \"Continue with single sign-on\",\n \"google\": \"Continue with Google\"\n }\n },\n \"passkey\": {\n \"actions\": {\n \"showMethods\": \"Use another method\",\n \"submit\": \"Continue with passkey\",\n \"submitting\": \"Waiting for passkey...\"\n },\n \"errors\": {\n \"challengeExpired\": \"Passkey request expired. Try again.\",\n \"emailRequired\": \"Enter your email to continue.\",\n \"failed\": \"Passkey sign-in failed.\",\n \"invalidAssertion\": \"Passkey response is invalid. Try again.\",\n \"invalidChallenge\": \"Passkey request is invalid. Try again.\",\n \"invalidEmail\": \"Enter a valid email address.\",\n \"locked\": \"Too many attempts. Try again later.\",\n \"lockedWithTime\": \"Too many attempts. Try again at {{time}}.\",\n \"notAvailable\": \"Passkeys are not available on this device.\",\n \"notFound\": \"No passkey found for this account.\"\n },\n \"form\": {\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"you@company.com\"\n },\n \"helper\": \"Use a passkey instead of your password.\"\n },\n \"passwordLogin\": {\n \"forgotPassword\": \"Forgot your password?\",\n \"title\": \"Sign in\"\n },\n \"passwordResetComplete\": {\n \"errors\": {\n \"invalid\": \"Reset link is invalid or expired.\",\n \"minLength\": \"Password must be at least {{minLength}} characters.\",\n \"mismatch\": \"Passwords do not match.\",\n \"missingToken\": \"Reset link is missing or invalid.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirm password\",\n \"confirmPlaceholder\": \"Re-enter your password\",\n \"description\": \"Enter a new password for your account.\",\n \"passwordLabel\": \"Password\",\n \"passwordPlaceholder\": \"Enter a new password\",\n \"submit\": \"Update password\",\n \"title\": \"New password\"\n },\n \"subtitle\": \"Choose a strong password to secure your account.\",\n \"success\": {\n \"action\": \"Back to login\",\n \"description\": \"Your password has been changed.\",\n \"helper\": \"You can now sign in with your new password.\",\n \"title\": \"Password updated\"\n },\n \"title\": \"Set a new password\"\n },\n \"passwordResetRequest\": {\n \"errors\": {\n \"emailRequired\": \"Enter an email address.\",\n \"startFailed\": \"Unable to start password reset.\"\n },\n \"form\": {\n \"description\": \"Enter the email for your account.\",\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"you@company.com\",\n \"submit\": \"Send reset link\"\n },\n \"sent\": {\n \"action\": \"Send another email\",\n \"description\": \"We sent a reset link to {{email}}.\",\n \"helper\": \"If you don't see it, check spam or try again.\",\n \"title\": \"Check your email\"\n },\n \"title\": \"Reset your password\"\n },\n \"verifyEmail\": {\n \"actions\": {\n \"continue\": \"Continue\",\n \"return\": \"Back to login\"\n },\n \"errors\": {\n \"invalid\": \"Verification link is invalid or expired.\",\n \"missingToken\": \"Verification link is missing or invalid.\"\n },\n \"status\": {\n \"success\": \"Email verified. You can continue.\",\n \"verifying\": \"Verifying...\",\n \"verifyingButton\": \"Verifying\"\n },\n \"subtitle\": \"Confirm your email address to continue.\",\n \"title\": \"Verify your email\"\n }\n },\n \"review\": {\n \"status\": {\n \"approved\": \"Approved\",\n \"changesRequested\": \"Changes requested\",\n \"pending\": \"Pending\",\n \"unknown\": \"Unknown\"\n }\n }\n}\n"],"mappings":""}
|
|
@@ -188,12 +188,6 @@ var e = {
|
|
|
188
188
|
title: "Vérifier votre email"
|
|
189
189
|
}
|
|
190
190
|
},
|
|
191
|
-
projectIngestionStatus: {
|
|
192
|
-
failed: "Échec",
|
|
193
|
-
idle: "Inactif",
|
|
194
|
-
running: "En cours",
|
|
195
|
-
unknown: "Inconnu"
|
|
196
|
-
},
|
|
197
191
|
review: { status: {
|
|
198
192
|
approved: "Approuvé",
|
|
199
193
|
changesRequested: "Modifications demandées",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","names":[],"sources":["../../../../../src/i18n/locales/fr/shared.json"],"sourcesContent":["{\n \"auth\": {\n \"acceptInvitation\": {\n \"actions\": {\n \"backToLogin\": \"Retour à la connexion\"\n },\n \"errors\": {\n \"alreadyAccepted\": \"Cette invitation a déjà été acceptée.\",\n \"default\": \"Impossible d'accepter l'invitation.\",\n \"emailMismatch\": \"Cette invitation a été envoyée à une autre adresse email.\",\n \"expired\": \"Le lien d'invitation a expiré.\",\n \"invalidToken\": \"Le lien d'invitation est invalide.\",\n \"missingToken\": \"Le lien d'invitation est manquant ou invalide.\",\n \"passwordMismatch\": \"Le mot de passe et sa confirmation ne correspondent pas.\",\n \"passwordPolicyViolation\": \"Votre mot de passe ne respecte pas la politique de sécurité.\",\n \"rateLimited\": \"Trop de tentatives. Veuillez réessayer plus tard.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirmer le mot de passe\",\n \"confirmPlaceholder\": \"Confirmez votre mot de passe\",\n \"passwordLabel\": \"Mot de passe\",\n \"passwordPlaceholder\": \"Créez un mot de passe\",\n \"submit\": \"Accepter l'invitation\"\n },\n \"mfaSubtitle\": \"Entrez le code de vérification pour continuer.\",\n \"mfaTitle\": \"Vérifiez votre identité\",\n \"status\": {\n \"success\": \"Invitation acceptée.\",\n \"workingButton\": \"Traitement...\"\n },\n \"subtitle\": \"Créez votre compte pour rejoindre.\",\n \"title\": \"Accepter l'invitation\"\n },\n \"emailCapture\": {\n \"continue\": \"Continuer\",\n \"description\": \"Entrez votre email professionnel pour continuer.\",\n \"emailLabel\": \"Email professionnel\",\n \"emailPlaceholder\": \"vous@entreprise.com\",\n \"forgotPassword\": \"Mot de passe oublié ?\"\n },\n \"loginFlow\": {\n \"errors\": {\n \"accountLocked\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"emailRequired\": \"Entrez une adresse email pour continuer.\",\n \"invalidCredentials\": \"Email ou mot de passe incorrect.\",\n \"invalidEmail\": \"Entrez une adresse email valide.\",\n \"passkeyUnavailable\": \"Les passkeys ne sont pas disponibles.\",\n \"rateLimited\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"tryAgain\": \"Une erreur est survenue. Veuillez réessayer.\"\n },\n \"methods\": {\n \"title\": \"Choisissez une méthode de connexion\"\n },\n \"passkey\": {\n \"description\": \"Utilisez la passkey associée à {{email}}.\",\n \"title\": \"Utiliser une passkey\"\n },\n \"subtitle\": {\n \"default\": \"Choisissez une méthode de connexion pour continuer.\",\n \"mfa\": \"Entrez le code de vérification pour continuer.\"\n },\n \"title\": {\n \"default\": \"Se connecter\",\n \"mfa\": \"Authentification à deux facteurs\"\n }\n },\n \"methodChooser\": {\n \"actions\": {\n \"back\": \"Retour\"\n },\n \"locked\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"lockedWithTime\": \"Trop de tentatives. Veuillez réessayer à {{time}}.\",\n \"methods\": {\n \"other\": \"{{method}}\",\n \"passkey\": \"Passkey\",\n \"password\": \"Mot de passe\"\n },\n \"prompt\": \"Choisissez comment vous connecter pour <strong>{{email}}</strong>.\"\n },\n \"mfa\": {\n \"actions\": {\n \"back\": \"Retour\",\n \"submit\": \"Vérifier\"\n },\n \"errors\": {\n \"expired\": \"La session de vérification a expiré. Réessayez.\",\n \"invalidChallenge\": \"La session de vérification est invalide. Reprenez la connexion.\",\n \"invalidCode\": \"Code invalide. Réessayez.\",\n \"shortCode\": \"Entrez le code à 6 chiffres.\",\n \"tooManyAttempts\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"verificationFailed\": \"La vérification a échoué. Réessayez.\"\n },\n \"form\": {\n \"label\": \"Code de vérification\",\n \"placeholder\": \"123456\"\n },\n \"helper\": {\n \"default\": \"Entrez le code à 6 chiffres de votre authentificateur.\",\n \"withEmail\": \"Entrez le code à 6 chiffres envoyé à {{email}}.\"\n }\n },\n \"oidc\": {\n \"buttons\": {\n \"apple\": \"Continuer avec Apple\",\n \"generic\": \"Continuer avec un SSO\",\n \"google\": \"Continuer avec Google\"\n }\n },\n \"passkey\": {\n \"actions\": {\n \"showMethods\": \"Utiliser une autre méthode\",\n \"submit\": \"Continuer avec la passkey\",\n \"submitting\": \"En attente de la passkey...\"\n },\n \"errors\": {\n \"challengeExpired\": \"La demande de passkey a expiré. Réessayez.\",\n \"emailRequired\": \"Entrez votre email pour continuer.\",\n \"failed\": \"Échec de la connexion par passkey.\",\n \"invalidAssertion\": \"La réponse de passkey est invalide. Réessayez.\",\n \"invalidChallenge\": \"La demande de passkey est invalide. Réessayez.\",\n \"invalidEmail\": \"Entrez une adresse email valide.\",\n \"locked\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"lockedWithTime\": \"Trop de tentatives. Veuillez réessayer à {{time}}.\",\n \"notAvailable\": \"Les passkeys ne sont pas disponibles sur cet appareil.\",\n \"notFound\": \"Aucune passkey n'est associée à ce compte.\"\n },\n \"form\": {\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"vous@entreprise.com\"\n },\n \"helper\": \"Utilisez une passkey à la place de votre mot de passe.\"\n },\n \"passwordLogin\": {\n \"forgotPassword\": \"Mot de passe oublié ?\",\n \"title\": \"Se connecter\"\n },\n \"passwordResetComplete\": {\n \"errors\": {\n \"invalid\": \"Le lien de réinitialisation est invalide ou expiré.\",\n \"minLength\": \"Le mot de passe doit contenir au moins {{minLength}} caractères.\",\n \"mismatch\": \"Les mots de passe ne correspondent pas.\",\n \"missingToken\": \"Le lien de réinitialisation est manquant ou invalide.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirmer le mot de passe\",\n \"confirmPlaceholder\": \"Saisissez à nouveau votre mot de passe\",\n \"description\": \"Entrez un nouveau mot de passe pour votre compte.\",\n \"passwordLabel\": \"Mot de passe\",\n \"passwordPlaceholder\": \"Entrez un nouveau mot de passe\",\n \"submit\": \"Mettre à jour le mot de passe\",\n \"title\": \"Nouveau mot de passe\"\n },\n \"subtitle\": \"Choisissez un mot de passe robuste pour sécuriser votre compte.\",\n \"success\": {\n \"action\": \"Retour à la connexion\",\n \"description\": \"Votre mot de passe a été modifié.\",\n \"helper\": \"Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.\",\n \"title\": \"Mot de passe mis à jour\"\n },\n \"title\": \"Définir un nouveau mot de passe\"\n },\n \"passwordResetRequest\": {\n \"errors\": {\n \"emailRequired\": \"Entrez une adresse email.\",\n \"startFailed\": \"Impossible de démarrer la réinitialisation.\"\n },\n \"form\": {\n \"description\": \"Entrez l'email de votre compte.\",\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"vous@entreprise.com\",\n \"submit\": \"Envoyer le lien de réinitialisation\"\n },\n \"sent\": {\n \"action\": \"Envoyer un autre email\",\n \"description\": \"Nous avons envoyé un lien de réinitialisation à {{email}}.\",\n \"helper\": \"Si vous ne le voyez pas, vérifiez les spams ou réessayez.\",\n \"title\": \"Vérifiez votre email\"\n },\n \"title\": \"Réinitialiser votre mot de passe\"\n },\n \"verifyEmail\": {\n \"actions\": {\n \"continue\": \"Continuer\",\n \"return\": \"Retour à la connexion\"\n },\n \"errors\": {\n \"invalid\": \"Le lien de vérification est invalide ou expiré.\",\n \"missingToken\": \"Le lien de vérification est manquant ou invalide.\"\n },\n \"status\": {\n \"success\": \"Email vérifié. Vous pouvez continuer.\",\n \"verifying\": \"Vérification...\",\n \"verifyingButton\": \"Vérification\"\n },\n \"subtitle\": \"Confirmez votre adresse email pour continuer.\",\n \"title\": \"Vérifier votre email\"\n }\n },\n \"
|
|
1
|
+
{"version":3,"file":"shared.js","names":[],"sources":["../../../../../src/i18n/locales/fr/shared.json"],"sourcesContent":["{\n \"auth\": {\n \"acceptInvitation\": {\n \"actions\": {\n \"backToLogin\": \"Retour à la connexion\"\n },\n \"errors\": {\n \"alreadyAccepted\": \"Cette invitation a déjà été acceptée.\",\n \"default\": \"Impossible d'accepter l'invitation.\",\n \"emailMismatch\": \"Cette invitation a été envoyée à une autre adresse email.\",\n \"expired\": \"Le lien d'invitation a expiré.\",\n \"invalidToken\": \"Le lien d'invitation est invalide.\",\n \"missingToken\": \"Le lien d'invitation est manquant ou invalide.\",\n \"passwordMismatch\": \"Le mot de passe et sa confirmation ne correspondent pas.\",\n \"passwordPolicyViolation\": \"Votre mot de passe ne respecte pas la politique de sécurité.\",\n \"rateLimited\": \"Trop de tentatives. Veuillez réessayer plus tard.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirmer le mot de passe\",\n \"confirmPlaceholder\": \"Confirmez votre mot de passe\",\n \"passwordLabel\": \"Mot de passe\",\n \"passwordPlaceholder\": \"Créez un mot de passe\",\n \"submit\": \"Accepter l'invitation\"\n },\n \"mfaSubtitle\": \"Entrez le code de vérification pour continuer.\",\n \"mfaTitle\": \"Vérifiez votre identité\",\n \"status\": {\n \"success\": \"Invitation acceptée.\",\n \"workingButton\": \"Traitement...\"\n },\n \"subtitle\": \"Créez votre compte pour rejoindre.\",\n \"title\": \"Accepter l'invitation\"\n },\n \"emailCapture\": {\n \"continue\": \"Continuer\",\n \"description\": \"Entrez votre email professionnel pour continuer.\",\n \"emailLabel\": \"Email professionnel\",\n \"emailPlaceholder\": \"vous@entreprise.com\",\n \"forgotPassword\": \"Mot de passe oublié ?\"\n },\n \"loginFlow\": {\n \"errors\": {\n \"accountLocked\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"emailRequired\": \"Entrez une adresse email pour continuer.\",\n \"invalidCredentials\": \"Email ou mot de passe incorrect.\",\n \"invalidEmail\": \"Entrez une adresse email valide.\",\n \"passkeyUnavailable\": \"Les passkeys ne sont pas disponibles.\",\n \"rateLimited\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"tryAgain\": \"Une erreur est survenue. Veuillez réessayer.\"\n },\n \"methods\": {\n \"title\": \"Choisissez une méthode de connexion\"\n },\n \"passkey\": {\n \"description\": \"Utilisez la passkey associée à {{email}}.\",\n \"title\": \"Utiliser une passkey\"\n },\n \"subtitle\": {\n \"default\": \"Choisissez une méthode de connexion pour continuer.\",\n \"mfa\": \"Entrez le code de vérification pour continuer.\"\n },\n \"title\": {\n \"default\": \"Se connecter\",\n \"mfa\": \"Authentification à deux facteurs\"\n }\n },\n \"methodChooser\": {\n \"actions\": {\n \"back\": \"Retour\"\n },\n \"locked\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"lockedWithTime\": \"Trop de tentatives. Veuillez réessayer à {{time}}.\",\n \"methods\": {\n \"other\": \"{{method}}\",\n \"passkey\": \"Passkey\",\n \"password\": \"Mot de passe\"\n },\n \"prompt\": \"Choisissez comment vous connecter pour <strong>{{email}}</strong>.\"\n },\n \"mfa\": {\n \"actions\": {\n \"back\": \"Retour\",\n \"submit\": \"Vérifier\"\n },\n \"errors\": {\n \"expired\": \"La session de vérification a expiré. Réessayez.\",\n \"invalidChallenge\": \"La session de vérification est invalide. Reprenez la connexion.\",\n \"invalidCode\": \"Code invalide. Réessayez.\",\n \"shortCode\": \"Entrez le code à 6 chiffres.\",\n \"tooManyAttempts\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"verificationFailed\": \"La vérification a échoué. Réessayez.\"\n },\n \"form\": {\n \"label\": \"Code de vérification\",\n \"placeholder\": \"123456\"\n },\n \"helper\": {\n \"default\": \"Entrez le code à 6 chiffres de votre authentificateur.\",\n \"withEmail\": \"Entrez le code à 6 chiffres envoyé à {{email}}.\"\n }\n },\n \"oidc\": {\n \"buttons\": {\n \"apple\": \"Continuer avec Apple\",\n \"generic\": \"Continuer avec un SSO\",\n \"google\": \"Continuer avec Google\"\n }\n },\n \"passkey\": {\n \"actions\": {\n \"showMethods\": \"Utiliser une autre méthode\",\n \"submit\": \"Continuer avec la passkey\",\n \"submitting\": \"En attente de la passkey...\"\n },\n \"errors\": {\n \"challengeExpired\": \"La demande de passkey a expiré. Réessayez.\",\n \"emailRequired\": \"Entrez votre email pour continuer.\",\n \"failed\": \"Échec de la connexion par passkey.\",\n \"invalidAssertion\": \"La réponse de passkey est invalide. Réessayez.\",\n \"invalidChallenge\": \"La demande de passkey est invalide. Réessayez.\",\n \"invalidEmail\": \"Entrez une adresse email valide.\",\n \"locked\": \"Trop de tentatives. Veuillez réessayer plus tard.\",\n \"lockedWithTime\": \"Trop de tentatives. Veuillez réessayer à {{time}}.\",\n \"notAvailable\": \"Les passkeys ne sont pas disponibles sur cet appareil.\",\n \"notFound\": \"Aucune passkey n'est associée à ce compte.\"\n },\n \"form\": {\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"vous@entreprise.com\"\n },\n \"helper\": \"Utilisez une passkey à la place de votre mot de passe.\"\n },\n \"passwordLogin\": {\n \"forgotPassword\": \"Mot de passe oublié ?\",\n \"title\": \"Se connecter\"\n },\n \"passwordResetComplete\": {\n \"errors\": {\n \"invalid\": \"Le lien de réinitialisation est invalide ou expiré.\",\n \"minLength\": \"Le mot de passe doit contenir au moins {{minLength}} caractères.\",\n \"mismatch\": \"Les mots de passe ne correspondent pas.\",\n \"missingToken\": \"Le lien de réinitialisation est manquant ou invalide.\"\n },\n \"form\": {\n \"confirmLabel\": \"Confirmer le mot de passe\",\n \"confirmPlaceholder\": \"Saisissez à nouveau votre mot de passe\",\n \"description\": \"Entrez un nouveau mot de passe pour votre compte.\",\n \"passwordLabel\": \"Mot de passe\",\n \"passwordPlaceholder\": \"Entrez un nouveau mot de passe\",\n \"submit\": \"Mettre à jour le mot de passe\",\n \"title\": \"Nouveau mot de passe\"\n },\n \"subtitle\": \"Choisissez un mot de passe robuste pour sécuriser votre compte.\",\n \"success\": {\n \"action\": \"Retour à la connexion\",\n \"description\": \"Votre mot de passe a été modifié.\",\n \"helper\": \"Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.\",\n \"title\": \"Mot de passe mis à jour\"\n },\n \"title\": \"Définir un nouveau mot de passe\"\n },\n \"passwordResetRequest\": {\n \"errors\": {\n \"emailRequired\": \"Entrez une adresse email.\",\n \"startFailed\": \"Impossible de démarrer la réinitialisation.\"\n },\n \"form\": {\n \"description\": \"Entrez l'email de votre compte.\",\n \"emailLabel\": \"Email\",\n \"emailPlaceholder\": \"vous@entreprise.com\",\n \"submit\": \"Envoyer le lien de réinitialisation\"\n },\n \"sent\": {\n \"action\": \"Envoyer un autre email\",\n \"description\": \"Nous avons envoyé un lien de réinitialisation à {{email}}.\",\n \"helper\": \"Si vous ne le voyez pas, vérifiez les spams ou réessayez.\",\n \"title\": \"Vérifiez votre email\"\n },\n \"title\": \"Réinitialiser votre mot de passe\"\n },\n \"verifyEmail\": {\n \"actions\": {\n \"continue\": \"Continuer\",\n \"return\": \"Retour à la connexion\"\n },\n \"errors\": {\n \"invalid\": \"Le lien de vérification est invalide ou expiré.\",\n \"missingToken\": \"Le lien de vérification est manquant ou invalide.\"\n },\n \"status\": {\n \"success\": \"Email vérifié. Vous pouvez continuer.\",\n \"verifying\": \"Vérification...\",\n \"verifyingButton\": \"Vérification\"\n },\n \"subtitle\": \"Confirmez votre adresse email pour continuer.\",\n \"title\": \"Vérifier votre email\"\n }\n },\n \"review\": {\n \"status\": {\n \"approved\": \"Approuvé\",\n \"changesRequested\": \"Modifications demandées\",\n \"pending\": \"En attente\",\n \"unknown\": \"Inconnu\"\n }\n }\n}\n"],"mappings":""}
|
package/lib/esm/index.js
CHANGED
|
@@ -26,18 +26,12 @@ import { useRefetchNeededReload as N } from "./hooks/useRefetchNeededReload.js";
|
|
|
26
26
|
import { createI18nInstance as P } from "./i18n/createI18nInstance.js";
|
|
27
27
|
import { backofficeReactI18nResources as F } from "./i18n/resources.js";
|
|
28
28
|
import { useReviewStatusLabel as I } from "./i18n/useReviewStatusLabel.js";
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
|
|
38
|
-
import { getProjectIngestionStatusMeta as he } from "./modules/projectIngestionStatus.js";
|
|
39
|
-
import { resolveVisibleDetailPages as ge } from "./pages/detail/pageResolution.js";
|
|
40
|
-
import { createInlineDataReader as _e } from "./relay/createInlineReader.js";
|
|
41
|
-
import { identityView as ve } from "./relay/identityView.js";
|
|
42
|
-
import { createConversationStreamUpdater as ye } from "./subscriptions/conversationStream.js";
|
|
43
|
-
export { n as AcceptInvitationScreen, V as AccessReason, p as BackofficeDetailBadgeRow, h as BackofficeDetailPayload, m as BackofficeDetailSection, f as BackofficeErrorBoundary, g as BackofficeFilterAction, v as BackofficeInlineFilterRow, _ as BackofficeOverviewLayout, z as BackofficeProvider, y as BackofficeRelatedCountLink, b as BackofficeTabbedDetailShell, ae as DEFAULT_BILLING_USAGE_CHART_CATEGORIES, oe as DEFAULT_BILLING_USAGE_CHART_CATEGORY_COLORS, d as EntityIdFilterField, e as LoginFlow, r as PasswordResetCompleteScreen, i as PasswordResetRequestScreen, R as RelayProvider, a as VerifyEmailScreen, F as backofficeReactI18nResources, T as base64UrlToBuffer, E as bufferToBase64Url, H as canAssignGroupRoles, U as canAssignOrganizationRoles, W as canCreateProject, G as canEditTaskByPermission, K as canLaunchInitiativeTechAgent, q as canLaunchProjectTechAgent, J as canLaunchTaskDevAgent, Y as canLaunchTaskReviewAgent, X as canManageBilling, Z as canManageGroupInitiatives, Q as canManageGroups, $ as canManageProject, ee as canRunGroupTechAgents, te as canRunOrganizationTechAgents, ne as canStartProjectDigestAgent, re as canViewBilling, x as configureRelayEnvironment, B as createBackofficeLazyValue, ye as createConversationStreamUpdater, P as createI18nInstance, _e as createInlineDataReader, de as createMergeRunViewModel, k as createUseAuth, ie as decideConnectorAccess, ce as decodeBase64ToUtf8, le as encodeUtf8ToBase64, ue as formatFileSize, fe as formatMergeBlockReasonCode, S as getEnvironment, pe as getMergeRunStatusTone, me as getMergeRunTone, C as getNetwork, he as getProjectIngestionStatusMeta, ve as identityView, D as mapWebAuthnRegistrationError, O as parseSignCount, o as requireField, s as requireLinkedRecordId, w as resetRelayStore, c as resolveAgentStartOutcome, l as resolveMutationOutcome, ge as resolveVisibleDetailPages, t as synchronizeAuthStatusQuery, se as toBillingUsageChartSeries, u as useBackofficeConfig, A as useBackofficeListUrlState, j as useConditionalSubscription, M as useCopyToClipboard, N as useRefetchNeededReload, I as useReviewStatusLabel, L as useSharedEnumLabels };
|
|
29
|
+
import { RelayProvider as L } from "./relay/RelayProvider.js";
|
|
30
|
+
import { BackofficeProvider as R } from "./provider/BackofficeProvider.js";
|
|
31
|
+
import { createBackofficeLazyValue as z } from "./provider/lazyValue.js";
|
|
32
|
+
import { decodeBase64ToUtf8 as B, encodeUtf8ToBase64 as V } from "./modules/base64.js";
|
|
33
|
+
import { formatFileSize as H } from "./modules/formatFileSize.js";
|
|
34
|
+
import { resolveVisibleDetailPages as U } from "./pages/detail/pageResolution.js";
|
|
35
|
+
import { createInlineDataReader as W } from "./relay/createInlineReader.js";
|
|
36
|
+
import { identityView as G } from "./relay/identityView.js";
|
|
37
|
+
export { n as AcceptInvitationScreen, p as BackofficeDetailBadgeRow, h as BackofficeDetailPayload, m as BackofficeDetailSection, f as BackofficeErrorBoundary, g as BackofficeFilterAction, v as BackofficeInlineFilterRow, _ as BackofficeOverviewLayout, R as BackofficeProvider, y as BackofficeRelatedCountLink, b as BackofficeTabbedDetailShell, d as EntityIdFilterField, e as LoginFlow, r as PasswordResetCompleteScreen, i as PasswordResetRequestScreen, L as RelayProvider, a as VerifyEmailScreen, F as backofficeReactI18nResources, T as base64UrlToBuffer, E as bufferToBase64Url, x as configureRelayEnvironment, z as createBackofficeLazyValue, P as createI18nInstance, W as createInlineDataReader, k as createUseAuth, B as decodeBase64ToUtf8, V as encodeUtf8ToBase64, H as formatFileSize, S as getEnvironment, C as getNetwork, G as identityView, D as mapWebAuthnRegistrationError, O as parseSignCount, o as requireField, s as requireLinkedRecordId, w as resetRelayStore, c as resolveAgentStartOutcome, l as resolveMutationOutcome, U as resolveVisibleDetailPages, t as synchronizeAuthStatusQuery, u as useBackofficeConfig, A as useBackofficeListUrlState, j as useConditionalSubscription, M as useCopyToClipboard, N as useRefetchNeededReload, I as useReviewStatusLabel };
|
|
@@ -130,13 +130,15 @@ var x = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWi
|
|
|
130
130
|
entityRegistry: g,
|
|
131
131
|
sidebar: t.sidebar,
|
|
132
132
|
auth: t.auth,
|
|
133
|
-
dashboard: t.dashboard
|
|
133
|
+
dashboard: t.dashboard,
|
|
134
|
+
toolsOperationPage: t.toolsOperationPage
|
|
134
135
|
}), [
|
|
135
136
|
n,
|
|
136
137
|
i,
|
|
137
138
|
g,
|
|
138
139
|
t.auth,
|
|
139
140
|
t.dashboard,
|
|
141
|
+
t.toolsOperationPage,
|
|
140
142
|
t.sidebar
|
|
141
143
|
]),
|
|
142
144
|
instrumentations: t.instrumentations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeProvider.js","names":[],"sources":["../../../src/provider/BackofficeProvider.tsx"],"sourcesContent":["import { StrictMode, useEffect, useMemo, type JSX } from 'react';\nimport {\n createInstance,\n type Resource,\n type ResourceKey,\n type ResourceLanguage,\n} from 'i18next';\nimport { I18nextProvider } from 'react-i18next';\nimport { createRouter, RouterRenderer, RoutingContext } from '@plumile/router';\nimport { ThemeProvider } from '@plumile/ui/theme/ThemeProvider';\n\nimport { type BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\n\nimport { createI18nInstance } from '../i18n/createI18nInstance.js';\nimport { mergeResourceLanguages } from '../i18n/mergeResourceLanguages.js';\nimport { backofficeReactI18nResources } from '../i18n/resources.js';\nimport { RelayProvider } from '../relay/RelayProvider.js';\nimport { useRelayEnvironment } from '../relay/useRelayEnvironment.js';\nimport { configureRelayEnvironment } from '../relay/environment.js';\nimport { BackofficeConfigProvider } from './BackofficeConfigContext.js';\nimport { createBackofficeRoutes } from '../router/createBackofficeRoutes.js';\nimport type { BackofficeProviderProps } from './types.js';\nimport { BackofficeRouteFallback } from '../components/backoffice/routing/BackofficeRouteFallback.js';\nimport { BackofficeRoutePendingBar } from '../components/backoffice/routing/BackofficeRoutePendingBar.js';\nimport { createBackofficeEntityRegistry } from './entityRegistry.js';\n\nconst normalizeAbsolutePath = (value: string): string => {\n if (value.trim() === '' || value === '/') {\n return '/';\n }\n if (!value.startsWith('/')) {\n return `/${value}`;\n }\n if (value.endsWith('/')) {\n return value.slice(0, -1);\n }\n return value;\n};\n\nconst prefixRoutePath = (basePath: string, value: string): string => {\n const normalizedPath = normalizeAbsolutePath(value);\n const normalizedBasePath = normalizeAbsolutePath(basePath);\n if (normalizedBasePath === '/') {\n return normalizedPath;\n }\n if (\n normalizedPath === normalizedBasePath ||\n normalizedPath.startsWith(`${normalizedBasePath}/`)\n ) {\n return normalizedPath;\n }\n if (normalizedPath === '/') {\n return normalizedBasePath;\n }\n return `${normalizedBasePath}${normalizedPath}`;\n};\n\nconst resolveEntityManifest = (\n manifest: BackofficeEntityManifestMap,\n basePath: string,\n): BackofficeEntityManifestMap => {\n return Object.fromEntries(\n Object.entries(manifest).map(([entityId, item]) => {\n return [\n entityId,\n {\n ...item,\n routes: {\n list: prefixRoutePath(basePath, item.routes.list),\n detail: (id: string) => {\n return prefixRoutePath(basePath, item.routes.detail(id));\n },\n detailPage: (id: string, pageId: string) => {\n return prefixRoutePath(\n basePath,\n item.routes.detailPage(id, pageId),\n );\n },\n },\n } satisfies BackofficeEntityManifestMap[string],\n ] as const;\n }),\n );\n};\n\nconst asResourceLanguage = (\n value: ResourceKey | undefined,\n): ResourceLanguage => {\n if (typeof value === 'object' && !Array.isArray(value)) {\n return value as ResourceLanguage;\n }\n return {};\n};\n\ntype RouterShellProps = {\n routes: ReturnType<typeof createBackofficeRoutes>;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n};\n\nconst RouterShell = ({\n routes,\n instrumentations,\n}: RouterShellProps): JSX.Element => {\n const relayEnvironment = useRelayEnvironment();\n\n const routerContext = useMemo(() => {\n return { relayEnvironment };\n }, [relayEnvironment]);\n\n const router = useMemo(() => {\n return createRouter(routes, {\n context: routerContext,\n instrumentations,\n });\n }, [instrumentations, routes, routerContext]);\n\n useEffect(() => {\n return () => {\n router.cleanup();\n };\n }, [router]);\n\n return (\n <RoutingContext.Provider value={router.context}>\n <RouterRenderer\n enableTransition\n fallback={<BackofficeRouteFallback />}\n pending={<BackofficeRoutePendingBar />}\n />\n </RoutingContext.Provider>\n );\n};\n\nexport const BackofficeProvider = (\n props: BackofficeProviderProps,\n): JSX.Element => {\n const basePath = normalizeAbsolutePath(props.basePath ?? '/');\n\n const entityManifest = useMemo(() => {\n return resolveEntityManifest(props.entityManifest, basePath);\n }, [basePath, props.entityManifest]);\n const entityRegistry = useMemo(() => {\n return createBackofficeEntityRegistry(entityManifest, { basePath });\n }, [basePath, entityManifest]);\n\n const graphQLConfig = props.graphql;\n\n useEffect(() => {\n const httpUrl = graphQLConfig.httpUrl ?? graphQLConfig.endpoint;\n const wsUrl = graphQLConfig.wsUrl ?? graphQLConfig.wsEndpoint;\n configureRelayEnvironment({\n httpUrl,\n wsUrl,\n logEvents: graphQLConfig.logEvents,\n getAuthHeaders: graphQLConfig.getAuthHeaders,\n });\n }, [\n graphQLConfig.endpoint,\n graphQLConfig.getAuthHeaders,\n graphQLConfig.httpUrl,\n graphQLConfig.logEvents,\n graphQLConfig.wsEndpoint,\n graphQLConfig.wsUrl,\n ]);\n\n const mergedResources = useMemo(() => {\n const appResources: Resource = props.i18n?.resources ?? {};\n const backofficeReactResources = backofficeReactI18nResources as Resource;\n const locales = new Set([\n ...Object.keys(backofficeReactResources),\n ...Object.keys(appResources),\n ]);\n\n const output: Resource = {};\n\n locales.forEach((locale) => {\n const packageLocale = asResourceLanguage(\n backofficeReactResources[locale],\n );\n const appLocale = asResourceLanguage(appResources[locale]);\n output[locale] = {\n ...packageLocale,\n ...appLocale,\n backofficeReact: mergeResourceLanguages(\n asResourceLanguage(packageLocale.backofficeReact),\n asResourceLanguage(appLocale.backofficeReact),\n ),\n shared: mergeResourceLanguages(\n asResourceLanguage(packageLocale.shared),\n asResourceLanguage(appLocale.shared),\n ),\n };\n });\n\n return output;\n }, [props.i18n?.resources]);\n\n const i18nInstance = useMemo(() => {\n return props.i18n?.instance ?? createInstance();\n }, [props.i18n?.instance]);\n\n useEffect(() => {\n const initOptions = props.i18n?.initOptions ?? {};\n const defaultNs = initOptions.defaultNS ?? 'translations';\n const ns = initOptions.ns ?? [\n 'backofficeReact',\n 'translations',\n 'shared',\n 'ui',\n ];\n createI18nInstance({\n resources: mergedResources,\n lng: props.i18n?.lng,\n fallbackLng: props.i18n?.fallbackLng,\n initOptions: {\n ...initOptions,\n defaultNS: defaultNs,\n ns,\n },\n instance: i18nInstance,\n useLanguageDetector: props.i18n?.useLanguageDetector,\n detection: props.i18n?.detection,\n // eslint-disable-next-line no-console\n }).catch(console.error);\n }, [\n i18nInstance,\n mergedResources,\n props.i18n?.initOptions,\n props.i18n?.detection,\n props.i18n?.fallbackLng,\n props.i18n?.lng,\n props.i18n?.useLanguageDetector,\n ]);\n\n const configValue = useMemo(() => {\n return {\n basePath,\n entities: entityManifest,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n dashboard: props.dashboard,\n auth: props.auth,\n graphql: props.graphql,\n };\n }, [\n basePath,\n props.auth,\n props.dashboard,\n entityManifest,\n entityRegistry,\n props.graphql,\n props.sidebar,\n ]);\n\n const routes = useMemo(() => {\n return createBackofficeRoutes({\n basePath,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n auth: props.auth,\n dashboard: props.dashboard,\n });\n }, [\n basePath,\n entityManifest,\n entityRegistry,\n props.auth,\n props.dashboard,\n props.sidebar,\n ]);\n\n return (\n <StrictMode>\n <I18nextProvider i18n={i18nInstance}>\n <ThemeProvider>\n <RelayProvider>\n <BackofficeConfigProvider value={configValue}>\n <RouterShell\n routes={routes}\n instrumentations={props.instrumentations}\n />\n </BackofficeConfigProvider>\n </RelayProvider>\n </ThemeProvider>\n </I18nextProvider>\n </StrictMode>\n );\n};\n\nexport default BackofficeProvider;\n"],"mappings":";;;;;;;;;;;;;;;;;;AA0BA,IAAM,KAAyB,MACzB,EAAM,MAAM,KAAK,MAAM,MAAU,MAC5B,MAEJ,EAAM,WAAW,IAAI,GAGtB,EAAM,SAAS,IAAI,GACd,EAAM,MAAM,GAAG,GAAG,GAEpB,IALE,IAAI,KAQT,KAAmB,GAAkB,MAA0B;CACnE,IAAM,IAAiB,EAAsB,EAAM,EAC7C,IAAqB,EAAsB,EAAS;AAa1D,QAZI,MAAuB,OAIzB,MAAmB,KACnB,EAAe,WAAW,GAAG,EAAmB,GAAG,GAE5C,IAEL,MAAmB,MACd,IAEF,GAAG,IAAqB;GAG3B,KACJ,GACA,MAEO,OAAO,YACZ,OAAO,QAAQ,EAAS,CAAC,KAAK,CAAC,GAAU,OAChC,CACL,GACA;CACE,GAAG;CACH,QAAQ;EACN,MAAM,EAAgB,GAAU,EAAK,OAAO,KAAK;EACjD,SAAS,MACA,EAAgB,GAAU,EAAK,OAAO,OAAO,EAAG,CAAC;EAE1D,aAAa,GAAY,MAChB,EACL,GACA,EAAK,OAAO,WAAW,GAAI,EAAO,CACnC;EAEJ;CACF,CACF,CACD,CACH,EAGG,KACJ,MAEI,OAAO,KAAU,YAAY,CAAC,MAAM,QAAQ,EAAM,GAC7C,IAEF,EAAE,EAQL,KAAe,EACnB,WACA,0BACmC;CACnC,IAAM,IAAmB,GAAqB,EAExC,IAAgB,SACb,EAAE,qBAAkB,GAC1B,CAAC,EAAiB,CAAC,EAEhB,IAAS,QACN,EAAa,GAAQ;EAC1B,SAAS;EACT;EACD,CAAC,EACD;EAAC;EAAkB;EAAQ;EAAc,CAAC;AAQ7C,QANA,cACe;AACX,IAAO,SAAS;IAEjB,CAAC,EAAO,CAAC,EAGV,kBAAC,EAAe,UAAhB;EAAyB,OAAO,EAAO;YACrC,kBAAC,GAAD;GACE,kBAAA;GACA,UAAU,kBAAC,GAAD,EAA2B,CAAA;GACrC,SAAS,kBAAC,GAAD,EAA6B,CAAA;GACtC,CAAA;EACsB,CAAA;GAIjB,KACX,MACgB;CAChB,IAAM,IAAW,EAAsB,EAAM,YAAY,IAAI,EAEvD,IAAiB,QACd,EAAsB,EAAM,gBAAgB,EAAS,EAC3D,CAAC,GAAU,EAAM,eAAe,CAAC,EAC9B,IAAiB,QACd,EAA+B,GAAgB,EAAE,aAAU,CAAC,EAClE,CAAC,GAAU,EAAe,CAAC,EAExB,IAAgB,EAAM;AAE5B,SAAgB;AAGd,IAA0B;GACxB,SAHc,EAAc,WAAW,EAAc;GAIrD,OAHY,EAAc,SAAS,EAAc;GAIjD,WAAW,EAAc;GACzB,gBAAgB,EAAc;GAC/B,CAAC;IACD;EACD,EAAc;EACd,EAAc;EACd,EAAc;EACd,EAAc;EACd,EAAc;EACd,EAAc;EACf,CAAC;CAEF,IAAM,IAAkB,QAAc;EACpC,IAAM,IAAyB,EAAM,MAAM,aAAa,EAAE,EACpD,IAA2B,GAC3B,IAAU,IAAI,IAAI,CACtB,GAAG,OAAO,KAAK,EAAyB,EACxC,GAAG,OAAO,KAAK,EAAa,CAC7B,CAAC,EAEI,IAAmB,EAAE;AAqB3B,SAnBA,EAAQ,SAAS,MAAW;GAC1B,IAAM,IAAgB,EACpB,EAAyB,GAC1B,EACK,IAAY,EAAmB,EAAa,GAAQ;AAC1D,KAAO,KAAU;IACf,GAAG;IACH,GAAG;IACH,iBAAiB,EACf,EAAmB,EAAc,gBAAgB,EACjD,EAAmB,EAAU,gBAAgB,CAC9C;IACD,QAAQ,EACN,EAAmB,EAAc,OAAO,EACxC,EAAmB,EAAU,OAAO,CACrC;IACF;IACD,EAEK;IACN,CAAC,EAAM,MAAM,UAAU,CAAC,EAErB,IAAe,QACZ,EAAM,MAAM,YAAY,GAAgB,EAC9C,CAAC,EAAM,MAAM,SAAS,CAAC;AA0E1B,QAxEA,QAAgB;EACd,IAAM,IAAc,EAAM,MAAM,eAAe,EAAE,EAC3C,IAAY,EAAY,aAAa,gBACrC,IAAK,EAAY,MAAM;GAC3B;GACA;GACA;GACA;GACD;AACD,IAAmB;GACjB,WAAW;GACX,KAAK,EAAM,MAAM;GACjB,aAAa,EAAM,MAAM;GACzB,aAAa;IACX,GAAG;IACH,WAAW;IACX;IACD;GACD,UAAU;GACV,qBAAqB,EAAM,MAAM;GACjC,WAAW,EAAM,MAAM;GAExB,CAAC,CAAC,MAAM,QAAQ,MAAM;IACtB;EACD;EACA;EACA,EAAM,MAAM;EACZ,EAAM,MAAM;EACZ,EAAM,MAAM;EACZ,EAAM,MAAM;EACZ,EAAM,MAAM;EACb,CAAC,EA0CA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAiB,MAAM;YACrB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAA0B,OA5ChB,SACX;IACL;IACA,UAAU;IACV;IACA;IACA,SAAS,EAAM;IACf,WAAW,EAAM;IACjB,MAAM,EAAM;IACZ,SAAS,EAAM;IAChB,GACA;IACD;IACA,EAAM;IACN,EAAM;IACN;IACA;IACA,EAAM;IACN,EAAM;IACP,CAAC;aA0BU,kBAAC,GAAD;IACU,QAzBP,QACN,EAAuB;KAC5B;KACA;KACA;KACA,SAAS,EAAM;KACf,MAAM,EAAM;KACZ,WAAW,EAAM;KAClB,CAAC,EACD;KACD;KACA;KACA;KACA,EAAM;KACN,EAAM;KACN,EAAM;KACP,CAAC;IAUY,kBAAkB,EAAM;IACxB,CAAA;GACuB,CAAA,EACb,CAAA,EACF,CAAA;EACA,CAAA,EACP,CAAA"}
|
|
1
|
+
{"version":3,"file":"BackofficeProvider.js","names":[],"sources":["../../../src/provider/BackofficeProvider.tsx"],"sourcesContent":["import { StrictMode, useEffect, useMemo, type JSX } from 'react';\nimport {\n createInstance,\n type Resource,\n type ResourceKey,\n type ResourceLanguage,\n} from 'i18next';\nimport { I18nextProvider } from 'react-i18next';\nimport { createRouter, RouterRenderer, RoutingContext } from '@plumile/router';\nimport { ThemeProvider } from '@plumile/ui/theme/ThemeProvider';\n\nimport { type BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\n\nimport { createI18nInstance } from '../i18n/createI18nInstance.js';\nimport { mergeResourceLanguages } from '../i18n/mergeResourceLanguages.js';\nimport { backofficeReactI18nResources } from '../i18n/resources.js';\nimport { RelayProvider } from '../relay/RelayProvider.js';\nimport { useRelayEnvironment } from '../relay/useRelayEnvironment.js';\nimport { configureRelayEnvironment } from '../relay/environment.js';\nimport { BackofficeConfigProvider } from './BackofficeConfigContext.js';\nimport { createBackofficeRoutes } from '../router/createBackofficeRoutes.js';\nimport type { BackofficeProviderProps } from './types.js';\nimport { BackofficeRouteFallback } from '../components/backoffice/routing/BackofficeRouteFallback.js';\nimport { BackofficeRoutePendingBar } from '../components/backoffice/routing/BackofficeRoutePendingBar.js';\nimport { createBackofficeEntityRegistry } from './entityRegistry.js';\n\nconst normalizeAbsolutePath = (value: string): string => {\n if (value.trim() === '' || value === '/') {\n return '/';\n }\n if (!value.startsWith('/')) {\n return `/${value}`;\n }\n if (value.endsWith('/')) {\n return value.slice(0, -1);\n }\n return value;\n};\n\nconst prefixRoutePath = (basePath: string, value: string): string => {\n const normalizedPath = normalizeAbsolutePath(value);\n const normalizedBasePath = normalizeAbsolutePath(basePath);\n if (normalizedBasePath === '/') {\n return normalizedPath;\n }\n if (\n normalizedPath === normalizedBasePath ||\n normalizedPath.startsWith(`${normalizedBasePath}/`)\n ) {\n return normalizedPath;\n }\n if (normalizedPath === '/') {\n return normalizedBasePath;\n }\n return `${normalizedBasePath}${normalizedPath}`;\n};\n\nconst resolveEntityManifest = (\n manifest: BackofficeEntityManifestMap,\n basePath: string,\n): BackofficeEntityManifestMap => {\n return Object.fromEntries(\n Object.entries(manifest).map(([entityId, item]) => {\n return [\n entityId,\n {\n ...item,\n routes: {\n list: prefixRoutePath(basePath, item.routes.list),\n detail: (id: string) => {\n return prefixRoutePath(basePath, item.routes.detail(id));\n },\n detailPage: (id: string, pageId: string) => {\n return prefixRoutePath(\n basePath,\n item.routes.detailPage(id, pageId),\n );\n },\n },\n } satisfies BackofficeEntityManifestMap[string],\n ] as const;\n }),\n );\n};\n\nconst asResourceLanguage = (\n value: ResourceKey | undefined,\n): ResourceLanguage => {\n if (typeof value === 'object' && !Array.isArray(value)) {\n return value as ResourceLanguage;\n }\n return {};\n};\n\ntype RouterShellProps = {\n routes: ReturnType<typeof createBackofficeRoutes>;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n};\n\nconst RouterShell = ({\n routes,\n instrumentations,\n}: RouterShellProps): JSX.Element => {\n const relayEnvironment = useRelayEnvironment();\n\n const routerContext = useMemo(() => {\n return { relayEnvironment };\n }, [relayEnvironment]);\n\n const router = useMemo(() => {\n return createRouter(routes, {\n context: routerContext,\n instrumentations,\n });\n }, [instrumentations, routes, routerContext]);\n\n useEffect(() => {\n return () => {\n router.cleanup();\n };\n }, [router]);\n\n return (\n <RoutingContext.Provider value={router.context}>\n <RouterRenderer\n enableTransition\n fallback={<BackofficeRouteFallback />}\n pending={<BackofficeRoutePendingBar />}\n />\n </RoutingContext.Provider>\n );\n};\n\nexport const BackofficeProvider = (\n props: BackofficeProviderProps,\n): JSX.Element => {\n const basePath = normalizeAbsolutePath(props.basePath ?? '/');\n\n const entityManifest = useMemo(() => {\n return resolveEntityManifest(props.entityManifest, basePath);\n }, [basePath, props.entityManifest]);\n const entityRegistry = useMemo(() => {\n return createBackofficeEntityRegistry(entityManifest, { basePath });\n }, [basePath, entityManifest]);\n\n const graphQLConfig = props.graphql;\n\n useEffect(() => {\n const httpUrl = graphQLConfig.httpUrl ?? graphQLConfig.endpoint;\n const wsUrl = graphQLConfig.wsUrl ?? graphQLConfig.wsEndpoint;\n configureRelayEnvironment({\n httpUrl,\n wsUrl,\n logEvents: graphQLConfig.logEvents,\n getAuthHeaders: graphQLConfig.getAuthHeaders,\n });\n }, [\n graphQLConfig.endpoint,\n graphQLConfig.getAuthHeaders,\n graphQLConfig.httpUrl,\n graphQLConfig.logEvents,\n graphQLConfig.wsEndpoint,\n graphQLConfig.wsUrl,\n ]);\n\n const mergedResources = useMemo(() => {\n const appResources: Resource = props.i18n?.resources ?? {};\n const backofficeReactResources = backofficeReactI18nResources as Resource;\n const locales = new Set([\n ...Object.keys(backofficeReactResources),\n ...Object.keys(appResources),\n ]);\n\n const output: Resource = {};\n\n locales.forEach((locale) => {\n const packageLocale = asResourceLanguage(\n backofficeReactResources[locale],\n );\n const appLocale = asResourceLanguage(appResources[locale]);\n output[locale] = {\n ...packageLocale,\n ...appLocale,\n backofficeReact: mergeResourceLanguages(\n asResourceLanguage(packageLocale.backofficeReact),\n asResourceLanguage(appLocale.backofficeReact),\n ),\n shared: mergeResourceLanguages(\n asResourceLanguage(packageLocale.shared),\n asResourceLanguage(appLocale.shared),\n ),\n };\n });\n\n return output;\n }, [props.i18n?.resources]);\n\n const i18nInstance = useMemo(() => {\n return props.i18n?.instance ?? createInstance();\n }, [props.i18n?.instance]);\n\n useEffect(() => {\n const initOptions = props.i18n?.initOptions ?? {};\n const defaultNs = initOptions.defaultNS ?? 'translations';\n const ns = initOptions.ns ?? [\n 'backofficeReact',\n 'translations',\n 'shared',\n 'ui',\n ];\n createI18nInstance({\n resources: mergedResources,\n lng: props.i18n?.lng,\n fallbackLng: props.i18n?.fallbackLng,\n initOptions: {\n ...initOptions,\n defaultNS: defaultNs,\n ns,\n },\n instance: i18nInstance,\n useLanguageDetector: props.i18n?.useLanguageDetector,\n detection: props.i18n?.detection,\n // eslint-disable-next-line no-console\n }).catch(console.error);\n }, [\n i18nInstance,\n mergedResources,\n props.i18n?.initOptions,\n props.i18n?.detection,\n props.i18n?.fallbackLng,\n props.i18n?.lng,\n props.i18n?.useLanguageDetector,\n ]);\n\n const configValue = useMemo(() => {\n return {\n basePath,\n entities: entityManifest,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n dashboard: props.dashboard,\n auth: props.auth,\n graphql: props.graphql,\n };\n }, [\n basePath,\n props.auth,\n props.dashboard,\n entityManifest,\n entityRegistry,\n props.graphql,\n props.sidebar,\n ]);\n\n const routes = useMemo(() => {\n return createBackofficeRoutes({\n basePath,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n auth: props.auth,\n dashboard: props.dashboard,\n toolsOperationPage: props.toolsOperationPage,\n });\n }, [\n basePath,\n entityManifest,\n entityRegistry,\n props.auth,\n props.dashboard,\n props.toolsOperationPage,\n props.sidebar,\n ]);\n\n return (\n <StrictMode>\n <I18nextProvider i18n={i18nInstance}>\n <ThemeProvider>\n <RelayProvider>\n <BackofficeConfigProvider value={configValue}>\n <RouterShell\n routes={routes}\n instrumentations={props.instrumentations}\n />\n </BackofficeConfigProvider>\n </RelayProvider>\n </ThemeProvider>\n </I18nextProvider>\n </StrictMode>\n );\n};\n\nexport default BackofficeProvider;\n"],"mappings":"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"}
|
|
@@ -4,19 +4,19 @@ import * as r from "react-relay";
|
|
|
4
4
|
import { HttpRedirect as i, getResourcePage as a, r as o } from "@plumile/router";
|
|
5
5
|
import { BACKOFFICE_LIST_DEFAULTS as s } from "@plumile/backoffice-core/constants.js";
|
|
6
6
|
//#region src/router/createBackofficeRoutes.tsx
|
|
7
|
-
var { loadQuery: c, usePreloadedQuery: l } = r, u = a("WrapperPage", async () => import("@plumile/ui/pages/WrapperPage.js")), d = a("BackofficeLayoutPage", async () => import("../pages/BackofficeLayoutPage.js")), f = a("BackofficeEntityListPage", async () => import("../pages/BackofficeEntityListPage.js")), p = a("BackofficeEntityDetailPage", async () => import("../pages/BackofficeEntityDetailPage.js")), m = a("BackofficeEntityDetailLayoutPage", async () => import("../pages/BackofficeEntityDetailLayoutPage.js")), h = a("BackofficeEntityDetailUnknownPageRedirect", async () => import("../pages/BackofficeEntityDetailUnknownPageRedirect.js")), g = a("BackofficeDashboardPage", async () => import("../pages/BackofficeDashboardPage.js")), _ = a("
|
|
7
|
+
var { loadQuery: c, usePreloadedQuery: l } = r, u = a("WrapperPage", async () => import("@plumile/ui/pages/WrapperPage.js")), d = a("BackofficeLayoutPage", async () => import("../pages/BackofficeLayoutPage.js")), f = a("BackofficeEntityListPage", async () => import("../pages/BackofficeEntityListPage.js")), p = a("BackofficeEntityDetailPage", async () => import("../pages/BackofficeEntityDetailPage.js")), m = a("BackofficeEntityDetailLayoutPage", async () => import("../pages/BackofficeEntityDetailLayoutPage.js")), h = a("BackofficeEntityDetailUnknownPageRedirect", async () => import("../pages/BackofficeEntityDetailUnknownPageRedirect.js")), g = a("BackofficeDashboardPage", async () => import("../pages/BackofficeDashboardPage.js")), _ = a("BackofficeLoginPage", async () => import("../pages/BackofficeLoginPage.js")), v = a("BackofficePasswordResetRequestPage", async () => import("../pages/BackofficePasswordResetRequestPage.js")), y = a("BackofficePasswordResetCompletePage", async () => import("../pages/BackofficePasswordResetCompletePage.js")), b = a("BackofficeVerifyEmailPage", async () => import("../pages/BackofficeVerifyEmailPage.js")), x = a("BackofficeAcceptInvitationPage", async () => import("../pages/BackofficeAcceptInvitationPage.js")), S = (e) => {
|
|
8
8
|
let t = e.trim();
|
|
9
9
|
return t === "" || t === "/" ? "" : t.replace(/^\/+|\/+$/g, "");
|
|
10
|
-
},
|
|
10
|
+
}, C = (e) => {
|
|
11
11
|
let t = e.trim();
|
|
12
12
|
return t === "" ? "/" : `/${t}`.replace(/\/+/g, "/");
|
|
13
|
-
},
|
|
13
|
+
}, w = (e, t) => {
|
|
14
14
|
let n = t.replace(/^\/+|\/+$/g, "");
|
|
15
15
|
return e === "" ? n : n === "" ? e : `${e}/${n}`;
|
|
16
|
-
},
|
|
17
|
-
let n =
|
|
16
|
+
}, T = (e, t) => C(w(e, t)), E = (e, t) => {
|
|
17
|
+
let n = C(e), r = t === "" ? "" : `/${t}`;
|
|
18
18
|
return r !== "" && n.startsWith(r) ? n.slice(r.length).replace(/^\/+/, "") : n.replace(/^\/+/, "");
|
|
19
|
-
},
|
|
19
|
+
}, D = (e, t) => {
|
|
20
20
|
if (e?.routes == null) return null;
|
|
21
21
|
for (let n = e.routes.length - 1; n >= 0; --n) {
|
|
22
22
|
let r = e.routes[n];
|
|
@@ -26,7 +26,7 @@ var { loadQuery: c, usePreloadedQuery: l } = r, u = a("WrapperPage", async () =>
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
return null;
|
|
29
|
-
},
|
|
29
|
+
}, O = (e) => {
|
|
30
30
|
let t = new URLSearchParams();
|
|
31
31
|
return Object.entries(e).forEach(([e, n]) => {
|
|
32
32
|
if (n != null) {
|
|
@@ -39,33 +39,33 @@ var { loadQuery: c, usePreloadedQuery: l } = r, u = a("WrapperPage", async () =>
|
|
|
39
39
|
t.set(e, String(n));
|
|
40
40
|
}
|
|
41
41
|
}), t;
|
|
42
|
-
},
|
|
43
|
-
function
|
|
44
|
-
let { basePath: a, entityManifest: o, entityRegistry:
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
}, k = o;
|
|
43
|
+
function A(r) {
|
|
44
|
+
let { basePath: a, entityManifest: o, entityRegistry: C, sidebar: A, auth: j, dashboard: M } = r, N = S(a), P = w(N, "login"), F = w(N, "login/reset"), I = w(N, "login/reset/complete"), L = w(N, "verify-email"), R = w(N, "accept-invitation"), z = T(N, "login"), B = e(t(o, A)), V = /* @__PURE__ */ new Map();
|
|
45
|
+
B.forEach((e, t) => {
|
|
46
|
+
V.set(t, e.groupId);
|
|
47
47
|
});
|
|
48
|
-
let
|
|
49
|
-
let t = await
|
|
48
|
+
let H = /* @__PURE__ */ new WeakMap(), U = A?.permissionsQuery, W = async ({ context: e }) => {
|
|
49
|
+
let t = await j.session.load();
|
|
50
50
|
return {
|
|
51
|
-
permissionsQuery:
|
|
51
|
+
permissionsQuery: U == null ? null : c(e.relayEnvironment, U, {}),
|
|
52
52
|
authStatusQuery: t.authStatusQuery == null ? null : c(e.relayEnvironment, t.authStatusQuery, {}, { fetchPolicy: "network-only" })
|
|
53
53
|
};
|
|
54
|
-
},
|
|
54
|
+
}, G = k({
|
|
55
55
|
path: "",
|
|
56
56
|
resourcePage: g,
|
|
57
|
-
prepare: async () => (
|
|
57
|
+
prepare: async () => (M == null || await M.load(), null),
|
|
58
58
|
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ n(e, {})
|
|
59
|
-
}),
|
|
60
|
-
let t = e.routes.list, r =
|
|
59
|
+
}), K = Object.values(o).filter((e) => e.kind === "list-detail").map((e) => {
|
|
60
|
+
let t = e.routes.list, r = E(t, N), a = [];
|
|
61
61
|
if (e.hasList) {
|
|
62
|
-
let t =
|
|
62
|
+
let t = k({
|
|
63
63
|
path: "",
|
|
64
64
|
resourcePage: f,
|
|
65
65
|
prepare: async ({ context: t, query: n }) => {
|
|
66
|
-
let { config: r } = await
|
|
66
|
+
let { config: r } = await C.loadListEntity(e.id), { list: i, listUrlCodec: a, listDefaults: o } = r;
|
|
67
67
|
if (a == null || o == null) throw Error(`Backoffice entity ${e.id} does not expose a list configuration.`);
|
|
68
|
-
let l =
|
|
68
|
+
let l = O(n), u = a.parse(l), { pageSize: d } = s, f = {
|
|
69
69
|
where: u.where,
|
|
70
70
|
sort: u.sort ?? o.sort,
|
|
71
71
|
count: d,
|
|
@@ -88,13 +88,13 @@ function j(r) {
|
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
|
-
|
|
91
|
+
H.set(t, e.id), a.push(t);
|
|
92
92
|
}
|
|
93
|
-
let o =
|
|
93
|
+
let o = k({
|
|
94
94
|
path: ":id",
|
|
95
95
|
resourcePage: m,
|
|
96
96
|
prepare: async ({ context: t, variables: n }) => {
|
|
97
|
-
let { config: r } = await
|
|
97
|
+
let { config: r } = await C.loadDetailLayoutEntity(e.id), i = String(n.id ?? ""), a = r.layoutPage.buildVariables == null ? { variables: { id: i } } : r.layoutPage.buildVariables({ id: i }), o = c(t.relayEnvironment, r.layoutPage.query, a.variables);
|
|
98
98
|
return {
|
|
99
99
|
entityId: e.id,
|
|
100
100
|
entityManifest: e,
|
|
@@ -114,7 +114,7 @@ function j(r) {
|
|
|
114
114
|
});
|
|
115
115
|
},
|
|
116
116
|
children: [
|
|
117
|
-
|
|
117
|
+
k({
|
|
118
118
|
path: "",
|
|
119
119
|
resourcePage: u,
|
|
120
120
|
prepare: ({ variables: t }) => {
|
|
@@ -127,11 +127,11 @@ function j(r) {
|
|
|
127
127
|
throw new i(t);
|
|
128
128
|
}
|
|
129
129
|
}),
|
|
130
|
-
...(e.detailPages ?? []).map((t) =>
|
|
130
|
+
...(e.detailPages ?? []).map((t) => k({
|
|
131
131
|
path: t.pathSegment,
|
|
132
132
|
resourcePage: p,
|
|
133
133
|
prepare: async ({ context: n, variables: r }) => {
|
|
134
|
-
let i = String(r.id ?? ""), a = await
|
|
134
|
+
let i = String(r.id ?? ""), a = await C.loadDetailPageEntity(e.id, t.id), o = a.config.page.buildVariables == null ? { variables: { id: i } } : a.config.page.buildVariables({ id: i }), s = c(n.relayEnvironment, a.config.page.query, o.variables);
|
|
135
135
|
return {
|
|
136
136
|
entityId: e.id,
|
|
137
137
|
entityManifest: e,
|
|
@@ -154,11 +154,11 @@ function j(r) {
|
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
156
|
})),
|
|
157
|
-
|
|
157
|
+
k({
|
|
158
158
|
path: ":pagePath",
|
|
159
159
|
resourcePage: h,
|
|
160
160
|
prepare: async ({ variables: t }) => {
|
|
161
|
-
let n = await
|
|
161
|
+
let n = await C.loadDetailLayoutEntity(e.id), r = String(t.id ?? ""), i = String(t.pagePath ?? "");
|
|
162
162
|
return {
|
|
163
163
|
entityManifest: e,
|
|
164
164
|
entityConfig: n.config,
|
|
@@ -178,17 +178,17 @@ function j(r) {
|
|
|
178
178
|
})
|
|
179
179
|
]
|
|
180
180
|
});
|
|
181
|
-
return
|
|
181
|
+
return H.set(o, e.id), a.push(o), k({
|
|
182
182
|
path: r,
|
|
183
183
|
children: a,
|
|
184
184
|
resourcePage: u
|
|
185
185
|
});
|
|
186
|
-
}),
|
|
187
|
-
let t =
|
|
188
|
-
path:
|
|
189
|
-
resourcePage:
|
|
186
|
+
}), q = Object.values(o).filter((e) => e.kind === "tool").map((e) => {
|
|
187
|
+
let t = k({
|
|
188
|
+
path: E(e.routes.list, N),
|
|
189
|
+
resourcePage: r.toolsOperationPage ?? null,
|
|
190
190
|
prepare: async () => {
|
|
191
|
-
let t = await
|
|
191
|
+
let t = await C.loadToolEntity(e.id);
|
|
192
192
|
return {
|
|
193
193
|
entityId: e.id,
|
|
194
194
|
entityManifest: e,
|
|
@@ -205,21 +205,21 @@ function j(r) {
|
|
|
205
205
|
});
|
|
206
206
|
}
|
|
207
207
|
});
|
|
208
|
-
return
|
|
209
|
-
}),
|
|
210
|
-
path:
|
|
208
|
+
return H.set(t, e.id), t;
|
|
209
|
+
}), J = k({
|
|
210
|
+
path: N,
|
|
211
211
|
resourcePage: d,
|
|
212
|
-
prepare:
|
|
212
|
+
prepare: W,
|
|
213
213
|
render: ({ children: e, prepared: t, route: r, Component: a }) => {
|
|
214
214
|
if (a == null) return null;
|
|
215
|
-
let o = t, s =
|
|
215
|
+
let o = t, s = D(r, H), c = s == null ? null : V.get(s) ?? null, u = null, d = j.session.get()?.authStatusQuery ?? null;
|
|
216
216
|
if (d != null && o?.authStatusQuery != null) {
|
|
217
217
|
u = l(d, o.authStatusQuery);
|
|
218
218
|
let { isLoggedIn: e } = u;
|
|
219
|
-
if (!e) throw new i(
|
|
219
|
+
if (!e) throw new i(z);
|
|
220
220
|
}
|
|
221
221
|
return /* @__PURE__ */ n(a, {
|
|
222
|
-
permissionsQuery:
|
|
222
|
+
permissionsQuery: A?.permissionsQuery,
|
|
223
223
|
prepared: o?.permissionsQuery ?? null,
|
|
224
224
|
authStatus: u,
|
|
225
225
|
activeGroupId: c,
|
|
@@ -227,47 +227,47 @@ function j(r) {
|
|
|
227
227
|
});
|
|
228
228
|
},
|
|
229
229
|
children: [
|
|
230
|
-
|
|
231
|
-
...
|
|
232
|
-
...
|
|
230
|
+
G,
|
|
231
|
+
...K,
|
|
232
|
+
...q
|
|
233
233
|
]
|
|
234
|
-
}),
|
|
235
|
-
|
|
236
|
-
path:
|
|
237
|
-
resourcePage:
|
|
234
|
+
}), Y = [
|
|
235
|
+
k({
|
|
236
|
+
path: P,
|
|
237
|
+
resourcePage: _,
|
|
238
238
|
prepare: async ({ context: e }) => {
|
|
239
|
-
let t = await
|
|
239
|
+
let t = await j.login.load();
|
|
240
240
|
return { query: c(e.relayEnvironment, t.loginQuery, {}) };
|
|
241
241
|
},
|
|
242
242
|
render: ({ prepared: e, Component: t }) => t == null ? null : /* @__PURE__ */ n(t, { prepared: e })
|
|
243
243
|
}),
|
|
244
|
-
|
|
244
|
+
k({
|
|
245
|
+
path: F,
|
|
246
|
+
resourcePage: v,
|
|
247
|
+
prepare: async () => (await j.passwordResetRequest.load(), null),
|
|
248
|
+
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ n(e, {})
|
|
249
|
+
}),
|
|
250
|
+
k({
|
|
245
251
|
path: I,
|
|
246
252
|
resourcePage: y,
|
|
247
|
-
prepare: async () => (await
|
|
253
|
+
prepare: async () => (await j.passwordResetComplete.load(), null),
|
|
248
254
|
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ n(e, {})
|
|
249
255
|
}),
|
|
250
|
-
|
|
256
|
+
k({
|
|
251
257
|
path: L,
|
|
252
258
|
resourcePage: b,
|
|
253
|
-
prepare: async () => (await
|
|
254
|
-
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ n(e, {})
|
|
255
|
-
}),
|
|
256
|
-
A({
|
|
257
|
-
path: R,
|
|
258
|
-
resourcePage: x,
|
|
259
|
-
prepare: async () => (await M.verifyEmail.load(), null),
|
|
259
|
+
prepare: async () => (await j.verifyEmail.load(), null),
|
|
260
260
|
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ n(e, {})
|
|
261
261
|
})
|
|
262
262
|
];
|
|
263
|
-
return (
|
|
264
|
-
path:
|
|
265
|
-
resourcePage:
|
|
266
|
-
prepare: async () => (await
|
|
263
|
+
return (j.hasAcceptInvitation === !0 || j.acceptInvitation != null) && Y.push(k({
|
|
264
|
+
path: R,
|
|
265
|
+
resourcePage: x,
|
|
266
|
+
prepare: async () => (await j.acceptInvitation?.load(), null),
|
|
267
267
|
render: ({ Component: e }) => e == null ? null : /* @__PURE__ */ n(e, {})
|
|
268
|
-
})),
|
|
268
|
+
})), Y.push(J), Y;
|
|
269
269
|
}
|
|
270
270
|
//#endregion
|
|
271
|
-
export {
|
|
271
|
+
export { x as BackofficeAcceptInvitationPageResource, g as BackofficeDashboardPageResource, m as BackofficeEntityDetailLayoutPageResource, p as BackofficeEntityDetailPageResource, h as BackofficeEntityDetailUnknownPageRedirectResource, f as BackofficeEntityListPageResource, d as BackofficeLayoutPageResource, _ as BackofficeLoginPageResource, y as BackofficePasswordResetCompletePageResource, v as BackofficePasswordResetRequestPageResource, b as BackofficeVerifyEmailPageResource, u as WrapperPageResource, A as createBackofficeRoutes, A as default };
|
|
272
272
|
|
|
273
273
|
//# sourceMappingURL=createBackofficeRoutes.js.map
|