Skip to content

Commit 17397f9

Browse files
authored
refactor(repo): Replace __experimental_PricingTable with PricingTable (#5828)
1 parent 322c43f commit 17397f9

File tree

33 files changed

+114
-107
lines changed

33 files changed

+114
-107
lines changed

.changeset/wicked-baboons-pump.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
'@clerk/tanstack-react-start': patch
3+
'@clerk/chrome-extension': patch
4+
'@clerk/react-router': patch
5+
'@clerk/clerk-js': patch
6+
'@clerk/nextjs': patch
7+
'@clerk/clerk-react': patch
8+
'@clerk/types': patch
9+
'@clerk/clerk-expo': patch
10+
'@clerk/vue': patch
11+
---
12+
13+
Replace \_\_experimental_PricingTable with PricingTable
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { __experimental_PricingTable } from '@clerk/nextjs';
1+
import { PricingTable } from '@clerk/nextjs';
22

3-
export default function PricingTable() {
4-
return <__experimental_PricingTable />;
3+
export default function PricingTablePage() {
4+
return <PricingTable />;
55
}

packages/chrome-extension/src/__tests__/__snapshots__/exports.test.ts.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ exports[`public exports should not include a breaking change 1`] = `
1313
"OrganizationList",
1414
"OrganizationProfile",
1515
"OrganizationSwitcher",
16+
"PricingTable",
1617
"Protect",
1718
"RedirectToCreateOrganization",
1819
"RedirectToOrganizationProfile",
@@ -30,7 +31,6 @@ exports[`public exports should not include a breaking change 1`] = `
3031
"UserButton",
3132
"UserProfile",
3233
"Waitlist",
33-
"__experimental_PricingTable",
3434
"useAuth",
3535
"useClerk",
3636
"useEmailLink",

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import type {
1818
__experimental_CheckoutProps,
1919
__experimental_CommerceNamespace,
2020
__experimental_PlanDetailsProps,
21-
__experimental_PricingTableProps,
2221
__internal_ComponentNavigationContext,
2322
__internal_UserVerificationModalProps,
2423
AuthenticateWithCoinbaseWalletParams,
@@ -51,6 +50,7 @@ import type {
5150
OrganizationResource,
5251
OrganizationSwitcherProps,
5352
PendingSessionResource,
53+
PricingTableProps,
5454
PublicKeyCredentialCreationOptionsWithoutExtensions,
5555
PublicKeyCredentialRequestOptionsWithoutExtensions,
5656
PublicKeyCredentialWithAuthenticatorAssertionResponse,
@@ -175,7 +175,7 @@ const defaultOptions: ClerkOptions = {
175175
signInForceRedirectUrl: undefined,
176176
signUpForceRedirectUrl: undefined,
177177
treatPendingAsSignedOut: true,
178-
checkoutContinueUrl: undefined,
178+
newSubscriptionRedirectUrl: undefined,
179179
};
180180

181181
export class Clerk implements ClerkInterface {
@@ -1006,7 +1006,7 @@ export class Clerk implements ClerkInterface {
10061006
void this.#componentControls?.ensureMounted().then(controls => controls.unmountComponent({ node }));
10071007
};
10081008

1009-
public __experimental_mountPricingTable = (node: HTMLDivElement, props?: __experimental_PricingTableProps): void => {
1009+
public __experimental_mountPricingTable = (node: HTMLDivElement, props?: PricingTableProps): void => {
10101010
this.assertComponentsReady(this.#componentControls);
10111011
if (disabledBillingFeature(this, this.environment)) {
10121012
if (this.#instanceType === 'development') {
@@ -1378,12 +1378,12 @@ export class Clerk implements ClerkInterface {
13781378
return this.buildUrlWithAuth(this.#options.afterSignOutUrl);
13791379
}
13801380

1381-
public buildCheckoutContinueUrl(): string {
1382-
if (!this.#options.checkoutContinueUrl) {
1381+
public buildNewSubscriptionRedirectUrl(): string {
1382+
if (!this.#options.newSubscriptionRedirectUrl) {
13831383
return this.buildAfterSignInUrl();
13841384
}
13851385

1386-
return this.#options.checkoutContinueUrl;
1386+
return this.#options.newSubscriptionRedirectUrl;
13871387
}
13881388

13891389
public buildWaitlistUrl(options?: { initialValues?: Record<string, string> }): string {

packages/clerk-js/src/ui/components/Checkout/CheckoutComplete.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ export const CheckoutComplete = ({
1919
}) => {
2020
const router = useRouter();
2121
const { setIsOpen } = useDrawerContext();
22-
const { checkoutContinueUrl } = useCheckoutContext();
22+
const { newSubscriptionRedirectUrl } = useCheckoutContext();
2323

2424
const handleClose = () => {
25-
if (checkoutContinueUrl) {
26-
void router.navigate(checkoutContinueUrl);
25+
if (newSubscriptionRedirectUrl) {
26+
void router.navigate(newSubscriptionRedirectUrl);
2727
}
2828
if (setIsOpen) {
2929
setIsOpen(false);

packages/clerk-js/src/ui/components/OrganizationProfile/OrganizationBillingPage.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {
2-
__experimental_PricingTableContext,
32
InvoicesContextProvider,
43
PlansContextProvider,
4+
PricingTableContext,
55
SubscriberTypeContext,
66
useSubscriptions,
77
} from '../../contexts';
@@ -21,7 +21,7 @@ import { useTabState } from '../../hooks/useTabState';
2121
import { useRouter } from '../../router';
2222
import { InvoicesList } from '../Invoices';
2323
import { __experimental_PaymentSources } from '../PaymentSources/PaymentSources';
24-
import { __experimental_PricingTable } from '../PricingTable';
24+
import { PricingTable } from '../PricingTable';
2525
import { SubscriptionsList } from '../Subscriptions';
2626

2727
const orgTabMap = {
@@ -94,9 +94,9 @@ const OrganizationBillingPageInternal = withCardStateProvider(() => {
9494
<__experimental_PaymentSources />
9595
</Flex>
9696
) : (
97-
<__experimental_PricingTableContext.Provider value={{ componentName: 'PricingTable', mode: 'modal' }}>
98-
<__experimental_PricingTable />
99-
</__experimental_PricingTableContext.Provider>
97+
<PricingTableContext.Provider value={{ componentName: 'PricingTable', mode: 'modal' }}>
98+
<PricingTable />
99+
</PricingTableContext.Provider>
100100
)}
101101
</TabPanel>
102102
<TabPanel sx={{ width: '100%' }}>

packages/clerk-js/src/ui/components/OrganizationProfile/OrganizationPlansPage.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { __experimental_PricingTableContext, PlansContextProvider, SubscriberTypeContext } from '../../contexts';
1+
import { PlansContextProvider, PricingTableContext, SubscriberTypeContext } from '../../contexts';
22
import { Header } from '../../elements';
33
import { useRouter } from '../../router';
4-
import { __experimental_PricingTable } from '../PricingTable/PricingTable';
4+
import { PricingTable } from '../PricingTable/PricingTable';
55

66
const OrganizationPlansPageInternal = () => {
77
const { navigate } = useRouter();
@@ -17,9 +17,9 @@ const OrganizationPlansPageInternal = () => {
1717
</Header.BackLink>
1818
</Header.Root>
1919

20-
<__experimental_PricingTableContext.Provider value={{ componentName: 'PricingTable', mode: 'modal' }}>
21-
<__experimental_PricingTable />
22-
</__experimental_PricingTableContext.Provider>
20+
<PricingTableContext.Provider value={{ componentName: 'PricingTable', mode: 'modal' }}>
21+
<PricingTable />
22+
</PricingTableContext.Provider>
2323
</>
2424
);
2525
};

packages/clerk-js/src/ui/components/PricingTable/PricingTable.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useClerk, useOrganization, useUser } from '@clerk/shared/react';
22
import type {
33
__experimental_CommercePlanResource,
44
__experimental_CommerceSubscriptionPlanPeriod,
5-
__experimental_PricingTableProps,
5+
PricingTableProps,
66
} from '@clerk/types';
77
import { useState } from 'react';
88

@@ -12,7 +12,7 @@ import { useFetch } from '../../hooks/useFetch';
1212
import { PricingTableDefault } from './PricingTableDefault';
1313
import { PricingTableMatrix } from './PricingTableMatrix';
1414

15-
const PricingTableRoot = (props: __experimental_PricingTableProps) => {
15+
const PricingTableRoot = (props: PricingTableProps) => {
1616
const clerk = useClerk();
1717
const { mode = 'mounted' } = usePricingTableContext();
1818
const subscriberType = useSubscriberTypeContext();
@@ -74,7 +74,7 @@ const PricingTableRoot = (props: __experimental_PricingTableProps) => {
7474

7575
// When used in a modal, we need to wrap the root in a div to avoid layout issues
7676
// within UserProfile and OrganizationProfile.
77-
const PricingTableModal = (props: __experimental_PricingTableProps) => {
77+
const PricingTableModal = (props: PricingTableProps) => {
7878
return (
7979
// TODO: Used by InvisibleRootBox, can we simplify?
8080
<div>
@@ -83,10 +83,8 @@ const PricingTableModal = (props: __experimental_PricingTableProps) => {
8383
);
8484
};
8585

86-
const PricingTable = (props: __experimental_PricingTableProps) => {
86+
export const PricingTable = (props: PricingTableProps) => {
8787
const { mode = 'mounted' } = usePricingTableContext();
8888

8989
return mode === 'modal' ? <PricingTableModal {...props} /> : <PricingTableRoot {...props} />;
9090
};
91-
92-
export const __experimental_PricingTable = PricingTable;

packages/clerk-js/src/ui/components/PricingTable/PricingTableDefault.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useClerk } from '@clerk/shared/react';
22
import type {
33
__experimental_CommercePlanResource,
44
__experimental_CommerceSubscriptionPlanPeriod,
5-
__experimental_PricingTableProps,
5+
PricingTableProps,
66
} from '@clerk/types';
77
import * as React from 'react';
88

@@ -35,7 +35,7 @@ interface PricingTableDefaultProps {
3535
setPlanPeriod: (val: __experimental_CommerceSubscriptionPlanPeriod) => void;
3636
onSelect: (plan: __experimental_CommercePlanResource) => void;
3737
isCompact?: boolean;
38-
props: __experimental_PricingTableProps;
38+
props: PricingTableProps;
3939
}
4040

4141
export function PricingTableDefault({
@@ -96,7 +96,7 @@ interface CardProps {
9696
setPlanPeriod: (p: __experimental_CommerceSubscriptionPlanPeriod) => void;
9797
onSelect: (plan: __experimental_CommercePlanResource, event?: React.MouseEvent<HTMLElement>) => void;
9898
isCompact?: boolean;
99-
props: __experimental_PricingTableProps;
99+
props: PricingTableProps;
100100
}
101101

102102
function Card(props: CardProps) {

packages/clerk-js/src/ui/components/UserProfile/BillingPage.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {
2-
__experimental_PricingTableContext,
32
InvoicesContextProvider,
43
PlansContextProvider,
4+
PricingTableContext,
55
SubscriberTypeContext,
66
useSubscriptions,
77
} from '../../contexts';
@@ -21,7 +21,7 @@ import { useTabState } from '../../hooks/useTabState';
2121
import { useRouter } from '../../router';
2222
import { InvoicesList } from '../Invoices';
2323
import { __experimental_PaymentSources } from '../PaymentSources';
24-
import { __experimental_PricingTable } from '../PricingTable';
24+
import { PricingTable } from '../PricingTable';
2525
import { SubscriptionsList } from '../Subscriptions';
2626

2727
const tabMap = {
@@ -96,9 +96,9 @@ const BillingPageInternal = withCardStateProvider(() => {
9696
<__experimental_PaymentSources />
9797
</Flex>
9898
) : (
99-
<__experimental_PricingTableContext.Provider value={{ componentName: 'PricingTable', mode: 'modal' }}>
100-
<__experimental_PricingTable />
101-
</__experimental_PricingTableContext.Provider>
99+
<PricingTableContext.Provider value={{ componentName: 'PricingTable', mode: 'modal' }}>
100+
<PricingTable />
101+
</PricingTableContext.Provider>
102102
)}
103103
</TabPanel>
104104
<TabPanel sx={{ width: '100%' }}>

0 commit comments

Comments
 (0)