@nocios/crudify-components 2.0.26 → 2.0.36

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.
Files changed (48) hide show
  1. package/coverage/coverage-final.json +69 -35
  2. package/coverage/index.html +326 -146
  3. package/dist/{CrudiaMarkdownField-C54-A_J3.d.mts → CrudiaMarkdownField-Bxl08sRG.d.mts} +12 -7
  4. package/dist/{CrudiaMarkdownField-C8HQh7s5.d.ts → CrudiaMarkdownField-DUJNOOzP.d.ts} +12 -7
  5. package/dist/chunk-44VU4TSP.mjs +1 -0
  6. package/dist/chunk-4LMFQECS.js +1 -0
  7. package/dist/chunk-77UKXG5L.mjs +1 -0
  8. package/dist/{chunk-4VN5YRYZ.js → chunk-BXFEQ6KP.js} +1 -1
  9. package/dist/{chunk-6ONAT4QU.js → chunk-H6XXWDUT.js} +1 -1
  10. package/dist/chunk-NIRLP2TC.js +1 -0
  11. package/dist/chunk-O4FUHIQG.mjs +1 -0
  12. package/dist/chunk-QFACMV2I.mjs +1 -0
  13. package/dist/chunk-QZH3KSJZ.js +1 -0
  14. package/dist/{chunk-RJBX4MWF.mjs → chunk-WMLIOPUC.mjs} +1 -1
  15. package/dist/components.d.mts +1 -1
  16. package/dist/components.d.ts +1 -1
  17. package/dist/components.js +1 -1
  18. package/dist/components.mjs +1 -1
  19. package/dist/errorTranslation-D-Y7uNN_.d.mts +141 -0
  20. package/dist/errorTranslation-DDlAXpMl.d.ts +141 -0
  21. package/dist/hooks.d.mts +2 -2
  22. package/dist/hooks.d.ts +2 -2
  23. package/dist/hooks.js +1 -1
  24. package/dist/hooks.mjs +1 -1
  25. package/dist/{index-DY90WVQQ.d.mts → index-U--xRr8A.d.mts} +225 -191
  26. package/dist/{index-d1vE803G.d.ts → index-dXVRVcEB.d.ts} +225 -191
  27. package/dist/index.d.mts +345 -18
  28. package/dist/index.d.ts +345 -18
  29. package/dist/index.js +2 -2
  30. package/dist/index.mjs +1 -1
  31. package/dist/{errorTranslation-By5Av0tL.d.ts → tenantConfig-DqJqQkoR.d.mts} +116 -139
  32. package/dist/{errorTranslation-DeeDj7Vt.d.mts → tenantConfig-DqJqQkoR.d.ts} +116 -139
  33. package/dist/utils.d.mts +2 -2
  34. package/dist/utils.d.ts +2 -2
  35. package/dist/utils.js +1 -1
  36. package/dist/utils.mjs +1 -1
  37. package/package.json +1 -1
  38. package/dist/api-B4uXiHF0.d.mts +0 -118
  39. package/dist/api-B4uXiHF0.d.ts +0 -118
  40. package/dist/chunk-4ILUXVPW.mjs +0 -1
  41. package/dist/chunk-CR5KJUST.js +0 -1
  42. package/dist/chunk-H5M2Q6PB.mjs +0 -1
  43. package/dist/chunk-J5A7XVNT.mjs +0 -1
  44. package/dist/chunk-JAPL7EZJ.mjs +0 -1
  45. package/dist/chunk-MPIGL3FY.js +0 -1
  46. package/dist/chunk-NSV6ECYO.js +0 -1
  47. package/dist/chunk-PTUSZGL4.mjs +0 -1
  48. package/dist/chunk-T6R65ROU.js +0 -1
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import crudify__default from '@nocios/crudify-sdk';
2
2
  export * from '@nocios/crudify-sdk';
3
3
  export { default as crudify } from '@nocios/crudify-sdk';
4
- import { d as CrudifyLoginConfig, l as PasswordRule, E as EvaluatedPasswordRule } from './CrudiaMarkdownField-C8HQh7s5.js';
5
- export { B as BoxScreenType, a as CrudiaAutoGenerate, i as CrudiaAutoGenerateProps, b as CrudiaFileField, o as CrudiaFileFieldDeletionHandlers, j as CrudiaFileFieldProps, c as CrudiaMarkdownField, k as CrudiaMarkdownFieldProps, C as CrudifyLogin, e as CrudifyLoginProps, f as CrudifyLoginTranslations, D as DEFAULT_PASSWORD_RULES, L as LoginComponent, m as POLICY_ACTIONS, n as PREFERRED_POLICY_ORDER, p as PasswordRuleType, P as Policies, h as PolicyAction, S as SessionStatus, g as UserLoginData, U as UserProfileDisplay } from './CrudiaMarkdownField-C8HQh7s5.js';
4
+ import { d as CrudifyLoginConfig, l as PasswordRule, E as EvaluatedPasswordRule } from './CrudiaMarkdownField-DUJNOOzP.js';
5
+ export { B as BoxScreenType, a as CrudiaAutoGenerate, i as CrudiaAutoGenerateProps, b as CrudiaFileField, o as CrudiaFileFieldDeletionHandlers, j as CrudiaFileFieldProps, c as CrudiaMarkdownField, k as CrudiaMarkdownFieldProps, C as CrudifyLogin, e as CrudifyLoginProps, f as CrudifyLoginTranslations, D as DEFAULT_PASSWORD_RULES, L as LoginComponent, m as POLICY_ACTIONS, n as PREFERRED_POLICY_ORDER, p as PasswordRuleType, P as Policies, h as PolicyAction, S as SessionStatus, g as UserLoginData, U as UserProfileDisplay } from './CrudiaMarkdownField-DUJNOOzP.js';
6
6
  import React, { ReactNode } from 'react';
7
- export { A as ApiError, C as CrudifyApiResponse, d as CrudifyOperationOptions, e as CrudifyRequestOptions, a as CrudifyTransactionResponse, F as ForgotPasswordRequest, J as JwtPayload, b as LoginRequest, L as LoginResponse, R as ResetPasswordRequest, g as TransactionInput, f as TransactionOperation, T as TransactionResponseData, U as UserProfile, V as ValidateCodeRequest, c as ValidationError } from './api-B4uXiHF0.js';
8
- export { F as FileItem, v as FileStatus, L as LoginResult, N as NotificationOptions, a as SessionConfig, g as SessionDebugInfo, S as SessionManager, e as SessionProvider, h as SessionProviderProps, d as SessionState, c as StorageType, b as TokenData, T as TokenStorage, n as UseAuthReturn, p as UseDataReturn, s as UseFileUploadOptions, t as UseFileUploadReturn, U as UseSessionOptions, k as UseUserDataOptions, j as UseUserDataReturn, l as UserData, m as useAuth, w as useCrudifyWithNotifications, o as useData, r as useFileUpload, u as useSession, f as useSessionContext, i as useUserData, q as useUserProfile } from './index-d1vE803G.js';
7
+ export { A as ApiError, f as CrudifyApiResponse, e as CrudifyEnvironment, l as CrudifyOperationOptions, m as CrudifyRequestOptions, g as CrudifyTransactionResponse, F as ForgotPasswordRequest, J as JwtPayload, i as LoginRequest, L as LoginResponse, j as ResetPasswordRequest, R as ResolvedTenantConfig, T as TenantConfig, a as TenantConfigOptions, o as TransactionInput, n as TransactionOperation, h as TransactionResponseData, U as UserProfile, V as ValidateCodeRequest, k as ValidationError, r as resolveTenantConfig, u as useTenantConfig } from './tenantConfig-DqJqQkoR.js';
8
+ export { F as FileItem, v as FileStatus, L as LoginResult, N as NotificationOptions, a as SessionConfig, g as SessionDebugInfo, S as SessionManager, e as SessionProvider, h as SessionProviderProps, d as SessionState, c as StorageType, b as TokenData, T as TokenStorage, n as UseAuthReturn, p as UseDataReturn, s as UseFileUploadOptions, t as UseFileUploadReturn, U as UseSessionOptions, k as UseUserDataOptions, j as UseUserDataReturn, l as UserData, m as useAuth, w as useCrudifyWithNotifications, o as useData, r as useFileUpload, u as useSession, f as useSessionContext, i as useUserData, q as useUserProfile } from './index-dXVRVcEB.js';
9
9
  import * as react_jsx_runtime from 'react/jsx-runtime';
10
10
  import { ThemeOptions } from '@mui/material';
11
11
  export { A as AutoGenerateConfig, G as GlobalNotificationProvider, a as GlobalNotificationProviderProps, N as Notification, b as NotificationSeverity, d as UseAutoGenerateOptions, U as UseAutoGenerateReturn, c as useAutoGenerate, u as useGlobalNotification } from './GlobalNotificationProvider-Zq18OkpI.js';
12
- export { h as CrudifyEnvironment, E as ERROR_CODES, n as ERROR_SEVERITY_MAP, w as ErrorCode, x as ErrorSeverity, y as ErrorTranslationConfig, P as ParsedError, R as ResolvedTenantConfig, T as TenantConfig, b as TenantConfigOptions, v as createErrorTranslator, d as decodeJwtSafely, g as getCurrentUserEmail, m as getErrorMessage, j as handleCrudifyError, i as isTokenExpired, p as parseApiError, l as parseJavaScriptError, k as parseTransactionError, r as resolveTenantConfig, a as secureLocalStorage, s as secureSessionStorage, q as translateError, t as translateErrorCode, o as translateErrorCodes, u as useTenantConfig } from './errorTranslation-By5Av0tL.js';
12
+ export { E as ERROR_CODES, f as ERROR_SEVERITY_MAP, m as ErrorCode, n as ErrorSeverity, o as ErrorTranslationConfig, P as ParsedError, l as createErrorTranslator, d as decodeJwtSafely, g as getCurrentUserEmail, e as getErrorMessage, h as handleCrudifyError, i as isTokenExpired, p as parseApiError, c as parseJavaScriptError, b as parseTransactionError, a as secureLocalStorage, s as secureSessionStorage, k as translateError, t as translateErrorCode, j as translateErrorCodes } from './errorTranslation-DDlAXpMl.js';
13
13
  import { ApiResponse, IModule, ModuleCreateInput, ModuleEditInput, ActionListFilters, IAction, ActionCreateInput, ActionEditInput, UpdateActionsProfilesInput, UpdateActionsProfilesResponse, CalculatePermissionsInput, CalculatePermissionsResponse } from '@nocios/crudify-admin-sdk';
