diff --git a/.changeset/late-geckos-impress.md b/.changeset/late-geckos-impress.md new file mode 100644 index 00000000000..31785656004 --- /dev/null +++ b/.changeset/late-geckos-impress.md @@ -0,0 +1,9 @@ +--- +'@clerk/clerk-js': minor +'@clerk/types': minor +--- + +Accept `skipInvitationScreen` as a prop from OrganizationSwitcher. + +`skipInvitationScreen` hides the screen for sending invitations after an organization is created. +By default, Clerk will automatically hide the screen if the number of max allowed members is equal to 1 diff --git a/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx b/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx index 7059868d528..e7e8b623313 100644 --- a/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx +++ b/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx @@ -48,6 +48,7 @@ export const OrganizationSwitcherPopover = React.forwardRef { diff --git a/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx b/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx index 3755eea4d11..47703462786 100644 --- a/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx +++ b/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx @@ -335,6 +335,7 @@ export const useOrganizationSwitcherContext = () => { hidePersonal: ctx.hidePersonal || false, organizationProfileMode: organizationProfileMode || 'modal', createOrganizationMode: createOrganizationMode || 'modal', + skipInvitationScreen: ctx.skipInvitationScreen || false, afterCreateOrganizationUrl, afterLeaveOrganizationUrl, navigateOrganizationProfile, diff --git a/packages/types/src/clerk.ts b/packages/types/src/clerk.ts index a5c5e46582c..ddf766ad244 100644 --- a/packages/types/src/clerk.ts +++ b/packages/types/src/clerk.ts @@ -853,7 +853,6 @@ export type OrganizationSwitcherProps = CreateOrganizationMode & afterSelectOrganizationUrl?: | ((organization: OrganizationResource) => string) | LooseExtractedParams>; - /** * Full URL or path to navigate after a successful selection of personal workspace. * Accepts a function that returns URL or path @@ -865,13 +864,18 @@ export type OrganizationSwitcherProps = CreateOrganizationMode & * @default undefined */ afterLeaveOrganizationUrl?: string; + /** + * Hides the screen for sending invitations after an organization is created. + * @default undefined When left undefined Clerk will automatically hide the screen if + * the number of max allowed members is equal to 1 + */ + skipInvitationScreen?: boolean; /** * Customisation options to fully match the Clerk components to your own brand. * These options serve as overrides and will be merged with the global `appearance` * prop of ClerkProvided (if one is provided) */ appearance?: OrganizationSwitcherTheme; - /* * Specify options for the underlying component. * e.g.