@onecx/shell-core 5.38.0 → 6.0.0-rc.10

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.
@@ -1,3 +0,0 @@
1
- .layout-topbar-items > * {
2
- margin: auto;
3
- }
@@ -1,34 +1,32 @@
1
- import * as i3 from '@angular/common';
1
+ import * as i2 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, Input, InjectionToken, EventEmitter, Directive, Output, Optional, Inject, HostListener, NgModule, Injectable } from '@angular/core';
5
- import * as i1 from '@angular/router';
6
- import { RouterModule } from '@angular/router';
7
- import * as i2 from '@onecx/angular-remote-components';
4
+ import { inject, Component, Input, InjectionToken, ElementRef, EventEmitter, Directive, Output, HostListener, NgModule, Injectable } from '@angular/core';
5
+ import * as i3$1 from '@angular/router';
6
+ import { Router, ActivatedRoute, RouterModule } from '@angular/router';
7
+ import * as i1 from '@onecx/angular-remote-components';
8
8
  import { SlotService, AngularRemoteComponentsModule } from '@onecx/angular-remote-components';
9
- import * as i8 from 'primeng/toast';
9
+ import * as i5$1 from 'primeng/toast';
10
10
  import { ToastModule } from 'primeng/toast';
11
- import * as i1$2 from '@onecx/angular-integration-interface';
12
- import { CONFIG_KEY, ThemeService, AppStateService, PortalMessageService, UserService } from '@onecx/angular-integration-interface';
11
+ import { PrimeNG, providePrimeNG } from 'primeng/config';
12
+ import { ConfigurationService, AppStateService, ThemeService, CONFIG_KEY, PortalMessageService, UserService } from '@onecx/angular-integration-interface';
13
13
  import { withLatestFrom, map, combineLatest, mergeMap, of, filter, first, from, shareReplay } from 'rxjs';
14
- import * as i1$1 from '@angular/common/http';
15
14
  import { HttpClient } from '@angular/common/http';
16
15
  import { __decorate, __metadata } from 'tslib';
17
16
  import { trigger, transition, style, animate } from '@angular/animations';
18
17
  import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
19
- import * as i4 from 'primeng/skeleton';
18
+ import * as i3 from 'primeng/skeleton';
20
19
  import { SkeletonModule } from 'primeng/skeleton';
21
- import * as i5 from 'primeng/tooltip';
20
+ import * as i4 from 'primeng/tooltip';
22
21
  import { TooltipModule } from 'primeng/tooltip';
23
- import * as i6 from '@ngx-translate/core';
22
+ import * as i5 from '@ngx-translate/core';
24
23
  import { TranslateModule } from '@ngx-translate/core';
25
- import * as i1$3 from 'primeng/api';
26
- import { PrimeNGConfig, MessageService } from 'primeng/api';
24
+ import { MessageService } from 'primeng/api';
27
25
 
28
26
  class GlobalErrorComponent {
29
- constructor(router, route) {
30
- this.router = router;
31
- this.route = route;
27
+ constructor() {
28
+ this.router = inject(Router);
29
+ this.route = inject(ActivatedRoute);
32
30
  this.errCode = this.route.snapshot.queryParamMap.get('err') || 'E1001_FAILED_START';
33
31
  this.backUrl = this.route.snapshot.queryParamMap.get('return') || '/';
34
32
  }
@@ -38,13 +36,13 @@ class GlobalErrorComponent {
38
36
  reload() {
39
37
  window.location.reload();
40
38
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GlobalErrorComponent, selector: "ocx-shell-error", inputs: { errCode: "errCode" }, ngImport: i0, template: "<div class=\"pages-body error-page flex flex-column\">\n <div class=\"align-self-center mt-auto mb-auto\">\n <div class=\"pages-panel card flex flex-column\">\n <div class=\"pages-header px-3 py-1\">\n <h2>ERROR</h2>\n </div>\n <div class=\"card mt-3 px-6\">\n <img src=\"assets/images/error.png\" alt=\"\" />\n </div>\n <div class=\"pages-detail pb-6\">{{errCode}}</div>\n <button pButton pRipple type=\"button\" label=\"Try Again\" (click)=\"reload()\" class=\"p-button-text\"></button>\n </div>\n </div>\n</div>\n", styles: [".pages-body{height:100vh}.pages-body .topbar{box-shadow:0 2px 5px #00000042;background-color:#1565c0;z-index:100}.pages-body .topbar .topbar-left img{height:2rem}.pages-body .topbar .p-button.p-button-text.p-button-plain{color:#fff}.pages-body .pages-panel{text-align:center;z-index:200}.pages-body .pages-panel.card{border:1.5px solid var(--divider-color);border-radius:6px}.pages-body .pages-panel.card img{width:100%}.pages-body .pages-panel.card>.card{background-color:var(--content-alt-bg-color)}.pages-body .pages-panel .pages-header{margin-top:-3rem;color:var(--primary-color-text);border:1.5px solid var(--divider-color);border-radius:4px;margin-left:auto;margin-right:auto}.pages-body .pages-panel .pages-header h2{margin:0}.pages-body .pages-panel .pages-detail{color:var(--text-secondary-color)}.pages-body.error-page{background-size:cover;background-color:var(--primary-color)}.pages-body.error-page .pages-panel .pages-header{background:#d81b60}.pages-body.notfound-page{background-size:cover}.pages-body.notfound-page .pages-panel .pages-header{background:#455a64}.pages-body.accessdenied-page{background-size:cover}.pages-body.accessdenied-page .pages-panel .pages-header{background:#fb8c00}@media screen and (max-width: 768px){.pages-body.contact-page .pages-panel{padding-bottom:10em}.pages-body.contact-page .pages-panel .p-button{width:100%}.pages-body.contact-page .pages-panel .card .right-panel{text-align:center}}\n"] }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: GlobalErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: GlobalErrorComponent, isStandalone: false, selector: "ocx-shell-error", inputs: { errCode: "errCode" }, ngImport: i0, template: "<div class=\"pages-body error-page flex flex-column\">\n <div class=\"align-self-center mt-auto mb-auto\">\n <div class=\"pages-panel card flex flex-column\">\n <div class=\"pages-header px-3 py-1\">\n <h2>ERROR</h2>\n </div>\n <div class=\"card mt-3 px-6\">\n <img src=\"assets/images/error.png\" alt=\"\" />\n </div>\n <div class=\"pages-detail pb-6\">{{errCode}}</div>\n <button pButton pRipple type=\"button\" label=\"Try Again\" (click)=\"reload()\" class=\"p-button-text\"></button>\n </div>\n </div>\n</div>\n", styles: [".pages-body{height:100vh}.pages-body .topbar{box-shadow:0 2px 5px #00000042;background-color:#1565c0;z-index:100}.pages-body .topbar .topbar-left img{height:2rem}.pages-body .topbar .p-button.p-button-text.p-button-plain{color:#fff}.pages-body .pages-panel{text-align:center;z-index:200}.pages-body .pages-panel.card{border:1.5px solid var(--p-onecx-divider-color);border-radius:6px}.pages-body .pages-panel.card img{width:100%}.pages-body .pages-panel.card>.card{background-color:var(--p-onecx-content-alt-bg-color)}.pages-body .pages-panel .pages-header{margin-top:-3rem;color:#fff;border:1.5px solid var(--p-onecx-divider-color);border-radius:4px;margin-left:auto;margin-right:auto}.pages-body .pages-panel .pages-header h2{margin:0}.pages-body .pages-panel .pages-detail{color:var(--p-onecx-text-secondary-color)}.pages-body.error-page{background-size:cover;background-color:var(--p-onecx-primary-color)}.pages-body.error-page .pages-panel .pages-header{background:#d81b60}.pages-body.notfound-page{background-size:cover}.pages-body.notfound-page .pages-panel .pages-header{background:#455a64}.pages-body.accessdenied-page{background-size:cover}.pages-body.accessdenied-page .pages-panel .pages-header{background:#fb8c00}@media screen and (max-width: 768px){.pages-body.contact-page .pages-panel{padding-bottom:10em}.pages-body.contact-page .pages-panel .p-button{width:100%}.pages-body.contact-page .pages-panel .card .right-panel{text-align:center}}\n"] }); }
43
41
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: GlobalErrorComponent, decorators: [{
45
43
  type: Component,
46
- args: [{ selector: 'ocx-shell-error', template: "<div class=\"pages-body error-page flex flex-column\">\n <div class=\"align-self-center mt-auto mb-auto\">\n <div class=\"pages-panel card flex flex-column\">\n <div class=\"pages-header px-3 py-1\">\n <h2>ERROR</h2>\n </div>\n <div class=\"card mt-3 px-6\">\n <img src=\"assets/images/error.png\" alt=\"\" />\n </div>\n <div class=\"pages-detail pb-6\">{{errCode}}</div>\n <button pButton pRipple type=\"button\" label=\"Try Again\" (click)=\"reload()\" class=\"p-button-text\"></button>\n </div>\n </div>\n</div>\n", styles: [".pages-body{height:100vh}.pages-body .topbar{box-shadow:0 2px 5px #00000042;background-color:#1565c0;z-index:100}.pages-body .topbar .topbar-left img{height:2rem}.pages-body .topbar .p-button.p-button-text.p-button-plain{color:#fff}.pages-body .pages-panel{text-align:center;z-index:200}.pages-body .pages-panel.card{border:1.5px solid var(--divider-color);border-radius:6px}.pages-body .pages-panel.card img{width:100%}.pages-body .pages-panel.card>.card{background-color:var(--content-alt-bg-color)}.pages-body .pages-panel .pages-header{margin-top:-3rem;color:var(--primary-color-text);border:1.5px solid var(--divider-color);border-radius:4px;margin-left:auto;margin-right:auto}.pages-body .pages-panel .pages-header h2{margin:0}.pages-body .pages-panel .pages-detail{color:var(--text-secondary-color)}.pages-body.error-page{background-size:cover;background-color:var(--primary-color)}.pages-body.error-page .pages-panel .pages-header{background:#d81b60}.pages-body.notfound-page{background-size:cover}.pages-body.notfound-page .pages-panel .pages-header{background:#455a64}.pages-body.accessdenied-page{background-size:cover}.pages-body.accessdenied-page .pages-panel .pages-header{background:#fb8c00}@media screen and (max-width: 768px){.pages-body.contact-page .pages-panel{padding-bottom:10em}.pages-body.contact-page .pages-panel .p-button{width:100%}.pages-body.contact-page .pages-panel .card .right-panel{text-align:center}}\n"] }]
47
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { errCode: [{
44
+ args: [{ standalone: false, selector: 'ocx-shell-error', template: "<div class=\"pages-body error-page flex flex-column\">\n <div class=\"align-self-center mt-auto mb-auto\">\n <div class=\"pages-panel card flex flex-column\">\n <div class=\"pages-header px-3 py-1\">\n <h2>ERROR</h2>\n </div>\n <div class=\"card mt-3 px-6\">\n <img src=\"assets/images/error.png\" alt=\"\" />\n </div>\n <div class=\"pages-detail pb-6\">{{errCode}}</div>\n <button pButton pRipple type=\"button\" label=\"Try Again\" (click)=\"reload()\" class=\"p-button-text\"></button>\n </div>\n </div>\n</div>\n", styles: [".pages-body{height:100vh}.pages-body .topbar{box-shadow:0 2px 5px #00000042;background-color:#1565c0;z-index:100}.pages-body .topbar .topbar-left img{height:2rem}.pages-body .topbar .p-button.p-button-text.p-button-plain{color:#fff}.pages-body .pages-panel{text-align:center;z-index:200}.pages-body .pages-panel.card{border:1.5px solid var(--p-onecx-divider-color);border-radius:6px}.pages-body .pages-panel.card img{width:100%}.pages-body .pages-panel.card>.card{background-color:var(--p-onecx-content-alt-bg-color)}.pages-body .pages-panel .pages-header{margin-top:-3rem;color:#fff;border:1.5px solid var(--p-onecx-divider-color);border-radius:4px;margin-left:auto;margin-right:auto}.pages-body .pages-panel .pages-header h2{margin:0}.pages-body .pages-panel .pages-detail{color:var(--p-onecx-text-secondary-color)}.pages-body.error-page{background-size:cover;background-color:var(--p-onecx-primary-color)}.pages-body.error-page .pages-panel .pages-header{background:#d81b60}.pages-body.notfound-page{background-size:cover}.pages-body.notfound-page .pages-panel .pages-header{background:#455a64}.pages-body.accessdenied-page{background-size:cover}.pages-body.accessdenied-page .pages-panel .pages-header{background:#fb8c00}@media screen and (max-width: 768px){.pages-body.contact-page .pages-panel{padding-bottom:10em}.pages-body.contact-page .pages-panel .p-button{width:100%}.pages-body.contact-page .pages-panel .card .right-panel{text-align:center}}\n"] }]
45
+ }], ctorParameters: () => [], propDecorators: { errCode: [{
48
46
  type: Input
49
47
  }] } });
50
48
 
@@ -92,20 +90,20 @@ class ShellSrcDirective {
92
90
  this._src = value;
93
91
  }
94
92
  }
