izen-react-starter 2.2.6 → 2.2.7
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,4 +1,8 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Default User type - can be overridden by consuming projects
|
|
4
|
+
* Extend this interface or pass your own type to AuthProvider
|
|
5
|
+
*/
|
|
2
6
|
export interface User {
|
|
3
7
|
id?: string;
|
|
4
8
|
name?: string;
|
|
@@ -11,16 +15,59 @@ export interface BackendTokens {
|
|
|
11
15
|
refresh_token?: string;
|
|
12
16
|
[key: string]: any;
|
|
13
17
|
}
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Generic AuthContextType that accepts a custom User type
|
|
20
|
+
* @template TUser - The user type for this auth context
|
|
21
|
+
* @example
|
|
22
|
+
* interface MyUser {
|
|
23
|
+
* id: string;
|
|
24
|
+
* name: string;
|
|
25
|
+
* role: 'admin' | 'user';
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* type MyAuthContext = AuthContextType<MyUser>;
|
|
29
|
+
*/
|
|
30
|
+
export interface AuthContextType<TUser = User> {
|
|
31
|
+
user: TUser | undefined;
|
|
16
32
|
tokens: BackendTokens | undefined;
|
|
17
|
-
setAuthData: (user:
|
|
33
|
+
setAuthData: (user: TUser | undefined | null, token?: BackendTokens | null | undefined) => void;
|
|
18
34
|
setOtherData: (data: any | undefined) => void;
|
|
19
35
|
otherData: any | undefined;
|
|
20
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Props for AuthProvider
|
|
39
|
+
*/
|
|
21
40
|
export interface AuthProviderProps {
|
|
22
41
|
children: ReactNode;
|
|
23
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* AuthProvider - manages authentication state
|
|
45
|
+
* Accepts any User type through useAuth generic
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* // In your app:
|
|
49
|
+
* <AuthProvider>
|
|
50
|
+
* <App />
|
|
51
|
+
* </AuthProvider>
|
|
52
|
+
*
|
|
53
|
+
* // In your components, use with your custom User type:
|
|
54
|
+
* interface MyUser {
|
|
55
|
+
* id: string;
|
|
56
|
+
* name: string;
|
|
57
|
+
* department: string;
|
|
58
|
+
* }
|
|
59
|
+
*
|
|
60
|
+
* const { user } = useAuth<MyUser>();
|
|
61
|
+
*/
|
|
24
62
|
export declare const AuthProvider: ({ children }: AuthProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Hook to use auth context
|
|
65
|
+
* Must be used within an AuthProvider
|
|
66
|
+
*
|
|
67
|
+
* @returns The auth context with user, tokens, and auth methods
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* const { user, tokens, setAuthData } = useAuth();
|
|
71
|
+
*/
|
|
72
|
+
export declare function useAuth<TUser extends User = User>(): AuthContextType<TUser>;
|
|
26
73
|
//# sourceMappingURL=AuthProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvE,MAAM,WAAW,IAAI;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvE;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,IAAI;IAC3C,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAChG,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,GAAG,GAAG,SAAS,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,iBAAiB,4CA2C3D,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,SAAS,IAAI,GAAG,IAAI,4BAMhD"}
|
package/package.json
CHANGED