@clerk/vue 1.14.4-canary.v20251007151725 → 1.14.4-canary.v20251007170333

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.
@@ -1,74 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<({
2
- path: string | undefined;
3
- routing?: Extract<import("@clerk/types").RoutingStrategy, "path">;
4
- } & {
5
- forceRedirectUrl?: string | null;
6
- fallbackRedirectUrl?: string | null;
7
- signInUrl?: string;
8
- signUpUrl?: string;
9
- appearance?: import("@clerk/types").SignInTheme;
10
- initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues;
11
- __experimental?: Record<string, any> & {
12
- newComponents?: boolean;
13
- };
14
- waitlistUrl?: string;
15
- unsafeMetadata?: SignUpUnsafeMetadata;
16
- withSignUp?: boolean;
17
- oauthFlow?: "auto" | "redirect" | "popup";
18
- oidcPrompt?: string;
19
- } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl) | ({
20
- path?: never;
21
- routing?: Extract<import("@clerk/types").RoutingStrategy, "hash" | "virtual">;
22
- } & {
23
- forceRedirectUrl?: string | null;
24
- fallbackRedirectUrl?: string | null;
25
- signInUrl?: string;
26
- signUpUrl?: string;
27
- appearance?: import("@clerk/types").SignInTheme;
28
- initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues;
29
- __experimental?: Record<string, any> & {
30
- newComponents?: boolean;
31
- };
32
- waitlistUrl?: string;
33
- unsafeMetadata?: SignUpUnsafeMetadata;
34
- withSignUp?: boolean;
35
- oauthFlow?: "auto" | "redirect" | "popup";
36
- oidcPrompt?: string;
37
- } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl), {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<({
38
- path: string | undefined;
39
- routing?: Extract<import("@clerk/types").RoutingStrategy, "path">;
40
- } & {
41
- forceRedirectUrl?: string | null;
42
- fallbackRedirectUrl?: string | null;
43
- signInUrl?: string;
44
- signUpUrl?: string;
45
- appearance?: import("@clerk/types").SignInTheme;
46
- initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues;
47
- __experimental?: Record<string, any> & {
48
- newComponents?: boolean;
49
- };
50
- waitlistUrl?: string;
51
- unsafeMetadata?: SignUpUnsafeMetadata;
52
- withSignUp?: boolean;
53
- oauthFlow?: "auto" | "redirect" | "popup";
54
- oidcPrompt?: string;
55
- } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl) | ({
56
- path?: never;
57
- routing?: Extract<import("@clerk/types").RoutingStrategy, "hash" | "virtual">;
58
- } & {
59
- forceRedirectUrl?: string | null;
60
- fallbackRedirectUrl?: string | null;
61
- signInUrl?: string;
62
- signUpUrl?: string;
63
- appearance?: import("@clerk/types").SignInTheme;
64
- initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues;
65
- __experimental?: Record<string, any> & {
66
- newComponents?: boolean;
67
- };
68
- waitlistUrl?: string;
69
- unsafeMetadata?: SignUpUnsafeMetadata;
70
- withSignUp?: boolean;
71
- oauthFlow?: "auto" | "redirect" | "popup";
72
- oidcPrompt?: string;
73
- } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl)> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
1
+ declare const _default: import("vue").DefineSetupFnComponent<Record<string, any>, {}, {}, Record<string, any> & {}, import("vue").PublicProps>;
74
2
  export default _default;
package/dist/index.js CHANGED
@@ -407,10 +407,10 @@ var _sfc_main = /* @__PURE__ */ _defineComponent({
407
407
  __experimental: { type: Object, required: false },
408
408
  waitlistUrl: { type: String, required: false },
409
409
  unsafeMetadata: { type: null, required: false },
410
- withSignUp: { type: Boolean, required: false },
410
+ withSignUp: { type: Boolean, required: false, default: void 0 },
411
411
  oauthFlow: { type: String, required: false },
412
412
  oidcPrompt: { type: String, required: false },
413
- transferable: { type: Boolean, required: false },
413
+ transferable: { type: Boolean, required: false, default: void 0 },
414
414
  signUpForceRedirectUrl: { type: [String, null], required: false },
415
415
  signUpFallbackRedirectUrl: { type: [String, null], required: false },
416
416
  afterSignInUrl: { type: [String, null], required: false },
@@ -435,7 +435,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
435
435
  unmount: $setup.clerk?.unmountSignIn,
436
436
  props: $setup.props,
437
437
  "update-props": $setup.clerk?.__unstable__updateProps
438
- }, null, 8, ["mount", "unmount", "props", "update-props"]);
438
+ }, null, 8, ["mount", "unmount", "update-props"]);
439
439
  }
