@rebasepro/client-firebase 0.5.0 → 0.6.0

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.
@@ -63,10 +63,10 @@ export interface FirebaseLoginViewProps {
63
63
 
64
64
  * @category Firebase
65
65
  */
66
- export declare function FirebaseLoginView({ children, allowSkipLogin, logo, signInOptions, firebaseApp, authController, noUserComponent, disableSignupScreen, disableResetPassword, disabled, additionalComponent, notAllowedError, className }: FirebaseLoginViewProps): import("react/jsx-runtime").JSX.Element;
66
+ export declare function FirebaseLoginView({ children, allowSkipLogin, logo, signInOptions, firebaseApp, authController, noUserComponent, disableSignupScreen, disableResetPassword, disabled, additionalComponent, notAllowedError, className }: FirebaseLoginViewProps): React.JSX.Element;
67
67
  export declare function LoginButton({ icon, onClick, text, disabled }: {
68
68
  icon: React.ReactNode;
69
69
  onClick: () => void;
70
70
  text: string;
71
71
  disabled?: boolean;
72
- }): import("react/jsx-runtime").JSX.Element;
72
+ }): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import { RebaseFirebaseAppProps } from "./RebaseFirebaseAppProps";
2
3
  /**
3
4
  * This is the default implementation of a Rebase app using the Firebase services
@@ -16,4 +17,4 @@ import { RebaseFirebaseAppProps } from "./RebaseFirebaseAppProps";
16
17
 
17
18
  * @category Firebase
18
19
  */
