@solcre-org/core-ui 2.20.35 → 2.22.0

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.
@@ -1121,5 +1121,15 @@
1121
1121
  "logoutSuccess": "Sign out successful",
1122
1122
  "logoutError": "ErrorSign signing out"
1123
1123
  }
1124
+ },
1125
+ "secureAuth": {
1126
+ "status": {
1127
+ "loading": "Validating secure access...",
1128
+ "success": "Access validated successfully."
1129
+ },
1130
+ "errors": {
1131
+ "missingCode": "The secure validation code was not found in the URL.",
1132
+ "validation": "An error occurred while validating secure access."
1133
+ }
1124
1134
  }
1125
- }
1135
+ }
@@ -1125,5 +1125,15 @@
1125
1125
  "logoutSuccess": "Sesión cerrada correctamente",
1126
1126
  "logoutError": "Error al cerrar sesión"
1127
1127
  }
1128
+ },
1129
+ "secureAuth": {
1130
+ "status": {
1131
+ "loading": "Validando acceso seguro...",
1132
+ "success": "Acceso validado correctamente."
1133
+ },
1134
+ "errors": {
1135
+ "missingCode": "No se encontró el código de validación en la URL.",
1136
+ "validation": "Ocurrió un error al validar el acceso seguro."
1137
+ }
1128
1138
  }
1129
- }
1139
+ }
@@ -17766,12 +17766,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
17766
17766
  // Este archivo es generado automáticamente por scripts/update-version.js
17767
17767
  // No edites manualmente este archivo
17768
17768
  const VERSION = {
17769
- full: '2.20.35',
17769
+ full: '2.22.0',
17770
17770
  major: 2,
17771
- minor: 20,
17772
- patch: 35,
17773
- timestamp: '2026-03-13T14:29:52.523Z',
17774
- buildDate: '13/3/2026'
17771
+ minor: 22,
17772
+ patch: 0,
17773
+ timestamp: '2026-03-26T18:34:37.680Z',
17774
+ buildDate: '26/3/2026'
17775
17775
  };
17776
17776
 
17777
17777
  class MainNavComponent {
@@ -22065,6 +22065,184 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
22065
22065
  args: [{ selector: 'core-ad-login-button', standalone: true, imports: [CommonModule, GenericButtonComponent, TranslateModule], template: "<div class=\"ad-auth-container\" [ngClass]=\"config().customClass\">\n @if (!isConfigured) {\n <div class=\"ad-auth-not-configured\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n {{ \"adAuth.not Configured\" | translate }}\n </div>\n } @else if (isLoading() && config().showLoader !== false) {\n <div class=\"ad-auth-loading\">\n <span class=\"ad-auth-spinner\"></span>\n {{ \"adAuth.authenticating\" | translate }}\n </div>\n } @else if (isAuthenticated() && currentUser()) { @if (showUserInfo()) {\n <div class=\"ad-auth-user-info\">\n <div class=\"ad-auth-user-avatar\">\n {{ userInitials() }}\n </div>\n <div class=\"ad-auth-user-details\">\n <p class=\"ad-auth-user-name\">\n {{ currentUser()!.name || (\"adAuth.user\" | translate) }}\n </p>\n <p class=\"ad-auth-user-email\">{{ currentUser()!.email }}</p>\n </div>\n </div>\n }\n\n <div class=\"ad-auth-buttons\">\n <core-generic-button\n [config]=\"logoutButtonConfig()\"\n (buttonClick)=\"onLogoutClick()\"\n />\n </div>\n } @else { @if (error()) {\n <div class=\"ad-auth-error\">\n <i class=\"fa-solid fa-circle-exclamation\"></i>\n {{ \"adAuth.authError\" | translate }}\n </div>\n }\n\n <div class=\"ad-auth-buttons\">\n <core-generic-button\n [config]=\"loginButtonConfig()\"\n (buttonClick)=\"onLoginClick()\"\n />\n </div>\n }\n</div>\n", styles: [":host{display:block}.ad-auth-container{display:flex;flex-direction:column;gap:.75rem}.ad-auth-user-info{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--color-background-secondary, #f5f5f5);border-radius:var(--border-radius, .375rem);font-size:.875rem}.ad-auth-user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary, #0078d4) 0%,var(--color-primary-dark, #106ebe) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.ad-auth-user-details{flex:1;min-width:0}.ad-auth-user-name{font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-auth-user-email{color:var(--color-text-secondary, #666);margin:0;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-auth-loading{display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--color-text-secondary, #666);font-size:.875rem}.ad-auth-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border, #e0e0e0);border-top-color:var(--color-primary, #0078d4);border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.ad-auth-error{padding:.75rem 1rem;background-color:var(--color-danger-light, #fee);color:var(--color-danger, #d32f2f);border-radius:var(--border-radius, .375rem);font-size:.875rem}.ad-auth-not-configured{padding:1rem;background-color:var(--color-warning-light, #fff8e1);color:var(--color-warning-dark, #f57c00);border-radius:var(--border-radius, .375rem);font-size:.875rem;text-align:center}.ad-auth-buttons{display:flex;gap:.5rem}\n"] }]
22066
22066
  }], ctorParameters: () => [] });