440
440
  var SignIn_default = /* @__PURE__ */ export_helper_default(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/javascript/javascript/packages/vue/src/components/ui-components/SignIn.vue"]]);
441
441
 
@@ -1536,7 +1536,7 @@ import { loadClerkJsScript } from "@clerk/shared/loadClerkJsScript";
1536
1536
  import { computed as computed12, ref as ref5, shallowRef, triggerRef } from "vue";
1537
1537
  var SDK_METADATA = {
1538
1538
  name: "@clerk/vue",
1539
- version: "1.14.4-canary.v20251007151725",
1539
+ version: "1.14.4-canary.v20251007170333",
1540
1540
  environment: process.env.NODE_ENV
1541
1541
  };
1542
1542
  var clerkPlugin = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["","","","","","","","","","","","","","","/home/runner/work/javascript/javascript/packages/vue/src/components/ui-components/OrganizationProfile/OrganizationProfile.vue","","","","","","/home/runner/work/javascript/javascript/packages/vue/src/components/SignInButton.vue","/home/runner/work/javascript/javascript/packages/vue/src/components/SignUpButton.vue","/home/runner/work/javascript/javascript/packages/vue/src/components/SignOutButton.vue","/home/runner/work/javascript/javascript/packages/vue/src/components/SignInWithMetamaskButton.vue",""],"sourcesContent":["import { setClerkJsLoadingErrorPackageName } from '@clerk/shared/loadClerkJsScript';\n\nimport { setErrorThrowerOptions } from './errors/errorThrower';\n\nexport * from './components';\nexport * from './composables';\n\nexport { clerkPlugin, type PluginOptions } from './plugin';\nexport { updateClerkOptions } from './utils';\n\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\nsetClerkJsLoadingErrorPackageName(PACKAGE_NAME);\n","import type { PropType } from 'vue';\nimport { defineComponent, h, onUnmounted, ref, watch, watchEffect } from 'vue';\n\nimport type { CustomPortalsRendererProps } from '../types';\nimport { ClerkLoaded } from './controlComponents';\n\ntype AnyObject = Record<string, any>;\n\nexport const CustomPortalsRenderer = defineComponent((props: CustomPortalsRendererProps) => {\n return () => [...(props?.customPagesPortals ?? []), ...(props?.customMenuItemsPortals ?? [])];\n});\n;Object.defineProperty(CustomPortalsRenderer, \"props\", {\n value: [\"customPagesPortals\",\"customMenuItemsPortals\"],\n});\n\n/**\n * Used to orchestrate mounting of Clerk components in a host Vue application.\n * Components are rendered into a specific DOM node using mount/unmount methods provided by the Clerk class.\n */\nexport const ClerkHostRenderer = defineComponent({\n props: {\n mount: {\n type: Function as PropType<(node: HTMLDivElement, props: AnyObject) => void>,\n required: false,\n },\n unmount: {\n type: Function as PropType<(node: HTMLDivElement) => void>,\n required: false,\n },\n open: {\n type: Function as PropType<(props: AnyObject) => void>,\n required: false,\n },\n close: {\n type: Function as PropType<() => void>,\n required: false,\n },\n updateProps: {\n type: Function as PropType<(props: { node: HTMLDivElement; props: AnyObject | undefined }) => void>,\n required: false,\n },\n props: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n },\n setup(props) {\n const portalRef = ref<HTMLDivElement | null>(null);\n let isPortalMounted = false;\n\n watchEffect(() => {\n // Skip if portal element isn't ready or component is already mounted\n if (!portalRef.value || isPortalMounted) {\n return;\n }\n\n if (props.mount) {\n props.mount(portalRef.value, props.props);\n }\n if (props.open) {\n props.open(props.props);\n }\n isPortalMounted = true;\n });\n\n watch(\n () => props.props,\n newProps => {\n if (isPortalMounted && props.updateProps && portalRef.value) {\n props.updateProps({ node: portalRef.value, props: newProps });\n }\n },\n { deep: true },\n );\n\n onUnmounted(() => {\n if (isPortalMounted && portalRef.value) {\n if (props.unmount) {\n props.unmount(portalRef.value);\n }\n if (props.close) {\n props.close();\n }\n }\n });\n\n return () => h(ClerkLoaded, () => h('div', { ref: portalRef }));\n },\n});\n","import { deprecated } from '@clerk/shared/deprecated';\nimport type {\n HandleOAuthCallbackParams,\n PendingSessionOptions,\n ProtectProps as _ProtectProps,\n RedirectOptions,\n} from '@clerk/types';\nimport { defineComponent } from 'vue';\n\nimport { useAuth } from '../composables/useAuth';\nimport { useClerk } from '../composables/useClerk';\nimport { useClerkContext } from '../composables/useClerkContext';\nimport { useClerkLoaded } from '../utils/useClerkLoaded';\n\nexport const SignedIn = defineComponent<PendingSessionOptions>(({ treatPendingAsSignedOut }, { slots }) => {\n const { userId } = useAuth({ treatPendingAsSignedOut });\n\n return () => (userId.value ? slots.default?.() : null);\n});\n;Object.defineProperty(SignedIn, \"props\", {\n value: [\"treatPendingAsSignedOut\"],\n});\n\nexport const SignedOut = defineComponent<PendingSessionOptions>(({ treatPendingAsSignedOut }, { slots }) => {\n const { userId } = useAuth({ treatPendingAsSignedOut });\n\n return () => (userId.value === null ? slots.default?.() : null);\n});\n;Object.defineProperty(SignedOut, \"props\", {\n value: [\"treatPendingAsSignedOut\"],\n});\n\nexport const ClerkLoaded = defineComponent((_, { slots }) => {\n const clerk = useClerk();\n\n return () => (clerk.value?.loaded ? slots.default?.() : null);\n});\n\nexport const ClerkLoading = defineComponent((_, { slots }) => {\n const clerk = useClerk();\n\n return () => (!clerk.value?.loaded ? slots.default?.() : null);\n});\n\nexport const RedirectToSignIn = defineComponent((props: RedirectOptions) => {\n const { sessionCtx, clientCtx } = useClerkContext('RedirectToSignIn');\n\n useClerkLoaded(clerk => {\n const hasSignedInSessions = clientCtx.value?.signedInSessions && clientCtx.value.signedInSessions.length > 0;\n\n if (sessionCtx.value === null && hasSignedInSessions) {\n void clerk.redirectToAfterSignOut();\n } else {\n void clerk.redirectToSignIn(props);\n }\n });\n\n return () => null;\n});\n;Object.defineProperty(RedirectToSignIn, \"props\", {\n value: [\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\"],\n});\n\nexport const RedirectToSignUp = defineComponent((props: RedirectOptions) => {\n useClerkLoaded(clerk => {\n void clerk.redirectToSignUp(props);\n });\n\n return () => null;\n});\n;Object.defineProperty(RedirectToSignUp, \"props\", {\n value: [\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\"],\n});\n\nexport const RedirectToTasks = defineComponent((props: RedirectOptions) => {\n useClerkLoaded(clerk => {\n void clerk.redirectToTasks(props);\n });\n\n return () => null;\n});\n;Object.defineProperty(RedirectToTasks, \"props\", {\n value: [\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\"],\n});\n\n/**\n * @deprecated Use [`redirectToUserProfile()`](https://clerk.com/docs/reference/javascript/clerk/redirect-methods#redirect-to-user-profile) instead.\n */\nexport const RedirectToUserProfile = defineComponent(() => {\n useClerkLoaded(clerk => {\n deprecated('RedirectToUserProfile', 'Use the `redirectToUserProfile()` method instead.');\n void clerk.redirectToUserProfile();\n });\n\n return () => null;\n});\n\n/**\n * @deprecated Use [`redirectToOrganizationProfile()`](https://clerk.com/docs/reference/javascript/clerk/redirect-methods#redirect-to-organization-profile) instead.\n */\nexport const RedirectToOrganizationProfile = defineComponent(() => {\n useClerkLoaded(clerk => {\n deprecated('RedirectToOrganizationProfile', 'Use the `redirectToOrganizationProfile()` method instead.');\n void clerk.redirectToOrganizationProfile();\n });\n\n return () => null;\n});\n\n/**\n * @deprecated Use [`redirectToCreateOrganization()`](https://clerk.com/docs/reference/javascript/clerk/redirect-methods#redirect-to-create-organization) instead.\n */\nexport const RedirectToCreateOrganization = defineComponent(() => {\n useClerkLoaded(clerk => {\n deprecated('RedirectToCreateOrganization', 'Use the `redirectToCreateOrganization()` method instead.');\n void clerk.redirectToCreateOrganization();\n });\n\n return () => null;\n});\n\nexport const AuthenticateWithRedirectCallback = defineComponent((props: HandleOAuthCallbackParams) => {\n useClerkLoaded(clerk => {\n void clerk.handleRedirectCallback(props);\n });\n\n return () => null;\n});\n;Object.defineProperty(AuthenticateWithRedirectCallback, \"props\", {\n value: [\"transferable\",\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\",\"signInUrl\",\"signUpUrl\",\"firstFactorUrl\",\"secondFactorUrl\",\"resetPasswordUrl\",\"continueSignUpUrl\",\"verifyEmailAddressUrl\",\"verifyPhoneNumberUrl\",\"reloadResource\"],\n});\n\nexport type ProtectProps = _ProtectProps & PendingSessionOptions;\n\nexport const Protect = defineComponent((props: ProtectProps, { slots }) => {\n const { isLoaded, has, userId } = useAuth({ treatPendingAsSignedOut: props.treatPendingAsSignedOut });\n\n return () => {\n /**\n * Avoid flickering children or fallback while clerk is loading sessionId or userId\n */\n if (!isLoaded.value) {\n return null;\n }\n\n /**\n * Fallback to UI provided by user or `null` if authorization checks failed\n */\n if (!userId.value) {\n return slots.fallback?.();\n }\n\n /**\n * Check against the results of `has` called inside the callback\n */\n if (typeof props.condition === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (props.condition(has.value!)) {\n return slots.default?.();\n }\n\n return slots.fallback?.();\n }\n\n if (props.role || props.permission || props.feature || props.plan) {\n if (has.value?.(props)) {\n return slots.default?.();\n }\n\n return slots.fallback?.();\n }\n\n /**\n * If neither of the authorization params are passed behave as the `<SignedIn/>`.\n * If fallback is present render that instead of rendering nothing.\n */\n return slots.default?.();\n };\n});\n;Object.defineProperty(Protect, \"props\", {\n value: [\"condition\",\"role\",\"permission\",\"feature\",\"plan\",\"treatPendingAsSignedOut\"],\n});\n","import type { LoadedClerk } from '@clerk/types';\nimport { watch } from 'vue';\n\nimport { useClerk } from '../composables';\n\n/**\n * Executes a callback when Clerk is loaded.\n *\n * @param callback - Function to execute once Clerk is loaded\n * @example\n * ```ts\n * useClerkLoaded((clerk) => {\n * clerk.redirectToSignUp(props);\n * });\n * ```\n */\nexport const useClerkLoaded = (callback: (clerk: LoadedClerk) => void) => {\n const clerk = useClerk();\n\n watch(\n clerk,\n unwrappedClerk => {\n if (!unwrappedClerk?.loaded) {\n return;\n }\n\n callback(unwrappedClerk as LoadedClerk);\n },\n { immediate: true },\n );\n};\n","import type { UseUserReturn } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseUser = () => ToComputedRefs<UseUserReturn>;\n\n/**\n * Returns the current user's [`User`](https://clerk.com/docs/reference/javascript/user/user) object along with loading states.\n *\n * @example\n * <script setup>\n * import { useUser } from '@clerk/vue'\n *\n * const { isLoaded, isSignedIn, user } = useUser()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else-if=\"isSignedIn\">\n * Hello {{ user.fullName }}!\n * </div>\n *\n * <div v-else>\n * Not signed in\n * </div>\n * </template>\n */\nexport const useUser: UseUser = () => {\n const { userCtx } = useClerkContext('useUser');\n\n const result = computed<UseUserReturn>(() => {\n if (userCtx.value === undefined) {\n return { isLoaded: false, isSignedIn: undefined, user: undefined };\n }\n\n if (userCtx.value === null) {\n return { isLoaded: true, isSignedIn: false, user: null };\n }\n\n return { isLoaded: true, isSignedIn: true, user: userCtx.value };\n });\n\n return toComputedRefs(result);\n};\n","import type { UseSessionReturn } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSession = () => ToComputedRefs<UseSessionReturn>;\n\n/**\n * Returns the current [`Session`](https://clerk.com/docs/reference/javascript/session) object which provides\n * information about the active session and methods to manage it.\n *\n * @example\n * <script setup>\n * import { useSession } from '@clerk/vue'\n *\n * const { isLoaded, session, isSignedIn } = useSession()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else-if=\"!isSignedIn\">\n * <!-- Handle not signed in state -->\n * </div>\n *\n * <div v-else>\n * <p>This session has been active since {{ session.lastActiveAt.toLocaleString() }}</p>\n * </div>\n * </template>\n */\nexport const useSession: UseSession = () => {\n const { sessionCtx, clerk } = useClerkContext('useSession');\n\n const result = computed<UseSessionReturn>(() => {\n if (sessionCtx.value === undefined) {\n return { isLoaded: false, isSignedIn: undefined, session: undefined };\n }\n\n const isSignedOut = sessionCtx.value === null;\n if (isSignedOut) {\n return { isLoaded: true, isSignedIn: false, session: null };\n }\n\n return { isLoaded: true, isSignedIn: !!clerk.value?.isSignedIn, session: sessionCtx.value };\n });\n\n return toComputedRefs(result);\n};\n","import { eventMethodCalled } from '@clerk/shared/telemetry';\nimport type { UseSignInReturn } from '@clerk/types';\nimport { computed, watch } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSignIn = () => ToComputedRefs<UseSignInReturn>;\n\n/**\n * Returns the current [`SignIn`](https://clerk.com/docs/reference/javascript/sign-in) object which provides\n * methods and state for managing the sign-in flow.\n *\n * @example\n * <script setup>\n * import { useSignIn } from '@clerk/vue'\n *\n * const { isLoaded, signIn } = useSignIn()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else>\n * The current sign in attempt status is {{ signIn.status }}.\n * </div>\n * </template>\n */\nexport const useSignIn: UseSignIn = () => {\n const { clerk, clientCtx } = useClerkContext('useSignIn');\n\n const unwatch = watch(clerk, value => {\n if (value) {\n value.telemetry?.record(eventMethodCalled('useSignIn'));\n unwatch();\n }\n });\n\n const result = computed<UseSignInReturn>(() => {\n if (!clerk.value || !clientCtx.value) {\n return { isLoaded: false, signIn: undefined, setActive: undefined };\n }\n\n return {\n isLoaded: true,\n signIn: clientCtx.value.signIn,\n setActive: clerk.value.setActive,\n };\n });\n\n return toComputedRefs(result);\n};\n","import { eventMethodCalled } from '@clerk/shared/telemetry';\nimport type { UseSignUpReturn } from '@clerk/types';\nimport { computed, watch } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSignUp = () => ToComputedRefs<UseSignUpReturn>;\n\n/**\n * Returns the current [`SignUp`](https://clerk.com/docs/reference/javascript/sign-up) object which provides\n * methods and state for managing the sign-up flow.\n *\n * @example\n * <script setup>\n * import { useSignUp } from '@clerk/vue'\n *\n * const { isLoaded, signUp } = useSignUp()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else>\n * The current sign-up attempt status is {{ signUp.status }}.\n * </div>\n * </template>\n */\nexport const useSignUp: UseSignUp = () => {\n const { clerk, clientCtx } = useClerkContext('useSignUp');\n\n const unwatch = watch(clerk, value => {\n if (value) {\n value.telemetry?.record(eventMethodCalled('useSignUp'));\n unwatch();\n }\n });\n\n const result = computed<UseSignUpReturn>(() => {\n if (!clerk.value || !clientCtx.value) {\n return { isLoaded: false, signUp: undefined, setActive: undefined };\n }\n\n return {\n isLoaded: true,\n signUp: clientCtx.value.signUp,\n setActive: clerk.value.setActive,\n };\n });\n\n return toComputedRefs(result);\n};\n","import type { UseSessionListReturn } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSessionList = () => ToComputedRefs<UseSessionListReturn>;\n\n/**\n * Returns an array of [`Session`](https://clerk.com/docs/reference/javascript/session) objects that have been\n * registered on the client device.\n *\n * @example\n * <script setup>\n * import { useSessionList } from '@clerk/vue'\n *\n * const { isLoaded, sessions } = useSessionList()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else>\n * <p>\n * Welcome back. You have been here\n * {{ sessions.length }} times before.\n * </p>\n * </div>\n * </template>\n */\nexport const useSessionList: UseSessionList = () => {\n const { clerk, clientCtx } = useClerkContext('useSessionList');\n\n const result = computed<UseSessionListReturn>(() => {\n if (!clientCtx.value) {\n return { isLoaded: false, sessions: undefined, setActive: undefined };\n }\n\n return {\n isLoaded: true,\n sessions: clientCtx.value.sessions,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n setActive: clerk.value!.setActive,\n };\n });\n\n return toComputedRefs(result);\n};\n","import { getCurrentOrganizationMembership } from '@clerk/shared/organization';\nimport type { OrganizationMembershipResource, OrganizationResource } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\nimport { useSession } from './useSession';\n\ntype UseOrganizationReturn =\n | {\n isLoaded: false;\n organization: undefined;\n membership: undefined;\n }\n | {\n isLoaded: true;\n organization: OrganizationResource;\n membership: undefined;\n }\n | {\n isLoaded: boolean;\n organization: OrganizationResource | null;\n membership: OrganizationMembershipResource | null | undefined;\n };\n\ntype UseOrganization = () => ToComputedRefs<UseOrganizationReturn>;\n\n/**\n * Returns the current [`Organization`](https://clerk.com/docs/reference/javascript/organization/organization) object\n * along with loading states and membership information.\n *\n * @example\n * <script setup>\n * import { useOrganization } from '@clerk/vue'\n *\n * const { isLoaded, organization, membership } = useOrganization()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else-if=\"organization\">\n * <h1>{{ organization.name }}</h1>\n * <p>Your role: {{ membership.role }}</p>\n * </div>\n *\n * <div v-else>\n * No active organization\n * </div>\n * </template>\n */\nexport const useOrganization: UseOrganization = () => {\n const { clerk, organizationCtx } = useClerkContext('useOrganization');\n const { session } = useSession();\n\n const result = computed<UseOrganizationReturn>(() => {\n if (organizationCtx.value === undefined) {\n return { isLoaded: false, organization: undefined, membership: undefined };\n }\n\n if (organizationCtx.value === null) {\n return { isLoaded: true, organization: null, membership: null };\n }\n\n /** In SSR context we include only the organization object when loadOrg is set to true. */\n if (!clerk.value?.loaded) {\n return {\n isLoaded: true,\n organization: organizationCtx.value,\n membership: undefined,\n };\n }\n\n return {\n isLoaded: clerk.value.loaded,\n organization: organizationCtx.value,\n membership: getCurrentOrganizationMembership(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n session.value!.user.organizationMemberships,\n organizationCtx.value.id,\n ),\n };\n });\n\n return toComputedRefs(result);\n};\n","import type { ClerkOptions } from '@clerk/types';\n\ntype ClerkUpdateOptions = Pick<ClerkOptions, 'appearance' | 'localization'>;\n\n/**\n * Updates Clerk's options at runtime.\n *\n * @param options - The Clerk options to update\n *\n * @example\n * import { frFR } from '@clerk/localizations';\n * import { dark } from '@clerk/themes';\n *\n * updateClerkOptions({\n * appearance: { baseTheme: dark },\n * localization: frFR\n * });\n */\nexport function updateClerkOptions(options: ClerkUpdateOptions) {\n if (!window.Clerk) {\n throw new Error('Missing Clerk instance');\n }\n\n // @ts-expect-error - `__unstable__updateProps` is not exposed as public API from `@clerk/types`\n void window.Clerk.__unstable__updateProps({\n options: {\n localization: options.localization,\n },\n appearance: options.appearance,\n });\n}\n","import { defineComponent, inject } from 'vue';\n\nimport { errorThrower } from '../../../errors/errorThrower';\nimport { userProfileLinkRenderedError, userProfilePageRenderedError } from '../../../errors/messages';\nimport { UserProfileInjectionKey } from '../../../keys';\nimport type { UserProfileLinkProps, UserProfilePageProps } from '../../../types';\nimport _UserProfile from './UserProfile.vue';\n\nexport const UserProfilePage = defineComponent(\n (props: UserProfilePageProps, { slots }) => {\n const ctx = inject(UserProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userProfilePageRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: UserProfilePage,\n });\n\n return () => null;\n },\n { name: 'UserProfilePage' },\n);\n;Object.defineProperty(UserProfilePage, \"props\", {\n value: [\"label\",\"url\"],\n});\n\nexport const UserProfileLink = defineComponent(\n (props: UserProfileLinkProps, { slots }) => {\n const ctx = inject(UserProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userProfileLinkRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: UserProfileLink,\n });\n\n return () => null;\n },\n { name: 'UserProfileLink' },\n);\n;Object.defineProperty(UserProfileLink, \"props\", {\n value: [\"url\",\"label\"],\n});\n\nexport const UserProfile = Object.assign(_UserProfile, {\n Page: UserProfilePage,\n Link: UserProfileLink,\n});\n","import { logErrorInDevMode } from '@clerk/shared/utils';\nimport type { CustomPage } from '@clerk/types';\nimport type { Component } from 'vue';\nimport { ref } from 'vue';\n\nimport { OrganizationProfileLink, OrganizationProfilePage } from '../components/ui-components/OrganizationProfile';\nimport { UserProfileLink, UserProfilePage } from '../components/ui-components/UserProfile';\nimport { customLinkWrongProps, customPageWrongProps } from '../errors/messages';\nimport type { AddCustomPagesParams } from '../types';\nimport { isThatComponent } from './componentValidation';\nimport { useCustomElementPortal } from './useCustomElementPortal';\n\nexport const useUserProfileCustomPages = () => {\n const { customPages, customPagesPortals, addCustomPage } = useCustomPages({\n reorderItemsLabels: ['account', 'security'],\n PageComponent: UserProfilePage,\n LinkComponent: UserProfileLink,\n componentName: 'UserProfile',\n });\n\n const addUserProfileCustomPage = (params: AddCustomPagesParams) => {\n return addCustomPage(params);\n };\n\n return {\n customPages,\n customPagesPortals,\n addCustomPage: addUserProfileCustomPage,\n };\n};\n\nexport const useOrganizationProfileCustomPages = () => {\n const { customPages, customPagesPortals, addCustomPage } = useCustomPages({\n reorderItemsLabels: ['general', 'members'],\n PageComponent: OrganizationProfilePage,\n LinkComponent: OrganizationProfileLink,\n componentName: 'OrganizationProfile',\n });\n\n const addOrganizationProfileCustomPage = (params: AddCustomPagesParams) => {\n return addCustomPage(params);\n };\n\n return {\n customPages,\n customPagesPortals,\n addCustomPage: addOrganizationProfileCustomPage,\n };\n};\n\ntype UseCustomPagesParams = {\n LinkComponent: Component;\n PageComponent: Component;\n reorderItemsLabels: string[];\n componentName: string;\n};\n\nexport const useCustomPages = (customPagesParams: UseCustomPagesParams) => {\n const customPages = ref<CustomPage[]>([]);\n const { portals: customPagesPortals, mount, unmount } = useCustomElementPortal();\n const { PageComponent, LinkComponent, reorderItemsLabels, componentName } = customPagesParams;\n\n const addCustomPage = (params: AddCustomPagesParams) => {\n const { props, slots, component } = params;\n const { label, url } = props;\n\n if (isThatComponent(component, PageComponent)) {\n if (isReorderItem(props, slots, reorderItemsLabels)) {\n // This is a reordering item\n customPages.value.push({ label });\n } else if (isCustomPage(props, slots)) {\n // This is a custom page\n customPages.value.push({\n label,\n url,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n mount(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.default!);\n },\n unmount,\n });\n } else {\n logErrorInDevMode(customPageWrongProps(componentName));\n return;\n }\n }\n\n if (isThatComponent(component, LinkComponent)) {\n if (isExternalLink(props, slots)) {\n // This is an external link\n customPages.value.push({\n label,\n url,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n });\n } else {\n logErrorInDevMode(customLinkWrongProps(componentName));\n return;\n }\n }\n };\n\n return {\n customPages,\n customPagesPortals,\n addCustomPage,\n };\n};\n\nconst isReorderItem = (props: any, slots: AddCustomPagesParams['slots'], validItems: string[]): boolean => {\n const { label, url } = props;\n const { default: defaultSlot, labelIcon } = slots;\n return !defaultSlot && !url && !labelIcon && validItems.some(v => v === label);\n};\n\nconst isCustomPage = (props: any, slots: AddCustomPagesParams['slots']): boolean => {\n const { label, url } = props;\n const { default: defaultSlot, labelIcon } = slots;\n return !!defaultSlot && !!url && !!labelIcon && !!label;\n};\n\nconst isExternalLink = (props: any, slots: AddCustomPagesParams['slots']): boolean => {\n const { label, url } = props;\n const { default: defaultSlot, labelIcon } = slots;\n return !defaultSlot && !!url && !!labelIcon && !!label;\n};\n","import { defineComponent, inject } from 'vue';\n\nimport { errorThrower } from '../../../errors/errorThrower';\nimport { organizationProfileLinkRenderedError, organizationProfilePageRenderedError } from '../../../errors/messages';\nimport { OrganizationProfileInjectionKey } from '../../../keys';\nimport type { OrganizationLinkProps, OrganizationProfilePageProps } from '../../../types';\nimport _OrganizationProfile from './OrganizationProfile.vue';\n\nexport const OrganizationProfilePage = defineComponent(\n (props: OrganizationProfilePageProps, { slots }) => {\n const ctx = inject(OrganizationProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(organizationProfilePageRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: OrganizationProfilePage,\n });\n\n return () => null;\n },\n { name: 'OrganizationProfilePage' },\n);\n;Object.defineProperty(OrganizationProfilePage, \"props\", {\n value: [\"label\",\"url\"],\n});\n\nexport const OrganizationProfileLink = defineComponent(\n (props: OrganizationLinkProps, { slots }) => {\n const ctx = inject(OrganizationProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(organizationProfileLinkRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: OrganizationProfileLink,\n });\n\n return () => null;\n },\n { name: 'OrganizationProfileLink' },\n);\n;Object.defineProperty(OrganizationProfileLink, \"props\", {\n value: [\"url\",\"label\"],\n});\n\nexport const OrganizationProfile = Object.assign(_OrganizationProfile, {\n Page: OrganizationProfilePage,\n Link: OrganizationProfileLink,\n});\n","<script setup lang=\"ts\">\nimport { computed, provide } from 'vue';\nimport { useOrganizationProfileCustomPages } from '../../../utils/useCustomPages';\nimport { useClerk } from '../../../composables';\nimport type { OrganizationProfileProps } from '@clerk/types';\nimport { OrganizationProfileInjectionKey } from '../../../keys';\nimport { ClerkHostRenderer, CustomPortalsRenderer } from '../../ClerkHostRenderer';\n\ntype Props = Omit<OrganizationProfileProps, 'customPages'>;\nconst props = defineProps<Props>();\n\nconst clerk = useClerk();\n\nconst { customPages, customPagesPortals, addCustomPage } = useOrganizationProfileCustomPages();\n\nconst finalProps = computed(() => ({\n ...props,\n customPages: customPages.value,\n}));\n\nprovide(OrganizationProfileInjectionKey, {\n addCustomPage,\n});\n</script>\n\n<template>\n <ClerkHostRenderer\n :mount=\"clerk?.mountOrganizationProfile\"\n :unmount=\"clerk?.unmountOrganizationProfile\"\n :props=\"finalProps\"\n :update-props=\"(clerk as any)?.__unstable__updateProps\"\n />\n <CustomPortalsRenderer :custom-pages-portals=\"customPagesPortals\" />\n <slot />\n</template>\n","import { type Component } from 'vue';\n\nexport const isThatComponent = (v: any, component: Component): v is Component => {\n return !!v && isRenderFunction(v) && v.name === component.name;\n};\n\nconst isRenderFunction = (v: any): v is Component => {\n return 'name' in v && 'setup' in v;\n};\n","import type { Slot } from 'vue';\nimport { computed, h, ref, Teleport } from 'vue';\n\ninterface RawPortal {\n id: string;\n el: HTMLDivElement;\n slot: Slot;\n}\n\nfunction generateElementIdentifier() {\n return Math.random().toString(36).substring(2, 7);\n}\n\nexport const useCustomElementPortal = () => {\n const rawPortals = ref<RawPortal[]>([]);\n const portals = computed(() => {\n return rawPortals.value.map(item => {\n return h(Teleport, { to: item.el }, item.slot());\n });\n });\n\n const mount = (el: HTMLDivElement, slot: Slot) => {\n const id = generateElementIdentifier();\n el.setAttribute('data-clerk-mount-id', id);\n rawPortals.value.push({\n id,\n el,\n slot,\n });\n };\n\n const unmount = (el: HTMLDivElement | undefined) => {\n const id = el?.getAttribute('data-clerk-mount-id');\n if (id) {\n const index = rawPortals.value.findIndex(portal => portal.id === id);\n if (index !== -1) {\n rawPortals.value.splice(index, 1);\n }\n }\n };\n\n return {\n portals,\n mount,\n unmount,\n };\n};\n","import { OrganizationProfileLink, OrganizationProfilePage } from '../OrganizationProfile';\nimport _OrganizationSwitcher from './OrganizationSwitcher.vue';\n\nexport const OrganizationSwitcher = Object.assign(_OrganizationSwitcher, {\n OrganizationProfilePage,\n OrganizationProfileLink,\n});\n","import { defineComponent, inject, provide } from 'vue';\n\nimport { errorThrower } from '../../../errors/errorThrower';\nimport {\n userButtonMenuActionRenderedError,\n userButtonMenuItemsRenderedError,\n userButtonMenuLinkRenderedError,\n} from '../../../errors/messages';\nimport { UserButtonInjectionKey, UserButtonMenuItemsInjectionKey } from '../../../keys';\nimport type { UserButtonActionProps, UserButtonLinkProps } from '../../../types';\nimport { UserProfileLink, UserProfilePage } from '../UserProfile';\nimport _UserButton from './UserButton.vue';\n\nconst MenuItems = defineComponent((_, { slots }) => {\n const ctx = inject(UserButtonInjectionKey);\n\n if (!ctx) {\n return errorThrower.throw(userButtonMenuItemsRenderedError);\n }\n\n provide(UserButtonMenuItemsInjectionKey, ctx);\n return () => slots.default?.();\n});\n\nexport const MenuAction = defineComponent(\n (props: UserButtonActionProps, { slots }) => {\n const ctx = inject(UserButtonMenuItemsInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userButtonMenuActionRenderedError);\n }\n\n ctx.addCustomMenuItem({\n props,\n slots,\n component: MenuAction,\n });\n\n return () => null;\n },\n { name: 'MenuAction' },\n);\n;Object.defineProperty(MenuAction, \"props\", {\n value: [\"label\",\"onClick\",\"open\"],\n});\n\nexport const MenuLink = defineComponent(\n (props: UserButtonLinkProps, { slots }) => {\n const ctx = inject(UserButtonMenuItemsInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userButtonMenuLinkRenderedError);\n }\n\n ctx.addCustomMenuItem({\n props,\n slots,\n component: MenuLink,\n });\n\n return () => null;\n },\n { name: 'MenuLink' },\n);\n;Object.defineProperty(MenuLink, \"props\", {\n value: [\"href\",\"label\"],\n});\n\nexport const UserButton = Object.assign(_UserButton, {\n MenuItems,\n Action: MenuAction,\n Link: MenuLink,\n UserProfilePage,\n UserProfileLink,\n});\n","import { logErrorInDevMode } from '@clerk/shared/utils';\nimport type { CustomMenuItem } from '@clerk/types';\nimport { ref } from 'vue';\n\nimport { MenuAction, MenuLink } from '../components/ui-components/UserButton';\nimport { userButtonMenuItemActionWrongProps, userButtonMenuItemLinkWrongProps } from '../errors/messages';\nimport type { AddCustomMenuItemParams, UserButtonActionProps, UserButtonLinkProps } from '../types';\nimport { isThatComponent } from './componentValidation';\nimport { useCustomElementPortal } from './useCustomElementPortal';\n\nexport const useUserButtonCustomMenuItems = () => {\n const customMenuItems = ref<CustomMenuItem[]>([]);\n const { portals: customMenuItemsPortals, mount, unmount } = useCustomElementPortal();\n const reorderItemsLabels = ['manageAccount', 'signOut'];\n\n function addCustomMenuItem(params: AddCustomMenuItemParams) {\n const { props, component, slots } = params;\n const { label, onClick, open, href } = props;\n\n if (isThatComponent(component, MenuAction)) {\n if (isReorderItem(props, slots, reorderItemsLabels)) {\n // This is a reordering item\n customMenuItems.value.push({ label });\n } else if (isCustomMenuItem(props, slots)) {\n const baseItem: CustomMenuItem = {\n label,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n };\n\n if (onClick !== undefined) {\n customMenuItems.value.push({\n ...baseItem,\n onClick,\n open,\n });\n } else if (open !== undefined) {\n customMenuItems.value.push({\n ...baseItem,\n open: open.startsWith('/') ? open : `/${open}`,\n });\n } else {\n // Handle the case where neither onClick nor open is defined\n logErrorInDevMode('Custom menu item must have either onClick or open property');\n return;\n }\n } else {\n logErrorInDevMode(userButtonMenuItemActionWrongProps);\n return;\n }\n }\n\n if (isThatComponent(component, MenuLink)) {\n if (isExternalLink(props, slots)) {\n customMenuItems.value.push({\n label,\n href,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n });\n } else {\n logErrorInDevMode(userButtonMenuItemLinkWrongProps);\n return;\n }\n }\n }\n\n return {\n customMenuItems,\n customMenuItemsPortals,\n addCustomMenuItem,\n };\n};\n\nconst isReorderItem = (props: any, slots: AddCustomMenuItemParams['slots'], validItems: string[]): boolean => {\n const { label, onClick } = props;\n const { labelIcon } = slots;\n return !onClick && !labelIcon && validItems.some(v => v === label);\n};\n\nconst isCustomMenuItem = (props: any, slots: AddCustomMenuItemParams['slots']): props is UserButtonActionProps => {\n const { label, onClick, open } = props;\n const { labelIcon } = slots;\n return !!labelIcon && !!label && (typeof onClick === 'function' || typeof open === 'string');\n};\n\nconst isExternalLink = (props: any, slots: AddCustomMenuItemParams['slots']): props is UserButtonLinkProps => {\n const { label, href } = props;\n const { labelIcon } = slots;\n return !!href && !!labelIcon && !!label;\n};\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { SignInButtonProps } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\nconst props = defineProps<SignInButtonProps>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign in');\n return assertSingleChild(children, 'SignInButton');\n}\n\nfunction clickHandler() {\n const { mode, ...opts } = props;\n\n if (mode === 'modal') {\n return clerk.value?.openSignIn({ ...opts, appearance: props.appearance });\n }\n\n const { withSignUp, ...redirectOpts } = opts;\n\n void clerk.value?.redirectToSignIn({\n ...redirectOpts,\n signInFallbackRedirectUrl: props.fallbackRedirectUrl,\n signInForceRedirectUrl: props.forceRedirectUrl,\n });\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { SignUpButtonProps } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\nconst props = defineProps<SignUpButtonProps>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign up');\n return assertSingleChild(children, 'SignUpButton');\n}\n\nfunction clickHandler() {\n const { mode, ...opts } = props;\n\n if (mode === 'modal') {\n return clerk.value?.openSignUp({ ...opts, appearance: props.appearance });\n }\n\n void clerk.value?.redirectToSignUp({\n ...opts,\n signUpFallbackRedirectUrl: props.fallbackRedirectUrl,\n signUpForceRedirectUrl: props.forceRedirectUrl,\n });\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { SignOutOptions } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\ninterface SignOutButtonProps {\n signOutOptions?: SignOutOptions;\n sessionId?: string;\n redirectUrl?: string;\n}\n\nconst props = defineProps<SignOutButtonProps>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign out');\n return assertSingleChild(children, 'SignOutButton');\n}\n\nfunction clickHandler() {\n const signOutOptions: SignOutOptions = {\n redirectUrl: props.signOutOptions?.redirectUrl ?? props.redirectUrl,\n sessionId: props.signOutOptions?.sessionId ?? props.sessionId,\n };\n void clerk.value?.signOut(signOutOptions);\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { RedirectUrlProp } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\ntype Props = RedirectUrlProp & {\n mode?: 'modal' | 'redirect';\n};\n\nconst props = defineProps<Props>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign in with Metamask');\n return assertSingleChild(children, 'SignInWithMetamaskButton');\n}\n\nfunction clickHandler() {\n void clerk.value?.authenticateWithMetamask({ redirectUrl: props.redirectUrl || undefined });\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","import { inBrowser } from '@clerk/shared/browser';\nimport { deriveState } from '@clerk/shared/deriveState';\nimport { loadClerkJsScript, type LoadClerkJsScriptOptions } from '@clerk/shared/loadClerkJsScript';\nimport type { Clerk, ClientResource, InitialState, MultiDomainAndOrProxy, Resources, Without } from '@clerk/types';\nimport type { Plugin } from 'vue';\nimport { computed, ref, shallowRef, triggerRef } from 'vue';\n\nimport { ClerkInjectionKey } from './keys';\n\nexport type PluginOptions = Without<LoadClerkJsScriptOptions, 'domain' | 'proxyUrl'> &\n MultiDomainAndOrProxy & {\n initialState?: InitialState;\n };\n\nconst SDK_METADATA = {\n name: PACKAGE_NAME,\n version: PACKAGE_VERSION,\n environment: process.env.NODE_ENV,\n};\n\n/**\n * Vue plugin for integrating Clerk.\n *\n * @example\n * ```ts\n * import { createApp } from 'vue'\n * import { clerkPlugin } from '@clerk/vue'\n * import App from './App.vue'\n *\n * const app = createApp(App)\n *\n * app.use(clerkPlugin, {\n * publishableKey: 'pk_'\n * })\n *\n * app.mount('#app')\n * ```\n */\nexport const clerkPlugin: Plugin<[PluginOptions]> = {\n install(app, pluginOptions) {\n const { initialState } = pluginOptions || {};\n\n const loaded = shallowRef(false);\n const clerk = shallowRef<Clerk | null>(null);\n\n const resources = ref<Resources>({\n client: undefined as unknown as ClientResource,\n session: undefined,\n user: undefined,\n organization: undefined,\n });\n\n const options = {\n ...pluginOptions,\n sdkMetadata: pluginOptions.sdkMetadata || SDK_METADATA,\n } as LoadClerkJsScriptOptions;\n\n // We need this check for SSR apps like Nuxt as it will try to run this code on the server\n // and loadClerkJsScript contains browser-specific code\n if (inBrowser()) {\n void loadClerkJsScript(options).then(async () => {\n if (!window.Clerk) {\n throw new Error('Failed to download latest ClerkJS. Contact support@clerk.com.');\n }\n\n clerk.value = window.Clerk;\n await window.Clerk.load(options);\n loaded.value = true;\n\n clerk.value.addListener(payload => {\n resources.value = payload;\n });\n\n // When Clerk updates its state internally, Vue's reactivity system doesn't detect\n // the change since it's an external object being mutated. triggerRef() forces Vue\n // to re-evaluate all dependencies regardless of how the value was changed.\n triggerRef(clerk);\n });\n }\n\n const derivedState = computed(() => deriveState(loaded.value, resources.value, initialState));\n\n const authCtx = computed(() => {\n const {\n sessionId,\n userId,\n orgId,\n actor,\n orgRole,\n orgSlug,\n orgPermissions,\n sessionStatus,\n sessionClaims,\n factorVerificationAge,\n } = derivedState.value;\n return {\n sessionId,\n userId,\n actor,\n orgId,\n orgRole,\n orgSlug,\n orgPermissions,\n sessionStatus,\n sessionClaims,\n factorVerificationAge,\n };\n });\n const clientCtx = computed(() => resources.value.client);\n const userCtx = computed(() => derivedState.value.user);\n const sessionCtx = computed(() => derivedState.value.session);\n const organizationCtx = computed(() => derivedState.value.organization);\n\n app.provide(ClerkInjectionKey, {\n clerk,\n authCtx,\n clientCtx,\n sessionCtx,\n userCtx,\n organizationCtx,\n });\n },\n};\n"],"mappings":"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","names":["defineComponent","watch","watch","computed","computed","computed","computed","eventMethodCalled","computed","watch","watch","eventMethodCalled","computed","computed","computed","computed","computed","watch","defineComponent","defineComponent","watch","_createBlock","_createBlock","_createBlock","_createBlock","_createBlock","_createBlock","defineComponent","inject","computed","provide","ref","defineComponent","computed","computed","defineComponent","defineComponent","computed","h","ref","ref","computed","provide","_createVNode","_renderSlot","defineComponent","inject","defineComponent","inject","computed","provide","computed","provide","_createVNode","_renderSlot","_createBlock","defineComponent","inject","provide","computed","provide","logErrorInDevMode","ref","ref","isReorderItem","logErrorInDevMode","isExternalLink","computed","provide","_createVNode","_renderSlot","defineComponent","inject","provide","defineComponent","inject","_createBlock","_renderSlot","useAttrs","useSlots","useSlots","useAttrs","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_renderSlot","useAttrs","useSlots","useSlots","useAttrs","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_renderSlot","useAttrs","useSlots","useSlots","useAttrs","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_renderSlot","computed","ref","ref","computed"]}
