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
- export interface AuthContextType {
15
- user: User | undefined;
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: User | undefined | null, token?: BackendTokens | null | undefined) => void;
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
- export declare function useAuth(): AuthContextType;
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;IAC9B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/F,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,GAAG,GAAG,SAAS,CAAC;CAC5B;AAMD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,GAAI,cAAc,iBAAiB,4CA2C3D,CAAA;AAED,wBAAgB,OAAO,oBAMtB"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "izen-react-starter",
3
- "version": "2.2.6",
3
+ "version": "2.2.7",
4
4
  "description": "A React component library with UI components, layout context, and data fetching",
5
5
  "type": "module",
6
6
  "main": "./dist/react-starter.umd.cjs",