diff --git a/.changeset/forty-cameras-guess.md b/.changeset/forty-cameras-guess.md new file mode 100644 index 00000000000..d77b4f04913 --- /dev/null +++ b/.changeset/forty-cameras-guess.md @@ -0,0 +1,8 @@ +--- +'@clerk/localizations': patch +'@clerk/clerk-js': patch +'@clerk/shared': patch +'@clerk/ui': patch +--- + +Add confirmation step for `<__experimental_ConfigureSSO />` diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index 1650fbf5f7d..09811739c75 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -179,6 +179,19 @@ export const arSA: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'النطاق', + }, + enableSection: { + title: 'تمكين SSO', + }, + statusSection: { + activeBadge: 'نشط', + inactiveBadge: 'غير نشط', + title: 'حالة SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'تواصل مع مسؤول مؤسستك للحصول على أذونات لإدارة الاتصالات المؤسسية.', title: 'ليس لديك إذن لإدارة الاتصالات المؤسسية', diff --git a/packages/localizations/src/be-BY.ts b/packages/localizations/src/be-BY.ts index 5a1724ed188..65114760313 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -179,6 +179,19 @@ export const beBY: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Дамен', + }, + enableSection: { + title: 'Уключыць SSO', + }, + statusSection: { + activeBadge: 'Актыўны', + inactiveBadge: 'Неактыўны', + title: 'Статус SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Звярніцеся да адміністратара вашай арганізацыі, каб атрымаць дазволы на кіраванне карпаратыўнымі падключэннямі.', diff --git a/packages/localizations/src/bg-BG.ts b/packages/localizations/src/bg-BG.ts index 855f8bd4241..ecda2fdcc6a 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -180,6 +180,19 @@ export const bgBG: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Домейн', + }, + enableSection: { + title: 'Активиране на SSO', + }, + statusSection: { + activeBadge: 'Активен', + inactiveBadge: 'Неактивен', + title: 'Статус на SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Свържете се с администратора на вашата организация, за да получите разрешения за управление на корпоративни връзки.', diff --git a/packages/localizations/src/bn-IN.ts b/packages/localizations/src/bn-IN.ts index f928a614942..496ec756eca 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -179,6 +179,19 @@ export const bnIN: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'ডোমেইন', + }, + enableSection: { + title: 'SSO সক্রিয় করুন', + }, + statusSection: { + activeBadge: 'সক্রিয়', + inactiveBadge: 'নিষ্ক্রিয়', + title: 'SSO স্ট্যাটাস', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'এন্টারপ্রাইজ সংযোগ পরিচালনার অনুমতি পেতে আপনার সংস্থার প্রশাসকের সাথে যোগাযোগ করুন।', title: 'এন্টারপ্রাইজ সংযোগ পরিচালনার অনুমতি আপনার নেই', diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index 43c23922c45..0a8418950d3 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -186,6 +186,19 @@ export const caES: LocalizationResource = { year: 'Any', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domini', + }, + enableSection: { + title: 'Activar SSO', + }, + statusSection: { + activeBadge: 'Actiu', + inactiveBadge: 'Inactiu', + title: 'Estat SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: "Contacta amb l'administrador de la teva organització per obtenir permisos per gestionar connexions empresarials.", diff --git a/packages/localizations/src/cs-CZ.ts b/packages/localizations/src/cs-CZ.ts index 7723881510c..eb0acd8cb5b 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -183,6 +183,19 @@ export const csCZ: LocalizationResource = { year: 'Rok', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Doména', + }, + enableSection: { + title: 'Povolit SSO', + }, + statusSection: { + activeBadge: 'Aktivní', + inactiveBadge: 'Neaktivní', + title: 'Stav SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Kontaktujte správce vaší organizace, abyste získali oprávnění ke správě podnikových připojení.', title: 'Nemáte oprávnění ke správě podnikových připojení', diff --git a/packages/localizations/src/da-DK.ts b/packages/localizations/src/da-DK.ts index fe5673f9627..6c487462571 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -179,6 +179,19 @@ export const daDK: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domæne', + }, + enableSection: { + title: 'Aktivér SSO', + }, + statusSection: { + activeBadge: 'Aktiv', + inactiveBadge: 'Inaktiv', + title: 'SSO-status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Kontakt din organisations administrator for at få tilladelse til at administrere virksomhedsforbindelser.', diff --git a/packages/localizations/src/de-DE.ts b/packages/localizations/src/de-DE.ts index 2c2ff5f0fdb..6f9f01d2e92 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -185,6 +185,19 @@ export const deDE: LocalizationResource = { year: 'Jahr', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domain', + }, + enableSection: { + title: 'SSO aktivieren', + }, + statusSection: { + activeBadge: 'Aktiv', + inactiveBadge: 'Inaktiv', + title: 'SSO-Status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Wenden Sie sich an Ihren Organisationsadministrator, um Berechtigungen zur Verwaltung von Enterprise-Verbindungen zu erhalten.', diff --git a/packages/localizations/src/el-GR.ts b/packages/localizations/src/el-GR.ts index ad532677f9f..a125da8caa7 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -179,6 +179,19 @@ export const elGR: LocalizationResource = { year: 'έτος', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Τομέας', + }, + enableSection: { + title: 'Ενεργοποίηση SSO', + }, + statusSection: { + activeBadge: 'Ενεργό', + inactiveBadge: 'Ανενεργό', + title: 'Κατάσταση SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Επικοινωνήστε με τον διαχειριστή του οργανισμού σας για να αποκτήσετε άδειες διαχείρισης εταιρικών συνδέσεων.', diff --git a/packages/localizations/src/en-GB.ts b/packages/localizations/src/en-GB.ts index 5f21f029a6c..c6259cede33 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -179,6 +179,19 @@ export const enGB: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domain', + }, + enableSection: { + title: 'Enable SSO', + }, + statusSection: { + activeBadge: 'Active', + inactiveBadge: 'Inactive', + title: 'SSO Status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contact your organisation administrator in order to have permissions to manage enterprise connections.', diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index c99ba13395a..b0e12845621 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -201,6 +201,33 @@ export const enUS: LocalizationResource = { yearPerUnit: 'Year per {{unitName}}', }, configureSSO: { + confirmation: { + configurationSection: { + certificateLabel: 'Certificate', + configureAgainLink: 'Configure again', + issuerLabel: 'Issuer', + ssoUrlLabel: 'Sign on URL', + title: 'Configuration details', + }, + domainSection: { + title: 'Domain', + }, + enableSection: { + title: 'Enable SSO', + }, + resetSection: { + confirmationFieldLabel: 'Type "{{name}}" to confirm', + submitButton: 'Reset connection', + title: 'Reset connection', + warning: + 'This will permanently remove the SSO configuration. Members will no longer be able to sign in with SSO.', + }, + statusSection: { + activeBadge: 'Active', + inactiveBadge: 'Inactive', + title: 'SSO Status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contact your organization administrator in order to have permissions to manage enterprise connections.', diff --git a/packages/localizations/src/es-CR.ts b/packages/localizations/src/es-CR.ts index a96ef5b91d5..b81fbb7dc35 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -179,6 +179,19 @@ export const esCR: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Dominio', + }, + enableSection: { + title: 'Habilitar SSO', + }, + statusSection: { + activeBadge: 'Activo', + inactiveBadge: 'Inactivo', + title: 'Estado SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contacta al administrador de tu organización para obtener permisos para gestionar conexiones de empresa.', diff --git a/packages/localizations/src/es-ES.ts b/packages/localizations/src/es-ES.ts index 0985e81031f..f43dcdb2740 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -185,6 +185,19 @@ export const esES: LocalizationResource = { year: 'Año', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Dominio', + }, + enableSection: { + title: 'Activar SSO', + }, + statusSection: { + activeBadge: 'Activo', + inactiveBadge: 'Inactivo', + title: 'Estado SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contacte al administrador de su organización para obtener permisos para gestionar conexiones empresariales.', diff --git a/packages/localizations/src/es-MX.ts b/packages/localizations/src/es-MX.ts index a3bc81d7bb7..69a290c586a 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -180,6 +180,19 @@ export const esMX: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Dominio', + }, + enableSection: { + title: 'Habilitar SSO', + }, + statusSection: { + activeBadge: 'Activo', + inactiveBadge: 'Inactivo', + title: 'Estado SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contacta al administrador de tu organización para obtener permisos para administrar conexiones de empresa.', diff --git a/packages/localizations/src/es-UY.ts b/packages/localizations/src/es-UY.ts index 557ceb5ca23..b8e0e86f336 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -179,6 +179,19 @@ export const esUY: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Dominio', + }, + enableSection: { + title: 'Habilitar SSO', + }, + statusSection: { + activeBadge: 'Activo', + inactiveBadge: 'Inactivo', + title: 'Estado SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contactá al administrador de tu organización para obtener permisos para gestionar conexiones empresariales.', diff --git a/packages/localizations/src/fa-IR.ts b/packages/localizations/src/fa-IR.ts index 0bd64d2c2f0..d0cfa803f75 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -184,6 +184,19 @@ export const faIR: LocalizationResource = { year: 'سال', }, configureSSO: { + confirmation: { + domainSection: { + title: 'دامنه', + }, + enableSection: { + title: 'فعال‌سازی SSO', + }, + statusSection: { + activeBadge: 'فعال', + inactiveBadge: 'غیرفعال', + title: 'وضعیت SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'برای دریافت مجوز مدیریت اتصالات سازمانی با مدیر سازمان خود تماس بگیرید.', title: 'شما اجازه مدیریت اتصالات سازمانی را ندارید', diff --git a/packages/localizations/src/fi-FI.ts b/packages/localizations/src/fi-FI.ts index 46317d84fac..ffc6caef4d8 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -207,6 +207,19 @@ export const fiFI: LocalizationResource = { yearPerUnit: 'Vuosi per {{unitName}}', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Toimialue', + }, + enableSection: { + title: 'Ota SSO käyttöön', + }, + statusSection: { + activeBadge: 'Aktiivinen', + inactiveBadge: 'Ei aktiivinen', + title: 'SSO:n tila', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Ota yhteyttä organisaatiosi järjestelmänvalvojaan saadaksesi oikeudet hallita yritysyhteyksiä.', title: 'Sinulla ei ole oikeutta hallita yritysyhteyksiä', diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index 97d225f024a..0496d21632c 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -187,6 +187,19 @@ export const frFR: LocalizationResource = { year: 'An', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domaine', + }, + enableSection: { + title: 'Activer SSO', + }, + statusSection: { + activeBadge: 'Actif', + inactiveBadge: 'Inactif', + title: 'Statut SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: "Contactez l'administrateur de votre organisation afin d'obtenir les permissions pour gérer les connexions d'entreprise.", diff --git a/packages/localizations/src/he-IL.ts b/packages/localizations/src/he-IL.ts index b5510e08b09..933861ee582 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -179,6 +179,19 @@ export const heIL: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'דומיין', + }, + enableSection: { + title: 'הפעל SSO', + }, + statusSection: { + activeBadge: 'פעיל', + inactiveBadge: 'לא פעיל', + title: 'סטטוס SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'פנה למנהל הארגון שלך כדי לקבל הרשאות לניהול חיבורים ארגוניים.', title: 'אין לך הרשאה לנהל חיבורים ארגוניים', diff --git a/packages/localizations/src/hi-IN.ts b/packages/localizations/src/hi-IN.ts index 64ce08e7a27..39b91104c67 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -179,6 +179,19 @@ export const hiIN: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'डोमेन', + }, + enableSection: { + title: 'SSO सक्षम करें', + }, + statusSection: { + activeBadge: 'सक्रिय', + inactiveBadge: 'निष्क्रिय', + title: 'SSO स्थिति', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'एंटरप्राइज़ कनेक्शन प्रबंधित करने की अनुमति प्राप्त करने के लिए अपने संगठन के व्यवस्थापक से संपर्क करें।', diff --git a/packages/localizations/src/hr-HR.ts b/packages/localizations/src/hr-HR.ts index 32f5b1dee3b..b3655bec04a 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -208,6 +208,19 @@ export const hrHR: LocalizationResource = { yearPerUnit: 'Godina po {{unitName}}', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domena', + }, + enableSection: { + title: 'Omogući SSO', + }, + statusSection: { + activeBadge: 'Aktivno', + inactiveBadge: 'Neaktivno', + title: 'SSO status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Obratite se administratoru vaše organizacije kako biste dobili dopuštenja za upravljanje poslovnim vezama.', diff --git a/packages/localizations/src/hu-HU.ts b/packages/localizations/src/hu-HU.ts index 2fcc3f83bf0..019920b3a02 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -208,6 +208,19 @@ export const huHU: LocalizationResource = { yearPerUnit: 'Év / {{unitName}}', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Tartomány', + }, + enableSection: { + title: 'SSO engedélyezése', + }, + statusSection: { + activeBadge: 'Aktív', + inactiveBadge: 'Inaktív', + title: 'SSO állapot', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Vegye fel a kapcsolatot szervezete adminisztrátorával, hogy jogosultságot kapjon a vállalati kapcsolatok kezelésére.', diff --git a/packages/localizations/src/id-ID.ts b/packages/localizations/src/id-ID.ts index bd47bf1828e..32c6c60ea69 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -179,6 +179,19 @@ export const idID: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domain', + }, + enableSection: { + title: 'Aktifkan SSO', + }, + statusSection: { + activeBadge: 'Aktif', + inactiveBadge: 'Tidak aktif', + title: 'Status SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Hubungi administrator organisasi Anda untuk mendapatkan izin mengelola koneksi enterprise.', title: 'Anda tidak memiliki izin untuk mengelola koneksi enterprise', diff --git a/packages/localizations/src/is-IS.ts b/packages/localizations/src/is-IS.ts index a6346dce68d..1e0afd861e2 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -207,6 +207,19 @@ export const isIS: LocalizationResource = { yearPerUnit: 'Ár á {{unitName}}', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Lén', + }, + enableSection: { + title: 'Virkja SSO', + }, + statusSection: { + activeBadge: 'Virkur', + inactiveBadge: 'Óvirkur', + title: 'SSO staða', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Hafðu samband við stjórnanda fyrirtækisins þíns til að fá heimildir til að stjórna fyrirtækjatengingum.', diff --git a/packages/localizations/src/it-IT.ts b/packages/localizations/src/it-IT.ts index f5042de6356..9652be3324b 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -185,6 +185,19 @@ export const itIT: LocalizationResource = { year: 'Anno', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Dominio', + }, + enableSection: { + title: 'Abilita SSO', + }, + statusSection: { + activeBadge: 'Attivo', + inactiveBadge: 'Inattivo', + title: 'Stato SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: "Contatta l'amministratore della tua organizzazione per ottenere i permessi per gestire le connessioni aziendali.", diff --git a/packages/localizations/src/ja-JP.ts b/packages/localizations/src/ja-JP.ts index 3deb569032b..f99112076f8 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -190,6 +190,19 @@ export const jaJP: LocalizationResource = { year: '年', }, configureSSO: { + confirmation: { + domainSection: { + title: 'ドメイン', + }, + enableSection: { + title: 'SSOを有効にする', + }, + statusSection: { + activeBadge: '有効', + inactiveBadge: '無効', + title: 'SSOステータス', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'エンタープライズ接続を管理する権限を取得するには、組織の管理者にお問い合わせください。', title: 'エンタープライズ接続を管理する権限がありません', diff --git a/packages/localizations/src/kk-KZ.ts b/packages/localizations/src/kk-KZ.ts index f53f6a36f42..fbca910a58d 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -179,6 +179,19 @@ export const kkKZ: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Домен', + }, + enableSection: { + title: 'SSO қосу', + }, + statusSection: { + activeBadge: 'Белсенді', + inactiveBadge: 'Белсенді емес', + title: 'SSO күйі', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Корпоративтік қосылыстарды басқару рұқсаттарын алу үшін ұйым әкімшісіне хабарласыңыз.', title: 'Сізде корпоративтік қосылыстарды басқаруға рұқсат жоқ', diff --git a/packages/localizations/src/ko-KR.ts b/packages/localizations/src/ko-KR.ts index 1fa3e1e370b..055b1295a49 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -186,6 +186,19 @@ export const koKR: LocalizationResource = { year: '년', }, configureSSO: { + confirmation: { + domainSection: { + title: '도메인', + }, + enableSection: { + title: 'SSO 활성화', + }, + statusSection: { + activeBadge: '활성', + inactiveBadge: '비활성', + title: 'SSO 상태', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: '엔터프라이즈 연결을 관리할 권한을 얻으려면 조직 관리자에게 문의하세요.', title: '엔터프라이즈 연결을 관리할 권한이 없습니다', diff --git a/packages/localizations/src/mn-MN.ts b/packages/localizations/src/mn-MN.ts index 198e7d1fd28..135a9e29741 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -179,6 +179,19 @@ export const mnMN: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Домейн', + }, + enableSection: { + title: 'SSO идэвхжүүлэх', + }, + statusSection: { + activeBadge: 'Идэвхтэй', + inactiveBadge: 'Идэвхгүй', + title: 'SSO төлөв', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Аж ахуйн нэгжийн холболтыг удирдах эрх авахын тулд байгууллагынхаа админтай холбогдоно уу.', title: 'Танд аж ахуйн нэгжийн холболтыг удирдах эрх байхгүй байна', diff --git a/packages/localizations/src/ms-MY.ts b/packages/localizations/src/ms-MY.ts index be7b1af309e..a93a1386409 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -179,6 +179,19 @@ export const msMY: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domain', + }, + enableSection: { + title: 'Aktifkan SSO', + }, + statusSection: { + activeBadge: 'Aktif', + inactiveBadge: 'Tidak aktif', + title: 'Status SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Hubungi pentadbir organisasi anda untuk mendapatkan kebenaran mengurus sambungan perusahaan.', title: 'Anda tidak mempunyai kebenaran untuk mengurus sambungan perusahaan', diff --git a/packages/localizations/src/nb-NO.ts b/packages/localizations/src/nb-NO.ts index bcb8abaf78b..1135f0b9647 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -208,6 +208,19 @@ export const nbNO: LocalizationResource = { yearPerUnit: 'År per {{unitName}}', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domene', + }, + enableSection: { + title: 'Aktiver SSO', + }, + statusSection: { + activeBadge: 'Aktiv', + inactiveBadge: 'Inaktiv', + title: 'SSO-status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Kontakt organisasjonens administrator for å få tillatelser til å administrere bedriftstilkoblinger.', title: 'Du har ikke tillatelse til å administrere bedriftstilkoblinger', diff --git a/packages/localizations/src/nl-BE.ts b/packages/localizations/src/nl-BE.ts index 3131fcd5baa..12a8c2009cc 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -179,6 +179,19 @@ export const nlBE: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domein', + }, + enableSection: { + title: 'SSO inschakelen', + }, + statusSection: { + activeBadge: 'Actief', + inactiveBadge: 'Inactief', + title: 'SSO-status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Neem contact op met de beheerder van uw organisatie om toestemming te krijgen voor het beheren van enterprise-verbindingen.', diff --git a/packages/localizations/src/nl-NL.ts b/packages/localizations/src/nl-NL.ts index ce89575b35d..25564a8b23c 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -179,6 +179,19 @@ export const nlNL: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domein', + }, + enableSection: { + title: 'SSO inschakelen', + }, + statusSection: { + activeBadge: 'Actief', + inactiveBadge: 'Inactief', + title: 'SSO-status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Neem contact op met de beheerder van je organisatie om toestemming te krijgen voor het beheren van enterprise-verbindingen.', diff --git a/packages/localizations/src/pl-PL.ts b/packages/localizations/src/pl-PL.ts index e5227729e6f..79943ede324 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -179,6 +179,19 @@ export const plPL: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domena', + }, + enableSection: { + title: 'Włącz SSO', + }, + statusSection: { + activeBadge: 'Aktywny', + inactiveBadge: 'Nieaktywny', + title: 'Status SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Skontaktuj się z administratorem swojej organizacji, aby uzyskać uprawnienia do zarządzania połączeniami korporacyjnymi.', diff --git a/packages/localizations/src/pt-BR.ts b/packages/localizations/src/pt-BR.ts index 108c4f29d9f..26d463f784d 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -185,6 +185,19 @@ export const ptBR: LocalizationResource = { year: 'Ano', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domínio', + }, + enableSection: { + title: 'Ativar SSO', + }, + statusSection: { + activeBadge: 'Ativo', + inactiveBadge: 'Inativo', + title: 'Status do SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Entre em contato com o administrador da sua organização para obter permissões para gerenciar conexões empresariais.', diff --git a/packages/localizations/src/pt-PT.ts b/packages/localizations/src/pt-PT.ts index adf07011b44..d5839bb400f 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -187,6 +187,19 @@ export const ptPT: LocalizationResource = { year: 'Ano', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domínio', + }, + enableSection: { + title: 'Ativar SSO', + }, + statusSection: { + activeBadge: 'Ativo', + inactiveBadge: 'Inativo', + title: 'Estado SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contacte o administrador da sua organização para obter permissões para gerir ligações empresariais.', title: 'Não tem permissão para gerir ligações empresariais', diff --git a/packages/localizations/src/ro-RO.ts b/packages/localizations/src/ro-RO.ts index 9008441998f..199ba5d666b 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -185,6 +185,19 @@ export const roRO: LocalizationResource = { year: 'An', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domeniu', + }, + enableSection: { + title: 'Activează SSO', + }, + statusSection: { + activeBadge: 'Activ', + inactiveBadge: 'Inactiv', + title: 'Stare SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Contactați administratorul organizației dumneavoastră pentru a obține permisiuni de gestionare a conexiunilor de întreprindere.', diff --git a/packages/localizations/src/ru-RU.ts b/packages/localizations/src/ru-RU.ts index baafba1fdab..bd2a4824bd6 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -179,6 +179,19 @@ export const ruRU: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Домен', + }, + enableSection: { + title: 'Включить SSO', + }, + statusSection: { + activeBadge: 'Активный', + inactiveBadge: 'Неактивный', + title: 'Статус SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Обратитесь к администратору вашей организации, чтобы получить разрешения на управление корпоративными подключениями.', diff --git a/packages/localizations/src/sk-SK.ts b/packages/localizations/src/sk-SK.ts index a74f99a230c..0fc73a0fcf2 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -179,6 +179,19 @@ export const skSK: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Doména', + }, + enableSection: { + title: 'Povoliť SSO', + }, + statusSection: { + activeBadge: 'Aktívny', + inactiveBadge: 'Neaktívny', + title: 'Stav SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Kontaktujte správcu vašej organizácie, aby ste získali oprávnenia na spravovanie podnikových pripojení.', diff --git a/packages/localizations/src/sr-RS.ts b/packages/localizations/src/sr-RS.ts index 1c40e71dd13..be1e01c4c44 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -179,6 +179,19 @@ export const srRS: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Домен', + }, + enableSection: { + title: 'Омогући SSO', + }, + statusSection: { + activeBadge: 'Активан', + inactiveBadge: 'Неактиван', + title: 'SSO статус', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Kontaktirajte administratora vaše organizacije da biste dobili dozvole za upravljanje korporativnim vezama.', diff --git a/packages/localizations/src/sv-SE.ts b/packages/localizations/src/sv-SE.ts index fe20fe42180..9f7868fb698 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -179,6 +179,19 @@ export const svSE: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Domän', + }, + enableSection: { + title: 'Aktivera SSO', + }, + statusSection: { + activeBadge: 'Aktiv', + inactiveBadge: 'Inaktiv', + title: 'SSO-status', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Kontakta administratören för din organisation för att få behörighet att hantera företagsanslutningar.', title: 'Du har inte behörighet att hantera företagsanslutningar', diff --git a/packages/localizations/src/ta-IN.ts b/packages/localizations/src/ta-IN.ts index 33d46b0155a..eafdfddeef4 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -179,6 +179,19 @@ export const taIN: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'டொமைன்', + }, + enableSection: { + title: 'SSO ஐ இயக்கு', + }, + statusSection: { + activeBadge: 'செயலில்', + inactiveBadge: 'செயலற்ற', + title: 'SSO நிலை', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'நிறுவன இணைப்புகளை நிர்வகிக்க அனுமதிகளைப் பெற உங்கள் நிறுவனத்தின் நிர்வாகியைத் தொடர்பு கொள்ளவும்.', title: 'நிறுவன இணைப்புகளை நிர்வகிக்க உங்களுக்கு அனுமதி இல்லை', diff --git a/packages/localizations/src/te-IN.ts b/packages/localizations/src/te-IN.ts index a70186c3873..6076dfbc0d2 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -179,6 +179,19 @@ export const teIN: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'డొమైన్', + }, + enableSection: { + title: 'SSO ని ప్రారంభించండి', + }, + statusSection: { + activeBadge: 'సక్రియ', + inactiveBadge: 'నిష్క్రియ', + title: 'SSO స్థితి', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'ఎంటర్‌ప్రైజ్ కనెక్షన్‌లను నిర్వహించడానికి అనుమతులు పొందడానికి మీ సంస్థ నిర్వాహకుడిని సంప్రదించండి.', title: 'ఎంటర్‌ప్రైజ్ కనెక్షన్‌లను నిర్వహించడానికి మీకు అనుమతి లేదు', diff --git a/packages/localizations/src/th-TH.ts b/packages/localizations/src/th-TH.ts index 98926b01cb4..a91fdfab36d 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -183,6 +183,19 @@ export const thTH: LocalizationResource = { year: 'ปี', }, configureSSO: { + confirmation: { + domainSection: { + title: 'โดเมน', + }, + enableSection: { + title: 'เปิดใช้งาน SSO', + }, + statusSection: { + activeBadge: 'ใช้งาน', + inactiveBadge: 'ไม่ใช้งาน', + title: 'สถานะ SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'ติดต่อผู้ดูแลระบบขององค์กรของคุณเพื่อขอสิทธิ์ในการจัดการการเชื่อมต่อระดับองค์กร', title: 'คุณไม่มีสิทธิ์จัดการการเชื่อมต่อระดับองค์กร', diff --git a/packages/localizations/src/tr-TR.ts b/packages/localizations/src/tr-TR.ts index f9ec3b6f23c..7fbf79b31bd 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -179,6 +179,19 @@ export const trTR: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Etki alanı', + }, + enableSection: { + title: "SSO'yu Etkinleştir", + }, + statusSection: { + activeBadge: 'Etkin', + inactiveBadge: 'Devre Dışı', + title: 'SSO Durumu', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Kurumsal bağlantıları yönetme izinleri almak için organizasyonunuzun yöneticisiyle iletişime geçin.', title: 'Kurumsal bağlantıları yönetme izniniz yok', diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index 4a13fb2776e..8af839ef01c 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -179,6 +179,19 @@ export const ukUA: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: 'Домен', + }, + enableSection: { + title: 'Увімкнути SSO', + }, + statusSection: { + activeBadge: 'Активний', + inactiveBadge: 'Неактивний', + title: 'Статус SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Зверніться до адміністратора вашої організації, щоб отримати дозвіл на керування корпоративними підключеннями.', diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index 6bedf43ee58..c3371ff8ff5 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -183,6 +183,19 @@ export const viVN: LocalizationResource = { year: 'Năm', }, configureSSO: { + confirmation: { + domainSection: { + title: 'Tên miền', + }, + enableSection: { + title: 'Bật SSO', + }, + statusSection: { + activeBadge: 'Hoạt động', + inactiveBadge: 'Không hoạt động', + title: 'Trạng thái SSO', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: 'Liên hệ với quản trị viên tổ chức của bạn để có quyền quản lý các kết nối doanh nghiệp.', title: 'Bạn không có quyền quản lý các kết nối doanh nghiệp', diff --git a/packages/localizations/src/zh-CN.ts b/packages/localizations/src/zh-CN.ts index f70f9fe53d6..71b8f4f8cf9 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -179,6 +179,19 @@ export const zhCN: LocalizationResource = { year: undefined, }, configureSSO: { + confirmation: { + domainSection: { + title: '域名', + }, + enableSection: { + title: '启用 SSO', + }, + statusSection: { + activeBadge: '已启用', + inactiveBadge: '未启用', + title: 'SSO 状态', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: '请联系您的组织管理员以获得管理企业连接的权限。', title: '您无权管理企业连接', diff --git a/packages/localizations/src/zh-TW.ts b/packages/localizations/src/zh-TW.ts index 3cdb738b844..8ee8ccdfd24 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -185,6 +185,19 @@ export const zhTW: LocalizationResource = { year: '年', }, configureSSO: { + confirmation: { + domainSection: { + title: '網域', + }, + enableSection: { + title: '啟用 SSO', + }, + statusSection: { + activeBadge: '已啟用', + inactiveBadge: '未啟用', + title: 'SSO 狀態', + }, + }, missingManageEnterpriseConnectionsPermission: { subtitle: '請聯絡您的組織管理員以取得管理企業連線的權限。', title: '您沒有管理企業連線的權限', diff --git a/packages/shared/src/types/elementIds.ts b/packages/shared/src/types/elementIds.ts index 77f71404daa..0cb79692568 100644 --- a/packages/shared/src/types/elementIds.ts +++ b/packages/shared/src/types/elementIds.ts @@ -45,7 +45,13 @@ export type ProfileSectionId = | 'organizationDomains' | 'manageVerifiedDomains' | 'subscriptionsList' - | 'paymentMethods'; + | 'paymentMethods' + | 'ssoStatus' + | 'enableSso' + | 'ssoDomain' + | 'ssoConfiguration' + | 'configureAgain' + | 'resetSso'; export type ProfilePageId = 'account' | 'security' | 'organizationGeneral' | 'organizationMembers' | 'billing'; export type UserPreviewId = 'userButton' | 'personalWorkspace'; diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index b7479311b84..89540e65dbe 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -1300,6 +1300,32 @@ export type __internal_LocalizationResource = { title: LocalizationValue; subtitle: LocalizationValue; }; + confirmation: { + statusSection: { + title: LocalizationValue; + activeBadge: LocalizationValue; + inactiveBadge: LocalizationValue; + }; + enableSection: { + title: LocalizationValue; + }; + domainSection: { + title: LocalizationValue; + }; + configurationSection: { + title: LocalizationValue; + ssoUrlLabel: LocalizationValue; + issuerLabel: LocalizationValue; + certificateLabel: LocalizationValue; + configureAgainLink: LocalizationValue; + }; + resetSection: { + title: LocalizationValue; + warning: LocalizationValue; + confirmationFieldLabel: LocalizationValue<'name'>; + submitButton: LocalizationValue; + }; + }; }; apiKeys: { formTitle: LocalizationValue; diff --git a/packages/ui/src/components/ConfigureSSO/steps/ConfirmationStep.tsx b/packages/ui/src/components/ConfigureSSO/steps/ConfirmationStep.tsx index e2947e15342..c3db81f0af8 100644 --- a/packages/ui/src/components/ConfigureSSO/steps/ConfirmationStep.tsx +++ b/packages/ui/src/components/ConfigureSSO/steps/ConfirmationStep.tsx @@ -1,34 +1,319 @@ -import { descriptors, Flow, Text } from '@/customizables'; +import { __internal_useUserEnterpriseConnections, useReverification } from '@clerk/shared/react'; +import { useState } from 'react'; +import { Badge, Col, descriptors, Flex, Flow, Grid, Link, localizationKeys, Text } from '@/customizables'; +import { Action } from '@/elements/Action'; +import { useActionContext } from '@/elements/Action/ActionRoot'; +import { useCardState, withCardStateProvider } from '@/elements/contexts'; +import { Form } from '@/elements/Form'; +import { FormButtons } from '@/elements/FormButtons'; +import type { FormProps } from '@/elements/FormContainer'; +import { FormContainer } from '@/elements/FormContainer'; +import { ProfileSection } from '@/elements/Section'; +import { Switch } from '@/elements/Switch'; +import { mqu } from '@/styledSystem'; +import { handleError } from '@/utils/errorHandler'; +import { useFormControl } from '@/utils/useFormControl'; + +import { useConfigureSSOFlow } from '../ConfigureSSOContext'; import { Step } from '../elements/Step'; import { useWizard } from '../elements/Wizard'; export const ConfirmationStep = (): JSX.Element => { - const { goPrev, isFirstStep } = useWizard(); - return ( - + - - - UI goes here - + ({ paddingInline: t.space.$8, paddingBlock: t.space.$4 })}> + + + + + - - goPrev()} - isDisabled={isFirstStep} - /> - + ); }; + +const SsoStatusSection = (): JSX.Element => { + const { enterpriseConnection } = useConfigureSSOFlow(); + const isActive = !!enterpriseConnection?.active; + + return ( + + + + + + ); +}; + +const EnableSsoSection = (): JSX.Element => { + const { enterpriseConnection } = useConfigureSSOFlow(); + const { updateEnterpriseConnection } = __internal_useUserEnterpriseConnections({ enabled: false }); + const card = useCardState(); + + const [isChecked, setIsChecked] = useState(!!enterpriseConnection?.active); + + const updateActive = useReverification((id: string, active: boolean) => updateEnterpriseConnection(id, { active })); + + const onActiveChange = async (active: boolean) => { + if (card.isLoading) { + return; + } + + card.setError(undefined); + card.setLoading(); + setIsChecked(active); + + try { + // Enterprise connection is guaranteed to be set at this point + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const updated = await updateActive(enterpriseConnection!.id, active); + if (updated) { + setIsChecked(updated.active); + } + } catch (err) { + setIsChecked(!active); + handleError(err as Error, [], card.setError); + } finally { + card.setIdle(); + } + }; + + return ( + + void onActiveChange(active)} + aria-label='Enable SSO' + /> + + ); +}; + +const DomainSection = (): JSX.Element | null => { + const { enterpriseConnection } = useConfigureSSOFlow(); + const domain = enterpriseConnection?.domains?.[0]; + + // A type guard only, domains are guaranteed to be set at this point + if (!domain) { + return null; + } + + return ( + + + {domain} + + + ); +}; + +const ConfigurationDetailsSection = (): JSX.Element => { + const { enterpriseConnection } = useConfigureSSOFlow(); + const { goToStep } = useWizard(); + + // This will later be expanded to support OIDC connections as well + const samlConnection = enterpriseConnection?.samlConnection; + + return ( + + + + + + {samlConnection?.idpSsoUrl} + + + + + {samlConnection?.idpEntityId} + + + + + {samlConnection?.idpCertificate} + + + + ({ marginTop: t.space.$2, paddingInlineStart: 0, marginInline: '-10px' })} + > + goToStep('select-provider')} + variant='ghost' + colorScheme='primary' + localizationKey={localizationKeys('configureSSO.confirmation.configurationSection.configureAgainLink')} + /> + + + + ); +}; + +const ResetConnectionForm = withCardStateProvider((props: FormProps) => { + const { onReset, onSuccess } = props; + const card = useCardState(); + const { enterpriseConnection } = useConfigureSSOFlow(); + const { deleteEnterpriseConnection } = __internal_useUserEnterpriseConnections({ enabled: false }); + const { goToStep } = useWizard(); + + const deleteConnection = useReverification((id: string) => deleteEnterpriseConnection(id)); + + const confirmationField = useFormControl('deleteConfirmation', '', { + type: 'text', + label: localizationKeys('configureSSO.confirmation.resetSection.confirmationFieldLabel', { + name: enterpriseConnection?.name ?? '', + }), + isRequired: true, + placeholder: enterpriseConnection?.name, + }); + + const canSubmit = Boolean(enterpriseConnection?.name && confirmationField.value === enterpriseConnection.name); + + const onSubmit = async () => { + if (!enterpriseConnection || !canSubmit) { + return; + } + + try { + await deleteConnection(enterpriseConnection.id); + onSuccess(); + await goToStep('select-provider'); + } catch (err) { + handleError(err as Error, [confirmationField], card.setError); + } + }; + + return ( + ({ gap: t.space.$0x5 })} + > + + + + + + + + + + + ); +}); + +const ResetConnectionScreen = (): JSX.Element => { + const { close } = useActionContext(); + return ( + + ); +}; + +const ResetConnectionSection = (): JSX.Element => { + return ( + + + + + + + + + + + + + + + + + + ); +}; diff --git a/packages/ui/src/elements/Section.tsx b/packages/ui/src/elements/Section.tsx index d5cc3846248..d5abdc9deb0 100644 --- a/packages/ui/src/elements/Section.tsx +++ b/packages/ui/src/elements/Section.tsx @@ -1,5 +1,5 @@ import type { ProfileSectionId } from '@clerk/shared/types'; -import { forwardRef, isValidElement, useLayoutEffect, useRef, useState } from 'react'; +import { forwardRef, isValidElement } from 'react'; import type { LocalizationKey } from '../customizables'; import { Button, Col, descriptors, Flex, Icon, Spinner, Text } from '../customizables'; @@ -13,21 +13,13 @@ import { Menu, MenuItem, MenuList, MenuTrigger } from './Menu'; type ProfileSectionProps = Omit, 'title'> & { title: LocalizationKey; + titleId?: string; centered?: boolean; id: ProfileSectionId; }; const ProfileSectionRoot = (props: ProfileSectionProps) => { - const { title, centered = true, children, id, sx, ...rest } = props; - const ref = useRef(null); - const [height, setHeight] = useState(0); - - useLayoutEffect(() => { - const element = ref.current; - if (element) { - setHeight(element.clientHeight + element.clientTop || 0); - } - }, []); + const { title, titleId, centered = true, children, id, sx, ...rest } = props; return ( { elementDescriptor={descriptors.profileSectionContent} elementId={descriptors.profileSectionContent.setId(id)} gap={2} - ref={ref} sx={{ minWidth: 0, width: '100%', - '+ *': { - '--clerk-height': `${height}px`, - }, }} > {children} @@ -74,19 +62,16 @@ const ProfileSectionRoot = (props: ProfileSectionProps) => { padding: centered ? undefined : `${t.space.$1x5} 0`, gap: t.space.$1, width: t.space.$66, - alignSelf: height ? 'self-start' : centered ? 'center' : undefined, - marginTop: centered ? 'calc(var(--clerk-height)/2)' : undefined, - transform: height && centered ? 'translateY(-50%)' : undefined, + alignSelf: centered ? 'center' : 'self-start', [mqu.lg]: { alignSelf: 'self-start', - marginTop: 'unset', - transform: 'none', padding: 0, }, })} > & { localizationKey: LocalizationKey; textElementDescriptor?: ElementDescriptor; textElementId?: ElementId; + textId?: string; }; export const SectionHeader = (props: SectionHeaderProps) => { - const { textElementDescriptor, textElementId, localizationKey, ...rest } = props; + const { textElementDescriptor, textElementId, textId, localizationKey, ...rest } = props; return ( void; isDisabled?: boolean; - label: string | LocalizationKey; + label?: string | LocalizationKey; + 'aria-label'?: string; + 'aria-labelledby'?: string; } export const Switch = forwardRef( - ({ isChecked: controlledChecked, defaultChecked, onChange, isDisabled = false, label }, ref) => { + ( + { + id, + isChecked: controlledChecked, + defaultChecked, + onChange, + isDisabled = false, + label, + 'aria-label': ariaLabel, + 'aria-labelledby': ariaLabelledBy, + }, + ref, + ) => { const [internalChecked, setInternalChecked] = useState(!!defaultChecked); const isControlled = controlledChecked !== undefined; const checked = isControlled ? controlledChecked : internalChecked; @@ -28,6 +43,8 @@ export const Switch = forwardRef( onChange?.(e.target.checked); }; + const hasInternalLabel = label !== undefined; + return ( ( > {/* The order of the elements is important here for the focus ring to work. The input is visually hidden, so the focus ring is applied to the span. */} ( })} /> - ({ - paddingInlineStart: t.sizes.$2, - cursor: isDisabled ? 'not-allowed' : 'pointer', - userSelect: 'none', - })} - /> + {hasInternalLabel ? ( + ({ + paddingInlineStart: t.sizes.$2, + cursor: isDisabled ? 'not-allowed' : 'pointer', + userSelect: 'none', + })} + /> + ) : null} ); }, diff --git a/packages/ui/src/elements/contexts/index.tsx b/packages/ui/src/elements/contexts/index.tsx index 11379652372..e323252963a 100644 --- a/packages/ui/src/elements/contexts/index.tsx +++ b/packages/ui/src/elements/contexts/index.tsx @@ -140,7 +140,7 @@ export type FlowMetadata = { | 'configureCreateApp' | 'configureMapAttributes' | 'test-sso' - | 'sso-confirmation'; + | 'ssoConfirmation'; }; const [FlowMetadataCtx, useFlowMetadata] = createContextAndHook('FlowMetadata');