@nocios/crudify-ui 3.0.16 → 3.0.20

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.mts CHANGED
@@ -230,7 +230,9 @@ type SessionConfig = {
230
230
  type LoginResult = {
231
231
  success: boolean;
232
232
  tokens?: TokenData;
233
+ data?: any;
233
234
  error?: string;
235
+ rawResponse?: any;
234
236
  };
235
237
  declare class SessionManager {
236
238
  private static instance;
package/dist/index.d.ts CHANGED
@@ -230,7 +230,9 @@ type SessionConfig = {
230
230
  type LoginResult = {
231
231
  success: boolean;
232
232
  tokens?: TokenData;
233
+ data?: any;
233
234
  error?: string;
235
+ rawResponse?: any;
234
236
  };
235
237
  declare class SessionManager {
236
238
  private static instance;
package/dist/index.js CHANGED
@@ -678,7 +678,9 @@ var SessionManager = class _SessionManager {
678
678
  this.log("Login failed:", response.errors);
679
679
  return {
680
680
  success: false,
681
- error: this.formatError(response.errors)
681
+ error: this.formatError(response.errors),
682
+ rawResponse: response
683
+ // Preservar respuesta original para manejo de errores específicos
682
684
  };
683
685
  }
684
686
  const tokens = {
@@ -692,7 +694,9 @@ var SessionManager = class _SessionManager {
692
694
  this.config.onLoginSuccess?.(tokens);
693
695
  return {
694
696
  success: true,
695
- tokens
697
+ tokens,
698
+ data: response.data
699
+ // Incluir datos del usuario
696
700
  };
697
701
  } catch (error) {
698
702
  this.log("Login error:", error);
@@ -918,51 +922,58 @@ function useSession(options = {}) {
918
922
  } : null
919
923
  }));
920
924
  } catch (error) {
925
+ const errorMessage = error instanceof Error ? error.message : "Initialization failed";
921
926
  setState((prev) => ({
922
927
  ...prev,
923
928
  isLoading: false,
924
929
  isInitialized: true,
925
- error: error instanceof Error ? error.message : "Initialization failed"
930
+ error: errorMessage
926
931
  }));
927
932
  }
928
933
  }, [options.autoRestore, options.enableLogging, options.onSessionExpired, options.onSessionRestored]);
929
- const login = (0, import_react5.useCallback)(async (email, password) => {
930
- setState((prev) => ({ ...prev, isLoading: true, error: null }));
931
- try {
932
- const result = await sessionManager.login(email, password);
933
- if (result.success && result.tokens) {
934
- setState((prev) => ({
935
- ...prev,
936
- isAuthenticated: true,
937
- tokens: result.tokens,
938
- isLoading: false,
939
- error: null
940
- }));
941
- } else {
934
+ const login = (0, import_react5.useCallback)(
935
+ async (email, password) => {
936
+ setState((prev) => ({ ...prev, isLoading: true, error: null }));
937
+ try {
938
+ const result = await sessionManager.login(email, password);
939
+ if (result.success && result.tokens) {
940
+ setState((prev) => ({
941
+ ...prev,
942
+ isAuthenticated: true,
943
+ tokens: result.tokens,
944
+ isLoading: false,
945
+ error: null
946
+ }));
947
+ } else {
948
+ setState((prev) => ({
949
+ ...prev,
950
+ isAuthenticated: false,
951
+ tokens: null,
952
+ isLoading: false,
953
+ error: null
954
+ // No establecer error global para errores de login
955
+ }));
956
+ }
957
+ return result;
958
+ } catch (error) {
959
+ const errorMsg = error instanceof Error ? error.message : "Login failed";
960
+ const isCredentialError = errorMsg.includes("INVALID_CREDENTIALS") || errorMsg.includes("Invalid email") || errorMsg.includes("Invalid password") || errorMsg.includes("credentials");
942
961
  setState((prev) => ({
943
962
  ...prev,
944
963
  isAuthenticated: false,
945
964
  tokens: null,
946
965
  isLoading: false,
947
- error: result.error || "Login failed"
966
+ error: isCredentialError ? null : errorMsg
967
+ // Solo errores del sistema van al estado global
948
968
  }));
969
+ return {
970
+ success: false,
971
+ error: errorMsg
972
+ };
949
973
  }
950
- return result;
951
- } catch (error) {
952
- const errorMsg = error instanceof Error ? error.message : "Login failed";
953
- setState((prev) => ({
954
- ...prev,
955
- isAuthenticated: false,
956
- tokens: null,
957
- isLoading: false,
958
- error: errorMsg
959
- }));
960
- return {
961
- success: false,
962
- error: errorMsg
963
- };
964
- }
965
- }, [sessionManager]);
974
+ },
975
+ [sessionManager]
976
+ );
966
977
  const logout = (0, import_react5.useCallback)(async () => {
967
978
  setState((prev) => ({ ...prev, isLoading: true }));
968
979
  try {
@@ -1628,7 +1639,8 @@ var LoginForm = ({ onScreenChange, onExternalNavigate, onLoginSuccess, onError,
1628
1639
  onLoginSuccess(response.data, finalRedirectUrl);
1629
1640
  }
1630
1641
  } else {
1631
- handleLoginError(response);
1642
+ const errorToHandle = response.rawResponse || response;
1643
+ handleLoginError(errorToHandle);
1632
1644
  }
1633
1645
  } catch (error) {
1634
1646
  setLoading(false);
package/dist/index.mjs CHANGED
@@ -612,7 +612,9 @@ var SessionManager = class _SessionManager {
612
612
  this.log("Login failed:", response.errors);
613
613
  return {
614
614
  success: false,
615
- error: this.formatError(response.errors)
615
+ error: this.formatError(response.errors),
616
+ rawResponse: response
617
+ // Preservar respuesta original para manejo de errores específicos
616
618
  };
617
619
  }
618
620
  const tokens = {
@@ -626,7 +628,9 @@ var SessionManager = class _SessionManager {
626
628
  this.config.onLoginSuccess?.(tokens);
627
629
  return {
628
630
  success: true,
629
- tokens
631
+ tokens,
632
+ data: response.data
633
+ // Incluir datos del usuario
630
634
  };
631
635
  } catch (error) {
632
636
  this.log("Login error:", error);
@@ -852,51 +856,58 @@ function useSession(options = {}) {
852
856
  } : null
853
857
  }));
854
858
  } catch (error) {
859
+ const errorMessage = error instanceof Error ? error.message : "Initialization failed";
855
860
  setState((prev) => ({
856
861
  ...prev,
857
862
  isLoading: false,
858
863
  isInitialized: true,
859
- error: error instanceof Error ? error.message : "Initialization failed"
864
+ error: errorMessage
860
865
  }));
861
866
  }
862
867
  }, [options.autoRestore, options.enableLogging, options.onSessionExpired, options.onSessionRestored]);
