@clerk/ui 1.0.0-snapshot.v20251211120550 → 1.0.0-snapshot.v20251215210631
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{207_ui_a492c4_1.0.0-snapshot.v20251211120550.js → 207_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{217_ui_a492c4_1.0.0-snapshot.v20251211120550.js → 217_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{360_ui_a492c4_1.0.0-snapshot.v20251211120550.js → 360_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{444_ui_a492c4_1.0.0-snapshot.v20251211120550.js → 444_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{573_ui_a492c4_1.0.0-snapshot.v20251211120550.js → 573_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{970_ui_a492c4_1.0.0-snapshot.v20251211120550.js → 970_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/ClerkUi.js +2 -2
- package/dist/Components.js +7 -0
- package/dist/Components.js.map +1 -1
- package/dist/{apiKeys_ui_a492c4_1.0.0-snapshot.v20251211120550.js → apiKeys_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{checkout_ui_a492c4_1.0.0-snapshot.v20251211120550.js → checkout_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +2 -2
- package/dist/common/EmailLinkVerify.js +1 -1
- package/dist/common/Gate.js +1 -1
- package/dist/common/RemoveResourceForm.js +1 -1
- package/dist/common/SSOCallback.js +1 -1
- package/dist/common/withRedirect.js +1 -1
- package/dist/components/APIKeys/APIKeys.js +1 -1
- package/dist/components/APIKeys/RevokeAPIKeyConfirmationModal.js +1 -1
- package/dist/components/Checkout/CheckoutComplete.js +1 -1
- package/dist/components/Checkout/CheckoutForm.js +1 -1
- package/dist/components/Checkout/CheckoutPage.js +1 -1
- package/dist/components/Checkout/parts.js +1 -1
- package/dist/components/CreateOrganization/CreateOrganizationForm.js +1 -1
- package/dist/components/CreateOrganization/CreateOrganizationPage.js +1 -1
- package/dist/components/ImpersonationFab/index.js +1 -1
- package/dist/components/OAuthConsent/OAuthConsent.js +1 -1
- package/dist/components/OrganizationList/UserInvitationList.js +1 -1
- package/dist/components/OrganizationList/UserMembershipList.js +1 -1
- package/dist/components/OrganizationList/UserSuggestionList.js +1 -1
- package/dist/components/OrganizationProfile/ActionConfirmationPage.js +1 -1
- package/dist/components/OrganizationProfile/ActiveMembersList.js +1 -1
- package/dist/components/OrganizationProfile/AddDomainForm.js +1 -1
- package/dist/components/OrganizationProfile/DomainList.js +1 -1
- package/dist/components/OrganizationProfile/InviteMembersForm.js +1 -1
- package/dist/components/OrganizationProfile/InviteMembersScreen.js +1 -1
- package/dist/components/OrganizationProfile/InvitedMembersList.js +1 -1
- package/dist/components/OrganizationProfile/OrganizationAPIKeysPage.js +1 -1
- package/dist/components/OrganizationProfile/OrganizationGeneralPage.js +1 -1
- package/dist/components/OrganizationProfile/OrganizationMembers.js +1 -1
- package/dist/components/OrganizationProfile/OrganizationProfileNavbar.js +1 -1
- package/dist/components/OrganizationProfile/ProfileForm.js +1 -1
- package/dist/components/OrganizationProfile/RemoveDomainForm.js +1 -1
- package/dist/components/OrganizationProfile/RequestToJoinList.js +1 -1
- package/dist/components/OrganizationProfile/VerifiedDomainForm.js +1 -1
- package/dist/components/OrganizationProfile/VerifyDomainForm.js +1 -1
- package/dist/components/OrganizationProfile/index.js +1 -1
- package/dist/components/OrganizationSwitcher/OrganizationSwitcherPopover.js +6 -3
- package/dist/components/OrganizationSwitcher/OrganizationSwitcherPopover.js.map +1 -1
- package/dist/components/OrganizationSwitcher/OrganizationSwitcherTrigger.js +1 -1
- package/dist/components/OrganizationSwitcher/UserInvitationSuggestionList.js +1 -1
- package/dist/components/OrganizationSwitcher/UserMembershipList.js +1 -1
- package/dist/components/PaymentMethods/AddPaymentMethod.js +1 -1
- package/dist/components/PaymentMethods/PaymentMethods.js +1 -1
- package/dist/components/PricingTable/PricingTable.js +3 -2
- package/dist/components/PricingTable/PricingTable.js.map +1 -1
- package/dist/components/PricingTable/PricingTableDefault.js +1 -1
- package/dist/components/SessionTasks/index.js +1 -1
- package/dist/components/SessionTasks/tasks/TaskChooseOrganization/ChooseOrganizationScreen.js +1 -1
- package/dist/components/SessionTasks/tasks/TaskChooseOrganization/CreateOrganizationScreen.js +1 -1
- package/dist/components/SessionTasks/tasks/TaskChooseOrganization/index.js +1 -1
- package/dist/components/SessionTasks/tasks/TaskResetPassword/index.js +1 -1
- package/dist/components/SignIn/SignInClientTrust.js +49 -0
- package/dist/components/SignIn/SignInClientTrust.js.map +1 -0
- package/dist/components/SignIn/SignInFactorOne.js +1 -1
- package/dist/components/SignIn/SignInFactorOneAlternativeChannelCodeForm.js +1 -1
- package/dist/components/SignIn/SignInFactorOneCodeForm.js +1 -1
- package/dist/components/SignIn/SignInFactorOneEmailLinkCard.js +1 -1
- package/dist/components/SignIn/SignInFactorOnePasswordCard.js +4 -3
- package/dist/components/SignIn/SignInFactorOnePasswordCard.js.map +1 -1
- package/dist/components/SignIn/SignInFactorTwo.js +3 -22
- package/dist/components/SignIn/SignInFactorTwo.js.map +1 -1
- package/dist/components/SignIn/SignInFactorTwoBackupCodeCard.js +1 -1
- package/dist/components/SignIn/SignInFactorTwoCodeForm.js +3 -3
- package/dist/components/SignIn/SignInFactorTwoCodeForm.js.map +1 -1
- package/dist/components/SignIn/SignInFactorTwoEmailLinkCard.js +2 -2
- package/dist/components/SignIn/SignInFactorTwoEmailLinkCard.js.map +1 -1
- package/dist/components/SignIn/SignInSocialButtons.js +1 -1
- package/dist/components/SignIn/SignInStart.js +3 -1
- package/dist/components/SignIn/SignInStart.js.map +1 -1
- package/dist/components/SignIn/index.js +6 -1
- package/dist/components/SignIn/index.js.map +1 -1
- package/dist/components/SignIn/shared.js +1 -1
- package/dist/components/SignIn/useSecondFactorSelection.js +35 -0
- package/dist/components/SignIn/useSecondFactorSelection.js.map +1 -0
- package/dist/components/SignUp/SignUpContinue.js +1 -1
- package/dist/components/SignUp/SignUpEmailLinkCard.js +1 -1
- package/dist/components/SignUp/SignUpRestrictedAccess.js +1 -1
- package/dist/components/SignUp/SignUpSocialButtons.js +1 -1
- package/dist/components/SignUp/SignUpStart.js +1 -1
- package/dist/components/SignUp/SignUpVerificationCodeForm.js +1 -1
- package/dist/components/SignUp/index.js +1 -1
- package/dist/components/SubscriptionDetails/index.js +1 -1
- package/dist/components/UserButton/UserButtonPopover.js +1 -1
- package/dist/components/UserButton/UserButtonTopLevelIdentifier.js +1 -1
- package/dist/components/UserButton/UserButtonTrigger.js +1 -1
- package/dist/components/UserButton/useMultisessionActions.js +7 -2
- package/dist/components/UserButton/useMultisessionActions.js.map +1 -1
- package/dist/components/UserProfile/APIKeysPage.js +1 -1
- package/dist/components/UserProfile/AccountPage.js +1 -1
- package/dist/components/UserProfile/ActiveDevicesSection.js +1 -1
- package/dist/components/UserProfile/AddAuthenticatorApp.js +1 -1
- package/dist/components/UserProfile/ConnectedAccountsMenu.js +1 -1
- package/dist/components/UserProfile/ConnectedAccountsSection.js +1 -1
- package/dist/components/UserProfile/DeleteUserForm.js +1 -1
- package/dist/components/UserProfile/EmailForm.js +1 -1
- package/dist/components/UserProfile/EmailsSection.js +1 -1
- package/dist/components/UserProfile/EnterpriseAccountsSection.js +1 -1
- package/dist/components/UserProfile/MfaBackupCodeCreateForm.js +1 -1
- package/dist/components/UserProfile/MfaBackupCodeList.js +1 -1
- package/dist/components/UserProfile/MfaForm.js +1 -1
- package/dist/components/UserProfile/MfaPhoneCodeScreen.js +1 -1
- package/dist/components/UserProfile/MfaSection.js +1 -1
- package/dist/components/UserProfile/PasskeySection.js +1 -1
- package/dist/components/UserProfile/PasswordForm.js +1 -1
- package/dist/components/UserProfile/PasswordSection.js +1 -1
- package/dist/components/UserProfile/PhoneForm.js +1 -1
- package/dist/components/UserProfile/PhoneSection.js +1 -1
- package/dist/components/UserProfile/ProfileForm.js +1 -1
- package/dist/components/UserProfile/RemoveResourceForm.js +1 -1
- package/dist/components/UserProfile/SecurityPage.js +1 -1
- package/dist/components/UserProfile/UserProfileSection.js +1 -1
- package/dist/components/UserProfile/UsernameForm.js +1 -1
- package/dist/components/UserProfile/UsernameSection.js +1 -1
- package/dist/components/UserProfile/VerifyTOTP.js +1 -1
- package/dist/components/UserProfile/Web3Form.js +1 -1
- package/dist/components/UserProfile/Web3Section.js +1 -1
- package/dist/components/UserVerification/UVFactorOneCodeForm.js +1 -1
- package/dist/components/UserVerification/UVFactorOnePasskeysCard.js +1 -1
- package/dist/components/UserVerification/UVFactorTwoBackupCodeCard.js +1 -1
- package/dist/components/UserVerification/UVFactorTwoCodeForm.js +1 -1
- package/dist/components/UserVerification/UVFactorTwoPhoneCodeCard.js +1 -1
- package/dist/components/UserVerification/UserVerificationFactorOnePassword.js +1 -1
- package/dist/components/UserVerification/UserVerificationFactorTwo.js +4 -20
- package/dist/components/UserVerification/UserVerificationFactorTwo.js.map +1 -1
- package/dist/components/UserVerification/useUserVerificationSession.js +1 -1
- package/dist/components/Waitlist/WaitlistForm.js +1 -1
- package/dist/components/Waitlist/index.js +1 -1
- package/dist/components/devPrompts/EnableOrganizationsPrompt/index.js +1 -1
- package/dist/components/devPrompts/KeylessPrompt/index.js +1 -1
- package/dist/contexts/CoreClerkContextWrapper.js +1 -1
- package/dist/contexts/CoreSessionContext.js +1 -1
- package/dist/contexts/CoreUserContext.js +1 -1
- package/dist/{createorganization_ui_a492c4_1.0.0-snapshot.v20251211120550.js → createorganization_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/customizables/AppearanceContext.js +1 -1
- package/dist/elements/Action/ActionRoot.js +1 -1
- package/dist/elements/CodeControl.js +1 -1
- package/dist/elements/Drawer.js +8 -2
- package/dist/elements/Drawer.js.map +1 -1
- package/dist/elements/Form.js +1 -1
- package/dist/elements/Menu.js +3 -2
- package/dist/elements/Menu.js.map +1 -1
- package/dist/elements/Modal.js +3 -2
- package/dist/elements/Modal.js.map +1 -1
- package/dist/elements/Navbar.js +1 -1
- package/dist/elements/PhoneInput/index.js +1 -1
- package/dist/elements/Popover.js +4 -1
- package/dist/elements/Popover.js.map +1 -1
- package/dist/elements/Select.js +1 -1
- package/dist/elements/SocialButtons.js +1 -1
- package/dist/elements/Tabs.js +1 -1
- package/dist/elements/TimerButton.js +1 -1
- package/dist/elements/Tooltip.js +29 -24
- package/dist/elements/Tooltip.js.map +1 -1
- package/dist/elements/contexts/index.js +1 -1
- package/dist/{enableOrganizationsPrompt_ui_a492c4_1.0.0-snapshot.v20251211120550.js → enableOrganizationsPrompt_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/foundations/defaultFoundations.d.ts +153 -153
- package/dist/{impersonationfab_ui_a492c4_1.0.0-snapshot.v20251211120550.js → impersonationfab_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/index.js +1 -1
- package/dist/{keylessPrompt_ui_a492c4_1.0.0-snapshot.v20251211120550.js → keylessPrompt_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/lazyModules/MountedCheckoutDrawer.js +1 -1
- package/dist/lazyModules/MountedPlanDetailDrawer.js +1 -1
- package/dist/lazyModules/MountedSubscriptionDetailDrawer.js +1 -1
- package/dist/lazyModules/providers.js +24 -17
- package/dist/lazyModules/providers.js.map +1 -1
- package/dist/{oauthConsent_ui_a492c4_1.0.0-snapshot.v20251211120550.js → oauthConsent_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{onetap_ui_a492c4_1.0.0-snapshot.v20251211120550.js → onetap_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{op-api-keys-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → op-api-keys-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{organizationlist_ui_a492c4_1.0.0-snapshot.v20251211120550.js → organizationlist_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/organizationprofile_ui_01c6bf_1.0.0-snapshot.v20251215210631.js +1 -0
- package/dist/organizationswitcher_ui_01c6bf_1.0.0-snapshot.v20251215210631.js +1 -0
- package/dist/{payment-attempt-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → payment-attempt-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{planDetails_ui_a492c4_1.0.0-snapshot.v20251211120550.js → planDetails_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{prefetchorganizationlist_ui_a492c4_1.0.0-snapshot.v20251211120550.js → prefetchorganizationlist_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{pricingTable_ui_a492c4_1.0.0-snapshot.v20251211120550.js → pricingTable_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/primitives/hooks/useFormField.js +1 -1
- package/dist/{revoke-api-key-modal_ui_a492c4_1.0.0-snapshot.v20251211120550.js → revoke-api-key-modal_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/router/BaseRouter.js +1 -1
- package/dist/router/PathRouter.js +1 -1
- package/dist/router/Route.js +1 -1
- package/dist/router/VirtualRouter.js +1 -1
- package/dist/{sessionTasks_ui_a492c4_1.0.0-snapshot.v20251211120550.js → sessionTasks_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/signin_ui_01c6bf_1.0.0-snapshot.v20251215210631.js +1 -0
- package/dist/{signup_ui_a492c4_1.0.0-snapshot.v20251211120550.js → signup_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{statement-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → statement-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{subscriptionDetails_ui_a492c4_1.0.0-snapshot.v20251211120550.js → subscriptionDetails_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{taskChooseOrganization_ui_a492c4_1.0.0-snapshot.v20251211120550.js → taskChooseOrganization_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{taskResetPassword_ui_a492c4_1.0.0-snapshot.v20251211120550.js → taskResetPassword_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/ui-common_ui_01c6bf_1.0.0-snapshot.v20251215210631.js +122 -0
- package/dist/ui.browser.js +20 -3
- package/dist/{up-api-keys-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → up-api-keys-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{useravatar_ui_a492c4_1.0.0-snapshot.v20251211120550.js → useravatar_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{userbutton_ui_a492c4_1.0.0-snapshot.v20251211120550.js → userbutton_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/dist/{userprofile_ui_a492c4_1.0.0-snapshot.v20251211120550.js → userprofile_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +2 -2
- package/dist/userverification_ui_01c6bf_1.0.0-snapshot.v20251215210631.js +1 -0
- package/dist/vendors_ui_01c6bf_1.0.0-snapshot.v20251215210631.js +20 -0
- package/dist/{waitlist_ui_a492c4_1.0.0-snapshot.v20251211120550.js → waitlist_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +1 -1
- package/package.json +3 -3
- package/dist/organizationprofile_ui_a492c4_1.0.0-snapshot.v20251211120550.js +0 -1
- package/dist/organizationswitcher_ui_a492c4_1.0.0-snapshot.v20251211120550.js +0 -1
- package/dist/signin_ui_a492c4_1.0.0-snapshot.v20251211120550.js +0 -1
- package/dist/ui-common_ui_a492c4_1.0.0-snapshot.v20251211120550.js +0 -139
- package/dist/userverification_ui_a492c4_1.0.0-snapshot.v20251211120550.js +0 -1
- package/dist/vendors_ui_a492c4_1.0.0-snapshot.v20251211120550.js +0 -20
- /package/dist/{blankcaptcha_ui_a492c4_1.0.0-snapshot.v20251211120550.js → blankcaptcha_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +0 -0
- /package/dist/{copy-api-key-modal_ui_a492c4_1.0.0-snapshot.v20251211120550.js → copy-api-key-modal_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +0 -0
- /package/dist/{framework_ui_a492c4_1.0.0-snapshot.v20251211120550.js → framework_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +0 -0
- /package/dist/{op-billing-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → op-billing-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +0 -0
- /package/dist/{op-plans-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → op-plans-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +0 -0
- /package/dist/{up-billing-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → up-billing-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +0 -0
- /package/dist/{up-plans-page_ui_a492c4_1.0.0-snapshot.v20251211120550.js → up-plans-page_ui_01c6bf_1.0.0-snapshot.v20251215210631.js} +0 -0
|
@@ -12,8 +12,8 @@ import { RemoveDomainScreen } from "./RemoveDomainScreen.js";
|
|
|
12
12
|
import { VerifiedDomainScreen } from "./VerifiedDomainScreen.js";
|
|
13
13
|
import { VerifyDomainScreen } from "./VerifyDomainScreen.js";
|
|
14
14
|
import React, { useMemo } from "react";
|
|
15
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
16
15
|
import { useOrganization } from "@clerk/shared/react";
|
|
16
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
17
|
|
|
18
18
|
//#region src/components/OrganizationProfile/DomainList.tsx
|
|
19
19
|
const useMenuActions = (domain) => {
|
|
@@ -13,9 +13,9 @@ import { TagInput } from "../../elements/TagInput.js";
|
|
|
13
13
|
import { useFetchRoles } from "../../hooks/useFetchRoles.js";
|
|
14
14
|
import { RoleSelect } from "./MemberListTable.js";
|
|
15
15
|
import { useEffect, useState } from "react";
|
|
16
|
+
import { useOrganization } from "@clerk/shared/react";
|
|
16
17
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
18
|
import { isClerkAPIResponseError } from "@clerk/shared/error";
|
|
18
|
-
import { useOrganization } from "@clerk/shared/react";
|
|
19
19
|
|
|
20
20
|
//#region src/components/OrganizationProfile/InviteMembersForm.tsx
|
|
21
21
|
const isEmail = (str) => /^\S+@\S+\.\S+$/.test(str);
|
|
@@ -9,8 +9,8 @@ import { useActionContext } from "../../elements/Action/ActionRoot.js";
|
|
|
9
9
|
import { SuccessPage } from "../../elements/SuccessPage.js";
|
|
10
10
|
import { InviteMembersForm } from "./InviteMembersForm.js";
|
|
11
11
|
import { IconCircle } from "../../elements/IconCircle.js";
|
|
12
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
13
12
|
import { useOrganization } from "@clerk/shared/react";
|
|
13
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
14
14
|
|
|
15
15
|
//#region src/components/OrganizationProfile/InviteMembersScreen.tsx
|
|
16
16
|
const InviteMembersScreen = withCardStateProvider((props) => {
|
|
@@ -7,8 +7,8 @@ import { ThreeDotsMenu } from "../../elements/ThreeDotsMenu.js";
|
|
|
7
7
|
import { useFetchRoles, useLocalizeCustomRoles } from "../../hooks/useFetchRoles.js";
|
|
8
8
|
import { DataTable, RowContainer } from "./MemberListTable.js";
|
|
9
9
|
import { UserPreview } from "../../elements/UserPreview.js";
|
|
10
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
11
10
|
import { useOrganization } from "@clerk/shared/react";
|
|
11
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
12
12
|
|
|
13
13
|
//#region src/components/OrganizationProfile/InvitedMembersList.tsx
|
|
14
14
|
const invitationsParams = { invitations: {
|
|
@@ -5,8 +5,8 @@ import { Col } from "../../customizables/index.js";
|
|
|
5
5
|
import { Header } from "../../elements/Header.js";
|
|
6
6
|
import { APIKeysPage } from "../APIKeys/APIKeys.js";
|
|
7
7
|
import { useUnsafeNavbarContext } from "../../elements/Navbar.js";
|
|
8
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
9
8
|
import { useOrganization } from "@clerk/shared/react";
|
|
9
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
10
10
|
|
|
11
11
|
//#region src/components/OrganizationProfile/OrganizationAPIKeysPage.tsx
|
|
12
12
|
const OrganizationAPIKeysPage = () => {
|
|
@@ -12,8 +12,8 @@ import { DeleteOrganizationForm, LeaveOrganizationForm } from "./ActionConfirmat
|
|
|
12
12
|
import { AddDomainForm } from "./AddDomainForm.js";
|
|
13
13
|
import { DomainList } from "./DomainList.js";
|
|
14
14
|
import { ProfileForm } from "./ProfileForm.js";
|
|
15
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
16
15
|
import { useOrganization } from "@clerk/shared/react";
|
|
16
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
17
|
|
|
18
18
|
//#region src/components/OrganizationProfile/OrganizationGeneralPage.tsx
|
|
19
19
|
const ProfileScreen = () => {
|
|
@@ -17,8 +17,8 @@ import { MembersSearch } from "./MembersSearch.js";
|
|
|
17
17
|
import { OrganizationMembersTabInvitations } from "./OrganizationMembersTabInvitations.js";
|
|
18
18
|
import { OrganizationMembersTabRequests } from "./OrganizationMembersTabRequests.js";
|
|
19
19
|
import { useState } from "react";
|
|
20
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
21
20
|
import { useOrganization } from "@clerk/shared/react";
|
|
21
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
22
22
|
|
|
23
23
|
//#region src/components/OrganizationProfile/OrganizationMembers.tsx
|
|
24
24
|
const ACTIVE_MEMBERS_PAGE_SIZE = 10;
|
|
@@ -4,8 +4,8 @@ import { useProtect } from "../../common/Gate.js";
|
|
|
4
4
|
import { useOrganizationProfileContext } from "../../contexts/components/OrganizationProfile.js";
|
|
5
5
|
import { NavBar, NavbarContextProvider } from "../../elements/Navbar.js";
|
|
6
6
|
import React from "react";
|
|
7
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
8
7
|
import { useOrganization } from "@clerk/shared/react";
|
|
8
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
9
9
|
|
|
10
10
|
//#region src/components/OrganizationProfile/OrganizationProfileNavbar.tsx
|
|
11
11
|
const OrganizationProfileNavbar = (props) => {
|
|
@@ -9,8 +9,8 @@ import { FormContainer } from "../../elements/FormContainer.js";
|
|
|
9
9
|
import { OrganizationProfileAvatarUploader } from "./OrganizationProfileAvatarUploader.js";
|
|
10
10
|
import { isDefaultImage } from "../../utils/image.js";
|
|
11
11
|
import React from "react";
|
|
12
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
13
12
|
import { useOrganization } from "@clerk/shared/react";
|
|
13
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
14
14
|
|
|
15
15
|
//#region src/components/OrganizationProfile/ProfileForm.tsx
|
|
16
16
|
const ProfileForm = withCardStateProvider((props) => {
|
|
@@ -5,8 +5,8 @@ import { descriptors } from "../../customizables/elementDescriptors.js";
|
|
|
5
5
|
import { Flex, Spinner } from "../../customizables/index.js";
|
|
6
6
|
import { RemoveResourceForm } from "../../common/RemoveResourceForm.js";
|
|
7
7
|
import React from "react";
|
|
8
|
-
import { jsx } from "@emotion/react/jsx-runtime";
|
|
9
8
|
import { useOrganization } from "@clerk/shared/react";
|
|
9
|
+
import { jsx } from "@emotion/react/jsx-runtime";
|
|
10
10
|
|
|
11
11
|
//#region src/components/OrganizationProfile/RemoveDomainForm.tsx
|
|
12
12
|
const RemoveDomainForm = (props) => {
|
|
@@ -5,8 +5,8 @@ import { Box, Button, Flex, Td } from "../../customizables/index.js";
|
|
|
5
5
|
import { handleError } from "../../utils/errorHandler.js";
|
|
6
6
|
import { DataTable, RowContainer } from "./MemberListTable.js";
|
|
7
7
|
import { UserPreview } from "../../elements/UserPreview.js";
|
|
8
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
9
8
|
import { useOrganization } from "@clerk/shared/react";
|
|
9
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
10
10
|
|
|
11
11
|
//#region src/components/OrganizationProfile/RequestToJoinList.tsx
|
|
12
12
|
const membershipRequestsParams = { membershipRequests: {
|
|
@@ -13,8 +13,8 @@ import { Form } from "../../elements/Form.js";
|
|
|
13
13
|
import { FormButtons } from "../../elements/FormButtons.js";
|
|
14
14
|
import { FormContainer } from "../../elements/FormContainer.js";
|
|
15
15
|
import { useEffect } from "react";
|
|
16
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
16
|
import { useOrganization } from "@clerk/shared/react";
|
|
17
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
18
18
|
|
|
19
19
|
//#region src/components/OrganizationProfile/VerifiedDomainForm.tsx
|
|
20
20
|
const useCalloutLabel = (domain, { infoLabel: infoLabelKey }) => {
|
|
@@ -13,8 +13,8 @@ import { FormContainer } from "../../elements/FormContainer.js";
|
|
|
13
13
|
import { Wizard, useWizard } from "../../common/Wizard.js";
|
|
14
14
|
import { VerifiedDomainForm } from "./VerifiedDomainForm.js";
|
|
15
15
|
import React, { useRef } from "react";
|
|
16
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
16
|
import { useOrganization } from "@clerk/shared/react";
|
|
17
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
18
18
|
|
|
19
19
|
//#region src/components/OrganizationProfile/VerifyDomainForm.tsx
|
|
20
20
|
const VerifyDomainForm = withCardStateProvider((props) => {
|
|
@@ -12,8 +12,8 @@ import { ProfileCard } from "../../elements/ProfileCard/index.js";
|
|
|
12
12
|
import { OrganizationProfileNavbar } from "./OrganizationProfileNavbar.js";
|
|
13
13
|
import { OrganizationProfileRoutes } from "./OrganizationProfileRoutes.js";
|
|
14
14
|
import React from "react";
|
|
15
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
16
15
|
import { useOrganization } from "@clerk/shared/react";
|
|
16
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
17
|
|
|
18
18
|
//#region src/components/OrganizationProfile/index.tsx
|
|
19
19
|
const _OrganizationProfile = (_) => {
|
|
@@ -14,8 +14,8 @@ import { PopoverCard } from "../../elements/PopoverCard.js";
|
|
|
14
14
|
import { RootBox } from "../../elements/RootBox.js";
|
|
15
15
|
import { OrganizationActionList } from "./OtherOrganizationActions.js";
|
|
16
16
|
import React from "react";
|
|
17
|
+
import { useClerk, useOrganization, useOrganizationList, usePortalRoot, useUser } from "@clerk/shared/react";
|
|
17
18
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
18
|
-
import { useClerk, useOrganization, useOrganizationList, useUser } from "@clerk/shared/react";
|
|
19
19
|
|
|
20
20
|
//#region src/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx
|
|
21
21
|
const OrganizationSwitcherPopover = React.forwardRef((props, ref) => {
|
|
@@ -24,6 +24,7 @@ const OrganizationSwitcherPopover = React.forwardRef((props, ref) => {
|
|
|
24
24
|
const card = useCardState();
|
|
25
25
|
const { __experimental_asStandalone } = useOrganizationSwitcherContext();
|
|
26
26
|
const { openOrganizationProfile, openCreateOrganization } = useClerk();
|
|
27
|
+
const getContainer = usePortalRoot();
|
|
27
28
|
const { organization: currentOrg } = useOrganization();
|
|
28
29
|
const { isLoaded, setActive } = useOrganizationList();
|
|
29
30
|
const { hidePersonal, createOrganizationMode, organizationProfileMode, afterLeaveOrganizationUrl, afterCreateOrganizationUrl, navigateCreateOrganization, navigateOrganizationProfile, afterSelectOrganizationUrl, afterSelectPersonalUrl, organizationProfileProps, skipInvitationScreen } = useOrganizationSwitcherContext();
|
|
@@ -48,7 +49,8 @@ const OrganizationSwitcherPopover = React.forwardRef((props, ref) => {
|
|
|
48
49
|
if (createOrganizationMode === "navigation") return navigateCreateOrganization();
|
|
49
50
|
return openCreateOrganization({
|
|
50
51
|
afterCreateOrganizationUrl,
|
|
51
|
-
skipInvitationScreen
|
|
52
|
+
skipInvitationScreen,
|
|
53
|
+
getContainer
|
|
52
54
|
});
|
|
53
55
|
};
|
|
54
56
|
const handleItemClick = () => {
|
|
@@ -56,7 +58,8 @@ const OrganizationSwitcherPopover = React.forwardRef((props, ref) => {
|
|
|
56
58
|
if (organizationProfileMode === "navigation") return navigateOrganizationProfile();
|
|
57
59
|
return openOrganizationProfile({
|
|
58
60
|
...organizationProfileProps,
|
|
59
|
-
afterLeaveOrganizationUrl
|
|
61
|
+
afterLeaveOrganizationUrl,
|
|
62
|
+
getContainer
|
|
60
63
|
});
|
|
61
64
|
};
|
|
62
65
|
const manageOrganizationButton = /* @__PURE__ */ jsx(SmallAction, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationSwitcherPopover.js","names":["CogFilled","currentOrg"],"sources":["../../../src/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx"],"sourcesContent":["import { useClerk, useOrganization, useOrganizationList, useUser } from '@clerk/shared/react';\nimport type { OrganizationResource } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { Actions, SmallAction } from '@/ui/elements/Actions';\nimport { useCardState } from '@/ui/elements/contexts';\nimport { OrganizationPreview } from '@/ui/elements/OrganizationPreview';\nimport { PersonalWorkspacePreview } from '@/ui/elements/PersonalWorkspacePreview';\nimport { PopoverCard } from '@/ui/elements/PopoverCard';\n\nimport { NotificationCountBadge, withProtect } from '../../common';\nimport { useEnvironment, useOrganizationSwitcherContext } from '../../contexts';\nimport { descriptors, Flex, localizationKeys } from '../../customizables';\nimport { RootBox } from '../../elements/RootBox';\nimport { CogFilled } from '../../icons';\nimport type { PropsOfComponent, ThemableCssProp } from '../../styledSystem';\nimport { OrganizationActionList } from './OtherOrganizationActions';\n\ntype OrganizationSwitcherPopoverProps = { close?: (open: boolean) => void } & PropsOfComponent<typeof PopoverCard.Root>;\n\nexport const OrganizationSwitcherPopover = React.forwardRef<HTMLDivElement, OrganizationSwitcherPopoverProps>(\n (props, ref) => {\n const { close: unsafeClose, ...rest } = props;\n const close = () => unsafeClose?.(false);\n const card = useCardState();\n const { __experimental_asStandalone } = useOrganizationSwitcherContext();\n const { openOrganizationProfile, openCreateOrganization } = useClerk();\n const { organization: currentOrg } = useOrganization();\n const { isLoaded, setActive } = useOrganizationList();\n const {\n hidePersonal,\n createOrganizationMode,\n organizationProfileMode,\n afterLeaveOrganizationUrl,\n afterCreateOrganizationUrl,\n navigateCreateOrganization,\n navigateOrganizationProfile,\n afterSelectOrganizationUrl,\n afterSelectPersonalUrl,\n\n organizationProfileProps,\n skipInvitationScreen,\n } = useOrganizationSwitcherContext();\n\n const { user } = useUser();\n\n if (!user) {\n return null;\n }\n\n const { username, primaryEmailAddress, primaryPhoneNumber, ...userWithoutIdentifiers } = user;\n\n if (!isLoaded) {\n return null;\n }\n\n const handleOrganizationClicked = (organization: OrganizationResource) => {\n return card\n .runAsync(() =>\n setActive({\n organization,\n redirectUrl: afterSelectOrganizationUrl(organization),\n }),\n )\n .then(close);\n };\n\n const handlePersonalWorkspaceClicked = () => {\n return card\n .runAsync(() => setActive({ organization: null, redirectUrl: afterSelectPersonalUrl(user) }))\n .then(close);\n };\n\n const handleCreateOrganizationClicked = () => {\n close();\n if (createOrganizationMode === 'navigation') {\n return navigateCreateOrganization();\n }\n return openCreateOrganization({ afterCreateOrganizationUrl, skipInvitationScreen });\n };\n\n const handleItemClick = () => {\n close();\n if (organizationProfileMode === 'navigation') {\n return navigateOrganizationProfile();\n }\n\n return openOrganizationProfile({\n ...organizationProfileProps,\n afterLeaveOrganizationUrl,\n });\n };\n\n const manageOrganizationButton = (\n <SmallAction\n elementDescriptor={descriptors.organizationSwitcherPopoverActionButton}\n elementId={descriptors.organizationSwitcherPopoverActionButton.setId('manageOrganization')}\n iconBoxElementDescriptor={descriptors.organizationSwitcherPopoverActionButtonIconBox}\n iconBoxElementId={descriptors.organizationSwitcherPopoverActionButtonIconBox.setId('manageOrganization')}\n iconElementDescriptor={descriptors.organizationSwitcherPopoverActionButtonIcon}\n iconElementId={descriptors.organizationSwitcherPopoverActionButtonIcon.setId('manageOrganization')}\n icon={CogFilled}\n label={localizationKeys('organizationSwitcher.action__manageOrganization')}\n onClick={() => handleItemClick()}\n trailing={<NotificationCountBadgeManageButton />}\n focusRing\n />\n );\n\n const selectedOrganizationPreview = (currentOrg: OrganizationResource) => (\n <Flex\n justify='between'\n align='center'\n sx={t => ({\n width: '100%',\n paddingRight: t.space.$5,\n })}\n >\n <OrganizationPreview\n elementId={'organizationSwitcherActiveOrganization'}\n organization={currentOrg}\n user={user}\n mainIdentifierVariant='buttonLarge'\n sx={t => ({\n padding: `${t.space.$4} ${t.space.$5}`,\n })}\n />\n <Actions role='menu'>{manageOrganizationButton}</Actions>\n </Flex>\n );\n\n return (\n <RootBox elementDescriptor={descriptors.organizationSwitcherPopoverRootBox}>\n <PopoverCard.Root\n elementDescriptor={descriptors.organizationSwitcherPopoverCard}\n ref={ref}\n role='dialog'\n aria-label={`${currentOrg?.name} is active`}\n shouldEntryAnimate={!__experimental_asStandalone}\n {...rest}\n >\n <PopoverCard.Content elementDescriptor={descriptors.organizationSwitcherPopoverMain}>\n <Actions\n elementDescriptor={descriptors.organizationSwitcherPopoverActions}\n role='menu'\n >\n {currentOrg\n ? selectedOrganizationPreview(currentOrg)\n : !hidePersonal && (\n <PersonalWorkspacePreview\n user={userWithoutIdentifiers}\n sx={t => ({\n padding: `${t.space.$4} ${t.space.$5}`,\n width: '100%',\n })}\n title={localizationKeys('organizationSwitcher.personalWorkspace')}\n />\n )}\n <OrganizationActionList\n onCreateOrganizationClick={handleCreateOrganizationClicked}\n onPersonalWorkspaceClick={handlePersonalWorkspaceClicked}\n onOrganizationClick={handleOrganizationClicked}\n />\n </Actions>\n </PopoverCard.Content>\n <PopoverCard.Footer elementDescriptor={descriptors.organizationSwitcherPopoverFooter} />\n </PopoverCard.Root>\n </RootBox>\n );\n },\n);\n\nconst NotificationCountBadgeManageButton = withProtect(\n ({ sx }: { sx?: ThemableCssProp }) => {\n const { organizationSettings } = useEnvironment();\n\n const isDomainsEnabled = organizationSettings?.domains?.enabled;\n\n const { membershipRequests } = useOrganization({\n membershipRequests: isDomainsEnabled || undefined,\n });\n\n if (!membershipRequests?.count) {\n return null;\n }\n\n return (\n <NotificationCountBadge\n notificationCount={membershipRequests.count}\n containerSx={sx}\n />\n );\n },\n {\n // if the user is not able to accept a request we should not notify them\n permission: 'org:sys_memberships:manage',\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA,MAAa,8BAA8B,MAAM,YAC9C,OAAO,QAAQ;CACd,MAAM,EAAE,OAAO,YAAa,GAAG,SAAS;CACxC,MAAM,cAAc,cAAc,MAAM;CACxC,MAAM,OAAO,cAAc;CAC3B,MAAM,EAAE,gCAAgC,gCAAgC;CACxE,MAAM,EAAE,yBAAyB,2BAA2B,UAAU;CACtE,MAAM,EAAE,cAAc,eAAe,iBAAiB;CACtD,MAAM,EAAE,UAAU,cAAc,qBAAqB;CACrD,MAAM,EACJ,cACA,wBACA,yBACA,2BACA,4BACA,4BACA,6BACA,4BACA,wBAEA,0BACA,yBACE,gCAAgC;CAEpC,MAAM,EAAE,SAAS,SAAS;AAE1B,KAAI,CAAC,KACH,QAAO;CAGT,MAAM,EAAE,UAAU,qBAAqB,mBAAoB,GAAG,2BAA2B;AAEzF,KAAI,CAAC,SACH,QAAO;CAGT,MAAM,6BAA6B,iBAAuC;AACxE,SAAO,KACJ,eACC,UAAU;GACR;GACA,aAAa,2BAA2B,aAAa;GACtD,CAAC,CACH,CACA,KAAK,MAAM;;CAGhB,MAAM,uCAAuC;AAC3C,SAAO,KACJ,eAAe,UAAU;GAAE,cAAc;GAAM,aAAa,uBAAuB,KAAK;GAAE,CAAC,CAAC,CAC5F,KAAK,MAAM;;CAGhB,MAAM,wCAAwC;AAC5C,SAAO;AACP,MAAI,2BAA2B,aAC7B,QAAO,4BAA4B;AAErC,SAAO,uBAAuB;GAAE;GAA4B;GAAsB,CAAC;;
|
|
1
|
+
{"version":3,"file":"OrganizationSwitcherPopover.js","names":["CogFilled","currentOrg"],"sources":["../../../src/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx"],"sourcesContent":["import { useClerk, useOrganization, useOrganizationList, usePortalRoot, useUser } from '@clerk/shared/react';\nimport type { OrganizationResource } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { Actions, SmallAction } from '@/ui/elements/Actions';\nimport { useCardState } from '@/ui/elements/contexts';\nimport { OrganizationPreview } from '@/ui/elements/OrganizationPreview';\nimport { PersonalWorkspacePreview } from '@/ui/elements/PersonalWorkspacePreview';\nimport { PopoverCard } from '@/ui/elements/PopoverCard';\n\nimport { NotificationCountBadge, withProtect } from '../../common';\nimport { useEnvironment, useOrganizationSwitcherContext } from '../../contexts';\nimport { descriptors, Flex, localizationKeys } from '../../customizables';\nimport { RootBox } from '../../elements/RootBox';\nimport { CogFilled } from '../../icons';\nimport type { PropsOfComponent, ThemableCssProp } from '../../styledSystem';\nimport { OrganizationActionList } from './OtherOrganizationActions';\n\ntype OrganizationSwitcherPopoverProps = { close?: (open: boolean) => void } & PropsOfComponent<typeof PopoverCard.Root>;\n\nexport const OrganizationSwitcherPopover = React.forwardRef<HTMLDivElement, OrganizationSwitcherPopoverProps>(\n (props, ref) => {\n const { close: unsafeClose, ...rest } = props;\n const close = () => unsafeClose?.(false);\n const card = useCardState();\n const { __experimental_asStandalone } = useOrganizationSwitcherContext();\n const { openOrganizationProfile, openCreateOrganization } = useClerk();\n const getContainer = usePortalRoot();\n const { organization: currentOrg } = useOrganization();\n const { isLoaded, setActive } = useOrganizationList();\n const {\n hidePersonal,\n createOrganizationMode,\n organizationProfileMode,\n afterLeaveOrganizationUrl,\n afterCreateOrganizationUrl,\n navigateCreateOrganization,\n navigateOrganizationProfile,\n afterSelectOrganizationUrl,\n afterSelectPersonalUrl,\n\n organizationProfileProps,\n skipInvitationScreen,\n } = useOrganizationSwitcherContext();\n\n const { user } = useUser();\n\n if (!user) {\n return null;\n }\n\n const { username, primaryEmailAddress, primaryPhoneNumber, ...userWithoutIdentifiers } = user;\n\n if (!isLoaded) {\n return null;\n }\n\n const handleOrganizationClicked = (organization: OrganizationResource) => {\n return card\n .runAsync(() =>\n setActive({\n organization,\n redirectUrl: afterSelectOrganizationUrl(organization),\n }),\n )\n .then(close);\n };\n\n const handlePersonalWorkspaceClicked = () => {\n return card\n .runAsync(() => setActive({ organization: null, redirectUrl: afterSelectPersonalUrl(user) }))\n .then(close);\n };\n\n const handleCreateOrganizationClicked = () => {\n close();\n if (createOrganizationMode === 'navigation') {\n return navigateCreateOrganization();\n }\n return openCreateOrganization({ afterCreateOrganizationUrl, skipInvitationScreen, getContainer });\n };\n\n const handleItemClick = () => {\n close();\n if (organizationProfileMode === 'navigation') {\n return navigateOrganizationProfile();\n }\n\n return openOrganizationProfile({\n ...organizationProfileProps,\n afterLeaveOrganizationUrl,\n getContainer,\n });\n };\n\n const manageOrganizationButton = (\n <SmallAction\n elementDescriptor={descriptors.organizationSwitcherPopoverActionButton}\n elementId={descriptors.organizationSwitcherPopoverActionButton.setId('manageOrganization')}\n iconBoxElementDescriptor={descriptors.organizationSwitcherPopoverActionButtonIconBox}\n iconBoxElementId={descriptors.organizationSwitcherPopoverActionButtonIconBox.setId('manageOrganization')}\n iconElementDescriptor={descriptors.organizationSwitcherPopoverActionButtonIcon}\n iconElementId={descriptors.organizationSwitcherPopoverActionButtonIcon.setId('manageOrganization')}\n icon={CogFilled}\n label={localizationKeys('organizationSwitcher.action__manageOrganization')}\n onClick={() => handleItemClick()}\n trailing={<NotificationCountBadgeManageButton />}\n focusRing\n />\n );\n\n const selectedOrganizationPreview = (currentOrg: OrganizationResource) => (\n <Flex\n justify='between'\n align='center'\n sx={t => ({\n width: '100%',\n paddingRight: t.space.$5,\n })}\n >\n <OrganizationPreview\n elementId={'organizationSwitcherActiveOrganization'}\n organization={currentOrg}\n user={user}\n mainIdentifierVariant='buttonLarge'\n sx={t => ({\n padding: `${t.space.$4} ${t.space.$5}`,\n })}\n />\n <Actions role='menu'>{manageOrganizationButton}</Actions>\n </Flex>\n );\n\n return (\n <RootBox elementDescriptor={descriptors.organizationSwitcherPopoverRootBox}>\n <PopoverCard.Root\n elementDescriptor={descriptors.organizationSwitcherPopoverCard}\n ref={ref}\n role='dialog'\n aria-label={`${currentOrg?.name} is active`}\n shouldEntryAnimate={!__experimental_asStandalone}\n {...rest}\n >\n <PopoverCard.Content elementDescriptor={descriptors.organizationSwitcherPopoverMain}>\n <Actions\n elementDescriptor={descriptors.organizationSwitcherPopoverActions}\n role='menu'\n >\n {currentOrg\n ? selectedOrganizationPreview(currentOrg)\n : !hidePersonal && (\n <PersonalWorkspacePreview\n user={userWithoutIdentifiers}\n sx={t => ({\n padding: `${t.space.$4} ${t.space.$5}`,\n width: '100%',\n })}\n title={localizationKeys('organizationSwitcher.personalWorkspace')}\n />\n )}\n <OrganizationActionList\n onCreateOrganizationClick={handleCreateOrganizationClicked}\n onPersonalWorkspaceClick={handlePersonalWorkspaceClicked}\n onOrganizationClick={handleOrganizationClicked}\n />\n </Actions>\n </PopoverCard.Content>\n <PopoverCard.Footer elementDescriptor={descriptors.organizationSwitcherPopoverFooter} />\n </PopoverCard.Root>\n </RootBox>\n );\n },\n);\n\nconst NotificationCountBadgeManageButton = withProtect(\n ({ sx }: { sx?: ThemableCssProp }) => {\n const { organizationSettings } = useEnvironment();\n\n const isDomainsEnabled = organizationSettings?.domains?.enabled;\n\n const { membershipRequests } = useOrganization({\n membershipRequests: isDomainsEnabled || undefined,\n });\n\n if (!membershipRequests?.count) {\n return null;\n }\n\n return (\n <NotificationCountBadge\n notificationCount={membershipRequests.count}\n containerSx={sx}\n />\n );\n },\n {\n // if the user is not able to accept a request we should not notify them\n permission: 'org:sys_memberships:manage',\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA,MAAa,8BAA8B,MAAM,YAC9C,OAAO,QAAQ;CACd,MAAM,EAAE,OAAO,YAAa,GAAG,SAAS;CACxC,MAAM,cAAc,cAAc,MAAM;CACxC,MAAM,OAAO,cAAc;CAC3B,MAAM,EAAE,gCAAgC,gCAAgC;CACxE,MAAM,EAAE,yBAAyB,2BAA2B,UAAU;CACtE,MAAM,eAAe,eAAe;CACpC,MAAM,EAAE,cAAc,eAAe,iBAAiB;CACtD,MAAM,EAAE,UAAU,cAAc,qBAAqB;CACrD,MAAM,EACJ,cACA,wBACA,yBACA,2BACA,4BACA,4BACA,6BACA,4BACA,wBAEA,0BACA,yBACE,gCAAgC;CAEpC,MAAM,EAAE,SAAS,SAAS;AAE1B,KAAI,CAAC,KACH,QAAO;CAGT,MAAM,EAAE,UAAU,qBAAqB,mBAAoB,GAAG,2BAA2B;AAEzF,KAAI,CAAC,SACH,QAAO;CAGT,MAAM,6BAA6B,iBAAuC;AACxE,SAAO,KACJ,eACC,UAAU;GACR;GACA,aAAa,2BAA2B,aAAa;GACtD,CAAC,CACH,CACA,KAAK,MAAM;;CAGhB,MAAM,uCAAuC;AAC3C,SAAO,KACJ,eAAe,UAAU;GAAE,cAAc;GAAM,aAAa,uBAAuB,KAAK;GAAE,CAAC,CAAC,CAC5F,KAAK,MAAM;;CAGhB,MAAM,wCAAwC;AAC5C,SAAO;AACP,MAAI,2BAA2B,aAC7B,QAAO,4BAA4B;AAErC,SAAO,uBAAuB;GAAE;GAA4B;GAAsB;GAAc,CAAC;;CAGnG,MAAM,wBAAwB;AAC5B,SAAO;AACP,MAAI,4BAA4B,aAC9B,QAAO,6BAA6B;AAGtC,SAAO,wBAAwB;GAC7B,GAAG;GACH;GACA;GACD,CAAC;;CAGJ,MAAM,2BACJ,oBAAC;EACC,mBAAmB,YAAY;EAC/B,WAAW,YAAY,wCAAwC,MAAM,qBAAqB;EAC1F,0BAA0B,YAAY;EACtC,kBAAkB,YAAY,+CAA+C,MAAM,qBAAqB;EACxG,uBAAuB,YAAY;EACnC,eAAe,YAAY,4CAA4C,MAAM,qBAAqB;EAClG,MAAMA;EACN,OAAO,iBAAiB,kDAAkD;EAC1E,eAAe,iBAAiB;EAChC,UAAU,oBAAC,uCAAqC;EAChD;GACA;CAGJ,MAAM,+BAA+B,iBACnC,qBAAC;EACC,SAAQ;EACR,OAAM;EACN,KAAI,OAAM;GACR,OAAO;GACP,cAAc,EAAE,MAAM;GACvB;aAED,oBAAC;GACC,WAAW;GACX,cAAcC;GACR;GACN,uBAAsB;GACtB,KAAI,OAAM,EACR,SAAS,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,MACnC;IACD,EACF,oBAAC;GAAQ,MAAK;aAAQ;IAAmC;GACpD;AAGT,QACE,oBAAC;EAAQ,mBAAmB,YAAY;YACtC,qBAAC,YAAY;GACX,mBAAmB,YAAY;GAC1B;GACL,MAAK;GACL,cAAY,GAAG,YAAY,KAAK;GAChC,oBAAoB,CAAC;GACrB,GAAI;cAEJ,oBAAC,YAAY;IAAQ,mBAAmB,YAAY;cAClD,qBAAC;KACC,mBAAmB,YAAY;KAC/B,MAAK;gBAEJ,aACG,4BAA4B,WAAW,GACvC,CAAC,gBACC,oBAAC;MACC,MAAM;MACN,KAAI,OAAM;OACR,SAAS,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM;OAClC,OAAO;OACR;MACD,OAAO,iBAAiB,yCAAyC;OACjE,EAER,oBAAC;MACC,2BAA2B;MAC3B,0BAA0B;MAC1B,qBAAqB;OACrB;MACM;KACU,EACtB,oBAAC,YAAY,UAAO,mBAAmB,YAAY,oCAAqC;IACvE;GACX;EAGf;AAED,MAAM,qCAAqC,aACxC,EAAE,SAAmC;CACpC,MAAM,EAAE,yBAAyB,gBAAgB;CAEjD,MAAM,mBAAmB,sBAAsB,SAAS;CAExD,MAAM,EAAE,uBAAuB,gBAAgB,EAC7C,oBAAoB,oBAAoB,QACzC,CAAC;AAEF,KAAI,CAAC,oBAAoB,MACvB,QAAO;AAGT,QACE,oBAAC;EACC,mBAAmB,mBAAmB;EACtC,aAAa;GACb;GAGN,EAEE,YAAY,8BACb,CACF"}
|
|
@@ -12,8 +12,8 @@ import { OrganizationPreview } from "../../elements/OrganizationPreview.js";
|
|
|
12
12
|
import { PersonalWorkspacePreview } from "../../elements/PersonalWorkspacePreview.js";
|
|
13
13
|
import { withAvatarShimmer } from "../../elements/withAvatarShimmer.js";
|
|
14
14
|
import { forwardRef } from "react";
|
|
15
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
16
15
|
import { useOrganization, useOrganizationList, useUser } from "@clerk/shared/react";
|
|
16
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
17
|
|
|
18
18
|
//#region src/components/OrganizationSwitcher/OrganizationSwitcherTrigger.tsx
|
|
19
19
|
const OrganizationSwitcherTrigger = withAvatarShimmer(forwardRef((props, ref) => {
|
|
@@ -12,8 +12,8 @@ import { organizationListParams, populateCacheUpdateItem } from "./utils.js";
|
|
|
12
12
|
import { Actions } from "../../elements/Actions.js";
|
|
13
13
|
import { OrganizationPreview } from "../../elements/OrganizationPreview.js";
|
|
14
14
|
import { PreviewButton } from "../../elements/PreviewButton.js";
|
|
15
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
16
15
|
import { useClerk, useOrganization, useOrganizationList } from "@clerk/shared/react";
|
|
16
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
17
|
|
|
18
18
|
//#region src/components/OrganizationSwitcher/UserInvitationSuggestionList.tsx
|
|
19
19
|
const useFetchInvitations = () => {
|
|
@@ -11,8 +11,8 @@ import { OrganizationPreview } from "../../elements/OrganizationPreview.js";
|
|
|
11
11
|
import { PreviewButton } from "../../elements/PreviewButton.js";
|
|
12
12
|
import { PersonalWorkspacePreview } from "../../elements/PersonalWorkspacePreview.js";
|
|
13
13
|
import React from "react";
|
|
14
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
15
14
|
import { useOrganization, useOrganizationList, useUser } from "@clerk/shared/react";
|
|
15
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
16
16
|
|
|
17
17
|
//#region src/components/OrganizationSwitcher/UserMembershipList.tsx
|
|
18
18
|
const useFetchMemberships = () => {
|
|
@@ -13,8 +13,8 @@ import { FormButtons } from "../../elements/FormButtons.js";
|
|
|
13
13
|
import { FormContainer } from "../../elements/FormContainer.js";
|
|
14
14
|
import { PaymentElementSkeleton } from "./PaymentElementSkeleton.js";
|
|
15
15
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
16
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
16
|
import { __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_usePaymentElement, createContextAndHook } from "@clerk/shared/react";
|
|
17
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
18
18
|
|
|
19
19
|
//#region src/components/PaymentMethods/AddPaymentMethod.tsx
|
|
20
20
|
const useStripeAppearance = (node) => {
|
|
@@ -14,8 +14,8 @@ import { FullHeightLoader } from "../../elements/FullHeightLoader.js";
|
|
|
14
14
|
import { ProfileSection } from "../../elements/Section.js";
|
|
15
15
|
import { TestPaymentMethod } from "./TestPaymentMethod.js";
|
|
16
16
|
import { Fragment, useMemo, useRef } from "react";
|
|
17
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
18
17
|
import { useClerk, useOrganizationContext } from "@clerk/shared/react";
|
|
18
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
19
19
|
|
|
20
20
|
//#region src/components/PaymentMethods/PaymentMethods.tsx
|
|
21
21
|
const AddScreen = withCardStateProvider(({ onSuccess }) => {
|
|
@@ -4,12 +4,13 @@ import { Flow } from "../../customizables/Flow.js";
|
|
|
4
4
|
import { PricingTableDefault } from "./PricingTableDefault.js";
|
|
5
5
|
import { PricingTableMatrix } from "./PricingTableMatrix.js";
|
|
6
6
|
import { useEffect, useMemo, useState } from "react";
|
|
7
|
+
import { useClerk, usePortalRoot } from "@clerk/shared/react";
|
|
7
8
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
8
|
-
import { useClerk } from "@clerk/shared/react";
|
|
9
9
|
|
|
10
10
|
//#region src/components/PricingTable/PricingTable.tsx
|
|
11
11
|
const PricingTableRoot = (props) => {
|
|
12
12
|
const clerk = useClerk();
|
|
13
|
+
const getContainer = usePortalRoot();
|
|
13
14
|
const { mode = "mounted", signInMode = "redirect" } = usePricingTableContext();
|
|
14
15
|
const isCompact = mode === "modal";
|
|
15
16
|
const { data: subscription, subscriptionItems } = useSubscription();
|
|
@@ -37,7 +38,7 @@ const PricingTableRoot = (props) => {
|
|
|
37
38
|
}, [defaultPlanPeriod]);
|
|
38
39
|
const selectPlan = (plan, event) => {
|
|
39
40
|
if (!clerk.isSignedIn) {
|
|
40
|
-
if (signInMode === "modal") return clerk.openSignIn();
|
|
41
|
+
if (signInMode === "modal") return clerk.openSignIn({ getContainer });
|
|
41
42
|
return clerk.redirectToSignIn();
|
|
42
43
|
}
|
|
43
44
|
handleSelectPlan({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PricingTable.js","names":[],"sources":["../../../src/components/PricingTable/PricingTable.tsx"],"sourcesContent":["import { useClerk } from '@clerk/shared/react';\nimport type { BillingPlanResource, BillingSubscriptionPlanPeriod, PricingTableProps } from '@clerk/shared/types';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { Flow } from '@/ui/customizables/Flow';\n\nimport { usePaymentMethods, usePlans, usePlansContext, usePricingTableContext, useSubscription } from '../../contexts';\nimport { PricingTableDefault } from './PricingTableDefault';\nimport { PricingTableMatrix } from './PricingTableMatrix';\n\nconst PricingTableRoot = (props: PricingTableProps) => {\n const clerk = useClerk();\n const { mode = 'mounted', signInMode = 'redirect' } = usePricingTableContext();\n const isCompact = mode === 'modal';\n const { data: subscription, subscriptionItems } = useSubscription();\n const { data: plans } = usePlans();\n const { handleSelectPlan } = usePlansContext();\n\n const plansToRender = useMemo(() => {\n return clerk.isSignedIn\n ? subscription // All users in billing-enabled applications have a subscription\n ? plans\n : []\n : plans;\n }, [clerk.isSignedIn, plans, subscription]);\n\n const defaultPlanPeriod = useMemo(() => {\n if (isCompact) {\n const upcomingSubscription = subscriptionItems?.find(sub => sub.status === 'upcoming');\n if (upcomingSubscription) {\n return upcomingSubscription.planPeriod;\n }\n\n // don't pay attention to the default plan\n const activeSubscription = subscriptionItems?.find(\n sub => !sub.canceledAt && sub.status === 'active' && !sub.plan.isDefault,\n );\n if (activeSubscription) {\n return activeSubscription.planPeriod;\n }\n }\n\n return 'annual';\n }, [isCompact, subscriptionItems]);\n\n const [planPeriod, setPlanPeriod] = useState<BillingSubscriptionPlanPeriod>(defaultPlanPeriod);\n\n useEffect(() => {\n setPlanPeriod(defaultPlanPeriod);\n }, [defaultPlanPeriod]);\n\n const selectPlan = (plan: BillingPlanResource, event?: React.MouseEvent<HTMLElement>) => {\n if (!clerk.isSignedIn) {\n if (signInMode === 'modal') {\n return clerk.openSignIn();\n }\n return clerk.redirectToSignIn();\n }\n\n handleSelectPlan({\n mode,\n plan,\n planPeriod,\n event,\n appearance: props.checkoutProps?.appearance,\n newSubscriptionRedirectUrl: props.newSubscriptionRedirectUrl,\n });\n return;\n };\n\n // Pre-fetch payment methods\n usePaymentMethods();\n\n return (\n <Flow.Root\n flow='pricingTable'\n isFlowReady={clerk.isSignedIn ? !!subscription : plans.length > 0}\n sx={{\n width: '100%',\n }}\n >\n {mode !== 'modal' && (props as any).layout === 'matrix' ? (\n <PricingTableMatrix\n plans={plansToRender}\n planPeriod={planPeriod}\n setPlanPeriod={setPlanPeriod}\n onSelect={selectPlan}\n highlightedPlan={(props as any).highlightPlan}\n />\n ) : (\n <PricingTableDefault\n plans={plansToRender}\n planPeriod={planPeriod}\n setPlanPeriod={setPlanPeriod}\n onSelect={selectPlan}\n isCompact={isCompact}\n props={props}\n />\n )}\n </Flow.Root>\n );\n};\n\n// When used in a modal, we need to wrap the root in a div to avoid layout issues\n// within UserProfile and OrganizationProfile.\nconst PricingTableModal = (props: PricingTableProps) => {\n return (\n // TODO: Used by InvisibleRootBox, can we simplify?\n <div>\n <PricingTableRoot {...props} />\n </div>\n );\n};\n\nexport const PricingTable = (props: PricingTableProps) => {\n const { mode = 'mounted' } = usePricingTableContext();\n\n return mode === 'modal' ? <PricingTableModal {...props} /> : <PricingTableRoot {...props} />;\n};\n"],"mappings":";;;;;;;;;;AAUA,MAAM,oBAAoB,UAA6B;CACrD,MAAM,QAAQ,UAAU;CACxB,MAAM,EAAE,OAAO,WAAW,aAAa,eAAe,wBAAwB;CAC9E,MAAM,YAAY,SAAS;CAC3B,MAAM,EAAE,MAAM,cAAc,sBAAsB,iBAAiB;CACnE,MAAM,EAAE,MAAM,UAAU,UAAU;CAClC,MAAM,EAAE,qBAAqB,iBAAiB;CAE9C,MAAM,gBAAgB,cAAc;AAClC,SAAO,MAAM,aACT,eACE,QACA,EAAE,GACJ;IACH;EAAC,MAAM;EAAY;EAAO;EAAa,CAAC;CAE3C,MAAM,oBAAoB,cAAc;AACtC,MAAI,WAAW;GACb,MAAM,uBAAuB,mBAAmB,MAAK,QAAO,IAAI,WAAW,WAAW;AACtF,OAAI,qBACF,QAAO,qBAAqB;GAI9B,MAAM,qBAAqB,mBAAmB,MAC5C,QAAO,CAAC,IAAI,cAAc,IAAI,WAAW,YAAY,CAAC,IAAI,KAAK,UAChE;AACD,OAAI,mBACF,QAAO,mBAAmB;;AAI9B,SAAO;IACN,CAAC,WAAW,kBAAkB,CAAC;CAElC,MAAM,CAAC,YAAY,iBAAiB,SAAwC,kBAAkB;AAE9F,iBAAgB;AACd,gBAAc,kBAAkB;IAC/B,CAAC,kBAAkB,CAAC;CAEvB,MAAM,cAAc,MAA2B,UAA0C;AACvF,MAAI,CAAC,MAAM,YAAY;AACrB,OAAI,eAAe,QACjB,QAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"PricingTable.js","names":[],"sources":["../../../src/components/PricingTable/PricingTable.tsx"],"sourcesContent":["import { useClerk, usePortalRoot } from '@clerk/shared/react';\nimport type { BillingPlanResource, BillingSubscriptionPlanPeriod, PricingTableProps } from '@clerk/shared/types';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { Flow } from '@/ui/customizables/Flow';\n\nimport { usePaymentMethods, usePlans, usePlansContext, usePricingTableContext, useSubscription } from '../../contexts';\nimport { PricingTableDefault } from './PricingTableDefault';\nimport { PricingTableMatrix } from './PricingTableMatrix';\n\nconst PricingTableRoot = (props: PricingTableProps) => {\n const clerk = useClerk();\n const getContainer = usePortalRoot();\n const { mode = 'mounted', signInMode = 'redirect' } = usePricingTableContext();\n const isCompact = mode === 'modal';\n const { data: subscription, subscriptionItems } = useSubscription();\n const { data: plans } = usePlans();\n const { handleSelectPlan } = usePlansContext();\n\n const plansToRender = useMemo(() => {\n return clerk.isSignedIn\n ? subscription // All users in billing-enabled applications have a subscription\n ? plans\n : []\n : plans;\n }, [clerk.isSignedIn, plans, subscription]);\n\n const defaultPlanPeriod = useMemo(() => {\n if (isCompact) {\n const upcomingSubscription = subscriptionItems?.find(sub => sub.status === 'upcoming');\n if (upcomingSubscription) {\n return upcomingSubscription.planPeriod;\n }\n\n // don't pay attention to the default plan\n const activeSubscription = subscriptionItems?.find(\n sub => !sub.canceledAt && sub.status === 'active' && !sub.plan.isDefault,\n );\n if (activeSubscription) {\n return activeSubscription.planPeriod;\n }\n }\n\n return 'annual';\n }, [isCompact, subscriptionItems]);\n\n const [planPeriod, setPlanPeriod] = useState<BillingSubscriptionPlanPeriod>(defaultPlanPeriod);\n\n useEffect(() => {\n setPlanPeriod(defaultPlanPeriod);\n }, [defaultPlanPeriod]);\n\n const selectPlan = (plan: BillingPlanResource, event?: React.MouseEvent<HTMLElement>) => {\n if (!clerk.isSignedIn) {\n if (signInMode === 'modal') {\n return clerk.openSignIn({ getContainer });\n }\n return clerk.redirectToSignIn();\n }\n\n handleSelectPlan({\n mode,\n plan,\n planPeriod,\n event,\n appearance: props.checkoutProps?.appearance,\n newSubscriptionRedirectUrl: props.newSubscriptionRedirectUrl,\n });\n return;\n };\n\n // Pre-fetch payment methods\n usePaymentMethods();\n\n return (\n <Flow.Root\n flow='pricingTable'\n isFlowReady={clerk.isSignedIn ? !!subscription : plans.length > 0}\n sx={{\n width: '100%',\n }}\n >\n {mode !== 'modal' && (props as any).layout === 'matrix' ? (\n <PricingTableMatrix\n plans={plansToRender}\n planPeriod={planPeriod}\n setPlanPeriod={setPlanPeriod}\n onSelect={selectPlan}\n highlightedPlan={(props as any).highlightPlan}\n />\n ) : (\n <PricingTableDefault\n plans={plansToRender}\n planPeriod={planPeriod}\n setPlanPeriod={setPlanPeriod}\n onSelect={selectPlan}\n isCompact={isCompact}\n props={props}\n />\n )}\n </Flow.Root>\n );\n};\n\n// When used in a modal, we need to wrap the root in a div to avoid layout issues\n// within UserProfile and OrganizationProfile.\nconst PricingTableModal = (props: PricingTableProps) => {\n return (\n // TODO: Used by InvisibleRootBox, can we simplify?\n <div>\n <PricingTableRoot {...props} />\n </div>\n );\n};\n\nexport const PricingTable = (props: PricingTableProps) => {\n const { mode = 'mounted' } = usePricingTableContext();\n\n return mode === 'modal' ? <PricingTableModal {...props} /> : <PricingTableRoot {...props} />;\n};\n"],"mappings":";;;;;;;;;;AAUA,MAAM,oBAAoB,UAA6B;CACrD,MAAM,QAAQ,UAAU;CACxB,MAAM,eAAe,eAAe;CACpC,MAAM,EAAE,OAAO,WAAW,aAAa,eAAe,wBAAwB;CAC9E,MAAM,YAAY,SAAS;CAC3B,MAAM,EAAE,MAAM,cAAc,sBAAsB,iBAAiB;CACnE,MAAM,EAAE,MAAM,UAAU,UAAU;CAClC,MAAM,EAAE,qBAAqB,iBAAiB;CAE9C,MAAM,gBAAgB,cAAc;AAClC,SAAO,MAAM,aACT,eACE,QACA,EAAE,GACJ;IACH;EAAC,MAAM;EAAY;EAAO;EAAa,CAAC;CAE3C,MAAM,oBAAoB,cAAc;AACtC,MAAI,WAAW;GACb,MAAM,uBAAuB,mBAAmB,MAAK,QAAO,IAAI,WAAW,WAAW;AACtF,OAAI,qBACF,QAAO,qBAAqB;GAI9B,MAAM,qBAAqB,mBAAmB,MAC5C,QAAO,CAAC,IAAI,cAAc,IAAI,WAAW,YAAY,CAAC,IAAI,KAAK,UAChE;AACD,OAAI,mBACF,QAAO,mBAAmB;;AAI9B,SAAO;IACN,CAAC,WAAW,kBAAkB,CAAC;CAElC,MAAM,CAAC,YAAY,iBAAiB,SAAwC,kBAAkB;AAE9F,iBAAgB;AACd,gBAAc,kBAAkB;IAC/B,CAAC,kBAAkB,CAAC;CAEvB,MAAM,cAAc,MAA2B,UAA0C;AACvF,MAAI,CAAC,MAAM,YAAY;AACrB,OAAI,eAAe,QACjB,QAAO,MAAM,WAAW,EAAE,cAAc,CAAC;AAE3C,UAAO,MAAM,kBAAkB;;AAGjC,mBAAiB;GACf;GACA;GACA;GACA;GACA,YAAY,MAAM,eAAe;GACjC,4BAA4B,MAAM;GACnC,CAAC;;AAKJ,oBAAmB;AAEnB,QACE,oBAAC,KAAK;EACJ,MAAK;EACL,aAAa,MAAM,aAAa,CAAC,CAAC,eAAe,MAAM,SAAS;EAChE,IAAI,EACF,OAAO,QACR;YAEA,SAAS,WAAY,MAAc,WAAW,WAC7C,oBAAC;GACC,OAAO;GACK;GACG;GACf,UAAU;GACV,iBAAkB,MAAc;IAChC,GAEF,oBAAC;GACC,OAAO;GACK;GACG;GACf,UAAU;GACC;GACJ;IACP;GAEM;;AAMhB,MAAM,qBAAqB,UAA6B;AACtD,QAEE,oBAAC,mBACC,oBAAC,oBAAiB,GAAI,QAAS,GAC3B;;AAIV,MAAa,gBAAgB,UAA6B;CACxD,MAAM,EAAE,OAAO,cAAc,wBAAwB;AAErD,QAAO,SAAS,UAAU,oBAAC,qBAAkB,GAAI,QAAS,GAAG,oBAAC,oBAAiB,GAAI,QAAS"}
|
|
@@ -15,8 +15,8 @@ import { SubscriptionBadge } from "../Subscriptions/badge.js";
|
|
|
15
15
|
import { Switch } from "../../elements/Switch.js";
|
|
16
16
|
import { getPricingFooterState } from "./utils/pricing-footer-state.js";
|
|
17
17
|
import * as React$1 from "react";
|
|
18
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
19
18
|
import { useClerk, useOrganizationContext, useSession } from "@clerk/shared/react";
|
|
19
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
20
20
|
|
|
21
21
|
//#region src/components/PricingTable/PricingTableDefault.tsx
|
|
22
22
|
function PricingTableDefault({ plans, planPeriod, setPlanPeriod, onSelect, isCompact, props }) {
|
|
@@ -9,8 +9,8 @@ import { LoadingCardContainer } from "../../elements/LoadingCard.js";
|
|
|
9
9
|
import { TaskChooseOrganization } from "./tasks/TaskChooseOrganization/index.js";
|
|
10
10
|
import { TaskResetPassword } from "./tasks/TaskResetPassword/index.js";
|
|
11
11
|
import { useEffect, useRef } from "react";
|
|
12
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
13
12
|
import { useClerk } from "@clerk/shared/react";
|
|
13
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
14
14
|
import { INTERNAL_SESSION_TASK_ROUTE_BY_KEY } from "@clerk/shared/internal/clerk-js/sessionTasks";
|
|
15
15
|
import { eventComponentMounted } from "@clerk/shared/telemetry";
|
|
16
16
|
|
package/dist/components/SessionTasks/tasks/TaskChooseOrganization/ChooseOrganizationScreen.js
CHANGED
|
@@ -14,9 +14,9 @@ import { OrganizationPreview } from "../../../../elements/OrganizationPreview.js
|
|
|
14
14
|
import { OrganizationPreviewButton, OrganizationPreviewListItem, OrganizationPreviewListItemButton, OrganizationPreviewListItems, OrganizationPreviewSpinner, sharedMainIdentifierSx } from "../../../../common/organizations/OrganizationPreview.js";
|
|
15
15
|
import { useOrganizationListInView } from "../../../../hooks/useOrganizationListInView.js";
|
|
16
16
|
import React, { useState } from "react";
|
|
17
|
+
import { useClerk, useOrganizationList, useUser } from "@clerk/shared/react";
|
|
17
18
|
import { Fragment as Fragment$1, jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
18
19
|
import { isClerkAPIResponseError } from "@clerk/shared/error";
|
|
19
|
-
import { useClerk, useOrganizationList, useUser } from "@clerk/shared/react";
|
|
20
20
|
|
|
21
21
|
//#region src/components/SessionTasks/tasks/TaskChooseOrganization/ChooseOrganizationScreen.tsx
|
|
22
22
|
const ChooseOrganizationScreen = (props) => {
|
package/dist/components/SessionTasks/tasks/TaskChooseOrganization/CreateOrganizationScreen.js
CHANGED
|
@@ -10,8 +10,8 @@ import { FormButtonContainer } from "../../../../elements/FormButtons.js";
|
|
|
10
10
|
import { FormContainer } from "../../../../elements/FormContainer.js";
|
|
11
11
|
import { createSlug } from "../../../../utils/createSlug.js";
|
|
12
12
|
import { organizationListParams } from "../../../OrganizationSwitcher/utils.js";
|
|
13
|
-
import { Fragment, jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
14
13
|
import { useOrganizationList } from "@clerk/shared/react";
|
|
14
|
+
import { Fragment, jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
15
15
|
|
|
16
16
|
//#region src/components/SessionTasks/tasks/TaskChooseOrganization/CreateOrganizationScreen.tsx
|
|
17
17
|
const CreateOrganizationScreen = (props) => {
|
|
@@ -12,8 +12,8 @@ import { withTaskGuard } from "../shared/withTaskGuard.js";
|
|
|
12
12
|
import { ChooseOrganizationScreen } from "./ChooseOrganizationScreen.js";
|
|
13
13
|
import { CreateOrganizationScreen } from "./CreateOrganizationScreen.js";
|
|
14
14
|
import { useState } from "react";
|
|
15
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
16
15
|
import { useClerk, useSession, useUser } from "@clerk/shared/react";
|
|
16
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
17
17
|
|
|
18
18
|
//#region src/components/SessionTasks/tasks/TaskChooseOrganization/index.tsx
|
|
19
19
|
const TaskChooseOrganizationInternal = () => {
|
|
@@ -17,8 +17,8 @@ import { handleError } from "../../../../utils/errorHandler.js";
|
|
|
17
17
|
import { Form } from "../../../../elements/Form.js";
|
|
18
18
|
import { useMultipleSessions } from "../../../../hooks/useMultipleSessions.js";
|
|
19
19
|
import { withTaskGuard } from "../shared/withTaskGuard.js";
|
|
20
|
-
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
21
20
|
import { useClerk, useReverification } from "@clerk/shared/react";
|
|
21
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
22
22
|
|
|
23
23
|
//#region src/components/SessionTasks/tasks/TaskResetPassword/index.tsx
|
|
24
24
|
const TaskResetPasswordInternal = () => {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useCoreSignIn } from "../../contexts/CoreClientContext.js";
|
|
2
|
+
import { withCardStateProvider } from "../../elements/contexts/index.js";
|
|
3
|
+
import { LoadingCard } from "../../elements/LoadingCard.js";
|
|
4
|
+
import { withRedirectToAfterSignIn, withRedirectToSignInTask } from "../../common/withRedirect.js";
|
|
5
|
+
import { SignInFactorTwoAlternativeMethods } from "./SignInFactorTwoAlternativeMethods.js";
|
|
6
|
+
import { SignInFactorTwoEmailCodeCard } from "./SignInFactorTwoEmailCodeCard.js";
|
|
7
|
+
import { SignInFactorTwoEmailLinkCard } from "./SignInFactorTwoEmailLinkCard.js";
|
|
8
|
+
import { SignInFactorTwoPhoneCodeCard } from "./SignInFactorTwoPhoneCodeCard.js";
|
|
9
|
+
import { useSecondFactorSelection } from "./useSecondFactorSelection.js";
|
|
10
|
+
import { jsx } from "@emotion/react/jsx-runtime";
|
|
11
|
+
|
|
12
|
+
//#region src/components/SignIn/SignInClientTrust.tsx
|
|
13
|
+
function SignInClientTrustInternal() {
|
|
14
|
+
const { currentFactor, factorAlreadyPrepared, handleFactorPrepare, selectFactor, showAllStrategies, toggleAllStrategies } = useSecondFactorSelection(useCoreSignIn().supportedSecondFactors);
|
|
15
|
+
if (!currentFactor) return /* @__PURE__ */ jsx(LoadingCard, {});
|
|
16
|
+
if (showAllStrategies) return /* @__PURE__ */ jsx(SignInFactorTwoAlternativeMethods, {
|
|
17
|
+
onBackLinkClick: toggleAllStrategies,
|
|
18
|
+
onFactorSelected: selectFactor
|
|
19
|
+
});
|
|
20
|
+
switch (currentFactor?.strategy) {
|
|
21
|
+
case "phone_code": return /* @__PURE__ */ jsx(SignInFactorTwoPhoneCodeCard, {
|
|
22
|
+
showClientTrustNotice: true,
|
|
23
|
+
factorAlreadyPrepared,
|
|
24
|
+
onFactorPrepare: handleFactorPrepare,
|
|
25
|
+
factor: currentFactor,
|
|
26
|
+
onShowAlternativeMethodsClicked: toggleAllStrategies
|
|
27
|
+
});
|
|
28
|
+
case "email_code": return /* @__PURE__ */ jsx(SignInFactorTwoEmailCodeCard, {
|
|
29
|
+
showClientTrustNotice: true,
|
|
30
|
+
factorAlreadyPrepared,
|
|
31
|
+
onFactorPrepare: handleFactorPrepare,
|
|
32
|
+
factor: currentFactor,
|
|
33
|
+
onShowAlternativeMethodsClicked: toggleAllStrategies
|
|
34
|
+
});
|
|
35
|
+
case "email_link": return /* @__PURE__ */ jsx(SignInFactorTwoEmailLinkCard, {
|
|
36
|
+
showClientTrustNotice: true,
|
|
37
|
+
factorAlreadyPrepared,
|
|
38
|
+
onFactorPrepare: handleFactorPrepare,
|
|
39
|
+
factor: currentFactor,
|
|
40
|
+
onShowAlternativeMethodsClicked: toggleAllStrategies
|
|
41
|
+
});
|
|
42
|
+
default: return /* @__PURE__ */ jsx(LoadingCard, {});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const SignInClientTrust = withRedirectToSignInTask(withRedirectToAfterSignIn(withCardStateProvider(SignInClientTrustInternal)));
|
|
46
|
+
|
|
47
|
+
//#endregion
|
|
48
|
+
export { SignInClientTrust };
|
|
49
|
+
//# sourceMappingURL=SignInClientTrust.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignInClientTrust.js","names":[],"sources":["../../../src/components/SignIn/SignInClientTrust.tsx"],"sourcesContent":["import { withCardStateProvider } from '@/ui/elements/contexts';\nimport { LoadingCard } from '@/ui/elements/LoadingCard';\n\nimport { withRedirectToAfterSignIn, withRedirectToSignInTask } from '../../common';\nimport { useCoreSignIn } from '../../contexts';\nimport { SignInFactorTwoAlternativeMethods } from './SignInFactorTwoAlternativeMethods';\nimport { SignInFactorTwoEmailCodeCard } from './SignInFactorTwoEmailCodeCard';\nimport { SignInFactorTwoEmailLinkCard } from './SignInFactorTwoEmailLinkCard';\nimport { SignInFactorTwoPhoneCodeCard } from './SignInFactorTwoPhoneCodeCard';\nimport { useSecondFactorSelection } from './useSecondFactorSelection';\n\nfunction SignInClientTrustInternal(): JSX.Element {\n const signIn = useCoreSignIn();\n const {\n currentFactor,\n factorAlreadyPrepared,\n handleFactorPrepare,\n selectFactor,\n showAllStrategies,\n toggleAllStrategies,\n } = useSecondFactorSelection(signIn.supportedSecondFactors);\n\n if (!currentFactor) {\n return <LoadingCard />;\n }\n\n if (showAllStrategies) {\n return (\n <SignInFactorTwoAlternativeMethods\n onBackLinkClick={toggleAllStrategies}\n onFactorSelected={selectFactor}\n />\n );\n }\n\n switch (currentFactor?.strategy) {\n case 'phone_code':\n return (\n <SignInFactorTwoPhoneCodeCard\n showClientTrustNotice\n factorAlreadyPrepared={factorAlreadyPrepared}\n onFactorPrepare={handleFactorPrepare}\n factor={currentFactor}\n onShowAlternativeMethodsClicked={toggleAllStrategies}\n />\n );\n case 'email_code':\n return (\n <SignInFactorTwoEmailCodeCard\n showClientTrustNotice\n factorAlreadyPrepared={factorAlreadyPrepared}\n onFactorPrepare={handleFactorPrepare}\n factor={currentFactor}\n onShowAlternativeMethodsClicked={toggleAllStrategies}\n />\n );\n case 'email_link':\n return (\n <SignInFactorTwoEmailLinkCard\n showClientTrustNotice\n factorAlreadyPrepared={factorAlreadyPrepared}\n onFactorPrepare={handleFactorPrepare}\n factor={currentFactor}\n onShowAlternativeMethodsClicked={toggleAllStrategies}\n />\n );\n default:\n return <LoadingCard />;\n }\n}\n\nexport const SignInClientTrust = withRedirectToSignInTask(\n withRedirectToAfterSignIn(withCardStateProvider(SignInClientTrustInternal)),\n);\n"],"mappings":";;;;;;;;;;;;AAWA,SAAS,4BAAyC;CAEhD,MAAM,EACJ,eACA,uBACA,qBACA,cACA,mBACA,wBACE,yBARW,eAAe,CAQM,uBAAuB;AAE3D,KAAI,CAAC,cACH,QAAO,oBAAC,gBAAc;AAGxB,KAAI,kBACF,QACE,oBAAC;EACC,iBAAiB;EACjB,kBAAkB;GAClB;AAIN,SAAQ,eAAe,UAAvB;EACE,KAAK,aACH,QACE,oBAAC;GACC;GACuB;GACvB,iBAAiB;GACjB,QAAQ;GACR,iCAAiC;IACjC;EAEN,KAAK,aACH,QACE,oBAAC;GACC;GACuB;GACvB,iBAAiB;GACjB,QAAQ;GACR,iCAAiC;IACjC;EAEN,KAAK,aACH,QACE,oBAAC;GACC;GACuB;GACvB,iBAAiB;GACjB,QAAQ;GACR,iCAAiC;IACjC;EAEN,QACE,QAAO,oBAAC,gBAAc;;;AAI5B,MAAa,oBAAoB,yBAC/B,0BAA0B,sBAAsB,0BAA0B,CAAC,CAC5E"}
|
|
@@ -20,8 +20,8 @@ import { SignInFactorOnePasskey } from "./SignInFactorOnePasskey.js";
|
|
|
20
20
|
import { SignInFactorOnePasswordCard } from "./SignInFactorOnePasswordCard.js";
|
|
21
21
|
import { SignInFactorOnePhoneCodeCard } from "./SignInFactorOnePhoneCodeCard.js";
|
|
22
22
|
import React from "react";
|
|
23
|
-
import { jsx } from "@emotion/react/jsx-runtime";
|
|
24
23
|
import { useClerk } from "@clerk/shared/react";
|
|
24
|
+
import { jsx } from "@emotion/react/jsx-runtime";
|
|
25
25
|
|
|
26
26
|
//#region src/components/SignIn/SignInFactorOne.tsx
|
|
27
27
|
const factorKey = (factor) => {
|
|
@@ -7,9 +7,9 @@ import { handleError } from "../../utils/errorHandler.js";
|
|
|
7
7
|
import { useSupportEmail } from "../../hooks/useSupportEmail.js";
|
|
8
8
|
import { VerificationCodeCard } from "../../elements/VerificationCodeCard.js";
|
|
9
9
|
import { clerkInvalidFAPIResponse } from "@clerk/shared/internal/clerk-js/errors";
|
|
10
|
+
import { useClerk } from "@clerk/shared/react";
|
|
10
11
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
11
12
|
import { isUserLockedError } from "@clerk/shared/error";
|
|
12
|
-
import { useClerk } from "@clerk/shared/react";
|
|
13
13
|
|
|
14
14
|
//#region src/components/SignIn/SignInFactorOneAlternativeChannelCodeForm.tsx
|
|
15
15
|
const SignInFactorOneAlternativeChannelCodeForm = (props) => {
|
|
@@ -8,9 +8,9 @@ import { useSupportEmail } from "../../hooks/useSupportEmail.js";
|
|
|
8
8
|
import { VerificationCodeCard } from "../../elements/VerificationCodeCard.js";
|
|
9
9
|
import { clerkInvalidFAPIResponse } from "@clerk/shared/internal/clerk-js/errors";
|
|
10
10
|
import { useMemo } from "react";
|
|
11
|
+
import { useClerk } from "@clerk/shared/react";
|
|
11
12
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
12
13
|
import { isUserLockedError } from "@clerk/shared/error";
|
|
13
|
-
import { useClerk } from "@clerk/shared/react";
|
|
14
14
|
|
|
15
15
|
//#region src/components/SignIn/SignInFactorOneCodeForm.tsx
|
|
16
16
|
const SignInFactorOneCodeForm = (props) => {
|
|
@@ -11,9 +11,9 @@ import { EmailLinkStatusCard } from "../../common/EmailLinkStatusCard.js";
|
|
|
11
11
|
import { handleError } from "../../utils/errorHandler.js";
|
|
12
12
|
import { VerificationLinkCard } from "../../elements/VerificationLinkCard.js";
|
|
13
13
|
import React from "react";
|
|
14
|
+
import { useClerk } from "@clerk/shared/react";
|
|
14
15
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
15
16
|
import { isUserLockedError } from "@clerk/shared/error";
|
|
16
|
-
import { useClerk } from "@clerk/shared/react";
|
|
17
17
|
|
|
18
18
|
//#region src/components/SignIn/SignInFactorOneEmailLinkCard.tsx
|
|
19
19
|
const SignInFactorOneEmailLinkCard = (props) => {
|
|
@@ -13,13 +13,13 @@ import { handleError } from "../../utils/errorHandler.js";
|
|
|
13
13
|
import { Form } from "../../elements/Form.js";
|
|
14
14
|
import { IdentityPreview } from "../../elements/IdentityPreview.js";
|
|
15
15
|
import { useSupportEmail } from "../../hooks/useSupportEmail.js";
|
|
16
|
-
import { useResetPasswordFactor } from "./useResetPasswordFactor.js";
|
|
17
16
|
import { HavingTrouble } from "./HavingTrouble.js";
|
|
17
|
+
import { useResetPasswordFactor } from "./useResetPasswordFactor.js";
|
|
18
18
|
import { clerkInvalidFAPIResponse } from "@clerk/shared/internal/clerk-js/errors";
|
|
19
19
|
import React from "react";
|
|
20
|
+
import { useClerk } from "@clerk/shared/react";
|
|
20
21
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
21
22
|
import { isPasswordCompromisedError, isPasswordPwnedError, isUserLockedError } from "@clerk/shared/error";
|
|
22
|
-
import { useClerk } from "@clerk/shared/react";
|
|
23
23
|
|
|
24
24
|
//#region src/components/SignIn/SignInFactorOnePasswordCard.tsx
|
|
25
25
|
const usePasswordControl = (props) => {
|
|
@@ -65,13 +65,14 @@ const SignInFactorOnePasswordCard = (props) => {
|
|
|
65
65
|
case "complete": return setActive({
|
|
66
66
|
session: res.createdSessionId,
|
|
67
67
|
navigate: ({ session }) => {
|
|
68
|
-
navigateOnSetActive({
|
|
68
|
+
return navigateOnSetActive({
|
|
69
69
|
session,
|
|
70
70
|
redirectUrl: afterSignInUrl
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
case "needs_second_factor": return navigate("../factor-two");
|
|
75
|
+
case "needs_client_trust": return navigate("../client-trust");
|
|
75
76
|
default: return console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
|
|
76
77
|
}
|
|
77
78
|
}).catch((err) => {
|