diff --git a/.changeset/dir-sync-self-serve-wiring.md b/.changeset/dir-sync-self-serve-wiring.md index da7626a3eb6..b752983c0a0 100644 --- a/.changeset/dir-sync-self-serve-wiring.md +++ b/.changeset/dir-sync-self-serve-wiring.md @@ -1,6 +1,7 @@ --- '@clerk/clerk-js': minor '@clerk/localizations': minor +'@clerk/react': minor '@clerk/shared': minor '@clerk/ui': minor --- diff --git a/packages/clerk-js/bundlewatch.config.json b/packages/clerk-js/bundlewatch.config.json index 83c11c2961c..3b53161aab2 100644 --- a/packages/clerk-js/bundlewatch.config.json +++ b/packages/clerk-js/bundlewatch.config.json @@ -1,10 +1,10 @@ { "files": [ - { "path": "./dist/clerk.js", "maxSize": "553KB" }, - { "path": "./dist/clerk.browser.js", "maxSize": "79.5KB" }, + { "path": "./dist/clerk.js", "maxSize": "554KB" }, + { "path": "./dist/clerk.browser.js", "maxSize": "81KB" }, { "path": "./dist/clerk.legacy.browser.js", "maxSize": "122.5KB" }, { "path": "./dist/clerk.no-rhc.js", "maxSize": "320KB" }, - { "path": "./dist/clerk.native.js", "maxSize": "79KB" }, + { "path": "./dist/clerk.native.js", "maxSize": "80KB" }, { "path": "./dist/vendors*.js", "maxSize": "7KB" }, { "path": "./dist/coinbase*.js", "maxSize": "36KB" }, { "path": "./dist/base-account-sdk*.js", "maxSize": "207KB" }, diff --git a/packages/clerk-js/sandbox/app.ts b/packages/clerk-js/sandbox/app.ts index 11bdbbe370a..bf9d3c8b9bf 100644 --- a/packages/clerk-js/sandbox/app.ts +++ b/packages/clerk-js/sandbox/app.ts @@ -34,6 +34,7 @@ const AVAILABLE_COMPONENTS = [ 'pricingTable', 'apiKeys', 'configureSSO', + 'configureDirectorySync', 'oauthConsent', 'oauthDeviceVerification', 'taskChooseOrganization', @@ -154,6 +155,7 @@ const componentControls: Record = { pricingTable: buildComponentControls('pricingTable'), apiKeys: buildComponentControls('apiKeys'), configureSSO: buildComponentControls('configureSSO'), + configureDirectorySync: buildComponentControls('configureDirectorySync'), oauthConsent: buildComponentControls('oauthConsent'), oauthDeviceVerification: buildComponentControls('oauthDeviceVerification'), taskChooseOrganization: buildComponentControls('taskChooseOrganization'), @@ -431,6 +433,10 @@ void (async () => { mount: '__internal_mountOAuthDeviceVerification', component: 'oauthDeviceVerification', }, + '/configure-directory-sync': { + mount: '__internal_mountConfigureDirectorySync', + component: 'configureDirectorySync', + }, '/task-choose-organization': { mount: 'mountTaskChooseOrganization', component: 'taskChooseOrganization', diff --git a/packages/clerk-js/sandbox/template.html b/packages/clerk-js/sandbox/template.html index e7c5d8d344e..4725d21ea3a 100644 --- a/packages/clerk-js/sandbox/template.html +++ b/packages/clerk-js/sandbox/template.html @@ -313,6 +313,11 @@ label="Configure SSO" component="" > + ui.ensureMounted()).then(controls => controls.unmountComponent({ node })); }; + /** + * Mount the Directory Sync onboarding component at the target element. + * Directory Sync provisions members through the organization's SSO connection, + * so it requires organizations to be enabled and the self-serve Directory Sync + * feature to be turned on for the instance. + * + * @param targetNode Target to mount the ConfigureDirectorySync component. + * @param props Configuration parameters. + * @hidden + */ + public __internal_mountConfigureDirectorySync = (node: HTMLDivElement, props?: ConfigureSSOProps) => { + const { isEnabled: isOrganizationsEnabled } = this.__internal_attemptToEnableEnvironmentSetting({ + for: 'organizations', + caller: 'ConfigureDirectorySync', + onClose: () => { + throw new ClerkRuntimeError(warnings.cannotRenderAnyOrganizationComponent('ConfigureDirectorySync'), { + code: CANNOT_RENDER_ORGANIZATIONS_DISABLED_ERROR_CODE, + }); + }, + }); + + if (!isOrganizationsEnabled) { + return; + } + + const userExists = !noUserExists(this); + if (noOrganizationExists(this) && userExists) { + if (this.#instanceType === 'development') { + throw new ClerkRuntimeError(warnings.createCannotRenderComponentWhenOrgDoesNotExist('ConfigureDirectorySync'), { + code: CANNOT_RENDER_ORGANIZATION_MISSING_ERROR_CODE, + }); + } + return; + } + + if (disabledSelfServeDirectorySyncFeature(this, this.environment)) { + if (this.#instanceType === 'development') { + throw new ClerkRuntimeError(warnings.cannotRenderConfigureDirectorySyncComponentWhenDisabled, { + code: CANNOT_RENDER_SELF_SERVE_SSO_DISABLED_ERROR_CODE, + }); + } + return; + } + + this.assertComponentsReady(this.#clerkUI); + const component = 'ConfigureDirectorySync'; + void this.#clerkUI + .then(ui => ui.ensureMounted({ preloadHint: component })) + .then(controls => + controls.mountComponent({ + name: component, + appearanceKey: 'configureDirectorySync', + node, + props, + }), + ); + + this.telemetry?.record(eventPrebuiltComponentMounted(component, props)); + }; + + /** + * Unmount the Directory Sync onboarding component from the target element. + * If there is no component mounted at the target node, results in a noop. + * + * @param targetNode Target node to unmount the ConfigureDirectorySync component from. + * @hidden + */ + public __internal_unmountConfigureDirectorySync = (node: HTMLDivElement) => { + void this.#clerkUI?.then(ui => ui.ensureMounted()).then(controls => controls.unmountComponent({ node })); + }; + public mountTaskChooseOrganization = (node: HTMLDivElement, props?: TaskChooseOrganizationProps) => { const { isEnabled: isOrganizationsEnabled } = this.__internal_attemptToEnableEnvironmentSetting({ for: 'organizations', diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index 1f94de2f107..c89ca2c72e9 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -226,6 +226,83 @@ export const arSA: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1202,6 +1279,25 @@ export const arSA: LocalizationResource = { title: 'حذف النطاق', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/be-BY.ts b/packages/localizations/src/be-BY.ts index 8746509040e..80651105c3e 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -226,6 +226,83 @@ export const beBY: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1205,6 +1282,25 @@ export const beBY: LocalizationResource = { title: 'Выдаліць дамен', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/bg-BG.ts b/packages/localizations/src/bg-BG.ts index 6a6b6be47cf..994f42c5fff 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -227,6 +227,83 @@ export const bgBG: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1205,6 +1282,25 @@ export const bgBG: LocalizationResource = { title: 'Премахване на домейн', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/bn-IN.ts b/packages/localizations/src/bn-IN.ts index 76d25555d59..736ee99cc21 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -232,6 +232,83 @@ export const bnIN: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1212,6 +1289,25 @@ export const bnIN: LocalizationResource = { title: 'ডোমেন সরান', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index d44d299777d..26b4a53fe4d 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -233,6 +233,83 @@ export const caES: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1212,6 +1289,25 @@ export const caES: LocalizationResource = { title: 'Elimina domini', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/cs-CZ.ts b/packages/localizations/src/cs-CZ.ts index 9d72f915e32..da97038eca8 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -230,6 +230,83 @@ export const csCZ: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1210,6 +1287,25 @@ export const csCZ: LocalizationResource = { title: 'Odebrat doménu', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/da-DK.ts b/packages/localizations/src/da-DK.ts index c23a601a6ea..4a1d7d02af7 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -226,6 +226,83 @@ export const daDK: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1203,6 +1280,25 @@ export const daDK: LocalizationResource = { title: 'Fjern domæne', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/de-DE.ts b/packages/localizations/src/de-DE.ts index 6439d9c7321..fc30b05a534 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -232,6 +232,83 @@ export const deDE: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1218,6 +1295,25 @@ export const deDE: LocalizationResource = { title: 'Domain entfernen', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/el-GR.ts b/packages/localizations/src/el-GR.ts index 7c53fc10b77..1091e4d608d 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -226,6 +226,83 @@ export const elGR: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1208,6 +1285,25 @@ export const elGR: LocalizationResource = { title: 'Αφαίρεση τομέα', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/en-GB.ts b/packages/localizations/src/en-GB.ts index 1922e6c8795..6d3bf95a9ca 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -226,6 +226,83 @@ export const enGB: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const enGB: LocalizationResource = { title: 'Remove domain', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index d8b2c7c8b4c..fb069af7045 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -221,6 +221,87 @@ export const enUS: LocalizationResource = { yearPerUnit: 'Year per {{unitName}}', years: 'Years', }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: 'User attributes', + directoryAttribute: 'Directory attributes', + }, + subtitle: 'Standard directory attributes are pre-configured. Attributes not listed here are ignored.', + title: 'Attribute review', + }, + configureStep: { + actionLabel__generateToken: 'Generate new token', + actionLabel__retry: 'Try again', + domainsLabel: 'Domains:', + 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', + }, + formFieldInputPlaceholder__token: 'Generate a new token to reveal it', + formFieldLabel__endpointUrl: 'SCIM endpoint URL', + formFieldLabel__token: 'Bearer token', + instructions: { + actionLabel__toggle: 'View instructions', + custom: { + step1: 'Create a SCIM 2.0 provisioning integration in your identity provider.', + step2: 'Paste the SCIM endpoint URL as the base URL for the integration.', + step3: 'Configure the integration to authenticate with the bearer token below.', + step4: 'Enable provisioning for user create, update, and deactivate events.', + }, + entra: { + step1: + 'In the Microsoft Entra admin center, open Enterprise applications and select the application used for your SSO connection.', + step2: + 'Under Connectivity, paste the SCIM endpoint URL as the Tenant URL and the bearer token as the Secret Token, then select Test Connection.', + step3: 'Select Provisioning and set the provisioning mode to Automatic.', + step4: 'Assign the users and groups to provision, then turn provisioning On.', + }, + 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.', + step3: 'Paste the SCIM endpoint URL and bearer token found below.', + step4: 'For provisioning actions, enable pushing of New Users, Profile Updates, and Groups.', + }, + }, + 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.', + }, + navbar: { + title: 'Configure Directory Sync', + }, + providers: { + custom: 'Custom SCIM provider', + entra: 'Microsoft Entra ID', + google: 'Google Workspace', + okta: 'Okta Workforce', + }, + stepper: { + attributes: 'Attributes', + configure: 'Configure', + test: 'Test', + }, + testStep: { + actionLabel__complete: 'Complete', + badge__active: 'Active', + badge__deprovisioned: 'Deprovisioned', + description: 'Users appear here as your identity provider provisions them, most recent activity first.', + empty__waitingForFirstUser: 'Waiting for the first provisioned user…', + error__loadUsers: 'Could not load provisioned users', + 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.', + title: 'Test provisioning', + }, + }, configureSSO: { activate: { activateButton: 'Activate SSO', @@ -1232,6 +1313,27 @@ export const enUS: LocalizationResource = { title: 'Remove domain', }, securityPage: { + directorySyncSection: { + badge__active: 'Active', + badge__inactive: 'Inactive', + badge__ssoRequired: 'SSO Required', + badge__unconfigured: 'Unconfigured', + description: + "Automatically add, update, and remove organization members from your identity provider's directory. Requires an SSO connection.", + error__load: 'Could not load Directory Sync', + menuAction__activate: 'Activate', + menuAction__deactivate: 'Deactivate', + menuAction__edit: 'Edit', + menuAction__remove: 'Remove', + primaryButton__startConfiguration: 'Start configuration', + removeDialog: { + confirmButton: 'Remove Directory Sync', + subtitle: + 'Are you sure you want to remove Directory Sync? This action is irreversible: the directory and its bearer token are deleted and your identity provider will no longer be able to provision members. Existing members keep their memberships.', + title: 'Remove Directory Sync', + }, + title: 'Directory Sync', + }, removeDialog: { confirmButton: 'Remove connection', subtitle: diff --git a/packages/localizations/src/es-CR.ts b/packages/localizations/src/es-CR.ts index ecaca4417b8..3bd948fe871 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -226,6 +226,83 @@ export const esCR: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1208,6 +1285,25 @@ export const esCR: LocalizationResource = { title: 'Eliminar dominio', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/es-ES.ts b/packages/localizations/src/es-ES.ts index 36528d0196a..652fd36abb0 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -232,6 +232,83 @@ export const esES: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1213,6 +1290,25 @@ export const esES: LocalizationResource = { title: 'Eliminar dominio', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/es-MX.ts b/packages/localizations/src/es-MX.ts index 85ae40afeb0..e7647c73176 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -227,6 +227,83 @@ export const esMX: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1209,6 +1286,25 @@ export const esMX: LocalizationResource = { title: 'Eliminar dominio', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/es-UY.ts b/packages/localizations/src/es-UY.ts index 12760480777..2ce62d54638 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -226,6 +226,83 @@ export const esUY: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1207,6 +1284,25 @@ export const esUY: LocalizationResource = { title: 'Eliminar dominio', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/fa-IR.ts b/packages/localizations/src/fa-IR.ts index dc19c78bd47..108f800cd33 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -231,6 +231,83 @@ export const faIR: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1212,6 +1289,25 @@ export const faIR: LocalizationResource = { title: 'حذف دامنه', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/fi-FI.ts b/packages/localizations/src/fi-FI.ts index 2a99c33d4a9..2b16351dc6c 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -232,6 +232,83 @@ export const fiFI: LocalizationResource = { yearPerUnit: 'Vuosi per {{unitName}}', years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1213,6 +1290,25 @@ export const fiFI: LocalizationResource = { title: 'Poista verkkotunnus', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index a595f99ddb4..ac4bee57386 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -234,6 +234,83 @@ export const frFR: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1218,6 +1295,25 @@ export const frFR: LocalizationResource = { title: 'Supprimer un domaine', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/he-IL.ts b/packages/localizations/src/he-IL.ts index b87cd52df23..b9693f516c3 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -226,6 +226,83 @@ export const heIL: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1199,6 +1276,25 @@ export const heIL: LocalizationResource = { title: 'הסר דומיין', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/hi-IN.ts b/packages/localizations/src/hi-IN.ts index a4aa81054bd..385357d0570 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -232,6 +232,83 @@ export const hiIN: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1212,6 +1289,25 @@ export const hiIN: LocalizationResource = { title: 'डोमेन हटाएं', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/hr-HR.ts b/packages/localizations/src/hr-HR.ts index d3cfaf70266..57d7658a844 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -233,6 +233,83 @@ export const hrHR: LocalizationResource = { yearPerUnit: 'Godina po {{unitName}}', years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1213,6 +1290,25 @@ export const hrHR: LocalizationResource = { title: 'Ukloni domenu', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/hu-HU.ts b/packages/localizations/src/hu-HU.ts index 37e80b2c3f2..2f905cf81de 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -233,6 +233,83 @@ export const huHU: LocalizationResource = { yearPerUnit: 'Év / {{unitName}}', years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1214,6 +1291,25 @@ export const huHU: LocalizationResource = { title: 'Domain törlése', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/id-ID.ts b/packages/localizations/src/id-ID.ts index 922fdfc0f4c..56d5c3d5f8b 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -226,6 +226,83 @@ export const idID: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1206,6 +1283,25 @@ export const idID: LocalizationResource = { title: 'Hapus domain', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/is-IS.ts b/packages/localizations/src/is-IS.ts index cc7559bcbcf..1f384447cd7 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -232,6 +232,83 @@ export const isIS: LocalizationResource = { yearPerUnit: 'Ár á {{unitName}}', years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1213,6 +1290,25 @@ export const isIS: LocalizationResource = { title: 'Fjarlægja lén', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/it-IT.ts b/packages/localizations/src/it-IT.ts index 0ff14932119..419d8d5ca66 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -232,6 +232,83 @@ export const itIT: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1213,6 +1290,25 @@ export const itIT: LocalizationResource = { title: 'Rimuovi dominio', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/ja-JP.ts b/packages/localizations/src/ja-JP.ts index e676a544d65..7d5eff82c76 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -233,6 +233,83 @@ export const jaJP: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1212,6 +1289,25 @@ export const jaJP: LocalizationResource = { title: 'ドメインの削除', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/kk-KZ.ts b/packages/localizations/src/kk-KZ.ts index 31cc0fcf4f5..f80060cc2f0 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -226,6 +226,83 @@ export const kkKZ: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1199,6 +1276,25 @@ export const kkKZ: LocalizationResource = { title: 'Доменді жою', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/ko-KR.ts b/packages/localizations/src/ko-KR.ts index 608eb49e0d0..371b4c80667 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -230,6 +230,83 @@ export const koKR: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const koKR: LocalizationResource = { title: '도메인 삭제', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/mn-MN.ts b/packages/localizations/src/mn-MN.ts index af2c347bd4a..7374da7ae2e 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -226,6 +226,83 @@ export const mnMN: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1206,6 +1283,25 @@ export const mnMN: LocalizationResource = { title: 'Домэйн устгах', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/ms-MY.ts b/packages/localizations/src/ms-MY.ts index 1e0baaa2d35..d085d4206f9 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -234,6 +234,83 @@ export const msMY: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1215,6 +1292,25 @@ export const msMY: LocalizationResource = { title: 'Keluarkan domain', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/nb-NO.ts b/packages/localizations/src/nb-NO.ts index 2d88e82b164..6e1b71b597d 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -233,6 +233,83 @@ export const nbNO: LocalizationResource = { yearPerUnit: 'År per {{unitName}}', years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1214,6 +1291,25 @@ export const nbNO: LocalizationResource = { title: 'Fjern domene', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/nl-BE.ts b/packages/localizations/src/nl-BE.ts index bf991a4d36e..3544894670a 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -226,6 +226,83 @@ export const nlBE: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1206,6 +1283,25 @@ export const nlBE: LocalizationResource = { title: 'Domein verwijderen', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/nl-NL.ts b/packages/localizations/src/nl-NL.ts index 742f69c51d9..5986a847c6e 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -226,6 +226,83 @@ export const nlNL: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1206,6 +1283,25 @@ export const nlNL: LocalizationResource = { title: 'Domein verwijderen', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/pl-PL.ts b/packages/localizations/src/pl-PL.ts index 12469109522..1b93f6c27f9 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -226,6 +226,83 @@ export const plPL: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const plPL: LocalizationResource = { title: 'Usuń domenę', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/pt-BR.ts b/packages/localizations/src/pt-BR.ts index fafe54ff09a..bb33f1549be 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -232,6 +232,83 @@ export const ptBR: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1214,6 +1291,25 @@ export const ptBR: LocalizationResource = { title: 'Excluir domínio', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/pt-PT.ts b/packages/localizations/src/pt-PT.ts index 35e31b9f8bb..d672f9f1e8a 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -234,6 +234,83 @@ export const ptPT: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1214,6 +1291,25 @@ export const ptPT: LocalizationResource = { title: 'Eliminar domínio', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/ro-RO.ts b/packages/localizations/src/ro-RO.ts index d3af47ddd3b..063cdbf32ef 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -232,6 +232,83 @@ export const roRO: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1214,6 +1291,25 @@ export const roRO: LocalizationResource = { title: 'Elimină domeniul', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/ru-RU.ts b/packages/localizations/src/ru-RU.ts index 6038f68a913..f07077d04fa 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -226,6 +226,83 @@ export const ruRU: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1208,6 +1285,25 @@ export const ruRU: LocalizationResource = { title: 'Удалить домен', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/sk-SK.ts b/packages/localizations/src/sk-SK.ts index 0a307d316bd..cb1e09e225d 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -226,6 +226,83 @@ export const skSK: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const skSK: LocalizationResource = { title: 'Odstrániť doménu', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/sr-RS.ts b/packages/localizations/src/sr-RS.ts index 5ba4001ad57..80893e65d17 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -226,6 +226,83 @@ export const srRS: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const srRS: LocalizationResource = { title: 'Ukloni domen', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/sv-SE.ts b/packages/localizations/src/sv-SE.ts index 3415b61bd24..42ee199f7ad 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -226,6 +226,83 @@ export const svSE: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const svSE: LocalizationResource = { title: 'Ta bort domän', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/ta-IN.ts b/packages/localizations/src/ta-IN.ts index 234e1e68669..e1d05c1246c 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -234,6 +234,83 @@ export const taIN: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1217,6 +1294,25 @@ export const taIN: LocalizationResource = { title: 'டொமைன் நீக்கு', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/te-IN.ts b/packages/localizations/src/te-IN.ts index 2907cec7bea..1bdadb0f673 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -233,6 +233,83 @@ export const teIN: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1214,6 +1291,25 @@ export const teIN: LocalizationResource = { title: 'డొమైన్‌ను తొలగించండి', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/th-TH.ts b/packages/localizations/src/th-TH.ts index 37035ea779c..78af5c3e90b 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -230,6 +230,83 @@ export const thTH: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1205,6 +1282,25 @@ export const thTH: LocalizationResource = { title: 'ลบโดเมน', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/tr-TR.ts b/packages/localizations/src/tr-TR.ts index 245411680ff..1ae4e5d7765 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -226,6 +226,83 @@ export const trTR: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const trTR: LocalizationResource = { title: 'Alan adını kaldır', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index 2b05cc5d000..f27a90a6bd7 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -226,6 +226,83 @@ export const ukUA: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1204,6 +1281,25 @@ export const ukUA: LocalizationResource = { title: 'Remove domain', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index 064ac712dba..db5113e099e 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -232,6 +232,83 @@ export const viVN: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1212,6 +1289,25 @@ export const viVN: LocalizationResource = { title: 'Xóa tên miền', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/zh-CN.ts b/packages/localizations/src/zh-CN.ts index 73e350484c9..ad86a3b8353 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -226,6 +226,83 @@ export const zhCN: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1197,6 +1274,25 @@ export const zhCN: LocalizationResource = { title: '删除域名', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/localizations/src/zh-TW.ts b/packages/localizations/src/zh-TW.ts index 20e5da2bcfe..efb97374455 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -229,6 +229,83 @@ export const zhTW: LocalizationResource = { yearPerUnit: undefined, years: undefined, }, + configureDirectorySync: { + attributeMappingStep: { + columns: { + clerkAttribute: undefined, + directoryAttribute: undefined, + }, + subtitle: undefined, + title: undefined, + }, + configureStep: { + actionLabel__generateToken: undefined, + actionLabel__retry: undefined, + domainsLabel: undefined, + error__ssoRequired: { + subtitle: undefined, + title: undefined, + }, + formFieldInputPlaceholder__token: undefined, + formFieldLabel__endpointUrl: undefined, + formFieldLabel__token: undefined, + instructions: { + actionLabel__toggle: undefined, + custom: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + entra: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + okta: { + step1: undefined, + step2: undefined, + step3: undefined, + step4: undefined, + }, + }, + notice__tokenShownOnce: undefined, + subtitle: undefined, + title: undefined, + warning__googleUnsupported: { + subtitle: undefined, + title: undefined, + }, + warning__ssoInactive: undefined, + }, + navbar: { + title: undefined, + }, + providers: { + custom: undefined, + entra: undefined, + google: undefined, + okta: undefined, + }, + stepper: { + attributes: undefined, + configure: undefined, + test: undefined, + }, + testStep: { + actionLabel__complete: undefined, + badge__active: undefined, + badge__deprovisioned: undefined, + description: undefined, + empty__waitingForFirstUser: undefined, + error__loadUsers: undefined, + note: undefined, + noteLabel: undefined, + subtitle: undefined, + title: undefined, + }, + }, configureSSO: { activate: { activateButton: undefined, @@ -1200,6 +1277,25 @@ export const zhTW: LocalizationResource = { title: '移除網域', }, securityPage: { + directorySyncSection: { + badge__active: undefined, + badge__inactive: undefined, + badge__ssoRequired: undefined, + badge__unconfigured: undefined, + description: undefined, + error__load: undefined, + menuAction__activate: undefined, + menuAction__deactivate: undefined, + menuAction__edit: undefined, + menuAction__remove: undefined, + primaryButton__startConfiguration: undefined, + removeDialog: { + confirmButton: undefined, + subtitle: undefined, + title: undefined, + }, + title: undefined, + }, removeDialog: { confirmButton: undefined, subtitle: undefined, diff --git a/packages/react/src/isomorphicClerk.ts b/packages/react/src/isomorphicClerk.ts index 790e1ac099b..1bceeeacdb3 100644 --- a/packages/react/src/isomorphicClerk.ts +++ b/packages/react/src/isomorphicClerk.ts @@ -166,6 +166,7 @@ export class IsomorphicClerk implements IsomorphicLoadedClerk { private premountPricingTableNodes = new Map(); private premountAPIKeysNodes = new Map(); private premountConfigureSSONodes = new Map(); + private premountConfigureDirectorySyncNodes = new Map(); private premountOAuthConsentNodes = new Map(); private premountOAuthDeviceVerificationNodes = new Map(); private premountTaskChooseOrganizationNodes = new Map(); @@ -801,6 +802,12 @@ export class IsomorphicClerk implements IsomorphicLoadedClerk { clerkjs.__internal_mountConfigureSSO(node, props); }); + if (typeof clerkjs.__internal_mountConfigureDirectorySync === 'function') { + this.premountConfigureDirectorySyncNodes.forEach((props, node) => { + clerkjs.__internal_mountConfigureDirectorySync(node, props); + }); + } + this.premountOAuthConsentNodes.forEach((props, node) => { clerkjs.__internal_mountOAuthConsent(node, props); }); @@ -1387,6 +1394,23 @@ export class IsomorphicClerk implements IsomorphicLoadedClerk { } }; + __internal_mountConfigureDirectorySync = (node: HTMLDivElement, props?: ConfigureSSOProps): void => { + if (this.clerkjs && this.loaded) { + if (typeof this.clerkjs.__internal_mountConfigureDirectorySync === 'function') { + this.clerkjs.__internal_mountConfigureDirectorySync(node, props); + } + } else { + this.premountConfigureDirectorySyncNodes.set(node, props); + } + }; + + __internal_unmountConfigureDirectorySync = (node: HTMLDivElement): void => { + if (this.clerkjs && this.loaded && typeof this.clerkjs.__internal_unmountConfigureDirectorySync === 'function') { + this.clerkjs.__internal_unmountConfigureDirectorySync(node); + } + this.premountConfigureDirectorySyncNodes.delete(node); + }; + __internal_mountOAuthConsent = (node: HTMLDivElement, props?: OAuthConsentProps) => { if (this.clerkjs && this.loaded) { this.clerkjs.__internal_mountOAuthConsent(node, props); diff --git a/packages/shared/src/internal/clerk-js/componentGuards.ts b/packages/shared/src/internal/clerk-js/componentGuards.ts index 0ab6a5a7595..bb81268a6b9 100644 --- a/packages/shared/src/internal/clerk-js/componentGuards.ts +++ b/packages/shared/src/internal/clerk-js/componentGuards.ts @@ -50,6 +50,13 @@ export const disabledSelfServeSSOFeature: ComponentGuard = (clerk, environment) return !environment?.userSettings.enterpriseSSO.self_serve_sso || !clerk.organization?.selfServeSSOEnabled; }; +export const disabledSelfServeDirectorySyncFeature: ComponentGuard = (clerk, environment) => { + return ( + disabledSelfServeSSOFeature(clerk, environment) || + !environment?.userSettings.enterpriseSSO.self_serve_directory_sync + ); +}; + export const disabledEmailAddressAttribute: ComponentGuard = (_, environment) => { return !environment?.userSettings.attributes.email_address?.enabled; }; diff --git a/packages/shared/src/internal/clerk-js/warnings.ts b/packages/shared/src/internal/clerk-js/warnings.ts index 7785a50d4b9..d902f4611d4 100644 --- a/packages/shared/src/internal/clerk-js/warnings.ts +++ b/packages/shared/src/internal/clerk-js/warnings.ts @@ -12,7 +12,8 @@ const createMessageForDisabledOrganizations = ( | 'OrganizationList' | 'CreateOrganization' | 'TaskChooseOrganization' - | 'ConfigureSSO', + | 'ConfigureSSO' + | 'ConfigureDirectorySync', ) => { return formatWarning( `The <${componentName}/> cannot be rendered when the feature is turned off. Visit 'dashboard.clerk.com' to enable the feature. Since the feature is turned off, this is no-op.`, @@ -20,7 +21,7 @@ const createMessageForDisabledOrganizations = ( }; const createCannotRenderComponentWhenOrgDoesNotExist = ( - componentName: 'OrganizationProfile' | 'InviteMembers' | 'ConfigureSSO', + componentName: 'OrganizationProfile' | 'InviteMembers' | 'ConfigureSSO' | 'ConfigureDirectorySync', ) => { return formatWarning( `<${componentName}/> cannot render unless an organization is active. Since no organization is currently active, this is no-op.`, @@ -88,6 +89,8 @@ const warnings = { ' cannot render unless a user is signed in. Since no user is signed in, this is no-op.', cannotRenderConfigureSSOComponentWhenDisabled: 'The component cannot be rendered when self-serve SSO is disabled. Visit `https://dashboard.clerk.com` to enable the feature. Since self-serve SSO is disabled, this is no-op.', + cannotRenderConfigureDirectorySyncComponentWhenDisabled: + 'The component cannot be rendered when self-serve Directory Sync is disabled. Since self-serve Directory Sync is disabled, this is no-op.', cannotRenderConfigureSSOComponentWhenEmailAddressDisabled: 'The component cannot be rendered when email addresses are disabled on the instance. Visit `https://dashboard.clerk.com` to enable email addresses. Since email addresses are disabled, this is no-op.', }; diff --git a/packages/shared/src/types/clerk.ts b/packages/shared/src/types/clerk.ts index 49f7875870c..578f1d15555 100644 --- a/packages/shared/src/types/clerk.ts +++ b/packages/shared/src/types/clerk.ts @@ -816,6 +816,24 @@ export interface Clerk { */ __internal_unmountConfigureSSO: (targetNode: HTMLDivElement) => void; + /** + * Mount a configure Directory Sync component at the target element. + * + * @param targetNode - Target to mount the ConfigureDirectorySync component. + * @param props - Configuration parameters. + * @hidden + */ + __internal_mountConfigureDirectorySync: (targetNode: HTMLDivElement, props?: ConfigureSSOProps) => void; + + /** + * Unmount a configure Directory Sync component from the target element. + * If there is no component mounted at the target node, results in a noop. + * + * @param targetNode - Target node to unmount the ConfigureDirectorySync component from. + * @hidden + */ + __internal_unmountConfigureDirectorySync: (targetNode: HTMLDivElement) => void; + /** * Mounts a OAuth consent component at the target element. * @@ -1984,6 +2002,7 @@ export type __internal_AttemptToEnableEnvironmentSettingParams = { | 'CreateOrganization' | 'TaskChooseOrganization' | 'ConfigureSSO' + | 'ConfigureDirectorySync' | 'useOrganizationList' | 'useOrganization'; onClose?: () => void; diff --git a/packages/shared/src/types/elementIds.ts b/packages/shared/src/types/elementIds.ts index 32deb108f1b..d23b9c9f9d3 100644 --- a/packages/shared/src/types/elementIds.ts +++ b/packages/shared/src/types/elementIds.ts @@ -63,6 +63,7 @@ export type ProfileSectionId = | 'subscriptionsList' | 'paymentMethods' | 'sso' + | 'directorySync' | 'ssoStatus' | 'enableSso' | 'ssoDomain' diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index 68480473c3e..2689cc55d05 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -1218,6 +1218,25 @@ export type __internal_LocalizationResource = { tooltip__noRole: LocalizationValue; tooltipLabel: LocalizationValue; }; + directorySyncSection: { + title: LocalizationValue; + badge__unconfigured: LocalizationValue; + badge__ssoRequired: LocalizationValue; + badge__active: LocalizationValue; + badge__inactive: LocalizationValue; + description: LocalizationValue; + error__load: LocalizationValue; + primaryButton__startConfiguration: LocalizationValue; + menuAction__edit: LocalizationValue; + menuAction__activate: LocalizationValue; + menuAction__deactivate: LocalizationValue; + menuAction__remove: LocalizationValue; + removeDialog: { + title: LocalizationValue; + subtitle: LocalizationValue; + confirmButton: LocalizationValue; + }; + }; }; membersPage: { detailsTitle__emptyRow: LocalizationValue; @@ -1450,6 +1469,83 @@ export type __internal_LocalizationResource = { message: LocalizationValue; }; }; + configureDirectorySync: { + navbar: { + title: LocalizationValue; + }; + stepper: { + configure: LocalizationValue; + attributes: LocalizationValue; + test: LocalizationValue; + }; + providers: { + okta: LocalizationValue; + entra: LocalizationValue; + google: LocalizationValue; + custom: LocalizationValue; + }; + configureStep: { + title: LocalizationValue; + subtitle: LocalizationValue; + error__ssoRequired: { + title: LocalizationValue; + subtitle: LocalizationValue; + }; + warning__googleUnsupported: { + title: LocalizationValue; + subtitle: LocalizationValue; + }; + warning__ssoInactive: LocalizationValue; + domainsLabel: LocalizationValue; + instructions: { + actionLabel__toggle: LocalizationValue; + okta: { + step1: LocalizationValue; + step2: LocalizationValue; + step3: LocalizationValue; + step4: LocalizationValue; + }; + entra: { + step1: LocalizationValue; + step2: LocalizationValue; + step3: LocalizationValue; + step4: LocalizationValue; + }; + custom: { + step1: LocalizationValue; + step2: LocalizationValue; + step3: LocalizationValue; + step4: LocalizationValue; + }; + }; + formFieldLabel__endpointUrl: LocalizationValue; + formFieldLabel__token: LocalizationValue; + formFieldInputPlaceholder__token: LocalizationValue; + actionLabel__generateToken: LocalizationValue; + notice__tokenShownOnce: LocalizationValue; + actionLabel__retry: LocalizationValue; + }; + attributeMappingStep: { + title: LocalizationValue; + subtitle: LocalizationValue; + columns: { + directoryAttribute: LocalizationValue; + clerkAttribute: LocalizationValue; + }; + }; + testStep: { + title: LocalizationValue; + subtitle: LocalizationValue<'provider'>; + description: LocalizationValue; + noteLabel: LocalizationValue; + note: LocalizationValue; + empty__waitingForFirstUser: LocalizationValue; + badge__active: LocalizationValue; + badge__deprovisioned: LocalizationValue; + error__loadUsers: LocalizationValue; + actionLabel__complete: LocalizationValue; + }; + }; configureSSO: { missingManageEnterpriseConnectionsPermission: { title: LocalizationValue; diff --git a/packages/ui/bundlewatch.config.json b/packages/ui/bundlewatch.config.json index 7377facb95b..e1e6d6e6fc6 100644 --- a/packages/ui/bundlewatch.config.json +++ b/packages/ui/bundlewatch.config.json @@ -1,11 +1,11 @@ { "files": [ { "path": "./dist/ui.browser.js", "maxSize": "44KB" }, - { "path": "./dist/ui.legacy.browser.js", "maxSize": "84KB" }, + { "path": "./dist/ui.legacy.browser.js", "maxSize": "85KB" }, { "path": "./dist/ui.shared.browser.js", "maxSize": "42KB" }, { "path": "./dist/framework*.js", "maxSize": "44KB" }, { "path": "./dist/vendors*.js", "maxSize": "73KB" }, - { "path": "./dist/ui-common*.js", "maxSize": "134KB" }, + { "path": "./dist/ui-common*.js", "maxSize": "136KB" }, { "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/ConfigureDirectorySync.tsx b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySync.tsx new file mode 100644 index 00000000000..50dd4efdd78 --- /dev/null +++ b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySync.tsx @@ -0,0 +1,47 @@ +import type { ConfigureSSOProps } from '@clerk/shared/types'; +import React from 'react'; + +import { withCoreUserGuard } from '@/contexts'; +import { Flow } from '@/customizables'; +import { withCardStateProvider } from '@/elements/contexts'; +import { ProfileCard } from '@/elements/ProfileCard'; +import { Route, Switch } from '@/router'; + +import { ConfigureSSOProtect } from '../ConfigureSSO/ConfigureSSO'; +import { ConfigureDirectorySyncWizard } from './ConfigureDirectorySyncWizard'; +import { DirectorySyncNavbar } from './DirectorySyncNavbar'; + +/** + * Standalone host for the Directory Sync onboarding wizard, mirroring + * ConfigureSSO's shell. + */ +const ConfigureDirectorySyncInternal = (): JSX.Element => { + return ( + + + + + + + + ); +}; + +const AuthenticatedContent = withCoreUserGuard(() => { + const contentRef = React.useRef(null); + + return ( + ({ display: 'grid', gridTemplateColumns: '1fr 3fr', height: t.sizes.$176, overflow: 'hidden' })} + > + + + + + + + ); +}); + +export const ConfigureDirectorySync: React.ComponentType = + withCardStateProvider(ConfigureDirectorySyncInternal); diff --git a/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx new file mode 100644 index 00000000000..a7c976d0d7d --- /dev/null +++ b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncContext.tsx @@ -0,0 +1,118 @@ +import { + __internal_useOrganizationDirectorySync, + __internal_useOrganizationEnterpriseConnections, +} from '@clerk/shared/react'; +import type { DirectorySyncProvider, DirectorySyncResource, EnterpriseConnectionResource } from '@clerk/shared/types'; +import React, { type PropsWithChildren } from 'react'; + +import type { DirectorySyncProviderMeta } from './providerMeta'; +import { DIRECTORY_SYNC_PROVIDERS, directorySyncProviderForConnection } from './providerMeta'; + +/** + * Shared state for the ConfigureDirectorySync wizard, persisted across steps. + * + * The directory hangs 1:1 off the organization's (single) enterprise + * connection. `revealedToken` carries the show-once SCIM bearer token from the + * create/rotate response for the lifetime of this provider only — it is never + * fetchable again. + */ +export interface ConfigureDirectorySyncData { + isLoading: boolean; + connection: EnterpriseConnectionResource | undefined; + /** SCIM provider derived from the connection's IdP; `undefined` without a connection. */ + provider: DirectorySyncProvider | undefined; + providerMeta: DirectorySyncProviderMeta | undefined; + /** The directory, `null` when none has been created yet, `undefined` while loading. */ + directory: DirectorySyncResource | null | undefined; + /** The show-once bearer token, if it was revealed during this wizard session. */ + revealedToken: string | null; + createDirectory: () => Promise; + rotateToken: () => Promise; + setDirectoryEnabled: (enabled: boolean) => Promise; + onExit?: () => void; +} + +const ConfigureDirectorySyncContext = React.createContext(null); +ConfigureDirectorySyncContext.displayName = 'ConfigureDirectorySyncContext'; + +type ConfigureDirectorySyncProviderProps = PropsWithChildren<{ + onExit?: () => void; +}>; + +type RevealedToken = { + enterpriseConnectionId: string; + token: string; +}; + +export const ConfigureDirectorySyncProvider = ({ + onExit, + children, +}: ConfigureDirectorySyncProviderProps): JSX.Element => { + const { data: connections, isLoading: isLoadingConnections } = __internal_useOrganizationEnterpriseConnections(); + // The self-serve SSO flow enforces a single connection per organization; the + // directory hangs off that same connection. + const connection = connections?.[0]; + const enterpriseConnectionId = connection?.id ?? null; + + const { + data: directory, + isLoading: isLoadingDirectory, + createDirectorySync, + updateDirectorySync, + rotateDirectorySyncToken, + } = __internal_useOrganizationDirectorySync({ enterpriseConnectionId }); + + // The token is stored with the connection it was issued for, so a response + // that lands after the connection changed is never shown for the new one. + const [revealed, setRevealed] = React.useState(null); + const revealedToken = revealed && revealed.enterpriseConnectionId === enterpriseConnectionId ? revealed.token : null; + + const revealFrom = (result: DirectorySyncResource | undefined): void => { + if (result?.apiKey) { + setRevealed({ enterpriseConnectionId: result.enterpriseConnectionId, token: result.apiKey }); + } + }; + + const createDirectory = React.useCallback(async () => { + const created = await createDirectorySync(); + revealFrom(created); + return created; + }, [createDirectorySync]); + + const rotateToken = React.useCallback(async () => { + const rotated = await rotateDirectorySyncToken(); + revealFrom(rotated); + return rotated; + }, [rotateDirectorySyncToken]); + + const setDirectoryEnabled = React.useCallback( + (enabled: boolean) => updateDirectorySync({ enabled }), + [updateDirectorySync], + ); + + const provider = + directory?.provider ?? (connection ? directorySyncProviderForConnection(connection.provider) : undefined); + + const value: ConfigureDirectorySyncData = { + isLoading: isLoadingConnections || (Boolean(enterpriseConnectionId) && isLoadingDirectory), + connection, + provider, + providerMeta: provider ? DIRECTORY_SYNC_PROVIDERS[provider] : undefined, + directory, + revealedToken, + createDirectory, + rotateToken, + setDirectoryEnabled, + onExit, + }; + + return {children}; +}; + +export const useConfigureDirectorySync = (): ConfigureDirectorySyncData => { + const ctx = React.useContext(ConfigureDirectorySyncContext); + if (!ctx) { + throw new Error('useConfigureDirectorySync called outside .'); + } + return ctx; +}; diff --git a/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncWizard.tsx b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncWizard.tsx new file mode 100644 index 00000000000..438ea05b842 --- /dev/null +++ b/packages/ui/src/components/ConfigureDirectorySync/ConfigureDirectorySyncWizard.tsx @@ -0,0 +1,93 @@ +import React from 'react'; + +import { localizationKeys } from '@/customizables'; +import { CardStateProvider } from '@/elements/contexts'; + +import { ConfigureSSOHeader } from '../ConfigureSSO/ConfigureSSOHeader'; +import { ConfigureSSOSkeleton } from '../ConfigureSSO/ConfigureSSOSkeleton'; +import { Step } from '../ConfigureSSO/elements/Step'; +import { Wizard, type WizardStepConfig } from '../ConfigureSSO/elements/Wizard'; +import { ConfigureDirectorySyncProvider, useConfigureDirectorySync } from './ConfigureDirectorySyncContext'; +import { AttributeMappingStep } from './steps/AttributeMappingStep'; +import { ConfigureStep } from './steps/ConfigureStep'; +import { TestSyncStep } from './steps/TestSyncStep'; + +export type ConfigureDirectorySyncWizardProps = { + title?: React.ReactNode; + onExit?: () => void; +}; + +/** + * The self-serve Directory Sync onboarding flow. Mirrors the ConfigureSSO + * wizard's shape and reuses its chrome; state comes from the real + * organization enterprise connection and its SCIM directory. + */ +export const ConfigureDirectorySyncWizard = (props: ConfigureDirectorySyncWizardProps): JSX.Element => ( + + + +); + +const WizardInternal = ({ title }: ConfigureDirectorySyncWizardProps): JSX.Element => { + const { connection, directory, isLoading } = useConfigureDirectorySync(); + const hasSsoConnection = Boolean(connection); + const hasDirectory = Boolean(directory); + + const steps = React.useMemo( + () => [ + { + id: 'configure', + label: localizationKeys('configureDirectorySync.stepper.configure'), + isComplete: () => hasSsoConnection && hasDirectory, + }, + { + id: 'attributes', + label: localizationKeys('configureDirectorySync.stepper.attributes'), + isReachable: () => hasSsoConnection && hasDirectory, + }, + { + id: 'test', + label: localizationKeys('configureDirectorySync.stepper.test'), + isReachable: () => hasSsoConnection && hasDirectory, + }, + ], + [hasSsoConnection, hasDirectory], + ); + + if (isLoading) { + return ; + } + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; diff --git a/packages/ui/src/components/ConfigureDirectorySync/DirectorySyncNavbar.tsx b/packages/ui/src/components/ConfigureDirectorySync/DirectorySyncNavbar.tsx new file mode 100644 index 00000000000..173659904b2 --- /dev/null +++ b/packages/ui/src/components/ConfigureDirectorySync/DirectorySyncNavbar.tsx @@ -0,0 +1,18 @@ +import React from 'react'; + +import { localizationKeys } from '@/customizables'; + +import { ConfigureSSONavbar } from '../ConfigureSSO/ConfigureSSONavbar'; + +type DirectorySyncNavbarProps = React.PropsWithChildren<{ + contentRef: React.RefObject; +}>; + +export const DirectorySyncNavbar = ({ children, contentRef }: DirectorySyncNavbarProps): JSX.Element => ( + + {children} + +); diff --git a/packages/ui/src/components/ConfigureDirectorySync/SecurityDirectorySyncSection.tsx b/packages/ui/src/components/ConfigureDirectorySync/SecurityDirectorySyncSection.tsx new file mode 100644 index 00000000000..5bbfe2dd5de --- /dev/null +++ b/packages/ui/src/components/ConfigureDirectorySync/SecurityDirectorySyncSection.tsx @@ -0,0 +1,265 @@ +import { + __internal_useOrganizationDirectorySync, + __internal_useOrganizationEnterpriseConnections, +} from '@clerk/shared/react'; +import { useState } from 'react'; + +import { Alert } from '@/ui/elements/Alert'; +import { Card } from '@/ui/elements/Card'; +import { CardStateProvider, useCardState } from '@/ui/elements/contexts'; +import { ProfileSection } from '@/ui/elements/Section'; +import { ThreeDotsMenu } from '@/ui/elements/ThreeDotsMenu'; +import { handleError } from '@/utils/errorHandler'; + +import type { LocalizationKey } from '../../customizables'; +import { Badge, Button, Col, descriptors, Flex, localizationKeys, Spinner, Text } from '../../customizables'; +import { ResetConnectionDialog } from '../ConfigureSSO/ResetConnectionDialog'; +import { directorySyncProviderForConnection } from './providerMeta'; + +type SecurityDirectorySyncSectionProps = { + organizationName: string; + contentRef: React.RefObject; + onConfigure: () => void; +}; + +type DirectorySyncStatus = 'unconfigured' | 'active' | 'inactive'; + +const STATUS_BADGES: Record< + DirectorySyncStatus, + { colorScheme: 'primary' | 'success' | 'warning'; label: LocalizationKey } +> = { + unconfigured: { + colorScheme: 'primary', + label: localizationKeys('organizationProfile.securityPage.directorySyncSection.badge__unconfigured'), + }, + active: { + colorScheme: 'success', + label: localizationKeys('organizationProfile.securityPage.directorySyncSection.badge__active'), + }, + inactive: { + colorScheme: 'warning', + label: localizationKeys('organizationProfile.securityPage.directorySyncSection.badge__inactive'), + }, +}; + +/** + * The Directory Sync entry point on the organization Security page, rendered + * beneath the SSO section. + */ +export const SecurityDirectorySyncSection = ({ + organizationName, + contentRef, + onConfigure, +}: SecurityDirectorySyncSectionProps): JSX.Element => { + const { + data: connections, + isLoading: isLoadingConnections, + error: connectionsError, + } = __internal_useOrganizationEnterpriseConnections(); + const connection = connections?.[0]; + const hasSsoConnection = Boolean(connection); + const isGoogle = connection ? directorySyncProviderForConnection(connection.provider) === 'google' : false; + const { + data: directory, + isLoading: isLoadingDirectory, + error: directoryError, + updateDirectorySync, + deleteDirectorySync, + } = __internal_useOrganizationDirectorySync({ + enterpriseConnectionId: connection?.id ?? null, + }); + + // The hook maps a 404 (no directory yet) to `data: null`, so any error here is unexpected. + const isLoading = isLoadingConnections || (Boolean(connection) && isLoadingDirectory); + const error = connectionsError ?? directoryError; + const isSettled = !isLoading && !error; + + const status: DirectorySyncStatus = directory ? (directory.enabled ? 'active' : 'inactive') : 'unconfigured'; + const badge = STATUS_BADGES[status]; + + return ( + + ) : undefined + } + > + {isLoading ? ( + ({ paddingBlock: t.space.$5 })} + > + + + ) : error ? ( + + ) : status === 'unconfigured' ? ( + + + {isGoogle ? ( + + ) : ( + + + + + ({ + gap: t.space.$1x5, + padding: `0 ${t.space.$4} ${t.space.$4}`, + paddingInlineStart: t.space.$8, + listStyle: 'decimal', + })} + > + {instructions.map(instruction => ( + ({ fontSize: t.fontSizes.$sm })} + /> + ))} + + + + )} + + + {isGoogle && ( + + )} + + {!connection.active && !isGoogle && ( + + )} + + {directory ? ( + <> + ({ gap: t.space.$1x5 })}> + + + + + ({ gap: t.space.$1x5 })}> + + ({ gap: t.space.$2 })} + > + {revealedToken ? ( + + ) : ( + + )} +