@nocios/crudify-components 2.0.22 → 2.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-J5A7XVNT.mjs +1 -0
- package/dist/chunk-MPIGL3FY.js +1 -0
- package/dist/components.js +1 -1
- package/dist/components.mjs +1 -1
- package/dist/index.d.mts +1 -141
- package/dist/index.d.ts +1 -141
- package/dist/index.js +2 -2
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-NAZ2XXZR.js +0 -1
- package/dist/chunk-QJFXFCL7.mjs +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -964,147 +964,7 @@ declare const translationService: TranslationService;
|
|
|
964
964
|
* - error.app.*: 4 keys
|
|
965
965
|
*/
|
|
966
966
|
declare const CRITICAL_TRANSLATIONS: {
|
|
967
|
-
readonly es: {
|
|
968
|
-
readonly "checkCode.codeLabel": "Código de Verificación";
|
|
969
|
-
readonly "checkCode.codePlaceholder": "Ingresa el código de 6 dígitos";
|
|
970
|
-
readonly "checkCode.codeRequired": "El código es obligatorio";
|
|
971
|
-
readonly "checkCode.emailLabel": "Correo Electrónico";
|
|
972
|
-
readonly "checkCode.emailPlaceholder": "Ingresa tu correo electrónico";
|
|
973
|
-
readonly "checkCode.emailRequired": "El correo electrónico es obligatorio";
|
|
974
|
-
readonly "checkCode.instructions": "Ingresa el código de 6 dígitos que enviamos a tu correo electrónico.";
|
|
975
|
-
readonly "base.errors.invalidEmail": "Ingresa un correo electrónico válido";
|
|
976
|
-
readonly "checkCode.resendCodeLink": "Reenviar código";
|
|
977
|
-
readonly "checkCode.title": "Verificar Código";
|
|
978
|
-
readonly "checkCode.verifyButton": "Verificar Código";
|
|
979
|
-
readonly "base.btn.back": "Volver";
|
|
980
|
-
readonly "base.btn.cancel": "Cancelar";
|
|
981
|
-
readonly "error.app.config": "Error de Configuración: {{message}}";
|
|
982
|
-
readonly "error.app.initialization": "Error durante la inicialización final de la aplicación.";
|
|
983
|
-
readonly "error.transaction": "Error en la operación";
|
|
984
|
-
readonly "base.errors.errorUnknown": "Ocurrió un error desconocido.";
|
|
985
|
-
readonly "errors.DUPLICATE": "El campo <b>{{field}}</b> debe ser único.";
|
|
986
|
-
readonly "errors.FOREIGN_KEY_NOT_FOUND": "El campo <b>{{field}}</b> debe referenciar un ítem existente.";
|
|
987
|
-
readonly "errors.INVALID_EMAIL": "El campo <b>{{field}}</b> debe ser un correo electrónico válido.";
|
|
988
|
-
readonly "errors.INVALID_OBJECT_ID": "El campo <b>{{field}}</b> debe ser un valor válido.";
|
|
989
|
-
readonly "errors.IN_USE": "El ítem está en uso y no puede ser eliminado.";
|
|
990
|
-
readonly "errors.MAX_LENGTH": "El campo <b>{{field}}</b> no debe exceder los <b>{{length}}</b> caracteres.";
|
|
991
|
-
readonly "errors.MIN_LENGTH": "El campo <b>{{field}}</b> debe tener al menos <b>{{length}}</b> caracteres.";
|
|
992
|
-
readonly "errors.MUST_NOT_BE_EMAIL": "El campo <b>{{field}}</b> no debe ser un correo electrónico.";
|
|
993
|
-
readonly "errors.NO_PERMISSION": "No tienes permiso para realizar esta acción.";
|
|
994
|
-
readonly "errors.NO_SPACES": "El campo <b>{{field}}</b> no debe contener espacios.";
|
|
995
|
-
readonly "errors.ONE_OR_MORE_OPERATIONS_FAILED": "Error en la operación";
|
|
996
|
-
readonly "errors.REQUIRED": "El campo <b>{{field}}</b> es obligatorio.";
|
|
997
|
-
readonly "errors.TOKEN_HAS_EXPIRED": "La sesión ha expirado. Por favor, inicia sesión nuevamente.";
|
|
998
|
-
readonly "errors.TOO_MANY_REQUESTS": "Límite de solicitudes alcanzado. Por favor intenta más tarde.";
|
|
999
|
-
readonly "errors.UNAUTHORIZED": "No estás autorizado para realizar esta acción.";
|
|
1000
|
-
readonly "errors.all_password_fields_required": "Todos los campos de contraseña son obligatorios";
|
|
1001
|
-
readonly "errors.auth.INVALID_API_KEY": "Clave de API inválida";
|
|
1002
|
-
readonly "errors.auth.INVALID_CREDENTIALS": "Usuario y/o contraseña incorrectos";
|
|
1003
|
-
readonly "errors.auth.NO_PERMISSION": "No tienes permisos suficientes";
|
|
1004
|
-
readonly "errors.auth.SESSION_EXPIRED": "Tu sesión ha expirado. Por favor, inicia sesión nuevamente.";
|
|
1005
|
-
readonly "errors.auth.TOO_MANY_REQUESTS": "Demasiados intentos. Por favor espera 15 minutos e intenta nuevamente";
|
|
1006
|
-
readonly "errors.auth.UNAUTHORIZED": "No tienes permisos para realizar esta acción";
|
|
1007
|
-
readonly "errors.auth.USER_NOT_ACTIVE": "Usuario no activo";
|
|
1008
|
-
readonly "errors.auth.USER_NOT_FOUND": "Usuario no encontrado";
|
|
1009
|
-
readonly "errors.data.BAD_REQUEST": "Solicitud inválida";
|
|
1010
|
-
readonly "errors.data.FIELD_ERROR": "Error en los datos ingresados";
|
|
1011
|
-
readonly "errors.data.IN_USE": "El elemento está en uso y no puede ser eliminado";
|
|
1012
|
-
readonly "errors.data.ITEM_NOT_FOUND": "El elemento solicitado no fue encontrado";
|
|
1013
|
-
readonly "errors.data.NOT_FOUND": "No se encontró lo solicitado";
|
|
1014
|
-
readonly "errors.internal_error_changing_password": "Error interno al cambiar la contraseña. Intenta nuevamente";
|
|
1015
|
-
readonly "errors.password_min_length": "La contraseña debe tener al menos 8 caracteres";
|
|
1016
|
-
readonly "errors.password_mismatch": "Las contraseñas no coinciden";
|
|
1017
|
-
readonly "errors.password_must_be_different": "La nueva contraseña debe ser diferente a la actual";
|
|
1018
|
-
readonly "errors.system.DATABASE_CONNECTION_ERROR": "Error de conexión. Verifica tu conexión a internet.";
|
|
1019
|
-
readonly "errors.system.INTERNAL_SERVER_ERROR": "Error interno del servidor. Intenta nuevamente.";
|
|
1020
|
-
readonly "errors.system.INVALID_CONFIGURATION": "Error de configuración del sistema";
|
|
1021
|
-
readonly "errors.system.TOO_MANY_REQUESTS": "Demasiadas solicitudes. Por favor espera un momento e intenta nuevamente";
|
|
1022
|
-
readonly "errors.system.UNKNOWN_OPERATION": "Operación no reconocida";
|
|
1023
|
-
readonly "errors.users_module_not_configured": "Módulo de usuarios no configurado";
|
|
1024
|
-
readonly "footer.copyright": "Nocios S.R.L. Todos los derechos reservados.";
|
|
1025
|
-
readonly "footer.version": "Versión";
|
|
1026
|
-
readonly "forgotPassword.checkEmailInstructions": "Revisa tu bandeja de entrada para el código de verificación";
|
|
1027
|
-
readonly "forgotPassword.codeAlreadyExistsMessage": "Ya se envió un código y aún es válido";
|
|
1028
|
-
readonly "forgotPassword.emailLabel": "Correo Electrónico";
|
|
1029
|
-
readonly "forgotPassword.emailPlaceholder": "Ingresa tu correo electrónico";
|
|
1030
|
-
readonly "forgotPassword.emailRequired": "El correo electrónico es obligatorio";
|
|
1031
|
-
readonly "forgotPassword.emailSentMessage": "Código enviado exitosamente";
|
|
1032
|
-
readonly "forgotPassword.enterCodeLink": "Ingresar Código";
|
|
1033
|
-
readonly "forgotPassword.instructions": "Ingresa tu correo electrónico y te enviaremos un código para restablecer tu contraseña.";
|
|
1034
|
-
readonly "base.error.invalidEmail": "Ingresa un correo electrónico válido";
|
|
1035
|
-
readonly "forgotPassword.sendCodeButton": "Enviar Código";
|
|
1036
|
-
readonly "forgotPassword.title": "Recuperar Contraseña";
|
|
1037
|
-
readonly "base.loading.configInitial": "Cargando configuración inicial...";
|
|
1038
|
-
readonly "base.loading.pleaseWait": "Cargando, por favor espera...";
|
|
1039
|
-
readonly "base.loading.starting": "Iniciando aplicación...";
|
|
1040
|
-
readonly "base.loading.themeSetup": "Generando tema...";
|
|
1041
|
-
readonly "base.loading.validatingSession": "Validando sesión...";
|
|
1042
|
-
readonly "login.alreadyHaveCodeLink": "¿Ya tienes un código?";
|
|
1043
|
-
readonly "login.forgotPasswordLink": "¿Olvidaste tu contraseña?";
|
|
1044
|
-
readonly "login.initializationError": "Error de inicialización";
|
|
1045
|
-
readonly "login.initializing": "Inicializando...";
|
|
1046
|
-
readonly "login.loginButton": "Iniciar Sesión";
|
|
1047
|
-
readonly "login.logoAlt": "Logotipo";
|
|
1048
|
-
readonly "login.noAccountPrompt": "¿No tienes una cuenta?";
|
|
1049
|
-
readonly "login.notInitialized": "Sistema no inicializado";
|
|
1050
|
-
readonly "login.passwordLabel": "Contraseña";
|
|
1051
|
-
readonly "login.passwordPlaceholder": "Ingresa tu contraseña";
|
|
1052
|
-
readonly "login.passwordRequired": "Contraseña es obligatoria";
|
|
1053
|
-
readonly "login.signUpLink": "Regístrate";
|
|
1054
|
-
readonly "login.usernameOrEmailLabel": "Correo Electrónico";
|
|
1055
|
-
readonly "login.usernameOrEmailPlaceholder": "Ingresa tu correo electrónico";
|
|
1056
|
-
readonly "login.usernameRequired": "Correo electrónico es obligatorio";
|
|
1057
|
-
readonly "resetPassword.codeExpiredOrInvalid": "El código ha expirado o es inválido";
|
|
1058
|
-
readonly "resetPassword.confirmPasswordLabel": "Confirmar Contraseña";
|
|
1059
|
-
readonly "resetPassword.confirmPasswordPlaceholder": "Confirma tu nueva contraseña";
|
|
1060
|
-
readonly "resetPassword.confirmPasswordRequired": "Confirma tu contraseña";
|
|
1061
|
-
readonly "resetPassword.goToLoginButton": "Ir al Login";
|
|
1062
|
-
readonly "resetPassword.instructions": "Ingresa tu nueva contraseña.";
|
|
1063
|
-
readonly "resetPassword.invalidCode": "El código de verificación es inválido. Por favor, verifica el enlace o solicita uno nuevo.";
|
|
1064
|
-
readonly "resetPassword.missingParameters": "Faltan parámetros obligatorios";
|
|
1065
|
-
readonly "resetPassword.newPasswordLabel": "Nueva Contraseña";
|
|
1066
|
-
readonly "resetPassword.newPasswordPlaceholder": "Ingresa tu nueva contraseña";
|
|
1067
|
-
readonly "resetPassword.newPasswordRequired": "La nueva contraseña es obligatoria";
|
|
1068
|
-
readonly "resetPassword.passwordTooShort": "La contraseña debe tener al menos 8 caracteres";
|
|
1069
|
-
readonly "resetPassword.passwordsDoNotMatch": "Las contraseñas no coinciden";
|
|
1070
|
-
readonly "resetPassword.requestNewCodeButton": "Solicitar Nuevo Código";
|
|
1071
|
-
readonly "resetPassword.resetPasswordButton": "Restablecer Contraseña";
|
|
1072
|
-
readonly "resetPassword.successInstructions": "Ahora puedes iniciar sesión con tu nueva contraseña";
|
|
1073
|
-
readonly "resetPassword.successMessage": "Contraseña restablecida exitosamente";
|
|
1074
|
-
readonly "resetPassword.title": "Nueva Contraseña";
|
|
1075
|
-
readonly "resetPassword.validatingCode": "Validando código...";
|
|
1076
|
-
readonly "resetPassword.passwordRequirementsNotMet": "La contraseña no cumple con todos los requisitos";
|
|
1077
|
-
readonly "passwordRequirements.minLength": "Mínimo 8 caracteres";
|
|
1078
|
-
readonly "passwordRequirements.uppercase": "Una letra mayúscula";
|
|
1079
|
-
readonly "passwordRequirements.lowercase": "Una letra minúscula";
|
|
1080
|
-
readonly "passwordRequirements.number": "Un número";
|
|
1081
|
-
readonly "passwordRequirements.special": "Un carácter especial (!@#$%...)";
|
|
1082
|
-
readonly "base.btn.showPassword": "Mostrar contraseña";
|
|
1083
|
-
readonly "base.btn.hidePassword": "Ocultar contraseña";
|
|
1084
|
-
readonly "publicPolicies.fields.conditions.customEdit": "Edición personalizada";
|
|
1085
|
-
readonly "base.file.clickToPreview": "Clic para ver imagen";
|
|
1086
|
-
readonly "base.file.clickToDownload": "Clic para descargar";
|
|
1087
|
-
readonly "base.file.privateFile": "Archivo privado";
|
|
1088
|
-
readonly "base.file.noPreview": "Sin vista previa";
|
|
1089
|
-
readonly "base.file.dropHere": "Suelta el archivo aquí";
|
|
1090
|
-
readonly "base.file.dragOrClick": "Arrastra archivos aquí o haz clic para seleccionar";
|
|
1091
|
-
readonly "base.file.uploading": "Subiendo archivos...";
|
|
1092
|
-
readonly "base.file.restore": "Restaurar";
|
|
1093
|
-
readonly "base.file.delete": "Eliminar";
|
|
1094
|
-
readonly "base.file.pendingDeletion": "Pendiente de eliminación";
|
|
1095
|
-
readonly "base.file.allowedTypes": "Tipos permitidos: {{types}}";
|
|
1096
|
-
readonly "base.file.maxSize": "Máximo {{size}} por archivo";
|
|
1097
|
-
readonly "base.file.maxFiles": "Máximo {{count}} archivos";
|
|
1098
|
-
readonly "base.file.validation.minFilesRequired": "Se requiere al menos un archivo";
|
|
1099
|
-
readonly "base.file.validation.minFilesRequiredPlural": "Se requieren al menos {{count}} archivos";
|
|
1100
|
-
readonly "base.file.validation.maxFilesExceeded": "Máximo {{count}} archivos permitidos";
|
|
1101
|
-
readonly "base.file.validation.filesWithErrors": "Algunos archivos tienen errores";
|
|
1102
|
-
readonly "base.file.confirmDelete.title": "Eliminar archivo";
|
|
1103
|
-
readonly "base.file.confirmDelete.message": "¿Estás seguro de que deseas eliminar este archivo? Esta acción no se puede deshacer.";
|
|
1104
|
-
readonly "base.file.confirmDelete.confirm": "Eliminar";
|
|
1105
|
-
readonly "base.file.confirmDelete.cancel": "Cancelar";
|
|
1106
|
-
readonly "base.file.deleting": "Eliminando...";
|
|
1107
|
-
};
|
|
967
|
+
readonly es: {};
|
|
1108
968
|
readonly en: {};
|
|
1109
969
|
};
|
|
1110
970
|
type CriticalTranslationKey = keyof typeof CRITICAL_TRANSLATIONS.es;
|
package/dist/index.d.ts
CHANGED
|
@@ -964,147 +964,7 @@ declare const translationService: TranslationService;
|
|
|
964
964
|
* - error.app.*: 4 keys
|
|
965
965
|
*/
|
|
966
966
|
declare const CRITICAL_TRANSLATIONS: {
|
|
967
|
-
readonly es: {
|
|
968
|
-
readonly "checkCode.codeLabel": "Código de Verificación";
|
|
969
|
-
readonly "checkCode.codePlaceholder": "Ingresa el código de 6 dígitos";
|
|
970
|
-
readonly "checkCode.codeRequired": "El código es obligatorio";
|
|
971
|
-
readonly "checkCode.emailLabel": "Correo Electrónico";
|
|
972
|
-
readonly "checkCode.emailPlaceholder": "Ingresa tu correo electrónico";
|
|
973
|
-
readonly "checkCode.emailRequired": "El correo electrónico es obligatorio";
|
|
974
|
-
readonly "checkCode.instructions": "Ingresa el código de 6 dígitos que enviamos a tu correo electrónico.";
|
|
975
|
-
readonly "base.errors.invalidEmail": "Ingresa un correo electrónico válido";
|
|
976
|
-
readonly "checkCode.resendCodeLink": "Reenviar código";
|
|
977
|
-
readonly "checkCode.title": "Verificar Código";
|
|
978
|
-
readonly "checkCode.verifyButton": "Verificar Código";
|
|
979
|
-
readonly "base.btn.back": "Volver";
|
|
980
|
-
readonly "base.btn.cancel": "Cancelar";
|
|
981
|
-
readonly "error.app.config": "Error de Configuración: {{message}}";
|
|
982
|
-
readonly "error.app.initialization": "Error durante la inicialización final de la aplicación.";
|
|
983
|
-
readonly "error.transaction": "Error en la operación";
|
|
984
|
-
readonly "base.errors.errorUnknown": "Ocurrió un error desconocido.";
|
|
985
|
-
readonly "errors.DUPLICATE": "El campo <b>{{field}}</b> debe ser único.";
|
|
986
|
-
readonly "errors.FOREIGN_KEY_NOT_FOUND": "El campo <b>{{field}}</b> debe referenciar un ítem existente.";
|
|
987
|
-
readonly "errors.INVALID_EMAIL": "El campo <b>{{field}}</b> debe ser un correo electrónico válido.";
|
|
988
|
-
readonly "errors.INVALID_OBJECT_ID": "El campo <b>{{field}}</b> debe ser un valor válido.";
|
|
989
|
-
readonly "errors.IN_USE": "El ítem está en uso y no puede ser eliminado.";
|
|
990
|
-
readonly "errors.MAX_LENGTH": "El campo <b>{{field}}</b> no debe exceder los <b>{{length}}</b> caracteres.";
|
|
991
|
-
readonly "errors.MIN_LENGTH": "El campo <b>{{field}}</b> debe tener al menos <b>{{length}}</b> caracteres.";
|
|
992
|
-
readonly "errors.MUST_NOT_BE_EMAIL": "El campo <b>{{field}}</b> no debe ser un correo electrónico.";
|
|
993
|
-
readonly "errors.NO_PERMISSION": "No tienes permiso para realizar esta acción.";
|
|
994
|
-
readonly "errors.NO_SPACES": "El campo <b>{{field}}</b> no debe contener espacios.";
|
|
995
|
-
readonly "errors.ONE_OR_MORE_OPERATIONS_FAILED": "Error en la operación";
|
|
996
|
-
readonly "errors.REQUIRED": "El campo <b>{{field}}</b> es obligatorio.";
|
|
997
|
-
readonly "errors.TOKEN_HAS_EXPIRED": "La sesión ha expirado. Por favor, inicia sesión nuevamente.";
|
|
998
|
-
readonly "errors.TOO_MANY_REQUESTS": "Límite de solicitudes alcanzado. Por favor intenta más tarde.";
|
|
999
|
-
readonly "errors.UNAUTHORIZED": "No estás autorizado para realizar esta acción.";
|
|
1000
|
-
readonly "errors.all_password_fields_required": "Todos los campos de contraseña son obligatorios";
|
|
1001
|
-
readonly "errors.auth.INVALID_API_KEY": "Clave de API inválida";
|
|
1002
|
-
readonly "errors.auth.INVALID_CREDENTIALS": "Usuario y/o contraseña incorrectos";
|
|
1003
|
-
readonly "errors.auth.NO_PERMISSION": "No tienes permisos suficientes";
|
|
1004
|
-
readonly "errors.auth.SESSION_EXPIRED": "Tu sesión ha expirado. Por favor, inicia sesión nuevamente.";
|
|
1005
|
-
readonly "errors.auth.TOO_MANY_REQUESTS": "Demasiados intentos. Por favor espera 15 minutos e intenta nuevamente";
|
|
1006
|
-
readonly "errors.auth.UNAUTHORIZED": "No tienes permisos para realizar esta acción";
|
|
1007
|
-
readonly "errors.auth.USER_NOT_ACTIVE": "Usuario no activo";
|
|
1008
|
-
readonly "errors.auth.USER_NOT_FOUND": "Usuario no encontrado";
|
|
1009
|
-
readonly "errors.data.BAD_REQUEST": "Solicitud inválida";
|
|
1010
|
-
readonly "errors.data.FIELD_ERROR": "Error en los datos ingresados";
|
|
1011
|
-
readonly "errors.data.IN_USE": "El elemento está en uso y no puede ser eliminado";
|
|
1012
|
-
readonly "errors.data.ITEM_NOT_FOUND": "El elemento solicitado no fue encontrado";
|
|
1013
|
-
readonly "errors.data.NOT_FOUND": "No se encontró lo solicitado";
|
|
1014
|
-
readonly "errors.internal_error_changing_password": "Error interno al cambiar la contraseña. Intenta nuevamente";
|
|
1015
|
-
readonly "errors.password_min_length": "La contraseña debe tener al menos 8 caracteres";
|
|
1016
|
-
readonly "errors.password_mismatch": "Las contraseñas no coinciden";
|
|
1017
|
-
readonly "errors.password_must_be_different": "La nueva contraseña debe ser diferente a la actual";
|
|
1018
|
-
readonly "errors.system.DATABASE_CONNECTION_ERROR": "Error de conexión. Verifica tu conexión a internet.";
|
|
1019
|
-
readonly "errors.system.INTERNAL_SERVER_ERROR": "Error interno del servidor. Intenta nuevamente.";
|
|
1020
|
-
readonly "errors.system.INVALID_CONFIGURATION": "Error de configuración del sistema";
|
|
1021
|
-
readonly "errors.system.TOO_MANY_REQUESTS": "Demasiadas solicitudes. Por favor espera un momento e intenta nuevamente";
|
|
1022
|
-
readonly "errors.system.UNKNOWN_OPERATION": "Operación no reconocida";
|
|
1023
|
-
readonly "errors.users_module_not_configured": "Módulo de usuarios no configurado";
|
|
1024
|
-
readonly "footer.copyright": "Nocios S.R.L. Todos los derechos reservados.";
|
|
1025
|
-
readonly "footer.version": "Versión";
|
|
1026
|
-
readonly "forgotPassword.checkEmailInstructions": "Revisa tu bandeja de entrada para el código de verificación";
|
|
1027
|
-
readonly "forgotPassword.codeAlreadyExistsMessage": "Ya se envió un código y aún es válido";
|
|
1028
|
-
readonly "forgotPassword.emailLabel": "Correo Electrónico";
|
|
1029
|
-
readonly "forgotPassword.emailPlaceholder": "Ingresa tu correo electrónico";
|
|
1030
|
-
readonly "forgotPassword.emailRequired": "El correo electrónico es obligatorio";
|
|
1031
|
-
readonly "forgotPassword.emailSentMessage": "Código enviado exitosamente";
|
|
1032
|
-
readonly "forgotPassword.enterCodeLink": "Ingresar Código";
|
|
1033
|
-
readonly "forgotPassword.instructions": "Ingresa tu correo electrónico y te enviaremos un código para restablecer tu contraseña.";
|
|
1034
|
-
readonly "base.error.invalidEmail": "Ingresa un correo electrónico válido";
|
|
1035
|
-
readonly "forgotPassword.sendCodeButton": "Enviar Código";
|
|
1036
|
-
readonly "forgotPassword.title": "Recuperar Contraseña";
|
|
1037
|
-
readonly "base.loading.configInitial": "Cargando configuración inicial...";
|
|
1038
|
-
readonly "base.loading.pleaseWait": "Cargando, por favor espera...";
|
|
1039
|
-
readonly "base.loading.starting": "Iniciando aplicación...";
|
|
1040
|
-
readonly "base.loading.themeSetup": "Generando tema...";
|
|
1041
|
-
readonly "base.loading.validatingSession": "Validando sesión...";
|
|
1042
|
-
readonly "login.alreadyHaveCodeLink": "¿Ya tienes un código?";
|
|
1043
|
-
readonly "login.forgotPasswordLink": "¿Olvidaste tu contraseña?";
|
|
1044
|
-
readonly "login.initializationError": "Error de inicialización";
|
|
1045
|
-
readonly "login.initializing": "Inicializando...";
|
|
1046
|
-
readonly "login.loginButton": "Iniciar Sesión";
|
|
1047
|
-
readonly "login.logoAlt": "Logotipo";
|
|
1048
|
-
readonly "login.noAccountPrompt": "¿No tienes una cuenta?";
|
|
1049
|
-
readonly "login.notInitialized": "Sistema no inicializado";
|
|
1050
|
-
readonly "login.passwordLabel": "Contraseña";
|
|
1051
|
-
readonly "login.passwordPlaceholder": "Ingresa tu contraseña";
|
|
1052
|
-
readonly "login.passwordRequired": "Contraseña es obligatoria";
|
|
1053
|
-
readonly "login.signUpLink": "Regístrate";
|
|
1054
|
-
readonly "login.usernameOrEmailLabel": "Correo Electrónico";
|
|
1055
|
-
readonly "login.usernameOrEmailPlaceholder": "Ingresa tu correo electrónico";
|
|
1056
|
-
readonly "login.usernameRequired": "Correo electrónico es obligatorio";
|
|
1057
|
-
readonly "resetPassword.codeExpiredOrInvalid": "El código ha expirado o es inválido";
|
|
1058
|
-
readonly "resetPassword.confirmPasswordLabel": "Confirmar Contraseña";
|
|
1059
|
-
readonly "resetPassword.confirmPasswordPlaceholder": "Confirma tu nueva contraseña";
|
|
1060
|
-
readonly "resetPassword.confirmPasswordRequired": "Confirma tu contraseña";
|
|
1061
|
-
readonly "resetPassword.goToLoginButton": "Ir al Login";
|
|
1062
|
-
readonly "resetPassword.instructions": "Ingresa tu nueva contraseña.";
|
|
1063
|
-
readonly "resetPassword.invalidCode": "El código de verificación es inválido. Por favor, verifica el enlace o solicita uno nuevo.";
|
|
1064
|
-
readonly "resetPassword.missingParameters": "Faltan parámetros obligatorios";
|
|
1065
|
-
readonly "resetPassword.newPasswordLabel": "Nueva Contraseña";
|
|
1066
|
-
readonly "resetPassword.newPasswordPlaceholder": "Ingresa tu nueva contraseña";
|
|
1067
|
-
readonly "resetPassword.newPasswordRequired": "La nueva contraseña es obligatoria";
|
|
1068
|
-
readonly "resetPassword.passwordTooShort": "La contraseña debe tener al menos 8 caracteres";
|
|
1069
|
-
readonly "resetPassword.passwordsDoNotMatch": "Las contraseñas no coinciden";
|
|
1070
|
-
readonly "resetPassword.requestNewCodeButton": "Solicitar Nuevo Código";
|
|
1071
|
-
readonly "resetPassword.resetPasswordButton": "Restablecer Contraseña";
|
|
1072
|
-
readonly "resetPassword.successInstructions": "Ahora puedes iniciar sesión con tu nueva contraseña";
|
|
1073
|
-
readonly "resetPassword.successMessage": "Contraseña restablecida exitosamente";
|
|
1074
|
-
readonly "resetPassword.title": "Nueva Contraseña";
|
|
1075
|
-
readonly "resetPassword.validatingCode": "Validando código...";
|
|
1076
|
-
readonly "resetPassword.passwordRequirementsNotMet": "La contraseña no cumple con todos los requisitos";
|
|
1077
|
-
readonly "passwordRequirements.minLength": "Mínimo 8 caracteres";
|
|
1078
|
-
readonly "passwordRequirements.uppercase": "Una letra mayúscula";
|
|
1079
|
-
readonly "passwordRequirements.lowercase": "Una letra minúscula";
|
|
1080
|
-
readonly "passwordRequirements.number": "Un número";
|
|
1081
|
-
readonly "passwordRequirements.special": "Un carácter especial (!@#$%...)";
|
|
1082
|
-
readonly "base.btn.showPassword": "Mostrar contraseña";
|
|
1083
|
-
readonly "base.btn.hidePassword": "Ocultar contraseña";
|
|
1084
|
-
readonly "publicPolicies.fields.conditions.customEdit": "Edición personalizada";
|
|
1085
|
-
readonly "base.file.clickToPreview": "Clic para ver imagen";
|
|
1086
|
-
readonly "base.file.clickToDownload": "Clic para descargar";
|
|
1087
|
-
readonly "base.file.privateFile": "Archivo privado";
|
|
1088
|
-
readonly "base.file.noPreview": "Sin vista previa";
|
|
1089
|
-
readonly "base.file.dropHere": "Suelta el archivo aquí";
|
|
1090
|
-
readonly "base.file.dragOrClick": "Arrastra archivos aquí o haz clic para seleccionar";
|
|
1091
|
-
readonly "base.file.uploading": "Subiendo archivos...";
|
|
1092
|
-
readonly "base.file.restore": "Restaurar";
|
|
1093
|
-
readonly "base.file.delete": "Eliminar";
|
|
1094
|
-
readonly "base.file.pendingDeletion": "Pendiente de eliminación";
|
|
1095
|
-
readonly "base.file.allowedTypes": "Tipos permitidos: {{types}}";
|
|
1096
|
-
readonly "base.file.maxSize": "Máximo {{size}} por archivo";
|
|
1097
|
-
readonly "base.file.maxFiles": "Máximo {{count}} archivos";
|
|
1098
|
-
readonly "base.file.validation.minFilesRequired": "Se requiere al menos un archivo";
|
|
1099
|
-
readonly "base.file.validation.minFilesRequiredPlural": "Se requieren al menos {{count}} archivos";
|
|
1100
|
-
readonly "base.file.validation.maxFilesExceeded": "Máximo {{count}} archivos permitidos";
|
|
1101
|
-
readonly "base.file.validation.filesWithErrors": "Algunos archivos tienen errores";
|
|
1102
|
-
readonly "base.file.confirmDelete.title": "Eliminar archivo";
|
|
1103
|
-
readonly "base.file.confirmDelete.message": "¿Estás seguro de que deseas eliminar este archivo? Esta acción no se puede deshacer.";
|
|
1104
|
-
readonly "base.file.confirmDelete.confirm": "Eliminar";
|
|
1105
|
-
readonly "base.file.confirmDelete.cancel": "Cancelar";
|
|
1106
|
-
readonly "base.file.deleting": "Eliminando...";
|
|
1107
|
-
};
|
|
967
|
+
readonly es: {};
|
|
1108
968
|
readonly en: {};
|
|
1109
969
|
};
|
|
1110
970
|
type CriticalTranslationKey = keyof typeof CRITICAL_TRANSLATIONS.es;
|
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
|
|
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:`
|
|
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=_chunkNAZ2XXZRjs.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=_chunkNAZ2XXZRjs.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 = _chunkNAZ2XXZRjs.a; exports.CrossTabSyncManager = _chunk6ONAT4QUjs.b; exports.CrudiaAutoGenerate = _chunkNAZ2XXZRjs.v; exports.CrudiaFileField = _chunkNAZ2XXZRjs.w; exports.CrudiaMarkdownField = _chunkNAZ2XXZRjs.x; exports.CrudifyInitializationManager = _chunk6ONAT4QUjs.p; exports.CrudifyInitializer = hr; exports.CrudifyLogin = _chunkNAZ2XXZRjs.o; exports.CrudifyProvider = _chunk6ONAT4QUjs.i; exports.CrudifyThemeProvider = ar; exports.DEFAULT_PASSWORD_RULES = _chunkNAZ2XXZRjs.n; exports.ERROR_CODES = _chunkNSV6ECYOjs.a; exports.ERROR_SEVERITY_MAP = _chunkNSV6ECYOjs.b; exports.GlobalNotificationProvider = _chunk6ONAT4QUjs.f; exports.GuestRoute = J; exports.LoginComponent = _chunkNAZ2XXZRjs.t; exports.POLICY_ACTIONS = _chunkNAZ2XXZRjs.q; exports.PREFERRED_POLICY_ORDER = _chunkNAZ2XXZRjs.r; exports.PasswordRequirements = _chunkNAZ2XXZRjs.k; exports.Policies = _chunkNAZ2XXZRjs.s; exports.ProtectedRoute = _; exports.SessionDebugInfo = _chunk6ONAT4QUjs.m; exports.SessionLoadingScreen = g; exports.SessionManager = _chunk6ONAT4QUjs.d; exports.SessionProvider = _chunk6ONAT4QUjs.k; exports.SessionStatus = _chunkNAZ2XXZRjs.u; exports.TokenStorage = _chunk6ONAT4QUjs.a; exports.TranslationService = _chunkNAZ2XXZRjs.d; exports.TranslationsProvider = _chunkNAZ2XXZRjs.f; exports.UserProfileDisplay = _chunkNAZ2XXZRjs.p; exports.allPasswordRulesPassed = _chunkNAZ2XXZRjs.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 = _chunkNAZ2XXZRjs.l; exports.extractSafeRedirectFromUrl = _chunkNAZ2XXZRjs.j; exports.getCriticalLanguages = _chunkNAZ2XXZRjs.b; exports.getCriticalTranslations = _chunkNAZ2XXZRjs.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 = _chunkNAZ2XXZRjs.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 = _chunkNAZ2XXZRjs.g; exports.useUserData = _chunkT6R65ROUjs.a; exports.useUserProfile = _chunk6ONAT4QUjs.n; exports.validateInternalRedirect = _chunkNAZ2XXZRjs.h; exports.validateTrustedRedirect = _chunkNAZ2XXZRjs.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}=_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;
|
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-
|
|
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:`
|
|
2
2
|
@keyframes spin {
|
|
3
3
|
0% { transform: rotate(0deg); }
|
|
4
4
|
100% { transform: rotate(360deg); }
|