@atzentis/auth-react 0.0.4 → 0.0.5

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.
package/dist/index.d.ts CHANGED
@@ -1,28 +1,34 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
2
3
  import * as _atzentis_auth_sdk from '@atzentis/auth-sdk';
3
- import { LoginParams, RegisterParams } from '@atzentis/auth-sdk';
4
+ import { AuthClient, User, AuthConfig, LoginCredentials, SignupData } from '@atzentis/auth-sdk';
4
5
 
6
+ interface AuthContextValue {
7
+ client: AuthClient;
8
+ user: User | null;
9
+ isAuthenticated: boolean;
10
+ isLoading: boolean;
11
+ setUser: (user: User | null) => void;
12
+ }
13
+ declare const AuthContext: react.Context<AuthContextValue | null>;
5
14
  interface AuthProviderProps {
6
- baseUrl: string;
15
+ config: AuthConfig;
7
16
  children: React.ReactNode;
8
17
  }
9
- declare function AuthProvider({ baseUrl, children }: AuthProviderProps): react_jsx_runtime.JSX.Element;
18
+ declare function AuthProvider({ config, children }: AuthProviderProps): react_jsx_runtime.JSX.Element;
10
19
 
11
20
  declare function useAuth(): {
12
21
  user: _atzentis_auth_sdk.User | null;
13
- session: _atzentis_auth_sdk.Session | null;
14
22
  isAuthenticated: boolean;
15
23
  isLoading: boolean;
16
- login: (params: LoginParams) => Promise<_atzentis_auth_sdk.Session>;
17
- register: (params: RegisterParams) => Promise<_atzentis_auth_sdk.Session>;
18
- logout: () => Promise<void>;
19
- refreshSession: () => Promise<_atzentis_auth_sdk.Session>;
24
+ login: (credentials: LoginCredentials) => Promise<_atzentis_auth_sdk.LoginResponse>;
25
+ signup: (data: SignupData) => Promise<_atzentis_auth_sdk.SignupResponse>;
20
26
  };
21
27
 
22
28
  declare function useSession(): {
23
- session: _atzentis_auth_sdk.Session | null;
29
+ user: _atzentis_auth_sdk.User | null;
24
30
  isAuthenticated: boolean;
25
31
  isLoading: boolean;
26
32
  };
27
33
 
28
- export { AuthProvider, useAuth, useSession };
34
+ export { AuthContext, type AuthContextValue, AuthProvider, useAuth, useSession };
package/dist/index.js CHANGED
@@ -1,24 +1,22 @@
1
1
  import { AuthClient } from '@atzentis/auth-sdk';
2
- import { createContext, useState, useEffect, useContext } from 'react';
2
+ import { createContext, useState, useMemo, useContext, useCallback } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
5
  var AuthContext = createContext(null);