95
- constructor(el, httpClient) {
96
- this.el = el;
97
- this.httpClient = httpClient;
93
+ constructor() {
94
+ this.el = inject(ElementRef);
95
+ this.httpClient = inject(HttpClient);
98
96
  // eslint-disable-next-line @angular-eslint/no-output-native
99
97
  this.error = new EventEmitter();
100
98
  this.el.nativeElement.style.visibility = 'hidden';
101
99
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellSrcDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Directive }); }
103
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: { ocxShellSrc: "ocxShellSrc" }, outputs: { error: "error" }, ngImport: i0 }); }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellSrcDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
101
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: ShellSrcDirective, isStandalone: false, selector: "[ocxShellSrc]", inputs: { ocxShellSrc: "ocxShellSrc" }, outputs: { error: "error" }, ngImport: i0 }); }
104
102
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellSrcDirective, decorators: [{
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellSrcDirective, decorators: [{
106
104
  type: Directive,
107
- args: [{ selector: '[ocxShellSrc]' }]
108
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.HttpClient }], propDecorators: { error: [{
105
+ args: [{ selector: '[ocxShellSrc]', standalone: false }]
106
+ }], ctorParameters: () => [], propDecorators: { error: [{
109
107
  type: Output
110
108
  }], ocxShellSrc: [{
111
109
  type: Input
@@ -115,18 +113,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
115
113
  * @deprecated Replaced by Page Footer
116
114
  */
117
115
  class PortalFooterComponent {
118
- constructor(configurationService, router, appState, themeService, workspaceConfigBffService) {
119
- this.configurationService = configurationService;
120
- this.router = router;
121
- this.appState = appState;
122
- this.themeService = themeService;
123
- this.workspaceConfigBffService = workspaceConfigBffService;
124
- this.versionInfo$ = this.appState.currentMfe$.pipe(withLatestFrom(this.appState.currentPortal$.asObservable()), map(([mfe, portal]) => {
116
+ constructor() {
117
+ this.configurationService = inject(ConfigurationService);
118
+ this.router = inject(Router);
119
+ this.appState = inject(AppStateService);
120
+ this.themeService = inject(ThemeService);
121
+ this.workspaceConfigBffService = inject(WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, {
122
+ optional: true,
123
+ });
124
+ this.versionInfo$ = this.appState.currentMfe$.pipe(withLatestFrom(this.appState.currentWorkspace$.asObservable()), map(([mfe, workspace]) => {
125
125
  const mfeInfoVersion = mfe?.version || '';
126
126
  const mfeName = mfe?.displayName;
127
127
  const hostVersion = this.configurationService.getProperty(CONFIG_KEY.APP_VERSION) || 'DEV-LOCAL';
128
128
  const mfInfoText = mfeName ? `MF ${mfeName} v${mfeInfoVersion}` : '';
129
- return `Portal: ${portal.portalName} v${hostVersion} ${mfInfoText}`;
129
+ return `Portal: ${workspace.workspaceName} v${hostVersion} ${mfInfoText}`;
130
130
  }));
131
131
  this.logoUrl$ = combineLatest([
132
132
  this.themeService.currentTheme$.asObservable(),
@@ -146,28 +146,24 @@ class PortalFooterComponent {
146
146
  URL.revokeObjectURL(logoUrl);
147
147
  }
148
148
  }
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalFooterComponent, deps: [{ token: i1$2.ConfigurationService }, { token: i1.Router }, { token: i1$2.AppStateService }, { token: i1$2.ThemeService }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PortalFooterComponent, selector: "ocx-shell-footer", ngImport: i0, template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i2.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: ["ocxShellSrc"], outputs: ["error"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
149
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: PortalFooterComponent, isStandalone: false, selector: "ocx-shell-footer", ngImport: i0, template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n @if (logoUrl$ | async; as logoUrl) {\n <img\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n }\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "slotStyles", "slotClasses", "inputs", "outputs"] }, { kind: "directive", type: ShellSrcDirective, selector: "[ocxShellSrc]", inputs: ["ocxShellSrc"], outputs: ["error"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
151
151
  }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalFooterComponent, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalFooterComponent, decorators: [{
153
153
  type: Component,
154
- args: [{ selector: 'ocx-shell-footer', template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n <img\n *ngIf=\"logoUrl$ | async as logoUrl\"\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n" }]
155
- }], ctorParameters: () => [{ type: i1$2.ConfigurationService }, { type: i1.Router }, { type: i1$2.AppStateService }, { type: i1$2.ThemeService }, { type: undefined, decorators: [{
156
- type: Optional
157
- }, {
158
- type: Inject,
159
- args: [WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER]
160
- }] }] });
154
+ args: [{ standalone: false, selector: 'ocx-shell-footer', template: "<div class=\"mx-3 sm:ml-4 py-2 flex flex-wrap align-items-center justify-content-between row-gap-1\">\n <div class=\"flex flex-wrap align-items-center justify-content-start column-gap-3 row-gap-1\">\n @if (logoUrl$ | async; as logoUrl) {\n <img\n alt=\"logo\"\n class=\"max-h-1rem\"\n [ocxShellSrc]=\"logoUrl ?? ''\"\n (error)=\"onErrorHandleSrc()\"\n (load)=\"onLoad(logoUrl)\"\n />\n }\n <ocx-slot name=\"onecx-shell-footer\"></ocx-slot>\n </div>\n <div class=\"text-xs\">{{versionInfo$ | async}}</div>\n</div>\n" }]
155
+ }], ctorParameters: () => [] });
161
156
 
162
157
  let HeaderComponent = class HeaderComponent {
163
- constructor(themeService, slotService) {
164
- this.themeService = themeService;
165
- this.slotService = slotService;
158
+ constructor() {
166
159
  this.fullPortalLayout = true;
167
160
  this.homeNavUrl = '/';
168
161
  this.homeNavTitle = 'Home';
162
+ this.isStaticalMenu = false;
169
163
  this.isHorizontalMenu = false;
170
164
  this.menuButtonClick = new EventEmitter();
165
+ this.themeService = inject(ThemeService);
166
+ this.slotService = inject(SlotService);
171
167
  this.menuExpanded = false;
172
168
  // slot configuration: get theme logo
173
169
  this.slotName = 'onecx-theme-data';
@@ -182,8 +178,8 @@ let HeaderComponent = class HeaderComponent {
182
178
  onMenuButtonClick(e) {
183
179
  this.menuButtonClick.emit(e);
184
180
  }
185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderComponent, deps: [{ token: i1$2.ThemeService }, { token: i2.SlotService }], target: i0.ɵɵFactoryTarget.Component }); }
186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeaderComponent, selector: "ocx-shell-header", inputs: { menuButtonTitle: "menuButtonTitle", fullPortalLayout: "fullPortalLayout", homeNavUrl: "homeNavUrl", homeNavTitle: "homeNavTitle", isHorizontalMenu: "isHorizontalMenu" }, outputs: { menuButtonClick: "menuButtonClick" }, ngImport: i0, template: "<div class=\"layout-topbar_flex\" id=\"ocx_header\" role=\"banner\">\n <div\n class=\"layout-topbar-left flex relative justify-content-center align-items-center\"\n [ngClass]=\"{'vertical-menu': !isHorizontalMenu}\"\n >\n <!-- LOGO -->\n <ng-container *ngIf=\"currentTheme$ | async as theme\">\n <ocx-slot\n *ngIf=\"isComponentDefined$ | async\"\n [name]=\"slotName\"\n [inputs]=\"{\n dataType: 'logo',\n themeName: theme.name,\n imageUrl: theme.logoUrl,\n imageStyleClass: 'max-h-3rem max-w-11rem',\n logEnabled: false,\n logPrefix: 'header left logo'\n }\"\n [outputs]=\"{ imageLoadingFailed: logoLoadingEmitter }\"\n ></ocx-slot>\n <div *ngIf=\"themeLogoLoadingFailed\"><!-- portal logo --></div>\n </ng-container>\n <a\n id=\"ocx_vertical_menu_action_toggle\"\n class=\"layout-menu-button\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [pTooltip]=\"'OCX_HEADER.MENU_TOGGLE' | translate\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <i class=\"pi pi-chevron-right\"></i>\n </a>\n </div>\n\n <div class=\"layout-topbar-right\">\n <div class=\"layout-topbar-actions-left\">\n <ng-content></ng-content>\n </div>\n <div class=\"layout-topbar-actions-right_flex\">\n <ocx-slot name=\"onecx-shell-header-right\" class=\"layout-topbar-items\">\n <ng-template #skeleton>\n <div class=\"flex align-items-center h-full justify-content-center\" style=\"width: 56px\">\n <p-skeleton shape=\"circle\" size=\"2.5rem\" class=\"h-full flex align-items-center\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n</div>\n", styles: [".http-progress-loader{margin-left:8px;padding-top:5px}@media screen and (max-width: 1024px){.http-progress-loader{margin-left:0;margin-right:8px}}.default-logo{color:var(--logo-color, #12abdb);fill:currentColor}\n"], dependencies: [{ kind: "component", type: i2.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: HeaderComponent, isStandalone: false, selector: "ocx-shell-header", inputs: { menuButtonTitle: "menuButtonTitle", fullPortalLayout: "fullPortalLayout", homeNavUrl: "homeNavUrl", homeNavTitle: "homeNavTitle", isStaticalMenu: "isStaticalMenu", isHorizontalMenu: "isHorizontalMenu" }, outputs: { menuButtonClick: "menuButtonClick" }, ngImport: i0, template: "<div class=\"layout-topbar_flex\" id=\"ocx_header\" role=\"banner\">\n <div\n class=\"layout-topbar-left flex relative justify-content-center align-items-center\"\n [ngClass]=\"{'vertical-menu': !isHorizontalMenu}\"\n >\n <!-- LOGO -->\n @if (currentTheme$ | async; as theme) { @if (isComponentDefined$ | async) {\n <ocx-slot\n [name]=\"slotName\"\n [inputs]=\"{\n dataType: 'logo',\n themeName: theme.name,\n imageUrl: theme.logoUrl,\n imageStyleClass: 'max-h-3rem max-w-11rem',\n logEnabled: false,\n logPrefix: 'header left logo'\n }\"\n [outputs]=\"{ imageLoadingFailed: logoLoadingEmitter }\"\n ></ocx-slot>\n } @if (themeLogoLoadingFailed) {\n <div><!-- portal logo --></div>\n } }\n <a\n id=\"ocx_vertical_menu_action_toggle\"\n class=\"layout-menu-button\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [pTooltip]=\"'OCX_HEADER.MENU_TOGGLE' | translate\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <i\n [ngClass]=\"{'toggle-button-direction': isStaticalMenu && (isComponentDefined$ | async) === true}\"\n class=\"pi pi-chevron-right\"\n ></i>\n </a>\n </div>\n\n <div class=\"layout-topbar-right\">\n <div class=\"layout-topbar-actions-left\">\n <ng-content></ng-content>\n </div>\n <div class=\"layout-topbar-actions-right_flex\">\n <ocx-slot name=\"onecx-shell-header-right\" class=\"layout-topbar-items\">\n <ng-template #skeleton>\n <div class=\"flex align-items-center h-full justify-content-center\" style=\"width: 56px\">\n <p-skeleton shape=\"circle\" size=\"2.5rem\" class=\"h-full flex align-items-center\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n</div>\n", styles: [".layout-topbar-items>*{margin:auto}.http-progress-loader{margin-left:8px;padding-top:5px}@media screen and (max-width: 1024px){.http-progress-loader{margin-left:0;margin-right:8px}}.default-logo{color:var(--p-onecx-logo-color, #12abdb);fill:currentColor}.layout-topbar_flex{position:fixed;top:0;left:0;z-index:998;width:100%;height:4rem;transition:width var(--p-transition-duration);display:flex;justify-content:space-between;align-items:center;row-gap:1rem}.layout-topbar_flex ul{margin:0;padding:0;border:0;outline:0;text-decoration:none;list-style-type:none}.layout-topbar_flex .layout-topbar-left{min-width:10rem}.layout-topbar_flex .layout-topbar-left.vertical-menu{flex:0 0 17rem}.layout-topbar_flex .layout-topbar-left .layout-menu-button{position:absolute;top:50%;right:-1.25rem;width:2.5rem;height:2.5rem;margin-top:-1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%}.layout-topbar_flex .layout-topbar-left .layout-menu-button i{transition:transform var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-left .layout-topbar-mobile-button{display:none;align-items:center;padding:0 .8rem;margin:0 .5rem 0 auto;border-radius:50%;height:3.2rem;cursor:pointer}.layout-topbar_flex .layout-topbar-right{display:flex;flex-grow:1;align-items:center;justify-content:space-between;row-gap:0;margin-left:1.5rem;padding-left:1.25rem;height:100%;min-width:0}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left{display:flex;flex-grow:1;align-items:center;height:100%;min-width:0}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar .p-menubar-root-list>.p-menuitem .p-menuitem-text{white-space:nowrap}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex{height:100%;margin-right:.75rem}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;height:100%}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item{display:flex;align-items:center;position:relative}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action{-webkit-user-select:none;user-select:none;justify-content:center;height:3.2rem;width:3.2rem;min-width:3.2rem;border-radius:50%;cursor:pointer;margin:0;padding:.5rem!important;color:var(--p-onecx-topbar-item-text-color);background-color:var(--p-onecx-topbar-bg-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action:hover,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action:focus{color:var(--p-onecx-topbar-item-text-hover-color);background-color:var(--p-onecx-topbar-item-text-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action-panel{position:absolute;top:4rem;right:0;z-index:1000;min-width:13rem;padding:.5rem 0;transform-origin:top}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action-panel .layout-topbar-action-item{cursor:pointer}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel{height:4rem;width:100%;position:fixed;top:0;left:0;z-index:1000;transform-origin:top}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input{border-radius:0;border:0 none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input:focus{outline:0 none;box-shadow:none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel i{font-weight:700}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon{border:0 none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.layout-menu-button-hidden .layout-topbar_flex .layout-topbar-left{padding-right:0}.layout-menu-button-hidden .layout-topbar_flex .layout-topbar-left .layout-menu-button{display:none}.layout-menu-button-hidden .layout-topbar_flex .layout-topbar-right{padding-left:0}.toggle-button-direction{transform:rotate(180deg)}@media (max-width: var(--mobile-break-point)){.layout-topbar_flex .layout-topbar-left{flex-shrink:1}.layout-topbar_flex .layout-topbar-right{min-width:auto}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex{padding-right:.25rem}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action-panel{position:fixed;min-width:100vw;max-width:100vw;width:100vw}}.layout-topbar_flex{color:var(--p-onecx-topbar-item-text-color);background-color:var(--p-onecx-topbar-bg-color)}.layout-topbar_flex .layout-topbar-left{background-color:var(--p-onecx-topbar-left-bg-color)}.layout-topbar_flex .layout-topbar-left .layout-menu-button{background-color:var(--p-onecx-topbar-menu-button-bg-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar{background:none;border:none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:var(--p-onecx-topbar-item-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link:not(.p-disabled):hover{background:var(--p-onecx-topbar-item-text-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-text,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-icon,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-submenu-icon{color:var(onecx-topbar-item-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover{background:var(--p-onecx-topbar-item-text-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-action-panel{background-color:var(--p-onecx-overlay-content-bg-color);color:var(--p-onecx-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-action-panel .layout-topbar-action-item{color:var(--p-onecx-menu-item-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-action-panel .layout-topbar-action-item:hover{background-color:var(--p-onecx-menu-item-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input:hover,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:first-child{background-color:var(--p-onecx-body-bg-color);color:var(--p-onecx-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:last-child{background-color:var(--p-onecx-body-bg-color);color:var(--p-onecx-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon .p-button-text{color:var(--p-onecx-text-color)}\n"], dependencies: [{ kind: "component", type: i1.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "slotStyles", "slotClasses", "inputs", "outputs"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], animations: [
187
183
  trigger('topbarActionPanelAnimation', [
188
184
  transition(':enter', [
189
185
  style({ opacity: 0, transform: 'scaleY(0.8)' }),
@@ -195,12 +191,11 @@ let HeaderComponent = class HeaderComponent {
195
191
  };
196
192
  HeaderComponent = __decorate([
197
193
  UntilDestroy(),
198
- __metadata("design:paramtypes", [ThemeService,
199
- SlotService])
194
+ __metadata("design:paramtypes", [])
200
195
  ], HeaderComponent);
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderComponent, decorators: [{
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: HeaderComponent, decorators: [{
202
197
  type: Component,
203
- args: [{ selector: 'ocx-shell-header', animations: [
198
+ args: [{ standalone: false, selector: 'ocx-shell-header', animations: [
204
199
  trigger('topbarActionPanelAnimation', [
205
200
  transition(':enter', [
206
201
  style({ opacity: 0, transform: 'scaleY(0.8)' }),
@@ -208,8 +203,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
208
203
  ]),
209
204
  transition(':leave', [animate('.1s linear', style({ opacity: 0 }))]),
210
205
  ]),
211
- ], template: "<div class=\"layout-topbar_flex\" id=\"ocx_header\" role=\"banner\">\n <div\n class=\"layout-topbar-left flex relative justify-content-center align-items-center\"\n [ngClass]=\"{'vertical-menu': !isHorizontalMenu}\"\n >\n <!-- LOGO -->\n <ng-container *ngIf=\"currentTheme$ | async as theme\">\n <ocx-slot\n *ngIf=\"isComponentDefined$ | async\"\n [name]=\"slotName\"\n [inputs]=\"{\n dataType: 'logo',\n themeName: theme.name,\n imageUrl: theme.logoUrl,\n imageStyleClass: 'max-h-3rem max-w-11rem',\n logEnabled: false,\n logPrefix: 'header left logo'\n }\"\n [outputs]=\"{ imageLoadingFailed: logoLoadingEmitter }\"\n ></ocx-slot>\n <div *ngIf=\"themeLogoLoadingFailed\"><!-- portal logo --></div>\n </ng-container>\n <a\n id=\"ocx_vertical_menu_action_toggle\"\n class=\"layout-menu-button\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [pTooltip]=\"'OCX_HEADER.MENU_TOGGLE' | translate\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <i class=\"pi pi-chevron-right\"></i>\n </a>\n </div>\n\n <div class=\"layout-topbar-right\">\n <div class=\"layout-topbar-actions-left\">\n <ng-content></ng-content>\n </div>\n <div class=\"layout-topbar-actions-right_flex\">\n <ocx-slot name=\"onecx-shell-header-right\" class=\"layout-topbar-items\">\n <ng-template #skeleton>\n <div class=\"flex align-items-center h-full justify-content-center\" style=\"width: 56px\">\n <p-skeleton shape=\"circle\" size=\"2.5rem\" class=\"h-full flex align-items-center\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n</div>\n", styles: [".http-progress-loader{margin-left:8px;padding-top:5px}@media screen and (max-width: 1024px){.http-progress-loader{margin-left:0;margin-right:8px}}.default-logo{color:var(--logo-color, #12abdb);fill:currentColor}\n"] }]
212
- }], ctorParameters: () => [{ type: i1$2.ThemeService }, { type: i2.SlotService }], propDecorators: { menuButtonTitle: [{
206
+ ], template: "<div class=\"layout-topbar_flex\" id=\"ocx_header\" role=\"banner\">\n <div\n class=\"layout-topbar-left flex relative justify-content-center align-items-center\"\n [ngClass]=\"{'vertical-menu': !isHorizontalMenu}\"\n >\n <!-- LOGO -->\n @if (currentTheme$ | async; as theme) { @if (isComponentDefined$ | async) {\n <ocx-slot\n [name]=\"slotName\"\n [inputs]=\"{\n dataType: 'logo',\n themeName: theme.name,\n imageUrl: theme.logoUrl,\n imageStyleClass: 'max-h-3rem max-w-11rem',\n logEnabled: false,\n logPrefix: 'header left logo'\n }\"\n [outputs]=\"{ imageLoadingFailed: logoLoadingEmitter }\"\n ></ocx-slot>\n } @if (themeLogoLoadingFailed) {\n <div><!-- portal logo --></div>\n } }\n <a\n id=\"ocx_vertical_menu_action_toggle\"\n class=\"layout-menu-button\"\n (click)=\"onMenuButtonClick($event)\"\n pRipple\n [pTooltip]=\"'OCX_HEADER.MENU_TOGGLE' | translate\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <i\n [ngClass]=\"{'toggle-button-direction': isStaticalMenu && (isComponentDefined$ | async) === true}\"\n class=\"pi pi-chevron-right\"\n ></i>\n </a>\n </div>\n\n <div class=\"layout-topbar-right\">\n <div class=\"layout-topbar-actions-left\">\n <ng-content></ng-content>\n </div>\n <div class=\"layout-topbar-actions-right_flex\">\n <ocx-slot name=\"onecx-shell-header-right\" class=\"layout-topbar-items\">\n <ng-template #skeleton>\n <div class=\"flex align-items-center h-full justify-content-center\" style=\"width: 56px\">\n <p-skeleton shape=\"circle\" size=\"2.5rem\" class=\"h-full flex align-items-center\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n</div>\n", styles: [".layout-topbar-items>*{margin:auto}.http-progress-loader{margin-left:8px;padding-top:5px}@media screen and (max-width: 1024px){.http-progress-loader{margin-left:0;margin-right:8px}}.default-logo{color:var(--p-onecx-logo-color, #12abdb);fill:currentColor}.layout-topbar_flex{position:fixed;top:0;left:0;z-index:998;width:100%;height:4rem;transition:width var(--p-transition-duration);display:flex;justify-content:space-between;align-items:center;row-gap:1rem}.layout-topbar_flex ul{margin:0;padding:0;border:0;outline:0;text-decoration:none;list-style-type:none}.layout-topbar_flex .layout-topbar-left{min-width:10rem}.layout-topbar_flex .layout-topbar-left.vertical-menu{flex:0 0 17rem}.layout-topbar_flex .layout-topbar-left .layout-menu-button{position:absolute;top:50%;right:-1.25rem;width:2.5rem;height:2.5rem;margin-top:-1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%}.layout-topbar_flex .layout-topbar-left .layout-menu-button i{transition:transform var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-left .layout-topbar-mobile-button{display:none;align-items:center;padding:0 .8rem;margin:0 .5rem 0 auto;border-radius:50%;height:3.2rem;cursor:pointer}.layout-topbar_flex .layout-topbar-right{display:flex;flex-grow:1;align-items:center;justify-content:space-between;row-gap:0;margin-left:1.5rem;padding-left:1.25rem;height:100%;min-width:0}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left{display:flex;flex-grow:1;align-items:center;height:100%;min-width:0}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar .p-menubar-root-list>.p-menuitem .p-menuitem-text{white-space:nowrap}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex{height:100%;margin-right:.75rem}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;height:100%}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item{display:flex;align-items:center;position:relative}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action{-webkit-user-select:none;user-select:none;justify-content:center;height:3.2rem;width:3.2rem;min-width:3.2rem;border-radius:50%;cursor:pointer;margin:0;padding:.5rem!important;color:var(--p-onecx-topbar-item-text-color);background-color:var(--p-onecx-topbar-bg-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action:hover,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action:focus{color:var(--p-onecx-topbar-item-text-hover-color);background-color:var(--p-onecx-topbar-item-text-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action-panel{position:absolute;top:4rem;right:0;z-index:1000;min-width:13rem;padding:.5rem 0;transform-origin:top}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action-panel .layout-topbar-action-item{cursor:pointer}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel{height:4rem;width:100%;position:fixed;top:0;left:0;z-index:1000;transform-origin:top}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input{border-radius:0;border:0 none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input:focus{outline:0 none;box-shadow:none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel i{font-weight:700}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon{border:0 none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.layout-menu-button-hidden .layout-topbar_flex .layout-topbar-left{padding-right:0}.layout-menu-button-hidden .layout-topbar_flex .layout-topbar-left .layout-menu-button{display:none}.layout-menu-button-hidden .layout-topbar_flex .layout-topbar-right{padding-left:0}.toggle-button-direction{transform:rotate(180deg)}@media (max-width: var(--mobile-break-point)){.layout-topbar_flex .layout-topbar-left{flex-shrink:1}.layout-topbar_flex .layout-topbar-right{min-width:auto}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex{padding-right:.25rem}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item .layout-topbar-action-panel{position:fixed;min-width:100vw;max-width:100vw;width:100vw}}.layout-topbar_flex{color:var(--p-onecx-topbar-item-text-color);background-color:var(--p-onecx-topbar-bg-color)}.layout-topbar_flex .layout-topbar-left{background-color:var(--p-onecx-topbar-left-bg-color)}.layout-topbar_flex .layout-topbar-left .layout-menu-button{background-color:var(--p-onecx-topbar-menu-button-bg-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar{background:none;border:none}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:var(--p-onecx-topbar-item-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link:not(.p-disabled):hover{background:var(--p-onecx-topbar-item-text-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-text,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-icon,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-submenu-icon{color:var(onecx-topbar-item-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-left .layout-menubar.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover{background:var(--p-onecx-topbar-item-text-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-action-panel{background-color:var(--p-onecx-overlay-content-bg-color);color:var(--p-onecx-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-action-panel .layout-topbar-action-item{color:var(--p-onecx-menu-item-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-action-panel .layout-topbar-action-item:hover{background-color:var(--p-onecx-menu-item-hover-bg-color);transition:background-color var(--p-transition-duration)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel input:hover,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:first-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:first-child{background-color:var(--p-onecx-body-bg-color);color:var(--p-onecx-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup button:last-child,.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup input:last-child{background-color:var(--p-onecx-body-bg-color);color:var(--p-onecx-text-color)}.layout-topbar_flex .layout-topbar-right .layout-topbar-actions-right_flex .layout-topbar-items .layout-topbar-item.layout-search-item .layout-search-panel .p-inputgroup-addon .p-button-text{color:var(--p-onecx-text-color)}\n"] }]
207
+ }], ctorParameters: () => [], propDecorators: { menuButtonTitle: [{
213
208
  type: Input
214
209
  }], fullPortalLayout: [{
215
210
  type: Input
@@ -217,6 +212,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
217
212
  type: Input
218
213
  }], homeNavTitle: [{
219
214
  type: Input
215
+ }], isStaticalMenu: [{
216
+ type: Input
220
217
  }], isHorizontalMenu: [{
221
218
  type: Input
222
219
  }], menuButtonClick: [{
@@ -226,26 +223,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
226
223
  const SHOW_CONTENT_PROVIDER = new InjectionToken('SHOW_CONTENT_PROVIDER');
227
224
 
228
225
  class AppLoadingSpinnerComponent {
229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AppLoadingSpinnerComponent, selector: "ocx-app-loading-spinner", ngImport: i0, template: "<div class=\"w-full h-full absolute top-0 left-0 element-overlay\">\n <div class=\"loader\"></div>\n</div>", styles: ["@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.element-overlay{position:relative;width:100%;cursor:default;pointer-events:none}.element-overlay:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.loader{width:28px;height:28px;border:3px solid var(--primary-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.loader.loader-small{width:20px;height:20px;top:20%;left:45%}\n"] }); }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
227
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: AppLoadingSpinnerComponent, isStandalone: false, selector: "ocx-app-loading-spinner", ngImport: i0, template: "<div class=\"w-full h-full absolute top-0 left-0 element-overlay\">\n <div class=\"loader\"></div>\n</div>", styles: ["@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.element-overlay{position:relative;width:100%;cursor:default;pointer-events:none}.element-overlay:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.loader{width:28px;height:28px;border:3px solid var(--p-primary-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.loader.loader-small{width:20px;height:20px;top:20%;left:45%}\n"] }); }
231
228
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppLoadingSpinnerComponent, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppLoadingSpinnerComponent, decorators: [{
233
230
  type: Component,
234
- args: [{ selector: 'ocx-app-loading-spinner', template: "<div class=\"w-full h-full absolute top-0 left-0 element-overlay\">\n <div class=\"loader\"></div>\n</div>", styles: ["@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.element-overlay{position:relative;width:100%;cursor:default;pointer-events:none}.element-overlay:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.loader{width:28px;height:28px;border:3px solid var(--primary-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.loader.loader-small{width:20px;height:20px;top:20%;left:45%}\n"] }]
231
+ args: [{ standalone: false, selector: 'ocx-app-loading-spinner', template: "<div class=\"w-full h-full absolute top-0 left-0 element-overlay\">\n <div class=\"loader\"></div>\n</div>", styles: ["@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.element-overlay{position:relative;width:100%;cursor:default;pointer-events:none}.element-overlay:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.loader{width:28px;height:28px;border:3px solid var(--p-primary-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.loader.loader-small{width:20px;height:20px;top:20%;left:45%}\n"] }]
235
232
  }] });
236
233
 
237
234
  let PortalViewportComponent = class PortalViewportComponent {
238
- constructor(primengConfig, messageService, appStateService, portalMessageService, userService, themeService, httpClient, slotService, showContentProvider, workspaceConfigBffService) {
239
- this.primengConfig = primengConfig;
240
- this.messageService = messageService;
241
- this.appStateService = appStateService;
242
- this.portalMessageService = portalMessageService;
243
- this.userService = userService;
244
- this.themeService = themeService;
245
- this.httpClient = httpClient;
246
- this.slotService = slotService;
247
- this.showContentProvider = showContentProvider;
248
- this.workspaceConfigBffService = workspaceConfigBffService;
235
+ constructor() {
236
+ this.primengConfig = inject(PrimeNG);
237
+ this.messageService = inject(MessageService);
238
+ this.appStateService = inject(AppStateService);
239
+ this.portalMessageService = inject(PortalMessageService);
240
+ this.userService = inject(UserService);
241
+ this.themeService = inject(ThemeService);
242
+ this.httpClient = inject(HttpClient);
243
+ this.showContentProvider = inject(SHOW_CONTENT_PROVIDER, { optional: true });
244
+ this.workspaceConfigBffService = inject(WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, {
245
+ optional: true,
246
+ });
247
+ this.slotService = inject(SlotService);
249
248
  this.menuButtonTitle = '';
250
249
  this.menuActive = true;
251
250
  this.colorScheme = 'light';
@@ -285,7 +284,7 @@ let PortalViewportComponent = class PortalViewportComponent {
285
284
  this.isVerticalMenuComponentDefined$ = this.slotService.isSomeComponentDefinedForSlot(this.verticalMenuSlotName);
286
285
  }
287
286
  ngOnInit() {
288
- this.primengConfig.ripple = true;
287
+ this.primengConfig.ripple.set(true);
289
288
  this.appStateService.globalError$
290
289
  .pipe(untilDestroyed(this))
291
290
  .pipe(filter((i) => i !== undefined))
@@ -321,41 +320,24 @@ let PortalViewportComponent = class PortalViewportComponent {
321
320
  isHorizontalMenuVisible() {
322
321
  return this.isHorizontalMenuMode();
323
322
  }
324
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalViewportComponent, deps: [{ token: i1$3.PrimeNGConfig }, { token: i1$3.MessageService }, { token: i1$2.AppStateService }, { token: i1$2.PortalMessageService }, { token: i1$2.UserService }, { token: i1$2.ThemeService }, { token: i1$1.HttpClient }, { token: i2.SlotService }, { token: SHOW_CONTENT_PROVIDER, optional: true }, { token: WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
325
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PortalViewportComponent, selector: "ocx-shell-portal-viewport", host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n 'layout-menu-button-hidden': isHorizontalMenuMode() || (isVerticalMenuComponentDefined$ | async) === false\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <ocx-app-loading-spinner></ocx-app-loading-spinner>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: i2.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "inputs", "outputs"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: HeaderComponent, selector: "ocx-shell-header", inputs: ["menuButtonTitle", "fullPortalLayout", "homeNavUrl", "homeNavTitle", "isHorizontalMenu"], outputs: ["menuButtonClick"] }, { kind: "component", type: GlobalErrorComponent, selector: "ocx-shell-error", inputs: ["errCode"] }, { kind: "component", type: AppLoadingSpinnerComponent, selector: "ocx-app-loading-spinner" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalViewportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
324
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: PortalViewportComponent, isStandalone: false, selector: "ocx-shell-portal-viewport", host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isStaticalMenu]=\"isStaticalMenuVisible()\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <ocx-app-loading-spinner></ocx-app-loading-spinner>\n</ng-template>\n", styles: [".layout-wrapper .layout-main{padding-top:4rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.layout-wrapper .layout-main .layout-content{flex:1 1 0}.menu-wrapper .layout-inline-menu{display:flex;flex-direction:column;justify-content:center;border:0px;border-style:solid;border-bottom-width:1px;transition:all var(--p-transition-duration)}.menu-wrapper .layout-inline-menu.layout-inline-menu-active .layout-inline-menu-icon{transform:rotate(-180deg)}.menu-wrapper .layout-inline-menu .layout-inline-menu-action{cursor:pointer}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel{padding:0 .5rem;transform-origin:top}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item{margin-top:.2rem;border-radius:var(--p-border-radius-md);transition:all var(--p-transition-duration);cursor:pointer;-webkit-user-select:none;user-select:none}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item:last-child{margin-bottom:.5rem}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item a{padding:.75rem}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item a i{margin-right:.75rem}.menu-wrapper{height:calc(100% - 4rem);width:17rem;position:fixed;left:0;top:4rem;z-index:997;transform:none}.menu-wrapper ul{margin:0;padding:0;border:0;outline:0;text-decoration:none;list-style-type:none}.menu-wrapper .layout-menu-container{display:flex;flex-direction:column;height:100%}.menu-wrapper .layout-menu-container app-menu{overflow-y:auto}.menu-wrapper .layout-menu-container .layout-menu{padding-bottom:2rem}.menu-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.menu-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>div{padding-left:1rem;margin-bottom:.5rem;margin-top:1.5rem}.menu-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>div>.layout-menuitem-text{font-size:.857rem;font-weight:600;text-transform:uppercase}.menu-wrapper .layout-menu-container .layout-menu li>a{display:flex;align-items:center;padding:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--p-transition-duration),color var(--p-transition-duration)}.menu-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-text{margin-left:.75rem}.menu-wrapper .layout-menu-container .layout-menu li>a .p-badge{margin-left:auto;min-width:1.143rem;height:1.143rem;line-height:1.143rem}.menu-wrapper .layout-menu-container .layout-menu li>a .layout-submenu-toggler{margin-left:auto}.menu-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.menu-wrapper .layout-menu-container .layout-menu li>a .p-badge+.layout-submenu-toggler{margin-left:.5rem}.menu-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-submenu-toggler{transition:all var(--p-transition-duration);transform:rotate(-180deg)}.menu-wrapper .layout-menu-container .layout-menu li>ul li ul{padding:0 0 .25rem;overflow:hidden}.menu-wrapper .layout-menu-container .layout-menu li>ul>li{margin-top:.2rem}.menu-wrapper .layout-menu-container .layout-menu li>ul>li.layout-root-menuitem>a{display:flex}.menu-wrapper .layout-menu-container .layout-menu li>ul>li ul li a{padding-left:2.625rem}.menu-wrapper .layout-menu-container .layout-menu li>ul>li ul li ul li a{padding-left:4.375rem}.menu-wrapper .layout-menu-container .layout-menu li>ul>li ul li ul li ul li a{padding-left:6.125rem}.menu-wrapper{background-color:var(--p-onecx-menu-bg-color);box-shadow:2px 0 4px -1px #0003,4px 0 5px #00000024,1px 0 10px #0000001f}.menu-wrapper .layout-menu-container .layout-menu>li>div .layout-menuitem-text{color:var(--p-onecx-menu-text-color)}.menu-wrapper .layout-menu-container .layout-menu li{border-left:0px}.menu-wrapper .layout-menu-container .layout-menu li.active-menu-parent.parent-menu{border-left:4px solid var(--p-onecx-primary-color)}.menu-wrapper .layout-menu-container .layout-menu li a{color:var(--p-onecx-menu-item-text-color);border-left:4px solid transparent}.menu-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--p-onecx-menu-item-hover-bg-color)}.menu-wrapper .layout-menu-container .layout-menu li a.active-menuitem-routerlink{background-color:var(--p-onecx-menu-active-item-bg-color);color:var(--p-onecx-menu-active-item-text-color);font-weight:700;border-left:4px solid var(--p-onecx-primary-color)}.menu-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--p-onecx-menu-active-item-bg-color);color:var(--p-onecx-menu-active-item-text-color);font-weight:700;border-left:4px solid var(--p-onecx-primary-color)}.menu-wrapper .layout-menu-container .layout-inline-menu{border-color:var(--p-onecx-menu-inline-border-color)}.menu-wrapper .layout-menu-container .layout-inline-menu a,.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action,.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item{color:var(--p-onecx-menu-item-text-color)}.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action:hover,.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item:hover{background-color:var(--p-onecx-menu-item-hover-bg-color)}.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action-panel{background-color:var(--p-onecx-menu-bg-color)}.layout-wrapper .menu-wrapper{transform:translate3d(-17rem,0,0);transition:transform var(--p-onecx-animation-duration);transition-timing-function:cubic-bezier(.86,0,.07,1)}.layout-wrapper .layout-main{transition:margin-left var(--p-onecx-animation-duration)}.layout-wrapper.layout-menu-active .menu-wrapper{transform:translateZ(0)}.layout-wrapper.layout-menu-active .layout-main{margin-left:17rem}@media (max-width: var(--mobile-break-point)){.layout-wrapper .menu-wrapper{top:4rem;height:calc(100% - 4rem)}.layout-wrapper.layout-menu-active{overflow:hidden;height:100vh}.layout-wrapper.layout-menu-active .layout-main{margin-left:0}.layout-wrapper .layout-mask{display:block}}\n"], dependencies: [{ kind: "component", type: i1.SlotComponent, selector: "ocx-slot[name]", inputs: ["name", "slotStyles", "slotClasses", "inputs", "outputs"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i5$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: HeaderComponent, selector: "ocx-shell-header", inputs: ["menuButtonTitle", "fullPortalLayout", "homeNavUrl", "homeNavTitle", "isStaticalMenu", "isHorizontalMenu"], outputs: ["menuButtonClick"] }, { kind: "component", type: GlobalErrorComponent, selector: "ocx-shell-error", inputs: ["errCode"] }, { kind: "component", type: AppLoadingSpinnerComponent, selector: "ocx-app-loading-spinner" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
326
325
  };
327
326
  PortalViewportComponent = __decorate([
328
327
  UntilDestroy(),
329
- __metadata("design:paramtypes", [PrimeNGConfig,
330
- MessageService,
331
- AppStateService,
332
- PortalMessageService,
333
- UserService,
334
- ThemeService,
335
- HttpClient,
336
- SlotService, Object, Object])
328
+ __metadata("design:paramtypes", [])
337
329
  ], PortalViewportComponent);
338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PortalViewportComponent, decorators: [{
330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalViewportComponent, decorators: [{
339
331
  type: Component,
340
- args: [{ selector: 'ocx-shell-portal-viewport', template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n 'layout-menu-button-hidden': isHorizontalMenuMode() || (isVerticalMenuComponentDefined$ | async) === false\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <ocx-app-loading-spinner></ocx-app-loading-spinner>\n</ng-template>\n" }]
341
- }], ctorParameters: () => [{ type: i1$3.PrimeNGConfig }, { type: i1$3.MessageService }, { type: i1$2.AppStateService }, { type: i1$2.PortalMessageService }, { type: i1$2.UserService }, { type: i1$2.ThemeService }, { type: i1$1.HttpClient }, { type: i2.SlotService }, { type: undefined, decorators: [{
342
- type: Optional
343
- }, {
344
- type: Inject,
345
- args: [SHOW_CONTENT_PROVIDER]
346
- }] }, { type: undefined, decorators: [{
347
- type: Optional
348
- }, {
349
- type: Inject,
350
- args: [WORKSPACE_CONFIG_BFF_SERVICE_PROVIDER]
351
- }] }], propDecorators: { onResize: [{
332
+ args: [{ standalone: false, selector: 'ocx-shell-portal-viewport', template: "<div\n *ngIf=\"!globalErrMsg; else globalError\"\n [ngClass]=\"{\n 'layout-wrapper layout-topbar-var': themeService.currentTheme$ | async,\n 'p-input-filled': inputStyle === 'filled', \n 'p-ripple-disabled': !ripple,\n 'layout-menu-active': isStaticalMenuVisible() && (isVerticalMenuComponentDefined$ | async),\n }\"\n [class]=\"'layout-menu-' + this.colorScheme\"\n>\n <ng-container *ngIf=\"themeService.currentTheme$ | async; else noTheme\">\n <ocx-shell-header\n [menuButtonTitle]=\"menuButtonTitle\"\n (menuButtonClick)=\"onMenuButtonClick($event)\"\n [isStaticalMenu]=\"isStaticalMenuVisible()\"\n [isHorizontalMenu]=\"isHorizontalMenuMode()\"\n >\n <div [hidden]=\"!isHorizontalMenuVisible()\">\n <ocx-slot name=\"onecx-shell-horizontal-menu\">\n <ng-template #skeleton>\n <div class=\"ml-4 flex flex-row gap-4\">\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n <p-skeleton class=\"w-full h-full inline-block\" height=\"35px\" width=\"120px\"></p-skeleton>\n </div>\n </ng-template>\n </ocx-slot>\n </div>\n </ocx-shell-header>\n\n <p-toast></p-toast>\n\n <div [hidden]=\"!isStaticalMenuVisible()\" class=\"menu-wrapper\">\n <div class=\"layout-menu-container overflow-auto\">\n <ocx-slot name=\"{{verticalMenuSlotName}}\">\n <ng-template #skeleton>\n <p-skeleton class=\"w-full h-full inline-block p-2\" height=\"35px\"></p-skeleton>\n </ng-template>\n </ocx-slot>\n </div>\n </div>\n\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ocx-slot name=\"onecx-shell-sub-header\"></ocx-slot>\n <ng-container *ngIf=\"!showContentProvider || (showContentProvider.showContent$ | async); else appLoading\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </ng-container>\n </div>\n\n <ocx-slot name=\"onecx-page-footer\"></ocx-slot>\n </div>\n <div *ngIf=\"menuActive || !!activeTopbarItem\" class=\"layout-mask modal-in\"></div>\n </ng-container>\n\n <ng-template #noTheme>\n <div class=\"layout-main\">\n <div class=\"layout-content relative\">\n <ng-content></ng-content>\n <router-outlet></router-outlet>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #globalError>\n <ocx-shell-error [errCode]=\"globalErrMsg\"></ocx-shell-error>\n</ng-template>\n\n<ng-template #appLoading>\n <ocx-app-loading-spinner></ocx-app-loading-spinner>\n</ng-template>\n", styles: [".layout-wrapper .layout-main{padding-top:4rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.layout-wrapper .layout-main .layout-content{flex:1 1 0}.menu-wrapper .layout-inline-menu{display:flex;flex-direction:column;justify-content:center;border:0px;border-style:solid;border-bottom-width:1px;transition:all var(--p-transition-duration)}.menu-wrapper .layout-inline-menu.layout-inline-menu-active .layout-inline-menu-icon{transform:rotate(-180deg)}.menu-wrapper .layout-inline-menu .layout-inline-menu-action{cursor:pointer}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel{padding:0 .5rem;transform-origin:top}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item{margin-top:.2rem;border-radius:var(--p-border-radius-md);transition:all var(--p-transition-duration);cursor:pointer;-webkit-user-select:none;user-select:none}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item:last-child{margin-bottom:.5rem}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item a{padding:.75rem}.menu-wrapper .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item a i{margin-right:.75rem}.menu-wrapper{height:calc(100% - 4rem);width:17rem;position:fixed;left:0;top:4rem;z-index:997;transform:none}.menu-wrapper ul{margin:0;padding:0;border:0;outline:0;text-decoration:none;list-style-type:none}.menu-wrapper .layout-menu-container{display:flex;flex-direction:column;height:100%}.menu-wrapper .layout-menu-container app-menu{overflow-y:auto}.menu-wrapper .layout-menu-container .layout-menu{padding-bottom:2rem}.menu-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.menu-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>div{padding-left:1rem;margin-bottom:.5rem;margin-top:1.5rem}.menu-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>div>.layout-menuitem-text{font-size:.857rem;font-weight:600;text-transform:uppercase}.menu-wrapper .layout-menu-container .layout-menu li>a{display:flex;align-items:center;padding:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--p-transition-duration),color var(--p-transition-duration)}.menu-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-text{margin-left:.75rem}.menu-wrapper .layout-menu-container .layout-menu li>a .p-badge{margin-left:auto;min-width:1.143rem;height:1.143rem;line-height:1.143rem}.menu-wrapper .layout-menu-container .layout-menu li>a .layout-submenu-toggler{margin-left:auto}.menu-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.menu-wrapper .layout-menu-container .layout-menu li>a .p-badge+.layout-submenu-toggler{margin-left:.5rem}.menu-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-submenu-toggler{transition:all var(--p-transition-duration);transform:rotate(-180deg)}.menu-wrapper .layout-menu-container .layout-menu li>ul li ul{padding:0 0 .25rem;overflow:hidden}.menu-wrapper .layout-menu-container .layout-menu li>ul>li{margin-top:.2rem}.menu-wrapper .layout-menu-container .layout-menu li>ul>li.layout-root-menuitem>a{display:flex}.menu-wrapper .layout-menu-container .layout-menu li>ul>li ul li a{padding-left:2.625rem}.menu-wrapper .layout-menu-container .layout-menu li>ul>li ul li ul li a{padding-left:4.375rem}.menu-wrapper .layout-menu-container .layout-menu li>ul>li ul li ul li ul li a{padding-left:6.125rem}.menu-wrapper{background-color:var(--p-onecx-menu-bg-color);box-shadow:2px 0 4px -1px #0003,4px 0 5px #00000024,1px 0 10px #0000001f}.menu-wrapper .layout-menu-container .layout-menu>li>div .layout-menuitem-text{color:var(--p-onecx-menu-text-color)}.menu-wrapper .layout-menu-container .layout-menu li{border-left:0px}.menu-wrapper .layout-menu-container .layout-menu li.active-menu-parent.parent-menu{border-left:4px solid var(--p-onecx-primary-color)}.menu-wrapper .layout-menu-container .layout-menu li a{color:var(--p-onecx-menu-item-text-color);border-left:4px solid transparent}.menu-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--p-onecx-menu-item-hover-bg-color)}.menu-wrapper .layout-menu-container .layout-menu li a.active-menuitem-routerlink{background-color:var(--p-onecx-menu-active-item-bg-color);color:var(--p-onecx-menu-active-item-text-color);font-weight:700;border-left:4px solid var(--p-onecx-primary-color)}.menu-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--p-onecx-menu-active-item-bg-color);color:var(--p-onecx-menu-active-item-text-color);font-weight:700;border-left:4px solid var(--p-onecx-primary-color)}.menu-wrapper .layout-menu-container .layout-inline-menu{border-color:var(--p-onecx-menu-inline-border-color)}.menu-wrapper .layout-menu-container .layout-inline-menu a,.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action,.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item{color:var(--p-onecx-menu-item-text-color)}.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action:hover,.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action-panel .layout-inline-menu-action-item:hover{background-color:var(--p-onecx-menu-item-hover-bg-color)}.menu-wrapper .layout-menu-container .layout-inline-menu .layout-inline-menu-action-panel{background-color:var(--p-onecx-menu-bg-color)}.layout-wrapper .menu-wrapper{transform:translate3d(-17rem,0,0);transition:transform var(--p-onecx-animation-duration);transition-timing-function:cubic-bezier(.86,0,.07,1)}.layout-wrapper .layout-main{transition:margin-left var(--p-onecx-animation-duration)}.layout-wrapper.layout-menu-active .menu-wrapper{transform:translateZ(0)}.layout-wrapper.layout-menu-active .layout-main{margin-left:17rem}@media (max-width: var(--mobile-break-point)){.layout-wrapper .menu-wrapper{top:4rem;height:calc(100% - 4rem)}.layout-wrapper.layout-menu-active{overflow:hidden;height:100vh}.layout-wrapper.layout-menu-active .layout-main{margin-left:0}.layout-wrapper .layout-mask{display:block}}\n"] }]
333
+ }], ctorParameters: () => [], propDecorators: { onResize: [{
352
334
  type: HostListener,
353
335
  args: ['window:resize']
354
336
  }] } });
355
337
 
356
338
  class ShellCoreModule {
357
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
358
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent,
339
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
340
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: ShellCoreModule, declarations: [PortalViewportComponent,
359
341
  HeaderComponent,
360
342
  PortalFooterComponent,
361
343
  GlobalErrorComponent,
@@ -373,7 +355,7 @@ class ShellCoreModule {
373
355
  ToastModule,
374
356
  TooltipModule,
375
357
  TranslateModule] }); }
376
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, imports: [AngularRemoteComponentsModule,
358
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCoreModule, providers: [providePrimeNG()], imports: [AngularRemoteComponentsModule,
377
359
  CommonModule,
378
360
  RouterModule,
379
361
  SkeletonModule,
@@ -383,7 +365,7 @@ class ShellCoreModule {
383
365
  TooltipModule,
384
366
  TranslateModule] }); }
385
367
  }
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCoreModule, decorators: [{
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCoreModule, decorators: [{
387
369
  type: NgModule,
388
370
  args: [{
389
371
  imports: [
@@ -412,6 +394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
412
394
  TooltipModule,
413
395
  TranslateModule,
414
396
  ],
397
+ providers: [providePrimeNG()],
415
398
  }]
416
399
  }] });
417
400
 
@@ -426,10 +409,10 @@ class PermissionsCacheService {
426
409
  }
427
410
  return this.permissions[key];
428
411
  }
429
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
430
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, providedIn: 'root' }); }
412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PermissionsCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
413
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PermissionsCacheService, providedIn: 'root' }); }
431
414
  }
432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsCacheService, decorators: [{
415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PermissionsCacheService, decorators: [{
433
416
  type: Injectable,
434
417
  args: [{ providedIn: 'root' }]
435
418
  }] });