863
- const login = useCallback(async (email, password) => {
864
- setState((prev) => ({ ...prev, isLoading: true, error: null }));
865
- try {
866
- const result = await sessionManager.login(email, password);
867
- if (result.success && result.tokens) {
868
- setState((prev) => ({
869
- ...prev,
870
- isAuthenticated: true,
871
- tokens: result.tokens,
872
- isLoading: false,
873
- error: null
874
- }));
875
- } else {
868
+ const login = useCallback(
869
+ async (email, password) => {
870
+ setState((prev) => ({ ...prev, isLoading: true, error: null }));
871
+ try {
872
+ const result = await sessionManager.login(email, password);
873
+ if (result.success && result.tokens) {
874
+ setState((prev) => ({
875
+ ...prev,
876
+ isAuthenticated: true,
877
+ tokens: result.tokens,
878
+ isLoading: false,
879
+ error: null
880
+ }));
881
+ } else {
882
+ setState((prev) => ({
883
+ ...prev,
884
+ isAuthenticated: false,
885
+ tokens: null,
886
+ isLoading: false,
887
+ error: null
888
+ // No establecer error global para errores de login
889
+ }));
890
+ }
891
+ return result;
892
+ } catch (error) {
893
+ const errorMsg = error instanceof Error ? error.message : "Login failed";
894
+ const isCredentialError = errorMsg.includes("INVALID_CREDENTIALS") || errorMsg.includes("Invalid email") || errorMsg.includes("Invalid password") || errorMsg.includes("credentials");
876
895
  setState((prev) => ({
877
896
  ...prev,
878
897
  isAuthenticated: false,
879
898
  tokens: null,
880
899
  isLoading: false,
881
- error: result.error || "Login failed"
900
+ error: isCredentialError ? null : errorMsg
901
+ // Solo errores del sistema van al estado global
882
902
  }));
903
+ return {
904
+ success: false,
905
+ error: errorMsg
906
+ };
883
907
  }
884
- return result;
885
- } catch (error) {
886
- const errorMsg = error instanceof Error ? error.message : "Login failed";
887
- setState((prev) => ({
888
- ...prev,
889
- isAuthenticated: false,
890
- tokens: null,
891
- isLoading: false,
892
- error: errorMsg
893
- }));
894
- return {
895
- success: false,
896
- error: errorMsg
897
- };
898
- }
899
- }, [sessionManager]);
908
+ },
909
+ [sessionManager]
910
+ );
900
911
  const logout = useCallback(async () => {
901
912
  setState((prev) => ({ ...prev, isLoading: true }));
902
913
  try {
@@ -1562,7 +1573,8 @@ var LoginForm = ({ onScreenChange, onExternalNavigate, onLoginSuccess, onError,
1562
1573
  onLoginSuccess(response.data, finalRedirectUrl);
1563
1574
  }
1564
1575
  } else {
1565
- handleLoginError(response);
1576
+ const errorToHandle = response.rawResponse || response;
1577
+ handleLoginError(errorToHandle);
1566
1578
  }
1567
1579
  } catch (error) {
1568
1580
  setLoading(false);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocios/crudify-ui",
3
- "version": "3.0.16",
3
+ "version": "3.0.20",
4
4
  "description": "Biblioteca de componentes UI para Crudify",
5
5
  "author": "Nocios",
6
6
  "license": "MIT",