diff --git a/.changeset/dir-sync-google-wizard.md b/.changeset/dir-sync-google-wizard.md new file mode 100644 index 00000000000..726d21a2925 --- /dev/null +++ b/.changeset/dir-sync-google-wizard.md @@ -0,0 +1,7 @@ +--- +'@clerk/localizations': minor +'@clerk/shared': minor +'@clerk/ui': minor +--- + +Support Google Workspace in the Directory Sync setup flow. Those connections previously showed a notice directing the organization admin to the Clerk Dashboard; they can now upload a service account key and delegated admin email, start a sync, and see the result of the last one. diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index c89ca2c72e9..58ca106d8af 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -237,14 +237,23 @@ export const arSA: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const arSA: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const arSA: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const arSA: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/be-BY.ts b/packages/localizations/src/be-BY.ts index 80651105c3e..4d3a6e8e657 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -237,14 +237,23 @@ export const beBY: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const beBY: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const beBY: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const beBY: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/bg-BG.ts b/packages/localizations/src/bg-BG.ts index 994f42c5fff..5015e0a2b4d 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -238,14 +238,23 @@ export const bgBG: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -261,6 +270,13 @@ export const bgBG: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -271,10 +287,6 @@ export const bgBG: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -293,14 +305,27 @@ export const bgBG: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/bn-IN.ts b/packages/localizations/src/bn-IN.ts index 736ee99cc21..ec5642098b1 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -243,14 +243,23 @@ export const bnIN: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const bnIN: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const bnIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const bnIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index 26b4a53fe4d..35d8092808c 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -244,14 +244,23 @@ export const caES: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -267,6 +276,13 @@ export const caES: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -277,10 +293,6 @@ export const caES: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -299,14 +311,27 @@ export const caES: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/cs-CZ.ts b/packages/localizations/src/cs-CZ.ts index da97038eca8..785a0b11285 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -241,14 +241,23 @@ export const csCZ: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -264,6 +273,13 @@ export const csCZ: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -274,10 +290,6 @@ export const csCZ: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -296,14 +308,27 @@ export const csCZ: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/da-DK.ts b/packages/localizations/src/da-DK.ts index 4a1d7d02af7..6d96695b43d 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -237,14 +237,23 @@ export const daDK: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const daDK: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const daDK: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const daDK: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/de-DE.ts b/packages/localizations/src/de-DE.ts index fc30b05a534..7a9fdcb8c3d 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -243,14 +243,23 @@ export const deDE: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const deDE: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const deDE: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const deDE: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/el-GR.ts b/packages/localizations/src/el-GR.ts index 1091e4d608d..425e0c255f8 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -237,14 +237,23 @@ export const elGR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const elGR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const elGR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const elGR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/en-GB.ts b/packages/localizations/src/en-GB.ts index 6d3bf95a9ca..07085987677 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -237,14 +237,23 @@ export const enGB: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const enGB: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const enGB: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const enGB: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index fb069af7045..c5d62374e4b 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -232,15 +232,24 @@ export const enUS: LocalizationResource = { }, configureStep: { actionLabel__generateToken: 'Generate new token', + actionLabel__replaceKey: 'Replace JSON key', actionLabel__retry: 'Try again', + actionLabel__uploadKey: 'Upload JSON key', + badge__credentialsConfigured: 'Configured', + badge__credentialsMissing: 'Not configured', domainsLabel: 'Domains:', + error__invalidKeyFile: 'That file is not valid JSON. Upload the key file downloaded from Google.', error__ssoRequired: { subtitle: 'Directory Sync requires an SSO connection. Configure and verify your SSO connection first, then return here to set up provisioning.', title: 'Single Sign-On is not configured yet', }, + formFieldHint__subjectEmail: 'The directory is read as this admin. They must be an active Workspace admin.', + formFieldInputPlaceholder__subjectEmail: 'admin@yourcompany.com', formFieldInputPlaceholder__token: 'Generate a new token to reveal it', formFieldLabel__endpointUrl: 'SCIM endpoint URL', + formFieldLabel__serviceAccountKey: 'Service account key', + formFieldLabel__subjectEmail: 'Google Workspace admin email', formFieldLabel__token: 'Bearer token', instructions: { actionLabel__toggle: 'View instructions', @@ -258,6 +267,16 @@ export const enUS: LocalizationResource = { step3: 'Select Provisioning and set the provisioning mode to Automatic.', step4: 'Assign the users and groups to provision, then turn provisioning On.', }, + google: { + step1: + 'In the Google Cloud console, create a project and a service account, then create a JSON key for it and download the file.', + step2: 'Enable the Admin SDK API for that project.', + step3: + 'In the Google Admin console, open Security, then API controls, then Domain-wide delegation, and add the service account using its client ID.', + step4: + 'Grant it the read-only directory scopes: https://www.googleapis.com/auth/admin.directory.user.readonly and https://www.googleapis.com/auth/admin.directory.group.readonly.', + step5: 'Upload the JSON key below and enter the email of a Google Workspace admin to read the directory as.', + }, okta: { step1: 'In the Okta Admin Console, open the application used for your SSO connection.', step2: 'Open the Provisioning tab and select the Integration setting.', @@ -268,10 +287,6 @@ export const enUS: LocalizationResource = { notice__tokenShownOnce: 'This token is only shown once. Generate a new token if you lose it.', subtitle: 'Add these credentials to your identity provider to configure Directory Sync', title: 'Configure', - warning__googleUnsupported: { - subtitle: 'Please contact support to set up your Google Workspace integration.', - title: 'Google Workspace connections are not configurable via self-serve', - }, warning__ssoInactive: 'Your SSO connection is configured but not active. Members can be provisioned now, but they can only sign in once SSO is activated.', }, @@ -291,14 +306,28 @@ export const enUS: LocalizationResource = { }, testStep: { actionLabel__complete: 'Complete', + actionLabel__syncNow: 'Sync now', badge__active: 'Active', badge__deprovisioned: 'Deprovisioned', description: 'Users appear here as your identity provider provisions them, most recent activity first.', + description__pull: + 'Your directory is read on a schedule. Start a sync to pull users now, most recent activity first.', + empty__waitingForFirstSync: 'Waiting for the first sync to finish…', empty__waitingForFirstUser: 'Waiting for the first provisioned user…', + error__lastSyncFailed: 'The last sync failed', error__loadUsers: 'Could not load provisioned users', + error__syncFailed: 'Could not start the sync. Check your connection and try again.', note: 'only users with an email address from a configured domain will be processed.', noteLabel: 'Note:', subtitle: 'Assign or push a test user from {{provider}} to verify provisioning.', + syncRow: { + neverSynced: 'Not synced yet', + title: 'Directory sync', + }, + syncStatus__cancelled: 'Cancelled', + syncStatus__failed: 'Failed', + syncStatus__running: 'Running', + syncStatus__succeeded: 'Succeeded', title: 'Test provisioning', }, }, diff --git a/packages/localizations/src/es-CR.ts b/packages/localizations/src/es-CR.ts index 3bd948fe871..f2a001499db 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -237,14 +237,23 @@ export const esCR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const esCR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const esCR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const esCR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/es-ES.ts b/packages/localizations/src/es-ES.ts index 652fd36abb0..621c90f07c0 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -243,14 +243,23 @@ export const esES: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const esES: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const esES: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const esES: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/es-MX.ts b/packages/localizations/src/es-MX.ts index e7647c73176..cb0ac06b087 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -238,14 +238,23 @@ export const esMX: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -261,6 +270,13 @@ export const esMX: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -271,10 +287,6 @@ export const esMX: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -293,14 +305,27 @@ export const esMX: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/es-UY.ts b/packages/localizations/src/es-UY.ts index 2ce62d54638..9afa545d76c 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -237,14 +237,23 @@ export const esUY: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const esUY: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const esUY: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const esUY: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/fa-IR.ts b/packages/localizations/src/fa-IR.ts index 108f800cd33..21028226c10 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -242,14 +242,23 @@ export const faIR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -265,6 +274,13 @@ export const faIR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -275,10 +291,6 @@ export const faIR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,27 @@ export const faIR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/fi-FI.ts b/packages/localizations/src/fi-FI.ts index 2b16351dc6c..9262f3268c4 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -243,14 +243,23 @@ export const fiFI: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const fiFI: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const fiFI: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const fiFI: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index ac4bee57386..be42388f278 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -245,14 +245,23 @@ export const frFR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -268,6 +277,13 @@ export const frFR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -278,10 +294,6 @@ export const frFR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -300,14 +312,27 @@ export const frFR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/he-IL.ts b/packages/localizations/src/he-IL.ts index b9693f516c3..6252599349a 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -237,14 +237,23 @@ export const heIL: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const heIL: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const heIL: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const heIL: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/hi-IN.ts b/packages/localizations/src/hi-IN.ts index 385357d0570..9e00a28e6cc 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -243,14 +243,23 @@ export const hiIN: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const hiIN: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const hiIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const hiIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/hr-HR.ts b/packages/localizations/src/hr-HR.ts index 57d7658a844..08979884ac1 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -244,14 +244,23 @@ export const hrHR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -267,6 +276,13 @@ export const hrHR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -277,10 +293,6 @@ export const hrHR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -299,14 +311,27 @@ export const hrHR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/hu-HU.ts b/packages/localizations/src/hu-HU.ts index 2f905cf81de..53e6848f5e0 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -244,14 +244,23 @@ export const huHU: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -267,6 +276,13 @@ export const huHU: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -277,10 +293,6 @@ export const huHU: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -299,14 +311,27 @@ export const huHU: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/id-ID.ts b/packages/localizations/src/id-ID.ts index 56d5c3d5f8b..3954a77f1f4 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -237,14 +237,23 @@ export const idID: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const idID: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const idID: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const idID: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/is-IS.ts b/packages/localizations/src/is-IS.ts index 1f384447cd7..320c23520b5 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -243,14 +243,23 @@ export const isIS: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const isIS: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const isIS: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const isIS: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/it-IT.ts b/packages/localizations/src/it-IT.ts index 419d8d5ca66..d9d34119b05 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -243,14 +243,23 @@ export const itIT: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const itIT: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const itIT: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const itIT: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/ja-JP.ts b/packages/localizations/src/ja-JP.ts index 7d5eff82c76..89d7ca37226 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -244,14 +244,23 @@ export const jaJP: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -267,6 +276,13 @@ export const jaJP: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -277,10 +293,6 @@ export const jaJP: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -299,14 +311,27 @@ export const jaJP: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/kk-KZ.ts b/packages/localizations/src/kk-KZ.ts index f80060cc2f0..517a450d56c 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -237,14 +237,23 @@ export const kkKZ: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const kkKZ: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const kkKZ: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const kkKZ: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/ko-KR.ts b/packages/localizations/src/ko-KR.ts index 371b4c80667..c89596adcc5 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -241,14 +241,23 @@ export const koKR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -264,6 +273,13 @@ export const koKR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -274,10 +290,6 @@ export const koKR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -296,14 +308,27 @@ export const koKR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/mn-MN.ts b/packages/localizations/src/mn-MN.ts index 7374da7ae2e..e0a1f664143 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -237,14 +237,23 @@ export const mnMN: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const mnMN: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const mnMN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const mnMN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/ms-MY.ts b/packages/localizations/src/ms-MY.ts index d085d4206f9..7d6a27847ef 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -245,14 +245,23 @@ export const msMY: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -268,6 +277,13 @@ export const msMY: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -278,10 +294,6 @@ export const msMY: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -300,14 +312,27 @@ export const msMY: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/nb-NO.ts b/packages/localizations/src/nb-NO.ts index 6e1b71b597d..a7713475683 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -244,14 +244,23 @@ export const nbNO: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -267,6 +276,13 @@ export const nbNO: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -277,10 +293,6 @@ export const nbNO: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -299,14 +311,27 @@ export const nbNO: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/nl-BE.ts b/packages/localizations/src/nl-BE.ts index 3544894670a..37eeac1a70f 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -237,14 +237,23 @@ export const nlBE: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const nlBE: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const nlBE: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const nlBE: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/nl-NL.ts b/packages/localizations/src/nl-NL.ts index 5986a847c6e..2a632cb627b 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -237,14 +237,23 @@ export const nlNL: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const nlNL: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const nlNL: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const nlNL: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/pl-PL.ts b/packages/localizations/src/pl-PL.ts index 1b93f6c27f9..b2b2c0de5e2 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -237,14 +237,23 @@ export const plPL: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const plPL: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const plPL: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const plPL: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/pt-BR.ts b/packages/localizations/src/pt-BR.ts index bb33f1549be..60657bbc7f5 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -243,14 +243,23 @@ export const ptBR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const ptBR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const ptBR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const ptBR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/pt-PT.ts b/packages/localizations/src/pt-PT.ts index d672f9f1e8a..c7391b95e94 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -245,14 +245,23 @@ export const ptPT: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -268,6 +277,13 @@ export const ptPT: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -278,10 +294,6 @@ export const ptPT: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -300,14 +312,27 @@ export const ptPT: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/ro-RO.ts b/packages/localizations/src/ro-RO.ts index 063cdbf32ef..444bc017510 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -243,14 +243,23 @@ export const roRO: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const roRO: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const roRO: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const roRO: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/ru-RU.ts b/packages/localizations/src/ru-RU.ts index f07077d04fa..6c161041311 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -237,14 +237,23 @@ export const ruRU: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const ruRU: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const ruRU: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const ruRU: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/sk-SK.ts b/packages/localizations/src/sk-SK.ts index cb1e09e225d..a35a3f88249 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -237,14 +237,23 @@ export const skSK: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const skSK: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const skSK: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const skSK: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/sr-RS.ts b/packages/localizations/src/sr-RS.ts index 80893e65d17..0b274a208e2 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -237,14 +237,23 @@ export const srRS: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const srRS: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const srRS: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const srRS: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/sv-SE.ts b/packages/localizations/src/sv-SE.ts index 42ee199f7ad..02b22c231ef 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -237,14 +237,23 @@ export const svSE: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const svSE: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const svSE: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const svSE: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/ta-IN.ts b/packages/localizations/src/ta-IN.ts index e1d05c1246c..1f30df70b28 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -245,14 +245,23 @@ export const taIN: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -268,6 +277,13 @@ export const taIN: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -278,10 +294,6 @@ export const taIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -300,14 +312,27 @@ export const taIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/te-IN.ts b/packages/localizations/src/te-IN.ts index 1bdadb0f673..fe3059a784a 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -244,14 +244,23 @@ export const teIN: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -267,6 +276,13 @@ export const teIN: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -277,10 +293,6 @@ export const teIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -299,14 +311,27 @@ export const teIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/th-TH.ts b/packages/localizations/src/th-TH.ts index 78af5c3e90b..abe6fcb2057 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -241,14 +241,23 @@ export const thTH: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -264,6 +273,13 @@ export const thTH: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -274,10 +290,6 @@ export const thTH: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -296,14 +308,27 @@ export const thTH: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/tr-TR.ts b/packages/localizations/src/tr-TR.ts index 1ae4e5d7765..5783deb0c0f 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -237,14 +237,23 @@ export const trTR: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const trTR: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const trTR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const trTR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index f27a90a6bd7..c3bb5fd9183 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -237,14 +237,23 @@ export const ukUA: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const ukUA: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const ukUA: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const ukUA: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index db5113e099e..f1182b01a35 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -243,14 +243,23 @@ export const viVN: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -266,6 +275,13 @@ export const viVN: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -276,10 +292,6 @@ export const viVN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,27 @@ export const viVN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/zh-CN.ts b/packages/localizations/src/zh-CN.ts index ad86a3b8353..b7056ddfb40 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -237,14 +237,23 @@ export const zhCN: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -260,6 +269,13 @@ export const zhCN: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -270,10 +286,6 @@ export const zhCN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -292,14 +304,27 @@ export const zhCN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/localizations/src/zh-TW.ts b/packages/localizations/src/zh-TW.ts index efb97374455..2f9ed5b453b 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -240,14 +240,23 @@ export const zhTW: LocalizationResource = { }, configureStep: { actionLabel__generateToken: undefined, + actionLabel__replaceKey: undefined, actionLabel__retry: undefined, + actionLabel__uploadKey: undefined, + badge__credentialsConfigured: undefined, + badge__credentialsMissing: undefined, domainsLabel: undefined, + error__invalidKeyFile: undefined, error__ssoRequired: { subtitle: undefined, title: undefined, }, + formFieldHint__subjectEmail: undefined, + formFieldInputPlaceholder__subjectEmail: undefined, formFieldInputPlaceholder__token: undefined, formFieldLabel__endpointUrl: undefined, + formFieldLabel__serviceAccountKey: undefined, + formFieldLabel__subjectEmail: undefined, formFieldLabel__token: undefined, instructions: { actionLabel__toggle: undefined, @@ -263,6 +272,13 @@ export const zhTW: LocalizationResource = { step3: undefined, step4: undefined, }, + google: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + step5: undefined, + }, okta: { step1: undefined, step2: undefined, @@ -273,10 +289,6 @@ export const zhTW: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -295,14 +307,27 @@ export const zhTW: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__waitingForFirstSync: undefined, empty__waitingForFirstUser: undefined, + error__lastSyncFailed: undefined, error__loadUsers: undefined, + error__syncFailed: undefined, note: undefined, noteLabel: undefined, subtitle: undefined, + syncRow: { + neverSynced: undefined, + title: undefined, + }, + syncStatus__cancelled: undefined, + syncStatus__failed: undefined, + syncStatus__running: undefined, + syncStatus__succeeded: undefined, title: undefined, }, }, diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index 2689cc55d05..d1e8bc348a4 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -1491,11 +1491,16 @@ export type __internal_LocalizationResource = { title: LocalizationValue; subtitle: LocalizationValue; }; - warning__googleUnsupported: { - title: LocalizationValue; - subtitle: LocalizationValue; - }; warning__ssoInactive: LocalizationValue; + formFieldLabel__serviceAccountKey: LocalizationValue; + formFieldLabel__subjectEmail: LocalizationValue; + formFieldInputPlaceholder__subjectEmail: LocalizationValue; + formFieldHint__subjectEmail: LocalizationValue; + actionLabel__uploadKey: LocalizationValue; + actionLabel__replaceKey: LocalizationValue; + badge__credentialsConfigured: LocalizationValue; + badge__credentialsMissing: LocalizationValue; + error__invalidKeyFile: LocalizationValue; domainsLabel: LocalizationValue; instructions: { actionLabel__toggle: LocalizationValue; @@ -1517,6 +1522,13 @@ export type __internal_LocalizationResource = { step3: LocalizationValue; step4: LocalizationValue; }; + google: { + step1: LocalizationValue; + step2: LocalizationValue; + step3: LocalizationValue; + step4: LocalizationValue; + step5: LocalizationValue; + }; }; formFieldLabel__endpointUrl: LocalizationValue; formFieldLabel__token: LocalizationValue; @@ -1537,9 +1549,22 @@ export type __internal_LocalizationResource = { title: LocalizationValue; subtitle: LocalizationValue<'provider'>; description: LocalizationValue; + description__pull: LocalizationValue; noteLabel: LocalizationValue; note: LocalizationValue; empty__waitingForFirstUser: LocalizationValue; + empty__waitingForFirstSync: LocalizationValue; + actionLabel__syncNow: LocalizationValue; + error__lastSyncFailed: LocalizationValue; + error__syncFailed: LocalizationValue; + syncStatus__running: LocalizationValue; + syncStatus__succeeded: LocalizationValue; + syncStatus__failed: LocalizationValue; + syncStatus__cancelled: LocalizationValue; + syncRow: { + title: LocalizationValue; + neverSynced: LocalizationValue; + }; badge__active: LocalizationValue; badge__deprovisioned: LocalizationValue; error__loadUsers: LocalizationValue; diff --git a/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx index a7c976d0d7d..c2b7338f345 100644 --- a/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx +++ b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx @@ -2,7 +2,12 @@ import { __internal_useOrganizationDirectorySync, __internal_useOrganizationEnterpriseConnections, } from '@clerk/shared/react'; -import type { DirectorySyncProvider, DirectorySyncResource, EnterpriseConnectionResource } from '@clerk/shared/types'; +import type { + DirectorySyncProvider, + DirectorySyncResource, + EnterpriseConnectionResource, + SetDirectorySyncCredentialsParams, +} from '@clerk/shared/types'; import React, { type PropsWithChildren } from 'react'; import type { DirectorySyncProviderMeta } from './providerMeta'; @@ -29,6 +34,10 @@ export interface ConfigureDirectorySyncData { createDirectory: () => Promise; rotateToken: () => Promise; setDirectoryEnabled: (enabled: boolean) => Promise; + /** Stores the credential a pull directory reads the identity provider with. */ + setCredentials: (params: SetDirectorySyncCredentialsParams) => Promise; + /** Starts a sync for a pull directory. */ + syncDirectory: () => Promise; onExit?: () => void; } @@ -60,6 +69,8 @@ export const ConfigureDirectorySyncProvider = ({ createDirectorySync, updateDirectorySync, rotateDirectorySyncToken, + setDirectorySyncCredentials, + syncDirectory, } = __internal_useOrganizationDirectorySync({ enterpriseConnectionId }); // The token is stored with the connection it was issued for, so a response @@ -103,6 +114,8 @@ export const ConfigureDirectorySyncProvider = ({ createDirectory, rotateToken, setDirectoryEnabled, + setCredentials: setDirectorySyncCredentials, + syncDirectory, onExit, }; diff --git a/packages/ui/src/components/ConfigureDirectorySync/GoogleCredentialsForm.tsx b/packages/ui/src/components/ConfigureDirectorySync/GoogleCredentialsForm.tsx new file mode 100644 index 00000000000..4e4f8dc0aa3 --- /dev/null +++ b/packages/ui/src/components/ConfigureDirectorySync/GoogleCredentialsForm.tsx @@ -0,0 +1,226 @@ +import { useCallback, useRef, useState } from 'react'; + +import { + Badge, + Button, + Col, + descriptors, + Flex, + Input, + localizationKeys, + Text, + useLocalizations, +} from '@/customizables'; + +import { useConfigureDirectorySync } from './ConfigureDirectorySyncContext'; + +// FileReader rather than Blob.text(), which Safari only gained in 14 and which +// clerk-js cannot assume. Mirrors fileToBase64 in AvatarUploader. +const fileToText = (file: File): Promise => + new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsText(file); + reader.onload = () => resolve(reader.result as string); + // onerror hands back a ProgressEvent, which is useless to a caller. + reader.onerror = () => reject(new Error('Could not read the selected file')); + }); + +// Same shape as the copies in InviteMembersForm and SignIn/utils: enough to +// stop an obviously malformed address reaching the provider, no more. +const isEmail = (str: string) => /^\S+@\S+\.\S+$/.test(str); + +export type GoogleCredentialsState = { + fileName: string | null; + subjectEmail: string; + fileError: string | null; + isConfigured: boolean; + /** Whether the step can be left: a credential is stored, or one is ready to send. */ + canContinue: boolean; + setSubjectEmail: (value: string) => void; + selectFile: (file: File | undefined) => Promise; + /** Sends the pending credential, if there is one. Rejects if the provider refuses it. */ + submit: () => Promise; +}; + +/** + * Holds the credential a pull-based directory reads the identity provider with. + * + * State lives here rather than inside the form so the step footer can drive it: + * the wizard's Continue performs the submit, so the form has no button of its + * own and there is only one way forward. + */ +export const useGoogleCredentialsState = (): GoogleCredentialsState => { + const { directory, setCredentials } = useConfigureDirectorySync(); + const { t } = useLocalizations(); + + const [serviceAccountJson, setServiceAccountJson] = useState(''); + const [fileName, setFileName] = useState(null); + const [subjectEmail, setSubjectEmail] = useState(''); + const [fileError, setFileError] = useState(null); + + const isConfigured = Boolean(directory?.credentialsConfigured); + const trimmedSubjectEmail = subjectEmail.trim(); + // Continue lives outside the form, so the input's type='email' never triggers + // native validation. Without this, whitespace alone enables it. + const hasPendingCredential = Boolean(serviceAccountJson) && isEmail(trimmedSubjectEmail); + + const selectFile = useCallback( + async (file: File | undefined): Promise => { + if (!file) { + return; + } + // Drop whatever was selected before reading: a failed read must not leave + // the previous key staged and submittable. + setServiceAccountJson(''); + setFileName(null); + setFileError(null); + + let contents: string; + try { + contents = await fileToText(file); + } catch { + setFileError(t(localizationKeys('configureDirectorySync.configureStep.error__invalidKeyFile'))); + return; + } + + try { + JSON.parse(contents); + } catch { + // Catch the obvious wrong-file case here; anything structurally valid is + // the identity provider's to judge, and its message is better than ours. + setFileError(t(localizationKeys('configureDirectorySync.configureStep.error__invalidKeyFile'))); + return; + } + setServiceAccountJson(contents); + setFileName(file.name); + }, + [t], + ); + + const submit = useCallback(async (): Promise => { + if (!hasPendingCredential) { + return; + } + await setCredentials({ serviceAccountJson, subjectEmail: trimmedSubjectEmail }); + // Drop the key as soon as it has been accepted. Nothing in this flow needs + // it again, and holding it only widens where it can leak from. + setServiceAccountJson(''); + setFileName(null); + }, [hasPendingCredential, setCredentials, serviceAccountJson, trimmedSubjectEmail]); + + return { + fileName, + subjectEmail, + fileError, + isConfigured, + canContinue: isConfigured || hasPendingCredential, + setSubjectEmail, + selectFile, + submit, + }; +}; + +/** + * Collects the service account key and the administrator it impersonates. The + * key is never held in wizard state, which outlives the request. + */ +export const GoogleCredentialsForm = ({ state }: { state: GoogleCredentialsState }): JSX.Element => { + const { t } = useLocalizations(); + const fileInputRef = useRef(null); + const { fileName, subjectEmail, fileError, isConfigured, setSubjectEmail, selectFile } = state; + + return ( + ({ gap: t.space.$5 })} + > + ({ gap: t.space.$2 })} + > + ({ fontSize: t.fontSizes.$sm, fontWeight: t.fontWeights.$medium })} + /> + + + + ({ gap: t.space.$1x5 })}> + void selectFile(event.target.files?.[0])} + /> + ({ gap: t.space.$2 })} + > +