Skip to content

Commit 6eaf4d6

Browse files
authored
feat(ui): Remove <ConfigureSSO /> from experimental (#8588)
1 parent c0b1f31 commit 6eaf4d6

24 files changed

Lines changed: 101 additions & 91 deletions

File tree

.changeset/busy-sloths-joke.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
'@clerk/tanstack-react-start': minor
3+
'@clerk/react-router': minor
4+
'@clerk/clerk-js': minor
5+
'@clerk/nextjs': minor
6+
'@clerk/shared': minor
7+
'@clerk/astro': minor
8+
'@clerk/react': minor
9+
'@clerk/nuxt': minor
10+
'@clerk/vue': minor
11+
'@clerk/ui': minor
12+
---
13+
14+
Remove `<ConfigureSSO />` from experimental path

packages/astro/src/astro-components/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ export { default as Waitlist } from './interactive/Waitlist.astro';
3131
export { default as OAuthConsent } from './interactive/OAuthConsent.astro';
3232
export { default as PricingTable } from './interactive/PricingTable.astro';
3333
export { default as APIKeys } from './interactive/APIKeys.astro';
34-
export { default as __experimental_ConfigureSSO } from './interactive/ConfigureSSO.astro';
34+
export { default as ConfigureSSO } from './interactive/ConfigureSSO.astro';

packages/astro/src/astro-components/interactive/ConfigureSSO.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
import type { __experimental_ConfigureSSOProps } from '@clerk/shared/types';
3-
type Props = __experimental_ConfigureSSOProps;
2+
import type { ConfigureSSOProps } from '@clerk/shared/types';
3+
type Props = ConfigureSSOProps;
44
55
import InternalUIComponentRenderer from './InternalUIComponentRenderer.astro';
66
---

packages/astro/src/internal/mount-clerk-astro-js-components.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const mountAllClerkAstroJSComponents = () => {
2121
waitlist: 'mountWaitlist',
2222
'pricing-table': 'mountPricingTable',
2323
'api-keys': 'mountAPIKeys',
24-
'configure-sso': '__experimental_mountConfigureSSO',
24+
'configure-sso': 'mountConfigureSSO',
2525
} as const satisfies Record<InternalUIComponentId, keyof Clerk>;
2626

2727
Object.entries(mountFns).forEach(([category, mountFn]) => {

packages/clerk-js/sandbox/app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ void (async () => {
471471
Clerk.mountAPIKeys(app, componentControls.apiKeys.getProps() ?? {});
472472
},
473473
'/configure-sso': () => {
474-
Clerk.__experimental_mountConfigureSSO(app, componentControls.configureSSO.getProps() ?? {});
474+
Clerk.mountConfigureSSO(app, componentControls.configureSSO.getProps() ?? {});
475475
},
476476
'/oauth-consent': () => {
477477
const searchParams = new URLSearchParams(window.location.search);

packages/clerk-js/src/core/clerk.ts

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ import {
5555
} from '@clerk/shared/telemetry';
5656
import type {
5757
__experimental_CheckoutOptions,
58-
__experimental_ConfigureSSOProps,
5958
__internal_AttemptToEnableEnvironmentSettingParams,
6059
__internal_AttemptToEnableEnvironmentSettingResult,
6160
__internal_CheckoutProps,
@@ -80,6 +79,7 @@ import type {
8079
ClerkOptions,
8180
ClientJSONSnapshot,
8281
ClientResource,
82+
ConfigureSSOProps,
8383
CreateOrganizationParams,
8484
CreateOrganizationProps,
8585
CredentialReturn,
@@ -1458,11 +1458,10 @@ export class Clerk implements ClerkInterface {
14581458
/**
14591459
* Mount a configure SSO component at the target element.
14601460
*
1461-
* @experimental
14621461
* @param targetNode Target to mount the ConfigureSSO component.
14631462
* @param props Configuration parameters.
14641463
*/
1465-
public __experimental_mountConfigureSSO = (node: HTMLDivElement, props?: __experimental_ConfigureSSOProps) => {
1464+
public mountConfigureSSO = (node: HTMLDivElement, props?: ConfigureSSOProps) => {
14661465
if (disabledSelfServeSSOFeature(this, this.environment)) {
14671466
if (this.#instanceType === 'development') {
14681467
throw new ClerkRuntimeError(warnings.cannotRenderConfigureSSOComponentWhenDisabled, {
@@ -1497,7 +1496,7 @@ export class Clerk implements ClerkInterface {
14971496
.then(controls =>
14981497
controls.mountComponent({
14991498
name: component,
1500-
appearanceKey: '__experimental_configureSSO',
1499+
appearanceKey: 'configureSSO',
15011500
node,
15021501
props,
15031502
}),
@@ -1510,13 +1509,26 @@ export class Clerk implements ClerkInterface {
15101509
* Unmount a configure SSO component from the target element.
15111510
* If there is no component mounted at the target node, results in a noop.
15121511
*
1513-
* @experimental
15141512
* @param targetNode Target node to unmount the ConfigureSSO component from.
15151513
*/
1516-
public __experimental_unmountConfigureSSO = (node: HTMLDivElement) => {
1514+
public unmountConfigureSSO = (node: HTMLDivElement) => {
15171515
void this.#clerkUI?.then(ui => ui.ensureMounted()).then(controls => controls.unmountComponent({ node }));
15181516
};
15191517

1518+
/**
1519+
* @deprecated Use `mountConfigureSSO` instead.
1520+
*/
1521+
public __experimental_mountConfigureSSO = (node: HTMLDivElement, props?: ConfigureSSOProps) => {
1522+
return this.mountConfigureSSO(node, props);
1523+
};
1524+
1525+
/**
1526+
* @deprecated Use `unmountConfigureSSO` instead.
1527+
*/
1528+
public __experimental_unmountConfigureSSO = (node: HTMLDivElement) => {
1529+
return this.unmountConfigureSSO(node);
1530+
};
1531+
15201532
public mountTaskChooseOrganization = (node: HTMLDivElement, props?: TaskChooseOrganizationProps) => {
15211533
const { isEnabled: isOrganizationsEnabled } = this.__internal_attemptToEnableEnvironmentSetting({
15221534
for: 'organizations',

packages/nextjs/src/client-boundary/uiComponents.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { useEnforceCorrectRoutingProps } from './hooks/useEnforceRoutingProps';
1313

1414
export {
1515
APIKeys,
16+
ConfigureSSO,
1617
CreateOrganization,
1718
GoogleOneTap,
1819
HandleSSOCallback,

packages/nextjs/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export {
2323
*/
2424
export {
2525
APIKeys,
26+
ConfigureSSO,
2627
CreateOrganization,
2728
GoogleOneTap,
2829
OAuthConsent,

packages/nuxt/src/module.ts

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -190,29 +190,14 @@ export default defineNuxtModule<ModuleOptions>({
190190
'Waitlist',
191191
// API Keys
192192
'APIKeys',
193-
];
194-
otherComponents.forEach(component => {
195-
void addComponent({
196-
name: component,
197-
export: component,
198-
filePath: '@clerk/vue',
199-
});
200-
});
201-
202-
/**
203-
* Experimental components from `@clerk/vue/experimental`.
204-
* @experimental These components and their prop types are unstable and may change in future releases.
205-
*/
206-
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
207-
const experimentalComponents: Array<keyof typeof import('@clerk/vue/experimental')> = [
208193
// SSO
209194
'ConfigureSSO',
210195
];
211-
experimentalComponents.forEach(component => {
196+
otherComponents.forEach(component => {
212197
void addComponent({
213198
name: component,
214199
export: component,
215-
filePath: '@clerk/vue/experimental',
200+
filePath: '@clerk/vue',
216201
});
217202
});
218203
},

packages/nuxt/src/runtime/components/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export {
44
UserAvatar,
55
UserButton,
66
OrganizationSwitcher,
7+
ConfigureSSO,
78
GoogleOneTap,
89
OAuthConsent,
910
Waitlist,

0 commit comments

Comments
 (0)