19
- export declare function RebaseFirebaseApp({ name, logo, logoDark, accessGate, collections, views, adminViews, textSearchControllerBuilder, allowSkipLogin, signInOptions, firebaseConfig, onFirebaseInit, appCheckOptions, dateTimeFormat, locale, basePath, baseCollectionPath, onAnalyticsEvent, propertyConfigs: propertyConfigsProp, plugins, autoOpenDrawer, firestoreIndexesBuilder, components, localTextSearchEnabled, userManagement }: RebaseFirebaseAppProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function RebaseFirebaseApp({ name, logo, logoDark, accessGate, collections, views, adminViews, textSearchControllerBuilder, allowSkipLogin, signInOptions, firebaseConfig, onFirebaseInit, appCheckOptions, dateTimeFormat, locale, basePath, baseCollectionPath, onAnalyticsEvent, propertyConfigs: propertyConfigsProp, plugins, autoOpenDrawer, firestoreIndexesBuilder, components, localTextSearchEnabled }: RebaseFirebaseAppProps): React.JSX.Element;
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import { AnalyticsEvent, AppView, AppViewsBuilder, EntityCollection, EntityCollectionsBuilder, RebasePlugin, Locale, PropertyConfig } from "@rebasepro/types";
3
3
  import { FirebaseAccessGate } from "../hooks/useFirebaseAccessGate";
4
- import { UserManagementDelegate } from "@rebasepro/types";
5
4
  import { FirebaseApp } from "@firebase/app";
6
5
  import { FirebaseLoginViewProps } from "./FirebaseLoginView";
7
6
  import { AppCheckOptions, FirebaseSignInOption, FirebaseSignInProvider, FirebaseUserWrapper, FirestoreTextSearchControllerBuilder } from "../types";
@@ -128,10 +127,6 @@ export type RebaseFirebaseAppProps = {
128
127
  firestoreIndexesBuilder?: FirestoreIndexesBuilder;
129
128
  localTextSearchEnabled?: boolean;
130
129
  components?: ComponentsRegistry;
131
- /**
132
- * Delegate for user and role management. Provides the admin views if specified.
133
- */
134
- userManagement?: UserManagementDelegate<FirebaseUserWrapper>;
135
130
  };
136
131
  export type ComponentsRegistry = {
137
132
  /**
@@ -1,6 +1,6 @@
1
- export declare const googleIcon: (mode: "light" | "dark") => import("react/jsx-runtime").JSX.Element;
2
- export declare const appleIcon: (mode: "light" | "dark") => import("react/jsx-runtime").JSX.Element;
3
- export declare const githubIcon: (mode: "light" | "dark") => import("react/jsx-runtime").JSX.Element;
4
- export declare const facebookIcon: (mode: "light" | "dark") => import("react/jsx-runtime").JSX.Element;
5
- export declare const microsoftIcon: (mode: "light" | "dark") => import("react/jsx-runtime").JSX.Element;
6
- export declare const twitterIcon: (mode: "light" | "dark") => import("react/jsx-runtime").JSX.Element;
1
+ export declare const googleIcon: (mode: "light" | "dark") => import("react").JSX.Element;
2
+ export declare const appleIcon: (mode: "light" | "dark") => import("react").JSX.Element;
3
+ export declare const githubIcon: (mode: "light" | "dark") => import("react").JSX.Element;
4
+ export declare const facebookIcon: (mode: "light" | "dark") => import("react").JSX.Element;
5
+ export declare const microsoftIcon: (mode: "light" | "dark") => import("react").JSX.Element;
6
+ export declare const twitterIcon: (mode: "light" | "dark") => import("react").JSX.Element;
@@ -1,4 +1,5 @@
1
- import { AuthController, DataDriver, User, UserManagementDelegate } from "@rebasepro/types";
1
+ import { AuthController, DataDriver, User } from "@rebasepro/types";
2
+ import { FirebaseAccessGate } from "./useFirebaseAccessGate";
2
3
  export interface Role {
3
4
  id: string;
4
5
  name: string;
@@ -43,4 +44,34 @@ export interface UserManagementDelegateParams<CONTROLLER extends AuthController<
43
44
  * @param roles
44
45
  * @param allowDefaultRolesCreation
45
46
  */
46
- export declare function useBuildUserManagement<CONTROLLER extends AuthController<User> = AuthController<User>, USER extends User = CONTROLLER extends AuthController<infer U> ? U : User>({ authController, dataSourceDelegate, roles: rolesProp, usersPath, rolesPath, allowDefaultRolesCreation }: UserManagementDelegateParams<CONTROLLER>): UserManagementDelegate<USER> & CONTROLLER;
47
+ export declare function useBuildUserManagement<CONTROLLER extends AuthController<User> = AuthController<User>, USER extends User = CONTROLLER extends AuthController<infer U> ? U : User>({ authController, dataSourceDelegate, roles: rolesProp, usersPath, rolesPath, allowDefaultRolesCreation }: UserManagementDelegateParams<CONTROLLER>): {
48
+ loading: boolean;
49
+ roles: Role[];
50
+ users: USER[];
51
+ saveUser: (user: USER) => Promise<USER>;
52
+ saveRole: (role: Role) => Promise<void>;
53
+ rolesError: Error | undefined;
54
+ deleteUser: (user: User) => Promise<void>;
55
+ deleteRole: (role: Role) => Promise<void>;
56
+ usersError: Error | undefined;
57
+ isAdmin: boolean;
58
+ allowDefaultRolesCreation: boolean;
59
+ defineRolesFor: (user: User) => string[] | undefined;
60
+ accessGate: FirebaseAccessGate<USER>;
61
+ } & CONTROLLER & {
62
+ initialLoading: boolean;
63
+ userRoles: string[] | undefined;
64
+ getUser: (uid: string) => USER | null;
65
+ user: {
66
+ roles: string[] | undefined;
67
+ uid: string;
68
+ displayName: string | null;
69
+ email: string | null;
70
+ photoURL: string | null;
71
+ providerId: string;
72
+ isAnonymous: boolean;
73
+ createdAt?: Date | string | null;
74
+ metadata?: Record<string, any>;
75
+ getIdToken?: (forceRefresh?: boolean) => Promise<string>;
76
+ } | null;
77
+ };