diff --git a/.changeset/dir-sync-google-wizard.md b/.changeset/dir-sync-google-wizard.md new file mode 100644 index 00000000000..df50c10f76f --- /dev/null +++ b/.changeset/dir-sync-google-wizard.md @@ -0,0 +1,8 @@ +--- +'@clerk/clerk-js': minor +'@clerk/shared': minor +'@clerk/ui': minor +'@clerk/localizations': minor +--- + +Support Google Workspace directories in Directory Sync. Organization admins can upload a service account key and delegated admin email from the setup flow, start a sync on demand, and see the result of the last one. `DirectorySync` gains `setCredentials()`, `sync()`, `getSyncStatus()`, and `credentialsConfigured`. diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index abc75799054..8ecf259199e 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const arSA: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const arSA: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 bdd953bd13c..b91d9fdb8d7 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const beBY: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const beBY: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 450becd0a65..e3cae98919a 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -243,14 +243,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, @@ -266,6 +275,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, @@ -276,10 +292,6 @@ export const bgBG: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,28 @@ export const bgBG: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 701c5945ca9..43af449869d 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const bnIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const bnIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 d98555fca89..ae2eaa6432e 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -249,14 +249,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, @@ -272,6 +281,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, @@ -282,10 +298,6 @@ export const caES: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -304,14 +316,28 @@ export const caES: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 afae42d07de..63d0cff7de9 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -246,14 +246,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, @@ -269,6 +278,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, @@ -279,10 +295,6 @@ export const csCZ: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -301,14 +313,28 @@ export const csCZ: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 5b936ef9f7b..17de000bb61 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const daDK: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const daDK: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 eeba2a2982e..e78b8fc0207 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const deDE: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const deDE: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 0ecafa33088..8af055a55ef 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const elGR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const elGR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 d417e56a005..4538fdf8f82 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const enGB: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const enGB: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 9c07fb52146..4066136089a 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -237,15 +237,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', @@ -263,6 +272,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.', @@ -273,12 +292,8 @@ 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.', + "This SSO connection is configured but not yet active. You can provision members, but they won't be able to sign in until it's active.", }, navbar: { title: 'Configure Directory Sync', @@ -296,14 +311,29 @@ 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__noUsersProvisioned: 'No users have been provisioned yet.', + 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 57879bf85b8..d00a4fb9e34 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const esCR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const esCR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 a9117040297..7668b8273f2 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const esES: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const esES: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 fec6f4d697b..45b270b36ee 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -243,14 +243,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, @@ -266,6 +275,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, @@ -276,10 +292,6 @@ export const esMX: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -298,14 +310,28 @@ export const esMX: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 b2ee9573843..41a07137cdf 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const esUY: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const esUY: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 7b171d34f9f..2d8ec1d212d 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -247,14 +247,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, @@ -270,6 +279,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, @@ -280,10 +296,6 @@ export const faIR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -302,14 +314,28 @@ export const faIR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 fb752974c2d..82263f7b180 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const fiFI: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const fiFI: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 7aeb57da5fa..57c087c439b 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -250,14 +250,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, @@ -273,6 +282,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, @@ -283,10 +299,6 @@ export const frFR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -305,14 +317,28 @@ export const frFR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 e6858234500..6c66e2b782a 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const heIL: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const heIL: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 98d0c0fae13..5495af45e4b 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const hiIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const hiIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 3b734291016..b43ad2b32a3 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -249,14 +249,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, @@ -272,6 +281,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, @@ -282,10 +298,6 @@ export const hrHR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -304,14 +316,28 @@ export const hrHR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 a8bff797e71..840c05f7a30 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -249,14 +249,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, @@ -272,6 +281,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, @@ -282,10 +298,6 @@ export const huHU: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -304,14 +316,28 @@ export const huHU: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 9c7ceb13b3a..f535eb018d4 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const idID: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const idID: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 351c10e08da..b1cf4775d36 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const isIS: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const isIS: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 31e52f8b457..7254b4112e6 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const itIT: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const itIT: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 5d8d3db8d89..9dfeec06a4f 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -249,14 +249,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, @@ -272,6 +281,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, @@ -282,10 +298,6 @@ export const jaJP: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -304,14 +316,28 @@ export const jaJP: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 4167b373d0e..34fabe33f2d 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const kkKZ: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const kkKZ: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 ad5b4cf22d3..0c1326fc0fc 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -246,14 +246,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, @@ -269,6 +278,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, @@ -279,10 +295,6 @@ export const koKR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -301,14 +313,28 @@ export const koKR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 b96fd7764c1..eb3f619b3bc 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const mnMN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const mnMN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 0f5febb75f6..17c20e97493 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -250,14 +250,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, @@ -273,6 +282,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, @@ -283,10 +299,6 @@ export const msMY: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -305,14 +317,28 @@ export const msMY: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 ad3c06e17df..24bb5be3b7f 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -249,14 +249,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, @@ -272,6 +281,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, @@ -282,10 +298,6 @@ export const nbNO: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -304,14 +316,28 @@ export const nbNO: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 06b4956b051..b12667e42a6 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const nlBE: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const nlBE: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 8012f9bbd65..827f26616d6 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const nlNL: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const nlNL: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 22b7b268eb5..629ae7230be 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const plPL: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const plPL: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 db238db5c0d..764bb071051 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const ptBR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const ptBR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 fafe686c049..9c29d487a27 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -250,14 +250,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, @@ -273,6 +282,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, @@ -283,10 +299,6 @@ export const ptPT: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -305,14 +317,28 @@ export const ptPT: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 6c40143d2ae..43268667827 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const roRO: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const roRO: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 aef3e518f58..4664a748889 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const ruRU: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const ruRU: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 082a1613e1f..742e6ec56ba 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const skSK: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const skSK: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 f7d1166ad90..c09369a7cf8 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const srRS: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const srRS: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 ac5f30f0c58..508866d8765 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const svSE: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const svSE: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 7e33a3f6738..de419b38460 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -250,14 +250,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, @@ -273,6 +282,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, @@ -283,10 +299,6 @@ export const taIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -305,14 +317,28 @@ export const taIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 296bfeaf459..c5dcaaafd3b 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -249,14 +249,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, @@ -272,6 +281,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, @@ -282,10 +298,6 @@ export const teIN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -304,14 +316,28 @@ export const teIN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 8f0b0007edf..9c966c37b22 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -246,14 +246,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, @@ -269,6 +278,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, @@ -279,10 +295,6 @@ export const thTH: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -301,14 +313,28 @@ export const thTH: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 e5973ed6aba..f91f29111d8 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const trTR: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const trTR: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 0b5276288d3..fe89a0e14ea 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const ukUA: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const ukUA: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 91843807c98..1cb2a822051 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -248,14 +248,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, @@ -271,6 +280,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, @@ -281,10 +297,6 @@ export const viVN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -303,14 +315,28 @@ export const viVN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 16f338d03ef..2b64031e69c 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -242,14 +242,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, @@ -265,6 +274,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, @@ -275,10 +291,6 @@ export const zhCN: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -297,14 +309,28 @@ export const zhCN: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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 8f6091c6a0a..847b62ead44 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -245,14 +245,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, @@ -268,6 +277,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, @@ -278,10 +294,6 @@ export const zhTW: LocalizationResource = { notice__tokenShownOnce: undefined, subtitle: undefined, title: undefined, - warning__googleUnsupported: { - subtitle: undefined, - title: undefined, - }, warning__ssoInactive: undefined, }, navbar: { @@ -300,14 +312,28 @@ export const zhTW: LocalizationResource = { }, testStep: { actionLabel__complete: undefined, + actionLabel__syncNow: undefined, badge__active: undefined, badge__deprovisioned: undefined, description: undefined, + description__pull: undefined, + empty__noUsersProvisioned: 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/__tests__/file.spec.ts b/packages/shared/src/__tests__/file.spec.ts new file mode 100644 index 00000000000..06c9d1d90f3 --- /dev/null +++ b/packages/shared/src/__tests__/file.spec.ts @@ -0,0 +1,17 @@ +import { describe, expect, it } from 'vitest'; + +import { readJSONFile } from '../file'; + +describe('readJSONFile', () => { + it('resolves with the parsed contents', async () => { + const file = new File(['{"type":"service_account"}'], 'key.json', { type: 'application/json' }); + + await expect(readJSONFile(file)).resolves.toEqual({ type: 'service_account' }); + }); + + it('rejects a file that is not JSON', async () => { + const file = new File(['not json'], 'key.json', { type: 'application/json' }); + + await expect(readJSONFile(file)).rejects.toThrow(SyntaxError); + }); +}); diff --git a/packages/shared/src/file.ts b/packages/shared/src/file.ts index 88c4f85c3d5..1a1d524c922 100644 --- a/packages/shared/src/file.ts +++ b/packages/shared/src/file.ts @@ -4,17 +4,20 @@ * Probably paired with: * */ -export function readJSONFile(file: File): Promise { - return new Promise((resolve, reject) => { +export async function readJSONFile(file: File): Promise { + const text = await new Promise((resolve, reject) => { const reader = new FileReader(); reader.addEventListener('load', function () { - const result = JSON.parse(reader.result as string); - resolve(result); + resolve(reader.result as string); }); reader.addEventListener('error', reject); reader.readAsText(file); }); + + // Parsed here rather than in the load listener, where a throw never reaches + // the promise and leaves it pending. + return JSON.parse(text); } const MimeTypeToExtensionMap = Object.freeze({ diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index 37c552fdb49..6d2c93a776d 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -1603,11 +1603,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; @@ -1629,6 +1634,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; @@ -1649,9 +1661,23 @@ export type __internal_LocalizationResource = { title: LocalizationValue; subtitle: LocalizationValue<'provider'>; description: LocalizationValue; + description__pull: LocalizationValue; noteLabel: LocalizationValue; note: LocalizationValue; empty__waitingForFirstUser: LocalizationValue; + empty__waitingForFirstSync: LocalizationValue; + empty__noUsersProvisioned: 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/bundlewatch.config.json b/packages/ui/bundlewatch.config.json index c2cd9a0e4f4..ec22fea446c 100644 --- a/packages/ui/bundlewatch.config.json +++ b/packages/ui/bundlewatch.config.json @@ -2,10 +2,10 @@ "files": [ { "path": "./dist/ui.browser.js", "maxSize": "45KB" }, { "path": "./dist/ui.legacy.browser.js", "maxSize": "85KB" }, - { "path": "./dist/ui.shared.browser.js", "maxSize": "42KB" }, + { "path": "./dist/ui.shared.browser.js", "maxSize": "44KB" }, { "path": "./dist/framework*.js", "maxSize": "44KB" }, { "path": "./dist/vendors*.js", "maxSize": "73KB" }, - { "path": "./dist/ui-common*.js", "maxSize": "137KB" }, + { "path": "./dist/ui-common*.js", "maxSize": "139KB" }, { "path": "./dist/signin*.js", "maxSize": "19KB" }, { "path": "./dist/signup*.js", "maxSize": "13KB" }, { "path": "./dist/userprofile*.js", "maxSize": "16KB" }, diff --git a/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx index e52e8468a1e..04a17a2cda2 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 { sortEnterpriseConnections } from '../ConfigureSSO/domain/organizationEnterpriseConnection'; @@ -30,6 +35,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; } @@ -61,6 +70,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 @@ -104,6 +115,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..e18b4508e09 --- /dev/null +++ b/packages/ui/src/components/ConfigureDirectorySync/GoogleCredentialsForm.tsx @@ -0,0 +1,204 @@ +import { readJSONFile } from '@clerk/shared/file'; +import { useCallback, useRef, useState } from 'react'; + +import { + Badge, + Button, + Col, + descriptors, + Flex, + Input, + localizationKeys, + Text, + useLocalizations, +} from '@/customizables'; +import { isEmail } from '@/ui/utils/emailUtils'; + +import { useConfigureDirectorySync } from './ConfigureDirectorySyncContext'; + +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 key: unknown; + try { + key = await readJSONFile(file); + } 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(JSON.stringify(key)); + setFileName(file.name); + }, + [t], + ); + + const submit = useCallback(async (): Promise => { + if (!hasPendingCredential) { + return; + } + await setCredentials({ serviceAccountJson, subjectEmail: trimmedSubjectEmail }); + 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 })} + > +