@nocios/crudify-ui 1.2.12 → 1.2.16

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.
@@ -4,7 +4,7 @@ import {
4
4
  crudifyInitializer,
5
5
  tokenManager,
6
6
  useCrudifyDataContext
7
- } from "./chunk-KXTVLFHE.mjs";
7
+ } from "./chunk-42KLTBFN.mjs";
8
8
  export {
9
9
  CrudifyDataProvider,
10
10
  configurationManager,
@@ -39,11 +39,6 @@ var _ConfigurationManager = class _ConfigurationManager {
39
39
  this.configError = null;
40
40
  const envConfig = this.getEnvConfig();
41
41
  const cookieConfig = this.getCookieConfig();
42
- console.log("\u{1F527} ConfigurationManager - Configuration sources:", {
43
- props: propsConfig,
44
- env: envConfig,
45
- cookies: cookieConfig
46
- });
47
42
  const configSource = {
48
43
  env: "default",
49
44
  publicApiKey: "default",
@@ -60,7 +55,7 @@ var _ConfigurationManager = class _ConfigurationManager {
60
55
  const colors = this.resolveValue("colors", propsConfig.colors, envConfig.colors, cookieConfig.colors, {}, configSource);
61
56
  if (!publicApiKey) {
62
57
  throw new Error(
63
- "publicApiKey is required. Provide it via:\n1. Props: <CrudifyDataProvider publicApiKey={...} />\n2. Environment: VITE_TEST_PUBLIC_API_KEY\n3. Cookie: publicApiKey"
58
+ "publicApiKey es requerido. Proporci\xF3nalo v\xEDa:\n1. Props: <CrudifyDataProvider publicApiKey={...} />\n2. Variable de entorno: VITE_TEST_PUBLIC_API_KEY\n3. Cookie: publicApiKey"
64
59
  );
65
60
  }
66
61
  this.resolvedConfig = {
@@ -77,19 +72,10 @@ var _ConfigurationManager = class _ConfigurationManager {
77
72
  cookies: cookieConfig
78
73
  }
79
74
  };
80
- console.log("\u{1F527} ConfigurationManager - Configuration resolved:", {
81
- config: {
82
- env: this.resolvedConfig.env,
83
- publicApiKey: `${this.resolvedConfig.publicApiKey.substring(0, 8)}...`,
84
- appName: this.resolvedConfig.appName,
85
- loginActionsCount: this.resolvedConfig.loginActions.length
86
- },
87
- sources: this.resolvedConfig.configSource
88
- });
89
75
  return this.resolvedConfig;
90
76
  } catch (error) {
91
- this.configError = error instanceof Error ? error.message : "Unknown configuration error";
92
- console.error("\u{1F527} ConfigurationManager - Configuration error:", this.configError);
77
+ this.configError = error instanceof Error ? error.message : "Error de configuraci\xF3n desconocido";
78
+ console.error("ConfigurationManager - Error de configuraci\xF3n:", this.configError);
93
79
  this.resolvedConfig = {
94
80
  env: "prod",
95
81
  publicApiKey: "",
@@ -143,15 +129,13 @@ var _ConfigurationManager = class _ConfigurationManager {
143
129
  return defaultValue;
144
130
  }
145
131
  /**
146
- * Get configuration from environment variables
132
+ * Obtener configuración de variables de entorno
147
133
  */
148
134
  getEnvConfig() {
149
135
  const config = {};
150
136
  try {
151
- console.log("\u{1F527} ConfigurationManager - Reading environment variables");
152
137
  if (typeof import.meta !== "undefined" && import.meta.env) {
153
138
  const vitEnv = import.meta.env;
154
- console.log("\u{1F527} ConfigurationManager - Vite import.meta.env available:", !!vitEnv);
155
139
  const env = vitEnv.VITE_TEST_ENV;
156
140
  if (env && ["dev", "stg", "prod"].includes(env)) {
157
141
  config.env = env;
@@ -177,14 +161,12 @@ var _ConfigurationManager = class _ConfigurationManager {
177
161
  try {
178
162
  config.colors = JSON.parse(colors);
179
163
  } catch (error) {
180
- console.warn("\u{1F527} ConfigurationManager - Failed to parse colors from env:", error);
164
+ console.warn("ConfigurationManager - Error al parsear colors desde env:", error);
181
165
  }
182
166
  }
183
167
  }
184
- console.log("\u{1F527} ConfigurationManager - Vite env config:", config);
185
168
  if (typeof globalThis !== "undefined" && globalThis.process?.env) {
186
169
  const processEnv = globalThis.process.env;
187
- console.log("\u{1F527} ConfigurationManager - process.env available:", !!processEnv);
188
170
  const env = processEnv.VITE_TEST_ENV;
189
171
  if (env && ["dev", "stg", "prod"].includes(env) && !config.env) {
190
172
  config.env = env;
@@ -210,62 +192,53 @@ var _ConfigurationManager = class _ConfigurationManager {
210
192
  try {
211
193
  config.colors = JSON.parse(colors);
212
194
  } catch (error) {
213
- console.warn("\u{1F527} ConfigurationManager - Failed to parse colors from process.env:", error);
195
+ console.warn("ConfigurationManager - Error al parsear colors desde process.env:", error);
214
196
  }
215
197
  }
216
198
  }
217
- console.log("\u{1F527} ConfigurationManager - Final env config:", config);
218
199
  } catch (error) {
219
- console.warn("\u{1F527} ConfigurationManager - Environment variables not available:", error);
200
+ console.warn("ConfigurationManager - Variables de entorno no disponibles:", error);
220
201
  }
221
202
  return config;
222
203
  }
223
204
  /**
224
- * Get configuration from cookies (multi-tenant support)
205
+ * Obtener configuración de cookies (soporte multi-tenant)
225
206
  */
226
207
  getCookieConfig() {
227
208
  const config = {};
228
209
  try {
229
- console.log("\u{1F527} ConfigurationManager - Reading cookies from document.cookie:", document.cookie);
230
210
  const env = getCookie("environment");
231
- console.log("\u{1F527} ConfigurationManager - Cookie environment:", env);
232
211
  if (env && ["dev", "stg", "prod"].includes(env)) {
233
212
  config.env = env;
234
213
  }
235
214
  const publicApiKey = getCookie("publicApiKey");
236
- console.log("\u{1F527} ConfigurationManager - Cookie publicApiKey:", publicApiKey ? `${publicApiKey.substring(0, 8)}...` : null);
237
215
  if (publicApiKey) {
238
216
  config.publicApiKey = publicApiKey;
239
217
  }
240
218
  const appName = getCookie("appName");
241
- console.log("\u{1F527} ConfigurationManager - Cookie appName:", appName);
242
219
  if (appName) {
243
220
  config.appName = decodeURIComponent(appName);
244
221
  }
245
222
  const loginActions = getCookie("loginActions");
246
- console.log("\u{1F527} ConfigurationManager - Cookie loginActions:", loginActions);
247
223
  if (loginActions) {
248
224
  const decodedActions = decodeURIComponent(loginActions);
249
225
  config.loginActions = decodedActions.split(",").map((action) => action.trim()).filter(Boolean);
250
226
  }
251
227
  const logo = getCookie("logo");
252
- console.log("\u{1F527} ConfigurationManager - Cookie logo:", logo);
253
228
  if (logo) {
254
229
  config.logo = decodeURIComponent(logo);
255
230
  }
256
231
  const colors = getCookie("colors");
257
- console.log("\u{1F527} ConfigurationManager - Cookie colors:", colors);
258
232
  if (colors) {
259
233
  try {
260
234
  const decodedColors = decodeURIComponent(colors);
261
235
  config.colors = JSON.parse(decodedColors);
262
236
  } catch (error) {
263
- console.warn("\u{1F527} ConfigurationManager - Failed to parse colors from cookie:", error);
237
+ console.warn("ConfigurationManager - Error al parsear colors desde cookie:", error);
264
238
  }
265
239
  }
266
- console.log("\u{1F527} ConfigurationManager - Final cookie config:", config);
267
240
  } catch (error) {
268
- console.warn("\u{1F527} ConfigurationManager - Error reading cookies:", error);
241
+ console.warn("ConfigurationManager - Error leyendo cookies:", error);
269
242
  }
270
243
  return config;
271
244
  }
@@ -310,7 +283,6 @@ var _CrudifyInitializer = class _CrudifyInitializer {
310
283
  config: null,
311
284
  initializationPromise: null
312
285
  };
313
- console.log("\u{1F680} CrudifyInitializer - Instance created");
314
286
  }
315
287
  /**
316
288
  * Singleton pattern to ensure global initialization coordination
@@ -328,27 +300,18 @@ var _CrudifyInitializer = class _CrudifyInitializer {
328
300
  _CrudifyInitializer.instance = null;
329
301
  }
330
302
  /**
331
- * Initialize crudify with the given configuration
332
- * This method is idempotent and thread-safe
303
+ * Inicializar crudify con la configuración dada
304
+ * Este método es idempotente y thread-safe
333
305
  */
334
306
  async initialize(config) {
335
- console.log("\u{1F680} CrudifyInitializer - ENTRY_POINT - Received config:", {
336
- env: config.env,
337
- publicApiKey: config.publicApiKey ? `${config.publicApiKey.substring(0, 8)}...` : null,
338
- appName: config.appName,
339
- loginActionsCount: config.loginActions?.length || 0
340
- });
341
307
  if (this.state.isInitialized && this.isConfigurationSame(config)) {
342
- console.log("\u{1F680} CrudifyInitializer - Already initialized with same config");
343
308
  return;
344
309
  }
345
310
  if (this.state.isInitializing && this.state.initializationPromise) {
346
- console.log("\u{1F680} CrudifyInitializer - Waiting for ongoing initialization");
347
311
  await this.state.initializationPromise;
348
312
  return;
349
313
  }
350
314
  if (this.state.isInitialized && !this.isConfigurationSame(config)) {
351
- console.log("\u{1F680} CrudifyInitializer - Configuration changed, re-initializing");
352
315
  this.reset();
353
316
  }
354
317
  this.state.isInitializing = true;
@@ -358,10 +321,9 @@ var _CrudifyInitializer = class _CrudifyInitializer {
358
321
  await this.state.initializationPromise;
359
322
  this.state.isInitialized = true;
360
323
  this.state.config = { ...config };
361
- console.log("\u{1F680} CrudifyInitializer - Initialization completed successfully");
362
324
  } catch (error) {
363
- this.state.initializationError = error instanceof Error ? error.message : "Unknown initialization error";
364
- console.error("\u{1F680} CrudifyInitializer - Initialization failed:", this.state.initializationError);
325
+ this.state.initializationError = error instanceof Error ? error.message : "Error de inicializaci\xF3n desconocido";
326
+ console.error("CrudifyInitializer - Inicializaci\xF3n fall\xF3:", this.state.initializationError);
365
327
  throw error;
366
328
  } finally {
367
329
  this.state.isInitializing = false;
@@ -369,35 +331,25 @@ var _CrudifyInitializer = class _CrudifyInitializer {
369
331
  }
370
332
  }
371
333
  /**
372
- * Perform the actual initialization process
334
+ * Realizar el proceso de inicialización actual
373
335
  */
374
336
  async performInitialization(config) {
375
337
  if (!config.publicApiKey) {
376
- throw new Error("publicApiKey is required for crudify initialization");
338
+ throw new Error("publicApiKey es requerido para la inicializaci\xF3n de crudify");
377
339
  }
378
- console.log("\u{1F680} CrudifyInitializer - Starting initialization with config:", {
379
- env: config.env,
380
- publicApiKey: `${config.publicApiKey.substring(0, 8)}...`,
381
- appName: config.appName
382
- });
383
340
  try {
384
341
  const environment = config.env || "prod";
385
- console.log("\u{1F680} CrudifyInitializer - Step 1: Configuring environment:", environment);
386
342
  await crudify.config(environment);
387
- console.log("\u{1F680} CrudifyInitializer - Step 2: Initializing with API key");
388
343
  await crudify.init(config.publicApiKey, "none");
389
- console.log("\u{1F680} CrudifyInitializer - Step 3: Verifying initialization");
390
344
  await this.verifyInitialization();
391
- console.log("\u{1F680} CrudifyInitializer - All initialization steps completed");
392
345
  } catch (error) {
393
- console.error("\u{1F680} CrudifyInitializer - Initialization failed at step:", error);
394
346
  throw new Error(
395
- `Crudify initialization failed: ${error instanceof Error ? error.message : "Unknown error"}. Please check your configuration (env: ${config.env || "prod"}, publicApiKey: ${config.publicApiKey ? "provided" : "missing"})`
347
+ `Inicializaci\xF3n de Crudify fall\xF3: ${error instanceof Error ? error.message : "Error desconocido"}. Por favor revisa tu configuraci\xF3n (env: ${config.env || "prod"}, publicApiKey: ${config.publicApiKey ? "proporcionado" : "faltante"})`
396
348
  );
397
349
  }
398
350
  }
399
351
  /**
400
- * Verify that crudify is properly initialized by checking core methods
352
+ * Verificar que crudify esté correctamente inicializado revisando métodos principales
401
353
  */
402
354
  async verifyInitialization() {
403
355
  const requiredMethods = ["readItems", "readItem", "createItem", "updateItem", "deleteItem", "login", "transaction"];
@@ -409,23 +361,21 @@ var _CrudifyInitializer = class _CrudifyInitializer {
409
361
  }
410
362
  if (missingMethods.length > 0) {
411
363
  throw new Error(
412
- `Crudify initialization incomplete. Missing methods: ${missingMethods.join(", ")}. This usually indicates a configuration or network issue.`
364
+ `Inicializaci\xF3n de Crudify incompleta. M\xE9todos faltantes: ${missingMethods.join(", ")}. Esto usualmente indica un problema de configuraci\xF3n o red.`
413
365
  );
414
366
  }
415
- console.log("\u{1F680} CrudifyInitializer - Verification successful (test call skipped for performance)");
416
367
  }
417
368
  /**
418
- * Check if the given configuration is the same as the current one
369
+ * Verificar si la configuración dada es la misma que la actual
419
370
  */
420
371
  isConfigurationSame(config) {
421
372
  if (!this.state.config) return false;
422
373
  return this.state.config.env === config.env && this.state.config.publicApiKey === config.publicApiKey;
423
374
  }
424
375
  /**
425
- * Reset the initialization state (useful for testing or configuration changes)
376
+ * Resetear el estado de inicialización (útil para testing o cambios de configuración)
426
377
  */
427
378
  reset() {
428
- console.log("\u{1F680} CrudifyInitializer - Resetting initialization state");
429
379
  this.state = {
430
380
  isInitialized: false,
431
381
  isInitializing: false,
@@ -435,7 +385,7 @@ var _CrudifyInitializer = class _CrudifyInitializer {
435
385
  };
436
386
  }
437
387
  /**
438
- * Get the current initialization status
388
+ * Obtener el estado actual de inicialización
439
389
  */
440
390
  getStatus() {
441
391
  return {
@@ -446,33 +396,32 @@ var _CrudifyInitializer = class _CrudifyInitializer {
446
396
  };
447
397
  }
448
398
  /**
449
- * Check if crudify is ready to use
399
+ * Verificar si crudify está listo para usar
450
400
  */
451
401
  isReady() {
452
402
  return this.state.isInitialized && !this.state.initializationError;
453
403
  }
454
404
  /**
455
- * Get the current initialization error, if any
405
+ * Obtener el error de inicialización actual, si existe
456
406
  */
457
407
  getError() {
458
408
  return this.state.initializationError;
459
409
  }
460
410
  /**
461
- * Force re-initialization (useful when configuration changes)
411
+ * Forzar re-inicialización (útil cuando la configuración cambia)
462
412
  */
463
413
  async reinitialize(config) {
464
- console.log("\u{1F680} CrudifyInitializer - Forcing re-initialization");
465
414
  this.reset();
466
415
  await this.initialize(config);
467
416
  }
468
417
  /**
469
- * Check if initialization is currently in progress
418
+ * Verificar si la inicialización está actualmente en progreso
470
419
  */
471
420
  isInitializing() {
472
421
  return this.state.isInitializing;
473
422
  }
474
423
  /**
475
- * Wait for any ongoing initialization to complete
424
+ * Esperar a que cualquier inicialización en curso se complete
476
425
  */
477
426
  async waitForInitialization() {
478
427
  if (this.state.initializationPromise) {
@@ -1008,7 +957,6 @@ var CrudifyDataProvider = ({
1008
957
  const [tokenExpiration, setTokenExpiration] = useState(null);
1009
958
  const initializeConfiguration = useCallback(() => {
1010
959
  try {
1011
- console.log("\u{1F30D} CrudifyDataProvider - VERSION 1.2.4+ - Initializing configuration");
1012
960
  const propsConfig = {
1013
961
  env,
1014
962
  publicApiKey,
@@ -1022,15 +970,10 @@ var CrudifyDataProvider = ({
1022
970
  setConfig(resolvedConfig);
1023
971
  setConfigError(error);
1024
972
  setIsConfigured(configurationManager.isConfigured());
1025
- console.log("\u{1F30D} CrudifyDataProvider - Configuration initialized:", {
1026
- isConfigured: configurationManager.isConfigured(),
1027
- error,
1028
- sources: resolvedConfig.configSource
1029
- });
1030
973
  return resolvedConfig;
1031
974
  } catch (error) {
1032
- const errorMessage = error instanceof Error ? error.message : "Configuration initialization failed";
1033
- console.error("\u{1F30D} CrudifyDataProvider - Configuration error:", errorMessage);
975
+ const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de configuraci\xF3n";
976
+ console.error("CrudifyDataProvider - Error de configuraci\xF3n:", errorMessage);
1034
977
  setConfigError(errorMessage);
1035
978
  setIsConfigured(false);
1036
979
  return null;
@@ -1038,19 +981,12 @@ var CrudifyDataProvider = ({
1038
981
  }, [env, publicApiKey, loginActions, appName, logo, colors]);
1039
982
  const initializeCrudify = useCallback(async (resolvedConfig) => {
1040
983
  if (!resolvedConfig || !resolvedConfig.publicApiKey) {
1041
- setInitializationError("Cannot initialize crudify without valid configuration");
984
+ setInitializationError("No se puede inicializar crudify sin configuraci\xF3n v\xE1lida");
1042
985
  return;
1043
986
  }
1044
987
  try {
1045
988
  setIsInitializing(true);
1046
989
  setInitializationError(null);
1047
- console.log("\u{1F680} CrudifyDataProvider - Starting crudify initialization");
1048
- console.log("\u{1F680} CrudifyDataProvider - Resolved config being passed:", {
1049
- env: resolvedConfig.env,
1050
- publicApiKey: resolvedConfig.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
1051
- appName: resolvedConfig.appName,
1052
- loginActionsCount: resolvedConfig.loginActions.length
1053
- });
1054
990
  await crudifyInitializer.initialize({
1055
991
  env: resolvedConfig.env,
1056
992
  publicApiKey: resolvedConfig.publicApiKey,
@@ -1060,10 +996,9 @@ var CrudifyDataProvider = ({
1060
996
  colors: resolvedConfig.colors
1061
997
  });
1062
998
  setIsInitialized(true);
1063
- console.log("\u{1F680} CrudifyDataProvider - Crudify initialization completed");
1064
999
  } catch (error) {
1065
- const errorMessage = error instanceof Error ? error.message : "Crudify initialization failed";
1066
- console.error("\u{1F680} CrudifyDataProvider - Initialization error:", errorMessage);
1000
+ const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de Crudify";
1001
+ console.error("CrudifyDataProvider - Error de inicializaci\xF3n:", errorMessage);
1067
1002
  setInitializationError(errorMessage);
1068
1003
  setIsInitialized(false);
1069
1004
  } finally {
@@ -1071,80 +1006,44 @@ var CrudifyDataProvider = ({
1071
1006
  }
1072
1007
  }, []);
1073
1008
  const updateAuthenticationState = useCallback(() => {
1074
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Starting authentication state update");
1075
1009
  try {
1076
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting token from TokenManager");
1077
1010
  const currentToken = tokenManager.getToken();
1078
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token retrieved:", !!currentToken);
1079
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Parsing token");
1080
1011
  const parsedUser = tokenManager.parseToken();
1081
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token parsed:", !!parsedUser);
1082
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting expiration");
1083
1012
  const expiration = tokenManager.getTokenExpiration();
1084
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Expiration retrieved:", !!expiration);
1085
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Checking authentication");
1086
1013
  const authenticated = tokenManager.isAuthenticated();
1087
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication checked:", authenticated);
1088
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Updating state variables");
1089
1014
  setTokenState(currentToken);
1090
1015
  setUser(parsedUser);
1091
1016
  setTokenExpiration(expiration);
1092
1017
  setIsAuthenticated(authenticated);
1093
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication state updated successfully:", {
1094
- hasToken: !!currentToken,
1095
- isAuthenticated: authenticated,
1096
- userEmail: parsedUser?.email || null,
1097
- expiration: expiration?.toISOString() || null
1098
- });
1099
1018
  } catch (error) {
1100
- console.error("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Error updating authentication state:", error);
1019
+ console.error("CrudifyDataProvider - Error actualizando estado de autenticaci\xF3n:", error);
1101
1020
  }
1102
1021
  }, []);
1103
1022
  const setToken = useCallback((newToken) => {
1104
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== STARTING TOKEN SET =====");
1105
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: New token:", newToken ? `${newToken.substring(0, 20)}...` : "null");
1106
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting token in TokenManager...");
1107
1023
  tokenManager.setToken(newToken);
1108
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Updating state using newToken directly");
1109
1024
  if (newToken) {
1110
1025
  const parsedUser = tokenManager.parseToken(newToken);
1111
1026
  const expiration = tokenManager.getTokenExpiration();
1112
1027
  const authenticated = tokenManager.isTokenValid(newToken);
1113
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting state values:");
1114
- console.log(" - setTokenState:", newToken ? `${newToken.substring(0, 20)}...` : "null");
1115
- console.log(" - setUser:", parsedUser?.email || "null");
1116
- console.log(" - setIsAuthenticated:", authenticated);
1117
1028
  setTokenState(newToken);
1118
1029
  setUser(parsedUser);
1119
1030
  setTokenExpiration(expiration);
1120
1031
  setIsAuthenticated(authenticated);
1121
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token set, state updated", {
1122
- hasToken: true,
1123
- isAuthenticated: authenticated,
1124
- userEmail: parsedUser?.email || null
1125
- });
1126
1032
  } else {
1127
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Clearing all states");
1128
1033
  setTokenState(null);
1129
1034
  setUser(null);
1130
1035
  setTokenExpiration(null);
1131
1036
  setIsAuthenticated(false);
1132
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token cleared, state reset");
1133
1037
  }
1134
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== TOKEN SET COMPLETE =====");
1135
1038
  }, []);
1136
1039
  const logout = useCallback(() => {
1137
- console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Logging out user");
1138
1040
  tokenManager.clearToken();
1139
- console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Updating state directly");
1140
1041
  setTokenState(null);
1141
1042
  setUser(null);
1142
1043
  setTokenExpiration(null);
1143
1044
  setIsAuthenticated(false);
1144
- console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: User logged out, state cleared");
1145
1045
  }, []);
1146
1046
  const refreshConfig = useCallback(() => {
1147
- console.log("\u{1F30D} CrudifyDataProvider - Refreshing configuration");
1148
1047
  configurationManager.clearConfig();
1149
1048
  const newConfig = initializeConfiguration();
1150
1049
  if (newConfig && newConfig.publicApiKey) {
@@ -1153,10 +1052,9 @@ var CrudifyDataProvider = ({
1153
1052
  }, [initializeConfiguration, initializeCrudify]);
1154
1053
  const reinitialize = useCallback(async () => {
1155
1054
  if (!config || !config.publicApiKey) {
1156
- console.warn("\u{1F680} CrudifyDataProvider - Cannot reinitialize without valid configuration");
1055
+ console.warn("CrudifyDataProvider - No se puede reinicializar sin configuraci\xF3n v\xE1lida");
1157
1056
  return;
1158
1057
  }
1159
- console.log("\u{1F680} CrudifyDataProvider - Force reinitializing crudify");
1160
1058
  crudifyInitializer.reset();
1161
1059
  await initializeCrudify(config);
1162
1060
  }, [config, initializeCrudify]);
@@ -1195,43 +1093,34 @@ var CrudifyDataProvider = ({
1195
1093
  };
1196
1094
  }, [isConfigured, configError, isInitialized, isInitializing, initializationError, isAuthenticated, config, token, user, tokenExpiration]);
1197
1095
  useEffect(() => {
1198
- console.log("\u{1F30D} CrudifyDataProvider - Provider mounting, starting initialization");
1199
1096
  const resolvedConfig = initializeConfiguration();
1200
- console.log("\u{1F30D} CrudifyDataProvider - Resolved config from initializeConfiguration:", {
1201
- env: resolvedConfig?.env,
1202
- publicApiKey: resolvedConfig?.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
1203
- appName: resolvedConfig?.appName,
1204
- loginActionsCount: resolvedConfig?.loginActions.length || 0
1205
- });
1206
1097
  updateAuthenticationState();
1207
1098
  if (resolvedConfig && resolvedConfig.publicApiKey) {
1208
1099
  initializeCrudify(resolvedConfig);
1209
1100
  }
1210
1101
  return () => {
1211
- console.log("\u{1F30D} CrudifyDataProvider - Provider unmounting, cleaning up");
1212
1102
  tokenManager.cleanup();
1213
1103
  };
1214
1104
  }, []);
1215
1105
  useEffect(() => {
1216
- console.log("\u{1F510} CrudifyDataProvider - INITIAL_AUTH_EFFECT: Loading initial authentication state");
1217
1106
  updateAuthenticationState();
1218
1107
  }, []);
1219
1108
  const contextValue = {
1220
- // Configuration
1109
+ // Configuración
1221
1110
  config,
1222
1111
  isConfigured,
1223
1112
  configError,
1224
1113
  configSource: config ? JSON.stringify(config.configSource) : "none",
1225
- // Initialization
1114
+ // Inicialización
1226
1115
  isInitialized,
1227
1116
  isInitializing,
1228
1117
  initializationError,
1229
- // Authentication
1118
+ // Autenticación
1230
1119
  isAuthenticated,
1231
1120
  token,
1232
1121
  user,
1233
1122
  tokenExpiration,
1234
- // Actions
1123
+ // Acciones
1235
1124
  setToken,
1236
1125
  logout,
1237
1126
  refreshConfig,
package/dist/index.d.mts CHANGED
@@ -191,11 +191,11 @@ declare class ConfigurationManager {
191
191
  */
192
192
  private resolveValue;
193
193
  /**
194
- * Get configuration from environment variables
194
+ * Obtener configuración de variables de entorno
195
195
  */
196
196
  private getEnvConfig;
197
197
  /**
198
- * Get configuration from cookies (multi-tenant support)
198
+ * Obtener configuración de cookies (soporte multi-tenant)
199
199
  */
200
200
  private getCookieConfig;
201
201
  /**
@@ -245,28 +245,28 @@ declare class CrudifyInitializer {
245
245
  static resetInstance(): void;
246
246
  private constructor();
247
247
  /**
248
- * Initialize crudify with the given configuration
249
- * This method is idempotent and thread-safe
248
+ * Inicializar crudify con la configuración dada
249
+ * Este método es idempotente y thread-safe
250
250
  */
251
251
  initialize(config: CrudifyConfig): Promise<void>;
252
252
  /**
253
- * Perform the actual initialization process
253
+ * Realizar el proceso de inicialización actual
254
254
  */
255
255
  private performInitialization;
256
256
  /**
257
- * Verify that crudify is properly initialized by checking core methods
257
+ * Verificar que crudify esté correctamente inicializado revisando métodos principales
258
258
  */
259
259
  private verifyInitialization;
260
260
  /**
261
- * Check if the given configuration is the same as the current one
261
+ * Verificar si la configuración dada es la misma que la actual
262
262
  */
263
263
  private isConfigurationSame;
264
264
  /**
265
- * Reset the initialization state (useful for testing or configuration changes)
265
+ * Resetear el estado de inicialización (útil para testing o cambios de configuración)
266
266
  */
267
267
  reset(): void;
268
268
  /**
269
- * Get the current initialization status
269
+ * Obtener el estado actual de inicialización
270
270
  */
271
271
  getStatus(): {
272
272
  isInitialized: boolean;
@@ -275,28 +275,28 @@ declare class CrudifyInitializer {
275
275
  config: CrudifyConfig | null;
276
276
  };
277
277
  /**
278
- * Check if crudify is ready to use
278
+ * Verificar si crudify está listo para usar
279
279
  */
280
280
  isReady(): boolean;
281
281
  /**
282
- * Get the current initialization error, if any
282
+ * Obtener el error de inicialización actual, si existe
283
283
  */
284
284
  getError(): string | null;
285
285
  /**
286
- * Force re-initialization (useful when configuration changes)
286
+ * Forzar re-inicialización (útil cuando la configuración cambia)
287
287
  */
288
288
  reinitialize(config: CrudifyConfig): Promise<void>;
289
289
  /**
290
- * Check if initialization is currently in progress
290
+ * Verificar si la inicialización está actualmente en progreso
291
291
  */
292
292
  isInitializing(): boolean;
293
293
  /**
294
- * Wait for any ongoing initialization to complete
294
+ * Esperar a que cualquier inicialización en curso se complete
295
295
  */
296
296
  waitForInitialization(): Promise<void>;
297
297
  }
298
298
  /**
299
- * Singleton instance for easy access
299
+ * Instancia singleton para fácil acceso
300
300
  */
301
301
  declare const crudifyInitializer: CrudifyInitializer;
302
302
 
@@ -482,7 +482,7 @@ interface CrudifyDataProviderProps {
482
482
  */
483
483
  declare const CrudifyDataProvider: React.FC<CrudifyDataProviderProps>;
484
484
  /**
485
- * Hook to use the CrudifyDataProvider context
485
+ * Hook para usar el contexto de CrudifyDataProvider
486
486
  */
487
487
  declare const useCrudifyDataContext: () => CrudifyDataContextState;
488
488
 
package/dist/index.d.ts CHANGED
@@ -191,11 +191,11 @@ declare class ConfigurationManager {
191
191
  */
192
192
  private resolveValue;
193
193
  /**
194
- * Get configuration from environment variables
194
+ * Obtener configuración de variables de entorno
195
195
  */
196
196
  private getEnvConfig;
197
197
  /**
198
- * Get configuration from cookies (multi-tenant support)
198
+ * Obtener configuración de cookies (soporte multi-tenant)
199
199
  */
200
200
  private getCookieConfig;
201
201
  /**
@@ -245,28 +245,28 @@ declare class CrudifyInitializer {
245
245
  static resetInstance(): void;
246
246
  private constructor();
247
247
  /**
248
- * Initialize crudify with the given configuration
249
- * This method is idempotent and thread-safe
248
+ * Inicializar crudify con la configuración dada
249
+ * Este método es idempotente y thread-safe
250
250
  */
251
251
  initialize(config: CrudifyConfig): Promise<void>;
252
252
  /**
253
- * Perform the actual initialization process
253
+ * Realizar el proceso de inicialización actual
254
254
  */
255
255
  private performInitialization;
256
256
  /**
257
- * Verify that crudify is properly initialized by checking core methods
257
+ * Verificar que crudify esté correctamente inicializado revisando métodos principales
258
258
  */
259
259
  private verifyInitialization;
260
260
  /**
261
- * Check if the given configuration is the same as the current one
261
+ * Verificar si la configuración dada es la misma que la actual
262
262
  */
263
263
  private isConfigurationSame;
264
264
  /**
265
- * Reset the initialization state (useful for testing or configuration changes)
265
+ * Resetear el estado de inicialización (útil para testing o cambios de configuración)
266
266
  */
267
267
  reset(): void;
268
268
  /**
269
- * Get the current initialization status
269
+ * Obtener el estado actual de inicialización
270
270
  */
271
271
  getStatus(): {
272
272
  isInitialized: boolean;
@@ -275,28 +275,28 @@ declare class CrudifyInitializer {
275
275
  config: CrudifyConfig | null;
276
276
  };
277
277
  /**
278
- * Check if crudify is ready to use
278
+ * Verificar si crudify está listo para usar
279
279
  */
280
280
  isReady(): boolean;
281
281
  /**
282
- * Get the current initialization error, if any
282
+ * Obtener el error de inicialización actual, si existe
283
283
  */
284
284
  getError(): string | null;
285
285
  /**
286
- * Force re-initialization (useful when configuration changes)
286
+ * Forzar re-inicialización (útil cuando la configuración cambia)
287
287
  */
288
288
  reinitialize(config: CrudifyConfig): Promise<void>;
289
289
  /**
290
- * Check if initialization is currently in progress
290
+ * Verificar si la inicialización está actualmente en progreso
291
291
  */
292
292
  isInitializing(): boolean;
293
293
  /**
294
- * Wait for any ongoing initialization to complete
294
+ * Esperar a que cualquier inicialización en curso se complete
295
295
  */
296
296
  waitForInitialization(): Promise<void>;
297
297
  }
298
298
  /**
299
- * Singleton instance for easy access
299
+ * Instancia singleton para fácil acceso
300
300
  */
301
301
  declare const crudifyInitializer: CrudifyInitializer;
302
302
 
@@ -482,7 +482,7 @@ interface CrudifyDataProviderProps {
482
482
  */
483
483
  declare const CrudifyDataProvider: React.FC<CrudifyDataProviderProps>;
484
484
  /**
485
- * Hook to use the CrudifyDataProvider context
485
+ * Hook para usar el contexto de CrudifyDataProvider
486
486
  */
487
487
  declare const useCrudifyDataContext: () => CrudifyDataContextState;
488
488
 
package/dist/index.js CHANGED
@@ -196,11 +196,6 @@ var init_ConfigurationManager = __esm({
196
196
  this.configError = null;
197
197
  const envConfig = this.getEnvConfig();
198
198
  const cookieConfig = this.getCookieConfig();
199
- console.log("\u{1F527} ConfigurationManager - Configuration sources:", {
200
- props: propsConfig,
201
- env: envConfig,
202
- cookies: cookieConfig
203
- });
204
199
  const configSource = {
205
200
  env: "default",
206
201
  publicApiKey: "default",
@@ -217,7 +212,7 @@ var init_ConfigurationManager = __esm({
217
212
  const colors = this.resolveValue("colors", propsConfig.colors, envConfig.colors, cookieConfig.colors, {}, configSource);
218
213
  if (!publicApiKey) {
219
214
  throw new Error(
220
- "publicApiKey is required. Provide it via:\n1. Props: <CrudifyDataProvider publicApiKey={...} />\n2. Environment: VITE_TEST_PUBLIC_API_KEY\n3. Cookie: publicApiKey"
215
+ "publicApiKey es requerido. Proporci\xF3nalo v\xEDa:\n1. Props: <CrudifyDataProvider publicApiKey={...} />\n2. Variable de entorno: VITE_TEST_PUBLIC_API_KEY\n3. Cookie: publicApiKey"
221
216
  );
222
217
  }
223
218
  this.resolvedConfig = {
@@ -234,19 +229,10 @@ var init_ConfigurationManager = __esm({
234
229
  cookies: cookieConfig
235
230
  }
236
231
  };
237
- console.log("\u{1F527} ConfigurationManager - Configuration resolved:", {
238
- config: {
239
- env: this.resolvedConfig.env,
240
- publicApiKey: `${this.resolvedConfig.publicApiKey.substring(0, 8)}...`,
241
- appName: this.resolvedConfig.appName,
242
- loginActionsCount: this.resolvedConfig.loginActions.length
243
- },
244
- sources: this.resolvedConfig.configSource
245
- });
246
232
  return this.resolvedConfig;
247
233
  } catch (error) {
248
- this.configError = error instanceof Error ? error.message : "Unknown configuration error";
249
- console.error("\u{1F527} ConfigurationManager - Configuration error:", this.configError);
234
+ this.configError = error instanceof Error ? error.message : "Error de configuraci\xF3n desconocido";
235
+ console.error("ConfigurationManager - Error de configuraci\xF3n:", this.configError);
250
236
  this.resolvedConfig = {
251
237
  env: "prod",
252
238
  publicApiKey: "",
@@ -300,15 +286,13 @@ var init_ConfigurationManager = __esm({
300
286
  return defaultValue;
301
287
  }
302
288
  /**
303
- * Get configuration from environment variables
289
+ * Obtener configuración de variables de entorno
304
290
  */
305
291
  getEnvConfig() {
306
292
  const config = {};
307
293
  try {
308
- console.log("\u{1F527} ConfigurationManager - Reading environment variables");
309
294
  if (typeof import_meta !== "undefined" && import_meta.env) {
310
295
  const vitEnv = import_meta.env;
311
- console.log("\u{1F527} ConfigurationManager - Vite import.meta.env available:", !!vitEnv);
312
296
  const env = vitEnv.VITE_TEST_ENV;
313
297
  if (env && ["dev", "stg", "prod"].includes(env)) {
314
298
  config.env = env;
@@ -334,14 +318,12 @@ var init_ConfigurationManager = __esm({
334
318
  try {
335
319
  config.colors = JSON.parse(colors);
336
320
  } catch (error) {
337
- console.warn("\u{1F527} ConfigurationManager - Failed to parse colors from env:", error);
321
+ console.warn("ConfigurationManager - Error al parsear colors desde env:", error);
338
322
  }
339
323
  }
340
324
  }
341
- console.log("\u{1F527} ConfigurationManager - Vite env config:", config);
342
325
  if (typeof globalThis !== "undefined" && globalThis.process?.env) {
343
326
  const processEnv = globalThis.process.env;
344
- console.log("\u{1F527} ConfigurationManager - process.env available:", !!processEnv);
345
327
  const env = processEnv.VITE_TEST_ENV;
346
328
  if (env && ["dev", "stg", "prod"].includes(env) && !config.env) {
347
329
  config.env = env;
@@ -367,62 +349,53 @@ var init_ConfigurationManager = __esm({
367
349
  try {
368
350
  config.colors = JSON.parse(colors);
369
351
  } catch (error) {
370
- console.warn("\u{1F527} ConfigurationManager - Failed to parse colors from process.env:", error);
352
+ console.warn("ConfigurationManager - Error al parsear colors desde process.env:", error);
371
353
  }
372
354
  }
373
355
  }
374
- console.log("\u{1F527} ConfigurationManager - Final env config:", config);
375
356
  } catch (error) {
376
- console.warn("\u{1F527} ConfigurationManager - Environment variables not available:", error);
357
+ console.warn("ConfigurationManager - Variables de entorno no disponibles:", error);
377
358
  }
378
359
  return config;
379
360
  }
380
361
  /**
381
- * Get configuration from cookies (multi-tenant support)
362
+ * Obtener configuración de cookies (soporte multi-tenant)
382
363
  */
383
364
  getCookieConfig() {
384
365
  const config = {};
385
366
  try {
386
- console.log("\u{1F527} ConfigurationManager - Reading cookies from document.cookie:", document.cookie);
387
367
  const env = getCookie("environment");
388
- console.log("\u{1F527} ConfigurationManager - Cookie environment:", env);
389
368
  if (env && ["dev", "stg", "prod"].includes(env)) {
390
369
  config.env = env;
391
370
  }
392
371
  const publicApiKey = getCookie("publicApiKey");
393
- console.log("\u{1F527} ConfigurationManager - Cookie publicApiKey:", publicApiKey ? `${publicApiKey.substring(0, 8)}...` : null);
394
372
  if (publicApiKey) {
395
373
  config.publicApiKey = publicApiKey;
396
374
  }
397
375
  const appName = getCookie("appName");
398
- console.log("\u{1F527} ConfigurationManager - Cookie appName:", appName);
399
376
  if (appName) {
400
377
  config.appName = decodeURIComponent(appName);
401
378
  }
402
379
  const loginActions = getCookie("loginActions");
403
- console.log("\u{1F527} ConfigurationManager - Cookie loginActions:", loginActions);
404
380
  if (loginActions) {
405
381
  const decodedActions = decodeURIComponent(loginActions);
406
382
  config.loginActions = decodedActions.split(",").map((action) => action.trim()).filter(Boolean);
407
383
  }
408
384
  const logo = getCookie("logo");
409
- console.log("\u{1F527} ConfigurationManager - Cookie logo:", logo);
410
385
  if (logo) {
411
386
  config.logo = decodeURIComponent(logo);
412
387
  }
413
388
  const colors = getCookie("colors");
414
- console.log("\u{1F527} ConfigurationManager - Cookie colors:", colors);
415
389
  if (colors) {
416
390
  try {
417
391
  const decodedColors = decodeURIComponent(colors);
418
392
  config.colors = JSON.parse(decodedColors);
419
393
  } catch (error) {
420
- console.warn("\u{1F527} ConfigurationManager - Failed to parse colors from cookie:", error);
394
+ console.warn("ConfigurationManager - Error al parsear colors desde cookie:", error);
421
395
  }
422
396
  }
423
- console.log("\u{1F527} ConfigurationManager - Final cookie config:", config);
424
397
  } catch (error) {
425
- console.warn("\u{1F527} ConfigurationManager - Error reading cookies:", error);
398
+ console.warn("ConfigurationManager - Error leyendo cookies:", error);
426
399
  }
427
400
  return config;
428
401
  }
@@ -473,7 +446,6 @@ var init_CrudifyInitializer = __esm({
473
446
  config: null,
474
447
  initializationPromise: null
475
448
  };
476
- console.log("\u{1F680} CrudifyInitializer - Instance created");
477
449
  }
478
450
  /**
479
451
  * Singleton pattern to ensure global initialization coordination
@@ -491,27 +463,18 @@ var init_CrudifyInitializer = __esm({
491
463
  _CrudifyInitializer.instance = null;
492
464
  }
493
465
  /**
494
- * Initialize crudify with the given configuration
495
- * This method is idempotent and thread-safe
466
+ * Inicializar crudify con la configuración dada
467
+ * Este método es idempotente y thread-safe
496
468
  */
497
469
  async initialize(config) {
498
- console.log("\u{1F680} CrudifyInitializer - ENTRY_POINT - Received config:", {
499
- env: config.env,
500
- publicApiKey: config.publicApiKey ? `${config.publicApiKey.substring(0, 8)}...` : null,
501
- appName: config.appName,
502
- loginActionsCount: config.loginActions?.length || 0
503
- });
504
470
  if (this.state.isInitialized && this.isConfigurationSame(config)) {
505
- console.log("\u{1F680} CrudifyInitializer - Already initialized with same config");
506
471
  return;
507
472
  }
508
473
  if (this.state.isInitializing && this.state.initializationPromise) {
509
- console.log("\u{1F680} CrudifyInitializer - Waiting for ongoing initialization");
510
474
  await this.state.initializationPromise;
511
475
  return;
512
476
  }
513
477
  if (this.state.isInitialized && !this.isConfigurationSame(config)) {
514
- console.log("\u{1F680} CrudifyInitializer - Configuration changed, re-initializing");
515
478
  this.reset();
516
479
  }
517
480
  this.state.isInitializing = true;
@@ -521,10 +484,9 @@ var init_CrudifyInitializer = __esm({
521
484
  await this.state.initializationPromise;
522
485
  this.state.isInitialized = true;
523
486
  this.state.config = { ...config };
524
- console.log("\u{1F680} CrudifyInitializer - Initialization completed successfully");
525
487
  } catch (error) {
526
- this.state.initializationError = error instanceof Error ? error.message : "Unknown initialization error";
527
- console.error("\u{1F680} CrudifyInitializer - Initialization failed:", this.state.initializationError);
488
+ this.state.initializationError = error instanceof Error ? error.message : "Error de inicializaci\xF3n desconocido";
489
+ console.error("CrudifyInitializer - Inicializaci\xF3n fall\xF3:", this.state.initializationError);
528
490
  throw error;
529
491
  } finally {
530
492
  this.state.isInitializing = false;
@@ -532,35 +494,25 @@ var init_CrudifyInitializer = __esm({
532
494
  }
533
495
  }
534
496
  /**
535
- * Perform the actual initialization process
497
+ * Realizar el proceso de inicialización actual
536
498
  */
537
499
  async performInitialization(config) {
538
500
  if (!config.publicApiKey) {
539
- throw new Error("publicApiKey is required for crudify initialization");
501
+ throw new Error("publicApiKey es requerido para la inicializaci\xF3n de crudify");
540
502
  }
541
- console.log("\u{1F680} CrudifyInitializer - Starting initialization with config:", {
542
- env: config.env,
543
- publicApiKey: `${config.publicApiKey.substring(0, 8)}...`,
544
- appName: config.appName
545
- });
546
503
  try {
547
504
  const environment = config.env || "prod";
548
- console.log("\u{1F680} CrudifyInitializer - Step 1: Configuring environment:", environment);
549
505
  await import_crudify_browser2.default.config(environment);
550
- console.log("\u{1F680} CrudifyInitializer - Step 2: Initializing with API key");
551
506
  await import_crudify_browser2.default.init(config.publicApiKey, "none");
552
- console.log("\u{1F680} CrudifyInitializer - Step 3: Verifying initialization");
553
507
  await this.verifyInitialization();
554
- console.log("\u{1F680} CrudifyInitializer - All initialization steps completed");
555
508
  } catch (error) {
556
- console.error("\u{1F680} CrudifyInitializer - Initialization failed at step:", error);
557
509
  throw new Error(
558
- `Crudify initialization failed: ${error instanceof Error ? error.message : "Unknown error"}. Please check your configuration (env: ${config.env || "prod"}, publicApiKey: ${config.publicApiKey ? "provided" : "missing"})`
510
+ `Inicializaci\xF3n de Crudify fall\xF3: ${error instanceof Error ? error.message : "Error desconocido"}. Por favor revisa tu configuraci\xF3n (env: ${config.env || "prod"}, publicApiKey: ${config.publicApiKey ? "proporcionado" : "faltante"})`
559
511
  );
560
512
  }
561
513
  }
562
514
  /**
563
- * Verify that crudify is properly initialized by checking core methods
515
+ * Verificar que crudify esté correctamente inicializado revisando métodos principales
564
516
  */
565
517
  async verifyInitialization() {
566
518
  const requiredMethods = ["readItems", "readItem", "createItem", "updateItem", "deleteItem", "login", "transaction"];
@@ -572,23 +524,21 @@ var init_CrudifyInitializer = __esm({
572
524
  }
573
525
  if (missingMethods.length > 0) {
574
526
  throw new Error(
575
- `Crudify initialization incomplete. Missing methods: ${missingMethods.join(", ")}. This usually indicates a configuration or network issue.`
527
+ `Inicializaci\xF3n de Crudify incompleta. M\xE9todos faltantes: ${missingMethods.join(", ")}. Esto usualmente indica un problema de configuraci\xF3n o red.`
576
528
  );
577
529
  }
578
- console.log("\u{1F680} CrudifyInitializer - Verification successful (test call skipped for performance)");
579
530
  }
580
531
  /**
581
- * Check if the given configuration is the same as the current one
532
+ * Verificar si la configuración dada es la misma que la actual
582
533
  */
583
534
  isConfigurationSame(config) {
584
535
  if (!this.state.config) return false;
585
536
  return this.state.config.env === config.env && this.state.config.publicApiKey === config.publicApiKey;
586
537
  }
587
538
  /**
588
- * Reset the initialization state (useful for testing or configuration changes)
539
+ * Resetear el estado de inicialización (útil para testing o cambios de configuración)
589
540
  */
590
541
  reset() {
591
- console.log("\u{1F680} CrudifyInitializer - Resetting initialization state");
592
542
  this.state = {
593
543
  isInitialized: false,
594
544
  isInitializing: false,
@@ -598,7 +548,7 @@ var init_CrudifyInitializer = __esm({
598
548
  };
599
549
  }
600
550
  /**
601
- * Get the current initialization status
551
+ * Obtener el estado actual de inicialización
602
552
  */
603
553
  getStatus() {
604
554
  return {
@@ -609,33 +559,32 @@ var init_CrudifyInitializer = __esm({
609
559
  };
610
560
  }
611
561
  /**
612
- * Check if crudify is ready to use
562
+ * Verificar si crudify está listo para usar
613
563
  */
614
564
  isReady() {
615
565
  return this.state.isInitialized && !this.state.initializationError;
616
566
  }
617
567
  /**
618
- * Get the current initialization error, if any
568
+ * Obtener el error de inicialización actual, si existe
619
569
  */
620
570
  getError() {
621
571
  return this.state.initializationError;
622
572
  }
623
573
  /**
624
- * Force re-initialization (useful when configuration changes)
574
+ * Forzar re-inicialización (útil cuando la configuración cambia)
625
575
  */
626
576
  async reinitialize(config) {
627
- console.log("\u{1F680} CrudifyInitializer - Forcing re-initialization");
628
577
  this.reset();
629
578
  await this.initialize(config);
630
579
  }
631
580
  /**
632
- * Check if initialization is currently in progress
581
+ * Verificar si la inicialización está actualmente en progreso
633
582
  */
634
583
  isInitializing() {
635
584
  return this.state.isInitializing;
636
585
  }
637
586
  /**
638
- * Wait for any ongoing initialization to complete
587
+ * Esperar a que cualquier inicialización en curso se complete
639
588
  */
640
589
  async waitForInitialization() {
641
590
  if (this.state.initializationPromise) {
@@ -1092,7 +1041,6 @@ var init_CrudifyDataProvider = __esm({
1092
1041
  const [tokenExpiration, setTokenExpiration] = (0, import_react5.useState)(null);
1093
1042
  const initializeConfiguration = (0, import_react5.useCallback)(() => {
1094
1043
  try {
1095
- console.log("\u{1F30D} CrudifyDataProvider - VERSION 1.2.4+ - Initializing configuration");
1096
1044
  const propsConfig = {
1097
1045
  env,
1098
1046
  publicApiKey,
@@ -1106,15 +1054,10 @@ var init_CrudifyDataProvider = __esm({
1106
1054
  setConfig(resolvedConfig);
1107
1055
  setConfigError(error);
1108
1056
  setIsConfigured(configurationManager.isConfigured());
1109
- console.log("\u{1F30D} CrudifyDataProvider - Configuration initialized:", {
1110
- isConfigured: configurationManager.isConfigured(),
1111
- error,
1112
- sources: resolvedConfig.configSource
1113
- });
1114
1057
  return resolvedConfig;
1115
1058
  } catch (error) {
1116
- const errorMessage = error instanceof Error ? error.message : "Configuration initialization failed";
1117
- console.error("\u{1F30D} CrudifyDataProvider - Configuration error:", errorMessage);
1059
+ const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de configuraci\xF3n";
1060
+ console.error("CrudifyDataProvider - Error de configuraci\xF3n:", errorMessage);
1118
1061
  setConfigError(errorMessage);
1119
1062
  setIsConfigured(false);
1120
1063
  return null;
@@ -1122,19 +1065,12 @@ var init_CrudifyDataProvider = __esm({
1122
1065
  }, [env, publicApiKey, loginActions, appName, logo, colors]);
1123
1066
  const initializeCrudify = (0, import_react5.useCallback)(async (resolvedConfig) => {
1124
1067
  if (!resolvedConfig || !resolvedConfig.publicApiKey) {
1125
- setInitializationError("Cannot initialize crudify without valid configuration");
1068
+ setInitializationError("No se puede inicializar crudify sin configuraci\xF3n v\xE1lida");
1126
1069
  return;
1127
1070
  }
1128
1071
  try {
1129
1072
  setIsInitializing(true);
1130
1073
  setInitializationError(null);
1131
- console.log("\u{1F680} CrudifyDataProvider - Starting crudify initialization");
1132
- console.log("\u{1F680} CrudifyDataProvider - Resolved config being passed:", {
1133
- env: resolvedConfig.env,
1134
- publicApiKey: resolvedConfig.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
1135
- appName: resolvedConfig.appName,
1136
- loginActionsCount: resolvedConfig.loginActions.length
1137
- });
1138
1074
  await crudifyInitializer.initialize({
1139
1075
  env: resolvedConfig.env,
1140
1076
  publicApiKey: resolvedConfig.publicApiKey,
@@ -1144,10 +1080,9 @@ var init_CrudifyDataProvider = __esm({
1144
1080
  colors: resolvedConfig.colors
1145
1081
  });
1146
1082
  setIsInitialized(true);
1147
- console.log("\u{1F680} CrudifyDataProvider - Crudify initialization completed");
1148
1083
  } catch (error) {
1149
- const errorMessage = error instanceof Error ? error.message : "Crudify initialization failed";
1150
- console.error("\u{1F680} CrudifyDataProvider - Initialization error:", errorMessage);
1084
+ const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de Crudify";
1085
+ console.error("CrudifyDataProvider - Error de inicializaci\xF3n:", errorMessage);
1151
1086
  setInitializationError(errorMessage);
1152
1087
  setIsInitialized(false);
1153
1088
  } finally {
@@ -1155,80 +1090,44 @@ var init_CrudifyDataProvider = __esm({
1155
1090
  }
1156
1091
  }, []);
1157
1092
  const updateAuthenticationState = (0, import_react5.useCallback)(() => {
1158
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Starting authentication state update");
1159
1093
  try {
1160
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting token from TokenManager");
1161
1094
  const currentToken = tokenManager.getToken();
1162
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token retrieved:", !!currentToken);
1163
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Parsing token");
1164
1095
  const parsedUser = tokenManager.parseToken();
1165
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token parsed:", !!parsedUser);
1166
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting expiration");
1167
1096
  const expiration = tokenManager.getTokenExpiration();
1168
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Expiration retrieved:", !!expiration);
1169
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Checking authentication");
1170
1097
  const authenticated = tokenManager.isAuthenticated();
1171
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication checked:", authenticated);
1172
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Updating state variables");
1173
1098
  setTokenState(currentToken);
1174
1099
  setUser(parsedUser);
1175
1100
  setTokenExpiration(expiration);
1176
1101
  setIsAuthenticated(authenticated);
1177
- console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication state updated successfully:", {
1178
- hasToken: !!currentToken,
1179
- isAuthenticated: authenticated,
1180
- userEmail: parsedUser?.email || null,
1181
- expiration: expiration?.toISOString() || null
1182
- });
1183
1102
  } catch (error) {
1184
- console.error("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Error updating authentication state:", error);
1103
+ console.error("CrudifyDataProvider - Error actualizando estado de autenticaci\xF3n:", error);
1185
1104
  }
1186
1105
  }, []);
1187
1106
  const setToken = (0, import_react5.useCallback)((newToken) => {
1188
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== STARTING TOKEN SET =====");
1189
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: New token:", newToken ? `${newToken.substring(0, 20)}...` : "null");
1190
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting token in TokenManager...");
1191
1107
  tokenManager.setToken(newToken);
1192
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Updating state using newToken directly");
1193
1108
  if (newToken) {
1194
1109
  const parsedUser = tokenManager.parseToken(newToken);
1195
1110
  const expiration = tokenManager.getTokenExpiration();
1196
1111
  const authenticated = tokenManager.isTokenValid(newToken);
1197
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting state values:");
1198
- console.log(" - setTokenState:", newToken ? `${newToken.substring(0, 20)}...` : "null");
1199
- console.log(" - setUser:", parsedUser?.email || "null");
1200
- console.log(" - setIsAuthenticated:", authenticated);
1201
1112
  setTokenState(newToken);
1202
1113
  setUser(parsedUser);
1203
1114
  setTokenExpiration(expiration);
1204
1115
  setIsAuthenticated(authenticated);
1205
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token set, state updated", {
1206
- hasToken: true,
1207
- isAuthenticated: authenticated,
1208
- userEmail: parsedUser?.email || null
1209
- });
1210
1116
  } else {
1211
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Clearing all states");
1212
1117
  setTokenState(null);
1213
1118
  setUser(null);
1214
1119
  setTokenExpiration(null);
1215
1120
  setIsAuthenticated(false);
1216
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token cleared, state reset");
1217
1121
  }
1218
- console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== TOKEN SET COMPLETE =====");
1219
1122
  }, []);
1220
1123
  const logout = (0, import_react5.useCallback)(() => {
1221
- console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Logging out user");
1222
1124
  tokenManager.clearToken();
1223
- console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Updating state directly");
1224
1125
  setTokenState(null);
1225
1126
  setUser(null);
1226
1127
  setTokenExpiration(null);
1227
1128
  setIsAuthenticated(false);
1228
- console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: User logged out, state cleared");
1229
1129
  }, []);
1230
1130
  const refreshConfig = (0, import_react5.useCallback)(() => {
1231
- console.log("\u{1F30D} CrudifyDataProvider - Refreshing configuration");
1232
1131
  configurationManager.clearConfig();
1233
1132
  const newConfig = initializeConfiguration();
1234
1133
  if (newConfig && newConfig.publicApiKey) {
@@ -1237,10 +1136,9 @@ var init_CrudifyDataProvider = __esm({
1237
1136
  }, [initializeConfiguration, initializeCrudify]);
1238
1137
  const reinitialize = (0, import_react5.useCallback)(async () => {
1239
1138
  if (!config || !config.publicApiKey) {
1240
- console.warn("\u{1F680} CrudifyDataProvider - Cannot reinitialize without valid configuration");
1139
+ console.warn("CrudifyDataProvider - No se puede reinicializar sin configuraci\xF3n v\xE1lida");
1241
1140
  return;
1242
1141
  }
1243
- console.log("\u{1F680} CrudifyDataProvider - Force reinitializing crudify");
1244
1142
  crudifyInitializer.reset();
1245
1143
  await initializeCrudify(config);
1246
1144
  }, [config, initializeCrudify]);
@@ -1279,43 +1177,34 @@ var init_CrudifyDataProvider = __esm({
1279
1177
  };
1280
1178
  }, [isConfigured, configError, isInitialized, isInitializing, initializationError, isAuthenticated, config, token, user, tokenExpiration]);
1281
1179
  (0, import_react5.useEffect)(() => {
1282
- console.log("\u{1F30D} CrudifyDataProvider - Provider mounting, starting initialization");
1283
1180
  const resolvedConfig = initializeConfiguration();
1284
- console.log("\u{1F30D} CrudifyDataProvider - Resolved config from initializeConfiguration:", {
1285
- env: resolvedConfig?.env,
1286
- publicApiKey: resolvedConfig?.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
1287
- appName: resolvedConfig?.appName,
1288
- loginActionsCount: resolvedConfig?.loginActions.length || 0
1289
- });
1290
1181
  updateAuthenticationState();
1291
1182
  if (resolvedConfig && resolvedConfig.publicApiKey) {
1292
1183
  initializeCrudify(resolvedConfig);
1293
1184
  }
1294
1185
  return () => {
1295
- console.log("\u{1F30D} CrudifyDataProvider - Provider unmounting, cleaning up");
1296
1186
  tokenManager.cleanup();
1297
1187
  };
1298
1188
  }, []);
1299
1189
  (0, import_react5.useEffect)(() => {
1300
- console.log("\u{1F510} CrudifyDataProvider - INITIAL_AUTH_EFFECT: Loading initial authentication state");
1301
1190
  updateAuthenticationState();
1302
1191
  }, []);
1303
1192
  const contextValue = {
1304
- // Configuration
1193
+ // Configuración
1305
1194
  config,
1306
1195
  isConfigured,
1307
1196
  configError,
1308
1197
  configSource: config ? JSON.stringify(config.configSource) : "none",
1309
- // Initialization
1198
+ // Inicialización
1310
1199
  isInitialized,
1311
1200
  isInitializing,
1312
1201
  initializationError,
1313
- // Authentication
1202
+ // Autenticación
1314
1203
  isAuthenticated,
1315
1204
  token,
1316
1205
  user,
1317
1206
  tokenExpiration,
1318
- // Actions
1207
+ // Acciones
1319
1208
  setToken,
1320
1209
  logout,
1321
1210
  refreshConfig,
package/dist/index.mjs CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  secureSessionStorage,
11
11
  tokenManager,
12
12
  useCrudifyDataContext
13
- } from "./chunk-KXTVLFHE.mjs";
13
+ } from "./chunk-42KLTBFN.mjs";
14
14
 
15
15
  // src/index.ts
16
16
  import { default as default2 } from "@nocios/crudify-browser";
@@ -2370,7 +2370,7 @@ var useCrudifyInstance = () => {
2370
2370
  }
2371
2371
  try {
2372
2372
  console.log("\u{1F504} useCrudifyInstance - waitForReady: Using CrudifyInitializer.waitForInitialization()");
2373
- const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-4FNIH3Q3.mjs");
2373
+ const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-KKZJMQV2.mjs");
2374
2374
  await crudifyInitializer2.waitForInitialization();
2375
2375
  console.log("\u2705 useCrudifyInstance - waitForReady: CrudifyInitializer completed");
2376
2376
  if (!crudifyInitializer2.isReady()) {
@@ -2512,7 +2512,7 @@ var useCrudifyInstance = () => {
2512
2512
  };
2513
2513
  var getCrudifyInstanceAsync = async () => {
2514
2514
  console.log("\u{1F504} getCrudifyInstanceAsync - Starting");
2515
- const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-4FNIH3Q3.mjs");
2515
+ const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-KKZJMQV2.mjs");
2516
2516
  console.log("\u{1F504} getCrudifyInstanceAsync - Checking if ready");
2517
2517
  console.log(" - crudifyInitializer.isReady():", crudifyInitializer2.isReady());
2518
2518
  console.log(" - crudifyInitializer.getStatus():", crudifyInitializer2.getStatus());
@@ -2531,7 +2531,7 @@ var getCrudifyInstanceAsync = async () => {
2531
2531
  return crudify5;
2532
2532
  };
2533
2533
  var getCrudifyInstanceSync = async () => {
2534
- const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-4FNIH3Q3.mjs");
2534
+ const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-KKZJMQV2.mjs");
2535
2535
  if (!crudifyInitializer2.isReady()) {
2536
2536
  throw new Error("Crudify not ready. Use getCrudifyInstanceAsync() or call this from within a React component using useCrudifyInstance()");
2537
2537
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocios/crudify-ui",
3
- "version": "1.2.12",
3
+ "version": "1.2.16",
4
4
  "description": "Biblioteca de componentes UI para Crudify",
5
5
  "author": "Nocios",
6
6
  "license": "MIT",