1
+ {"version":3,"sources":["","","","","","","","","","","","","","","/home/runner/work/javascript/javascript/packages/vue/src/components/ui-components/OrganizationProfile/OrganizationProfile.vue","","","","","","/home/runner/work/javascript/javascript/packages/vue/src/components/SignInButton.vue","/home/runner/work/javascript/javascript/packages/vue/src/components/SignUpButton.vue","/home/runner/work/javascript/javascript/packages/vue/src/components/SignOutButton.vue","/home/runner/work/javascript/javascript/packages/vue/src/components/SignInWithMetamaskButton.vue",""],"sourcesContent":["import { setClerkJsLoadingErrorPackageName } from '@clerk/shared/loadClerkJsScript';\n\nimport { setErrorThrowerOptions } from './errors/errorThrower';\n\nexport * from './components';\nexport * from './composables';\n\nexport { clerkPlugin, type PluginOptions } from './plugin';\nexport { updateClerkOptions } from './utils';\n\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\nsetClerkJsLoadingErrorPackageName(PACKAGE_NAME);\n","import type { PropType } from 'vue';\nimport { defineComponent, h, onUnmounted, ref, watch, watchEffect } from 'vue';\n\nimport type { CustomPortalsRendererProps } from '../types';\nimport { ClerkLoaded } from './controlComponents';\n\ntype AnyObject = Record<string, any>;\n\nexport const CustomPortalsRenderer = defineComponent((props: CustomPortalsRendererProps) => {\n return () => [...(props?.customPagesPortals ?? []), ...(props?.customMenuItemsPortals ?? [])];\n});\n;Object.defineProperty(CustomPortalsRenderer, \"props\", {\n value: [\"customPagesPortals\",\"customMenuItemsPortals\"],\n});\n\n/**\n * Used to orchestrate mounting of Clerk components in a host Vue application.\n * Components are rendered into a specific DOM node using mount/unmount methods provided by the Clerk class.\n */\nexport const ClerkHostRenderer = defineComponent({\n props: {\n mount: {\n type: Function as PropType<(node: HTMLDivElement, props: AnyObject) => void>,\n required: false,\n },\n unmount: {\n type: Function as PropType<(node: HTMLDivElement) => void>,\n required: false,\n },\n open: {\n type: Function as PropType<(props: AnyObject) => void>,\n required: false,\n },\n close: {\n type: Function as PropType<() => void>,\n required: false,\n },\n updateProps: {\n type: Function as PropType<(props: { node: HTMLDivElement; props: AnyObject | undefined }) => void>,\n required: false,\n },\n props: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n },\n setup(props) {\n const portalRef = ref<HTMLDivElement | null>(null);\n let isPortalMounted = false;\n\n watchEffect(() => {\n // Skip if portal element isn't ready or component is already mounted\n if (!portalRef.value || isPortalMounted) {\n return;\n }\n\n if (props.mount) {\n props.mount(portalRef.value, props.props);\n }\n if (props.open) {\n props.open(props.props);\n }\n isPortalMounted = true;\n });\n\n watch(\n () => props.props,\n newProps => {\n if (isPortalMounted && props.updateProps && portalRef.value) {\n props.updateProps({ node: portalRef.value, props: newProps });\n }\n },\n { deep: true },\n );\n\n onUnmounted(() => {\n if (isPortalMounted && portalRef.value) {\n if (props.unmount) {\n props.unmount(portalRef.value);\n }\n if (props.close) {\n props.close();\n }\n }\n });\n\n return () => h(ClerkLoaded, () => h('div', { ref: portalRef }));\n },\n});\n","import { deprecated } from '@clerk/shared/deprecated';\nimport type {\n HandleOAuthCallbackParams,\n PendingSessionOptions,\n ProtectProps as _ProtectProps,\n RedirectOptions,\n} from '@clerk/types';\nimport { defineComponent } from 'vue';\n\nimport { useAuth } from '../composables/useAuth';\nimport { useClerk } from '../composables/useClerk';\nimport { useClerkContext } from '../composables/useClerkContext';\nimport { useClerkLoaded } from '../utils/useClerkLoaded';\n\nexport const SignedIn = defineComponent<PendingSessionOptions>(({ treatPendingAsSignedOut }, { slots }) => {\n const { userId } = useAuth({ treatPendingAsSignedOut });\n\n return () => (userId.value ? slots.default?.() : null);\n});\n;Object.defineProperty(SignedIn, \"props\", {\n value: [\"treatPendingAsSignedOut\"],\n});\n\nexport const SignedOut = defineComponent<PendingSessionOptions>(({ treatPendingAsSignedOut }, { slots }) => {\n const { userId } = useAuth({ treatPendingAsSignedOut });\n\n return () => (userId.value === null ? slots.default?.() : null);\n});\n;Object.defineProperty(SignedOut, \"props\", {\n value: [\"treatPendingAsSignedOut\"],\n});\n\nexport const ClerkLoaded = defineComponent((_, { slots }) => {\n const clerk = useClerk();\n\n return () => (clerk.value?.loaded ? slots.default?.() : null);\n});\n\nexport const ClerkLoading = defineComponent((_, { slots }) => {\n const clerk = useClerk();\n\n return () => (!clerk.value?.loaded ? slots.default?.() : null);\n});\n\nexport const RedirectToSignIn = defineComponent((props: RedirectOptions) => {\n const { sessionCtx, clientCtx } = useClerkContext('RedirectToSignIn');\n\n useClerkLoaded(clerk => {\n const hasSignedInSessions = clientCtx.value?.signedInSessions && clientCtx.value.signedInSessions.length > 0;\n\n if (sessionCtx.value === null && hasSignedInSessions) {\n void clerk.redirectToAfterSignOut();\n } else {\n void clerk.redirectToSignIn(props);\n }\n });\n\n return () => null;\n});\n;Object.defineProperty(RedirectToSignIn, \"props\", {\n value: [\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\"],\n});\n\nexport const RedirectToSignUp = defineComponent((props: RedirectOptions) => {\n useClerkLoaded(clerk => {\n void clerk.redirectToSignUp(props);\n });\n\n return () => null;\n});\n;Object.defineProperty(RedirectToSignUp, \"props\", {\n value: [\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\"],\n});\n\nexport const RedirectToTasks = defineComponent((props: RedirectOptions) => {\n useClerkLoaded(clerk => {\n void clerk.redirectToTasks(props);\n });\n\n return () => null;\n});\n;Object.defineProperty(RedirectToTasks, \"props\", {\n value: [\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\"],\n});\n\n/**\n * @deprecated Use [`redirectToUserProfile()`](https://clerk.com/docs/reference/javascript/clerk/redirect-methods#redirect-to-user-profile) instead.\n */\nexport const RedirectToUserProfile = defineComponent(() => {\n useClerkLoaded(clerk => {\n deprecated('RedirectToUserProfile', 'Use the `redirectToUserProfile()` method instead.');\n void clerk.redirectToUserProfile();\n });\n\n return () => null;\n});\n\n/**\n * @deprecated Use [`redirectToOrganizationProfile()`](https://clerk.com/docs/reference/javascript/clerk/redirect-methods#redirect-to-organization-profile) instead.\n */\nexport const RedirectToOrganizationProfile = defineComponent(() => {\n useClerkLoaded(clerk => {\n deprecated('RedirectToOrganizationProfile', 'Use the `redirectToOrganizationProfile()` method instead.');\n void clerk.redirectToOrganizationProfile();\n });\n\n return () => null;\n});\n\n/**\n * @deprecated Use [`redirectToCreateOrganization()`](https://clerk.com/docs/reference/javascript/clerk/redirect-methods#redirect-to-create-organization) instead.\n */\nexport const RedirectToCreateOrganization = defineComponent(() => {\n useClerkLoaded(clerk => {\n deprecated('RedirectToCreateOrganization', 'Use the `redirectToCreateOrganization()` method instead.');\n void clerk.redirectToCreateOrganization();\n });\n\n return () => null;\n});\n\nexport const AuthenticateWithRedirectCallback = defineComponent((props: HandleOAuthCallbackParams) => {\n useClerkLoaded(clerk => {\n void clerk.handleRedirectCallback(props);\n });\n\n return () => null;\n});\n;Object.defineProperty(AuthenticateWithRedirectCallback, \"props\", {\n value: [\"transferable\",\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"afterSignInUrl\",\"afterSignUpUrl\",\"redirectUrl\",\"signInUrl\",\"signUpUrl\",\"firstFactorUrl\",\"secondFactorUrl\",\"resetPasswordUrl\",\"continueSignUpUrl\",\"verifyEmailAddressUrl\",\"verifyPhoneNumberUrl\",\"reloadResource\"],\n});\n\nexport type ProtectProps = _ProtectProps & PendingSessionOptions;\n\nexport const Protect = defineComponent((props: ProtectProps, { slots }) => {\n const { isLoaded, has, userId } = useAuth({ treatPendingAsSignedOut: props.treatPendingAsSignedOut });\n\n return () => {\n /**\n * Avoid flickering children or fallback while clerk is loading sessionId or userId\n */\n if (!isLoaded.value) {\n return null;\n }\n\n /**\n * Fallback to UI provided by user or `null` if authorization checks failed\n */\n if (!userId.value) {\n return slots.fallback?.();\n }\n\n /**\n * Check against the results of `has` called inside the callback\n */\n if (typeof props.condition === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (props.condition(has.value!)) {\n return slots.default?.();\n }\n\n return slots.fallback?.();\n }\n\n if (props.role || props.permission || props.feature || props.plan) {\n if (has.value?.(props)) {\n return slots.default?.();\n }\n\n return slots.fallback?.();\n }\n\n /**\n * If neither of the authorization params are passed behave as the `<SignedIn/>`.\n * If fallback is present render that instead of rendering nothing.\n */\n return slots.default?.();\n };\n});\n;Object.defineProperty(Protect, \"props\", {\n value: [\"condition\",\"role\",\"permission\",\"feature\",\"plan\",\"treatPendingAsSignedOut\"],\n});\n","import type { LoadedClerk } from '@clerk/types';\nimport { watch } from 'vue';\n\nimport { useClerk } from '../composables';\n\n/**\n * Executes a callback when Clerk is loaded.\n *\n * @param callback - Function to execute once Clerk is loaded\n * @example\n * ```ts\n * useClerkLoaded((clerk) => {\n * clerk.redirectToSignUp(props);\n * });\n * ```\n */\nexport const useClerkLoaded = (callback: (clerk: LoadedClerk) => void) => {\n const clerk = useClerk();\n\n watch(\n clerk,\n unwrappedClerk => {\n if (!unwrappedClerk?.loaded) {\n return;\n }\n\n callback(unwrappedClerk as LoadedClerk);\n },\n { immediate: true },\n );\n};\n","import type { UseUserReturn } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseUser = () => ToComputedRefs<UseUserReturn>;\n\n/**\n * Returns the current user's [`User`](https://clerk.com/docs/reference/javascript/user/user) object along with loading states.\n *\n * @example\n * <script setup>\n * import { useUser } from '@clerk/vue'\n *\n * const { isLoaded, isSignedIn, user } = useUser()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else-if=\"isSignedIn\">\n * Hello {{ user.fullName }}!\n * </div>\n *\n * <div v-else>\n * Not signed in\n * </div>\n * </template>\n */\nexport const useUser: UseUser = () => {\n const { userCtx } = useClerkContext('useUser');\n\n const result = computed<UseUserReturn>(() => {\n if (userCtx.value === undefined) {\n return { isLoaded: false, isSignedIn: undefined, user: undefined };\n }\n\n if (userCtx.value === null) {\n return { isLoaded: true, isSignedIn: false, user: null };\n }\n\n return { isLoaded: true, isSignedIn: true, user: userCtx.value };\n });\n\n return toComputedRefs(result);\n};\n","import type { UseSessionReturn } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSession = () => ToComputedRefs<UseSessionReturn>;\n\n/**\n * Returns the current [`Session`](https://clerk.com/docs/reference/javascript/session) object which provides\n * information about the active session and methods to manage it.\n *\n * @example\n * <script setup>\n * import { useSession } from '@clerk/vue'\n *\n * const { isLoaded, session, isSignedIn } = useSession()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else-if=\"!isSignedIn\">\n * <!-- Handle not signed in state -->\n * </div>\n *\n * <div v-else>\n * <p>This session has been active since {{ session.lastActiveAt.toLocaleString() }}</p>\n * </div>\n * </template>\n */\nexport const useSession: UseSession = () => {\n const { sessionCtx, clerk } = useClerkContext('useSession');\n\n const result = computed<UseSessionReturn>(() => {\n if (sessionCtx.value === undefined) {\n return { isLoaded: false, isSignedIn: undefined, session: undefined };\n }\n\n const isSignedOut = sessionCtx.value === null;\n if (isSignedOut) {\n return { isLoaded: true, isSignedIn: false, session: null };\n }\n\n return { isLoaded: true, isSignedIn: !!clerk.value?.isSignedIn, session: sessionCtx.value };\n });\n\n return toComputedRefs(result);\n};\n","import { eventMethodCalled } from '@clerk/shared/telemetry';\nimport type { UseSignInReturn } from '@clerk/types';\nimport { computed, watch } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSignIn = () => ToComputedRefs<UseSignInReturn>;\n\n/**\n * Returns the current [`SignIn`](https://clerk.com/docs/reference/javascript/sign-in) object which provides\n * methods and state for managing the sign-in flow.\n *\n * @example\n * <script setup>\n * import { useSignIn } from '@clerk/vue'\n *\n * const { isLoaded, signIn } = useSignIn()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else>\n * The current sign in attempt status is {{ signIn.status }}.\n * </div>\n * </template>\n */\nexport const useSignIn: UseSignIn = () => {\n const { clerk, clientCtx } = useClerkContext('useSignIn');\n\n const unwatch = watch(clerk, value => {\n if (value) {\n value.telemetry?.record(eventMethodCalled('useSignIn'));\n unwatch();\n }\n });\n\n const result = computed<UseSignInReturn>(() => {\n if (!clerk.value || !clientCtx.value) {\n return { isLoaded: false, signIn: undefined, setActive: undefined };\n }\n\n return {\n isLoaded: true,\n signIn: clientCtx.value.signIn,\n setActive: clerk.value.setActive,\n };\n });\n\n return toComputedRefs(result);\n};\n","import { eventMethodCalled } from '@clerk/shared/telemetry';\nimport type { UseSignUpReturn } from '@clerk/types';\nimport { computed, watch } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSignUp = () => ToComputedRefs<UseSignUpReturn>;\n\n/**\n * Returns the current [`SignUp`](https://clerk.com/docs/reference/javascript/sign-up) object which provides\n * methods and state for managing the sign-up flow.\n *\n * @example\n * <script setup>\n * import { useSignUp } from '@clerk/vue'\n *\n * const { isLoaded, signUp } = useSignUp()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else>\n * The current sign-up attempt status is {{ signUp.status }}.\n * </div>\n * </template>\n */\nexport const useSignUp: UseSignUp = () => {\n const { clerk, clientCtx } = useClerkContext('useSignUp');\n\n const unwatch = watch(clerk, value => {\n if (value) {\n value.telemetry?.record(eventMethodCalled('useSignUp'));\n unwatch();\n }\n });\n\n const result = computed<UseSignUpReturn>(() => {\n if (!clerk.value || !clientCtx.value) {\n return { isLoaded: false, signUp: undefined, setActive: undefined };\n }\n\n return {\n isLoaded: true,\n signUp: clientCtx.value.signUp,\n setActive: clerk.value.setActive,\n };\n });\n\n return toComputedRefs(result);\n};\n","import type { UseSessionListReturn } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\n\ntype UseSessionList = () => ToComputedRefs<UseSessionListReturn>;\n\n/**\n * Returns an array of [`Session`](https://clerk.com/docs/reference/javascript/session) objects that have been\n * registered on the client device.\n *\n * @example\n * <script setup>\n * import { useSessionList } from '@clerk/vue'\n *\n * const { isLoaded, sessions } = useSessionList()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else>\n * <p>\n * Welcome back. You have been here\n * {{ sessions.length }} times before.\n * </p>\n * </div>\n * </template>\n */\nexport const useSessionList: UseSessionList = () => {\n const { clerk, clientCtx } = useClerkContext('useSessionList');\n\n const result = computed<UseSessionListReturn>(() => {\n if (!clientCtx.value) {\n return { isLoaded: false, sessions: undefined, setActive: undefined };\n }\n\n return {\n isLoaded: true,\n sessions: clientCtx.value.sessions,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n setActive: clerk.value!.setActive,\n };\n });\n\n return toComputedRefs(result);\n};\n","import { getCurrentOrganizationMembership } from '@clerk/shared/organization';\nimport type { OrganizationMembershipResource, OrganizationResource } from '@clerk/types';\nimport { computed } from 'vue';\n\nimport type { ToComputedRefs } from '../utils';\nimport { toComputedRefs } from '../utils';\nimport { useClerkContext } from './useClerkContext';\nimport { useSession } from './useSession';\n\ntype UseOrganizationReturn =\n | {\n isLoaded: false;\n organization: undefined;\n membership: undefined;\n }\n | {\n isLoaded: true;\n organization: OrganizationResource;\n membership: undefined;\n }\n | {\n isLoaded: boolean;\n organization: OrganizationResource | null;\n membership: OrganizationMembershipResource | null | undefined;\n };\n\ntype UseOrganization = () => ToComputedRefs<UseOrganizationReturn>;\n\n/**\n * Returns the current [`Organization`](https://clerk.com/docs/reference/javascript/organization/organization) object\n * along with loading states and membership information.\n *\n * @example\n * <script setup>\n * import { useOrganization } from '@clerk/vue'\n *\n * const { isLoaded, organization, membership } = useOrganization()\n * </script>\n *\n * <template>\n * <div v-if=\"!isLoaded\">\n * <!-- Handle loading state -->\n * </div>\n *\n * <div v-else-if=\"organization\">\n * <h1>{{ organization.name }}</h1>\n * <p>Your role: {{ membership.role }}</p>\n * </div>\n *\n * <div v-else>\n * No active organization\n * </div>\n * </template>\n */\nexport const useOrganization: UseOrganization = () => {\n const { clerk, organizationCtx } = useClerkContext('useOrganization');\n const { session } = useSession();\n\n const result = computed<UseOrganizationReturn>(() => {\n if (organizationCtx.value === undefined) {\n return { isLoaded: false, organization: undefined, membership: undefined };\n }\n\n if (organizationCtx.value === null) {\n return { isLoaded: true, organization: null, membership: null };\n }\n\n /** In SSR context we include only the organization object when loadOrg is set to true. */\n if (!clerk.value?.loaded) {\n return {\n isLoaded: true,\n organization: organizationCtx.value,\n membership: undefined,\n };\n }\n\n return {\n isLoaded: clerk.value.loaded,\n organization: organizationCtx.value,\n membership: getCurrentOrganizationMembership(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n session.value!.user.organizationMemberships,\n organizationCtx.value.id,\n ),\n };\n });\n\n return toComputedRefs(result);\n};\n","import type { ClerkOptions } from '@clerk/types';\n\ntype ClerkUpdateOptions = Pick<ClerkOptions, 'appearance' | 'localization'>;\n\n/**\n * Updates Clerk's options at runtime.\n *\n * @param options - The Clerk options to update\n *\n * @example\n * import { frFR } from '@clerk/localizations';\n * import { dark } from '@clerk/themes';\n *\n * updateClerkOptions({\n * appearance: { baseTheme: dark },\n * localization: frFR\n * });\n */\nexport function updateClerkOptions(options: ClerkUpdateOptions) {\n if (!window.Clerk) {\n throw new Error('Missing Clerk instance');\n }\n\n // @ts-expect-error - `__unstable__updateProps` is not exposed as public API from `@clerk/types`\n void window.Clerk.__unstable__updateProps({\n options: {\n localization: options.localization,\n },\n appearance: options.appearance,\n });\n}\n","import { defineComponent, inject } from 'vue';\n\nimport { errorThrower } from '../../../errors/errorThrower';\nimport { userProfileLinkRenderedError, userProfilePageRenderedError } from '../../../errors/messages';\nimport { UserProfileInjectionKey } from '../../../keys';\nimport type { UserProfileLinkProps, UserProfilePageProps } from '../../../types';\nimport _UserProfile from './UserProfile.vue';\n\nexport const UserProfilePage = defineComponent(\n (props: UserProfilePageProps, { slots }) => {\n const ctx = inject(UserProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userProfilePageRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: UserProfilePage,\n });\n\n return () => null;\n },\n { name: 'UserProfilePage' },\n);\n;Object.defineProperty(UserProfilePage, \"props\", {\n value: [\"label\",\"url\"],\n});\n\nexport const UserProfileLink = defineComponent(\n (props: UserProfileLinkProps, { slots }) => {\n const ctx = inject(UserProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userProfileLinkRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: UserProfileLink,\n });\n\n return () => null;\n },\n { name: 'UserProfileLink' },\n);\n;Object.defineProperty(UserProfileLink, \"props\", {\n value: [\"url\",\"label\"],\n});\n\nexport const UserProfile = Object.assign(_UserProfile, {\n Page: UserProfilePage,\n Link: UserProfileLink,\n});\n","import { logErrorInDevMode } from '@clerk/shared/utils';\nimport type { CustomPage } from '@clerk/types';\nimport type { Component } from 'vue';\nimport { ref } from 'vue';\n\nimport { OrganizationProfileLink, OrganizationProfilePage } from '../components/ui-components/OrganizationProfile';\nimport { UserProfileLink, UserProfilePage } from '../components/ui-components/UserProfile';\nimport { customLinkWrongProps, customPageWrongProps } from '../errors/messages';\nimport type { AddCustomPagesParams } from '../types';\nimport { isThatComponent } from './componentValidation';\nimport { useCustomElementPortal } from './useCustomElementPortal';\n\nexport const useUserProfileCustomPages = () => {\n const { customPages, customPagesPortals, addCustomPage } = useCustomPages({\n reorderItemsLabels: ['account', 'security'],\n PageComponent: UserProfilePage,\n LinkComponent: UserProfileLink,\n componentName: 'UserProfile',\n });\n\n const addUserProfileCustomPage = (params: AddCustomPagesParams) => {\n return addCustomPage(params);\n };\n\n return {\n customPages,\n customPagesPortals,\n addCustomPage: addUserProfileCustomPage,\n };\n};\n\nexport const useOrganizationProfileCustomPages = () => {\n const { customPages, customPagesPortals, addCustomPage } = useCustomPages({\n reorderItemsLabels: ['general', 'members'],\n PageComponent: OrganizationProfilePage,\n LinkComponent: OrganizationProfileLink,\n componentName: 'OrganizationProfile',\n });\n\n const addOrganizationProfileCustomPage = (params: AddCustomPagesParams) => {\n return addCustomPage(params);\n };\n\n return {\n customPages,\n customPagesPortals,\n addCustomPage: addOrganizationProfileCustomPage,\n };\n};\n\ntype UseCustomPagesParams = {\n LinkComponent: Component;\n PageComponent: Component;\n reorderItemsLabels: string[];\n componentName: string;\n};\n\nexport const useCustomPages = (customPagesParams: UseCustomPagesParams) => {\n const customPages = ref<CustomPage[]>([]);\n const { portals: customPagesPortals, mount, unmount } = useCustomElementPortal();\n const { PageComponent, LinkComponent, reorderItemsLabels, componentName } = customPagesParams;\n\n const addCustomPage = (params: AddCustomPagesParams) => {\n const { props, slots, component } = params;\n const { label, url } = props;\n\n if (isThatComponent(component, PageComponent)) {\n if (isReorderItem(props, slots, reorderItemsLabels)) {\n // This is a reordering item\n customPages.value.push({ label });\n } else if (isCustomPage(props, slots)) {\n // This is a custom page\n customPages.value.push({\n label,\n url,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n mount(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.default!);\n },\n unmount,\n });\n } else {\n logErrorInDevMode(customPageWrongProps(componentName));\n return;\n }\n }\n\n if (isThatComponent(component, LinkComponent)) {\n if (isExternalLink(props, slots)) {\n // This is an external link\n customPages.value.push({\n label,\n url,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n });\n } else {\n logErrorInDevMode(customLinkWrongProps(componentName));\n return;\n }\n }\n };\n\n return {\n customPages,\n customPagesPortals,\n addCustomPage,\n };\n};\n\nconst isReorderItem = (props: any, slots: AddCustomPagesParams['slots'], validItems: string[]): boolean => {\n const { label, url } = props;\n const { default: defaultSlot, labelIcon } = slots;\n return !defaultSlot && !url && !labelIcon && validItems.some(v => v === label);\n};\n\nconst isCustomPage = (props: any, slots: AddCustomPagesParams['slots']): boolean => {\n const { label, url } = props;\n const { default: defaultSlot, labelIcon } = slots;\n return !!defaultSlot && !!url && !!labelIcon && !!label;\n};\n\nconst isExternalLink = (props: any, slots: AddCustomPagesParams['slots']): boolean => {\n const { label, url } = props;\n const { default: defaultSlot, labelIcon } = slots;\n return !defaultSlot && !!url && !!labelIcon && !!label;\n};\n","import { defineComponent, inject } from 'vue';\n\nimport { errorThrower } from '../../../errors/errorThrower';\nimport { organizationProfileLinkRenderedError, organizationProfilePageRenderedError } from '../../../errors/messages';\nimport { OrganizationProfileInjectionKey } from '../../../keys';\nimport type { OrganizationLinkProps, OrganizationProfilePageProps } from '../../../types';\nimport _OrganizationProfile from './OrganizationProfile.vue';\n\nexport const OrganizationProfilePage = defineComponent(\n (props: OrganizationProfilePageProps, { slots }) => {\n const ctx = inject(OrganizationProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(organizationProfilePageRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: OrganizationProfilePage,\n });\n\n return () => null;\n },\n { name: 'OrganizationProfilePage' },\n);\n;Object.defineProperty(OrganizationProfilePage, \"props\", {\n value: [\"label\",\"url\"],\n});\n\nexport const OrganizationProfileLink = defineComponent(\n (props: OrganizationLinkProps, { slots }) => {\n const ctx = inject(OrganizationProfileInjectionKey);\n if (!ctx) {\n return errorThrower.throw(organizationProfileLinkRenderedError);\n }\n\n ctx.addCustomPage({\n props,\n slots,\n component: OrganizationProfileLink,\n });\n\n return () => null;\n },\n { name: 'OrganizationProfileLink' },\n);\n;Object.defineProperty(OrganizationProfileLink, \"props\", {\n value: [\"url\",\"label\"],\n});\n\nexport const OrganizationProfile = Object.assign(_OrganizationProfile, {\n Page: OrganizationProfilePage,\n Link: OrganizationProfileLink,\n});\n","<script setup lang=\"ts\">\nimport { computed, provide } from 'vue';\nimport { useOrganizationProfileCustomPages } from '../../../utils/useCustomPages';\nimport { useClerk } from '../../../composables';\nimport type { OrganizationProfileProps } from '@clerk/types';\nimport { OrganizationProfileInjectionKey } from '../../../keys';\nimport { ClerkHostRenderer, CustomPortalsRenderer } from '../../ClerkHostRenderer';\n\ntype Props = Omit<OrganizationProfileProps, 'customPages'>;\nconst props = defineProps<Props>();\n\nconst clerk = useClerk();\n\nconst { customPages, customPagesPortals, addCustomPage } = useOrganizationProfileCustomPages();\n\nconst finalProps = computed(() => ({\n ...props,\n customPages: customPages.value,\n}));\n\nprovide(OrganizationProfileInjectionKey, {\n addCustomPage,\n});\n</script>\n\n<template>\n <ClerkHostRenderer\n :mount=\"clerk?.mountOrganizationProfile\"\n :unmount=\"clerk?.unmountOrganizationProfile\"\n :props=\"finalProps\"\n :update-props=\"(clerk as any)?.__unstable__updateProps\"\n />\n <CustomPortalsRenderer :custom-pages-portals=\"customPagesPortals\" />\n <slot />\n</template>\n","import { type Component } from 'vue';\n\nexport const isThatComponent = (v: any, component: Component): v is Component => {\n return !!v && isRenderFunction(v) && v.name === component.name;\n};\n\nconst isRenderFunction = (v: any): v is Component => {\n return 'name' in v && 'setup' in v;\n};\n","import type { Slot } from 'vue';\nimport { computed, h, ref, Teleport } from 'vue';\n\ninterface RawPortal {\n id: string;\n el: HTMLDivElement;\n slot: Slot;\n}\n\nfunction generateElementIdentifier() {\n return Math.random().toString(36).substring(2, 7);\n}\n\nexport const useCustomElementPortal = () => {\n const rawPortals = ref<RawPortal[]>([]);\n const portals = computed(() => {\n return rawPortals.value.map(item => {\n return h(Teleport, { to: item.el }, item.slot());\n });\n });\n\n const mount = (el: HTMLDivElement, slot: Slot) => {\n const id = generateElementIdentifier();\n el.setAttribute('data-clerk-mount-id', id);\n rawPortals.value.push({\n id,\n el,\n slot,\n });\n };\n\n const unmount = (el: HTMLDivElement | undefined) => {\n const id = el?.getAttribute('data-clerk-mount-id');\n if (id) {\n const index = rawPortals.value.findIndex(portal => portal.id === id);\n if (index !== -1) {\n rawPortals.value.splice(index, 1);\n }\n }\n };\n\n return {\n portals,\n mount,\n unmount,\n };\n};\n","import { OrganizationProfileLink, OrganizationProfilePage } from '../OrganizationProfile';\nimport _OrganizationSwitcher from './OrganizationSwitcher.vue';\n\nexport const OrganizationSwitcher = Object.assign(_OrganizationSwitcher, {\n OrganizationProfilePage,\n OrganizationProfileLink,\n});\n","import { defineComponent, inject, provide } from 'vue';\n\nimport { errorThrower } from '../../../errors/errorThrower';\nimport {\n userButtonMenuActionRenderedError,\n userButtonMenuItemsRenderedError,\n userButtonMenuLinkRenderedError,\n} from '../../../errors/messages';\nimport { UserButtonInjectionKey, UserButtonMenuItemsInjectionKey } from '../../../keys';\nimport type { UserButtonActionProps, UserButtonLinkProps } from '../../../types';\nimport { UserProfileLink, UserProfilePage } from '../UserProfile';\nimport _UserButton from './UserButton.vue';\n\nconst MenuItems = defineComponent((_, { slots }) => {\n const ctx = inject(UserButtonInjectionKey);\n\n if (!ctx) {\n return errorThrower.throw(userButtonMenuItemsRenderedError);\n }\n\n provide(UserButtonMenuItemsInjectionKey, ctx);\n return () => slots.default?.();\n});\n\nexport const MenuAction = defineComponent(\n (props: UserButtonActionProps, { slots }) => {\n const ctx = inject(UserButtonMenuItemsInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userButtonMenuActionRenderedError);\n }\n\n ctx.addCustomMenuItem({\n props,\n slots,\n component: MenuAction,\n });\n\n return () => null;\n },\n { name: 'MenuAction' },\n);\n;Object.defineProperty(MenuAction, \"props\", {\n value: [\"label\",\"onClick\",\"open\"],\n});\n\nexport const MenuLink = defineComponent(\n (props: UserButtonLinkProps, { slots }) => {\n const ctx = inject(UserButtonMenuItemsInjectionKey);\n if (!ctx) {\n return errorThrower.throw(userButtonMenuLinkRenderedError);\n }\n\n ctx.addCustomMenuItem({\n props,\n slots,\n component: MenuLink,\n });\n\n return () => null;\n },\n { name: 'MenuLink' },\n);\n;Object.defineProperty(MenuLink, \"props\", {\n value: [\"href\",\"label\"],\n});\n\nexport const UserButton = Object.assign(_UserButton, {\n MenuItems,\n Action: MenuAction,\n Link: MenuLink,\n UserProfilePage,\n UserProfileLink,\n});\n","import { logErrorInDevMode } from '@clerk/shared/utils';\nimport type { CustomMenuItem } from '@clerk/types';\nimport { ref } from 'vue';\n\nimport { MenuAction, MenuLink } from '../components/ui-components/UserButton';\nimport { userButtonMenuItemActionWrongProps, userButtonMenuItemLinkWrongProps } from '../errors/messages';\nimport type { AddCustomMenuItemParams, UserButtonActionProps, UserButtonLinkProps } from '../types';\nimport { isThatComponent } from './componentValidation';\nimport { useCustomElementPortal } from './useCustomElementPortal';\n\nexport const useUserButtonCustomMenuItems = () => {\n const customMenuItems = ref<CustomMenuItem[]>([]);\n const { portals: customMenuItemsPortals, mount, unmount } = useCustomElementPortal();\n const reorderItemsLabels = ['manageAccount', 'signOut'];\n\n function addCustomMenuItem(params: AddCustomMenuItemParams) {\n const { props, component, slots } = params;\n const { label, onClick, open, href } = props;\n\n if (isThatComponent(component, MenuAction)) {\n if (isReorderItem(props, slots, reorderItemsLabels)) {\n // This is a reordering item\n customMenuItems.value.push({ label });\n } else if (isCustomMenuItem(props, slots)) {\n const baseItem: CustomMenuItem = {\n label,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n };\n\n if (onClick !== undefined) {\n customMenuItems.value.push({\n ...baseItem,\n onClick,\n open,\n });\n } else if (open !== undefined) {\n customMenuItems.value.push({\n ...baseItem,\n open: open.startsWith('/') ? open : `/${open}`,\n });\n } else {\n // Handle the case where neither onClick nor open is defined\n logErrorInDevMode('Custom menu item must have either onClick or open property');\n return;\n }\n } else {\n logErrorInDevMode(userButtonMenuItemActionWrongProps);\n return;\n }\n }\n\n if (isThatComponent(component, MenuLink)) {\n if (isExternalLink(props, slots)) {\n customMenuItems.value.push({\n label,\n href,\n mountIcon(el) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n mount(el, slots.labelIcon!);\n },\n unmountIcon: unmount,\n });\n } else {\n logErrorInDevMode(userButtonMenuItemLinkWrongProps);\n return;\n }\n }\n }\n\n return {\n customMenuItems,\n customMenuItemsPortals,\n addCustomMenuItem,\n };\n};\n\nconst isReorderItem = (props: any, slots: AddCustomMenuItemParams['slots'], validItems: string[]): boolean => {\n const { label, onClick } = props;\n const { labelIcon } = slots;\n return !onClick && !labelIcon && validItems.some(v => v === label);\n};\n\nconst isCustomMenuItem = (props: any, slots: AddCustomMenuItemParams['slots']): props is UserButtonActionProps => {\n const { label, onClick, open } = props;\n const { labelIcon } = slots;\n return !!labelIcon && !!label && (typeof onClick === 'function' || typeof open === 'string');\n};\n\nconst isExternalLink = (props: any, slots: AddCustomMenuItemParams['slots']): props is UserButtonLinkProps => {\n const { label, href } = props;\n const { labelIcon } = slots;\n return !!href && !!labelIcon && !!label;\n};\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { SignInButtonProps } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\nconst props = defineProps<SignInButtonProps>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign in');\n return assertSingleChild(children, 'SignInButton');\n}\n\nfunction clickHandler() {\n const { mode, ...opts } = props;\n\n if (mode === 'modal') {\n return clerk.value?.openSignIn({ ...opts, appearance: props.appearance });\n }\n\n const { withSignUp, ...redirectOpts } = opts;\n\n void clerk.value?.redirectToSignIn({\n ...redirectOpts,\n signInFallbackRedirectUrl: props.fallbackRedirectUrl,\n signInForceRedirectUrl: props.forceRedirectUrl,\n });\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { SignUpButtonProps } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\nconst props = defineProps<SignUpButtonProps>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign up');\n return assertSingleChild(children, 'SignUpButton');\n}\n\nfunction clickHandler() {\n const { mode, ...opts } = props;\n\n if (mode === 'modal') {\n return clerk.value?.openSignUp({ ...opts, appearance: props.appearance });\n }\n\n void clerk.value?.redirectToSignUp({\n ...opts,\n signUpFallbackRedirectUrl: props.fallbackRedirectUrl,\n signUpForceRedirectUrl: props.forceRedirectUrl,\n });\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { SignOutOptions } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\ninterface SignOutButtonProps {\n signOutOptions?: SignOutOptions;\n sessionId?: string;\n redirectUrl?: string;\n}\n\nconst props = defineProps<SignOutButtonProps>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign out');\n return assertSingleChild(children, 'SignOutButton');\n}\n\nfunction clickHandler() {\n const signOutOptions: SignOutOptions = {\n redirectUrl: props.signOutOptions?.redirectUrl ?? props.redirectUrl,\n sessionId: props.signOutOptions?.sessionId ?? props.sessionId,\n };\n void clerk.value?.signOut(signOutOptions);\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { useAttrs, useSlots } from 'vue';\nimport type { RedirectUrlProp } from '@clerk/types';\nimport { useClerk } from '../composables/useClerk';\nimport { assertSingleChild, normalizeWithDefaultValue } from '../utils';\n\ntype Props = RedirectUrlProp & {\n mode?: 'modal' | 'redirect';\n};\n\nconst props = defineProps<Props>();\n\nconst clerk = useClerk();\nconst slots = useSlots();\nconst attrs = useAttrs();\n\nfunction getChildComponent() {\n const children = normalizeWithDefaultValue(slots.default?.({}), 'Sign in with Metamask');\n return assertSingleChild(children, 'SignInWithMetamaskButton');\n}\n\nfunction clickHandler() {\n void clerk.value?.authenticateWithMetamask({ redirectUrl: props.redirectUrl || undefined });\n}\n</script>\n\n<template>\n <component\n :is=\"getChildComponent\"\n v-bind=\"attrs\"\n @click=\"clickHandler\"\n >\n <slot />\n </component>\n</template>\n","import { inBrowser } from '@clerk/shared/browser';\nimport { deriveState } from '@clerk/shared/deriveState';\nimport { loadClerkJsScript, type LoadClerkJsScriptOptions } from '@clerk/shared/loadClerkJsScript';\nimport type { Clerk, ClientResource, InitialState, MultiDomainAndOrProxy, Resources, Without } from '@clerk/types';\nimport type { Plugin } from 'vue';\nimport { computed, ref, shallowRef, triggerRef } from 'vue';\n\nimport { ClerkInjectionKey } from './keys';\n\nexport type PluginOptions = Without<LoadClerkJsScriptOptions, 'domain' | 'proxyUrl'> &\n MultiDomainAndOrProxy & {\n initialState?: InitialState;\n };\n\nconst SDK_METADATA = {\n name: PACKAGE_NAME,\n version: PACKAGE_VERSION,\n environment: process.env.NODE_ENV,\n};\n\n/**\n * Vue plugin for integrating Clerk.\n *\n * @example\n * ```ts\n * import { createApp } from 'vue'\n * import { clerkPlugin } from '@clerk/vue'\n * import App from './App.vue'\n *\n * const app = createApp(App)\n *\n * app.use(clerkPlugin, {\n * publishableKey: 'pk_'\n * })\n *\n * app.mount('#app')\n * ```\n */\nexport const clerkPlugin: Plugin<[PluginOptions]> = {\n install(app, pluginOptions) {\n const { initialState } = pluginOptions || {};\n\n const loaded = shallowRef(false);\n const clerk = shallowRef<Clerk | null>(null);\n\n const resources = ref<Resources>({\n client: undefined as unknown as ClientResource,\n session: undefined,\n user: undefined,\n organization: undefined,\n });\n\n const options = {\n ...pluginOptions,\n sdkMetadata: pluginOptions.sdkMetadata || SDK_METADATA,\n } as LoadClerkJsScriptOptions;\n\n // We need this check for SSR apps like Nuxt as it will try to run this code on the server\n // and loadClerkJsScript contains browser-specific code\n if (inBrowser()) {\n void loadClerkJsScript(options).then(async () => {\n if (!window.Clerk) {\n throw new Error('Failed to download latest ClerkJS. Contact support@clerk.com.');\n }\n\n clerk.value = window.Clerk;\n await window.Clerk.load(options);\n loaded.value = true;\n\n clerk.value.addListener(payload => {\n resources.value = payload;\n });\n\n // When Clerk updates its state internally, Vue's reactivity system doesn't detect\n // the change since it's an external object being mutated. triggerRef() forces Vue\n // to re-evaluate all dependencies regardless of how the value was changed.\n triggerRef(clerk);\n });\n }\n\n const derivedState = computed(() => deriveState(loaded.value, resources.value, initialState));\n\n const authCtx = computed(() => {\n const {\n sessionId,\n userId,\n orgId,\n actor,\n orgRole,\n orgSlug,\n orgPermissions,\n sessionStatus,\n sessionClaims,\n factorVerificationAge,\n } = derivedState.value;\n return {\n sessionId,\n userId,\n actor,\n orgId,\n orgRole,\n orgSlug,\n orgPermissions,\n sessionStatus,\n sessionClaims,\n factorVerificationAge,\n };\n });\n const clientCtx = computed(() => resources.value.client);\n const userCtx = computed(() => derivedState.value.user);\n const sessionCtx = computed(() => derivedState.value.session);\n const organizationCtx = computed(() => derivedState.value.organization);\n\n app.provide(ClerkInjectionKey, {\n clerk,\n authCtx,\n clientCtx,\n sessionCtx,\n userCtx,\n organizationCtx,\n });\n },\n};\n"],"mappings":"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","names":["defineComponent","watch","watch","computed","computed","computed","computed","eventMethodCalled","computed","watch","watch","eventMethodCalled","computed","computed","computed","computed","computed","watch","defineComponent","defineComponent","watch","_createBlock","_createBlock","_createBlock","_createBlock","_createBlock","_createBlock","defineComponent","inject","computed","provide","ref","defineComponent","computed","computed","defineComponent","defineComponent","computed","h","ref","ref","computed","provide","_createVNode","_renderSlot","defineComponent","inject","defineComponent","inject","computed","provide","computed","provide","_createVNode","_renderSlot","_createBlock","defineComponent","inject","provide","computed","provide","logErrorInDevMode","ref","ref","isReorderItem","logErrorInDevMode","isExternalLink","computed","provide","_createVNode","_renderSlot","defineComponent","inject","provide","defineComponent","inject","_createBlock","_renderSlot","useAttrs","useSlots","useSlots","useAttrs","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_renderSlot","useAttrs","useSlots","useSlots","useAttrs","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_renderSlot","useAttrs","useSlots","useSlots","useAttrs","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_renderSlot","computed","ref","ref","computed"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerk/vue",
3
- "version": "1.14.4-canary.v20251007151725",
3
+ "version": "1.14.4-canary.v20251007170333",
4
4
  "description": "Clerk SDK for Vue",
5
5
  "keywords": [
6
6
  "clerk",
@@ -49,8 +49,8 @@
49
49
  "dist"
50
50
  ],
51
51
  "dependencies": {
52
- "@clerk/shared": "^3.27.4-canary.v20251007151725",
53
- "@clerk/types": "^4.93.0-canary.v20251007151725"
52
+ "@clerk/shared": "^3.27.4-canary.v20251007170333",
53
+ "@clerk/types": "^4.93.0-canary.v20251007170333"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@testing-library/vue": "^8.1.0",