@solcre-org/core-ui 2.15.24 → 2.15.25

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.
@@ -44,7 +44,7 @@
44
44
  background-color: var(--color-neutral-100);
45
45
  }
46
46
 
47
- .c-fixed-actions__btn.c-fixed-actions__btn--main {
47
+ .c-fixed-actions__btn.c-fixed-actions__btn--primary {
48
48
  background-color: hsl(var(--_color-main-hsl));
49
49
  border-color: hsl(var(--_color-main-hsl));
50
50
  color: var(--color-neutral-100);
@@ -59,6 +59,7 @@
59
59
 
60
60
  .c-header-mobile__subnav--light{
61
61
  background-color: var(--color-neutral-100);
62
+ padding-block: 1.4rem;
62
63
  }
63
64
 
64
65
  .c-header-mobile__subnav--light .c-btn--secondary{
@@ -286,8 +286,7 @@ body:has(.c-modal.is-visible) {
286
286
  transform: translate3d(0, 100%, 0);
287
287
  }
288
288
 
289
- .c-modal__header,
290
- .c-modal__bottom {
289
+ .c-modal__header {
291
290
  border: none;
292
291
  }
293
292
 
@@ -10863,6 +10863,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
10863
10863
  }]
10864
10864
  }] });
10865
10865
 
10866
+ class TableFixedActionsService {
10867
+ actionsMap = signal(new Map());
10868
+ activeTableId = signal(null);
10869
+ setFixedActions(tableId, actions) {
10870
+ const currentMap = new Map(this.actionsMap());
10871
+ currentMap.set(tableId, actions);
10872
+ this.actionsMap.set(currentMap);
10873
+ this.activeTableId.set(tableId);
10874
+ }
10875
+ getActiveTableId() {
10876
+ return this.activeTableId();
10877
+ }
10878
+ setActiveTableId(tableId) {
10879
+ this.activeTableId.set(tableId);
10880
+ }
10881
+ getFixedActions(tableId) {
10882
+ const currentMap = this.actionsMap();
10883
+ return currentMap.get(tableId) || [];
10884
+ }
10885
+ getActiveTableActions() {
10886
+ const activeId = this.activeTableId();
10887
+ if (!activeId)
10888
+ return [];
10889
+ return this.getFixedActions(activeId);
10890
+ }
10891
+ getFixedActionsSignal(tableId) {
10892
+ return computed(() => {
10893
+ const currentMap = this.actionsMap();
10894
+ return currentMap.get(tableId) || [];
10895
+ });
10896
+ }
10897
+ getActiveTableActionsSignal() {
10898
+ return computed(() => {
10899
+ const activeId = this.activeTableId();
10900
+ if (!activeId)
10901
+ return [];
10902
+ const currentMap = this.actionsMap();
10903
+ return currentMap.get(activeId) || [];
10904
+ });
10905
+ }
10906
+ getAllFixedActions() {
10907
+ const currentMap = this.actionsMap();
10908
+ const allActions = [];
10909
+ currentMap.forEach((actions) => {
10910
+ allActions.push(...actions);
10911
+ });
10912
+ return allActions;
10913
+ }
10914
+ getAllFixedActionsSignal() {
10915
+ return computed(() => {
10916
+ const currentMap = this.actionsMap();
10917
+ const allActions = [];
10918
+ currentMap.forEach((actions) => {
10919
+ allActions.push(...actions);
10920
+ });
10921
+ return allActions;
10922
+ });
10923
+ }
10924
+ clearFixedActions(tableId) {
10925
+ const currentMap = new Map(this.actionsMap());
10926
+ currentMap.delete(tableId);
10927
+ this.actionsMap.set(currentMap);
10928
+ if (this.activeTableId() === tableId) {
10929
+ this.activeTableId.set(null);
10930
+ }
10931
+ }
10932
+ clearAllFixedActions() {
10933
+ this.actionsMap.set(new Map());
10934
+ this.activeTableId.set(null);
10935
+ }
10936
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TableFixedActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10937
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TableFixedActionsService, providedIn: 'root' });
10938
+ }
10939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TableFixedActionsService, decorators: [{
10940
+ type: Injectable,
10941
+ args: [{
10942
+ providedIn: 'root'
10943
+ }]
10944
+ }] });
10945
+
10866
10946
  class MobileResolutionService {
10867
10947
  DEFAULT_MOBILE_BREAKPOINT = 768;
10868
10948
  DEFAULT_CHECK_INTERVAL = 200;
@@ -11252,13 +11332,14 @@ class HeaderService {
11252
11332
  return action.mobileConfig.showInsideModal === true;
11253
11333
  }).map(action => ({
11254
11334
  id: action.id,
11255
- label: action.label,
11335
+ label: action.mobileConfig?.mobileLabel || action.label,
11256
11336
  icon: action.icon,
11257
11337
  class: action.class,
11258
11338
  callback: action.callback,
11259
11339
  requiredPermission: action.requiredPermission,
11260
11340
  visible: action.visible,
11261
- disabled: action.disabled
11341
+ disabled: action.disabled,
11342
+ mobileConfig: action.mobileConfig
11262
11343
  }));