14
14
  export { ActionCreateInput, ActionEditInput, ActionListFilters, ApiResponse, IAction, IModule, ModuleCreateInput, ModuleEditInput, UpdateActionsProfilesInput, UpdateActionsProfilesResponse } from '@nocios/crudify-admin-sdk';
15
15
 
@@ -951,21 +951,348 @@ declare const translationService: TranslationService;
951
951
  * Critical translations bundle
952
952
  * These translations are bundled with the application to ensure
953
953
  * basic functionality (login, errors, loading) works even if the API is unavailable
954
- *
955
- * Total keys: 108
956
- * - login.*: 15 keys
957
- * - forgotPassword.*: 11 keys
958
- * - checkCode.*: 11 keys
959
- * - resetPassword.*: 19 keys
960
- * - errors.*: 39 keys
961
- * - loading.*: 5 keys
962
- * - common (basic): 2 keys
963
- * - footer.*: 2 keys
964
- * - error.app.*: 4 keys
965
954
  */
966
955
  declare const CRITICAL_TRANSLATIONS: {
967
- readonly es: {};
968
- readonly en: {};
956
+ readonly es: {
957
+ readonly "base.actions.create": "Nuevo";
958
+ readonly "base.actions.delete": "Eliminar";
959
+ readonly "base.actions.read": "Ver";
960
+ readonly "base.actions.refresh": "Refrescar";
961
+ readonly "base.actions.update": "Editar";
962
+ readonly "base.btn.back": "Volver";
963
+ readonly "base.btn.cancel": "Cancelar";
964
+ readonly "base.btn.hidePassword": "Ocultar contraseña";
965
+ readonly "base.btn.showPassword": "Mostrar contraseña";
966
+ readonly "base.errors.errorUnknown": "Ocurrió un error desconocido.";
967
+ readonly "base.fields.actions": "Acciones";
968
+ readonly "base.fields.confirmPassword": "Confirmar contraseña";
969
+ readonly "base.fields.createdAt": "Creado el";
970
+ readonly "base.fields.email": "Correo electrónico";
971
+ readonly "base.fields.lastName": "Apellido";
972
+ readonly "base.fields.name": "Nombre";
973
+ readonly "base.fields.password": "Contraseña";
974
+ readonly "base.fields.profile": "Perfil";
975
+ readonly "base.fields.updatedAt": "Actualizado el";
976
+ readonly "base.file.allowedTypes": "Tipos permitidos: {{types}}";
977
+ readonly "base.file.clickToDownload": "Clic para descargar";
978
+ readonly "base.file.clickToPreview": "Clic para ver imagen";
979
+ readonly "base.file.confirmDelete.cancel": "Cancelar";
980
+ readonly "base.file.confirmDelete.confirm": "Eliminar";
981
+ readonly "base.file.confirmDelete.message": "¿Estás seguro de que deseas eliminar este archivo? Esta acción no se puede deshacer.";
982
+ readonly "base.file.confirmDelete.title": "Eliminar archivo";
983
+ readonly "base.file.delete": "Eliminar";
984
+ readonly "base.file.deleting": "Eliminando...";
985
+ readonly "base.file.dragOrClick": "Arrastra archivos aquí o haz clic para seleccionar";
986
+ readonly "base.file.dropHere": "Suelta el archivo aquí";
987
+ readonly "base.file.maxFiles": "Máximo {{count}} archivos";
988
+ readonly "base.file.maxSize": "Máximo {{size}} por archivo";
989
+ readonly "base.file.noPreview": "Sin vista previa";
990
+ readonly "base.file.pendingDeletion": "Pendiente de eliminación";
991
+ readonly "base.file.privateFile": "Archivo privado";
992
+ readonly "base.file.restore": "Restaurar";
993
+ readonly "base.file.uploading": "Subiendo archivos...";
994
+ readonly "base.file.validation.filesWithErrors": "Algunos archivos tienen errores";
995
+ readonly "base.file.validation.maxFilesExceeded": "Máximo {{count}} archivos permitidos";
996
+ readonly "base.file.validation.minFilesRequired": "Se requiere al menos un archivo";
997
+ readonly "base.file.validation.minFilesRequiredPlural": "Se requieren al menos {{count}} archivos";
998
+ readonly "base.lastUpdated": "Última actualización a las {{formattedLastUpdated}}";
999
+ readonly "base.loading.configInitial": "Cargando configuración inicial...";
1000
+ readonly "base.loading.pleaseWait": "Cargando, por favor espera...";
1001
+ readonly "base.loading.starting": "Iniciando aplicación...";
1002
+ readonly "base.loading.themeSetup": "Generando tema...";
1003
+ readonly "base.loading.validatingSession": "Validando sesión...";
1004
+ readonly "base.titles.create": "Nuevo {{moduleName}}";
1005
+ readonly "base.titles.read": "Ver {{moduleName}}";
1006
+ readonly "base.titles.update": "Editar {{moduleName}}";
1007
+ readonly "checkCode.codeLabel": "Código de Verificación";
1008
+ readonly "checkCode.codePlaceholder": "Ingresa el código de 6 dígitos";
1009
+ readonly "checkCode.codeRequired": "El código es obligatorio";
1010
+ readonly "checkCode.emailLabel": "Correo Electrónico";
1011
+ readonly "checkCode.emailPlaceholder": "Ingresa tu correo electrónico";
1012
+ readonly "checkCode.emailRequired": "El correo electrónico es obligatorio";
1013
+ readonly "checkCode.instructions": "Ingresa el código de 6 dígitos que enviamos a tu correo electrónico.";
1014
+ readonly "checkCode.invalidEmail": "Ingresa un correo electrónico válido";
1015
+ readonly "checkCode.resendCodeLink": "Reenviar código";
1016
+ readonly "checkCode.title": "Verificar Código";
1017
+ readonly "checkCode.verifyButton": "Verificar Código";
1018
+ readonly "error.app.config": "Error de Configuración: {{message}}";
1019
+ readonly "error.app.initialization": "Error durante la inicialización final de la aplicación.";
1020
+ readonly "error.transaction": "Error en la operación";
1021
+ readonly "errors.DUPLICATE": "El campo <b>{{field}}</b> debe ser único.";
1022
+ readonly "errors.FOREIGN_KEY_NOT_FOUND": "El campo <b>{{field}}</b> debe referenciar un ítem existente.";
1023
+ readonly "errors.INVALID_EMAIL": "El campo <b>{{field}}</b> debe ser un correo electrónico válido.";
1024
+ readonly "errors.INVALID_OBJECT_ID": "El campo <b>{{field}}</b> debe ser un valor válido.";
1025
+ readonly "errors.IN_USE": "El ítem está en uso y no puede ser eliminado.";
1026
+ readonly "errors.MAX_LENGTH": "El campo <b>{{field}}</b> no debe exceder los <b>{{length}}</b> caracteres.";
1027
+ readonly "errors.MIN_LENGTH": "El campo <b>{{field}}</b> debe tener al menos <b>{{length}}</b> caracteres.";
1028
+ readonly "errors.MUST_NOT_BE_EMAIL": "El campo <b>{{field}}</b> no debe ser un correo electrónico.";
1029
+ readonly "errors.NO_PERMISSION": "No tienes permiso para realizar esta acción.";
1030
+ readonly "errors.NO_SPACES": "El campo <b>{{field}}</b> no debe contener espacios.";
1031
+ readonly "errors.ONE_OR_MORE_OPERATIONS_FAILED": "Error en la operación";
1032
+ readonly "errors.REQUIRED": "El campo <b>{{field}}</b> es obligatorio.";
1033
+ readonly "errors.TOKEN_HAS_EXPIRED": "La sesión ha expirado. Por favor, inicia sesión nuevamente.";
1034
+ readonly "errors.TOO_MANY_REQUESTS": "Límite de solicitudes alcanzado. Por favor intenta más tarde.";
1035
+ readonly "errors.UNAUTHORIZED": "No estás autorizado para realizar esta acción.";
1036
+ readonly "errors.all_password_fields_required": "Todos los campos de contraseña son obligatorios";
1037
+ readonly "errors.auth.INVALID_API_KEY": "Clave de API inválida";
1038
+ readonly "errors.auth.INVALID_CREDENTIALS": "Usuario y/o contraseña incorrectos";
1039
+ readonly "errors.auth.NO_PERMISSION": "No tienes permisos suficientes";
1040
+ readonly "errors.auth.SESSION_EXPIRED": "Tu sesión ha expirado. Por favor, inicia sesión nuevamente.";
1041
+ readonly "errors.auth.TOO_MANY_REQUESTS": "Demasiados intentos. Por favor espera 15 minutos e intenta nuevamente";
1042
+ readonly "errors.auth.UNAUTHORIZED": "No tienes permisos para realizar esta acción";
1043
+ readonly "errors.auth.USER_NOT_ACTIVE": "Usuario no activo";
1044
+ readonly "errors.auth.USER_NOT_FOUND": "Usuario no encontrado";
1045
+ readonly "errors.data.BAD_REQUEST": "Solicitud inválida";
1046
+ readonly "errors.data.FIELD_ERROR": "Error en los datos ingresados";
1047
+ readonly "errors.data.IN_USE": "El elemento está en uso y no puede ser eliminado";
1048
+ readonly "errors.data.ITEM_NOT_FOUND": "El elemento solicitado no fue encontrado";
1049
+ readonly "errors.data.NOT_FOUND": "No se encontró lo solicitado";
1050
+ readonly "errors.internal_error_changing_password": "Error interno al cambiar la contraseña. Intenta nuevamente";
1051
+ readonly "errors.password_min_length": "La contraseña debe tener al menos 8 caracteres";
1052
+ readonly "errors.password_mismatch": "Las contraseñas no coinciden";
1053
+ readonly "errors.password_must_be_different": "La nueva contraseña debe ser diferente a la actual";
1054
+ readonly "errors.system.DATABASE_CONNECTION_ERROR": "Error de conexión. Verifica tu conexión a internet.";
1055
+ readonly "errors.system.INTERNAL_SERVER_ERROR": "Error interno del servidor. Intenta nuevamente.";
1056
+ readonly "errors.system.INVALID_CONFIGURATION": "Error de configuración del sistema";
1057
+ readonly "errors.system.TOO_MANY_REQUESTS": "Demasiadas solicitudes. Por favor espera un momento e intenta nuevamente";
1058
+ readonly "errors.system.UNKNOWN_OPERATION": "Operación no reconocida";
1059
+ readonly "errors.users_module_not_configured": "Módulo de usuarios no configurado";
1060
+ readonly "footer.copyright": "Nocios S.R.L. Todos los derechos reservados.";
1061
+ readonly "footer.version": "Versión";
1062
+ readonly "forgotPassword.checkEmailInstructions": "Revisa tu bandeja de entrada para el código de verificación";
1063
+ readonly "forgotPassword.codeAlreadyExistsMessage": "Ya se envió un código y aún es válido";
1064
+ readonly "forgotPassword.emailLabel": "Correo Electrónico";
1065
+ readonly "forgotPassword.emailPlaceholder": "Ingresa tu correo electrónico";
1066
+ readonly "forgotPassword.emailRequired": "El correo electrónico es obligatorio";
1067
+ readonly "forgotPassword.emailSentMessage": "Código enviado exitosamente";
1068
+ readonly "forgotPassword.enterCodeLink": "Ingresar Código";
1069
+ readonly "forgotPassword.instructions": "Ingresa tu correo electrónico y te enviaremos un código para restablecer tu contraseña.";
1070
+ readonly "forgotPassword.invalidEmail": "Ingresa un correo electrónico válido";
1071
+ readonly "forgotPassword.sendCodeButton": "Enviar Código";
1072
+ readonly "forgotPassword.title": "Recuperar Contraseña";
1073
+ readonly "login.alreadyHaveCodeLink": "¿Ya tienes un código?";
1074
+ readonly "login.forgotPasswordLink": "¿Olvidaste tu contraseña?";
1075
+ readonly "login.initializationError": "Error de inicialización";
1076
+ readonly "login.initializing": "Inicializando...";
1077
+ readonly "login.loginButton": "Iniciar sesión";
1078
+ readonly "login.logoAlt": "Logotipo";
1079
+ readonly "login.noAccountPrompt": "¿No tienes una cuenta?";
1080
+ readonly "login.notInitialized": "Sistema no inicializado";
1081
+ readonly "login.passwordLabel": "Contraseña";
1082
+ readonly "login.passwordPlaceholder": "Ingresa tu contraseña";
1083
+ readonly "login.passwordRequired": "Contraseña es obligatoria";
1084
+ readonly "login.signUpLink": "Regístrate";
1085
+ readonly "login.usernameOrEmailLabel": "Usuario o correo electrónico";
1086
+ readonly "login.usernameOrEmailPlaceholder": "Ingresa tu correo electrónico";
1087
+ readonly "login.usernameRequired": "El usuario es requerido";
1088
+ readonly "passwordRequirements.lowercase": "Una letra minúscula";
1089
+ readonly "passwordRequirements.minLength": "Mínimo 8 caracteres";
1090
+ readonly "passwordRequirements.number": "Un número";
1091
+ readonly "passwordRequirements.special": "Un carácter especial (!@#$%...)";
1092
+ readonly "passwordRequirements.uppercase": "Una letra mayúscula";
1093
+ readonly "profiles.actions.assignProfiles": "Asignar perfiles";
1094
+ readonly "profiles.moduleName": "Perfiles";
1095
+ readonly "profiles.moduleSingular": "Perfil";
1096
+ readonly "publicPolicies.fields.conditions.customEdit": "Edición personalizada";
1097
+ readonly "resetPassword.codeExpiredOrInvalid": "El código ha expirado o es inválido";
1098
+ readonly "resetPassword.confirmPasswordLabel": "Confirmar Contraseña";
1099
+ readonly "resetPassword.confirmPasswordPlaceholder": "Confirma tu nueva contraseña";
1100
+ readonly "resetPassword.confirmPasswordRequired": "Confirma tu contraseña";
1101
+ readonly "resetPassword.goToLoginButton": "Ir al Login";
1102
+ readonly "resetPassword.instructions": "Ingresa tu nueva contraseña.";
1103
+ readonly "resetPassword.invalidCode": "El código de verificación es inválido. Por favor, verifica el enlace o solicita uno nuevo.";
1104
+ readonly "resetPassword.missingParameters": "Faltan parámetros obligatorios";
1105
+ readonly "resetPassword.newPasswordLabel": "Nueva Contraseña";
1106
+ readonly "resetPassword.newPasswordPlaceholder": "Ingresa tu nueva contraseña";
1107
+ readonly "resetPassword.newPasswordRequired": "La nueva contraseña es obligatoria";
1108
+ readonly "resetPassword.passwordRequirementsNotMet": "La contraseña no cumple con todos los requisitos";
1109
+ readonly "resetPassword.passwordTooShort": "La contraseña debe tener al menos 8 caracteres";
1110
+ readonly "resetPassword.passwordsDoNotMatch": "Las contraseñas no coinciden";
1111
+ readonly "resetPassword.requestNewCodeButton": "Solicitar Nuevo Código";
1112
+ readonly "resetPassword.resetPasswordButton": "Restablecer Contraseña";
1113
+ readonly "resetPassword.successInstructions": "Ahora puedes iniciar sesión con tu nueva contraseña";
1114
+ readonly "resetPassword.successMessage": "Contraseña restablecida exitosamente";
1115
+ readonly "resetPassword.title": "Nueva Contraseña";
1116
+ readonly "resetPassword.validatingCode": "Validando código...";
1117
+ readonly "translations.fields.lang": "Idioma";
1118
+ readonly "translations.moduleName": "Traducciones";
1119
+ readonly "translations.moduleSingular": "Traducción";
1120
+ readonly "users.fields.currentPassword": "Contraseña actual";
1121
+ readonly "users.fields.newPassword": "Nueva Contraseña";
1122
+ readonly "users.fields.repeatNewPassword": "Repetir Nueva Contraseña";
1123
+ readonly "users.moduleName": "Usuarios";
1124
+ readonly "users.moduleSingular": "Usuario";
1125
+ };
1126
+ readonly en: {
1127
+ readonly "base.actions.create": "New";
1128
+ readonly "base.actions.delete": "Delete";
1129
+ readonly "base.actions.read": "View";
1130
+ readonly "base.actions.refresh": "Refresh";
1131
+ readonly "base.actions.update": "Edit";
1132
+ readonly "base.btn.back": "Back";
1133
+ readonly "base.btn.cancel": "Cancel";
1134
+ readonly "base.btn.hidePassword": "Hide password";
1135
+ readonly "base.btn.showPassword": "Show password";
1136
+ readonly "base.errors.errorUnknown": "An unknown error occurred.";
1137
+ readonly "base.fields.actions": "Actions";
1138
+ readonly "base.fields.confirmPassword": "Confirm password";
1139
+ readonly "base.fields.createdAt": "Created at";
1140
+ readonly "base.fields.email": "Email";
1141
+ readonly "base.fields.lastName": "Last name";
1142
+ readonly "base.fields.name": "Name";
1143
+ readonly "base.fields.password": "Password";
1144
+ readonly "base.fields.profile": "Profile";
1145
+ readonly "base.fields.updatedAt": "Updated at";
1146
+ readonly "base.file.allowedTypes": "Allowed types: {{types}}";
1147
+ readonly "base.file.clickToDownload": "Click to download";
1148
+ readonly "base.file.clickToPreview": "Click to preview image";
1149
+ readonly "base.file.confirmDelete.cancel": "Cancel";
1150
+ readonly "base.file.confirmDelete.confirm": "Delete";
1151
+ readonly "base.file.confirmDelete.message": "Are you sure you want to delete this file? This action cannot be undone.";
1152
+ readonly "base.file.confirmDelete.title": "Delete file";
1153
+ readonly "base.file.delete": "Delete";
1154
+ readonly "base.file.deleting": "Deleting...";
1155
+ readonly "base.file.dragOrClick": "Drag files here or click to select";
1156
+ readonly "base.file.dropHere": "Drop file here";
1157
+ readonly "base.file.maxFiles": "Maximum {{count}} files";
1158
+ readonly "base.file.maxSize": "Maximum {{size}} per file";
1159
+ readonly "base.file.noPreview": "No preview";
1160
+ readonly "base.file.pendingDeletion": "Pending deletion";
1161
+ readonly "base.file.privateFile": "Private file";
1162
+ readonly "base.file.restore": "Restore";
1163
+ readonly "base.file.uploading": "Uploading files...";
1164
+ readonly "base.file.validation.filesWithErrors": "Some files have errors";
1165
+ readonly "base.file.validation.maxFilesExceeded": "Maximum {{count}} files allowed";
1166
+ readonly "base.file.validation.minFilesRequired": "At least one file is required";
1167
+ readonly "base.file.validation.minFilesRequiredPlural": "At least {{count}} files are required";
1168
+ readonly "base.lastUpdated": "Last updated at {{formattedLastUpdated}}";
1169
+ readonly "base.loading.configInitial": "Loading initial configuration...";
1170
+ readonly "base.loading.pleaseWait": "Loading, please wait...";
1171
+ readonly "base.loading.starting": "Starting application...";
1172
+ readonly "base.loading.themeSetup": "Generating theme...";
1173
+ readonly "base.loading.validatingSession": "Validating session...";
1174
+ readonly "base.titles.create": "New {{moduleName}}";
1175
+ readonly "base.titles.read": "View {{moduleName}}";
1176
+ readonly "base.titles.update": "Edit {{moduleName}}";
1177
+ readonly "checkCode.codeLabel": "Verification Code";
1178
+ readonly "checkCode.codePlaceholder": "Enter the 6-digit code";
1179
+ readonly "checkCode.codeRequired": "Code is required";
1180
+ readonly "checkCode.emailLabel": "Email";
1181
+ readonly "checkCode.emailPlaceholder": "Enter your email";
1182
+ readonly "checkCode.emailRequired": "Email is required";
1183
+ readonly "checkCode.instructions": "Enter the 6-digit code we sent to your email.";
1184
+ readonly "checkCode.invalidEmail": "Enter a valid email address";
1185
+ readonly "checkCode.resendCodeLink": "Resend code";
1186
+ readonly "checkCode.title": "Verify Code";
1187
+ readonly "checkCode.verifyButton": "Verify Code";
1188
+ readonly "error.app.config": "Configuration Error: {{message}}";
1189
+ readonly "error.app.initialization": "Error during final application initialization.";
1190
+ readonly "error.transaction": "Operation error";
1191
+ readonly "errors.DUPLICATE": "The <b>{{field}}</b> field must be unique.";
1192
+ readonly "errors.FOREIGN_KEY_NOT_FOUND": "The <b>{{field}}</b> field must reference an existing item.";
1193
+ readonly "errors.INVALID_EMAIL": "The <b>{{field}}</b> field must be a valid email address.";
1194
+ readonly "errors.INVALID_OBJECT_ID": "The <b>{{field}}</b> field must be a valid value.";
1195
+ readonly "errors.IN_USE": "The item is in use and cannot be deleted.";
1196
+ readonly "errors.MAX_LENGTH": "The <b>{{field}}</b> field must not exceed <b>{{length}}</b> characters.";
1197
+ readonly "errors.MIN_LENGTH": "The <b>{{field}}</b> field must be at least <b>{{length}}</b> characters.";
1198
+ readonly "errors.MUST_NOT_BE_EMAIL": "The <b>{{field}}</b> field must not be an email.";
1199
+ readonly "errors.NO_PERMISSION": "You don't have permission to perform this action.";
1200
+ readonly "errors.NO_SPACES": "The <b>{{field}}</b> field must not contain spaces.";
1201
+ readonly "errors.ONE_OR_MORE_OPERATIONS_FAILED": "Operation error";
1202
+ readonly "errors.REQUIRED": "The <b>{{field}}</b> field is required.";
1203
+ readonly "errors.TOKEN_HAS_EXPIRED": "Session has expired. Please log in again.";
1204
+ readonly "errors.TOO_MANY_REQUESTS": "Request limit reached. Please try again later.";
1205
+ readonly "errors.UNAUTHORIZED": "You are not authorized to perform this action.";
1206
+ readonly "errors.all_password_fields_required": "All password fields are required";
1207
+ readonly "errors.auth.INVALID_API_KEY": "Invalid API key";
1208
+ readonly "errors.auth.INVALID_CREDENTIALS": "Invalid username and/or password";
1209
+ readonly "errors.auth.NO_PERMISSION": "You don't have sufficient permissions";
1210
+ readonly "errors.auth.SESSION_EXPIRED": "Your session has expired. Please log in again.";
1211
+ readonly "errors.auth.TOO_MANY_REQUESTS": "Too many attempts. Please wait 15 minutes and try again";
1212
+ readonly "errors.auth.UNAUTHORIZED": "You don't have permission to perform this action";
1213
+ readonly "errors.auth.USER_NOT_ACTIVE": "User not active";
1214
+ readonly "errors.auth.USER_NOT_FOUND": "User not found";
1215
+ readonly "errors.data.BAD_REQUEST": "Invalid request";
1216
+ readonly "errors.data.FIELD_ERROR": "Error in submitted data";
1217
+ readonly "errors.data.IN_USE": "The item is in use and cannot be deleted";
1218
+ readonly "errors.data.ITEM_NOT_FOUND": "The requested item was not found";
1219
+ readonly "errors.data.NOT_FOUND": "Not found";
1220
+ readonly "errors.internal_error_changing_password": "Internal error changing password. Please try again";
1221
+ readonly "errors.password_min_length": "Password must be at least 8 characters";
1222
+ readonly "errors.password_mismatch": "Passwords do not match";
1223
+ readonly "errors.password_must_be_different": "New password must be different from current password";
1224
+ readonly "errors.system.DATABASE_CONNECTION_ERROR": "Connection error. Please check your internet connection.";
1225
+ readonly "errors.system.INTERNAL_SERVER_ERROR": "Internal server error. Please try again.";
1226
+ readonly "errors.system.INVALID_CONFIGURATION": "System configuration error";
1227
+ readonly "errors.system.TOO_MANY_REQUESTS": "Too many requests. Please wait a moment and try again";
1228
+ readonly "errors.system.UNKNOWN_OPERATION": "Unrecognized operation";
1229
+ readonly "errors.users_module_not_configured": "Users module not configured";
1230
+ readonly "footer.copyright": "Nocios S.R.L. All rights reserved.";
1231
+ readonly "footer.version": "Version";
1232
+ readonly "forgotPassword.checkEmailInstructions": "Check your inbox for the verification code";
1233
+ readonly "forgotPassword.codeAlreadyExistsMessage": "A code has already been sent and is still valid";
1234
+ readonly "forgotPassword.emailLabel": "Email";
1235
+ readonly "forgotPassword.emailPlaceholder": "Enter your email";
1236
+ readonly "forgotPassword.emailRequired": "Email is required";
1237
+ readonly "forgotPassword.emailSentMessage": "Code sent successfully";
1238
+ readonly "forgotPassword.enterCodeLink": "Enter Code";
1239
+ readonly "forgotPassword.instructions": "Enter your email and we'll send you a code to reset your password.";
1240
+ readonly "forgotPassword.invalidEmail": "Enter a valid email address";
1241
+ readonly "forgotPassword.sendCodeButton": "Send Code";
1242
+ readonly "forgotPassword.title": "Recover Password";
1243
+ readonly "login.alreadyHaveCodeLink": "Already have a code?";
1244
+ readonly "login.forgotPasswordLink": "Forgot your password?";
1245
+ readonly "login.initializationError": "Initialization error";
1246
+ readonly "login.initializing": "Initializing...";
1247
+ readonly "login.loginButton": "Log In";
1248
+ readonly "login.logoAlt": "Logo";
1249
+ readonly "login.noAccountPrompt": "Don't have an account?";
1250
+ readonly "login.notInitialized": "System not initialized";
1251
+ readonly "login.passwordLabel": "Password";
1252
+ readonly "login.passwordPlaceholder": "Enter your password";
1253
+ readonly "login.passwordRequired": "Password is required";
1254
+ readonly "login.signUpLink": "Sign up";
1255
+ readonly "login.usernameOrEmailLabel": "Username or email";
1256
+ readonly "login.usernameOrEmailPlaceholder": "Enter your email";
1257
+ readonly "login.usernameRequired": "Username is required";
1258
+ readonly "passwordRequirements.lowercase": "One lowercase letter";
1259
+ readonly "passwordRequirements.minLength": "Minimum 8 characters";
1260
+ readonly "passwordRequirements.number": "One number";
1261
+ readonly "passwordRequirements.special": "One special character (!@#$%...)";
1262
+ readonly "passwordRequirements.uppercase": "One uppercase letter";
1263
+ readonly "profiles.actions.assignProfiles": "Assign profiles";
1264
+ readonly "profiles.moduleName": "Profiles";
1265
+ readonly "profiles.moduleSingular": "Profile";
1266
+ readonly "publicPolicies.fields.conditions.customEdit": "Custom edit";
1267
+ readonly "resetPassword.codeExpiredOrInvalid": "The code has expired or is invalid";
1268
+ readonly "resetPassword.confirmPasswordLabel": "Confirm Password";
1269
+ readonly "resetPassword.confirmPasswordPlaceholder": "Confirm your new password";
1270
+ readonly "resetPassword.confirmPasswordRequired": "Confirm your password";
1271
+ readonly "resetPassword.goToLoginButton": "Go to Login";
1272
+ readonly "resetPassword.instructions": "Enter your new password.";
1273
+ readonly "resetPassword.invalidCode": "The verification code is invalid. Please check the link or request a new one.";
1274
+ readonly "resetPassword.missingParameters": "Missing required parameters";
1275
+ readonly "resetPassword.newPasswordLabel": "New Password";
1276
+ readonly "resetPassword.newPasswordPlaceholder": "Enter your new password";
1277
+ readonly "resetPassword.newPasswordRequired": "New password is required";
1278
+ readonly "resetPassword.passwordRequirementsNotMet": "Password does not meet all requirements";
1279
+ readonly "resetPassword.passwordTooShort": "Password must be at least 8 characters";
1280
+ readonly "resetPassword.passwordsDoNotMatch": "Passwords do not match";
1281
+ readonly "resetPassword.requestNewCodeButton": "Request New Code";
1282
+ readonly "resetPassword.resetPasswordButton": "Reset Password";
1283
+ readonly "resetPassword.successInstructions": "You can now log in with your new password";
1284
+ readonly "resetPassword.successMessage": "Password reset successfully";
1285
+ readonly "resetPassword.title": "New Password";
1286
+ readonly "resetPassword.validatingCode": "Validating code...";
1287
+ readonly "translations.fields.lang": "Language";
1288
+ readonly "translations.moduleName": "Translations";
1289
+ readonly "translations.moduleSingular": "Translation";
1290
+ readonly "users.fields.currentPassword": "Current password";
1291
+ readonly "users.fields.newPassword": "New Password";
1292
+ readonly "users.fields.repeatNewPassword": "Repeat New Password";
1293
+ readonly "users.moduleName": "Users";
1294
+ readonly "users.moduleSingular": "User";
1295
+ };
969
1296
  };