22067
22067
 
22068
+ const SECURE_AUTH_SCREEN_STATUS = {
22069
+ IDLE: 'idle',
22070
+ LOADING: 'loading',
22071
+ SUCCESS: 'success',
22072
+ ERROR: 'error'
22073
+ };
22074
+
22075
+ const SECURE_AUTH_VALIDATION_EVENT_TYPE = {
22076
+ SUCCESS: 'validation-success',
22077
+ ERROR: 'validation-error'
22078
+ };
22079
+
22080
+ class SecureAuth {
22081
+ apiService = inject(ApiService);
22082
+ authService = inject(AuthService);
22083
+ loaderService = inject(LoaderService);
22084
+ screenStatus = SECURE_AUTH_SCREEN_STATUS;
22085
+ validationEndpoint = input('/api/auth/validate-secure-token');
22086
+ validationEvent = output();
22087
+ loaderRequestID = 'secure-auth-loader';
22088
+ status = signal(SECURE_AUTH_SCREEN_STATUS.IDLE);
22089
+ errorMessageKey = signal(null);
22090
+ ngOnInit() {
22091
+ const code = this.getCodeFromUrl();
22092
+ if (!code) {
22093
+ const error = new Error('Secure auth code was not found in the URL.');
22094
+ this.status.set(SECURE_AUTH_SCREEN_STATUS.ERROR);
22095
+ this.errorMessageKey.set('secureAuth.errors.missingCode');
22096
+ this.validationEvent.emit({
22097
+ type: SECURE_AUTH_VALIDATION_EVENT_TYPE.ERROR,
22098
+ error
22099
+ });
22100
+ return;
22101
+ }
22102
+ this.status.set(SECURE_AUTH_SCREEN_STATUS.LOADING);
22103
+ this.errorMessageKey.set(null);
22104
+ this.loaderService.showLoader(this.loaderRequestID);
22105
+ this.apiService.createObj(this.validationEndpoint(), { code }, false)
22106
+ .pipe(switchMap((response) => {
22107
+ const responseData = this.getResponseData(response);
22108
+ const authToken = this.buildAuthToken(responseData);
22109
+ if (!authToken.token) {
22110
+ throw new Error('Secure auth validation response did not include a token.');
22111
+ }
22112
+ this.loadSessionToken(authToken, responseData);
22113
+ return this.notifyAuthenticatedSession(responseData).pipe(map((user) => ({
22114
+ response,
22115
+ user
22116
+ })));
22117
+ }), finalize(() => this.loaderService.hideLoader(this.loaderRequestID)))
22118
+ .subscribe({
22119
+ next: ({ response, user }) => {
22120
+ this.status.set(SECURE_AUTH_SCREEN_STATUS.SUCCESS);
22121
+ this.validationEvent.emit({
22122
+ type: SECURE_AUTH_VALIDATION_EVENT_TYPE.SUCCESS,
22123
+ code,
22124
+ response,
22125
+ user
22126
+ });
22127
+ },
22128
+ error: (error) => {
22129
+ this.status.set(SECURE_AUTH_SCREEN_STATUS.ERROR);
22130
+ this.errorMessageKey.set('secureAuth.errors.validation');
22131
+ this.validationEvent.emit({
22132
+ type: SECURE_AUTH_VALIDATION_EVENT_TYPE.ERROR,
22133
+ code,
22134
+ error
22135
+ });
22136
+ }
22137
+ });
22138
+ }
22139
+ getCodeFromUrl() {
22140
+ return new URLSearchParams(window.location.search).get('code');
22141
+ }
22142
+ getResponseData(response) {
22143
+ const responseData = this.getObjectValue(response?.data);
22144
+ if (!responseData) {
22145
+ throw new Error('Secure auth validation response did not include a valid payload.');
22146
+ }
22147
+ if (this.getTokenValue(responseData)) {
22148
+ return responseData;
22149
+ }
22150
+ const nestedResponseData = this.getObjectValue(responseData['data']);
22151
+ if (nestedResponseData && this.getTokenValue(nestedResponseData)) {
22152
+ return nestedResponseData;
22153
+ }
22154
+ throw new Error('Secure auth validation response did not include a token payload.');
22155
+ }
22156
+ buildAuthToken(responseData) {
22157
+ return {
22158
+ token: this.getTokenValue(responseData) ?? '',
22159
+ refreshToken: this.getStringValue(responseData['refresh_token']) ?? this.getStringValue(responseData['refreshToken']) ?? ''
22160
+ };
22161
+ }
22162
+ loadSessionToken(token, responseData) {
22163
+ const tokenPayload = {
22164
+ access_token: token.token
22165
+ };
22166
+ if (token.refreshToken) {
22167
+ tokenPayload['refresh_token'] = token.refreshToken;
22168
+ }
22169
+ const responseUser = this.getObjectValue(responseData['user']);
22170
+ if (responseUser) {
22171
+ tokenPayload['user'] = responseUser;
22172
+ }
22173
+ this.authService.saveToken(tokenPayload);
22174
+ this.apiService.setAccessToken(token.token);
22175
+ }
22176
+ getTokenValue(responseData) {
22177
+ return this.getStringValue(responseData['access_token']) ?? this.getStringValue(responseData['token']);
22178
+ }
22179
+ getObjectValue(value) {
22180
+ return value && typeof value === 'object' && !Array.isArray(value)
22181
+ ? value
22182
+ : null;
22183
+ }
22184
+ buildAuthUser(responseData) {
22185
+ const user = this.getObjectValue(responseData['user']);
22186
+ if (!user) {
22187
+ return null;
22188
+ }
22189
+ const id = this.getNumberValue(user['id']);
22190
+ const name = this.getStringValue(user['name']) ?? this.getStringValue(user['first_name']) ?? this.getStringValue(user['firstName']) ?? '';
22191
+ const lastName = this.getStringValue(user['last_name']) ?? this.getStringValue(user['lastName']) ?? '';
22192
+ if (!name && !lastName && id === 0) {
22193
+ return null;
22194
+ }
22195
+ return {
22196
+ id,
22197
+ name,
22198
+ lastName,
22199
+ birthday: this.getStringValue(user['birthday']) ?? undefined,
22200
+ email: this.getStringValue(user['email']) ?? undefined,
22201
+ image: this.getStringValue(user['image']) ?? undefined,
22202
+ adUser: this.getStringValue(user['ad_user'] ?? user['adUser']) ?? undefined
22203
+ };
22204
+ }
22205
+ getNumberValue(value) {
22206
+ if (typeof value === 'number') {
22207
+ return value;
22208
+ }
22209
+ const stringValue = this.getStringValue(value);
22210
+ if (!stringValue) {
22211
+ return 0;
22212
+ }
22213
+ const numberValue = Number(stringValue);
22214
+ return Number.isNaN(numberValue) ? 0 : numberValue;
22215
+ }
22216
+ getStringValue(value) {
22217
+ return typeof value === 'string' && value.trim() !== '' ? value : null;
22218
+ }
22219
+ notifyAuthenticatedSession(responseData) {
22220
+ const { meUri, checkTokenInsteadUserId } = this.authService.getConfig();
22221
+ const tokenUser = this.buildAuthUser(responseData);
22222
+ if (tokenUser) {
22223
+ this.authService.setLoggedUser(tokenUser);
22224
+ this.authService.onLoggedUserChange.emit(tokenUser);
22225
+ this.authService.checkAndNotifyState();
22226
+ return of(tokenUser);
22227
+ }
22228
+ if (meUri) {
22229
+ return this.authService.startData().pipe(map((user) => user));
22230
+ }
22231
+ if (checkTokenInsteadUserId && this.authService.getAccessToken()?.token) {
22232
+ this.authService.onSessionStateChange.emit(true);
22233
+ return of(null);
22234
+ }
22235
+ this.authService.checkAndNotifyState();
22236
+ return of(null);
22237
+ }
22238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SecureAuth, deps: [], target: i0.ɵɵFactoryTarget.Component });
22239
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SecureAuth, isStandalone: true, selector: "core-secure-auth", inputs: { validationEndpoint: { classPropertyName: "validationEndpoint", publicName: "validationEndpoint", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { validationEvent: "validationEvent" }, ngImport: i0, template: "<core-loader [requestId]=\"loaderRequestID\" />\n<div class=\"u-heading u-push-t--xl u-push-b\">\n @if (status() === screenStatus.LOADING) {\n <p>{{ 'secureAuth.status.loading' | translate }}</p>\n } @else if (status() === screenStatus.SUCCESS) {\n <p>{{ 'secureAuth.status.success' | translate }}</p>\n } @else if (status() === screenStatus.ERROR) {\n <p><span class=\"icon-error\"></span> {{ (errorMessageKey() ?? 'secureAuth.errors.validation') | translate }}</p>\n }\n</div>\n", dependencies: [{ kind: "component", type: LoaderComponent, selector: "core-loader", inputs: ["imageUrl", "requestId"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22240
+ }
22241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SecureAuth, decorators: [{
22242
+ type: Component,
22243
+ args: [{ selector: 'core-secure-auth', imports: [LoaderComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<core-loader [requestId]=\"loaderRequestID\" />\n<div class=\"u-heading u-push-t--xl u-push-b\">\n @if (status() === screenStatus.LOADING) {\n <p>{{ 'secureAuth.status.loading' | translate }}</p>\n } @else if (status() === screenStatus.SUCCESS) {\n <p>{{ 'secureAuth.status.success' | translate }}</p>\n } @else if (status() === screenStatus.ERROR) {\n <p><span class=\"icon-error\"></span> {{ (errorMessageKey() ?? 'secureAuth.errors.validation') | translate }}</p>\n }\n</div>\n" }]
22244
+ }] });
22245
+
22068
22246
  class GenericCalendarComponent {
22069
22247
  currentDate = input(new Date());
22070
22248
  selectedDate = input(null);
@@ -23599,5 +23777,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
23599
23777
  * Generated bundle index. Do not edit.
23600
23778
  */
23601
23779
 
23602
- export { AD_AUTH_CONFIG, AD_AUTH_INTERCEPTOR_CONFIG, ALL_COUNTRY_CODES, ActiveFiltersComponent, AdAuthService, AdInteractionType, AdLoginButtonComponent, AgeValidationHelper, AlertComponent, AlertContainerComponent, AlertService, AlertType, ApiConfigurationProvider, BaseFieldComponent, ButtonContext, ButtonSize, ButtonType, COMMON_COUNTRIES, CacheBustingInterceptor, CalendarEventType, CardComponent, CarouselComponent, ChatMessagePosition, ChatMessageType, CheckboxFieldComponent, ColorPickerFieldComponent, ConfigurationModel, ConfirmationDialogComponent, ConfirmationDialogService, CoreHostDirective, CoreManualRefreshComponent, CoreUiHttpLoaderFactory, CoreUiTranslateLoader, CoreUiTranslateService, CountryCode, CustomClassService, DEFAULT_AD_AUTH_INTERCEPTOR_CONFIG, DEFAULT_COUNTRIES, DEFAULT_SCHEDULER_CONFIG, DataListComponent, DataListItemComponent, DataStoreService, DateFieldComponent, DateRangeFieldComponent, DateUtility, DatetimeFieldComponent, DayState, DayType, DialogActions, DocumentAction, DocumentDisplayMode, DocumentFieldComponent, DocumentFieldValidators, DocumentPayloadMode, DropdownComponent, DropdownDirection, DropdownService, DynamicFieldDirective, DynamicFieldsHelper, FieldErrorsComponent, FieldType, FileFieldComponent, FileModel, FilePreviewActionType, FileTemplateModel, FileTemplateType, FileType, FileTypeModel, FileUploadService, FilterModalComponent, FilterService, FilterType, FixedActionPosition, FixedActionsMobileModalComponent, FixedActionsMobileModalService, GalleryAnimationType, GalleryLayoutType, GalleryModalComponent, GalleryModalGlobalService, GenericButtonComponent, GenericCalendarComponent, GenericChatComponent, GenericChatService, GenericDocumentationComponent, GenericFixedActionsComponent, GenericGalleryComponent, GenericModalComponent, GenericPaginationComponent, GenericRatingComponent, GenericSchedulerComponent, GenericSidebarComponent, GenericSkeletonComponent, GenericStepsComponent, GenericSwitchComponent, GenericTableComponent, GenericTabsComponent, GenericTimelineComponent, GenericTreeComponent, GlobalApiConfigService, HeaderComponent, HeaderConfigurationService, HeaderElementType, HeaderService, HttpLoaderFactory, ImageModalComponent, ImageModalService, ImagePreviewComponent, LATIN_AMERICA_COUNTRIES, LayoutAuth, LayoutBreakpoint, LayoutComponent, LayoutService, LayoutStateService, LayoutType, LoaderComponent, LoaderService, MODEL_REFERENCE_SORT_KEY, MainNavComponent, MainNavService, ManualRefreshService, MobileHeaderComponent, MobileResolutionService, ModalMode, ModelApiService, MultiEntryFieldComponent, MultiEntryOutputFormat, NumberFieldComponent, NumberFieldConfigType, NumberFieldType, NumberRange, PERMISSION_ACTIONS_PROVIDER, PERMISSION_PROVIDER, PERMISSION_RESOURCES_PROVIDER, PaginationService, PasswordFieldComponent, PermissionEnumsService, PermissionModel, PermissionService, PermissionWrapperService, PermissionsActions, PermissionsCustomActions, PermissionsInterceptor, PermissionsResources, PhoneFieldComponent, ProgressBarComponent, ProgressBarSize, RatingService, RatingSize, RatingType, RedirectUrlService, ResetPasswordModel, RoleModel, SOUTH_AMERICA_COUNTRIES, SelectFieldComponent, ServerSelectFieldComponent, ServerSelectService, SidebarCustomModalComponent, SidebarCustomModalService, SidebarHeight, SidebarMobileModalService, SidebarMobileType, SidebarPosition, SidebarService, SidebarState, SidebarTemplateRegistryService, SidebarVisibility, SidebarWidth, SkeletonAnimation, SkeletonService, SkeletonSize, SkeletonType, SmartFieldComponent, SortDirection, SortMode, StepSize, StepStatus, StepType, StepsService, SwitchFieldComponent, TableAction, TableActionService, TableDataService, TableFixedActionsService, TableSortService, TextAreaFieldComponent, TextFieldComponent, TimeFieldComponent, TimeInterval, TimelineService, TimelineStatus, TimelineType, TranslationMergeService, TreeNodeComponent, TreeService, UruguayanDocumentValidationHelper, UsersModel, VERSION, WeekDay, adAuthGuard, adAuthInterceptor, adGuestGuard, adRoleGuard, ageValidator, calculateAge, equalToValidator, generateRandomUruguayanDocument, getCountryCodeStrings, getLatestBirthDateForAge, getRandomCi, getUruguayanDocumentValidationDigit, getValidationDigit, isSameDate, isValidCountryCode, provideAdAuth, provideAdAuthInterceptor, provideAdAuthWithInterceptor, provideCoreUiTranslateLoader, providePermissionActions, providePermissionEnums, providePermissionResources, providePermissionService, providePermissionServiceFactory, provideTranslateLoader, random, transform, transformUruguayanDocument, uruguayanDocumentValidator, validate, validateAge, validateCi, validateUruguayanDocument, validationDigit };
23780
+ export { AD_AUTH_CONFIG, AD_AUTH_INTERCEPTOR_CONFIG, ALL_COUNTRY_CODES, ActiveFiltersComponent, AdAuthService, AdInteractionType, AdLoginButtonComponent, AgeValidationHelper, AlertComponent, AlertContainerComponent, AlertService, AlertType, ApiConfigurationProvider, BaseFieldComponent, ButtonContext, ButtonSize, ButtonType, COMMON_COUNTRIES, CacheBustingInterceptor, CalendarEventType, CardComponent, CarouselComponent, ChatMessagePosition, ChatMessageType, CheckboxFieldComponent, ColorPickerFieldComponent, ConfigurationModel, ConfirmationDialogComponent, ConfirmationDialogService, CoreHostDirective, CoreManualRefreshComponent, CoreUiHttpLoaderFactory, CoreUiTranslateLoader, CoreUiTranslateService, CountryCode, CustomClassService, DEFAULT_AD_AUTH_INTERCEPTOR_CONFIG, DEFAULT_COUNTRIES, DEFAULT_SCHEDULER_CONFIG, DataListComponent, DataListItemComponent, DataStoreService, DateFieldComponent, DateRangeFieldComponent, DateUtility, DatetimeFieldComponent, DayState, DayType, DialogActions, DocumentAction, DocumentDisplayMode, DocumentFieldComponent, DocumentFieldValidators, DocumentPayloadMode, DropdownComponent, DropdownDirection, DropdownService, DynamicFieldDirective, DynamicFieldsHelper, FieldErrorsComponent, FieldType, FileFieldComponent, FileModel, FilePreviewActionType, FileTemplateModel, FileTemplateType, FileType, FileTypeModel, FileUploadService, FilterModalComponent, FilterService, FilterType, FixedActionPosition, FixedActionsMobileModalComponent, FixedActionsMobileModalService, GalleryAnimationType, GalleryLayoutType, GalleryModalComponent, GalleryModalGlobalService, GenericButtonComponent, GenericCalendarComponent, GenericChatComponent, GenericChatService, GenericDocumentationComponent, GenericFixedActionsComponent, GenericGalleryComponent, GenericModalComponent, GenericPaginationComponent, GenericRatingComponent, GenericSchedulerComponent, GenericSidebarComponent, GenericSkeletonComponent, GenericStepsComponent, GenericSwitchComponent, GenericTableComponent, GenericTabsComponent, GenericTimelineComponent, GenericTreeComponent, GlobalApiConfigService, HeaderComponent, HeaderConfigurationService, HeaderElementType, HeaderService, HttpLoaderFactory, ImageModalComponent, ImageModalService, ImagePreviewComponent, LATIN_AMERICA_COUNTRIES, LayoutAuth, LayoutBreakpoint, LayoutComponent, LayoutService, LayoutStateService, LayoutType, LoaderComponent, LoaderService, MODEL_REFERENCE_SORT_KEY, MainNavComponent, MainNavService, ManualRefreshService, MobileHeaderComponent, MobileResolutionService, ModalMode, ModelApiService, MultiEntryFieldComponent, MultiEntryOutputFormat, NumberFieldComponent, NumberFieldConfigType, NumberFieldType, NumberRange, PERMISSION_ACTIONS_PROVIDER, PERMISSION_PROVIDER, PERMISSION_RESOURCES_PROVIDER, PaginationService, PasswordFieldComponent, PermissionEnumsService, PermissionModel, PermissionService, PermissionWrapperService, PermissionsActions, PermissionsCustomActions, PermissionsInterceptor, PermissionsResources, PhoneFieldComponent, ProgressBarComponent, ProgressBarSize, RatingService, RatingSize, RatingType, RedirectUrlService, ResetPasswordModel, RoleModel, SECURE_AUTH_SCREEN_STATUS, SECURE_AUTH_VALIDATION_EVENT_TYPE, SOUTH_AMERICA_COUNTRIES, SecureAuth, SelectFieldComponent, ServerSelectFieldComponent, ServerSelectService, SidebarCustomModalComponent, SidebarCustomModalService, SidebarHeight, SidebarMobileModalService, SidebarMobileType, SidebarPosition, SidebarService, SidebarState, SidebarTemplateRegistryService, SidebarVisibility, SidebarWidth, SkeletonAnimation, SkeletonService, SkeletonSize, SkeletonType, SmartFieldComponent, SortDirection, SortMode, StepSize, StepStatus, StepType, StepsService, SwitchFieldComponent, TableAction, TableActionService, TableDataService, TableFixedActionsService, TableSortService, TextAreaFieldComponent, TextFieldComponent, TimeFieldComponent, TimeInterval, TimelineService, TimelineStatus, TimelineType, TranslationMergeService, TreeNodeComponent, TreeService, UruguayanDocumentValidationHelper, UsersModel, VERSION, WeekDay, adAuthGuard, adAuthInterceptor, adGuestGuard, adRoleGuard, ageValidator, calculateAge, equalToValidator, generateRandomUruguayanDocument, getCountryCodeStrings, getLatestBirthDateForAge, getRandomCi, getUruguayanDocumentValidationDigit, getValidationDigit, isSameDate, isValidCountryCode, provideAdAuth, provideAdAuthInterceptor, provideAdAuthWithInterceptor, provideCoreUiTranslateLoader, providePermissionActions, providePermissionEnums, providePermissionResources, providePermissionService, providePermissionServiceFactory, provideTranslateLoader, random, transform, transformUruguayanDocument, uruguayanDocumentValidator, validate, validateAge, validateCi, validateUruguayanDocument, validationDigit };
23603
23781
  //# sourceMappingURL=solcre-org-core-ui.mjs.map