11263
11344
  });
11264
11345
  }
@@ -12199,6 +12280,7 @@ class GenericTableComponent {
12199
12280
  mobileResolutionService = inject(MobileResolutionService);
12200
12281
  fixedActionsMobileModalService = inject(FixedActionsMobileModalService);
12201
12282
  translationService = inject(TranslateService);
12283
+ tableFixedActionsService = inject(TableFixedActionsService);
12202
12284
  TableAction = TableAction;
12203
12285
  ModalMode = ModalMode;
12204
12286
  ButtonType = ButtonType;
@@ -12455,7 +12537,7 @@ class GenericTableComponent {
12455
12537
  actions.push(...outsideGlobalActions);
12456
12538
  const modalActions = [];
12457
12539
  const createAction = this.actions().find(a => a.action === TableAction.CREATE);
12458
- if (createAction && !this.getMobileShowInHeader(createAction) && !this.getMobileShowOutsideFixedActions(createAction)) {
12540
+ if (createAction && createAction.mobileConfig?.showInsideModal !== false && !this.getMobileShowInHeader(createAction) && !this.getMobileShowOutsideFixedActions(createAction)) {
12459
12541
  if (!createAction.requiredPermission ||
12460
12542
  this.permissionService.hasPermission(createAction.requiredPermission.resource, createAction.requiredPermission.action)) {
12461
12543
  modalActions.push({
@@ -12468,7 +12550,12 @@ class GenericTableComponent {
12468
12550
  });
12469
12551
  }
12470
12552
  }
12471
- const globalActionsForModal = this.globalActions().filter(ga => this.getMobileShowInsideModal(ga) || (!this.getMobileShowInHeader(ga) && !this.getMobileShowOutsideFixedActions(ga)));
12553
+ const globalActionsForModal = this.globalActions().filter(ga => {
12554
+ if (ga.mobileConfig?.showInsideModal === false) {
12555
+ return false;
12556
+ }
12557
+ return this.getMobileShowInsideModal(ga) || (!this.getMobileShowInHeader(ga) && !this.getMobileShowOutsideFixedActions(ga));
12558
+ });
12472
12559
  modalActions.push(...globalActionsForModal.map(globalAction => ({
12473
12560
  icon: globalAction.icon,
12474
12561
  label: globalAction.label,
@@ -12482,7 +12569,7 @@ class GenericTableComponent {
12482
12569
  })));
12483
12570
  if (modalActions.length > 0) {
12484
12571
  const plusButtonAction = {
12485
- icon: 'icon-add-clean',
12572
+ icon: 'icon-more-thin',
12486
12573
  class: 'c-btn--primary',
12487
12574
  tooltip: 'Más acciones',
12488
12575
  insideActions: modalActions
@@ -12558,6 +12645,12 @@ class GenericTableComponent {
12558
12645
  this.inlineEditService.updateConfig(config);
12559
12646
  }
12560
12647
  });
12648
+ effect(() => {
12649
+ const actions = this.fixedActionsArray();
12650
+ queueMicrotask(() => {
12651
+ this.tableFixedActionsService.setFixedActions(this.tableId, actions);
12652
+ });
12653
+ });
12561
12654
  effect(() => {
12562
12655
  const inputData = this.dataInput();
12563
12656
  if (!this.endpoint() || this.endpoint() === '') {
@@ -13876,6 +13969,7 @@ class GenericTableComponent {
13876
13969
  window.removeEventListener('createRequested', this.handleCreateRequested);
13877
13970
  window.removeEventListener('globalActionTriggered', this.handleGlobalActionTriggered);
13878
13971
  window.removeEventListener('popstate', this.handlePopstate);
13972
+ this.tableFixedActionsService.clearFixedActions(this.tableId);
13879
13973
  if (!this.inModal()) {
13880
13974
  this.headerService.clearHeaderData();
13881
13975
  }
@@ -15869,12 +15963,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
15869
15963
  // Este archivo es generado automáticamente por scripts/update-version.js
15870
15964
  // No edites manualmente este archivo
15871
15965
  const VERSION = {
15872
- full: '2.15.24',
15966
+ full: '2.15.25',
15873
15967
  major: 2,
15874
15968
  minor: 15,
15875
- patch: 24,
15876
- timestamp: '2025-10-27T15:32:35.056Z',
15877
- buildDate: '27/10/2025'
15969
+ patch: 25,
15970
+ timestamp: '2025-10-28T12:22:29.622Z',
15971
+ buildDate: '28/10/2025'
15878
15972
  };
15879
15973
 
15880
15974
  class MainNavComponent {
@@ -17043,15 +17137,10 @@ class GenericFixedActionsComponent {
17043
17137
  customClassService = inject(CustomClassService);
17044
17138
  elementRef = inject(ElementRef);
17045
17139
  cdr = inject(ChangeDetectorRef);
17046
- constructor() {
17047
- effect(() => {
17048
- const actions = this.visibleActions();
17049
- this.cdr.markForCheck();
17050
- });
17051
- }
17140
+ tableFixedActionsService = inject(TableFixedActionsService);
17141
+ externalActions = input([]);
17142
+ tableId = input(undefined);
17052
17143
  ngAfterViewInit() {
17053
- // Asegurar que los botones tengan pointer-events: auto
17054
- // aunque el contenedor tenga pointer-events: none
17055
17144
  setTimeout(() => {
17056
17145
  const buttons = this.elementRef.nativeElement.querySelectorAll('button');
17057
17146
  buttons.forEach((button) => {
@@ -17112,6 +17201,35 @@ class GenericFixedActionsComponent {
17112
17201
  });
17113
17202
  visibleActions = computed(() => {
17114
17203
  const actions = [];
17204
+ const external = this.externalActions();
17205
+ if (external && external.length > 0) {
17206
+ external.forEach(action => {
17207
+ if (action.requiredPermission) {
17208
+ if (this.permissionService.hasPermission(action.requiredPermission.resource, action.requiredPermission.action)) {
17209
+ actions.push(action);
17210
+ }
17211
+ }
17212
+ else {
17213
+ actions.push(action);
17214
+ }
17215
+ });
17216
+ }
17217
+ else {
17218
+ const tableIdValue = this.tableId();
17219
+ const tableActions = tableIdValue
17220
+ ? this.tableFixedActionsService.getFixedActions(tableIdValue)
17221
+ : this.tableFixedActionsService.getActiveTableActions();
17222
+ tableActions.forEach(action => {
17223
+ if (action.requiredPermission) {
17224
+ if (this.permissionService.hasPermission(action.requiredPermission.resource, action.requiredPermission.action)) {
17225
+ actions.push(action);
17226
+ }
17227
+ }
17228
+ else {
17229
+ actions.push(action);
17230
+ }
17231
+ });
17232
+ }
17115
17233
  this.outsideActions().forEach(action => {
17116
17234
  actions.push({
17117
17235
  id: action.id,
@@ -17127,8 +17245,8 @@ class GenericFixedActionsComponent {
17127
17245
  if (modalActionsArray.length > 0) {
17128
17246
  const plusButtonAction = {
17129
17247
  id: 'header-more-actions',
17130
- icon: 'icon-add-clean',
17131
- class: 'c-btn',
17248
+ icon: 'icon-more-thin',
17249
+ class: 'c-btn c-icon-btn',
17132
17250
  tooltip: 'Más acciones',
17133
17251
  callback: () => this.openModalActions()
17134
17252
  };
@@ -17139,7 +17257,7 @@ class GenericFixedActionsComponent {
17139
17257
  getActionClass(action) {
17140
17258
  const baseClass = 'c-fixed-actions__btn';
17141
17259
  const iconClass = action.icon || '';
17142
- const customClass = action.class || 'c-btn c-icon-btn';
17260
+ const customClass = action.class || 'c-btn';
17143
17261
  return `${baseClass} ${customClass} ${iconClass}`.trim();
17144
17262
  }
17145
17263
  isActionDisabled(action) {
@@ -17172,7 +17290,8 @@ class GenericFixedActionsComponent {
17172
17290
  },
17173
17291
  requiredPermission: action.requiredPermission,
17174
17292
  shouldShow: () => action.visible !== false,
17175
- shouldDisable: () => action.disabled === true
17293
+ shouldDisable: () => action.disabled === true,
17294
+ mobileConfig: action.mobileConfig
17176
17295
  }
17177
17296
  }));
17178
17297
  this.fixedActionsMobileModalService.open({
@@ -17181,7 +17300,7 @@ class GenericFixedActionsComponent {
17181
17300
  });
17182
17301
  }
17183
17302
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: GenericFixedActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17184
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: GenericFixedActionsComponent, isStandalone: true, selector: "core-generic-fixed-actions", host: { classAttribute: "c-fixed-actions c-fixed-actions--right" }, ngImport: i0, template: `
17303
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: GenericFixedActionsComponent, isStandalone: true, selector: "core-generic-fixed-actions", inputs: { externalActions: { classPropertyName: "externalActions", publicName: "externalActions", isSignal: true, isRequired: false, transformFunction: null }, tableId: { classPropertyName: "tableId", publicName: "tableId", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "c-fixed-actions c-fixed-actions--right" }, ngImport: i0, template: `
17185
17304
  @if (shouldShow() && visibleActions().length > 0) {
17186
17305
  @for (action of visibleActions(); track action.id) {
17187
17306
  <button
@@ -17222,7 +17341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
17222
17341
  'class': 'c-fixed-actions c-fixed-actions--right'
17223
17342
  }
17224
17343
  }]
17225
- }], ctorParameters: () => [] });
17344
+ }] });
17226
17345
 
17227
17346
  class LayoutComponent {
17228
17347
  navItems = input([]);
@@ -17422,7 +17541,7 @@ class LayoutComponent {
17422
17541
  this.onLogout.emit();
17423
17542
  }
17424
17543
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17425
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: LayoutComponent, isStandalone: true, selector: "core-layout", inputs: { navItems: { classPropertyName: "navItems", publicName: "navItems", isSignal: true, isRequired: false, transformFunction: null }, bottomNavItems: { classPropertyName: "bottomNavItems", publicName: "bottomNavItems", isSignal: true, isRequired: false, transformFunction: null }, collapsedLogo: { classPropertyName: "collapsedLogo", publicName: "collapsedLogo", isSignal: true, isRequired: false, transformFunction: null }, expandedLogo: { classPropertyName: "expandedLogo", publicName: "expandedLogo", isSignal: true, isRequired: false, transformFunction: null }, logoImagesConfig: { classPropertyName: "logoImagesConfig", publicName: "logoImagesConfig", isSignal: true, isRequired: false, transformFunction: null }, navConfig: { classPropertyName: "navConfig", publicName: "navConfig", isSignal: true, isRequired: false, transformFunction: null }, mobileHeaderConfig: { classPropertyName: "mobileHeaderConfig", publicName: "mobileHeaderConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLogout: "onLogout", onMobileRefresh: "onMobileRefresh", onMobileFilter: "onMobileFilter" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "mainNavComponent", first: true, predicate: MainNavComponent, descendants: true }], hostDirectives: [{ directive: CoreHostDirective }], ngImport: i0, template: "<div class=\"o-layout\" \n [attr.data-layout]=\"layoutService.dataAttributes()['data-layout']\"\n [attr.data-sidebar-left]=\"getEffectiveLeftSidebarVisibility()\"\n [attr.data-sidebar-left-w]=\"getEffectiveLeftSidebarWidth()\"\n [attr.data-sidebar-left-h]=\"getEffectiveLeftSidebarHeight()\"\n [attr.data-sidebar-right]=\"getEffectiveRightSidebarVisibility()\"\n [attr.data-sidebar-right-w]=\"getEffectiveRightSidebarWidth()\"\n [attr.data-sidebar-right-h]=\"getEffectiveRightSidebarHeight()\"\n >\n\n <!-- Nav -->\n <core-main-nav class=\"o-layout__nav\" \n (toggleSidebar)=\"toggleSidebar()\"\n [navItems]=\"navItems()\"\n [navConfig]=\"navConfig()\"\n [bottomNavItems]=\"bottomNavItems()\"\n [logoImagesConfig]=\"logoImagesConfig()\"\n [collapsedLogo]=\"collapsedLogo()\"\n [expandedLogo]=\"expandedLogo()\"\n (onLogout)=\"logout()\"\n >\n </core-main-nav>\n\n <!-- Main -->\n <div class=\"o-layout__body\">\n \n @if(shouldShowMobileHeader() && mobileHeaderConfig()) {\n <core-mobile-header\n class=\"o-layout__header c-header-mobile\"\n [config]=\"mobileHeaderConfig()!\"\n (menuClick)=\"onMobileMenuClick()\"\n (refreshClick)=\"onMobileRefreshClick()\"\n (filterClick)=\"onMobileFilterClick()\">\n </core-mobile-header>\n }\n\n @if(layoutStateService.isHeaderVisible$() | async) {\n @if(!shouldShowMobileHeader()) {\n <core-header\n [class]=\"getHeaderClasses()\"\n (filterRequested)=\"onFilterRequested()\"\n (createRequested)=\"onCreateRequested()\"\n (globalActionTriggered)=\"onGlobalActionTriggered($event)\">\n </core-header>\n }\n }\n\n @if(layoutService.sidebarLeft().visibility === SidebarVisibility.SHOW && leftSidebarConfig && shouldRenderLeftSidebar()) {\n <core-generic-sidebar \n class=\"o-layout__sidebar--left\"\n [config]=\"leftSidebarConfig\">\n </core-generic-sidebar>\n }\n\n <ng-content></ng-content>\n\n @if(layoutService.sidebarRight().visibility === SidebarVisibility.SHOW && rightSidebarConfig && shouldRenderRightSidebar()) {\n <core-generic-sidebar \n class=\"o-layout__sidebar--right\"\n [config]=\"rightSidebarConfig\">\n </core-generic-sidebar>\n }\n\n\n @if(dialogService.isOpen$()) {\n <core-confirmation-dialog\n [isOpen]=\"dialogService.isOpen$()\"\n [config]=\"dialogService.config$()\"\n (confirm)=\"dialogService.confirm($event)\"\n (cancel)=\"dialogService.cancel()\"\n ></core-confirmation-dialog>\n }\n\n @if(sidebarMobileModalService.isOpen()) {\n <core-generic-modal\n [isOpen]=\"sidebarMobileModalService.isOpen()\"\n [mode]=\"ModalMode.CREATE\"\n [title]=\"getSidebarModalTitle()\"\n [customTemplate]=\"sidebarModalContentTemplate\"\n (close)=\"sidebarMobileModalService.closeModal()\"\n [buttonConfig]=\"getSidebarModalButtons()\">\n </core-generic-modal>\n }\n\n </div> <!-- .o-layout__body -->\n</div> <!-- .o-layout -->\n\n<!-- Fixed Actions (Mobile) -->\n<core-generic-fixed-actions class=\"c-fixed-actions c-fixed-actions--right\"/>\n\n<!-- Fixed Actions Mobile Modal -->\n<core-fixed-actions-mobile-modal />\n\n<!-- Sidebar Custom Modal Global -->\n<core-sidebar-custom-modal></core-sidebar-custom-modal>\n\n<!-- Image Modal Global -->\n<core-image-modal></core-image-modal>\n\n<!-- Gallery Modal Global -->\n<core-gallery-modal></core-gallery-modal>\n\n<!-- ! Refactor: End -->", dependencies: [{ kind: "component", type: MainNavComponent, selector: "core-main-nav", inputs: ["navConfig", "appVersion", "navItems", "bottomNavItems", "isProduction", "logoImagesConfig", "collapsedLogo", "expandedLogo"], outputs: ["onLogout"] }, { kind: "component", type: HeaderComponent, selector: "core-header", outputs: ["filterRequested", "createRequested", "globalActionTriggered"] }, { kind: "component", type: MobileHeaderComponent, selector: "core-mobile-header", inputs: ["config"], outputs: ["menuClick", "refreshClick", "filterClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: ConfirmationDialogComponent, selector: "core-confirmation-dialog", inputs: ["isOpen", "config"], outputs: ["confirm", "cancel"] }, { kind: "component", type: GenericSidebarComponent, selector: "core-generic-sidebar", inputs: ["config", "position", "customTemplate"], outputs: ["itemClicked", "subItemClicked"] }, { kind: "component", type: GenericModalComponent, selector: "core-generic-modal", inputs: ["isOpen", "mode", "data", "fields", "tabs", "steps", "title", "isMultiple", "customTemplate", "customViewTemplate", "finalStepTemplate", "buttonConfig", "modelFactory", "errors", "validators", "customHasChanges", "stepValidationEnabled", "allowFreeNavigation", "autoMarkCompleted"], outputs: ["save", "close", "modalData"] }, { kind: "component", type: ImageModalComponent, selector: "core-image-modal", outputs: ["modalClosed"] }, { kind: "component", type: GalleryModalComponent, selector: "core-gallery-modal" }, { kind: "component", type: SidebarCustomModalComponent, selector: "core-sidebar-custom-modal" }, { kind: "component", type: GenericFixedActionsComponent, selector: "core-generic-fixed-actions" }, { kind: "component", type: FixedActionsMobileModalComponent, selector: "core-fixed-actions-mobile-modal" }] });
17544
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: LayoutComponent, isStandalone: true, selector: "core-layout", inputs: { navItems: { classPropertyName: "navItems", publicName: "navItems", isSignal: true, isRequired: false, transformFunction: null }, bottomNavItems: { classPropertyName: "bottomNavItems", publicName: "bottomNavItems", isSignal: true, isRequired: false, transformFunction: null }, collapsedLogo: { classPropertyName: "collapsedLogo", publicName: "collapsedLogo", isSignal: true, isRequired: false, transformFunction: null }, expandedLogo: { classPropertyName: "expandedLogo", publicName: "expandedLogo", isSignal: true, isRequired: false, transformFunction: null }, logoImagesConfig: { classPropertyName: "logoImagesConfig", publicName: "logoImagesConfig", isSignal: true, isRequired: false, transformFunction: null }, navConfig: { classPropertyName: "navConfig", publicName: "navConfig", isSignal: true, isRequired: false, transformFunction: null }, mobileHeaderConfig: { classPropertyName: "mobileHeaderConfig", publicName: "mobileHeaderConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLogout: "onLogout", onMobileRefresh: "onMobileRefresh", onMobileFilter: "onMobileFilter" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "mainNavComponent", first: true, predicate: MainNavComponent, descendants: true }], hostDirectives: [{ directive: CoreHostDirective }], ngImport: i0, template: "<div class=\"o-layout\" \n [attr.data-layout]=\"layoutService.dataAttributes()['data-layout']\"\n [attr.data-sidebar-left]=\"getEffectiveLeftSidebarVisibility()\"\n [attr.data-sidebar-left-w]=\"getEffectiveLeftSidebarWidth()\"\n [attr.data-sidebar-left-h]=\"getEffectiveLeftSidebarHeight()\"\n [attr.data-sidebar-right]=\"getEffectiveRightSidebarVisibility()\"\n [attr.data-sidebar-right-w]=\"getEffectiveRightSidebarWidth()\"\n [attr.data-sidebar-right-h]=\"getEffectiveRightSidebarHeight()\"\n >\n\n <!-- Nav -->\n <core-main-nav class=\"o-layout__nav\" \n (toggleSidebar)=\"toggleSidebar()\"\n [navItems]=\"navItems()\"\n [navConfig]=\"navConfig()\"\n [bottomNavItems]=\"bottomNavItems()\"\n [logoImagesConfig]=\"logoImagesConfig()\"\n [collapsedLogo]=\"collapsedLogo()\"\n [expandedLogo]=\"expandedLogo()\"\n (onLogout)=\"logout()\"\n >\n </core-main-nav>\n\n <!-- Main -->\n <div class=\"o-layout__body\">\n \n @if(shouldShowMobileHeader() && mobileHeaderConfig()) {\n <core-mobile-header\n class=\"o-layout__header c-header-mobile\"\n [config]=\"mobileHeaderConfig()!\"\n (menuClick)=\"onMobileMenuClick()\"\n (refreshClick)=\"onMobileRefreshClick()\"\n (filterClick)=\"onMobileFilterClick()\">\n </core-mobile-header>\n }\n\n @if(layoutStateService.isHeaderVisible$() | async) {\n @if(!shouldShowMobileHeader()) {\n <core-header\n [class]=\"getHeaderClasses()\"\n (filterRequested)=\"onFilterRequested()\"\n (createRequested)=\"onCreateRequested()\"\n (globalActionTriggered)=\"onGlobalActionTriggered($event)\">\n </core-header>\n }\n }\n\n @if(layoutService.sidebarLeft().visibility === SidebarVisibility.SHOW && leftSidebarConfig && shouldRenderLeftSidebar()) {\n <core-generic-sidebar \n class=\"o-layout__sidebar--left\"\n [config]=\"leftSidebarConfig\">\n </core-generic-sidebar>\n }\n\n <ng-content></ng-content>\n\n @if(layoutService.sidebarRight().visibility === SidebarVisibility.SHOW && rightSidebarConfig && shouldRenderRightSidebar()) {\n <core-generic-sidebar \n class=\"o-layout__sidebar--right\"\n [config]=\"rightSidebarConfig\">\n </core-generic-sidebar>\n }\n\n\n @if(dialogService.isOpen$()) {\n <core-confirmation-dialog\n [isOpen]=\"dialogService.isOpen$()\"\n [config]=\"dialogService.config$()\"\n (confirm)=\"dialogService.confirm($event)\"\n (cancel)=\"dialogService.cancel()\"\n ></core-confirmation-dialog>\n }\n\n @if(sidebarMobileModalService.isOpen()) {\n <core-generic-modal\n [isOpen]=\"sidebarMobileModalService.isOpen()\"\n [mode]=\"ModalMode.CREATE\"\n [title]=\"getSidebarModalTitle()\"\n [customTemplate]=\"sidebarModalContentTemplate\"\n (close)=\"sidebarMobileModalService.closeModal()\"\n [buttonConfig]=\"getSidebarModalButtons()\">\n </core-generic-modal>\n }\n\n </div> <!-- .o-layout__body -->\n</div> <!-- .o-layout -->\n\n<!-- Fixed Actions (Mobile) -->\n<core-generic-fixed-actions class=\"c-fixed-actions c-fixed-actions--right\"/>\n\n<!-- Fixed Actions Mobile Modal -->\n<core-fixed-actions-mobile-modal />\n\n<!-- Sidebar Custom Modal Global -->\n<core-sidebar-custom-modal></core-sidebar-custom-modal>\n\n<!-- Image Modal Global -->\n<core-image-modal></core-image-modal>\n\n<!-- Gallery Modal Global -->\n<core-gallery-modal></core-gallery-modal>\n\n<!-- ! Refactor: End -->", dependencies: [{ kind: "component", type: MainNavComponent, selector: "core-main-nav", inputs: ["navConfig", "appVersion", "navItems", "bottomNavItems", "isProduction", "logoImagesConfig", "collapsedLogo", "expandedLogo"], outputs: ["onLogout"] }, { kind: "component", type: HeaderComponent, selector: "core-header", outputs: ["filterRequested", "createRequested", "globalActionTriggered"] }, { kind: "component", type: MobileHeaderComponent, selector: "core-mobile-header", inputs: ["config"], outputs: ["menuClick", "refreshClick", "filterClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: ConfirmationDialogComponent, selector: "core-confirmation-dialog", inputs: ["isOpen", "config"], outputs: ["confirm", "cancel"] }, { kind: "component", type: GenericSidebarComponent, selector: "core-generic-sidebar", inputs: ["config", "position", "customTemplate"], outputs: ["itemClicked", "subItemClicked"] }, { kind: "component", type: GenericModalComponent, selector: "core-generic-modal", inputs: ["isOpen", "mode", "data", "fields", "tabs", "steps", "title", "isMultiple", "customTemplate", "customViewTemplate", "finalStepTemplate", "buttonConfig", "modelFactory", "errors", "validators", "customHasChanges", "stepValidationEnabled", "allowFreeNavigation", "autoMarkCompleted"], outputs: ["save", "close", "modalData"] }, { kind: "component", type: ImageModalComponent, selector: "core-image-modal", outputs: ["modalClosed"] }, { kind: "component", type: GalleryModalComponent, selector: "core-gallery-modal" }, { kind: "component", type: SidebarCustomModalComponent, selector: "core-sidebar-custom-modal" }, { kind: "component", type: GenericFixedActionsComponent, selector: "core-generic-fixed-actions", inputs: ["externalActions", "tableId"] }, { kind: "component", type: FixedActionsMobileModalComponent, selector: "core-fixed-actions-mobile-modal" }] });
17426
17545
  }
17427
17546
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LayoutComponent, decorators: [{
17428
17547
  type: Component,
@@ -19585,5 +19704,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
19585
19704
  * Generated bundle index. Do not edit.
19586
19705
  */
19587
19706
 
19588
- export { ALL_COUNTRY_CODES, ActiveFiltersComponent, AgeValidationHelper, AlertComponent, AlertContainerComponent, AlertService, AlertType, ApiConfigurationProvider, BaseFieldComponent, ButtonContext, ButtonSize, ButtonType, COMMON_COUNTRIES, CacheBustingInterceptor, CardComponent, CarouselComponent, ChatMessagePosition, ChatMessageType, CheckboxFieldComponent, ConfigurationModel, ConfirmationDialogComponent, ConfirmationDialogService, CoreHostDirective, CoreManualRefreshComponent, CoreUiHttpLoaderFactory, CoreUiTranslateLoader, CoreUiTranslateService, CountryCode, CustomClassService, DEFAULT_COUNTRIES, DataListComponent, DataListItemComponent, DataStoreService, DateFieldComponent, DateUtility, DatetimeFieldComponent, 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, GenericChatComponent, GenericChatService, GenericDocumentationComponent, GenericFixedActionsComponent, GenericGalleryComponent, GenericModalComponent, GenericPaginationComponent, GenericRatingComponent, GenericSidebarComponent, GenericSkeletonComponent, GenericStepsComponent, GenericSwitchComponent, GenericTableComponent, GenericTabsComponent, GenericTimelineComponent, GlobalApiConfigService, HeaderComponent, HeaderConfigurationService, HeaderElementType, HeaderService, HttpLoaderFactory, ImageModalComponent, ImageModalService, ImagePreviewComponent, LATIN_AMERICA_COUNTRIES, LayoutAuth, LayoutBreakpoint, LayoutComponent, LayoutService, LayoutStateService, LayoutType, LoaderComponent, LoaderService, 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, PermissionsInterceptor, PermissionsResources, PhoneFieldComponent, ProgressBarComponent, ProgressBarSize, RatingService, RatingSize, RatingType, 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, TableSortService, TextAreaFieldComponent, TextFieldComponent, TimeFieldComponent, TimeInterval, TimelineService, TimelineStatus, TimelineType, TranslationMergeService, UruguayanDocumentValidationHelper, UsersModel, VERSION, ageValidator, calculateAge, equalToValidator, generateRandomUruguayanDocument, getCountryCodeStrings, getLatestBirthDateForAge, getRandomCi, getUruguayanDocumentValidationDigit, getValidationDigit, isSameDate, isValidCountryCode, provideCoreUiTranslateLoader, providePermissionActions, providePermissionEnums, providePermissionResources, providePermissionService, providePermissionServiceFactory, provideTranslateLoader, random, transform, transformUruguayanDocument, uruguayanDocumentValidator, validate, validateAge, validateCi, validateUruguayanDocument, validationDigit };
19707
+ export { ALL_COUNTRY_CODES, ActiveFiltersComponent, AgeValidationHelper, AlertComponent, AlertContainerComponent, AlertService, AlertType, ApiConfigurationProvider, BaseFieldComponent, ButtonContext, ButtonSize, ButtonType, COMMON_COUNTRIES, CacheBustingInterceptor, CardComponent, CarouselComponent, ChatMessagePosition, ChatMessageType, CheckboxFieldComponent, ConfigurationModel, ConfirmationDialogComponent, ConfirmationDialogService, CoreHostDirective, CoreManualRefreshComponent, CoreUiHttpLoaderFactory, CoreUiTranslateLoader, CoreUiTranslateService, CountryCode, CustomClassService, DEFAULT_COUNTRIES, DataListComponent, DataListItemComponent, DataStoreService, DateFieldComponent, DateUtility, DatetimeFieldComponent, 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, GenericChatComponent, GenericChatService, GenericDocumentationComponent, GenericFixedActionsComponent, GenericGalleryComponent, GenericModalComponent, GenericPaginationComponent, GenericRatingComponent, GenericSidebarComponent, GenericSkeletonComponent, GenericStepsComponent, GenericSwitchComponent, GenericTableComponent, GenericTabsComponent, GenericTimelineComponent, GlobalApiConfigService, HeaderComponent, HeaderConfigurationService, HeaderElementType, HeaderService, HttpLoaderFactory, ImageModalComponent, ImageModalService, ImagePreviewComponent, LATIN_AMERICA_COUNTRIES, LayoutAuth, LayoutBreakpoint, LayoutComponent, LayoutService, LayoutStateService, LayoutType, LoaderComponent, LoaderService, 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, PermissionsInterceptor, PermissionsResources, PhoneFieldComponent, ProgressBarComponent, ProgressBarSize, RatingService, RatingSize, RatingType, 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, UruguayanDocumentValidationHelper, UsersModel, VERSION, ageValidator, calculateAge, equalToValidator, generateRandomUruguayanDocument, getCountryCodeStrings, getLatestBirthDateForAge, getRandomCi, getUruguayanDocumentValidationDigit, getValidationDigit, isSameDate, isValidCountryCode, provideCoreUiTranslateLoader, providePermissionActions, providePermissionEnums, providePermissionResources, providePermissionService, providePermissionServiceFactory, provideTranslateLoader, random, transform, transformUruguayanDocument, uruguayanDocumentValidator, validate, validateAge, validateCi, validateUruguayanDocument, validationDigit };
19589
19708
  //# sourceMappingURL=solcre-org-core-ui.mjs.map