970
1297
  type CriticalTranslationKey = keyof typeof CRITICAL_TRANSLATIONS.es;
971
1298
  type SupportedLanguage = keyof typeof CRITICAL_TRANSLATIONS;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkMPIGL3FYjs = require('./chunk-MPIGL3FY.js');var _chunkT6R65ROUjs = require('./chunk-T6R65ROU.js');var _chunk6ONAT4QUjs = require('./chunk-6ONAT4QU.js');var _chunk4VN5YRYZjs = require('./chunk-4VN5YRYZ.js');var _chunkNSV6ECYOjs = require('./chunk-NSV6ECYO.js');var _chunkCR5KJUSTjs = require('./chunk-CR5KJUST.js');var _crudifysdk = require('@nocios/crudify-sdk'); var _crudifysdk2 = _interopRequireDefault(_crudifysdk); _createStarExport(_crudifysdk);var _react = require('react');var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');var sr=(e={})=>{try{let r=_chunkCR5KJUSTjs.b.call(void 0, );if(r.configSource!=="none"&&r.theme)return{...e,...r.theme}}catch(r){_chunkCR5KJUSTjs.a.warn("Error reading theme from config",r instanceof Error?{errorMessage:r.message}:{message:String(r)})}return e};function ar({children:e,defaultTheme:r={},disableCssBaseline:t=!1}){let o=_react.useMemo.call(void 0, ()=>{let a=sr(r);return _material.createTheme.call(void 0, a)},[r]);return _jsxruntime.jsxs.call(void 0, _material.ThemeProvider,{theme:o,children:[!t&&_jsxruntime.jsx.call(void 0, _material.CssBaseline,{}),e]})}var _reactrouterdom = require('react-router-dom');var lr={border:"5px solid rgba(0, 0, 0, 0.1)",borderTopColor:"#3B82F6",borderRadius:"50%",width:"50px",height:"50px",animation:"spin 1s linear infinite"},cr=()=>_jsxruntime.jsx.call(void 0, "style",{children:`
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkQZH3KSJZjs = require('./chunk-QZH3KSJZ.js');var _chunkNIRLP2TCjs = require('./chunk-NIRLP2TC.js');var _chunkH6XXWDUTjs = require('./chunk-H6XXWDUT.js');var _chunkBXFEQ6KPjs = require('./chunk-BXFEQ6KP.js');var _chunk4LMFQECSjs = require('./chunk-4LMFQECS.js');var _crudifysdk = require('@nocios/crudify-sdk'); var _crudifysdk2 = _interopRequireDefault(_crudifysdk); _createStarExport(_crudifysdk);var _react = require('react');var _material = require('@mui/material');var _jsxruntime = require('react/jsx-runtime');var sr=(e={})=>{try{let r=_chunk4LMFQECSjs.b.call(void 0, );if(r.configSource!=="none"&&r.theme)return{...e,...r.theme}}catch(r){_chunk4LMFQECSjs.a.warn("Error reading theme from config",r instanceof Error?{errorMessage:r.message}:{message:String(r)})}return e};function ar({children:e,defaultTheme:r={},disableCssBaseline:t=!1}){let o=_react.useMemo.call(void 0, ()=>{let a=sr(r);return _material.createTheme.call(void 0, a)},[r]);return _jsxruntime.jsxs.call(void 0, _material.ThemeProvider,{theme:o,children:[!t&&_jsxruntime.jsx.call(void 0, _material.CssBaseline,{}),e]})}var _reactrouterdom = require('react-router-dom');var lr={border:"5px solid rgba(0, 0, 0, 0.1)",borderTopColor:"#3B82F6",borderRadius:"50%",width:"50px",height:"50px",animation:"spin 1s linear infinite"},cr=()=>_jsxruntime.jsx.call(void 0, "style",{children:`
2
2
  @keyframes spin {
3
3
  0% { transform: rotate(0deg); }
4
4
  100% { transform: rotate(360deg); }
5
5
  }
6
- `});function g({stage:e="loading",message:r}){let o=r||{initializing:"Initializing application...","validating-session":"Validating session...",loading:"Loading..."}[e];return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, cr,{}),_jsxruntime.jsxs.call(void 0, "div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100vh",width:"100vw",backgroundColor:"#f0f2f5",fontFamily:'"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',color:"#333",textAlign:"center",boxSizing:"border-box",padding:"20px",background:"#fff"},children:[_jsxruntime.jsx.call(void 0, "div",{style:lr}),_jsxruntime.jsx.call(void 0, "p",{style:{fontSize:"1.25em",fontWeight:"500",marginTop:"24px",color:"#1f2937"},children:o})]})]})}function _({children:e,loadingComponent:r,loginPath:t="/login"}){let{isAuthenticated:o,isLoading:a,isLoggingOut:s,isInitialized:y,tokens:l,error:f}=_chunk6ONAT4QUjs.l.call(void 0, ),u=_reactrouterdom.useLocation.call(void 0, );if(!y||a&&!s)return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:r||_jsxruntime.jsx.call(void 0, g,{stage:"validating-session"})});let c=o&&_optionalChain([l, 'optionalAccess', _2 => _2.accessToken])&&l.accessToken.length>0;if(f||!o||!c){if(s)return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:t,replace:!0});let C=u.pathname+u.search;if(u.pathname===t||u.pathname.startsWith(t))return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:t,replace:!0});let T=_chunkMPIGL3FYjs.h.call(void 0, C),k=encodeURIComponent(T);return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:`${t}?redirect=${k}`,replace:!0})}return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e})}var L="crudify_tokens",mr="crudify_enc_key";function B(){try{let e=localStorage.getItem(L);return e?e.startsWith("v2:")&&e.length>50:!1}catch (e2){return!1}}function W(){try{let e=localStorage.getItem(mr);return e!==null&&e.length>=32}catch (e3){return!1}}function U(){return B()&&W()}function H(){try{let e=localStorage.getItem(L);return e?!e.startsWith("v2:")||e.length<50:!1}catch (e4){return!1}}function gr(){try{H()&&localStorage.removeItem(L)}catch (e5){}}function Y({children:e,redirectTo:r="/",loadingComponent:t,initTimeout:o=3e3}){let{isAuthenticated:a,isInitialized:s}=_chunk6ONAT4QUjs.l.call(void 0, ),y=_reactrouterdom.useLocation.call(void 0, ),[l]=_react.useState.call(void 0, ()=>U()),[f,u]=_react.useState.call(void 0, !1);if(_react.useEffect.call(void 0, ()=>{if(!s&&l){let c=setTimeout(()=>{u(!0)},o);return()=>clearTimeout(c)}},[s,l,o]),s&&a){let c=new URLSearchParams(y.search),C=_chunkMPIGL3FYjs.j.call(void 0, c,r);return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:C,replace:!0})}return s&&!a?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):l&&!f?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:t||_jsxruntime.jsx.call(void 0, g,{stage:"validating-session"})}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e})}function J({children:e,behavior:r="redirect-if-authenticated",redirectTo:t="/",loadingComponent:o}){let{isAuthenticated:a,isInitialized:s}=_chunk6ONAT4QUjs.l.call(void 0, );return s?r==="allow-all"?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):a?_jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:t,replace:!0}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:o||_jsxruntime.jsx.call(void 0, g,{stage:"validating-session"})})}var X=_react.createContext.call(void 0, void 0),hr= exports.CrudifyInitializer =({config:e,children:r,fallback:t=null,onInitialized:o,onError:a})=>{let[s,y]=_react.useState.call(void 0, !1),[l,f]=_react.useState.call(void 0, !1),[u,c]=_react.useState.call(void 0, null),C=_react.useRef.call(void 0, !1),T=_react.useRef.call(void 0, !1);_react.useEffect.call(void 0, ()=>{C.current||(_chunk6ONAT4QUjs.q.registerHighPriorityInitializer(),C.current=!0),T.current||(T.current=!0,(async()=>{f(!0),c(null);try{let d=_chunkCR5KJUSTjs.d.call(void 0, {publicApiKey:_optionalChain([e, 'optionalAccess', _3 => _3.publicApiKey]),env:_optionalChain([e, 'optionalAccess', _4 => _4.env]),enableDebug:_optionalChain([e, 'optionalAccess', _5 => _5.enableLogging])});if(!d.publicApiKey)throw new Error("Crudify configuration missing. Please provide publicApiKey via props or ensure cookies are set by Lambda.");let v=d.env||"prod";_chunkCR5KJUSTjs.a.setEnvironment(v),await _chunk6ONAT4QUjs.q.initialize({priority:"HIGH",publicApiKey:d.publicApiKey,env:d.env||"prod",enableLogging:_optionalChain([e, 'optionalAccess', _6 => _6.enableLogging]),requestedBy:"CrudifyInitializer"}),y(!0),f(!1),o&&o()}catch(d){let v=d instanceof Error?d:new Error(String(d));c(v),f(!1),a&&a(v)}})())},[_optionalChain([e, 'optionalAccess', _7 => _7.publicApiKey]),_optionalChain([e, 'optionalAccess', _8 => _8.env]),_optionalChain([e, 'optionalAccess', _9 => _9.enableLogging]),o,a]);let k={isInitialized:s,isInitializing:l,error:u};return l&&t?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:t}):(u&&_chunkCR5KJUSTjs.a.error("[CrudifyInitializer] Initialization failed",u),_jsxruntime.jsx.call(void 0, X.Provider,{value:k,children:r}))},Tr= exports.useCrudifyInitializer =()=>{let e=_react.useContext.call(void 0, X);if(!e)throw new Error("useCrudifyInitializer must be used within CrudifyInitializer");return e};var _crudifyadminsdk = require('@nocios/crudify-admin-sdk'); var _crudifyadminsdk2 = _interopRequireDefault(_crudifyadminsdk);var Z=!1,I=null,h=null;async function Sr(){let r=await _chunk6ONAT4QUjs.d.getInstance().getTokenInfo(),t=_optionalChain([r, 'optionalAccess', _10 => _10.apiEndpointAdmin]),o=_optionalChain([r, 'optionalAccess', _11 => _11.apiKeyEndpointAdmin]);return t&&o?{apiUrl:t,apiKey:o}:_chunk6ONAT4QUjs.h.waitForCredentials()}async function Er(){if(!Z)return I||(I=(async()=>{try{let e=_chunk6ONAT4QUjs.d.getInstance(),{apiUrl:r,apiKey:t}=await Sr();h=await _asyncOptionalChain([(await e.getTokenInfo()), 'optionalAccess', async _12 => _12.crudifyTokens, 'optionalAccess', async _13 => _13.accessToken])||null,_crudifyadminsdk2.default.init({url:r,apiKey:t,getAdditionalHeaders:()=>h?{Authorization:`Bearer ${h}`}:{}}),Z=!0}catch(e){throw I=null,_chunkCR5KJUSTjs.a.error("[crudifyAdminWrapper] Initialization failed",e instanceof Error?e:{message:String(e)}),e}})(),I)}async function n(e){try{await Er();let r=_chunk6ONAT4QUjs.d.getInstance();h=await _asyncOptionalChain([(await r.getTokenInfo()), 'optionalAccess', async _14 => _14.crudifyTokens, 'optionalAccess', async _15 => _15.accessToken])||null;let o=await e(),a=o.errors&&(typeof o.errors=="string"&&o.errors.includes("401")||Array.isArray(o.errors)&&o.errors.some(s=>typeof s=="string"&&s.includes("401")));return!o.success&&a?await r.refreshTokens()?(h=await _asyncOptionalChain([(await r.getTokenInfo()), 'optionalAccess', async _16 => _16.crudifyTokens, 'optionalAccess', async _17 => _17.accessToken])||null,await e()):(_chunkCR5KJUSTjs.a.error("[crudifyAdmin] Token refresh failed"),typeof window<"u"&&(window.location.href="/login"),o):o}catch(r){return _chunkCR5KJUSTjs.a.error("[crudifyAdmin] Operation error",r instanceof Error?r:{message:String(r)}),{success:!1,errors:r instanceof Error?r.message:"Unknown error"}}}var kr={listModules:()=>n(()=>_crudifyadminsdk2.default.listModules()),getModule:e=>n(()=>_crudifyadminsdk2.default.getModule(e)),createModule:e=>n(()=>_crudifyadminsdk2.default.createModule(e)),editModule:(e,r)=>n(()=>_crudifyadminsdk2.default.editModule(e,r)),deleteModule:e=>n(()=>_crudifyadminsdk2.default.deleteModule(e)),activateModule:e=>n(()=>_crudifyadminsdk2.default.activateModule(e)),deactivateModule:e=>n(()=>_crudifyadminsdk2.default.deactivateModule(e)),getModuleVersions:e=>n(()=>_crudifyadminsdk2.default.getModuleVersions(e)),listActions:e=>n(()=>_crudifyadminsdk2.default.listActions(e)),getAction:e=>n(()=>_crudifyadminsdk2.default.getAction(e)),createAction:e=>n(()=>_crudifyadminsdk2.default.createAction(e)),editAction:(e,r)=>n(()=>_crudifyadminsdk2.default.editAction(e,r)),deleteAction:e=>n(()=>_crudifyadminsdk2.default.deleteAction(e)),activateAction:e=>n(()=>_crudifyadminsdk2.default.activateAction(e)),deactivateAction:e=>n(()=>_crudifyadminsdk2.default.deactivateAction(e)),getActionVersions:e=>n(()=>_crudifyadminsdk2.default.getActionVersions(e)),getActionsByProfile:e=>n(()=>_crudifyadminsdk2.default.getActionsByProfile(e)),updateActionsProfiles:e=>n(()=>_crudifyadminsdk2.default.updateActionsProfiles(e)),calculatePermissions:e=>n(()=>_crudifyadminsdk2.default.calculatePermissions(e))};exports.AuthRoute = Y; exports.CRITICAL_TRANSLATIONS = _chunkMPIGL3FYjs.a; exports.CrossTabSyncManager = _chunk6ONAT4QUjs.b; exports.CrudiaAutoGenerate = _chunkMPIGL3FYjs.v; exports.CrudiaFileField = _chunkMPIGL3FYjs.w; exports.CrudiaMarkdownField = _chunkMPIGL3FYjs.x; exports.CrudifyInitializationManager = _chunk6ONAT4QUjs.p; exports.CrudifyInitializer = hr; exports.CrudifyLogin = _chunkMPIGL3FYjs.o; exports.CrudifyProvider = _chunk6ONAT4QUjs.i; exports.CrudifyThemeProvider = ar; exports.DEFAULT_PASSWORD_RULES = _chunkMPIGL3FYjs.n; exports.ERROR_CODES = _chunkNSV6ECYOjs.a; exports.ERROR_SEVERITY_MAP = _chunkNSV6ECYOjs.b; exports.GlobalNotificationProvider = _chunk6ONAT4QUjs.f; exports.GuestRoute = J; exports.LoginComponent = _chunkMPIGL3FYjs.t; exports.POLICY_ACTIONS = _chunkMPIGL3FYjs.q; exports.PREFERRED_POLICY_ORDER = _chunkMPIGL3FYjs.r; exports.PasswordRequirements = _chunkMPIGL3FYjs.k; exports.Policies = _chunkMPIGL3FYjs.s; exports.ProtectedRoute = _; exports.SessionDebugInfo = _chunk6ONAT4QUjs.m; exports.SessionLoadingScreen = g; exports.SessionManager = _chunk6ONAT4QUjs.d; exports.SessionProvider = _chunk6ONAT4QUjs.k; exports.SessionStatus = _chunkMPIGL3FYjs.u; exports.TokenStorage = _chunk6ONAT4QUjs.a; exports.TranslationService = _chunkMPIGL3FYjs.d; exports.TranslationsProvider = _chunkMPIGL3FYjs.f; exports.UserProfileDisplay = _chunkMPIGL3FYjs.p; exports.allPasswordRulesPassed = _chunkMPIGL3FYjs.m; exports.clearCorruptedTokens = gr; exports.createErrorTranslator = _chunkCR5KJUSTjs.p; exports.crossTabSync = _chunk6ONAT4QUjs.c; exports.crudify = _crudifysdk2.default; exports.crudifyAdmin = kr; exports.crudifyInitManager = _chunk6ONAT4QUjs.q; exports.decodeJwtSafely = _chunkCR5KJUSTjs.r; exports.evaluatePasswordRules = _chunkMPIGL3FYjs.l; exports.extractSafeRedirectFromUrl = _chunkMPIGL3FYjs.j; exports.getCriticalLanguages = _chunkMPIGL3FYjs.b; exports.getCriticalTranslations = _chunkMPIGL3FYjs.c; exports.getCurrentUserEmail = _chunkCR5KJUSTjs.s; exports.getErrorMessage = _chunkNSV6ECYOjs.e; exports.handleCrudifyError = _chunkNSV6ECYOjs.g; exports.hasCorruptedTokens = H; exports.hasEncryptionKeyHash = W; exports.hasStoredTokens = B; exports.isTokenExpired = _chunkCR5KJUSTjs.t; exports.logger = _chunkCR5KJUSTjs.a; exports.parseApiError = _chunkNSV6ECYOjs.c; exports.parseJavaScriptError = _chunkNSV6ECYOjs.f; exports.parseTransactionError = _chunkNSV6ECYOjs.d; exports.resolveTenantConfig = _chunkCR5KJUSTjs.b; exports.secureLocalStorage = _chunk4VN5YRYZjs.b; exports.secureSessionStorage = _chunk4VN5YRYZjs.a; exports.shouldWaitForInitialization = U; exports.translateError = _chunkCR5KJUSTjs.o; exports.translateErrorCode = _chunkCR5KJUSTjs.m; exports.translateErrorCodes = _chunkCR5KJUSTjs.n; exports.translationService = _chunkMPIGL3FYjs.e; exports.useAuth = _chunkT6R65ROUjs.b; exports.useAutoGenerate = _chunk6ONAT4QUjs.o; exports.useCrudify = _chunk6ONAT4QUjs.j; exports.useCrudifyInitializer = Tr; exports.useCrudifyWithNotifications = _chunkT6R65ROUjs.d; exports.useData = _chunkT6R65ROUjs.c; exports.useFileUpload = _chunk6ONAT4QUjs.r; exports.useGlobalNotification = _chunk6ONAT4QUjs.g; exports.useSession = _chunk6ONAT4QUjs.e; exports.useSessionContext = _chunk6ONAT4QUjs.l; exports.useTenantConfig = _chunkCR5KJUSTjs.c; exports.useTranslations = _chunkMPIGL3FYjs.g; exports.useUserData = _chunkT6R65ROUjs.a; exports.useUserProfile = _chunk6ONAT4QUjs.n; exports.validateInternalRedirect = _chunkMPIGL3FYjs.h; exports.validateTrustedRedirect = _chunkMPIGL3FYjs.i;
6
+ `});function g({stage:e="loading",message:r}){let o=r||{initializing:"Initializing application...","validating-session":"Validating session...",loading:"Loading..."}[e];return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, cr,{}),_jsxruntime.jsxs.call(void 0, "div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100vh",width:"100vw",backgroundColor:"#f0f2f5",fontFamily:'"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',color:"#333",textAlign:"center",boxSizing:"border-box",padding:"20px",background:"#fff"},children:[_jsxruntime.jsx.call(void 0, "div",{style:lr}),_jsxruntime.jsx.call(void 0, "p",{style:{fontSize:"1.25em",fontWeight:"500",marginTop:"24px",color:"#1f2937"},children:o})]})]})}function _({children:e,loadingComponent:r,loginPath:t="/login"}){let{isAuthenticated:o,isLoading:a,isLoggingOut:s,isInitialized:y,tokens:l,error:f}=_chunkH6XXWDUTjs.l.call(void 0, ),u=_reactrouterdom.useLocation.call(void 0, );if(!y||a&&!s)return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:r||_jsxruntime.jsx.call(void 0, g,{stage:"validating-session"})});let c=o&&_optionalChain([l, 'optionalAccess', _2 => _2.accessToken])&&l.accessToken.length>0;if(f||!o||!c){if(s)return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:t,replace:!0});let C=u.pathname+u.search;if(u.pathname===t||u.pathname.startsWith(t))return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:t,replace:!0});let T=_chunkQZH3KSJZjs.h.call(void 0, C),k=encodeURIComponent(T);return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:`${t}?redirect=${k}`,replace:!0})}return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e})}var L="crudify_tokens",mr="crudify_enc_key";function B(){try{let e=localStorage.getItem(L);return e?e.startsWith("v2:")&&e.length>50:!1}catch (e2){return!1}}function W(){try{let e=localStorage.getItem(mr);return e!==null&&e.length>=32}catch (e3){return!1}}function U(){return B()&&W()}function H(){try{let e=localStorage.getItem(L);return e?!e.startsWith("v2:")||e.length<50:!1}catch (e4){return!1}}function gr(){try{H()&&localStorage.removeItem(L)}catch (e5){}}function Y({children:e,redirectTo:r="/",loadingComponent:t,initTimeout:o=3e3}){let{isAuthenticated:a,isInitialized:s}=_chunkH6XXWDUTjs.l.call(void 0, ),y=_reactrouterdom.useLocation.call(void 0, ),[l]=_react.useState.call(void 0, ()=>U()),[f,u]=_react.useState.call(void 0, !1);if(_react.useEffect.call(void 0, ()=>{if(!s&&l){let c=setTimeout(()=>{u(!0)},o);return()=>clearTimeout(c)}},[s,l,o]),s&&a){let c=new URLSearchParams(y.search),C=_chunkQZH3KSJZjs.j.call(void 0, c,r);return _jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:C,replace:!0})}return s&&!a?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):l&&!f?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:t||_jsxruntime.jsx.call(void 0, g,{stage:"validating-session"})}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e})}function J({children:e,behavior:r="redirect-if-authenticated",redirectTo:t="/",loadingComponent:o}){let{isAuthenticated:a,isInitialized:s}=_chunkH6XXWDUTjs.l.call(void 0, );return s?r==="allow-all"?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):a?_jsxruntime.jsx.call(void 0, _reactrouterdom.Navigate,{to:t,replace:!0}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:o||_jsxruntime.jsx.call(void 0, g,{stage:"validating-session"})})}var X=_react.createContext.call(void 0, void 0),hr= exports.CrudifyInitializer =({config:e,children:r,fallback:t=null,onInitialized:o,onError:a})=>{let[s,y]=_react.useState.call(void 0, !1),[l,f]=_react.useState.call(void 0, !1),[u,c]=_react.useState.call(void 0, null),C=_react.useRef.call(void 0, !1),T=_react.useRef.call(void 0, !1);_react.useEffect.call(void 0, ()=>{C.current||(_chunkH6XXWDUTjs.q.registerHighPriorityInitializer(),C.current=!0),T.current||(T.current=!0,(async()=>{f(!0),c(null);try{let d=_chunk4LMFQECSjs.d.call(void 0, {publicApiKey:_optionalChain([e, 'optionalAccess', _3 => _3.publicApiKey]),env:_optionalChain([e, 'optionalAccess', _4 => _4.env]),enableDebug:_optionalChain([e, 'optionalAccess', _5 => _5.enableLogging])});if(!d.publicApiKey)throw new Error("Crudify configuration missing. Please provide publicApiKey via props or ensure cookies are set by Lambda.");let v=d.env||"prod";_chunk4LMFQECSjs.a.setEnvironment(v),await _chunkH6XXWDUTjs.q.initialize({priority:"HIGH",publicApiKey:d.publicApiKey,env:d.env||"prod",enableLogging:_optionalChain([e, 'optionalAccess', _6 => _6.enableLogging]),requestedBy:"CrudifyInitializer"}),y(!0),f(!1),o&&o()}catch(d){let v=d instanceof Error?d:new Error(String(d));c(v),f(!1),a&&a(v)}})())},[_optionalChain([e, 'optionalAccess', _7 => _7.publicApiKey]),_optionalChain([e, 'optionalAccess', _8 => _8.env]),_optionalChain([e, 'optionalAccess', _9 => _9.enableLogging]),o,a]);let k={isInitialized:s,isInitializing:l,error:u};return l&&t?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:t}):(u&&_chunk4LMFQECSjs.a.error("[CrudifyInitializer] Initialization failed",u),_jsxruntime.jsx.call(void 0, X.Provider,{value:k,children:r}))},Tr= exports.useCrudifyInitializer =()=>{let e=_react.useContext.call(void 0, X);if(!e)throw new Error("useCrudifyInitializer must be used within CrudifyInitializer");return e};var _crudifyadminsdk = require('@nocios/crudify-admin-sdk'); var _crudifyadminsdk2 = _interopRequireDefault(_crudifyadminsdk);var Z=!1,I=null,h=null;async function Sr(){let r=await _chunkH6XXWDUTjs.d.getInstance().getTokenInfo(),t=_optionalChain([r, 'optionalAccess', _10 => _10.apiEndpointAdmin]),o=_optionalChain([r, 'optionalAccess', _11 => _11.apiKeyEndpointAdmin]);return t&&o?{apiUrl:t,apiKey:o}:_chunkH6XXWDUTjs.h.waitForCredentials()}async function Er(){if(!Z)return I||(I=(async()=>{try{let e=_chunkH6XXWDUTjs.d.getInstance(),{apiUrl:r,apiKey:t}=await Sr();h=await _asyncOptionalChain([(await e.getTokenInfo()), 'optionalAccess', async _12 => _12.crudifyTokens, 'optionalAccess', async _13 => _13.accessToken])||null,_crudifyadminsdk2.default.init({url:r,apiKey:t,getAdditionalHeaders:()=>h?{Authorization:`Bearer ${h}`}:{}}),Z=!0}catch(e){throw I=null,_chunk4LMFQECSjs.a.error("[crudifyAdminWrapper] Initialization failed",e instanceof Error?e:{message:String(e)}),e}})(),I)}async function n(e){try{await Er();let r=_chunkH6XXWDUTjs.d.getInstance();h=await _asyncOptionalChain([(await r.getTokenInfo()), 'optionalAccess', async _14 => _14.crudifyTokens, 'optionalAccess', async _15 => _15.accessToken])||null;let o=await e(),a=o.errors&&(typeof o.errors=="string"&&o.errors.includes("401")||Array.isArray(o.errors)&&o.errors.some(s=>typeof s=="string"&&s.includes("401")));return!o.success&&a?await r.refreshTokens()?(h=await _asyncOptionalChain([(await r.getTokenInfo()), 'optionalAccess', async _16 => _16.crudifyTokens, 'optionalAccess', async _17 => _17.accessToken])||null,await e()):(_chunk4LMFQECSjs.a.error("[crudifyAdmin] Token refresh failed"),typeof window<"u"&&(window.location.href="/login"),o):o}catch(r){return _chunk4LMFQECSjs.a.error("[crudifyAdmin] Operation error",r instanceof Error?r:{message:String(r)}),{success:!1,errors:r instanceof Error?r.message:"Unknown error"}}}var kr={listModules:()=>n(()=>_crudifyadminsdk2.default.listModules()),getModule:e=>n(()=>_crudifyadminsdk2.default.getModule(e)),createModule:e=>n(()=>_crudifyadminsdk2.default.createModule(e)),editModule:(e,r)=>n(()=>_crudifyadminsdk2.default.editModule(e,r)),deleteModule:e=>n(()=>_crudifyadminsdk2.default.deleteModule(e)),activateModule:e=>n(()=>_crudifyadminsdk2.default.activateModule(e)),deactivateModule:e=>n(()=>_crudifyadminsdk2.default.deactivateModule(e)),getModuleVersions:e=>n(()=>_crudifyadminsdk2.default.getModuleVersions(e)),listActions:e=>n(()=>_crudifyadminsdk2.default.listActions(e)),getAction:e=>n(()=>_crudifyadminsdk2.default.getAction(e)),createAction:e=>n(()=>_crudifyadminsdk2.default.createAction(e)),editAction:(e,r)=>n(()=>_crudifyadminsdk2.default.editAction(e,r)),deleteAction:e=>n(()=>_crudifyadminsdk2.default.deleteAction(e)),activateAction:e=>n(()=>_crudifyadminsdk2.default.activateAction(e)),deactivateAction:e=>n(()=>_crudifyadminsdk2.default.deactivateAction(e)),getActionVersions:e=>n(()=>_crudifyadminsdk2.default.getActionVersions(e)),getActionsByProfile:e=>n(()=>_crudifyadminsdk2.default.getActionsByProfile(e)),updateActionsProfiles:e=>n(()=>_crudifyadminsdk2.default.updateActionsProfiles(e)),calculatePermissions:e=>n(()=>_crudifyadminsdk2.default.calculatePermissions(e))};exports.AuthRoute = Y; exports.CRITICAL_TRANSLATIONS = _chunkQZH3KSJZjs.a; exports.CrossTabSyncManager = _chunkH6XXWDUTjs.b; exports.CrudiaAutoGenerate = _chunkQZH3KSJZjs.v; exports.CrudiaFileField = _chunkQZH3KSJZjs.w; exports.CrudiaMarkdownField = _chunkQZH3KSJZjs.x; exports.CrudifyInitializationManager = _chunkH6XXWDUTjs.p; exports.CrudifyInitializer = hr; exports.CrudifyLogin = _chunkQZH3KSJZjs.o; exports.CrudifyProvider = _chunkH6XXWDUTjs.i; exports.CrudifyThemeProvider = ar; exports.DEFAULT_PASSWORD_RULES = _chunkQZH3KSJZjs.n; exports.ERROR_CODES = _chunk4LMFQECSjs.u; exports.ERROR_SEVERITY_MAP = _chunk4LMFQECSjs.v; exports.GlobalNotificationProvider = _chunkH6XXWDUTjs.f; exports.GuestRoute = J; exports.LoginComponent = _chunkQZH3KSJZjs.t; exports.POLICY_ACTIONS = _chunkQZH3KSJZjs.q; exports.PREFERRED_POLICY_ORDER = _chunkQZH3KSJZjs.r; exports.PasswordRequirements = _chunkQZH3KSJZjs.k; exports.Policies = _chunkQZH3KSJZjs.s; exports.ProtectedRoute = _; exports.SessionDebugInfo = _chunkH6XXWDUTjs.m; exports.SessionLoadingScreen = g; exports.SessionManager = _chunkH6XXWDUTjs.d; exports.SessionProvider = _chunkH6XXWDUTjs.k; exports.SessionStatus = _chunkQZH3KSJZjs.u; exports.TokenStorage = _chunkH6XXWDUTjs.a; exports.TranslationService = _chunkQZH3KSJZjs.d; exports.TranslationsProvider = _chunkQZH3KSJZjs.f; exports.UserProfileDisplay = _chunkQZH3KSJZjs.p; exports.allPasswordRulesPassed = _chunkQZH3KSJZjs.m; exports.clearCorruptedTokens = gr; exports.createErrorTranslator = _chunk4LMFQECSjs.p; exports.crossTabSync = _chunkH6XXWDUTjs.c; exports.crudify = _crudifysdk2.default; exports.crudifyAdmin = kr; exports.crudifyInitManager = _chunkH6XXWDUTjs.q; exports.decodeJwtSafely = _chunk4LMFQECSjs.r; exports.evaluatePasswordRules = _chunkQZH3KSJZjs.l; exports.extractSafeRedirectFromUrl = _chunkQZH3KSJZjs.j; exports.getCriticalLanguages = _chunkQZH3KSJZjs.b; exports.getCriticalTranslations = _chunkQZH3KSJZjs.c; exports.getCurrentUserEmail = _chunk4LMFQECSjs.s; exports.getErrorMessage = _chunk4LMFQECSjs.y; exports.handleCrudifyError = _chunk4LMFQECSjs.A; exports.hasCorruptedTokens = H; exports.hasEncryptionKeyHash = W; exports.hasStoredTokens = B; exports.isTokenExpired = _chunk4LMFQECSjs.t; exports.logger = _chunk4LMFQECSjs.a; exports.parseApiError = _chunk4LMFQECSjs.w; exports.parseJavaScriptError = _chunk4LMFQECSjs.z; exports.parseTransactionError = _chunk4LMFQECSjs.x; exports.resolveTenantConfig = _chunk4LMFQECSjs.b; exports.secureLocalStorage = _chunkBXFEQ6KPjs.b; exports.secureSessionStorage = _chunkBXFEQ6KPjs.a; exports.shouldWaitForInitialization = U; exports.translateError = _chunk4LMFQECSjs.o; exports.translateErrorCode = _chunk4LMFQECSjs.m; exports.translateErrorCodes = _chunk4LMFQECSjs.n; exports.translationService = _chunkQZH3KSJZjs.e; exports.useAuth = _chunkNIRLP2TCjs.b; exports.useAutoGenerate = _chunkH6XXWDUTjs.o; exports.useCrudify = _chunkH6XXWDUTjs.j; exports.useCrudifyInitializer = Tr; exports.useCrudifyWithNotifications = _chunkNIRLP2TCjs.d; exports.useData = _chunkNIRLP2TCjs.c; exports.useFileUpload = _chunkH6XXWDUTjs.r; exports.useGlobalNotification = _chunkH6XXWDUTjs.g; exports.useSession = _chunkH6XXWDUTjs.e; exports.useSessionContext = _chunkH6XXWDUTjs.l; exports.useTenantConfig = _chunk4LMFQECSjs.c; exports.useTranslations = _chunkQZH3KSJZjs.g; exports.useUserData = _chunkNIRLP2TCjs.a; exports.useUserProfile = _chunkH6XXWDUTjs.n; exports.validateInternalRedirect = _chunkQZH3KSJZjs.h; exports.validateTrustedRedirect = _chunkQZH3KSJZjs.i;
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{a as j,b as ee,c as re,d as oe,e as te,f as ne,g as se,h as z,i as be,j as b,k as we,l as Le,m as Ue,n as Fe,o as Oe,p as Ge,q as De,r as Ke,s as Ve,t as _e,u as Be,v as He,w as Je,x as $e}from"./chunk-J5A7XVNT.mjs";import{a as Qe,b as Xe,c as Ze,d as rr}from"./chunk-H5M2Q6PB.mjs";import{a as ae,b as de,c as fe,d as x,e as me,f as Re,g as xe,h as D,i as Pe,j as Ae,k as Ie,l as m,m as he,n as Ne,o as We,p as qe,q as S,r as Ye}from"./chunk-PTUSZGL4.mjs";import{a as je,b as er}from"./chunk-RJBX4MWF.mjs";import{a as Te,b as ve,c as Se,d as Ee,e as ke,f as Me,g as ze}from"./chunk-JAPL7EZJ.mjs";import{a as p,b as M,c as ie,d as G,m as ue,n as pe,o as le,p as ce,r as ge,s as ye,t as Ce}from"./chunk-4ILUXVPW.mjs";import{default as vo}from"@nocios/crudify-sdk";export*from"@nocios/crudify-sdk";import{useMemo as or}from"react";import{ThemeProvider as tr,createTheme as ir,CssBaseline as nr}from"@mui/material";import{jsx as ur,jsxs as pr}from"react/jsx-runtime";var sr=(e={})=>{try{let r=M();if(r.configSource!=="none"&&r.theme)return{...e,...r.theme}}catch(r){p.warn("Error reading theme from config",r instanceof Error?{errorMessage:r.message}:{message:String(r)})}return e};function ar({children:e,defaultTheme:r={},disableCssBaseline:t=!1}){let o=or(()=>{let a=sr(r);return ir(a)},[r]);return pr(tr,{theme:o,children:[!t&&ur(nr,{}),e]})}import{Navigate as w,useLocation as fr}from"react-router-dom";import{Fragment as dr,jsx as E,jsxs as K}from"react/jsx-runtime";var lr={border:"5px solid rgba(0, 0, 0, 0.1)",borderTopColor:"#3B82F6",borderRadius:"50%",width:"50px",height:"50px",animation:"spin 1s linear infinite"},cr=()=>E("style",{children:`
1
+ import{a as j,b as ee,c as re,d as oe,e as te,f as ne,g as se,h as z,i as be,j as b,k as we,l as Le,m as Ue,n as Fe,o as Oe,p as Ge,q as De,r as Ke,s as Ve,t as _e,u as Be,v as He,w as Je,x as $e}from"./chunk-QFACMV2I.mjs";import{a as Qe,b as Xe,c as Ze,d as rr}from"./chunk-77UKXG5L.mjs";import{a as ae,b as de,c as fe,d as x,e as me,f as Re,g as xe,h as D,i as Pe,j as Ae,k as Ie,l as m,m as he,n as Ne,o as We,p as qe,q as S,r as Ye}from"./chunk-O4FUHIQG.mjs";import{a as je,b as er}from"./chunk-WMLIOPUC.mjs";import{A as ze,a as p,b as M,c as ie,d as G,m as ue,n as pe,o as le,p as ce,r as ge,s as ye,t as Ce,u as Te,v as ve,w as Se,x as Ee,y as ke,z as Me}from"./chunk-44VU4TSP.mjs";import{default as vo}from"@nocios/crudify-sdk";export*from"@nocios/crudify-sdk";import{useMemo as or}from"react";import{ThemeProvider as tr,createTheme as ir,CssBaseline as nr}from"@mui/material";import{jsx as ur,jsxs as pr}from"react/jsx-runtime";var sr=(e={})=>{try{let r=M();if(r.configSource!=="none"&&r.theme)return{...e,...r.theme}}catch(r){p.warn("Error reading theme from config",r instanceof Error?{errorMessage:r.message}:{message:String(r)})}return e};function ar({children:e,defaultTheme:r={},disableCssBaseline:t=!1}){let o=or(()=>{let a=sr(r);return ir(a)},[r]);return pr(tr,{theme:o,children:[!t&&ur(nr,{}),e]})}import{Navigate as w,useLocation as fr}from"react-router-dom";import{Fragment as dr,jsx as E,jsxs as K}from"react/jsx-runtime";var lr={border:"5px solid rgba(0, 0, 0, 0.1)",borderTopColor:"#3B82F6",borderRadius:"50%",width:"50px",height:"50px",animation:"spin 1s linear infinite"},cr=()=>E("style",{children:`
2
2
  @keyframes spin {
3
3
  0% { transform: rotate(0deg); }
4
4
  100% { transform: rotate(360deg); }