From a809f308b99893105f2c594e989fa70576e7e366 Mon Sep 17 00:00:00 2001 From: Iago Dahlem Lorensini Date: Thu, 18 Jun 2026 14:55:21 -0300 Subject: [PATCH 1/2] feat(ui,localizations,shared): condense organization Security page SSO overview --- .changeset/clean-chairs-go.md | 7 + packages/localizations/src/ar-SA.ts | 5 - packages/localizations/src/be-BY.ts | 5 - packages/localizations/src/bg-BG.ts | 5 - packages/localizations/src/bn-IN.ts | 5 - packages/localizations/src/ca-ES.ts | 5 - packages/localizations/src/cs-CZ.ts | 5 - packages/localizations/src/da-DK.ts | 5 - packages/localizations/src/de-DE.ts | 5 - packages/localizations/src/el-GR.ts | 5 - packages/localizations/src/en-GB.ts | 5 - packages/localizations/src/en-US.ts | 11 +- packages/localizations/src/es-CR.ts | 5 - packages/localizations/src/es-ES.ts | 5 - packages/localizations/src/es-MX.ts | 5 - packages/localizations/src/es-UY.ts | 5 - packages/localizations/src/fa-IR.ts | 5 - packages/localizations/src/fi-FI.ts | 5 - packages/localizations/src/fr-FR.ts | 5 - packages/localizations/src/he-IL.ts | 5 - packages/localizations/src/hi-IN.ts | 5 - packages/localizations/src/hr-HR.ts | 5 - packages/localizations/src/hu-HU.ts | 5 - packages/localizations/src/id-ID.ts | 5 - packages/localizations/src/is-IS.ts | 5 - packages/localizations/src/it-IT.ts | 5 - packages/localizations/src/ja-JP.ts | 5 - packages/localizations/src/kk-KZ.ts | 5 - packages/localizations/src/ko-KR.ts | 5 - packages/localizations/src/mn-MN.ts | 5 - packages/localizations/src/ms-MY.ts | 5 - packages/localizations/src/nb-NO.ts | 5 - packages/localizations/src/nl-BE.ts | 5 - packages/localizations/src/nl-NL.ts | 5 - packages/localizations/src/pl-PL.ts | 5 - packages/localizations/src/pt-BR.ts | 5 - packages/localizations/src/pt-PT.ts | 5 - packages/localizations/src/ro-RO.ts | 5 - packages/localizations/src/ru-RU.ts | 5 - packages/localizations/src/sk-SK.ts | 5 - packages/localizations/src/sr-RS.ts | 5 - packages/localizations/src/sv-SE.ts | 5 - packages/localizations/src/ta-IN.ts | 5 - packages/localizations/src/te-IN.ts | 5 - packages/localizations/src/th-TH.ts | 5 - packages/localizations/src/tr-TR.ts | 5 - packages/localizations/src/uk-UA.ts | 5 - packages/localizations/src/vi-VN.ts | 5 - packages/localizations/src/zh-CN.ts | 5 - packages/localizations/src/zh-TW.ts | 5 - packages/shared/src/types/localization.ts | 5 - .../SecuritySsoSection.tsx | 275 +++--------------- .../OrganizationSecurityPage.test.tsx | 135 ++------- 53 files changed, 63 insertions(+), 610 deletions(-) create mode 100644 .changeset/clean-chairs-go.md diff --git a/.changeset/clean-chairs-go.md b/.changeset/clean-chairs-go.md new file mode 100644 index 00000000000..46d597bb2d3 --- /dev/null +++ b/.changeset/clean-chairs-go.md @@ -0,0 +1,7 @@ +--- +'@clerk/localizations': patch +'@clerk/shared': patch +'@clerk/ui': patch +--- + +Condense the OrganizationProfile Security page SSO overview to a single summary row (one-line description, domains as chips, status badge, actions under the overflow menu) and remove the now-unused ssoSection provider/sign-on URL/issuer/descriptionLine2 localization keys. diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index 93f2f844b96..4d2c1ba91ad 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -1086,18 +1086,13 @@ export const arSA: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/be-BY.ts b/packages/localizations/src/be-BY.ts index 4f4de7a06e1..36218ae0254 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -1089,18 +1089,13 @@ export const beBY: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/bg-BG.ts b/packages/localizations/src/bg-BG.ts index 27b8f072a53..a9f40a6ca45 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -1089,18 +1089,13 @@ export const bgBG: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/bn-IN.ts b/packages/localizations/src/bn-IN.ts index 5c31adb3a63..c64c0aee587 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -1096,18 +1096,13 @@ export const bnIN: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index 379be19a675..1ec5ff72119 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -1096,18 +1096,13 @@ export const caES: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/cs-CZ.ts b/packages/localizations/src/cs-CZ.ts index 546aefec99c..147cac7d924 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -1094,18 +1094,13 @@ export const csCZ: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/da-DK.ts b/packages/localizations/src/da-DK.ts index d4cbc402fa4..dde015ab9af 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -1087,18 +1087,13 @@ export const daDK: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/de-DE.ts b/packages/localizations/src/de-DE.ts index 04cc0e3c58a..ef51e451b32 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -1102,18 +1102,13 @@ export const deDE: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/el-GR.ts b/packages/localizations/src/el-GR.ts index 84841792072..f3ed532d55f 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -1093,18 +1093,13 @@ export const elGR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/en-GB.ts b/packages/localizations/src/en-GB.ts index 03406477b44..2dae14a4ce9 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -1088,18 +1088,13 @@ export const enGB: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index 8d8f6e68a3f..c1143ae72fc 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -1116,21 +1116,14 @@ export const enUS: LocalizationResource = { badge__inProgress: 'In Progress', badge__inactive: 'Inactive', badge__unconfigured: 'Unconfigured', - descriptionLine1: - 'Require members to sign in through your identity provider using their domain email. Members without a matching domain are unaffected.', - descriptionLine2: - 'Anyone who signs in will be automatically added to this organization. New members will be assigned to {{role}}.', - descriptionLine2__noRole: 'Anyone who signs in will be automatically added to this organization.', - domainLabel: 'Domain', - issuerLabel: 'Issuer', + descriptionLine1: 'Require members with a matching email domain to sign in through your identity provider.', + domainLabel: 'Domains', menuAction__activate: 'Activate', menuAction__deactivate: 'Deactivate', menuAction__edit: 'Edit', menuAction__remove: 'Remove', primaryButton__continueConfiguration: 'Continue configuration', primaryButton__startConfiguration: 'Start configuration', - providerLabel: 'Provider', - signOnUrlLabel: 'Sign on URL', title: 'SSO', }, title: 'Security', diff --git a/packages/localizations/src/es-CR.ts b/packages/localizations/src/es-CR.ts index dac63225bdf..078086b2e2a 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -1092,18 +1092,13 @@ export const esCR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/es-ES.ts b/packages/localizations/src/es-ES.ts index 46ad8e7d6ad..ea2529c8dd5 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -1097,18 +1097,13 @@ export const esES: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/es-MX.ts b/packages/localizations/src/es-MX.ts index 14059447383..2383f3f41fa 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -1093,18 +1093,13 @@ export const esMX: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/es-UY.ts b/packages/localizations/src/es-UY.ts index 51822c23c47..16fd099c2a5 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -1091,18 +1091,13 @@ export const esUY: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/fa-IR.ts b/packages/localizations/src/fa-IR.ts index b8fd2b146c4..6a6816df968 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -1096,18 +1096,13 @@ export const faIR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/fi-FI.ts b/packages/localizations/src/fi-FI.ts index fe7dbcc359e..abbae759237 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -1097,18 +1097,13 @@ export const fiFI: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index 91898b28323..41b39f91ebf 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -1102,18 +1102,13 @@ export const frFR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/he-IL.ts b/packages/localizations/src/he-IL.ts index f1d23bbfef6..b826ad85400 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -1083,18 +1083,13 @@ export const heIL: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/hi-IN.ts b/packages/localizations/src/hi-IN.ts index 2a84526d180..9b5dd7d0670 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -1096,18 +1096,13 @@ export const hiIN: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/hr-HR.ts b/packages/localizations/src/hr-HR.ts index ec4336ac30f..b4dc1e51e64 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -1097,18 +1097,13 @@ export const hrHR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/hu-HU.ts b/packages/localizations/src/hu-HU.ts index b2267b1e0b8..e873b46a6b7 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -1098,18 +1098,13 @@ export const huHU: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/id-ID.ts b/packages/localizations/src/id-ID.ts index 93242c1e571..d6ee2dc4aa3 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -1090,18 +1090,13 @@ export const idID: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/is-IS.ts b/packages/localizations/src/is-IS.ts index e4336d1e540..25d9041c147 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -1097,18 +1097,13 @@ export const isIS: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/it-IT.ts b/packages/localizations/src/it-IT.ts index ff37d798a7a..10d3a0aaf66 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -1097,18 +1097,13 @@ export const itIT: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/ja-JP.ts b/packages/localizations/src/ja-JP.ts index 68f76cb6852..3bc96e44484 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -1096,18 +1096,13 @@ export const jaJP: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/kk-KZ.ts b/packages/localizations/src/kk-KZ.ts index e5ba86c6618..fdb6fa96f56 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -1083,18 +1083,13 @@ export const kkKZ: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/ko-KR.ts b/packages/localizations/src/ko-KR.ts index 6b0c5185277..cc4b466ce55 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -1088,18 +1088,13 @@ export const koKR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/mn-MN.ts b/packages/localizations/src/mn-MN.ts index 5865f7b26ad..7ad97cc45a8 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -1090,18 +1090,13 @@ export const mnMN: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/ms-MY.ts b/packages/localizations/src/ms-MY.ts index ba1f0c849c9..5fa302cb851 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -1099,18 +1099,13 @@ export const msMY: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/nb-NO.ts b/packages/localizations/src/nb-NO.ts index bf548934b95..74ccc0362f0 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -1098,18 +1098,13 @@ export const nbNO: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/nl-BE.ts b/packages/localizations/src/nl-BE.ts index 7f7bd6b8006..0c2e79a59e6 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -1090,18 +1090,13 @@ export const nlBE: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/nl-NL.ts b/packages/localizations/src/nl-NL.ts index f700d227bcf..dbf810982e1 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -1090,18 +1090,13 @@ export const nlNL: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/pl-PL.ts b/packages/localizations/src/pl-PL.ts index c9d03897245..61b754fed33 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -1088,18 +1088,13 @@ export const plPL: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/pt-BR.ts b/packages/localizations/src/pt-BR.ts index 1fb681a6335..2aed0a0d232 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -1098,18 +1098,13 @@ export const ptBR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/pt-PT.ts b/packages/localizations/src/pt-PT.ts index 02ddddab011..b7714566087 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -1098,18 +1098,13 @@ export const ptPT: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/ro-RO.ts b/packages/localizations/src/ro-RO.ts index 141f902c02c..88aa7480a9e 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -1098,18 +1098,13 @@ export const roRO: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/ru-RU.ts b/packages/localizations/src/ru-RU.ts index 22bfee1ab00..f95e1743710 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -1092,18 +1092,13 @@ export const ruRU: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/sk-SK.ts b/packages/localizations/src/sk-SK.ts index aeebaada21a..9d631e23ce7 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -1088,18 +1088,13 @@ export const skSK: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/sr-RS.ts b/packages/localizations/src/sr-RS.ts index 02c0f18d725..5b9e706d377 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -1088,18 +1088,13 @@ export const srRS: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/sv-SE.ts b/packages/localizations/src/sv-SE.ts index f0801fda1a3..605cc054daa 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -1088,18 +1088,13 @@ export const svSE: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/ta-IN.ts b/packages/localizations/src/ta-IN.ts index 47912167626..7230c8b109e 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -1101,18 +1101,13 @@ export const taIN: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/te-IN.ts b/packages/localizations/src/te-IN.ts index 00fe21b6d9e..dc194ca3dc0 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -1098,18 +1098,13 @@ export const teIN: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/th-TH.ts b/packages/localizations/src/th-TH.ts index 2808d84f693..0965c3d2f48 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -1089,18 +1089,13 @@ export const thTH: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/tr-TR.ts b/packages/localizations/src/tr-TR.ts index 9306773c9e1..f016d625533 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -1088,18 +1088,13 @@ export const trTR: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index 222fa0ac6da..4968f30e809 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -1088,18 +1088,13 @@ export const ukUA: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index cd70866c314..674eecabde4 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -1096,18 +1096,13 @@ export const viVN: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/zh-CN.ts b/packages/localizations/src/zh-CN.ts index 63a00017c4c..eb381da44a3 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -1081,18 +1081,13 @@ export const zhCN: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/localizations/src/zh-TW.ts b/packages/localizations/src/zh-TW.ts index 327efb9d13d..e30cdc56267 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -1084,18 +1084,13 @@ export const zhTW: LocalizationResource = { badge__inactive: undefined, badge__unconfigured: undefined, descriptionLine1: undefined, - descriptionLine2: undefined, - descriptionLine2__noRole: undefined, domainLabel: undefined, - issuerLabel: undefined, menuAction__activate: undefined, menuAction__deactivate: undefined, menuAction__edit: undefined, menuAction__remove: undefined, primaryButton__continueConfiguration: undefined, primaryButton__startConfiguration: undefined, - providerLabel: undefined, - signOnUrlLabel: undefined, title: undefined, }, title: undefined, diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index ca7e8e8a3d5..f7bb77f768c 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -1148,14 +1148,9 @@ export type __internal_LocalizationResource = { badge__active: LocalizationValue; badge__inactive: LocalizationValue; descriptionLine1: LocalizationValue; - descriptionLine2: LocalizationValue<'role'>; - descriptionLine2__noRole: LocalizationValue; primaryButton__startConfiguration: LocalizationValue; primaryButton__continueConfiguration: LocalizationValue; - providerLabel: LocalizationValue; domainLabel: LocalizationValue; - signOnUrlLabel: LocalizationValue; - issuerLabel: LocalizationValue; menuAction__edit: LocalizationValue; menuAction__activate: LocalizationValue; menuAction__deactivate: LocalizationValue; diff --git a/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx b/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx index b532e859123..f9829592208 100644 --- a/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx +++ b/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx @@ -1,6 +1,4 @@ -import { iconImageUrl } from '@clerk/shared/constants'; import type { EnterpriseConnectionResource } from '@clerk/shared/types'; -import type { PropsWithChildren } from 'react'; import { useState } from 'react'; import { Card } from '@/ui/elements/Card'; @@ -9,17 +7,14 @@ import { ProfileSection } from '@/ui/elements/Section'; import { ThreeDotsMenu } from '@/ui/elements/ThreeDotsMenu'; import { handleError } from '@/utils/errorHandler'; -import { useEnvironment } from '../../contexts'; import type { LocalizationKey } from '../../customizables'; -import { Badge, Button, Col, descriptors, Flex, Link, localizationKeys, Span, Text } from '../../customizables'; -import { useFetchRoles, useLocalizeCustomRoles } from '../../hooks/useFetchRoles'; +import { Badge, Button, Col, descriptors, Flex, localizationKeys, Text } from '../../customizables'; import type { OrganizationEnterpriseConnection, OrganizationEnterpriseConnectionStatus, } from '../ConfigureSSO/domain/organizationEnterpriseConnection'; import type { EnterpriseConnectionMutations } from '../ConfigureSSO/hooks/useOrganizationEnterpriseConnection'; import { ResetConnectionDialog } from '../ConfigureSSO/ResetConnectionDialog'; -import type { ProviderType } from '../ConfigureSSO/types'; type SecuritySsoSectionProps = { connection: OrganizationEnterpriseConnection; @@ -33,11 +28,11 @@ type SecuritySsoSectionProps = { const STATUS_BADGES: Record< OrganizationEnterpriseConnectionStatus, - { id: string; colorScheme: 'danger' | 'warning' | 'success'; label: LocalizationKey } + { id: string; colorScheme: 'secondary' | 'danger' | 'warning' | 'success'; label: LocalizationKey } > = { unconfigured: { id: 'unconfigured', - colorScheme: 'danger', + colorScheme: 'secondary', label: localizationKeys('organizationProfile.securityPage.ssoSection.badge__unconfigured'), }, in_progress: { @@ -57,15 +52,6 @@ const STATUS_BADGES: Record< }, }; -const MONOCHROMATIC_PROVIDER_ICONS: ReadonlySet = new Set(['okta']); - -const PROVIDER_PRESENTATION: Record = { - saml_okta: { label: localizationKeys('configureSSO.selectProviderStep.saml.okta'), iconId: 'okta' }, - saml_microsoft: { label: localizationKeys('configureSSO.selectProviderStep.saml.microsoft'), iconId: 'microsoft' }, - saml_google: { label: localizationKeys('configureSSO.selectProviderStep.saml.google'), iconId: 'google' }, - saml_custom: { label: localizationKeys('configureSSO.selectProviderStep.saml.customSaml'), iconId: 'saml' }, -}; - export const SecuritySsoSection = (props: SecuritySsoSectionProps): JSX.Element => { const { connection, onConfigure } = props; @@ -156,7 +142,6 @@ type ConfiguredContentProps = SecuritySsoSectionProps & { const ConfiguredContent = (props: ConfiguredContentProps): JSX.Element => { const { - connection, enterpriseConnection, setConnectionActive, deleteConnection, @@ -168,9 +153,7 @@ const ConfiguredContent = (props: ConfiguredContentProps): JSX.Element => { const card = useCardState(); const [isResetDialogOpen, setIsResetDialogOpen] = useState(false); - const provider = connection.provider ? PROVIDER_PRESENTATION[connection.provider] : undefined; const domains = enterpriseConnection?.domains ?? []; - const samlConnection = enterpriseConnection?.samlConnection; const onSetActive = async (active: boolean) => { if (card.isLoading) { @@ -230,85 +213,30 @@ const ConfiguredContent = (props: ConfiguredContentProps): JSX.Element => { {card.error} - ({ - padding: `${t.space.$3} ${t.space.$4}`, - backgroundColor: t.colors.$colorBackground, - borderWidth: t.borderWidths.$normal, - borderStyle: t.borderStyles.$solid, - borderColor: t.colors.$borderAlpha150, - borderRadius: t.radii.$lg, - })} - > - {provider && ( - - - - - - - )} - - {domains.length > 0 && ( - - 0 && ( + + + {domains.map(domain => ( + - {domains.map(domain => ( - - {domain} - - ))} - - - )} - - {samlConnection?.idpSsoUrl && ( - - - - )} - - {samlConnection?.idpEntityId && ( - - - - )} - + {domain} + + ))} + + )} { ); }; -const SsoDescription = (): JSX.Element => { - const roleName = useEnrollmentRoleName(); - - return ( - - - - - ); -}; - -/** - * The display name of the role SSO-enrolled members are assigned — the environment's - * default member role, name-mapped when the roles list is readable. - */ -const useEnrollmentRoleName = (): string | undefined => { - const { organizationSettings } = useEnvironment(); - const { options } = useFetchRoles(); - const { localizeCustomRole } = useLocalizeCustomRoles(); - - // Mirrors the invite form's default-role resolution. - let roleKey = organizationSettings.domains.defaultRole ?? undefined; - if (!roleKey && options?.length === 1) { - roleKey = options[0].value; - } - - if (!roleKey) { - return undefined; - } - - return ( - localizeCustomRole(roleKey) || options?.find(option => option.value === roleKey)?.label || humanizeRoleKey(roleKey) - ); -}; - -/** `org:billing_admin` → `billing admin`. */ -const humanizeRoleKey = (roleKey: string): string => { - const lastSegment = roleKey.split(':').pop() ?? roleKey; - return lastSegment.replace(/[_-]+/g, ' ').trim() || roleKey; -}; - -type DetailRowProps = PropsWithChildren<{ - id: string; - label: LocalizationKey; -}>; - -const DetailRow = ({ id, label, children }: DetailRowProps): JSX.Element => ( - - - - {children} - - +const SsoDescription = (): JSX.Element => ( + ); type ValueChipProps = { @@ -434,63 +285,3 @@ const ValueChip = ({ id, children }: ValueChipProps): JSX.Element => ( ); - -type LinkChipProps = { - id: string; - href: string; -}; - -const LinkChip = ({ id, href }: LinkChipProps): JSX.Element => ( - - - {href} - - -); - -const ProviderIcon = ({ iconId }: { iconId: string }): JSX.Element => ( - { - const baseSize = { width: theme.sizes.$4, height: theme.sizes.$4, flexShrink: 0 }; - if (MONOCHROMATIC_PROVIDER_ICONS.has(iconId)) { - return { - ...baseSize, - backgroundColor: theme.colors.$colorForeground, - maskImage: `url(${iconImageUrl(iconId)})`, - maskSize: 'contain', - maskPosition: 'center', - maskRepeat: 'no-repeat', - }; - } - return { - ...baseSize, - backgroundImage: `url(${iconImageUrl(iconId)})`, - backgroundSize: 'contain', - backgroundPosition: 'center', - backgroundRepeat: 'no-repeat', - }; - }} - /> -); diff --git a/packages/ui/src/components/OrganizationProfile/__tests__/OrganizationSecurityPage.test.tsx b/packages/ui/src/components/OrganizationProfile/__tests__/OrganizationSecurityPage.test.tsx index 9f6cb6c1c44..4f452675977 100644 --- a/packages/ui/src/components/OrganizationProfile/__tests__/OrganizationSecurityPage.test.tsx +++ b/packages/ui/src/components/OrganizationProfile/__tests__/OrganizationSecurityPage.test.tsx @@ -19,11 +19,7 @@ const withSecurityPageFixtures = (f: Parameters { expect(screen.getByText('SSO')).toBeInTheDocument(); expect(screen.getByText('Unconfigured')).toBeInTheDocument(); expect(screen.getByText(DESCRIPTION_LINE_1)).toBeInTheDocument(); - expect(screen.getByText(DESCRIPTION_LINE_2)).toBeInTheDocument(); expect(screen.getByRole('button', { name: 'Start configuration' })).toBeInTheDocument(); expect(screen.queryByRole('switch')).not.toBeInTheDocument(); @@ -89,7 +84,6 @@ describe('OrganizationSecurityPage', () => { expect(await screen.findByText('In Progress')).toBeInTheDocument(); expect(screen.getByText(DESCRIPTION_LINE_1)).toBeInTheDocument(); - expect(screen.getByText(DESCRIPTION_LINE_2)).toBeInTheDocument(); expect(screen.queryByText(/you have started a configuration/i)).not.toBeInTheDocument(); expect(screen.getByRole('button', { name: 'Continue configuration' })).toBeInTheDocument(); @@ -97,7 +91,7 @@ describe('OrganizationSecurityPage', () => { expect(screen.queryByRole('button', { name: /open menu/i })).not.toBeInTheDocument(); }); - it('renders the active state with the connection details', async () => { + it('renders the active state as a condensed overview with the domains and actions menu', async () => { const { wrapper, fixtures } = await createFixtures(withSecurityPageFixtures); fixtures.clerk.organization?.getEnterpriseConnections.mockResolvedValue([configuredConnection({ active: true })]); @@ -110,29 +104,26 @@ describe('OrganizationSecurityPage', () => { expect(await screen.findByText('Active')).toBeInTheDocument(); expect(screen.getByText(DESCRIPTION_LINE_1)).toBeInTheDocument(); - expect(screen.getByText(DESCRIPTION_LINE_2)).toBeInTheDocument(); expect(screen.queryByRole('switch')).not.toBeInTheDocument(); - expect(screen.getByText('Provider')).toBeInTheDocument(); - expect(screen.getByText('Okta Workforce')).toBeInTheDocument(); - expect(screen.getByText('Domain')).toBeInTheDocument(); + // The condensed overview keeps the domains, dropping the bordered detail card. + expect(screen.getByText('Domains')).toBeInTheDocument(); expect(screen.getByText('clerk.com')).toBeInTheDocument(); - expect(screen.getByText('Sign on URL')).toBeInTheDocument(); - expect(screen.getByRole('link', { name: 'https://idp.example.com/sso' })).toHaveAttribute( - 'href', - 'https://idp.example.com/sso', - ); - expect(screen.getByText('Issuer')).toBeInTheDocument(); - expect(screen.getByRole('link', { name: 'https://idp.example.com/entity' })).toHaveAttribute( - 'href', - 'https://idp.example.com/entity', - ); + + // Provider, sign-on URL, issuer, and certificate rows are no longer rendered. + expect(screen.queryByText('Provider')).not.toBeInTheDocument(); + expect(screen.queryByText('Okta Workforce')).not.toBeInTheDocument(); + expect(screen.queryByText('Sign on URL')).not.toBeInTheDocument(); + expect(screen.queryByText('Issuer')).not.toBeInTheDocument(); + expect(screen.queryByText('Certificate')).not.toBeInTheDocument(); + expect(screen.queryByText('CERT')).not.toBeInTheDocument(); + expect(screen.queryByRole('link', { name: 'https://idp.example.com/sso' })).not.toBeInTheDocument(); + expect(screen.queryByRole('link', { name: 'https://idp.example.com/entity' })).not.toBeInTheDocument(); expect(screen.getByRole('button', { name: /open menu/i })).toBeInTheDocument(); expect(screen.queryByRole('button', { name: 'Start configuration' })).not.toBeInTheDocument(); expect(screen.queryByRole('button', { name: 'Continue configuration' })).not.toBeInTheDocument(); - expect(screen.queryByText(/configuration details/i)).not.toBeInTheDocument(); }); it('renders the inactive state with a chip per domain', async () => { @@ -153,23 +144,18 @@ describe('OrganizationSecurityPage', () => { expect(screen.queryByRole('switch')).not.toBeInTheDocument(); expect(screen.getByRole('button', { name: /open menu/i })).toBeInTheDocument(); + expect(screen.getByText('Domains')).toBeInTheDocument(); for (const domain of ['github.com', 'gmail.com', 'maps.com', 'another.com']) { expect(screen.getByText(domain)).toBeInTheDocument(); } }); - it('renders long SAML values as truncating chips with full-value tooltips', async () => { - const longSsoUrl = `https://idp.example.com/sso/${'a'.repeat(280)}`; + it('renders long domains as truncating chips with full-value tooltips', async () => { + const longDomain = `${'a'.repeat(280)}.com`; const { wrapper, fixtures } = await createFixtures(withSecurityPageFixtures); fixtures.clerk.organization?.getEnterpriseConnections.mockResolvedValue([ - configuredConnection({ - active: true, - samlConnection: { - idpSsoUrl: longSsoUrl, - idpEntityId: 'https://idp.example.com/entity', - }, - }), + configuredConnection({ active: true, domains: [longDomain] }), ]); fixtures.clerk.organization?.getEnterpriseConnectionTestRuns.mockResolvedValue({ data: [{ id: 'run_1', status: 'success' }], @@ -178,11 +164,10 @@ describe('OrganizationSecurityPage', () => { renderPage(wrapper); - const ssoLink = await screen.findByRole('link', { name: longSsoUrl }); - expect(ssoLink).toHaveAttribute('href', longSsoUrl); + const domainChip = await screen.findByText(longDomain); // The full value stays reachable via the tooltip once the chip truncates visually. - expect(ssoLink).toHaveAttribute('title', longSsoUrl); - expect(ssoLink).toHaveStyle({ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }); + expect(domainChip).toHaveAttribute('title', longDomain); + expect(domainChip).toHaveStyle({ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }); }); }); @@ -462,82 +447,4 @@ describe('OrganizationSecurityPage', () => { expect(screen.queryByText('Inactive')).not.toBeInTheDocument(); }); }); - - describe('enrollment role', () => { - it("renders the default role's display name when the roles list is readable", async () => { - const { wrapper, fixtures } = await createFixtures(f => { - f.withEnterpriseSso({ selfServeSSO: true }); - f.withEmailAddress(); - f.withOrganizations(); - f.withOrganizationDomains(undefined, 'org:member'); - f.withUser({ - email_addresses: ['test@clerk.com'], - organization_memberships: [ - { name: 'Org1', permissions: ['org:sys_entconns:manage', 'org:sys_memberships:read'] }, - ], - }); - }); - - fixtures.clerk.organization?.getEnterpriseConnections.mockResolvedValue([]); - fixtures.clerk.organization?.getRoles.mockResolvedValue({ - total_count: 2, - data: [ - { id: 'org:admin', key: 'org:admin', name: 'Admin' }, - { id: 'org:member', key: 'org:member', name: 'Member' }, - ], - } as any); - - renderPage(wrapper); - - expect( - await screen.findByText( - 'Anyone who signs in will be automatically added to this organization. New members will be assigned to Member.', - ), - ).toBeInTheDocument(); - }); - - it('falls back to a humanized role key when the roles list is not readable', async () => { - const { wrapper, fixtures } = await createFixtures(f => { - f.withEnterpriseSso({ selfServeSSO: true }); - f.withEmailAddress(); - f.withOrganizations(); - f.withOrganizationDomains(undefined, 'org:billing_admin'); - f.withUser({ - email_addresses: ['test@clerk.com'], - organization_memberships: [{ name: 'Org1', permissions: ['org:sys_entconns:manage'] }], - }); - }); - - fixtures.clerk.organization?.getEnterpriseConnections.mockResolvedValue([]); - - renderPage(wrapper); - - expect( - await screen.findByText( - 'Anyone who signs in will be automatically added to this organization. New members will be assigned to billing admin.', - ), - ).toBeInTheDocument(); - }); - - it('omits the role sentence when no default role is configured', async () => { - const { wrapper, fixtures } = await createFixtures(f => { - f.withEnterpriseSso({ selfServeSSO: true }); - f.withEmailAddress(); - f.withOrganizations(); - f.withUser({ - email_addresses: ['test@clerk.com'], - organization_memberships: [{ name: 'Org1', permissions: ['org:sys_entconns:manage'] }], - }); - }); - - fixtures.clerk.organization?.getEnterpriseConnections.mockResolvedValue([]); - - renderPage(wrapper); - - expect( - await screen.findByText('Anyone who signs in will be automatically added to this organization.'), - ).toBeInTheDocument(); - expect(screen.queryByText(/new members will be assigned to/i)).not.toBeInTheDocument(); - }); - }); }); From c53fc3705fe9b58740f3a491c4e40cc9a358e9f5 Mon Sep 17 00:00:00 2001 From: Iago Dahlem Lorensini Date: Thu, 18 Jun 2026 15:23:12 -0300 Subject: [PATCH 2/2] refactor(ui,localizations): simplify organization Security page SSO domain row Replace the `ValueChip` wrapper with direct `Badge` rendering for SSO domains and restructure the detail row layout into nested Flex containers with consistent spacing. Move the trailing colon into the `domainLabel` localization string instead of applying it via a `::after` pseudo-element. --- packages/localizations/src/en-US.ts | 2 +- .../SecuritySsoSection.tsx | 58 ++++++------------- 2 files changed, 19 insertions(+), 41 deletions(-) diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index c1143ae72fc..7d724650b1b 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -1117,7 +1117,7 @@ export const enUS: LocalizationResource = { badge__inactive: 'Inactive', badge__unconfigured: 'Unconfigured', descriptionLine1: 'Require members with a matching email domain to sign in through your identity provider.', - domainLabel: 'Domains', + domainLabel: 'Domains:', menuAction__activate: 'Activate', menuAction__deactivate: 'Deactivate', menuAction__edit: 'Edit', diff --git a/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx b/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx index f9829592208..134c57c95e5 100644 --- a/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx +++ b/packages/ui/src/components/OrganizationProfile/SecuritySsoSection.tsx @@ -28,11 +28,11 @@ type SecuritySsoSectionProps = { const STATUS_BADGES: Record< OrganizationEnterpriseConnectionStatus, - { id: string; colorScheme: 'secondary' | 'danger' | 'warning' | 'success'; label: LocalizationKey } + { id: string; colorScheme?: 'primary' | 'danger' | 'warning' | 'success'; label: LocalizationKey } > = { unconfigured: { id: 'unconfigured', - colorScheme: 'secondary', + colorScheme: 'primary', label: localizationKeys('organizationProfile.securityPage.ssoSection.badge__unconfigured'), }, in_progress: { @@ -214,27 +214,28 @@ const ConfiguredContent = (props: ConfiguredContentProps): JSX.Element => { {card.error} {domains.length > 0 && ( - + ({ gap: t.space.$1x5 })}> - {domains.map(domain => ( - - {domain} - - ))} + + ({ minWidth: 0, gap: t.space.$1x5 })} + > + {domains.map(domain => ( + + {domain} + + ))} + )} @@ -262,26 +263,3 @@ const SsoDescription = (): JSX.Element => ( sx={{ minWidth: 0 }} /> ); - -type ValueChipProps = { - id: string; - children: string; -}; - -const ValueChip = ({ id, children }: ValueChipProps): JSX.Element => ( - - - {children} - - -);