6
- function AuthProvider({ baseUrl, children }) {
7
- const [client] = useState(() => new AuthClient({ baseUrl }));
8
- const [session, setSession] = useState(null);
9
- const [isLoading, setIsLoading] = useState(true);
10
- useEffect(() => {
11
- client.getSession().then((session2) => {
12
- setSession(session2);
13
- setIsLoading(false);
14
- });
15
- }, [client]);
16
- const value = {
17
- client,
18
- session,
19
- isAuthenticated: session !== null,
20
- isLoading
21
- };
6
+ function AuthProvider({ config, children }) {
7
+ const [client] = useState(() => new AuthClient(config));
8
+ const [user, setUser] = useState(null);
9
+ const [isLoading] = useState(false);
10
+ const value = useMemo(
11
+ () => ({
12
+ client,
13
+ user,
14
+ isAuthenticated: user !== null,
15
+ isLoading,
16
+ setUser
17
+ }),
18
+ [client, user, isLoading]
19
+ );
22
20
  return /* @__PURE__ */ jsx(AuthContext.Provider, { value, children });
23
21
  }
24
22
  function useAuth() {
@@ -26,16 +24,29 @@ function useAuth() {
26
24
  if (!context) {
27
25
  throw new Error("useAuth must be used within AuthProvider");
28
26
  }
29
- const { client, session, isAuthenticated, isLoading } = context;
27
+ const { client, user, isAuthenticated, isLoading, setUser } = context;
28
+ const login = useCallback(
29
+ async (credentials) => {
30
+ const response = await client.login(credentials);
31
+ setUser(response.user);
32
+ return response;
33
+ },
34
+ [client, setUser]
35
+ );
36
+ const signup = useCallback(
37
+ async (data) => {
38
+ const response = await client.signup(data);
39
+ setUser(response.user);
40
+ return response;
41
+ },
42
+ [client, setUser]
43
+ );
30
44
  return {
31
- user: session?.user ?? null,
32
- session,
45
+ user,
33
46
  isAuthenticated,
34
47
  isLoading,
35
- login: (params) => client.login(params),
36
- register: (params) => client.register(params),
37
- logout: () => client.logout(),
38
- refreshSession: () => client.refreshSession()
48
+ login,
49
+ signup
39
50
  };
40
51
  }
41
52
  function useSession() {
@@ -44,12 +55,12 @@ function useSession() {
44
55
  throw new Error("useSession must be used within AuthProvider");
45
56
  }
46
57
  return {
47
- session: context.session,
58
+ user: context.user,
48
59
  isAuthenticated: context.isAuthenticated,
49
60
  isLoading: context.isLoading
50
61
  };
51
62
  }
52
63
 
53
- export { AuthProvider, useAuth, useSession };
64
+ export { AuthContext, AuthProvider, useAuth, useSession };
54
65
  //# sourceMappingURL=index.js.map
55
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/provider.tsx","../src/use-auth.ts","../src/use-session.ts"],"names":["session","useContext"],"mappings":";;;;AAWO,IAAM,WAAA,GAAc,cAAuC,IAAI,CAAA;AAO/D,SAAS,YAAA,CAAa,EAAE,OAAA,EAAS,QAAA,EAAS,EAAsB;AACrE,EAAA,MAAM,CAAC,MAAM,CAAA,GAAI,QAAA,CAAS,MAAM,IAAI,UAAA,CAAW,EAAE,OAAA,EAAS,CAAC,CAAA;AAC3D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAyB,IAAI,CAAA;AAC3D,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,IAAI,CAAA;AAE/C,EAAA,SAAA,CAAU,MAAM;AAEd,IAAA,MAAA,CAAO,UAAA,EAAW,CAAE,IAAA,CAAK,CAACA,QAAAA,KAAY;AACpC,MAAA,UAAA,CAAWA,QAAO,CAAA;AAClB,MAAA,YAAA,CAAa,KAAK,CAAA;AAAA,IACpB,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,MAAM,KAAA,GAA0B;AAAA,IAC9B,MAAA;AAAA,IACA,OAAA;AAAA,IACA,iBAAiB,OAAA,KAAY,IAAA;AAAA,IAC7B;AAAA,GACF;AAEA,EAAA,uBAAO,GAAA,CAAC,WAAA,CAAY,QAAA,EAAZ,EAAqB,OAAe,QAAA,EAAS,CAAA;AACvD;ACnCO,SAAS,OAAA,GAAU;AACxB,EAAA,MAAM,OAAA,GAAU,WAAW,WAAW,CAAA;AAEtC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAAA,EAC5D;AAEA,EAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAS,eAAA,EAAiB,WAAU,GAAI,OAAA;AAExD,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,SAAS,IAAA,IAAQ,IAAA;AAAA,IACvB,OAAA;AAAA,IACA,eAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA,EAAO,CAAC,MAAA,KAAwB,MAAA,CAAO,MAAM,MAAM,CAAA;AAAA,IACnD,QAAA,EAAU,CAAC,MAAA,KAA2B,MAAA,CAAO,SAAS,MAAM,CAAA;AAAA,IAC5D,MAAA,EAAQ,MAAM,MAAA,CAAO,MAAA,EAAO;AAAA,IAC5B,cAAA,EAAgB,MAAM,MAAA,CAAO,cAAA;AAAe,GAC9C;AACF;ACpBO,SAAS,UAAA,GAAa;AAC3B,EAAA,MAAM,OAAA,GAAUC,WAAW,WAAW,CAAA;AAEtC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,EAC/D;AAEA,EAAA,OAAO;AAAA,IACL,SAAS,OAAA,CAAQ,OAAA;AAAA,IACjB,iBAAiB,OAAA,CAAQ,eAAA;AAAA,IACzB,WAAW,OAAA,CAAQ;AAAA,GACrB;AACF","file":"index.js","sourcesContent":["import { AuthClient } from \"@atzentis/auth-sdk\";\nimport type { Session } from \"@atzentis/auth-sdk\";\nimport { createContext, useEffect, useState } from \"react\";\n\ninterface AuthContextValue {\n client: AuthClient;\n session: Session | null;\n isAuthenticated: boolean;\n isLoading: boolean;\n}\n\nexport const AuthContext = createContext<AuthContextValue | null>(null);\n\ninterface AuthProviderProps {\n baseUrl: string;\n children: React.ReactNode;\n}\n\nexport function AuthProvider({ baseUrl, children }: AuthProviderProps) {\n const [client] = useState(() => new AuthClient({ baseUrl }));\n const [session, setSession] = useState<Session | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n // Load session on mount\n client.getSession().then((session) => {\n setSession(session);\n setIsLoading(false);\n });\n }, [client]);\n\n const value: AuthContextValue = {\n client,\n session,\n isAuthenticated: session !== null,\n isLoading,\n };\n\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\n}\n","import type { LoginParams, RegisterParams } from \"@atzentis/auth-sdk\";\nimport { useContext } from \"react\";\nimport { AuthContext } from \"./provider\";\n\nexport function useAuth() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useAuth must be used within AuthProvider\");\n }\n\n const { client, session, isAuthenticated, isLoading } = context;\n\n return {\n user: session?.user ?? null,\n session,\n isAuthenticated,\n isLoading,\n login: (params: LoginParams) => client.login(params),\n register: (params: RegisterParams) => client.register(params),\n logout: () => client.logout(),\n refreshSession: () => client.refreshSession(),\n };\n}\n","import { useContext } from \"react\";\nimport { AuthContext } from \"./provider\";\n\nexport function useSession() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useSession must be used within AuthProvider\");\n }\n\n return {\n session: context.session,\n isAuthenticated: context.isAuthenticated,\n isLoading: context.isLoading,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/provider.tsx","../src/use-auth.ts","../src/use-session.ts"],"names":["useContext"],"mappings":";;;;AAYO,IAAM,WAAA,GAAc,cAAuC,IAAI;AAO/D,SAAS,YAAA,CAAa,EAAE,MAAA,EAAQ,QAAA,EAAS,EAAsB;AACpE,EAAA,MAAM,CAAC,MAAM,CAAA,GAAI,QAAA,CAAS,MAAM,IAAI,UAAA,CAAW,MAAM,CAAC,CAAA;AACtD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAsB,IAAI,CAAA;AAClD,EAAA,MAAM,CAAC,SAAS,CAAA,GAAI,QAAA,CAAS,KAAK,CAAA;AAElC,EAAA,MAAM,KAAA,GAA0B,OAAA;AAAA,IAC9B,OAAO;AAAA,MACL,MAAA;AAAA,MACA,IAAA;AAAA,MACA,iBAAiB,IAAA,KAAS,IAAA;AAAA,MAC1B,SAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,MAAA,EAAQ,IAAA,EAAM,SAAS;AAAA,GAC1B;AAEA,EAAA,uBAAO,GAAA,CAAC,WAAA,CAAY,QAAA,EAAZ,EAAqB,OAAe,QAAA,EAAS,CAAA;AACvD;AChCO,SAAS,OAAA,GAAU;AACxB,EAAA,MAAM,OAAA,GAAU,WAAW,WAAW,CAAA;AAEtC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAAA,EAC5D;AAEA,EAAA,MAAM,EAAE,MAAA,EAAQ,IAAA,EAAM,eAAA,EAAiB,SAAA,EAAW,SAAQ,GAAI,OAAA;AAE9D,EAAA,MAAM,KAAA,GAAQ,WAAA;AAAA,IACZ,OAAO,WAAA,KAAkC;AACvC,MAAA,MAAM,QAAA,GAAW,MAAM,MAAA,CAAO,KAAA,CAAM,WAAW,CAAA;AAC/C,MAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AACrB,MAAA,OAAO,QAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,QAAQ,OAAO;AAAA,GAClB;AAEA,EAAA,MAAM,MAAA,GAAS,WAAA;AAAA,IACb,OAAO,IAAA,KAAqB;AAC1B,MAAA,MAAM,QAAA,GAAW,MAAM,MAAA,CAAO,MAAA,CAAO,IAAI,CAAA;AACzC,MAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AACrB,MAAA,OAAO,QAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,QAAQ,OAAO;AAAA,GAClB;AAEA,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,eAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACF;AACF;ACnCO,SAAS,UAAA,GAAa;AAC3B,EAAA,MAAM,OAAA,GAAUA,WAAW,WAAW,CAAA;AAEtC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,EAC/D;AAEA,EAAA,OAAO;AAAA,IACL,MAAM,OAAA,CAAQ,IAAA;AAAA,IACd,iBAAiB,OAAA,CAAQ,eAAA;AAAA,IACzB,WAAW,OAAA,CAAQ;AAAA,GACrB;AACF","file":"index.js","sourcesContent":["import type { AuthConfig, User } from \"@atzentis/auth-sdk\";\nimport { AuthClient } from \"@atzentis/auth-sdk\";\nimport { createContext, useMemo, useState } from \"react\";\n\nexport interface AuthContextValue {\n client: AuthClient;\n user: User | null;\n isAuthenticated: boolean;\n isLoading: boolean;\n setUser: (user: User | null) => void;\n}\n\nexport const AuthContext = createContext<AuthContextValue | null>(null);\n\ninterface AuthProviderProps {\n config: AuthConfig;\n children: React.ReactNode;\n}\n\nexport function AuthProvider({ config, children }: AuthProviderProps) {\n const [client] = useState(() => new AuthClient(config));\n const [user, setUser] = useState<User | null>(null);\n const [isLoading] = useState(false);\n\n const value: AuthContextValue = useMemo(\n () => ({\n client,\n user,\n isAuthenticated: user !== null,\n isLoading,\n setUser,\n }),\n [client, user, isLoading],\n );\n\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\n}\n","import type { LoginCredentials, SignupData } from \"@atzentis/auth-sdk\";\nimport { useCallback, useContext } from \"react\";\nimport { AuthContext } from \"./provider\";\n\nexport function useAuth() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useAuth must be used within AuthProvider\");\n }\n\n const { client, user, isAuthenticated, isLoading, setUser } = context;\n\n const login = useCallback(\n async (credentials: LoginCredentials) => {\n const response = await client.login(credentials);\n setUser(response.user);\n return response;\n },\n [client, setUser],\n );\n\n const signup = useCallback(\n async (data: SignupData) => {\n const response = await client.signup(data);\n setUser(response.user);\n return response;\n },\n [client, setUser],\n );\n\n return {\n user,\n isAuthenticated,\n isLoading,\n login,\n signup,\n };\n}\n","import { useContext } from \"react\";\nimport { AuthContext } from \"./provider\";\n\nexport function useSession() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useSession must be used within AuthProvider\");\n }\n\n return {\n user: context.user,\n isAuthenticated: context.isAuthenticated,\n isLoading: context.isLoading,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atzentis/auth-react",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Atzentis Auth React — hooks and components for auth.atzentis.com",
5
5
  "keywords": [
6
6
  "atzentis",
@@ -34,7 +34,7 @@
34
34
  "LICENSE"
35
35
  ],
36
36
  "dependencies": {
37
- "@atzentis/auth-sdk": "0.0.4"
37
+ "@atzentis/auth-sdk": "0.0.5"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "react": ">=18.0.0",