UNPKG

@ng-supabase/core

Version:

ng-supabase is a component library and helper utilities for integrating Supabase in your angular application.

120 lines (119 loc) 3.7 kB
import { UrlTree } from '@angular/router'; import { BehaviorSubject } from 'rxjs'; import { LogConfig } from './logging/log-config'; import { SocialSignIn, SocialSignInItem } from './sign-in/social-sign-in'; export declare const DEFAULT_ROUTES: ComponentRoutes; interface BaseSupabaseConfigProperties { apiKey: string; mainRoute?: string; signIn?: SignInConfigProperties; logging?: LogConfig; register?: RegisterProperties; setPassword?: SetPasswordProperties; routes?: Partial<ComponentRoutes>; profile?: ProfileProperties; } interface SupabaseConfigPropertiesByUrl extends BaseSupabaseConfigProperties { apiUrl: string; } interface SupabaseConfigPropertiesByProject extends BaseSupabaseConfigProperties { project: string; } export type SupabaseConfigProperties = SupabaseConfigPropertiesByUrl | SupabaseConfigPropertiesByProject; interface ComponentRoutes { main: string; signIn: string; register: string; registerOrSignIn: string; setPassword: string; resetPassword: string; userProfile?: string; postSignOut?: string; } interface UserRegistrationMetadata { label: string; field: string; type?: 'text' | 'number'; required?: boolean; defaultValue?: string | number; } interface RegisterProperties { title?: string; metadata?: UserRegistrationMetadata[]; } interface ProfileProperties { table?: string; avatarField?: string; firstNameField?: string; lastNameField?: string; } type SocialSignInFn = (social: SocialSignIn) => boolean | void; interface SignInConfigProperties { title?: string; magicLinks?: boolean; rememberMe?: boolean; socials?: SocialSignIn[]; socialIconsRoot?: string; rememberMeStorageKey?: string; otpEnabled?: boolean; otpLength?: number; redirectTo?: string | string[] | UrlTree | null | undefined; onSocialSignIn?: SocialSignInFn; } interface SetPasswordProperties { title?: string; requireConfirm?: boolean; showMessageOnSave?: boolean; redirectTo?: string | string[] | UrlTree | null | undefined; } declare class SetPasswordConfig implements SetPasswordProperties { title: string; requireConfirm: boolean; showMessageOnSave: boolean; constructor(init?: Partial<SetPasswordProperties>); } declare class ProfileConfig implements ProfileProperties { table: string; userIdField: string; firstNameField: string; lastNameField: string; avatarField: string; constructor(init?: Partial<ProfileProperties>); } declare class RegisterConfig implements RegisterConfig { title: string; metadata: UserRegistrationMetadata[]; constructor(init?: Partial<RegisterProperties>); } export declare class SignInConfig implements SignInConfigProperties { title: string; magicLinks: boolean; socials: SocialSignIn[]; rememberMe: boolean; socialIconsRoot: string; socialSignInItems: SocialSignInItem[]; redirectTo?: string | string[] | UrlTree | null | undefined; rememberMeStorageKey: string; otpEnabled: boolean; otpLength: number; onSocialSignIn?: SocialSignInFn; constructor(init?: Partial<SignInConfig>); private setSocialSignInItems; } export declare class SupabaseConfig { signIn: SignInConfig; api: BehaviorSubject<{ url: string; key: string; }>; logging?: LogConfig; mainRoute: string; setPassword: SetPasswordConfig; register: RegisterConfig; routes: ComponentRoutes; redirectParamName: string | null | undefined; profile: ProfileConfig; constructor(init: SupabaseConfigProperties); static toApiUrl(urlOrProjectId: string): string; } export {};