UNPKG

svelte-clerk

Version:

Svelte Clerk is the easiest way to add authentication and user management to your Svelte and SvelteKit applications. Add sign up, sign in, and profile management to your application in minutes.

27 lines (26 loc) 926 B
import type { LoadClerkJsScriptOptions } from '@clerk/shared'; import type { Clerk, ClerkOptions, ClientResource, Without } from '@clerk/shared/types'; import type { Snippet } from 'svelte'; import type { HTMLButtonAttributes } from 'svelte/elements'; export interface HeadlessBrowserClerk extends Clerk { load: (opts?: Without<ClerkOptions, 'isSatellite'>) => Promise<void>; updateClient: (client: ClientResource) => void; } export interface BrowserClerk extends HeadlessBrowserClerk { onComponentsReady: Promise<void>; components: unknown; } export type PropsWithChildren<T, P> = T & { children?: Snippet<[P]>; }; export type ClerkProviderProps = LoadClerkJsScriptOptions & { children: Snippet; }; declare global { interface Window { Clerk: HeadlessBrowserClerk | BrowserClerk; } } export type ButtonProps = Pick<HTMLButtonAttributes, 'style' | 'class'> & { asChild?: boolean; };